VPC ネットワークの使用

このページでは、VPC ネットワークを作成、変更、削除する方法について説明します。このページは、VPC ネットワークの概要で説明している VPC ネットワークの特性についてよく理解していることを前提としています。Google Cloud では、ネットワークとサブネットは異なるリソースです。

ネットワークの作成

自動モード VPC ネットワークを作成するか、カスタムモード VPC ネットワークを作成するかを選択できます。新しく作成した各ネットワークには、同じプロジェクト内で一意の名前を付ける必要があります。

自動モード ネットワークの作成

自動モード ネットワークでは、ネットワークを作成すると、Google Cloud リージョンごとに 1 つのサブネットが自動的に作成されます。新しいリージョンが利用可能になると、そのリージョンの新しいサブネットが自動モード ネットワークに自動的に追加されます。自動的に作成されたサブネットの IP 範囲は、所定の範囲のセットから取得されます。自動モード ネットワークはすべて、同じ IP 範囲のセットを使用します。

Console

  1. Google Cloud Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動
  2. [VPC ネットワークを作成] をクリックします。
  3. ネットワークの名前を入力します。
  4. [サブネット作成モード] で [自動] を選択します。
  5. VM への接続に関する一般的なユースケースに対処する事前定義されたファイアウォール ルールを使用する場合は、[ファイアウォール ルール] セクションで選択します(複数選択可)。事前定義されたファイアウォール ルールを使用しない場合は選択しません。ネットワークを作成した後で、独自のファイアウォール ルールを作成できます。
  6. VPC ネットワークの [動的ルーティング モード] を選択します。

    詳細については、動的ルーティング モードをご覧ください。動的ルーティング モードは後で変更できます

  7. [作成] をクリックします。

gcloud

次の gcloud コマンドを使用して、自動モード ネットワークを作成します。


gcloud compute networks create NETWORK_NAME \
    --subnet-mode=auto \
    --bgp-routing-mode=DYNAMIC_ROUTING_MODE

プレースホルダを有効な値に置き換えます。

  • NETWORK_NAME は、VPC ネットワークの名前です。
  • DYNAMIC_ROUTING_MODEは、global または regional のいずれかです。これは、ネットワーク内の Cloud Router の動作を制御します。詳細については、動的ルーティング モードをご覧ください。

API

自動モード ネットワークを作成します。

POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks
{
  "autoCreateSubnetworks": true,
  "name": "auto-network1"
}

PROJECT_ID は、VPC ネットワークが作成されたプロジェクトの ID に置き換えます。

VPC ネットワークの動的ルーティング モードを指定するには、routingConfig フィールドを使用します。

POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks
{
  "routingConfig": {
    "routingMode": "DYNAMIC_ROUTING_MODE"
  },
  "autoCreateSubnetworks": true,
  "name": "NETWORK_NAME"
}

プレースホルダを有効な値に置き換えます。

  • PROJECT_ID は、VPC ネットワークが作成されたプロジェクトの ID です。
  • NETWORK_NAME は、VPC ネットワークの名前です。
  • DYNAMIC_ROUTING_MODE は、global または regional のいずれかです。これは、ネットワーク内の Cloud Router のルート アドバタイズの動作を制御します。詳細については、動的ルーティング モードをご覧ください。

詳細については、networks.insert メソッドをご覧ください。

カスタムモード ネットワークの作成

カスタムモードの VPC ネットワークの場合、ネットワークを作成してから、リージョン内に必要なサブネットを作成します。この段階で、すべてのリージョンにサブネットを指定する必要はありません。まったく指定しなくてもかまいませんが、サブネットが定義されていないリージョンにインスタンスは作成できません。

ネットワークの作成時にサブネットを作成することも、後でサブネットを追加することもできます。

Console

  1. Google Cloud Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動
  2. [VPC ネットワークを作成] をクリックします。
  3. ネットワークの名前を入力します。
  4. [サブネット作成モード] で [カスタム] を選択します。
  5. [新しいサブネット] セクションで、サブネットに次の構成パラメータを指定します。

    1. サブネットの名前を入力します。
    2. [リージョン] を選択します。
    3. IP アドレス範囲を入力します。これはサブネットのプライマリ IP 範囲です。

      RFC 1918 アドレス以外の範囲を選択した場合は、その範囲が既存の構成と競合していないことを確認します。詳細については、サブネットの範囲をご覧ください。

    4. サブネットのセカンダリ範囲を定義するため、[セカンダリ IP 範囲を作成する] をクリックします。

      RFC 1918 アドレス以外の範囲を選択した場合は、その範囲が既存の構成と競合していないことを確認します。詳細については、サブネットの範囲をご覧ください。

    5. 限定公開の Google アクセス: サブネットの限定公開の Google アクセスを、作成時に有効にするか、後で編集して有効にするかを選択します。

    6. フローログ: サブネットの VPC フローログを、作成時に有効にするか、後で編集して有効にするかを選択します。

    7. [完了] をクリックします。

  6. さらにサブネットを追加するには、[サブネットを追加] をクリックして前の手順を繰り返します。ネットワークを作成した後で、ネットワークにさらにサブネットを追加することもできます。

  7. VPC ネットワークの [動的ルーティング モード] を選択します。

    詳細については、動的ルーティング モードをご覧ください。動的ルーティング モードは後で変更できます

  8. [作成] をクリックします。

gcloud

次の gcloud コマンドを使用して、新しいカスタムモード ネットワークを作成します。ネットワークを作成したら、サブネットの追加の説明に従ってサブネットを追加します。

gcloud compute networks create NETWORK_NAME \
    --subnet-mode=custom \
    --bgp-routing-mode=DYNAMIC_ROUTING_MODE

プレースホルダを有効な値に置き換えます。

  • NETWORK_NAME は、VPC ネットワークの名前です。
  • DYNAMIC_ROUTING_MODE は、global または regional のいずれかです。これは、ネットワーク内の Cloud Router のルート アドバタイズの動作を制御します。詳細については、動的ルーティング モードをご覧ください。

API

カスタムモードのネットワークを作成します。

POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks
{
  "autoCreateSubnetworks": false,
  "name": "NETWORK_NAME",
  "routingConfig": {
    "routingMode": "DYNAMIC_ROUTING_MODE"
  }
}

次のプレースホルダを実際の環境の値に置き換えます。

  • PROJECT_ID は、VPC ネットワークが作成されたプロジェクトの ID です。
  • NETWORK_NAME は、VPC ネットワークの名前です。
  • DYNAMIC_ROUTING_MODE は、global または regional のいずれかです。これは、ネットワーク内の Cloud Router のルート アドバタイズの動作を制御します。詳細については、動的ルーティング モードをご覧ください。

詳細については、networks.insert メソッドをご覧ください。

ファイアウォール ルールの概要

ネットワークが作成できたら、VM インスタンス間の通信など、ネットワーク内のリソース間のトラフィックを許可または拒否するファイアウォール ルールを作成します。また、ファイアウォール ルールを使用して、どのトラフィックを VPC ネットワークからインターネットへ送信するか、またはどのトラフィックをインターネットから VPC ネットワークで受信するかを制御できます。

ネットワークの表示

プロジェクト内の VPC ネットワークとレガシー ネットワークを表示します。VPC ネットワークの場合、サブネットとサブネット作成モードに関する情報を表示できます。

Console

  1. Google Cloud Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動

    コンソールで VPC ネットワークとレガシー ネットワークがすべて一覧表示されます。

  2. VPC ネットワークを選択し、ピアリング接続やサブネットなどの詳細を表示します。

gcloud

  1. 次の例に示すように、プロジェクト内のネットワークを一覧表示します。

    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
    
  2. ピアリング接続やサブネットなど、詳細を表示するネットワークを記述します。

    gcloud compute networks describe NETWORK_NAME
    

API

  1. プロジェクト内のすべてのネットワークを一覧表示します。

    GET https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks
    

    PROJECT_ID は、一覧表示する VPC ネットワークを含むプロジェクトの ID に置き換えます。

    詳細については、networks.list メソッドをご覧ください。

  2. 詳細を表示するネットワークを記述します。

    GET https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME
    

    プレースホルダを有効な値に置き換えます。

    • PROJECT_ID は VPC ネットワークを含むプロジェクトの ID です。
    • NETWORK_NAME は、記述する 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 VPNDedicated InterconnectPartner 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

  1. Google Cloud Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動
    すべての VPC ネットワークのサブネットが表示されます。
  2. ネットワークの名前をクリックしてから、[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://www.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/subnetworks

PROJECT_ID は、一覧表示するサブネットを含むプロジェクトの ID に置き換えます。

詳細については、subnetworks.aggregatedList メソッドをご覧ください。

サブネットの説明

このセクションの手順に従うと、プライマリ IP 範囲、セカンダリ IP 範囲、リージョンなど、既存のサブネットの詳細を表示できます。

Console

  1. Google Cloud Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動
    プロジェクト内のすべてのネットワークとサブネットは階層的に表示され、サブネットはネットワーク内のエントリとして表示されます。
  2. 特定のネットワークのサブネットに絞り込むため、ネットワークの名前をクリックします。[VPC ネットワークの詳細] ページで、[サブネット] タブのサブネット名をクリックして [サブネットの詳細] ページを表示します。

gcloud

  1. サブネットを一覧表示して、プロジェクト内の既存のサブネットの名前とリージョンを確認します。

  2. 次の gcloud コマンドを使用してサブネットの詳細を記述します。SUBNET_NAME はサブネットの名前に、REGION はサブネットのリージョンに置き換えます。

    gcloud compute networks subnets describe SUBNET_NAME \
    --region=REGION
    

API

  1. 特定のリージョンのサブネットを一覧表示して、サブネットの名前を確認します。

    GET https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
    

    プレースホルダを有効な値に置き換えます。

    • PROJECT_ID は、一覧表示するサブネットを含むプロジェクトの ID です。
    • REGION は、一覧表示するサブネットを含む Google Cloud リージョンの名前です。

    詳細については、subnetworks.list メソッドをご覧ください。

  2. 詳細を表示するサブネットを記述します。

    GET https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
    

    プレースホルダを有効な値に置き換えます。

    • PROJECT_ID は、記述するサブネットを含むプロジェクトの ID です。
    • REGION は、記述するサブネットを含む Google Cloud リージョンの名前です。
    • SUBNET は、記述するサブネットの名前です。

    詳細については、subnetworks.get メソッドをご覧ください。

サブネットの追加

サブネットを作成するときは、サブネット ルールに従って、名前、リージョン、少なくとも 1 つのプライマリ IP アドレス範囲を設定します。

Console

  1. Google Cloud Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動
  2. VPC ネットワークの名前をクリックして、[VPC ネットワークの詳細] ページを表示します。
  3. [サブネットを追加] をクリックします。表示されるパネルで、次の手順を実施します。

    1. 名前を入力します。
    2. [リージョン] を選択します。
    3. IP アドレス範囲を入力します。これはサブネットのプライマリ IP 範囲です。

      RFC 1918 アドレス以外の範囲を選択した場合は、その範囲が既存の構成と競合していないことを確認します。詳細については、サブネットの範囲をご覧ください。

    4. サブネットのセカンダリ範囲を定義するため、[セカンダリ IP 範囲を作成する] をクリックします。

      RFC 1918 アドレス以外の範囲を選択した場合は、その範囲が既存の構成と競合していないことを確認します。詳細については、サブネットの範囲をご覧ください。

    5. 限定公開の Google アクセス: 作成時にサブネットの限定公開の Google アクセスを有効にできます。後で編集して有効にすることもできます。

    6. フローログ: 作成時にサブネットの VPC フローログを有効にできます。後で編集して有効にすることもできます。

    7. [追加] をクリックします。

gcloud

次の gcloud コマンドを使用して、特定のネットワークに新しいサブネットを作成します。

gcloud compute networks subnets create SUBNET_NAME \
    --network=NETWORK \
    --range=PRIMARY_RANGE \
    --region=REGION

プレースホルダを有効な値に置き換えます。

  • SUBNET_NAME は、新しいサブネットの名前です。
  • 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://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
{
  "ipCidrRange": "IP_RANGE",
  "network": "NETWORK_URL",
  "name": "SUBNET_NAME"
}

プレースホルダを有効な値に置き換えます。

  • PROJECT_ID は、変更する VPC ネットワークを含むプロジェクトの ID です。
  • REGION は、サブネットが追加されている Google Cloud リージョンの名前です。
  • IP_RANGE は、サブネットのプライマリ IP アドレス範囲です。詳細については、サブネットの範囲をご覧ください。
  • NETWORK_URL は、サブネットを追加する VPC ネットワークの URL です。
  • SUBNET_NAME はサブネットの名前です。

詳細については、subnetworks.insert メソッドをご覧ください。

サブネットの削除

手動で作成したサブネットを削除するには、次の手順を使用します。サブネットを削除する前に、そのサブネットを使用しているすべてのリソースを削除する必要があります。たとえば、サブネットを使用している VM を削除しなければならず、ほかにも予約済み内部 IP アドレス、内部転送ルール、Cloud NAT ゲートウェイを削除する必要があります。

Console

  1. Google Cloud Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動
    プロジェクト内のすべてのネットワークとサブネットは階層的に表示され、サブネットはネットワーク内のエントリとして表示されます。
  2. 特定のネットワークのサブネットに絞り込むため、ネットワークの名前をクリックします。[VPC ネットワークの詳細] ページで、[サブネット] タブのサブネット名をクリックして [サブネットの詳細] ページを表示します。
  3. [サブネットを削除] をクリックします。
  4. 表示されたメッセージで、[削除] をクリックして確定します。

gcloud

次の gcloud コマンドを使用して、サブネットを削除します。

gcloud compute networks subnets delete SUBNET_NAME \
    --region=REGION

プレースホルダを有効な値に置き換えます。

  • SUBNET_NAME は、削除するサブネットの名前です。
  • REGION は、サブネットが存在するリージョンです。

API

特定の VPC ネットワーク内のサブネットを削除します。

DELETE https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME

プレースホルダを有効な値に置き換えます。

  • PROJECT_ID は、削除するサブネットを含むプロジェクトの ID です。
  • REGION は、記述するサブネットを含む Google Cloud リージョンの名前です。
  • SUBNET_NAME は、削除するサブネットの名前です。

詳細については、subnetworks.delete メソッドをご覧ください。

プライマリ IP 範囲の拡張

サブネット マスクを変更し、プレフィックスの長さをより小さな数に設定することで、既存のサブネットのプライマリ IP 範囲を拡張できます。予定しているサブネットの新しいプライマリ IP 範囲は、サブネット ルールに従う必要があります。

自動モード ネットワーク(または、以前は自動モード ネットワークだったカスタムモード ネットワーク)で自動的に作成されたサブネットの IP 範囲を拡張する場合、使用できる最も広いプレフィックス(サブネット マスク)は /16 です。プレフィックスが /16 よりも広いと、自動的に作成された他のサブネットのプライマリ IP 範囲と競合します。

Console

  1. Google Cloud Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動
    プロジェクト内のすべてのネットワークとサブネットは階層的に表示され、サブネットはネットワーク内のエントリとして表示されます。
  2. 特定のネットワークのサブネットに絞り込むため、ネットワークの名前をクリックします。[VPC ネットワークの詳細] ページで、[サブネット] タブのサブネット名をクリックして [サブネットの詳細] ページを表示します。
  3. [編集] をクリックします。
  4. [IP アドレス範囲] フィールドに、新しい、より広い CIDR ブロックを入力します。

    有効な範囲については、サブネットの範囲をご覧ください。

  5. [保存] をクリックします。

gcloud

次の gcloud コマンドを使用して、サブネットのプライマリ IP 範囲を拡張します。

gcloud compute networks subnets expand-ip-range SUBNET_NAME \
  --region=REGION \
  --prefix-length=PREFIX_LENGTH

プレースホルダを有効な値に置き換えます。

  • SUBNET_NAME はサブネット名です。
  • REGION は、サブネットが配置されているリージョンです。
  • PREFIX_LENGTH は、サブネット マスクサイズ(ビット単位)です。プライマリ IP 範囲が 10.1.2.0/24 の場合、20 を指定するとサブネット マスクを 20 ビットに減らせます。これにより、プライマリ IP 範囲は 10.1.2.0/20 に変更されます。有効な範囲については、サブネットの範囲をご覧ください。

API

既存のサブネットのプライマリ IP アドレス範囲を拡張します。

POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME/expandIpCidrRange
{
  "ipCidrRange": "IP_RANGE"
}

プレースホルダを有効な値に置き換えます。

  • PROJECT_ID は、変更するサブネットを含むプロジェクトの ID です。
  • REGION は、変更するサブネットを含む Google Cloud リージョンの名前です。
  • SUBNET_NAME は、変更するサブネットの名前です。
  • IP_RANGE は、サブネットの展開された IP アドレス範囲です。有効な範囲については、サブネットの範囲をご覧ください。

詳細については、subnetworks.expandIpCidrRange メソッドをご覧ください。

セカンダリ範囲の編集

サブネットにセカンダリ IP 範囲を追加できます。また、IP アドレスを使用しているリソースがない場合に限り、セカンダリ範囲を削除できます。

gcloud

次の gcloud コマンドを使用して、サブネットに新しいセカンダリ IP 範囲を追加します。

gcloud compute networks subnets update SUBNET_NAME \
  --region=REGION \
  --add-secondary-ranges=SECONDARY_RANGE_NAME=SECONDARY_RANGE

プレースホルダを有効な値に置き換えます。

  • SUBNET_NAME はサブネット名です。
  • REGION は、サブネットが配置されているリージョンです。
  • SECONDARY_RANGE_NAME は、セカンダリ範囲の名前です。
  • SECONDARY_RANGE は、CIDR 表記のセカンダリ IP 範囲です。 有効な範囲については、サブネットの範囲をご覧ください。

次の gcloud コマンドを使用して、サブネットからセカンダリ IP 範囲を削除します。

gcloud compute networks subnets update SUBNET_NAME \
  --region=REGION \
  --remove-secondary-ranges=SECONDARY_RANGE_NAME

プレースホルダを有効な値に置き換えます。

  • SUBNET_NAME はサブネット名です。
  • REGION は、サブネットが配置されているリージョンです。
  • SECONDARY_RANGE_NAME は、削除するセカンダリ範囲の名前です。

API

既存のサブネットのセカンダリ IP アドレス範囲を変更します。

PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
{
  "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_NAME は、変更するサブネットの名前です。
  • SECONDARY_RANGE_NAME はセカンダリ IP アドレス範囲の名前です。
  • IP_RANGE は、サブネットの展開された IP アドレス範囲です。有効な範囲については、サブネットの範囲をご覧ください。
  • SUBNET_FINGERPRINT は、既存のサブネットのフィンガー プリント ID です。サブネットを記述するときに指定します。

詳細については、subnetworks.patch メソッドをご覧ください。

ネットワークの変更

カスタムモードへの変換

この手順を使用すると、自動モード ネットワークをカスタムモード ネットワークに変換できます。変換を実施したほうがいいと考えられる場合の詳細については、自動モード ネットワークに関する考慮事項をご覧ください。

自動モード ネットワークをカスタムモード ネットワークに変換しても、自動的に作成されたサブネットと追加したサブネットはすべて保持されます。サブネット名と IP 範囲は変更されません。

自動モードのネットワークをカスタムモードに変更した後で、ネットワークが自動モードだったときに自動作成されたサブネットを暗黙的に参照するすべての API 呼び出しと gcloud コマンドを確認する必要があります。API 呼び出しとコマンドは、サブネットを明示的に参照するように変更する必要があります。gcloud コマンドにサブネット指定フラグ(--subnet)がある場合は、カスタムモードのネットワークのサブネットを参照する際に、このフラグが必要です。

Console

  1. Google Cloud Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動
  2. VPC ネットワークの名前をクリックして、[VPC ネットワークの詳細] ページを表示します。
  3. [編集] をクリックします。
  4. [サブネット作成モード] で [カスタム] を選択します。
  5. [保存] をクリックします。

gcloud

次のコマンドを使用して、自動モード ネットワークをカスタムモード ネットワークに変換します。NETWORK_NAME は、ネットワークの名前に置き換えます。

gcloud compute networks update NETWORK_NAME \
    --switch-to-custom-subnet-mode

API

既存の自動モードのネットワークをカスタムモードのネットワークに変換します。

POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME/switchToCustomMode

プレースホルダを有効な値に置き換えます。

  • PROJECT_ID は、変換する VPC ネットワークを含むプロジェクトの ID です。
  • NETWORK_NAME は、変換する VPC ネットワークの名前です。

詳細については、networks.switchToCustomMode メソッドをご覧ください。

動的ルーティング モードの変更

各 VPC ネットワークには関連付けられた動的ルーティング モードがあり、これによってネットワーク内の Cloud Router の動作が制御されます。Cloud Router によるルートの共有と学習したルートの適用に対し、各モードがどのように影響するかの詳細については、VPC ネットワークの概要ページ動的ルーティング モード セクションをご覧ください。

Console

  1. Google Cloud Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動
  2. VPC ネットワークの名前をクリックして、[VPC ネットワークの詳細] ページを表示します。
  3. [編集] をクリックします。
  4. [動的ルーティング モード] セクションで、[グローバル] または [リージョン] を選択します。
  5. [保存] をクリックします。

gcloud

次の gcloud コマンドを使用して、VPC ネットワークの動的ルーティング モードを変更します。

gcloud compute networks update NETWORK_NAME \
    --bgp-routing-mode=DYNAMIC_ROUTING_MODE

プレースホルダを有効な値に置き換えます。

  • NETWORK_NAME は、動的ルーティング モードを変更する必要がある VPC ネットワークの名前です。
  • DYNAMIC_ROUTING_MODE は、global または regional のいずれかです。これは、ネットワーク内のすべての Cloud Router の目的の動作に応じて変わります。

API

既存の VPC ネットワークの動的ルーティング モードを変更します。

PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME
{
  "routingConfig": {
    "routingMode": "ROUTING_MODE"
  }
}

プレースホルダを有効な値に置き換えます。

  • PROJECT_ID は、変更する VPC ネットワークを含むプロジェクトの ID です。
  • NETWORK_NAME は、変更する VPC ネットワークの名前です。
  • ROUTING_MODEGLOBALREGIONAL のどちらかです。

詳細については、subnetworks.patch メソッドをご覧ください。

ネットワークの削除

ネットワークが使用されていない場合は削除できます。ネットワークを削除する前に、すべてのサブネット内のすべてのリソースと、ネットワークを参照しているすべてのリソースを削除する必要があります。ネットワークを参照するリソースには、Cloud VPN ゲートウェイ、Cloud Router、ファイアウォール ルール、カスタム静的ルートがあります。

Console

  1. Google Cloud Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動
  2. VPC ネットワークの名前をクリックして、[VPC ネットワークの詳細] ページを表示します。
  3. [VPC ネットワークを削除] をクリックします。
  4. 表示されたメッセージで、[削除] をクリックして確定します。

gcloud

次の gcloud コマンドを使用してネットワークを削除します。NETWORK_NAME は、削除するネットワークの名前に置き換えます。

gcloud compute networks delete NETWORK_NAME

API

プロジェクトから VPC ネットワークを削除します。

DELETE https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME

プレースホルダを有効な値に置き換えます。

  • PROJECT_ID は、削除する VPC ネットワークを含むプロジェクトの ID です。
  • NETWORK_NAME は、削除する VPC ネットワークの名前です。

詳細については、subnetworks.delete メソッドをご覧ください。

VPC ネットワークのモニタリング

VM との間のネットワーク フローのロギングを有効にできます。手順については、VPC フローログの使用をご覧ください。

ファイアウォール ルールのロギングを有効にすると、どのルールがどのトラフィックを許可またはブロックしているかを確認できます。詳しくは、ファイアウォール ルール ロギングの使用をご覧ください。

次のステップ