このページでは、VPC ネットワークを作成、変更、削除する方法について説明します。このページは、VPC ネットワークの概要で説明している VPC ネットワークの特性についてよく理解していることを前提としています。Google Cloud では、ネットワークとサブネットは異なるリソースです。
使ってみる
Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの VPC のパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
VPC 無料トライアルネットワークの作成
自動モード VPC ネットワークを作成するか、カスタムモード VPC ネットワークを作成するかを選択できます。新しく作成した各ネットワークには、同じプロジェクト内で一意の名前を付ける必要があります。
自動モード ネットワークの作成
自動モード ネットワークでは、ネットワークを作成すると、Google Cloud リージョンごとに 1 つのサブネットが自動的に作成されます。新しいリージョンが利用可能になると、そのリージョンの新しいサブネットが自動モード ネットワークに自動的に追加されます。自動的に作成されたサブネットの IP 範囲は、所定の範囲のセットから取得されます。自動モード ネットワークはすべて、同じ IP 範囲のセットを使用します。
Console
- Google Cloud Console で [VPC ネットワーク] ページに移動します。
[VPC ネットワーク] ページに移動 - [VPC ネットワークを作成] をクリックします。
- ネットワークの名前を入力します。
- [サブネット作成モード] で [自動] を選択します。
- VM への接続に関する一般的なユースケースに対処する事前定義されたファイアウォール ルールを使用する場合は、[ファイアウォール ルール] セクションで選択します(複数選択可)。事前定義されたファイアウォール ルールを使用しない場合は選択しません。ネットワークを作成した後で、独自のファイアウォール ルールを作成できます。
VPC ネットワークの [動的ルーティング モード] を選択します。
詳細については、動的ルーティング モードをご覧ください。動的ルーティング モードは後で変更できます。
最大伝送単位(MTU): ネットワークの MTU として
1460
(デフォルト)または1500
のいずれかを選択します。MTU を1500
に設定する前に、コンセプト ガイドの MTU 情報を確認してください。[作成] をクリックします。
gcloud
次の gcloud
コマンドを使用して、自動モード ネットワークを作成します。
gcloud compute networks create NETWORK \ --subnet-mode=auto \ --bgp-routing-mode=DYNAMIC_ROUTING_MODE \ --mtu=MTU
プレースホルダを有効な値に置き換えます。
- NETWORK は、VPC ネットワークの名前です。
- DYNAMIC_ROUTING_MODEは、
global
またはregional
のいずれかです。これは、ネットワーク内の Cloud Router の動作を制御します。詳細については、動的ルーティング モードをご覧ください。 - MTU は、ネットワークの最大伝送単位です。MTU は、
1460
(デフォルト)または1500
のいずれかです。MTU を1500
に設定する前に、コンセプト ガイドの MTU 情報を確認してください。
API
自動モード ネットワークを作成します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks { "autoCreateSubnetworks": true, "name": "auto-network1", "mtu": MTU }
次のように置き換えます。
- PROJECT_ID は、VPC ネットワークが作成されたプロジェクトの ID です。
- MTU は、ネットワークの最大伝送単位です。MTU は、
1460
(デフォルト)または1500
のいずれかです。MTU を1500
に設定する前に、コンセプト ガイドの MTU 情報を確認してください。
VPC ネットワークの動的ルーティング モードを指定するには、routingConfig
フィールドを使用します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks { "routingConfig": { "routingMode": "DYNAMIC_ROUTING_MODE" }, "autoCreateSubnetworks": true, "name": "NETWORK", "mtu": MTU }
プレースホルダを有効な値に置き換えます。
- PROJECT_ID は、VPC ネットワークが作成されたプロジェクトの ID です。
- NETWORK は、VPC ネットワークの名前です。
- DYNAMIC_ROUTING_MODE は、
global
またはregional
のいずれかです。これは、ネットワーク内の Cloud Router のルート アドバタイズの動作を制御します。詳細については、動的ルーティング モードをご覧ください。 - MTU は、ネットワークの最大伝送単位です。MTU は、
1460
(デフォルト)または1500
のいずれかです。MTU を1500
に設定する前に、コンセプト ガイドの MTU 情報を確認してください。
詳細については、networks.insert
メソッドをご覧ください。
Terraform
Terraform モジュールを使用して、自動モードの VPC ネットワークを作成できます。
MTU は、ネットワークの最大伝送単位です。デフォルトの 1460
設定を維持することも、1500
で置き換えることもできます。MTU を 1500
に設定する前に、概要の MTU 情報を確認してください。
カスタムモード ネットワークの作成
カスタムモードの VPC ネットワークの場合、ネットワークを作成してから、リージョン内に必要なサブネットを作成します。この段階で、すべてのリージョンにサブネットを指定する必要はありません。まったく指定しなくてもかまいませんが、サブネットが定義されていないリージョンにインスタンスは作成できません。
ネットワークの作成時にサブネットを作成することも、後でサブネットを追加することもできます。
Console
- Google Cloud Console で [VPC ネットワーク] ページに移動します。
[VPC ネットワーク] ページに移動 - [VPC ネットワークを作成] をクリックします。
- ネットワークの名前を入力します。
- [サブネット作成モード] で [カスタム] を選択します。
[新しいサブネット] セクションで、サブネットに次の構成パラメータを指定します。
- サブネットの名前を入力します。
- リージョンを選択します。
IP アドレス範囲を入力します。これはサブネットのプライマリ IP 範囲です。
RFC 1918 アドレス以外の範囲を選択した場合は、その範囲が既存の構成と競合していないことを確認します。詳細については、サブネットの範囲をご覧ください。
サブネットのセカンダリ範囲を定義するため、[セカンダリ IP 範囲を作成する] をクリックします。
RFC 1918 アドレス以外の範囲を選択した場合は、その範囲が既存の構成と競合していないことを確認します。詳細については、サブネットの範囲をご覧ください。
限定公開の Google アクセス: サブネットの限定公開の Google アクセスを、作成時に有効にするか、後で編集して有効にするかを選択します。
フローログ: サブネットの VPC フローログを、作成時に有効にするか、後で編集して有効にするかを選択します。
[完了] をクリックします。
さらにサブネットを追加するには、[サブネットを追加] をクリックして前の手順を繰り返します。ネットワークを作成した後で、ネットワークにさらにサブネットを追加することもできます。
VPC ネットワークの [動的ルーティング モード] を選択します。
詳細については、動的ルーティング モードをご覧ください。動的ルーティング モードは後で変更できます。
最大伝送単位(MTU): ネットワークの MTU として
1460
(デフォルト)または1500
のいずれかを選択します。MTU を1500
に設定する前に、コンセプト ガイドの MTU 情報を確認してください。[作成] をクリックします。
gcloud
次の gcloud
コマンドを使用して、新しいカスタムモード ネットワークを作成します。ネットワークを作成したら、サブネットの追加の説明に従ってサブネットを追加します。
gcloud compute networks create NETWORK \ --subnet-mode=custom \ --bgp-routing-mode=DYNAMIC_ROUTING_MODE \ --mtu=MTU
プレースホルダを有効な値に置き換えます。
- NETWORK は、VPC ネットワークの名前です。
- DYNAMIC_ROUTING_MODE は、
global
またはregional
のいずれかです。これは、ネットワーク内の Cloud Router のルート アドバタイズの動作を制御します。詳細については、動的ルーティング モードをご覧ください。 - MTU は、ネットワークの最大伝送単位です。MTU は、
1460
(デフォルト)または1500
のいずれかです。MTU を1500
に設定する前に、コンセプト ガイドの MTU 情報を確認してください。
API
カスタムモードのネットワークを作成します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks { "autoCreateSubnetworks": false, "name": "NETWORK", "mtu": MTU, "routingConfig": { "routingMode": "DYNAMIC_ROUTING_MODE" } }
プレースホルダを有効な値に置き換えます。
- PROJECT_ID は、VPC ネットワークが作成されたプロジェクトの ID です。
- NETWORK は、VPC ネットワークの名前です。
- DYNAMIC_ROUTING_MODE は、
global
またはregional
のいずれかです。これは、ネットワーク内の Cloud Router のルート アドバタイズの動作を制御します。詳細については、動的ルーティング モードをご覧ください。 MTU は、ネットワークの最大伝送単位です。MTU は、
1460
(デフォルト)または1500
のいずれかです。MTU を1500
に設定する前に、コンセプト ガイドの MTU 情報を確認してください。詳細については、
networks.insert
メソッドをご覧ください。
Terraform
Terraform モジュールを使用してカスタムモードの VPC ネットワークを作成できます。
MTU は、ネットワークの最大伝送単位です。デフォルトの 1460
設定を維持することも、1500
で置き換えることもできます。MTU を 1500
に設定する前に、概要の MTU 情報を確認してください。
ファイアウォール ルールの概要
ネットワークが作成できたら、VM インスタンス間の通信など、ネットワーク内のリソース間のトラフィックを許可または拒否するファイアウォール ルールを作成します。また、ファイアウォール ルールを使用して、どのトラフィックを VPC ネットワークからインターネットへ送信するか、またはどのトラフィックをインターネットから VPC ネットワークで受信するかを制御できます。
ネットワークの表示
プロジェクト内の VPC ネットワークとレガシー ネットワークを表示します。VPC ネットワークの場合、サブネットとサブネット作成モードに関する情報を表示できます。
Console
Google Cloud Console で [VPC ネットワーク] ページに移動します。
[VPC ネットワーク] ページに移動コンソールで VPC ネットワークとレガシー ネットワークがすべて一覧表示されます。
VPC ネットワークを選択し、ピアリング接続やサブネットなどの詳細を表示します。
gcloud
次の例に示すように、プロジェクト内のネットワークを一覧表示します。
gcloud compute networks list
このコマンドで、VPC ネットワークとレガシー ネットワークがすべて一覧表示されます。レガシー ネットワークはサブネット作成モードに
LEGACY
が表示されますが、VPC ネットワークにはAUTO
またはCUSTOM
が表示されます。NAME SUBNET_MODE BGP_ROUTING_MODE IPV4_RANGE GATEWAY_IPV4 custom-network CUSTOM REGIONAL default AUTO REGIONAL legacy-network1 LEGACY REGIONAL 10.240.0.0/16 10.240.0.1
ピアリング接続やサブネットなど、詳細を表示するネットワークを記述します。
gcloud compute networks describe NETWORK
API
プロジェクト内のすべてのネットワークを一覧表示します。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks
PROJECT_ID は、一覧表示する VPC ネットワークを含むプロジェクトの ID に置き換えます。
詳細については、
networks.list
メソッドをご覧ください。詳細を表示するネットワークを記述します。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK
プレースホルダを有効な値に置き換えます。
- PROJECT_ID は VPC ネットワークを含むプロジェクトの ID です。
- NETWORK は、記述する VPC ネットワークの名前です。
詳細については、
networks.get
メソッドをご覧ください。
サブネットの操作
サブネットを作成または編集するときは、次のルールに従う必要があります。
VPC ネットワークのメンバーでない限り、プロジェクト内でサブネットに VPC ネットワークと同じ名前を付けることはできません。プロジェクト内で、同じリージョンのサブネットには一意の名前を付ける必要があります。たとえば、
production
というネットワークでproduction
という名前のサブネットを複数作成するには、それぞれ異なるリージョンに作成する必要があります。作成したサブネットの名前やリージョンは後で変更できません。ただし、リソースによって使用されていないサブネットであれば、それを削除して、異なる名前やリージョンのサブネットを再度作成することは可能です。
各サブネットには、プライマリ範囲と、任意で 1 つ以上のエイリアス IP 用セカンダリ範囲が必要です。ネットワークごとの上限は、各サブネットに定義できるセカンダリ範囲の最大数を表します。プライマリ IP 範囲とセカンダリ IP 範囲は有効な範囲である必要があります。
VPC ネットワーク内で、プライマリとセカンダリの IP 範囲はすべて一意でなければなりませんが、連続している必要はありません。たとえば、サブネットのプライマリ範囲を
10.0.0.0/24
に、同じネットワーク内の別のサブネットのプライマリ範囲を192.168.0.0/16
にできます。サブネットのプライマリ IP 範囲は、サブネットの作成後に拡張できますが、置き換えや縮小はできません。
ただし、インスタンスによって使用されていないサブネットのセカンダリ IP アドレス範囲であれば、それを削除して、再度指定することは可能です。
プライマリ範囲やセカンダリ範囲の最少サイズは、IP アドレス 8 つです。つまり、使用できる最長のサブネット マスクは
/29
です。
サブネットのプライマリ範囲とセカンダリ範囲は、すでに割り当てられている範囲、同じネットワーク内の別のサブネットのプライマリ範囲やセカンダリ範囲、ピアリングされたネットワーク内のサブネットの IP 範囲と重複できません。
Google Cloud は、プライマリとセカンダリの両方の IP 範囲に対応するサブネット ルートを作成します。サブネット ルート、つまりサブネット IP 範囲には、定義上最も範囲の狭い IP 範囲が必要です。
Cloud VPN、Dedicated Interconnect、Partner Interconnect を使用して VPC ネットワークを別のネットワークに接続している場合は、プライマリとセカンダリの範囲がオンプレミスの IP 範囲と競合しないようにします。
サブネットの IP 範囲はすべて、VPC ネットワーク ピアリングで相互に接続している VPC ネットワーク間で一意でなければなりません。
サブネット IP 範囲は、静的ルートの宛先と競合してはいけません。
サブネットのプライマリまたはセカンダリ IP 範囲に、
10.128.0.0/9
ブロックの IP アドレスを使用しないでください。このブロックの IP アドレスは、自動モード ネットワークで自動的に作成されたサブネットが使用します。10.128.0.0/9
ブロックの IP アドレスを使用すると、VPC ピアリングまたは Cloud VPN トンネルでネットワークを自動モードの VPC ネットワークに接続できなくなります。
サブネットの一覧表示
プロジェクトに存在するすべてのサブネットを確認できます。
Console
- Google Cloud Console で [VPC ネットワーク] ページに移動します。
[VPC ネットワーク] ページに移動
すべての VPC ネットワークのサブネットが表示されます。 - ネットワークの名前をクリックしてから、[VPC ネットワークの詳細] ページの [サブネット] タブをクリックして、すべてのネットワークのサブネットではなく、そのネットワークだけのサブネットを表示します。
gcloud
プロジェクト内のすべてのネットワークのすべてのサブネットを一覧表示することも、特定のネットワークまたはリージョンのサブネットだけを表示することもできます。次のリストにコマンド例を示します。
このコマンドを使用して、すべてのリージョン、すべての VPC ネットワーク内の、すべてのサブネットを一覧表示します。
gcloud compute networks subnets list
このコマンドを使用して、特定の VPC ネットワーク内のすべてのサブネットを一覧表示します。NETWORK は、ネットワークの名前に置き換えます。
gcloud compute networks subnets list \ --network=NETWORK
このコマンドを使用して、特定のリージョンのすべてのサブネットを一覧表示します。REGION は、リージョン名に置き換えます。
gcloud compute networks subnets list \ --filter="region:( REGION … )"
API
プロジェクト内のすべてのサブネットを一覧表示します。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/subnetworks
PROJECT_ID は、一覧表示するサブネットを含むプロジェクトの ID に置き換えます。
詳細については、subnetworks.aggregatedList
メソッドをご覧ください。
サブネットの説明
このセクションの手順に従うと、プライマリ IP 範囲、セカンダリ IP 範囲、リージョンなど、既存のサブネットの詳細を表示できます。
Console
- Google Cloud Console で [VPC ネットワーク] ページに移動します。
[VPC ネットワーク] ページに移動
プロジェクト内のすべてのネットワークとサブネットは階層的に表示され、サブネットはネットワーク内のエントリとして表示されます。 - 特定のネットワークのサブネットに絞り込むため、ネットワークの名前をクリックします。[VPC ネットワークの詳細] ページで、[サブネット] タブのサブネット名をクリックして [サブネットの詳細] ページを表示します。
gcloud
サブネットを一覧表示して、プロジェクト内の既存のサブネットの名前とリージョンを確認します。
次の
gcloud
コマンドを使用してサブネットの詳細を記述します。SUBNET はサブネットの名前に、REGION はサブネットのリージョンに置き換えます。gcloud compute networks subnets describe SUBNET \ --region=REGION
API
特定のリージョンのサブネットを一覧表示して、サブネットの名前を確認します。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
プレースホルダを有効な値に置き換えます。
- PROJECT_ID は、一覧表示するサブネットを含むプロジェクトの ID です。
- REGION は、一覧表示するサブネットを含む Google Cloud リージョンの名前です。
詳細については、
subnetworks.list
メソッドをご覧ください。詳細を表示するサブネットを記述します。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET
プレースホルダを有効な値に置き換えます。
- PROJECT_ID は、記述するサブネットを含むプロジェクトの ID です。
- REGION は、記述するサブネットを含む Google Cloud リージョンの名前です。
- SUBNET は、記述するサブネットの名前です。
詳細については、
subnetworks.get
メソッドをご覧ください。
サブネットの追加
サブネットを作成するときは、サブネット ルールに従って、名前、リージョン、少なくとも 1 つのプライマリ IP アドレス範囲を設定します。
Console
- Google Cloud Console で [VPC ネットワーク] ページに移動します。
[VPC ネットワーク] ページに移動 - VPC ネットワークの名前をクリックして、[VPC ネットワークの詳細] ページを表示します。
[サブネットを追加] をクリックします。表示されるパネルで、次の手順を実施します。
- 名前を入力します。
- リージョンを選択します。
IP アドレス範囲を入力します。これはサブネットのプライマリ IP 範囲です。
RFC 1918 アドレス以外の範囲を選択した場合は、その範囲が既存の構成と競合していないことを確認します。詳細については、サブネットの範囲をご覧ください。
サブネットのセカンダリ範囲を定義するため、[セカンダリ IP 範囲を作成する] をクリックします。
RFC 1918 アドレス以外の範囲を選択した場合は、その範囲が既存の構成と競合していないことを確認します。詳細については、サブネットの範囲をご覧ください。
限定公開の Google アクセス: 作成時にサブネットの限定公開の Google アクセスを有効にできます。後で編集して有効にすることもできます。
フローログ: 作成時にサブネットの VPC フローログを有効にできます。後で編集して有効にすることもできます。
[追加] をクリックします。
gcloud
次の gcloud
コマンドを使用して、特定のネットワークに新しいサブネットを作成します。
gcloud compute networks subnets create SUBNET \ --network=NETWORK \ --range=PRIMARY_RANGE \ --region=REGION
プレースホルダを有効な値に置き換えます。
- SUBNET は、新しいサブネットの名前です。
- NETWORK は、新しいサブネットを含む VPC ネットワークの名前です。
- PRIMARY_RANGE は、新しいサブネットのプライマリ IP 範囲です(CIDR 表記)。詳細については、サブネットの範囲をご覧ください。
- REGION は、新しいサブネットが作成される Google Cloud リージョンです。
次のオプションのフラグを使用すると、前のコマンドを変更できます。
--secondary-range=
SECONDARY_RANGE_NAME=
SECONDARY_RANGE: SECONDARY_RANGE_NAME をセカンダリ範囲の名前に、SECONDARY_RANGE を CIDR 表記のセカンダリ範囲に置き換えます。ネットワークごとの上限は、各サブネットに定義できるセカンダリ範囲の最大数を表します。--enable-flow-logs
: 作成時にサブネットの VPC フローログを有効にします。--enable-private-ip-google-access
: 作成時にサブネットの限定公開の Google アクセスを有効にします。--purpose
: 内部 HTTP(S) 負荷分散用のプロキシ専用サブネットを作成できます。--role
: 内部 HTTP(S) 負荷分散の場合のみ、プロキシ専用サブネット用に、アクティブまたはバックアップの役割を指定できます。
API
特定の VPC ネットワークにサブネットを作成します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "ipCidrRange": "IP_RANGE", "network": "NETWORK_URL", "name": "SUBNET" }
プレースホルダを有効な値に置き換えます。
- PROJECT_ID は、変更する VPC ネットワークを含むプロジェクトの ID です。
- REGION は、サブネットが追加されている Google Cloud リージョンの名前です。
- IP_RANGE は、サブネットのプライマリ IP アドレス範囲です。詳細については、サブネットの範囲をご覧ください。
- NETWORK_URL は、サブネットを追加する VPC ネットワークの URL です。
- SUBNET はサブネットの名前です。
詳細については、subnetworks.insert
メソッドをご覧ください。
Terraform
Terraform モジュールを使用して、カスタムモードの VPC ネットワークとサブネットを作成できます。
MTU は、ネットワークの最大伝送単位です。デフォルトの 1460
設定を維持することも、1500
で置き換えることもできます。MTU を 1500
に設定する前に、概要の MTU 情報を確認してください。
サブネットの削除
手動で作成したサブネットを削除するには、次の手順を使用します。サブネットを削除する前に、そのサブネットを使用しているすべてのリソースを削除する必要があります。たとえば、サブネットを使用している VM を削除しなければならず、ほかにも予約済み内部 IP アドレス、内部転送ルール、Cloud NAT ゲートウェイを削除する必要があります。
Console
- Google Cloud Console で [VPC ネットワーク] ページに移動します。
[VPC ネットワーク] ページに移動
プロジェクト内のすべてのネットワークとサブネットは階層的に表示され、サブネットはネットワーク内のエントリとして表示されます。 - 特定のネットワークのサブネットに絞り込むため、ネットワークの名前をクリックします。[VPC ネットワークの詳細] ページで、[サブネット] タブのサブネット名をクリックして [サブネットの詳細] ページを表示します。
- [サブネットを削除] をクリックします。
- 表示されたメッセージで、[削除] をクリックして確定します。
gcloud
次の gcloud
コマンドを使用して、サブネットを削除します。
gcloud compute networks subnets delete SUBNET \ --region=REGION
プレースホルダを有効な値に置き換えます。
- SUBNET は、削除するサブネットの名前です。
- REGION は、サブネットが存在するリージョンです。
API
特定の VPC ネットワーク内のサブネットを削除します。
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET
プレースホルダを有効な値に置き換えます。
- PROJECT_ID は、削除するサブネットを含むプロジェクトの ID です。
- REGION は、記述するサブネットを含む Google Cloud リージョンの名前です。
- SUBNET は、削除するサブネットの名前です。
詳細については、subnetworks.delete
メソッドをご覧ください。
プライマリ IP 範囲の拡張
サブネット マスクを変更し、プレフィックスの長さをより小さな数に設定することで、既存のサブネットのプライマリ IP 範囲を拡張できます。予定しているサブネットの新しいプライマリ IP 範囲は、サブネット ルールに従う必要があります。
自動モード ネットワーク(または、以前は自動モード ネットワークだったカスタムモード ネットワーク)で自動的に作成されたサブネットの IP 範囲を拡張する場合、使用できる最も広いプレフィックス(サブネット マスク)は /16
です。プレフィックスが /16
よりも広いと、自動的に作成された他のサブネットのプライマリ IP 範囲と競合します。
Console
- Google Cloud Console で [VPC ネットワーク] ページに移動します。
[VPC ネットワーク] ページに移動
プロジェクト内のすべてのネットワークとサブネットは階層的に表示され、サブネットはネットワーク内のエントリとして表示されます。 - 特定のネットワークのサブネットに絞り込むため、ネットワークの名前をクリックします。[VPC ネットワークの詳細] ページで、[サブネット] タブのサブネット名をクリックして [サブネットの詳細] ページを表示します。
- [編集] をクリックします。
[IP アドレス範囲] フィールドに、新しい、より広い CIDR ブロックを入力します。
有効な範囲については、サブネットの範囲をご覧ください。
[保存] をクリックします。
gcloud
次の gcloud
コマンドを使用して、サブネットのプライマリ IP 範囲を拡張します。
gcloud compute networks subnets expand-ip-range SUBNET \ --region=REGION \ --prefix-length=PREFIX_LENGTH
プレースホルダを有効な値に置き換えます。
- SUBNET はサブネット名です。
- REGION は、サブネットが配置されているリージョンです。
- PREFIX_LENGTH は、サブネット マスクサイズ(ビット単位)です。プライマリ IP 範囲が
10.1.2.0/24
の場合、20
を指定するとサブネット マスクを 20 ビットに減らせます。これにより、プライマリ IP 範囲は10.1.2.0/20
に変更されます。有効な範囲については、サブネットの範囲をご覧ください。
API
既存のサブネットのプライマリ IP アドレス範囲を拡張します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET/expandIpCidrRange { "ipCidrRange": "IP_RANGE" }
プレースホルダを有効な値に置き換えます。
- PROJECT_ID は、変更するサブネットを含むプロジェクトの ID です。
- REGION は、変更するサブネットを含む Google Cloud リージョンの名前です。
- SUBNET は、変更するサブネットの名前です。
- IP_RANGE は、サブネットの展開された IP アドレス範囲です。有効な範囲については、サブネットの範囲をご覧ください。
詳細については、subnetworks.expandIpCidrRange
メソッドをご覧ください。
セカンダリ範囲の編集
サブネットにセカンダリ IP 範囲を追加できます。また、IP アドレスを使用しているリソースがない場合に限り、セカンダリ範囲を削除できます。
gcloud
次の gcloud
コマンドを使用して、サブネットに新しいセカンダリ IP 範囲を追加します。
gcloud compute networks subnets update SUBNET \ --region=REGION \ --add-secondary-ranges=SECONDARY_RANGE_NAME=SECONDARY_RANGE
プレースホルダを有効な値に置き換えます。
- SUBNET はサブネット名です。
- REGION は、サブネットが配置されているリージョンです。
- SECONDARY_RANGE_NAME は、セカンダリ範囲の名前です。
- SECONDARY_RANGE は、CIDR 表記のセカンダリ IP 範囲です。有効な範囲については、サブネットの範囲をご覧ください。
次の gcloud
コマンドを使用して、サブネットからセカンダリ IP 範囲を削除します。
gcloud compute networks subnets update SUBNET \ --region=REGION \ --remove-secondary-ranges=SECONDARY_RANGE_NAME
プレースホルダを有効な値に置き換えます。
- SUBNET はサブネット名です。
- REGION は、サブネットが配置されているリージョンです。
- SECONDARY_RANGE_NAME は、削除するセカンダリ範囲の名前です。
API
既存のサブネットのセカンダリ IP アドレス範囲を変更します。
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET { "secondaryIpRanges": [ { "rangeName": "SECONDARY_RANGE_NAME", "ipCidrRange": "IP_RANGE" }, { "rangeName": "SECONDARY_RANGE_NAME", "ipCidrRange": "IP_RANGE" }], "fingerprint": "SUBNETWORK_FINGERPRINT" }
プレースホルダを有効な値に置き換えます。
- PROJECT_ID は、変更するサブネットを含むプロジェクトの ID です。
- REGION は、変更するサブネットを含む Google Cloud リージョンの名前です。
- SUBNET は、変更するサブネットの名前です。
- SECONDARY_RANGE_NAME はセカンダリ IP アドレス範囲の名前です。
- IP_RANGE は、サブネットの展開された IP アドレス範囲です。有効な範囲については、サブネットの範囲をご覧ください。
- SUBNET_FINGERPRINT は、既存のサブネットのフィンガー プリント ID です。サブネットを記述するときに指定します。
詳細については、subnetworks.patch
メソッドをご覧ください。
ネットワークの変更
カスタムモードへの変換
この手順を使用すると、自動モード ネットワークをカスタムモード ネットワークに変換できます。変換を実施したほうがいいと考えられる場合の詳細については、自動モード ネットワークに関する考慮事項をご覧ください。
自動モード ネットワークをカスタムモード ネットワークに変換しても、自動的に作成されたサブネットと追加したサブネットはすべて保持されます。サブネット名と IP 範囲は変更されません。
自動モードのネットワークをカスタムモードに変更した後で、ネットワークが自動モードだったときに自動作成されたサブネットを暗黙的に参照するすべての API 呼び出しと gcloud
コマンドを確認する必要があります。API 呼び出しとコマンドは、サブネットを明示的に参照するように変更する必要があります。gcloud
コマンドにサブネット指定フラグ(--subnet
)がある場合は、カスタムモードのネットワークのサブネットを参照する際に、このフラグが必要です。
Console
- Google Cloud Console で [VPC ネットワーク] ページに移動します。
[VPC ネットワーク] ページに移動 - VPC ネットワークの名前をクリックして、[VPC ネットワークの詳細] ページを表示します。
- [編集] をクリックします。
- [サブネット作成モード] で [カスタム] を選択します。
- [保存] をクリックします。
gcloud
次のコマンドを使用して、自動モード ネットワークをカスタムモード ネットワークに変換します。NETWORK は、ネットワークの名前に置き換えます。
gcloud compute networks update NETWORK \ --switch-to-custom-subnet-mode
API
既存の自動モードのネットワークをカスタムモードのネットワークに変換します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK/switchToCustomMode
プレースホルダを有効な値に置き換えます。
- PROJECT_ID は、変換する VPC ネットワークを含むプロジェクトの ID です。
- NETWORK は、変換する VPC ネットワークの名前です。
詳細については、networks.switchToCustomMode
メソッドをご覧ください。
動的ルーティング モードの変更
各 VPC ネットワークには関連付けられた動的ルーティング モードがあり、これによってネットワーク内の Cloud Router の動作が制御されます。Cloud Router によるルートの共有と学習したルートの適用に対し、各モードがどのように影響するかの詳細については、VPC ネットワークの概要ページの動的ルーティング モード セクションをご覧ください。
Console
- Google Cloud Console で [VPC ネットワーク] ページに移動します。
[VPC ネットワーク] ページに移動 - VPC ネットワークの名前をクリックして、[VPC ネットワークの詳細] ページを表示します。
- [編集] をクリックします。
- [動的ルーティング モード] セクションで、[グローバル] または [リージョン] を選択します。
- [保存] をクリックします。
gcloud
次の gcloud
コマンドを使用して、VPC ネットワークの動的ルーティング モードを変更します。
gcloud compute networks update NETWORK \ --bgp-routing-mode=DYNAMIC_ROUTING_MODE
プレースホルダを有効な値に置き換えます。
- NETWORK は、動的ルーティング モードを変更する必要がある VPC ネットワークの名前です。
- DYNAMIC_ROUTING_MODE は、
global
またはregional
のいずれかです。これは、ネットワーク内のすべての Cloud Router の目的の動作に応じて変わります。
API
既存の VPC ネットワークの動的ルーティング モードを変更します。
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK { "routingConfig": { "routingMode": "ROUTING_MODE" } }
プレースホルダを有効な値に置き換えます。
- PROJECT_ID は、変更する VPC ネットワークを含むプロジェクトの ID です。
- NETWORK は、変更する VPC ネットワークの名前です。
- ROUTING_MODE は
GLOBAL
かREGIONAL
のどちらかです。
詳細については、subnetworks.patch
メソッドをご覧ください。
ネットワークの MTU の変更
各 VPC ネットワークには MTU があります。VM の実行中はネットワーク MTU を変更しないでください。変更すると、VM の MTU が異なるため、ネットワーク接続が不安定になる場合があります。
ネットワーク MTU の変更に関する詳しい考慮事項については、最大送信単位をご覧ください。
ネットワーク MTU を更新するには、実行中の VM インスタンスをすべて停止し、ネットワーク MTU を変更してから、すべてのインスタンスを起動することをおすすめします。Google が提供する Linux イメージに基づいた VM は、起動時に各 VPC ネットワーク MTU を使用するように各ネットワーク インターフェースを自動的に構成します。ネットワーク MTU の構成向けに DHCP に依存しないカスタム イメージに基づいて、Windows VM と VM の MTU を手動で更新する必要があります。
Windows VM のインターフェースの MTU を更新するには、各インスタンス内で次のコマンドを実行します。
netsh interface ipv4 set subinterface NAME mtu=1500 store=persistent
Console
ネットワーク MTU の更新は Cloud Console でサポートされていません。gcloud
コマンドライン ツールまたは API の手順をご覧ください。
gcloud
すべての VM を停止する
ネットワーク内の各ゾーンで、そのゾーン内のすべての VM を停止します。
gcloud compute instances stop INSTANCE_NAMES... \ --zone=ZONE
ネットワーク MTU を更新する
gcloud compute networks update NETWORK \ --mtu=MTU
VM を再起動する
ネットワーク内の各ゾーンで、そのゾーンのすべての VM を起動します。
gcloud compute instances start INSTANCE_NAMES... \ --zone=ZONE
プレースホルダを有効な値に置き換えます。
- INSTANCE_NAMES... は、インスタンスのスペース区切りリストです。
- NETWORK は、動的ルーティング モードを変更する必要がある VPC ネットワークの名前です。
- MTU は、ネットワークの最大伝送単位です。MTU は、
1460
(デフォルト)または1500
のいずれかです。MTU を1500
に設定する前に、コンセプト ガイドの MTU 情報を確認してください。
API
既存の VPC ネットワークの MTU を変更します。
PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK { "mtu": MTU }
プレースホルダを有効な値に置き換えます。
- PROJECT_ID は、変更する VPC ネットワークを含むプロジェクトの ID です。
- NETWORK は、変更する VPC ネットワークの名前です。
- MTU は、ネットワークの最大伝送単位です。MTU は、
1460
(デフォルト)または1500
のいずれかです。MTU を1500
に設定する前に、コンセプト ガイドの MTU 情報を確認してください。
詳細については、subnetworks.patch
メソッドをご覧ください。
ネットワーク内のすべての VM を同時に停止したくない場合は、異なる MTU を持つ新しいネットワークにインスタンスを 1 つずつ移行します。VM を新しいネットワークに移行することで、VPC 全体の構成変更を回避できます。
- 新しい MTU で新しいネットワークを作成します。
- ネットワーク間の VM の移行のガイダンスと手順で VM を 1 つずつ移行します。
ネットワークの削除
ネットワークが使用されていない場合は削除できます。ネットワークを削除する前に、すべてのサブネット内のすべてのリソースと、ネットワークを参照しているすべてのリソースを削除する必要があります。ネットワークを参照するリソースには、Cloud VPN ゲートウェイ、Cloud Router、サーバーレス VPC アクセス コネクタとそれらに接続されたサービス、ファイアウォール ルール、カスタム静的ルートが含まれます。
コンソール
- Google Cloud Console で [VPC ネットワーク] ページに移動します。
[VPC ネットワーク] ページに移動 - VPC ネットワークの名前をクリックして、[VPC ネットワークの詳細] ページを表示します。
- [VPC ネットワークを削除] をクリックします。
- 表示されたメッセージで、[削除] をクリックして確定します。
gcloud
次の gcloud
コマンドを使用してネットワークを削除します。NETWORK は、削除するネットワークの名前に置き換えます。
gcloud compute networks delete NETWORK
API
プロジェクトから VPC ネットワークを削除します。
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK
プレースホルダを有効な値に置き換えます。
- PROJECT_ID は、削除する VPC ネットワークを含むプロジェクトの ID です。
- NETWORK は、削除する VPC ネットワークの名前です。
詳細については、subnetworks.delete
メソッドをご覧ください。
VPC ネットワークのモニタリング
VM との間のネットワーク フローのロギングを有効にできます。手順については、VPC フローログの使用をご覧ください。
ファイアウォール ルールのロギングを有効にすると、どのルールがどのトラフィックを許可またはブロックしているかを確認できます。詳しくは、ファイアウォール ルール ロギングの使用をご覧ください。
VM の移行
特定のプロジェクト内で、仮想マシン(VM)インスタンスをあるネットワークから別のネットワークに移行できます。手順については、ネットワーク間の VM の移行をご覧ください。
次のステップ
- ルートの概要でルートの詳細を確認する。
- ファイアウォール ルールの概要でファイアウォール ルールの詳細を確認する。
- VPC の高度なコンセプトで VPC ネットワークの詳細を確認する。
使ってみる
Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの VPC のパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
VPC 無料トライアル