内部範囲を作成して使用する
このドキュメントでは、内部範囲を作成、使用、削除する方法について説明します。
内部範囲を使用すると、内部 IP アドレスのブロックを割り振ってブロックの使用方法を指定することで、Virtual Private Cloud(VPC)ネットワーク間で統合された IP アドレス空間を管理できます。
始める前に
- このガイドのコマンドラインの例を使用するには、Google Cloud CLI の最新バージョンをインストールするか、最新バージョンに更新してください。
- プロジェクトで Network Connectivity API を有効にする必要があります。
必要なロール
内部範囲の操作に必要な権限を取得するには、プロジェクトに対する Compute ネットワーク管理者(roles/compute.networkAdmin
)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
内部範囲を作成する
内部範囲を作成する場合、少なくとも 2 つの要素を指定します。1 つは割り振る IP アドレス、もう 1 つはアドレスを割り振るネットワークです。正確な CIDR 範囲を指定して内部範囲を作成することも、Google Cloud で自動的に範囲を選択することもできます。
特定の CIDR ブロックで内部範囲を作成する
コンソール
Google Cloud コンソールで、[内部範囲] ページに移動します。
[内部範囲を予約] をクリックします。
名前を入力します。
(省略可)説明を入力します。
[予約方法] セクションで、[手動で指定する] を選択します。
[IP 範囲] フィールドに、内部範囲の IP アドレス範囲を CIDR 表記で入力します。
ネットワークを選択します。
ピアリングのタイプを選択します。
使用状況のタイプを選択します。
[予約] をクリックします。
gcloud
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
: 新しい内部範囲に割り当てる CIDR 範囲。NETWORK_NAME
: 内部範囲を作成するネットワークの名前。DESCRIPTION
: 内部範囲の説明(省略可)。PEERING_TYPE
: 内部範囲のピアリング タイプ。FOR_SELF
、FOR_PEER
、NOT_SHARED
を指定できます。デフォルトはFOR_SELF
です。USAGE_TYPE
: 内部範囲の使用タイプ。FOR_VPC
とEXTERNAL_TO_VPC
を指定できます。デフォルトはFOR_VPC
です。
API
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
: 内部範囲の親プロジェクトの ID。RANGE_NAME
: 内部範囲の名前。CIDR_RANGE
: 内部範囲に割り当てる CIDR 範囲。NETWORK_NAME
: 内部範囲を作成するネットワークの名前。DESCRIPTION
: 新しい内部範囲の説明(省略可)。PEERING_TYPE
: 内部範囲のピアリング タイプ。FOR_SELF
、FOR_PEER
、NOT_SHARED
を指定できます。デフォルトはFOR_SELF
です。USAGE_TYPE
: 内部範囲の使用タイプ。FOR_VPC
とEXTERNAL_TO_VPC
を指定できます。デフォルトはFOR_VPC
です。
自動的に割り振られた CIDR ブロックで内部範囲を作成する
自動的に割り振られる CIDR ブロックを使用して内部範囲を作成する場合は、プレフィックスの長さと 1 つ以上のターゲット CIDR 範囲を指定します。Google Cloud は既存の IP アドレスの割り振りを考慮し、選択されたサイズの IP アドレスの空きブロックをターゲット CIDR 範囲内から割り当てます。
コンソール
Google Cloud コンソールで、[内部範囲] ページに移動します。
[内部範囲を予約] をクリックします。
名前を入力します。
(省略可)説明を入力します。
[予約方法] セクションで [自動] を選択します。
[プレフィックスの長さ] を選択します。
[ターゲット IP アドレス範囲 1] フィールドに、IP アドレスを割り振る IP アドレス範囲を入力します。[ターゲット IP アドレス範囲を追加] をクリックして各範囲を入力すると、複数の IP アドレス範囲を指定できます。
ネットワークを選択します。
ピアリングのタイプを選択します。
使用状況のタイプを選択します。
[予約] をクリックします。
gcloud
internal-ranges create
コマンドを使用します。
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"
次のように置き換えます。
RANGE_NAME
: 内部範囲の名前。NETWORK_NAME
: 内部範囲を作成するネットワークの名前。PREFIX_LENGTH
: 割り振られる IP アドレスのプレフィックス長。TARGET_CIDR_RANGE
: IP アドレス ブロックを割り振るターゲット CIDR 範囲。複数の CIDR 範囲をカンマ区切りリストで入力できます。デフォルトは、カスタムモードの VPC ネットワークの場合は10.0.0.0/8
、自動モードの VPC ネットワークの場合は10.128.0.0/9
です。PEERING_TYPE
: 内部範囲のピアリング タイプ。FOR_SELF
、FOR_PEER
、NOT_SHARED
を指定できます。デフォルトはFOR_SELF
です。USAGE_TYPE
: 内部範囲の使用タイプ。FOR_VPC
とEXTERNAL_TO_VPC
を指定できます。デフォルトはFOR_VPC
です。DESCRIPTION
: 新しい内部範囲の説明(省略可)。
API
internalRanges.create
メソッドに POST
リクエストを送信します。
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "prefixLength": PREFIX_LENGTH, "targetCidrRange": "TARGET_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE" }
次のように置き換えます。
PROJECT_ID
: 内部範囲の親プロジェクトの ID。RANGE_NAME
: 内部範囲の名前。PREFIX_LENGTH
: 範囲の IP アドレス ブロックの CIDR プレフィックスの長さ。TARGET_RANGE
: IP アドレス ブロックを割り振るターゲット CIDR 範囲。JSON 配列で複数の CIDR 範囲を指定できます。デフォルトは、カスタムモードの VPC ネットワークの場合は10.0.0.0/8
、自動モードの VPC ネットワークの場合は10.128.0.0/9
です。NETWORK_NAME
: 内部範囲を作成するネットワークの名前。DESCRIPTION
: 新しい内部範囲の説明(省略可)。PEERING_TYPE
: 内部範囲のピアリング タイプ。FOR_SELF
、FOR_PEER
、NOT_SHARED
を指定できます。デフォルトはFOR_SELF
です。USAGE_TYPE
: 内部範囲の使用タイプ。FOR_VPC
とEXTERNAL_TO_VPC
を指定できます。デフォルトはFOR_VPC
です。
内部範囲を予約する
使用タイプとピアリング タイプを正しく設定した内部範囲を作成すると、Google Cloud は、割り振られた IP アドレスを意図したとおりに使用できるようにします。内部範囲は、使用タイプとピアリング タイプに選択した設定に従って予約されます。
オンプレミス ネットワークに内部範囲を予約する
オンプレミス用に予約される内部範囲を作成できます。オンプレミスで使用する範囲を予約するときに、新しいリソースが予約済みの範囲と競合していると、Google Cloud は親 VPC ネットワークにサブネットワークまたはルートを作成できません。
コンソール
Google Cloud コンソールで、[内部範囲] ページに移動します。
[内部範囲を予約] をクリックします。
名前を入力します。
(省略可)説明を入力します。
[予約方法] セクションで、[手動で指定する] を選択します。
[IP 範囲] フィールドに、内部範囲の IP アドレス範囲を CIDR 表記で入力します。
ネットワークを選択します。
[ピアリング] をクリックし、[共有なし] を選択します。
[用途] をクリックし、[VPC の外部] を選択します。
[予約] をクリックします。
gcloud
internal-ranges create
コマンドを使用します。
gcloud network-connectivity internal-ranges create RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --network=NETWORK_NAME \ --description="reserved for on-premises" \ --usage=EXTERNAL_TO_VPC \ --peering=NOT_SHARED
次のように置き換えます。
RANGE_NAME
: オンプレミス用に予約する内部範囲の名前。CIDR_RANGE
: オンプレミスで使用するために割り振る CIDR 範囲。NETWORK_NAME
: 内部範囲を作成するネットワークの名前。
API
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": "reserved for on-premises use", "usage": "EXTERNAL_TO_VPC", "peering": "NOT_SHARED" }
次のように置き換えます。
PROJECT_ID
: 内部範囲の親プロジェクトの ID。RANGE_NAME
: 新しい内部範囲の名前。CIDR_RANGE
: 範囲の IP アドレス ブロックの CIDR プレフィックスの長さ。NETWORK_NAME
: 内部範囲を作成するネットワークの名前。
ピア ネットワークに内部範囲を予約する
ピア VPC ネットワーク用に予約される内部範囲を作成できます。ピア VPC ネットワークの範囲を予約すると、その範囲の親 VPC ネットワーク内のリソースでは範囲を使用できません。ピア VPC ネットワークとピアオブピア ネットワークのみが範囲を使用できます。
コンソール
Google Cloud コンソールで、[内部範囲] ページに移動します。
[内部範囲を予約] をクリックします。
名前を入力します。
(省略可)説明を入力します。
[予約方法] セクションで、[手動で指定する] を選択します。
[IP 範囲] フィールドに、内部範囲の IP アドレス範囲を CIDR 表記で入力します。
ネットワークを選択します。
[ピアリング] をクリックし、[ピア] を選択します。
[用途] をクリックし、[VPC] を選択します。
[予約] をクリックします。
gcloud
internal-ranges create
コマンドを使用します。
gcloud network-connectivity internal-ranges create RANGE_NAME \ --target-cidr-range=TARGET_CIDR_RANGE \ --prefix-length=PREFIX_LENGTH \ --network=NETWORK_NAME \ --peering=FOR_PEER \ --usage=FOR_VPC
次のように置き換えます。
RANGE_NAME
: ピア ネットワーク用にのみ予約する内部範囲の名前。TARGET_CIDR_RANGE
: IP アドレス ブロックを割り振るターゲット CIDR 範囲。カンマ区切りリストで複数の CIDR 範囲を指定できます。デフォルトは、カスタムモードの VPC ネットワークの場合は10.0.0.0/8
、自動モードの VPC ネットワークの場合は10.128.0.0/9
です。PREFIX_LENGTH
: 割り振られる IP アドレスのプレフィックス長。NETWORK_NAME
: 内部範囲を作成するネットワークの名前。
API
internalRanges.create
メソッドに POST
リクエストを送信します。
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", "peering": "FOR_PEER", "usage": "FOR_VPC" }
次のように置き換えます。
PROJECT_ID
: 内部範囲の親プロジェクトの ID。RANGE_NAME
: 内部範囲の名前。PREFIX_LENGTH
: 範囲の IP アドレス ブロックの CIDR プレフィックスの長さ。TARGET_CIDR_RANGE
: IP アドレス ブロックを割り振る CIDR 範囲。JSON 配列で複数の CIDR 範囲を指定できます。デフォルトは、カスタムモードの VPC ネットワークの場合は10.0.0.0/8
、自動モードの VPC ネットワークの場合は10.128.0.0/9
です。NETWORK_NAME
: 内部範囲を作成するネットワークの名前。
ローカル VPC ネットワークに内部範囲を予約する
ローカル VPC ネットワーク用にのみ予約された内部範囲を作成できます。予約済みの範囲はピア VPC ネットワークで通知されません。ピア VPC ネットワークは、親の VPC ネットワークに表示される方法で内部範囲を使用できません。
コンソール
Google Cloud コンソールで、[内部範囲] ページに移動します。
[内部範囲を予約] をクリックします。
名前を入力します。
(省略可)説明を入力します。
[予約方法] セクションで、[手動で指定する] を選択します。
[IP 範囲] フィールドに、内部範囲の IP アドレス範囲を CIDR 表記で入力します。
ネットワークを選択します。
[ピアリング] をクリックし、[共有なし] を選択します。
[用途] をクリックし、[VPC] を選択します。
[予約] をクリックします。
gcloud
internal-ranges create
コマンドを使用します。
gcloud network-connectivity internal-ranges create RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --network=NETWORK_NAME \ --peering=NOT_SHARED \ --usage=FOR_VPC
次のように置き換えます。
RANGE_NAME
: ローカル VPC ネットワーク用に予約する内部範囲の名前。CIDR_RANGE
: 範囲の IP アドレス ブロックの CIDR プレフィックスの長さ。NETWORK_NAME
: 内部範囲を作成するネットワークの名前。
API
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": "NOT_SHARED", "usage": "FOR_VPC" }
次のように置き換えます。
PROJECT_ID
: 内部範囲の親プロジェクトの ID。RANGE_NAME
: 新しい内部範囲の名前。CIDR_RANGE
: 範囲の IP アドレス ブロックの CIDR プレフィックスの長さ。NETWORK_NAME
: 内部範囲を作成するネットワークの名前。
内部範囲を持つサブネットワークを作成する
サブネットワークを作成し、内部範囲を使用してサブネットの内部 IP アドレス範囲を指定できます。サブネットワークは、内部範囲全体または範囲の一部にのみ関連付けることができます。サブネットワークのセカンダリ範囲を内部範囲に関連付けることもできます。
内部範囲に関連付けられたサブネットワークを作成するには、Google Cloud CLI を使用するか、API リクエストを送信します。
内部範囲全体を使用するサブネットワークを作成する
内部 IP アドレス範囲として内部範囲全体を使用するサブネットワークを作成する手順は次のとおりです。
gcloud
- 新しいサブネットを作成するネットワークの内部範囲を作成します。この内部範囲の使用タイプを
FOR_VPC
に設定し、ピアリング タイプをFOR_SELF
に設定します。 subnets create
コマンドを使用します。gcloud beta 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
: サブネットを作成するプロジェクトの ID。RANGE_NAME
: サブネットに関連付ける内部範囲の名前。NETWORK_NAME
: サブネットワークを作成するネットワークの名前。REGION
: サブネットワークを作成するリージョン。
API
- 新しいサブネットを作成するネットワークの内部範囲を作成します。この内部範囲の使用タイプを
FOR_VPC
に設定し、ピアリング タイプをFOR_SELF
に設定します。 subnetworks.insert
メソッドにPOST
リクエストを送信します。POST https://compute.googleapis.com/compute/beta/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
: 新しいサブネットの親プロジェクトの ID。REGION
: サブネットを作成するリージョン。SUBNET_NAME
: 新しいサブネットの名前。PROJECT_ID
: サブネットを作成するプロジェクトの ID。RANGE_NAME
: 新しいサブネットに使用する内部範囲の名前。NETWORK
: サブネットを作成するネットワークの名前。
内部範囲の一部を使用するサブネットワークを作成する
内部 IP アドレス範囲に内部範囲の一部を使用するサブネットワークを作成する手順は次のとおりです。
gcloud
- 新しいサブネットを作成するネットワークの内部範囲を作成します。この内部範囲の使用タイプを
FOR_VPC
に設定し、ピアリング タイプをFOR_SELF
に設定します。 subnets create
コマンドを使用します。gcloud beta 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
次のように置き換えます。
SUBNET_NAME
: サブネットの名前。PROJECT_ID
: サブネットを作成するプロジェクトの ID。RANGE_NAME
: 新しいサブネットに関連付ける内部範囲の名前。IP_RANGE
: 内部範囲のサブセットである CIDR 範囲。NETWORK_NAME
: サブネットワークを作成するネットワークの名前。REGION
: サブネットワークを作成するリージョン。
たとえば、次の 2 つのコマンドは、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 beta 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
- 新しいサブネットを作成するネットワークの内部範囲を作成します。この内部範囲の使用タイプを
FOR_VPC
に設定し、ピアリング タイプをFOR_SELF
に設定します。 subnetworks.insert
メソッドにPOST
リクエストを送信します。POST https://compute.googleapis.com/compute/beta/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" }
次のように置き換えます。
PROJECT_ID
: 新しいサブネットの親プロジェクトの ID。REGION
: サブネットを作成するリージョン。SUBNET_NAME
: サブネットの名前。PROJECT_ID
: サブネットを作成するプロジェクトの ID。RANGE_NAME
: 新しいサブネットに関連付ける内部範囲の名前。IP_RANGE
: 選択した内部範囲のサブセットである CIDR 範囲。NETWORK
: サブネットワークを作成するネットワークの名前。
たとえば、次の 2 つのリクエストは、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/beta/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" }
内部範囲を持つ GKE クラスタを作成する
内部範囲を使用して、Google Kubernetes Engine(GKE)の VPC ネイティブ クラスタの IP アドレスを割り振ることができます。
内部範囲を持つ VPC ネイティブ クラスタを作成するには、Google Cloud CLI を使用するか、API リクエストを送信します。
gcloud
internal-ranges create
コマンドを使用して、次の内部範囲を作成します。- 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 Service に関連付けられている内部範囲のプレフィックスの長さ。NETWORK
: ネットワークの名前。
subnets create
コマンドを使用して、前の手順で作成した内部範囲でサブネットを作成します。gcloud beta 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"
次のように置き換えます。
NETWORK
: ネットワークの名前。REGION
: サブネットのリージョン。PROJECT_ID
: プロジェクトの ID。
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
API
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
: プロジェクトの ID。NETWORK
: ネットワークの名前。NODE_PREFIX_LENGTH
: GKE ノードに関連付けられている内部範囲のプレフィックスの長さ。POD_PREFIX_LENGTH
: GKE Pod に関連付けられている内部範囲のプレフィックスの長さ。SERVICE_PREFIX_LENGTH
: GKE Service に関連付けられている内部範囲のプレフィックスの長さ。
subnetworks.insert
メソッドにPOST
リクエストを送信して、前の手順で作成した内部範囲を持つサブネットを作成します。POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/subnetworks { "name": "gke-subnet-1", "network": "https://compute.googleapis.com/compute/beta/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
: プロジェクトの ID。REGION
: サブネットのリージョン。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
: プロジェクトの ID。ZONE
: クラスタのゾーン。CLUSTER_NAME
: 新しいクラスタの名前。NETWORK
: クラスタのネットワーク。
内部範囲を一覧取得する
内部範囲を一覧取得して、現在のプロジェクトまたは特定の VPC ネットワークのすべての内部範囲を確認できます。VPC ネットワーク内のプロジェクトを一覧取得するには、Google Cloud CLI を使用するか、API リクエストを送信します。
コンソール
Google Cloud コンソールで、[内部範囲] ページに移動します。
gcloud
現在のプロジェクト内のすべての内部範囲を表示するには、
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
プロジェクト内のすべての内部範囲を表示するには、
internalRanges.list
メソッドにGET
リクエストを送信します。GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges
PROJECT_ID
は、内部範囲を表示するプロジェクトの ID に置き換えます。VPC ネットワーク内のすべての内部範囲を表示するには、
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
internal-ranges describe
コマンドを使用します。
gcloud network-connectivity internal-ranges describe RANGE_NAME
RANGE_NAME
は、説明を取得する内部範囲の名前に置き換えます。
API
internalRanges.get
メソッドに GET
リクエストを送信します。
GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME
次のように置き換えます。
PROJECT_ID
: 内部範囲の親プロジェクトの ID。RANGE_NAME
: 説明を取得する内部範囲の名前。
内部範囲を拡張する
内部範囲リソースに割り振られている IP アドレス範囲は拡張できますが、範囲を狭くすることはできません。更新後の範囲には、前の範囲が含まれている必要があります。割り振り範囲を絞り込むか、別の要素を変更する場合は、内部範囲を削除して新しい範囲を作成します。
内部範囲の IP CIDR 範囲を拡張する
IP CIDR 範囲を更新して内部範囲を拡張する手順は次のとおりです。
コンソール
Google Cloud コンソールで、[内部範囲] ページに移動します。
更新する内部範囲の名前をクリックします。
[範囲を拡張] をクリックします。
[IP 範囲] をクリックします。
新しい IP 範囲を入力します。これには、前の範囲が含まれている必要があります。
[開く] をクリックします。
gcloud
internal-ranges update
コマンドを使用します。
gcloud network-connectivity internal-ranges update RANGE_NAME \ --ip-cidr-range=CIDR_RANGE
次のように置き換えます。
RANGE_NAME
: 内部範囲の名前。CIDR_RANGE
: 更新された CIDR 範囲。前の範囲を含める必要があります。
API
internalRanges.patch
メソッドに PATCH
リクエストを送信します。
PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=ipCidrRange { "ipCidrRange": "CIDR_RANGE" }
次のように置き換えます。
PROJECT_ID
: 内部範囲の親プロジェクトの ID。RANGE_NAME
: 内部範囲の名前。CIDR_RANGE
: 更新された CIDR 範囲。前の範囲を含める必要があります。
プレフィックスの長さを短くして内部範囲を拡張する
プレフィックスの長さを短くして内部範囲を拡張する手順は次のとおりです。
コンソール
Google Cloud コンソールで、[内部範囲] ページに移動します。
更新する内部範囲の名前をクリックします。
[範囲を拡張] をクリックします。
[プレフィックスの長さ] をクリックします。
[プレフィックスの長さ] リストで、既存のプレフィックス長よりも短いプレフィックス長を選択します。
[開く] をクリックします。
gcloud
internal-ranges update
コマンドを使用します。
gcloud network-connectivity internal-ranges update RANGE_NAME \ --prefix-length=PREFIX_LENGTH
次のように置き換えます。
RANGE_NAME
: 内部範囲の名前。PREFIX_LENGTH
: 更新されたプレフィックスの長さ。前のプレフィックスの長さよりも短くする必要があります。
API
internalRanges.patch
メソッドに PATCH
リクエストを送信します。
PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=prefixLength { "prefixLength": PREFIX_LENGTH }
次のように置き換えます。
PROJECT_ID
: 内部範囲の親プロジェクトの ID。RANGE_NAME
: 内部範囲の名前。PREFIX_LENGTH
: 更新されたプレフィックスの長さ。前のプレフィックスの長さよりも短くする必要があります。
内部範囲を削除する
内部範囲は、サブネットワークなどの Google Cloud リソースに関連付けられていない場合は削除できます。Google Cloud リソースに関連付けられた内部範囲を削除するには、まず関連付けられているリソースを削除します。
コンソール
Google Cloud コンソールで、[内部範囲] ページに移動します。
削除する内部範囲の名前をクリックします。
[削除] をクリックします。
[削除] をクリックして確定します。
gcloud
internal-ranges delete
コマンドを使用します。
gcloud network-connectivity internal-ranges delete RANGE_TO_DELETE
RANGE_TO_DELETE
は、削除する内部範囲の名前に置き換えます。
API
internalRanges.delete
メソッドに DELETE
リクエストを送信します。
DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME
次のように置き換えます。
PROJECT_ID
: 内部範囲の親プロジェクトの ID。RANGE_NAME
: 内部範囲の名前。