VPC ネットワークの使用

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

ネットワークの作成

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

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

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

Console

  1. Google Cloud Platform Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動
  2. [VPC ネットワークを作成] をクリックします。
  3. ネットワークの名前を入力します。
  4. [サブネット作成モード] で [自動] を選択します。
  5. [ファイアウォール ルール] セクションで、VM への接続に関する一般的なユースケースに対処する、1 つ以上の事前定義されたファイアウォール ルールを選択します。使用しない場合、ルールは選択しません。ネットワークを作成した後で、独自のファイアウォール ルールを作成できます。
  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 の動作を制御します。詳細については、動的ルーティング モードをご覧ください。

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

カスタムモードの VPC ネットワーク内に作成されたサブネットを制御します。ネットワークの作成時にサブネットを作成することも、後でサブネットを追加することもできます。

Console

  1. Google Cloud Platform Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動
  2. [VPC ネットワークを作成] をクリックします。
  3. ネットワークの名前を入力します。
  4. [サブネット作成モード] で [カスタム] を選択します。
  5. [新しいサブネット] セクションで、サブネットに次の構成パラメータを指定します。
    1. サブネットの名前を入力します。
    2. リージョンを選択します。
    3. IP アドレス範囲を入力します。これはサブネットのプライマリ IP 範囲です。
    4. サブネットのセカンダリ範囲を定義するため、[セカンダリ IP 範囲を作成する] をクリックします。
    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 の動作を制御します。詳細については、動的ルーティング モードをご覧ください。

ネットワークの表示

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

Console

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

    Console で 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]
    

サブネットの操作

サブネットを作成または編集するときは、次のルールに従う必要があります。

  • VPC ネットワークのメンバーでない限り、プロジェクト内でサブネットに VPC ネットワークと同じ名前を付けることはできません。プロジェクト内で、同じリージョンのサブネットには一意の名前を付ける必要があります。たとえば production という名前のネットワークは、各サブネットが一意のリージョンにある限り、production という名前の複数のサブネットを持つことができます。

  • サブネットの名前やリージョンは、サブネットの作成後に変更できません。ただし、リソースによって使用されていない限り、サブネットを削除して置き換えることは可能です。

  • 各サブネットには、プライマリ範囲と、任意で最大 5 つのエイリアス IP 用セカンダリ範囲が必要です。プライマリとセカンダリの IP 範囲は、RFC 1918 アドレスでなければなりません。

    • VPC ネットワーク内で、プライマリとセカンダリの IP 範囲はすべて一意でなければなりませんが、連続している必要はありません。たとえば、サブネットのプライマリ範囲を 10.0.0.0/24 とし、同じネットワーク内の別のサブネットのプライマリ範囲を 192.168.0.0/16 とすることができます。

    • サブネットのプライマリ IP 範囲は、サブネットの作成後に拡張できますが、置き換えたり縮小したりすることはできません。

    • サブネットのセカンダリ IP アドレス範囲を削除して置き換えることができるのは、その範囲を使用しているインスタンスがない場合に限られます。

    • プライマリ範囲やセカンダリ範囲の最少サイズは、IP アドレス 8 つです。つまり、使用できる最長のサブネット マスクは /29 です。

  • サブネットのプライマリ範囲とセカンダリ範囲は、割り当てられている範囲、同じネットワーク内の別のサブネットのプライマリ範囲やセカンダリ範囲、ピアリングされたネットワーク内のサブネットの IP 範囲と、重複できません

  • GCP は、プライマリとセカンダリの両方の 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 Platform 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 \
       --region=[REGION]
    

サブネットの説明

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

Console

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

gcloud

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

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

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

サブネットの追加

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

Console

  1. Google Cloud Platform Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動
  2. VPC ネットワークの名前をクリックして、[VPC ネットワークの詳細] ページを表示します。
  3. [サブネットを追加] をクリックします。表示されるパネルで、次の手順を実施します。
    1. 名前を入力します。
    2. リージョンを選択します。
    3. IP アドレス範囲を入力します。これはサブネットのプライマリ IP 範囲です。
    4. サブネットのセカンダリ範囲を定義するため、[セカンダリ IP 範囲を作成する] をクリックします。
    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] は、新しいサブネットが作成される GCP リージョンです。

次のオプションのフラグを使用すると、前のコマンドを変更できます。

  • --secondary-range=[SECONDARY_RANGE]: [SECONDARY_RANGE] は CIDR 表記のセカンダリ範囲に置き換えます。最大 5 つのセカンダリ範囲を追加できます。
  • --enable-flow-logs: 作成時にサブネットの VPC フローログを有効にします。
  • --enable-private-ip-google-access: 作成時にサブネットの限定公開の Google アクセスを有効にします。

サブネットの削除

手動で作成したサブネットを削除するには、次の手順を使用します。サブネットを削除する前に、そのサブネットを使用している VM、予約済み内部 IP アドレス、内部転送ルールを削除する必要があります。

Console

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

gcloud

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

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

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

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

プライマリ IP 範囲の拡張

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

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

Console

  1. Google Cloud Platform 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 に変更されます。

セカンダリ範囲の編集

サブネットに最大 5 つのセカンダリ 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] は、削除するセカンダリ範囲の名前です。

ネットワークの変更

カスタムモードへの変換

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

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

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

Console

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

gcloud

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

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

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

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

Console

  1. Google Cloud Platform 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 の目的の動作に応じて変わります。

ネットワークの削除

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

Console

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

gcloud

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

gcloud compute networks delete [NETWORK_NAME]

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

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

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

次のステップ

このページは役立ちましたか?評価をお願いいたします。