VPC ネットワークの使用

このページでは、Virtual Private Cloud(VPC)ネットワークの作成、変更、削除を行う方法について説明します。VPC ネットワークには、自動モードとカスタムモードの 2 種類のネットワークがあります。詳細については、VPC ネットワークの種類をご覧ください。

仕様

  • 1 つのプロジェクトに作成できるネットワークは 5 個までです。追加をリクエストできます。
  • default VPC ネットワークは割り当て量の対象になりますが、必要であれば、ネットワークを削除し、別の VPC ネットワークを作成できます。
  • VPC ネットワークとサブネットの命名には制限があります。
    • 各 VPC ネットワーク名は、プロジェクト内で一意である必要があります。
    • サブネットは、親の VPC ネットワークと同じ名前を持つことができます。
    • 親の VPC ネットワークに関係なく、リージョン内に特定の名前のサブネットは 1 つのみ存在できます。
    • VPC ネットワークは、別の VPC ネットワーク内のサブネットと同じ名前を持つことはできません。たとえば、「alpha」という VPC ネットワークは同じく「alpha」という 1 つのサブネットをリージョンごとに持つことができ、「beta」という VPC ネットワークは「beta」という 1 つのサブネットをリージョンごとに持つことができます。しかし、VPC ネットワーク「alpha」は「beta」というサブネットを持つことはできません。その名前のネットワークが存在するためです。

自動モードの VPC ネットワークを新規に作成する

自動モードの VPC ネットワークの場合、VPC ネットワークの各リージョンに、自動的に作成されるサブネットが 1 つ存在します。各サブネットの IP 範囲については、自動モード VPC ネットワークの IP 範囲をご覧ください。

自動モードの VPC ネットワークを作成すると、GCP はサブネットを作成し、ユーザー入力なしでデフォルトの IP 範囲を割り当てます。

この例では、自動モードの VPC ネットワークを auto-network1 という名前で作成します。

Console

  1. Google Cloud Platform Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動
  2. [VPC ネットワークを作成] をクリックします。
  3. [名前] に「auto-network1」と入力します。
  4. [サブネット] で、[自動] をクリックします。
  5. この VPC ネットワークに適用する事前定義のファイアウォール ルールの横にあるチェックボックスをオンにします。ネットワークの作成後に、独自のファイアウォール ルールを作成することもできます。
  6. (オプション)Cloud Router を使用してオンプレミス ネットワークをこの VPC ネットワークに拡張する場合は、[ダイナミック ルーティング モード] セクションで、ルーティング モードを選択します。ルーティング モードによって、Cloud Router が学習済みのルートをアドバタイズおよび伝播するのが、ルーターが構成されているリージョン内のサブネット([リージョン])か VPC ネットワーク内のすべてのサブネット([グローバル])かが決まります。
  7. [作成] をクリックします。

gcloud

gcloud compute networks create auto-network1 \
    --subnet-mode auto

VPC ネットワークのルーティング モードを指定するには:

gcloud beta compute networks create auto-network1 \
    --subnet-mode auto \
    [--bgp-routing-mode [ROUTING-MODE]]

--bgp-routing-mode によって、Cloud Router がアドバタイズするのが、ルーターが構成されているリージョンからのルートのみか VPC ネットワーク内のすべてのルートかが決まります。regional または global を指定します。デフォルトは regional です。

この時点で、インターネットと各インスタンスへのルートが VPC ネットワークに設定されています。ただし、VCP ネットワークには、インスタンスへのアクセスを許可するファイアウォール ルールは存在せず、他のインスタンスからであってもアクセスは許可されません。そのため、アクセスを許可するファイアウォール ルールを作成する必要があります。

カスタム サブネットを使用して新しい VPC ネットワークを作成する

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

アドレス空間 10.128.0.0/9 は、新しい GCP リージョンの拡張用に予約されています。次のいずれかに該当する場合は、この範囲内にカスタム サブネットまたは静的ルートを作成しないでください。

  • VPC は自動モード VPC ネットワークです。
  • あるポイントで VPC を別の VPC ネットワークとピアリングできます。

この例では、3 つのリージョンそれぞれに 1 つのサブネットを作成します。

Console

  1. Google Cloud Platform Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動
  2. [VPC ネットワークを作成] をクリックします。
  3. [名前] に「custom-network1」と入力します。
  4. [サブネット] で、名前として「subnet-us-central-192」を入力します。
  5. [リージョン] で us-central を選択します。
  6. [IP アドレス範囲] に「192.168.1.0/24」と入力します。
  7. [サブネットを追加] をクリックします。
  8. subnet-europe-west-192 の名前を入力します。
  9. [リージョン] で europe-west1 を選択します。
  10. [IP アドレス範囲] に「192.168.5.0/24」と入力します。
  11. [サブネットを追加] をクリックします。
  12. subnet-asia-east-192 の名前を入力します。
  13. [リージョン] で asia-east1 を選択します。
  14. [IP アドレス範囲] に「192.168.7.0/24」と入力します。
  15. (オプション)Cloud Router を使用してオンプレミス ネットワークをこの VPC ネットワークに拡張する場合は、[ダイナミック ルーティング モード] セクションで、ルーティング モードを選択します。ルーティング モードによって、Cloud Router が学習済みのルートをアドバタイズおよび伝播するのが、ルーターが構成されているリージョン内のサブネット([リージョン])か VPC ネットワーク内のすべてのサブネット([グローバル])かが決まります。
  16. [作成] をクリックします。

gcloud

  1. プロジェクトで、新しいカスタム サブネット ネットワークを作成します。

    gcloud compute networks create custom-network1 \
        --subnet-mode custom

    VPC ネットワークのルーティング モードを指定するには:

    gcloud beta compute networks create auto-network1 \
        --subnet-mode auto \
        [--bgp-routing-mode [ROUTING-MODE]]

    --bgp-routing-mode フラグによって、Cloud Router がアドバタイズするのが、ルーターが構成されているリージョン内のルートか VPC ネットワーク内のすべてのルートかが決まります。regional または global を指定します。デフォルトは regional です。

    NAME            MODE   IPV4_RANGE GATEWAY_IPV4
    custom-network1 custom

  2. 最初のリージョンに対応するサブネット接頭辞を指定します。この例では、リージョン us-central1192.168.1.0/24 を割り当てています。

    gcloud compute networks subnets create subnet-us-central-192 \
       --network custom-network1 \
       --region us-central1 \
       --range 192.168.1.0/24

    NAME                  REGION      NETWORK         RANGE
    subnet-us-central-192 us-central1 custom-network1 192.168.1.0/24

  3. 2 番目のリージョンに対応するサブネット接頭辞を指定します。この例では、リージョン europe-west1192.168.5.0/24 を割り当てています。

    gcloud compute networks subnets create subnet-europe-west-192 \
         --network custom-network1 \
         --region europe-west1 \
         --range 192.168.5.0/24

    NAME                   REGION       NETWORK         RANGE
    subnet-europe-west-192 europe-west1 custom-network1 192.168.5.0/24

  4. 3 番目のリージョンに対応するサブネット接頭辞を指定します。この例では、リージョン asia-east1192.168.7.0/24 を割り当てています。

    gcloud compute networks subnets create subnet-asia-east-192 \
       --network custom-network1 \
       --region asia-east1 \
       --range 192.168.7.0/24

    NAME                 REGION     NETWORK         RANGE
    subnet-asia-east-192 asia-east1 custom-network1 192.168.7.0/24

  5. サブネットの一覧を表示します。前のセクションで自動モードの VPC ネットワークも作成している場合は、それらのサブネットも一覧表示されます。

    gcloud compute networks subnets list
    

    NAME                           REGION          NETWORK         RANGE
    subnet-europe-west-192         europe-west     custom-network1 192.168.5.0/24
    subnet-us-central-192          us-central1     custom-network1 192.168.1.0/24
    subnet-asia-east-192           asia-east1      custom-network1 192.168.7.0/24

この時点で、インターネットと各インスタンスへのルートが VPC ネットワークに設定されています。ただし、VCP ネットワークには、インスタンスへのアクセスを許可するファイアウォール ルールは存在せず、他のインスタンスからであってもアクセスは許可されません。そのため、アクセスを許可するファイアウォール ルールを作成する必要があります。

既存の VPC ネットワークに新しいサブネットを追加する

既存の VPC ネットワークのリージョンにサブネットを追加できます。この新しいサブネットのプライマリ IP 範囲は、現在のネットワーク、ピアリングされた VPC ネットワーク、VPN またはインターコネクト経由で接続されているオンプレミス ネットワーク内の既存のサブネットの IP 範囲と重複することはできません。

オプションで、エイリアス IP で使用するためにセカンダリ IP 範囲をサブネットに割り当てることができます。セカンダリ IP 範囲も、接続された既存のサブネットの IP 範囲と重複することはできません。

Console

  1. Google Cloud Platform Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動
  2. 詳細ページを表示するネットワークの名前を選択します。
  3. [サブネットを追加] をクリックします。
  4. 新しいサブネットの [名前] と [リージョン] を指定します。
  5. サブネットの [IP アドレス範囲] を指定します。この範囲は、現在の VPC ネットワークまたは VPC ネットワーク ピアリングや VPN を介して接続されているネットワーク内のサブネットと重複することはできません。
  6. このサブネットのセカンダリ範囲を作成する場合は、[セカンダリ IP 範囲を作成する] をクリックします。
  7. セカンダリ範囲に名前と IP 範囲を指定します。
  8. 必要に応じて、[限定公開の Google アクセス] を有効にします。
  9. [追加] をクリックします。

gcloud

gcloud compute networks subnets create [SUBNET_NAME] \
--network [NETWORK] \
--range [IP_RANGE] \
[--secondary-range [RANGE_NAME]=[2ND_IP_RANGE]

ここで、

  • [SUBNET_NAME] は、作成する新しいサブネットの名前です。
  • [NETWORK] は、新しいサブネットを作成する既存のネットワークの名前です。
  • [IP_RANGE] は、サブネットのプライマリ IP 範囲です。例: 192.168.0.0/20
  • [2ND_RANGE_NAME] は、オプションで作成できるセカンダリ IP 範囲の名前です。
  • [2ND_IP_RANGE] は、オプションで作成できるセカンダリ IP 範囲の範囲です。例: 172.16.0.0/16

VPC ネットワークを変更する

VPC ネットワークを自動からカスタムに切り替える

自動モードの VPC ネットワークdefault VPC ネットワークを含む)をカスタムモードの VPC ネットワークに変更できます。自動モードからカスタムモードへの切り替えは、一方向の変換プロセスです。それぞれのネットワーク モードの使用例は、自動モードのネットワークに関する考慮事項をご覧ください。

カスタムモードに変更した VPC ネットワークでは、元の自動モードの VPC ネットワークの IP 範囲とサブネット名は変更されません。

Console

  1. Google Cloud Platform Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動
  2. [モード] 列で [自動] をクリックし、メニューを開きます。
  3. メニューから [カスタム] を選択します。
  4. 確認のため、[OK] をクリックします。

gcloud

gcloud compute networks switch-mode [NETWORK_NAME] --subnet-mode custom

サブネットを拡張する

サブネットの IP 範囲を拡張できます。縮小はできません。

制限事項:

  • リージョンに関係なく、新しいサブネットは同じ VPC ネットワーク内の他のサブネットと重ならないようにしてください。
  • 新しいサブネットは、RFC1918 アドレス空間内に存在する必要があります。
  • 新しいネットワーク範囲は元の範囲より大きくする必要があります。つまり、接頭辞長の数字は小さくなります。
  • 自動モードのサブネットは、/20 IP 範囲で始まります。これは /16 まで拡張できますが、それ以上はできません。

Console

  1. Google Cloud Platform Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動
  2. 拡張するサブネットを含むネットワークをクリックします。
  3. 拡張するサブネットをクリックします。
  4. [編集] をクリックします。
  5. [IP アドレス範囲] フィールドに新しい範囲を入力します。有効なアドレス範囲を指定する必要があります。たとえば、元の IP 範囲が 10.128.131.0/24 で、この範囲を /20 に拡張する場合には、10.128.128.0/20 と入力します。
  6. [保存] をクリックします。

gcloud

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

  • [SUBNET_NAME] - IP 範囲を拡張するサブネットの名前。サブネットとリージョンによってネットワークが識別されるため、ネットワークを指定する必要はありません。
  • [REGION] - サブネットが存在するリージョン。
  • [PREFIX_LENGTH] - サブネットの新しい接頭辞長(数値)。既存の接頭辞長よりも小さくする必要があります。たとえば、現在のサブネットが /24 の場合、新しい接頭辞長は 23 以下にする必要があります。これにより、範囲内の最初の IP が変わる場合があります。たとえば、元の IP 範囲が 10.128.131.0/24 の場合、--prefix-length 20 を指定すると、新しい IP 範囲が 10.128.128.0/20 と設定されます。

既存のサブネットの一覧を表示する

プロジェクトに存在するすべてのサブネットを確認できます。

Console

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

gcloud

gcloud compute networks subnets list

一覧表示される内容は、次のパラメータを追加することで変更できます。

  • --regions [REGION],[REGION,...]] 一覧表示されるサブネットを特定のリージョンに限定します。
  • --network [NETWORK] 一覧表示されるサブネットを特定のネットワーク内のものだけに限定します。

既存のサブネットの詳細を確認する

既存のサブネットの詳細を確認できます。

Console

  1. Google Cloud Platform Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動
  2. サブネットを含む VPC ネットワークの名前をクリックします。
  3. サブネットの名前をクリックします。

gcloud

gcloud compute networks subnets describe subnet-asia-east-192 \
    --region asia-east1

サブネットまたは VPC ネットワークを削除する

プロジェクト内の任意のサブネットワークを削除できます。また、VPC ネットワーク全体を削除することもできます。

サブネットを削除する

削除できるのは、手動で作成したサブネットだけです。自動的に作成されたサブネットは個別に削除できません。削除するには、VPC ネットワーク全体を削除する必要があります。

Console

  1. Google Cloud Platform Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動
  2. サブネットを含む VPC ネットワークの名前をクリックします。
  3. サブネットの名前をクリックします。
  4. [サブネットを削除] をクリックします。
  5. [削除] をクリックして確定します。

gcloud

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

VPC ネットワークを削除する

自動モードの VPC ネットワークの場合、以下の両方の条件を満たしている場合に限り、ネットワーク全体を明示的に削除する必要があります。

  • VPC ネットワークの子サブネットが他のリソースで使用されていない。
  • VPC ネットワークが他のリソースで使用されていない。

Console

  1. Google Cloud Platform Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動
  2. VPC ネットワークの名前をクリックします。
  3. [VPC ネットワークを削除] をクリックします。
  4. [削除] をクリックして確定します。

gcloud

gcloud compute networks delete [NETWORK_NAME]

次のステップ

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