内部範囲を作成して使用する
このドキュメントでは、内部範囲を作成、使用、削除する方法について説明します。
内部範囲を使用すると、内部 IP アドレスのブロックを割り振ってブロックの使用方法を指定することで、Virtual Private Cloud(VPC)ネットワーク間で統合された IP アドレス空間を管理できます。
始める前に
- このガイドのコマンドラインの例を使用するには、Google Cloud CLI の最新バージョンをインストールするか、最新バージョンに更新してください。
- プロジェクトで Network Connectivity API を有効にする必要があります。
必要なロール
内部範囲の操作に必要な権限を取得するには、プロジェクトに対する Compute ネットワーク管理者(roles/compute.networkAdmin
)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
内部範囲を予約する
内部範囲を作成する場合、少なくとも 2 つの要素を指定します。1 つは割り振る IP アドレス、もう 1 つはアドレスを割り振るネットワークです。特定の CIDR ブロックを使用して IPv4 または IPv6(プレビュー)内部範囲を作成することも、 Google Cloud に IPv4 ブロックを自動的に割り振らせることもできます。自動的に割り振られたアドレス ブロックを使用して IPv6 内部範囲を作成することはできません。
自動的に割り振られる IPv4 CIDR ブロックをリクエストする場合は、プレフィックス長と 1 つ以上のターゲット IPv4 CIDR ブロック(省略可)を指定します。ターゲット CIDR ブロックを指定しない場合、 Google Cloud はカスタムモード VPC ネットワークには 10.0.0.0/8
、自動モード VPC ネットワークには 10.128.0.0/9
のデフォルト範囲を使用します。 Google Cloud は既存の IP アドレスの割り振りを考慮し、ターゲット CIDR ブロック内から選択したサイズの空き CIDR ブロックを内部範囲に割り振ります。この割り当てをさらに絞り込むには、gcloud CLI を使用するか、API リクエストを送信して、除外する CIDR ブロックのリストを指定します(プレビュー)。 Google Cloud は、除外されたブロックと重複しない内部範囲に IP アドレス ブロックを割り振ります。内部範囲の作成後に除外ブロックのリストを更新することはできません。
IPv6(プレビュー)内部範囲を使用すると、新しい IPv6 専用またはデュアルスタック サブネットへの IP アドレスの自動割り当てを防ぐことができます。IPv6 内部範囲は、使用タイプが EXTERNAL_TO_VPC
、ピアリング タイプが FOR_SELF
である必要があります。特定の IPv6 CIDR ブロックを含める必要があり、overlaps
フィールドは空にするか未指定にする必要があります。
ユーザーが内部範囲の CIDR ブロックや重複構成を更新できないようにするには、変更不可の内部範囲(プレビュー)を作成します。変更不可の内部範囲では、これらのプロパティを変更できませんが、説明は更新できます。内部範囲の作成後に不変性を変更することはできません。
デフォルトでは、 Google Cloud は、同じ VPC ネットワーク内で重複する IP アドレスを共有している場合、内部範囲またはリソースの作成をブロックします。ルート、サブネット、またはその両方のアドレス範囲との重複を許可するように IPv4 内部範囲を構成できます。リソースを内部範囲に明示的に関連付ける(サブネットの場合)か、重複を構成(ルートの場合)しない限り、既存の内部範囲の IP アドレスを使用する Google Cloud リソースを作成することはできません。重複する内部範囲を作成するには、Google Cloud CLI を使用するか、API リクエストを送信します。
コンソール
Google Cloud コンソールで、[内部範囲] ページに移動します。
[内部範囲を予約] をクリックします。
名前を入力します。
(省略可)説明を入力します。
IP バージョンを選択します。
- [IPv4] を選択した場合は、次の操作を行います。
- 内部範囲を変更不可にするかどうかを指定します(プレビュー)。
- 予約方法を選択します。
- [自動] を選択した場合は、プレフィックス長を選択し、ターゲット IP アドレス範囲を CIDR 表記で入力します。
- [手動で指定する] を選択した場合は、CIDR 表記で IP 範囲を入力します。
- ネットワークを選択します。
- ピアリングのタイプを選択します。
- 使用状況のタイプを選択します。
- [IPv6](プレビュー)を選択した場合は、次の操作を行います。
- 内部範囲を変更不可にするかどうかを指定します(プレビュー)。
- [手動で指定する] を選択し、IPv6 または IPv4 にマッピングされた IPv6 CIDR ブロックを入力します。
- ネットワークを選択します。
- [ピアリング] をクリックし、[セルフ] を選択します。
- [用途] をクリックし、[VPC の外部] を選択します。
- [IPv4] を選択した場合は、次の操作を行います。
[予約] をクリックします。
gcloud
特定の IPv4 または IPv6(プレビュー)CIDR ブロックの内部範囲を予約するには、
gcloud network-connectivity internal-ranges create
コマンドを使用します。gcloud network-connectivity internal-ranges create RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --network=NETWORK_NAME \ --description="DESCRIPTION" \ --peering=PEERING_TYPE \ --usage=USAGE_TYPE
次のように置き換えます。
RANGE_NAME
: 新しい内部範囲の名前CIDR_RANGE
: 新しい内部範囲に割り振る IPv4、IPv6、または IPv4 マッピングされた IPv6 CIDR ブロック- IPv6 ブロック(プレビュー)を指定する場合、オプションは次のように制限されます。
peering
型はFOR_SELF
に制限されます。usage
型はEXTERNAL_TO_VPC
に制限されます。
- IPv6 ブロック(プレビュー)を指定する場合、オプションは次のように制限されます。
NETWORK_NAME
: 内部範囲を作成するネットワークの名前DESCRIPTION
: 内部範囲の説明(省略可)PEERING_TYPE
: 内部範囲のピアリング タイプFOR_SELF
、FOR_PEER
、NOT_SHARED
を指定できます。FOR_SELF
がデフォルトです。USAGE_TYPE
: 内部範囲の使用タイプ。FOR_VPC
、EXTERNAL_TO_VPC
、FOR_MIGRATION
を指定できます。デフォルト値はFOR_VPC
です。FOR_MIGRATION
オプションを使用する場合は、ソース サブネットとターゲット サブネットも指定する必要があります。例については、サブネット移行用に IPv4 内部範囲を予約するをご覧ください。
自動的に割り振られた CIDR ブロックを使用して IPv4 内部範囲を予約するには、次のコマンドを使用します。
gcloud network-connectivity internal-ranges create RANGE_NAME \ --network=NETWORK_NAME \ --prefix-length=PREFIX_LENGTH \ --target-cidr-range=TARGET_CIDR_RANGE \ --peering=PEERING_TYPE \ --usage=USAGE_TYPE \ --description="DESCRIPTION"
次のように置き換えます。
PREFIX_LENGTH
: 割り振られる IP アドレスのプレフィックス長。TARGET_CIDR_RANGE
: IPv4 アドレス ブロックを割り振るターゲット CIDR ブロック。複数の CIDR ブロックをカンマ区切りリストで入力できます。デフォルトは、カスタムモードの VPC ネットワークの場合は
10.0.0.0/8
、自動モードの VPC ネットワークの場合は10.128.0.0/9
です。
自動的に割り振られる CIDR ブロック(プレビュー)を使用して IPv4 内部範囲を予約するときに IP アドレス範囲を除外する場合は、次のコマンドを使用します。
gcloud alpha network-connectivity internal-ranges create RANGE_NAME \ --network=NETWORK_NAME \ --prefix-length=PREFIX_LENGTH \ --target-cidr-range=TARGET_CIDR_RANGE \ --peering=PEERING_TYPE \ --usage=USAGE_TYPE \ --description="DESCRIPTION" \ --exclude-cidr-ranges=EXCLUDED_RANGES
EXCLUDED_RANGES
を、除外する 1 つ以上の IPv4 CIDR ブロックのカンマ区切りリストに置き換えます。 Google Cloud は、除外されたブロックと重複しない内部範囲に IP アドレス ブロックを割り振ります。内部範囲の作成後にリストを更新することはできません。重複する IPv4 内部範囲を予約するには、次のコマンドを使用します。
gcloud network-connectivity internal-ranges create RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --network=NETWORK_NAME \ --description="DESCRIPTION" \ --peering=PEERING_TYPE \ --usage=USAGE_TYPE \ --overlaps=OVERLAPS
OVERLAPS
は、許可する重複のタイプに置き換えます。OVERLAP_EXISTING_SUBNET_RANGE
とOVERLAP_ROUTE_RANGE
を指定できます。両方の値をカンマ区切りリストで指定できます。変更不可(プレビュー)の内部範囲を予約するには、次のコマンドを使用します。
gcloud network-connectivity internal-ranges create RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --network=NETWORK_NAME \ --description="DESCRIPTION" \ --peering=PEERING_TYPE \ --usage=USAGE_TYPE \ --immutable
API
特定の IPv4 または IPv6(プレビュー)CIDR ブロックの内部範囲を予約するには、
projects.locations.internalRanges.create
メソッドにPOST
リクエストを送信します。POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "ipCidrRange": "CIDR_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE" }
次のように置き換えます。
PROJECT_ID
: 内部範囲の親プロジェクトの IDRANGE_NAME
: 内部範囲の名前CIDR_RANGE
: 内部範囲に割り振る IPv4、IPv6、または IPv4 マッピングされた IPv6 CIDR ブロック- IPv6 ブロック(プレビュー)を指定する場合、オプションは次のように制限されます。
peering
型はFOR_SELF
に制限されます。usage
型はEXTERNAL_TO_VPC
に制限されます。
- IPv6 ブロック(プレビュー)を指定する場合、オプションは次のように制限されます。
NETWORK_NAME
: 内部範囲を作成するネットワークの名前DESCRIPTION
: 新しい内部範囲の説明(省略可)PEERING_TYPE
: 内部範囲のピアリング タイプFOR_SELF
、FOR_PEER
、NOT_SHARED
を指定できます。FOR_SELF
がデフォルトです。USAGE_TYPE
: 内部範囲の使用タイプ。FOR_VPC
、EXTERNAL_TO_VPC
、FOR_MIGRATION
を指定できます。デフォルト値はFOR_VPC
です。FOR_MIGRATION
オプションを使用する場合は、ソース サブネットとターゲット サブネットも指定する必要があります。例については、サブネット移行用に IPv4 内部範囲を予約するをご覧ください。
自動的に割り振られた CIDR ブロックで IPv4 内部範囲を予約するには、次のリクエストを実行します。
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "prefixLength": PREFIX_LENGTH, "targetCidrRange": "TARGET_CIDR_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE" }
次のように置き換えます。
PREFIX_LENGTH
: 範囲の IP アドレス ブロックの CIDR プレフィックスの長さ。TARGET_CIDR_RANGE
: IPv4 アドレス ブロックを割り振るターゲット CIDR ブロック。JSON 配列で複数の CIDR 範囲を指定できます。デフォルトは、カスタムモードの VPC ネットワークの場合は
10.0.0.0/8
、自動モードの VPC ネットワークの場合は10.128.0.0/9
です。
自動的に割り振られる CIDR ブロック(プレビュー)を使用して IPv4 内部範囲を予約するときに IP アドレス範囲を除外する場合は、次のリクエストを行います。
POST https://networkconnectivity.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "prefixLength": PREFIX_LENGTH, "targetCidrRange": "TARGET_CIDR_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE", "excludeCidrRanges": ["EXCLUDED_RANGE_1","EXCLUDED_RANGE_2"] }
EXCLUDED_RANGE_1
とEXCLUDED_RANGE_2
を、除外する 1 つ以上の IPv4 CIDR ブロックに置き換えます。 Google Cloud は、除外されたブロックと重複しない内部範囲に IP アドレス ブロックを割り振ります。内部範囲の作成後にリストを更新することはできません。重複する IPv4 内部範囲を予約するには、次のリクエストを行います。
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "ipCidrRange": "CIDR_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE", "overlaps": ["OVERLAPS"] }
OVERLAPS
は、許可する重複のタイプに置き換えます。OVERLAP_EXISTING_SUBNET_RANGE
とOVERLAP_ROUTE_RANGE
を指定できます。両方の値を JSON 配列に含めることができます。変更不可(プレビュー)の内部範囲を予約するには、次のリクエストを行います。
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "ipCidrRange": "CIDR_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE", "immutable": true }
サブネット移行用に IPv4 内部範囲を予約する
内部範囲を使用して、CIDR 範囲をサブネット間で移行できます。詳細については、IPv4 サブネット範囲の移行をご覧ください。
gcloud
gcloud network-connectivity internal-ranges create
コマンドを使用します。
gcloud network-connectivity internal-ranges create RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --network=NETWORK_NAME \ --peering=FOR_SELF \ --usage=FOR_MIGRATION \ --migration-source=SOURCE_SUBNET \ --migration-target=TARGET_SUBNET
次のように置き換えます。
RANGE_NAME
: 作成する内部範囲の名前CIDR_RANGE
: 移行するサブネットの IPv4 CIDR ブロックNETWORK_NAME
: 内部範囲を作成するネットワークの名前SOURCE_SUBNET
: ソース サブネットの URITARGET_SUBNET
: ターゲット サブネットの URI
API
projects.locations.internalRanges.create
メソッドに POST
リクエストを送信します。
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "ipCidrRange": "CIDR_RANGE", "network": "NETWORK_NAME", "peering": "FOR_SELF", "usage": "FOR_MIGRATION", "migration": { "source": "SOURCE_SUBNET", "target": "TARGET_SUBNET" } }
次のように置き換えます。
PROJECT_ID
: 内部範囲の親プロジェクトの IDRANGE_NAME
: 新しい内部範囲の名前CIDR_RANGE
: 移行するサブネットの IPv4 CIDR ブロックNETWORK_NAME
: 内部範囲を作成するネットワークの名前SOURCE_SUBNET
: ソース サブネットの URITARGET_SUBNET
: ターゲット サブネットの URI
IPv4 内部範囲を使用してサブネットワークを作成する
IPv4 のみのサブネットまたはデュアルスタック サブネットを作成し、内部範囲を使用してサブネットのプライマリ内部 IPv4 アドレス範囲を指定できます。サブネットワークは、内部範囲全体または範囲の一部のみに関連付けることができます。サブネットワークのセカンダリ範囲を内部範囲に関連付けることもできます。
コンソール
新しいサブネットを作成するネットワークで IPv4 内部範囲を予約します。この内部範囲の使用タイプを
For VPC
に設定し、ピアリング タイプをFor self
に設定します。Google Cloud コンソールの [VPC ネットワーク] ページに移動します。
VPC ネットワークの名前をクリックして、[VPC ネットワークの詳細] ページを表示します。
[サブネットを追加] をクリックします。表示されたダイアログで次の操作を行います。
- 名前を入力します。
- リージョンを選択します。
- [内部範囲に関連付ける] チェックボックスをオンにします。
- [予約済みの内部範囲] を選択します。
- 省略可: サブネットを内部範囲の一部に関連付けるには、IPv4 範囲を入力します。
- [追加] をクリックします。
gcloud
- 新しいサブネットを作成するネットワークで IPv4 内部範囲を予約します。この内部範囲の使用タイプを
FOR_VPC
に設定し、ピアリング タイプをFOR_SELF
に設定します。 次のいずれかを行います。
内部範囲全体に関連付けられたサブネットを作成するには、
gcloud compute networks subnets create
コマンドを使用します。gcloud compute networks subnets create SUBNET_NAME \ --reserved-internal-range=networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME \ --network=NETWORK_NAME \ --region=REGION
次のように置き換えます。
SUBNET_NAME
: サブネットの名前PROJECT_ID
: サブネットを作成するプロジェクトの IDRANGE_NAME
: サブネットに関連付ける内部範囲の名前NETWORK_NAME
: サブネットを作成するネットワークの名前REGION
: サブネットを作成するリージョン
内部範囲の一部に関連付けられたサブネットを作成するには、次のコマンドを使用します。
gcloud compute networks subnets create SUBNET_NAME \ --reserved-internal-range=networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME \ --range=IP_RANGE \ --network=NETWORK_NAME \ --region=REGION
IP_RANGE
は、内部範囲のサブセットである IPv4 CIDR 範囲に置き換えます。
たとえば、次のコマンドは 10.9.0.0/16
CIDR ブロックを予約する内部範囲の 10.9.1.0/24
部分のみに関連付けられたサブネットを作成します。
gcloud network-connectivity internal-ranges create reserved-range-one \ --ip-cidr-range=10.9.0.0/16 \ --network=vpc-one
gcloud compute networks subnets create subnet-one \ --reserved-internal-range=networkconnectivity.googleapis.com/projects/project-one/locations/global/internalRanges/reserved-range-one \ --range=10.9.1.0/24 \ --network=vpc-one \ --region=us-central1
API
- 新しいサブネットを作成するネットワークで IPv4 内部範囲を予約します。この内部範囲の使用タイプを
FOR_VPC
に設定し、ピアリング タイプをFOR_SELF
に設定します。 次のいずれかを行います。
内部範囲全体に関連付けられたサブネットを作成するには、
subnetworks.insert
メソッドにPOST
リクエストを送信します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "name" : "SUBNET_NAME", "reservedInternalRange" : "networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME", "network" : "NETWORK" }
次のように置き換えます。
PROJECT_ID
: 新しいサブネットの親プロジェクトの IDREGION
: サブネットを作成するリージョンSUBNET_NAME
: 新しいサブネットの名前PROJECT_ID
: サブネットを作成するプロジェクトの IDRANGE_NAME
: 新しいサブネットに使用する内部範囲の名前NETWORK
: サブネットを作成するネットワークの名前
内部範囲の一部に関連付けられたサブネットを作成するには、次のリクエストを送信します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "name" : "SUBNET_NAME", "reservedInternalRange" : "networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME", "range" : "IP_RANGE", "network" : "NETWORK" }
IP_RANGE
は、内部範囲のサブセットである IPv4 CIDR 範囲に置き換えます。
たとえば、次のリクエストは、10.9.0.0/16
CIDR ブロックを含む内部範囲の 10.9.1.0/24
部分のみに関連付けられたサブネットを作成します。
POST https://networkconnectivity.googleapis.com/v1/projects/sample-project/locations/global/internalRanges?internalRangeId=reserved-for-subnet { "targetCidrRange": "10.9.0.0/16", "network": "network-b" }
POST https://compute.googleapis.com/compute/v1/projects/11223344/regions/us-central1/subnetworks { "name" : "subnet-with-partial-range", "reservedInternalRange" : "networkconnectivity.googleapis.com/projects/project-one/locations/global/internalRanges/reserved-for-subnet", "range" : "10.9.1.0/24", "network" : "network-b" }
IPv4 内部範囲を使用して GKE クラスタを作成する
IPv4 内部範囲を使用して、Google Kubernetes Engine(GKE)の VPC ネイティブ クラスタに IP アドレスを割り振ることができます。
gcloud
gcloud network-connectivity internal-ranges create
コマンドを使用して、次の IPv4 内部範囲を作成します。- GKE ノードの場合:
gcloud network-connectivity internal-ranges create gke-nodes-1 \ --prefix-length=NODE_PREFIX_LENGTH \ --network=NETWORK
- GKE Pod の場合:
gcloud network-connectivity internal-ranges create gke-pods-1 \ --prefix-length=POD_PREFIX_LENGTH \ --network=NETWORK
- GKE Service の場合:
gcloud network-connectivity internal-ranges create gke-services-1 \ --prefix-length=SERVICE_PREFIX_LENGTH \ --network=NETWORK
次のように置き換えます。
NODE_PREFIX_LENGTH
: GKE ノードに関連付けられている内部範囲のプレフィックスの長さPOD_PREFIX_LENGTH
: GKE Pod に関連付けられている内部範囲のプレフィックスの長さSERVICE_PREFIX_LENGTH
: GKE サービスに関連付けられている内部範囲のプレフィックスの長さNETWORK
: ネットワークの名前
gcloud compute networks subnets create
コマンドを使用して、前の手順で作成した内部範囲でサブネットを作成します。gcloud compute networks subnets create gke-subnet-1 \ --network=NETWORK \ --region=REGION \ --reserved-internal-range="//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-nodes-1" \ --secondary-range-with-reserved-internal-range="pods=//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-pods-1,services=//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-services-1"
次のように置き換えます。
REGION
: サブネットのリージョンPROJECT_ID
: プロジェクトの ID
gcloud container clusters create
コマンドを使用して、VPC ネイティブ クラスタを作成します。gcloud container clusters create CLUSTER_NAME \ --network=NETWORK \ --subnetwork=gke-subnet-1 \ --zone=ZONE \ --cluster-secondary-range-name=pods \ --services-secondary-range-name=services \ --enable-ip-alias
ZONE
は、クラスタのゾーンに置き換えます。
API
projects.locations.internalRanges.create
メソッドにPOST
リクエストを送信して、次の内部範囲を作成します。- GKE ノードの場合:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=gke-nodes-1 { "network": "NETWORK", "prefixLength": NODE_PREFIX_LENGTH, "peering": "FOR_SELF", "usage": "FOR_VPC" }
- GKE Pod の場合:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=gke-pods-1 { "network": "NETWORK", "prefixLength": POD_PREFIX_LENGTH, "peering": "FOR_SELF", "usage": "FOR_VPC" }
- GKE Service の場合:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=gke-services-1 { "network": "NETWORK", "prefixLength": SERVICE_PREFIX_LENGTH, "peering": "FOR_SELF", "usage": "FOR_VPC" }
次のように置き換えます。
PROJECT_ID
: プロジェクトの IDNETWORK
: ネットワークの名前NODE_PREFIX_LENGTH
: GKE ノードに関連付けられている内部範囲のプレフィックスの長さPOD_PREFIX_LENGTH
: GKE Pod に関連付けられている内部範囲のプレフィックスの長さSERVICE_PREFIX_LENGTH
: GKE サービスに関連付けられている内部範囲のプレフィックスの長さ
subnetworks.insert
メソッドにPOST
リクエストを送信して、前の手順で作成した内部範囲を持つサブネットを作成します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "name": "gke-subnet-1", "network": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK", "privateIpGoogleAccess": false, "reservedInternalRange": "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-nodes-1", "secondaryIpRanges": [ { "rangeName": "pods", "reservedInternalRange": "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-pods-1" }, { "rangeName": "services", "reservedInternalRange": "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-services-1" } ] }
次のように置き換えます。
PROJECT_ID
: プロジェクトの IDREGION
: サブネットのリージョンNETWORK
: サブネットのネットワーク
clusters.create
メソッドにPOST
リクエストを送信して、VPC ネイティブ クラスタを作成します。POST https://container.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/clusters { "cluster": { "ipAllocationPolicy": { "clusterSecondaryRangeName": "pods", "createSubnetwork": false, "servicesSecondaryRangeName": "services", "useIpAliases": true }, "name": "CLUSTER_NAME", "network": "NETWORK", "nodePools": [ { "config": { "oauthScopes": [ "https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/logging.write", "https://www.googleapis.com/auth/monitoring", "https://www.googleapis.com/auth/service.management.readonly", "https://www.googleapis.com/auth/servicecontrol", "https://www.googleapis.com/auth/trace.append" ] }, "initialNodeCount": 3, "management": { "autoRepair": true, "autoUpgrade": true }, "name": "default-pool", "upgradeSettings": { "maxSurge": 1 } } ], "subnetwork": "gke-subnet-1" }, "parent": "projects/PROJECT_ID/locations/ZONE" }
次のように置き換えます。
PROJECT_ID
: プロジェクトの IDZONE
: クラスタのゾーンCLUSTER_NAME
: 新しいクラスタの名前NETWORK
: クラスタのネットワーク
内部範囲を一覧表示する
内部範囲を一覧取得して、現在のプロジェクトまたは特定の VPC ネットワークのすべての内部範囲を確認できます。VPC ネットワーク内のプロジェクトを一覧取得するには、Google Cloud CLI を使用するか、API リクエストを送信します。
コンソール
Google Cloud コンソールで、[内部範囲] ページに移動します。
gcloud
現在のプロジェクト内のすべての内部範囲を表示するには、
gcloud network-connectivity internal-ranges list
コマンドを使用します。gcloud network-connectivity internal-ranges list
VPC ネットワーク内のすべての内部範囲を表示するには、
internal-ranges list
コマンドを使用してフィルタを指定します。gcloud network-connectivity internal-ranges list \ --filter=network:NETWORK_NAME \ --project=PROJECT_ID
次のように置き換えます。
NETWORK_NAME
: 内部範囲を一覧取得する VPC ネットワークの名前PROJECT_ID
: VPC ネットワークを含むプロジェクトの ID
API
プロジェクト内のすべての内部範囲を表示するには、
projects.locations.internalRanges.list
メソッドにGET
リクエストを送信します。GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges
PROJECT_ID
は、内部範囲を表示するプロジェクトの ID に置き換えます。VPC ネットワーク内のすべての内部範囲を表示するには、
projects.locations.internalRanges.list
メソッドにGET
リクエストを送信し、フィルタを含めます。GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?filter=network=\"https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME\"
NETWORK_NAME
は、内部範囲を一覧取得する VPC ネットワークの名前に置き換えます。
内部範囲の説明を取得する
内部範囲の説明を取得して、内部範囲に関連付けられているサブネットなど、選択した範囲の詳細を表示できます。
コンソール
Google Cloud コンソールで、[内部範囲] ページに移動します。
説明を追加する内部範囲の名前をクリックします。
gcloud
gcloud network-connectivity internal-ranges describe
コマンドを使用します。
gcloud network-connectivity internal-ranges describe RANGE_NAME
RANGE_NAME
は、説明を取得する内部範囲の名前に置き換えます。
API
projects.locations.internalRanges.get
メソッドに GET
リクエストを送信します。
GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME
次のように置き換えます。
PROJECT_ID
: 内部範囲の親プロジェクトの IDRANGE_NAME
: 説明を取得する内部範囲の名前
内部範囲を更新する
内部範囲が変更不可の場合、更新できるのは説明のみです。内部範囲が変更可能な場合は、範囲の CIDR ブロックを拡張し、その重複プロパティと説明を更新できます。
内部範囲を拡張するには、その範囲の CIDR ブロックを更新するか、プレフィックス長を短くします。更新された CIDR ブロックには、以前のブロックが含まれている必要があります。
割り振り範囲を絞り込むか、別の要素を変更する場合は、内部範囲を削除して新しい範囲を作成します。
IPv4 内部範囲の重複プロパティを更新するには、API リクエストを送信するか、Google Cloud CLI を使用します。
コンソール
Google Cloud コンソールで、[内部範囲] ページに移動します。
更新する内部範囲の名前をクリックします。
範囲の CIDR ブロックを拡張するには、[範囲を拡張] をクリックし、次のいずれかの操作を行います。
- IPv4 内部範囲の場合は、[プレフィックス長] をクリックして、次の操作を行います。
- [プレフィックス長] フィールドで、前のプレフィックスよりも短いプレフィックス長を選択します。
- [開く] をクリックします。
- IPv4 または IPv6 内部範囲の場合は、[IP 範囲] をクリックして、次の操作を行います。
- IPv4、IPv6、または IPv4 にマッピングされた IPv6 の CIDR ブロックを入力します。新しいブロックには、以前のブロックを含める必要があります。
- [開く] をクリックします。
- IPv4 内部範囲の場合は、[プレフィックス長] をクリックして、次の操作を行います。
範囲の説明を更新するには、次の手順を行います。
- [ 説明の編集] をクリックします。
- 新しい説明を入力します。
- [保存] をクリックします。
gcloud
内部範囲を更新するには、
gcloud network-connectivity internal-ranges update
コマンドを使用します。変更する必要のないプロパティのフラグは省略します。gcloud network-connectivity internal-ranges update RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --overlaps=OVERLAPS \ --description=DESCRIPTION
次のように置き換えます。
RANGE_NAME
: 内部範囲の名前CIDR_RANGE
: 拡張された IPv4、IPv6、IPv4 にマッピングされた IPv6 CIDR ブロック。前のブロックを含める必要があります。OVERLAPS
: 許可する重複のタイプ(IPv4 範囲のみ)OVERLAP_EXISTING_SUBNET_RANGE
とOVERLAP_ROUTE_RANGE
を指定できます。両方の値をカンマ区切りリストで指定できます。重複を無効にするには、フラグを含めますが、値は指定しません(--overlaps=
)。DESCRIPTION
: 更新された説明
プレフィックス長を短くして内部範囲を拡張するには、次のコマンドを使用します。
gcloud network-connectivity internal-ranges update RANGE_NAME \ --prefix-length=PREFIX_LENGTH
PREFIX_LENGTH
は、更新されたプレフィックス長に置き換えます。更新後のプレフィックス長は、以前のプレフィックス長よりも短くする必要があります。
API
CIDR 範囲を更新して内部範囲を拡張するには、
projects.locations.internalRanges.patch
メソッドにPATCH
リクエストを送信します。PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=ipCidrRange { "ipCidrRange": "CIDR_RANGE" }
次のように置き換えます。
PROJECT_ID
: 内部範囲の親プロジェクトの IDRANGE_NAME
: 内部範囲の名前CIDR_RANGE
: 拡張された IPv4、IPv6、IPv4 にマッピングされた IPv6 CIDR ブロック。前のブロックを含める必要があります。
プレフィックス長を短くして内部範囲を拡張するには、次のリクエストを実行します。
PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=prefixLength { "prefixLength": PREFIX_LENGTH }
PREFIX_LENGTH
は、更新されたプレフィックス長に置き換えます。更新後のプレフィックス長は、以前のプレフィックス長よりも短くする必要があります。IPv4 内部範囲の重複プロパティを更新するには、次のリクエストを行います。
PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=overlaps { "overlaps": ["OVERLAPS"] }
OVERLAPS
は、許可する重複のタイプに置き換えます。OVERLAP_EXISTING_SUBNET_RANGE
とOVERLAP_ROUTE_RANGE
を指定できます。両方の値を JSON 配列に含めることができます。重複を無効にするには、フィールドを含めますが、値は指定しません("overlaps": []
)。内部範囲の説明を更新するには、次のリクエストを行います。
PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=description { "description": "DESCRIPTION" }
DESCRIPTION
は、更新された説明に置き換えます。
内部範囲の削除
内部範囲は、サブネットなどの Google Cloudリソースに関連付けられていない場合は削除できます。 Google Cloud リソースに関連付けられた内部範囲を削除するには、まず関連付けられているリソースを削除します。
コンソール
Google Cloud コンソールで、[内部範囲] ページに移動します。
削除する内部範囲の名前をクリックします。
[削除] をクリックします。
[削除] をクリックして確定します。
gcloud
gcloud network-connectivity internal-ranges delete
コマンドを使用します。
gcloud network-connectivity internal-ranges delete RANGE_TO_DELETE
RANGE_TO_DELETE
は、削除する内部範囲の名前に置き換えます。
API
projects.locations.internalRanges.delete
メソッドに DELETE
リクエストを送信します。
DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME
次のように置き換えます。
PROJECT_ID
: 内部範囲の親プロジェクトの IDRANGE_NAME
: 内部範囲の名前