VPC ネットワークの作成と管理

このドキュメントでは、Virtual Private Cloud(VPC)ネットワークとサブネットワークを作成、変更、削除する方法について説明します。このドキュメントを読む前に、VPC ネットワークで説明されている VPC ネットワークの特性についてよく理解しておいてください。 Google Cloudでは、ネットワークとサブネットは異なるリソースです。

サブネットで IPv6 範囲を有効にする場合は、IPv6 サブネットの範囲をご覧ください。

使ってみる

Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの VPC のパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。

VPC 無料トライアル

ネットワークを作成する

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

必要に応じて、特定のユースケース向けにGoogle Cloud が提供するネットワーク プロファイルを使用してネットワークを作成できます。RDMA NIC を必要とする AI Hypercomputer ワークロードを実行する場合にのみ、ネットワーク プロファイルを構成する必要があります。詳細については、RDMA ネットワーク プロファイルの概要をご覧ください。

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

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

IPv6 アドレス範囲のサブネットは、自動モードの VPC ネットワークでサポートされません。IPv6 アドレス範囲を持つサブネットを作成する場合は、カスタムモードの VPC ネットワークを作成します。

自動モードの VPC ネットワークを作成する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. [VPC ネットワークを作成] をクリックします。

  3. ネットワークの名前を入力します。

  4. 最大伝送単位(MTU): ネットワークの MTU として 1460(デフォルト)、1500、または 8896 のいずれかを選択します。MTU を 1460 より大きい値に設定する前に、最大伝送単位を確認してください。

  5. [サブネット作成モード] で [自動] を選択します。

  6. [ファイアウォール ルール] セクションで、0 個以上の事前定義されたファイアウォール ルールを選択します。このルールは、インスタンスへの接続の一般的なユースケースに対応します。

    事前定義ルールを選択するかどうかにかかわらず、ネットワークの作成後に独自のファイアウォール ルールを作成できます。

    事前定義ルールのそれぞれの名前は、作成する VPC ネットワークの名前 NETWORK で始まります。[IPv4 ファイアウォール ルール] タブで、NETWORK-allow-custom という事前定義の上り(内向き)ファイアウォール ルールを編集できます。デフォルトでは、ソース範囲 10.128.0.0/9 を指定します。ここには、自動モード ネットワークのサブネットの現在および将来の IPv4 範囲が含まれます。ルールを含む行の右側にある [編集] をクリックします。サブネットを選択して IPv4 範囲を追加し、プロトコルとポートを指定します。

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

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

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

gcloud

networks create コマンドを使用します。

gcloud compute networks create NETWORK \
    --subnet-mode=auto \
    --bgp-routing-mode=DYNAMIC_ROUTING_MODE \
    --mtu=MTU

次のように置き換えます。

  • NETWORK: VPC ネットワークの名前。
  • DYNAMIC_ROUTING_MODE: ネットワーク内の Cloud Router の動作を制御します。globalregional のいずれかになります。デフォルト値は regional です。詳細については、動的ルーティング モードをご覧ください。
  • MTU: ネットワークの最大パケットサイズである最大伝送単位(MTU)。MTU は、1300 から 8896 までの任意の値に設定できます。デフォルト値は 1460 です。MTU を 1460 より大きい値に設定する前に、最大伝送単位を確認してください。

Terraform

google_compute_network Terraform リソースを使用します。

MTU は、ネットワークの最大伝送単位または最大パケットサイズです。MTU は、1300 から 8896 までの任意の値に設定できます。デフォルト値は 1460 です。MTU を 1460 より大きい値に設定する前に、最大伝送単位を確認してください。

resource "google_compute_network" "vpc_network" {
  project                 = var.project_id # Replace this with your project ID in quotes
  name                    = "my-auto-mode-network"
  auto_create_subnetworks = true
  mtu                     = 1460
}

Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。

API

networks.insert メソッドPOST リクエストを送信します。

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)。MTU は、1300 から 8896 までの任意の値に設定できます。デフォルト値は 1460 です。MTU を 1460 より大きい値に設定する前に、最大伝送単位を確認してください。

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: ネットワーク内の Cloud Router の動作を制御します。GLOBALREGIONAL のいずれかになります。デフォルト値は REGIONAL です。詳細については、動的ルーティング モードをご覧ください。
  • MTU: ネットワークの最大パケットサイズである最大伝送単位(MTU)。MTU は、1300 から 8896 までの任意の値に設定できます。デフォルト値は 1460 です。MTU を 1460 より大きい値に設定する前に、最大伝送単位を確認してください。

IPv4 のみのサブネットを持つカスタムモードの VPC ネットワークを作成する

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

VPC ネットワーク内の各サブネットは、異なる構成を持つことができます。たとえば、すべてを IPv4 のみとして構成する必要はありません。後で IPv4 のみのサブネットをデュアルスタックに変更することもできます。

IPv4 のみのサブネットを持つカスタムモードの VPC ネットワークを作成する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. [VPC ネットワークを作成] をクリックします。

  3. ネットワークの名前を入力します。

  4. 最大伝送単位(MTU): ネットワークの MTU として 1460(デフォルト)、1500、または 8896 のいずれかを選択します。MTU を 1460 より大きい値に設定する前に、最大伝送単位を確認してください。

  5. [サブネット作成モード] で [カスタム] を選択します。

  6. [新しいサブネット] セクションで、サブネットに次の構成パラメータを指定します。

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

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

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

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

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

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

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

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

  8. [ファイアウォール ルール] セクションで、[IPv4 ファイアウォール ルール] から事前定義された 0 個以上のファイアウォール ルールを選択します。このルールは、インスタンスへの接続の一般的なユースケースに対応します。

    事前定義ルールを選択しない場合は、ネットワークの作成後に独自のファイアウォール ルールを作成できます。

    事前定義ルールのそれぞれの名前は、作成する VPC ネットワークの名前 NETWORK で始まります。[IPv4 ファイアウォール ルール] タブで、NETWORK-allow-custom という事前定義の上り(内向き)ファイアウォール ルールを編集できます。ルールを含む行の右側にある [編集] をクリックします。サブネットを選択して IPv4 範囲を追加し、プロトコルとポートを指定します。

    後でサブネットを追加しても、NETWORK-allow-custom ファイアウォール ルールは自動更新されません。新しいサブネットにファイアウォール ルールが必要な場合は、ファイアウォール構成を更新してルールを追加する必要があります。

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

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

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

gcloud

networks create コマンドを使用します。

gcloud compute networks create NETWORK \
    --subnet-mode=custom \
    --bgp-routing-mode=DYNAMIC_ROUTING_MODE \
    --mtu=MTU

次のように置き換えます。

  • NETWORK: VPC ネットワークの名前。
  • DYNAMIC_ROUTING_MODE: ネットワーク内の Cloud Router の動作を制御します。globalregional のいずれかになります。デフォルト値は regional です。詳細については、動的ルーティング モードをご覧ください。
  • MTU: ネットワークの最大パケットサイズである最大伝送単位(MTU)。MTU は、1300 から 8896 までの任意の値に設定できます。デフォルト値は 1460 です。MTU を 1460 より大きい値に設定する前に、最大伝送単位を確認してください。

次に、ネットワークにサブネットを追加します。

Terraform

google_compute_network Terraform リソースを使用します。

MTU は、ネットワークの最大伝送単位または最大パケットサイズです。MTU は、1300 から 8896 までの任意の値に設定できます。デフォルト値は 1460 です。MTU を 1460 より大きい値に設定する前に、最大伝送単位を確認してください。

resource "google_compute_network" "vpc_network" {
  project                 = var.project_id # Replace this with your project ID in quotes
  name                    = "my-custom-mode-network"
  auto_create_subnetworks = false
  mtu                     = 1460
}

次に、ネットワークにサブネットを追加します。

Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。

API

networks.insert メソッドPOST リクエストを送信します。

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: ネットワーク内の Cloud Router の動作を制御します。GLOBALREGIONAL のいずれかになります。デフォルト値は REGIONAL です。詳細については、動的ルーティング モードをご覧ください。
  • MTU: ネットワークの最大パケットサイズである最大伝送単位(MTU)。MTU は、1300 から 8896 までの任意の値に設定できます。デフォルト値は 1460 です。MTU を 1460 より大きい値に設定する前に、最大伝送単位を確認してください。

次に、ネットワークにサブネットを追加します。

デュアルスタック サブネットを持つカスタムモードの VPC ネットワークを作成する

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

デュアルスタック サブネットのプライマリ IP アドレス範囲には、次のいずれかの構成を含めることができます。

  • 内部 IPv4 範囲と内部 IPv6 範囲
  • 内部 IPv4 範囲と外部 IPv6 範囲

VPC ネットワーク内の各サブネットは、異なる構成を設定できます。たとえば、すべてをデュアルスタックとして構成する必要はありません。サブネットの IPv6 アクセスタイプが外部の場合は、後でデュアル スタック サブネットを IPv4 のみに変更することもできます。

内部 IPv6 範囲を持つサブネットを構成するには、VPC ネットワークの一意のローカル アドレス(ULA)の内部 IPv6 範囲を有効にします。内部 IPv6 サブネット範囲は、この範囲から割り振られます。

デュアル スタックのサブネットを持つカスタムモードの VPC ネットワークを作成する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. [VPC ネットワークを作成] をクリックします。

  3. ネットワークの名前を入力します。

  4. 最大伝送単位(MTU): ネットワークの MTU として 1460(デフォルト)、1500、または 8896 のいずれかを選択します。MTU を 1460 より大きい値に設定する前に、最大伝送単位を確認してください。

  5. [サブネット作成モード] で [カスタム] をクリックします。

  6. このネットワークのサブネットで内部 IPv6 アドレス範囲を構成する場合は、次の操作を行います。

    1. [プライベート IPv6 アドレスを設定] セクションで、[Configure a ULA internal IPv6 range for this VPC Network] を選択します。
    2. [内部 IPv6 範囲の割り当て] で、[自動] または [手動] を選択します。

      [手動] を選択した場合は、fd20::/20 の範囲内の /48 の範囲を入力します。範囲が使用されている場合は、別の範囲を指定するように求めるプロンプトが表示されます。

  7. [新しいサブネット] セクションで、サブネットに次の構成パラメータを指定します。

    1. サブネットの名前を入力します。
    2. リージョンを選択します。
    3. デュアルスタック サブネットを作成するには、[IP スタックタイプ] で [IPv4 と IPv6(デュアルスタック)] を選択します。
    4. [IPv4 範囲] を入力します。これはサブネットのプライマリ IPv4 範囲です。

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

    5. IPv6 アクセスタイプ外部または内部)を選択します。

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

  8. さらにサブネットを追加するには、[サブネットを追加] をクリックして前の手順を繰り返します。

    VPC ネットワーク内の各サブネットには、異なるスタックタイプと IPv6 アクセスタイプの構成を設定できます。特定のネットワーク内のすべてのサブネットをデュアル スタック サブネットとして構成する必要はありません。

    ネットワークを作成した後で、任意のスタックタイプのサブネットをネットワークに追加することもできます。

  9. [ファイアウォール ルール] セクションの [IPv4 ファイアウォール ルール] と [IPv6 ファイアウォール ルール] タブで、事前定義された 0 個以上のファイアウォール ルールを選択します。このルールは、インスタンスへの接続の一般的なユースケースに対応します。

    事前定義ルールを選択しない場合は、ネットワークの作成後に独自のファイアウォール ルールを作成できます。

    事前定義ルールのそれぞれの名前は、作成する VPC ネットワークの名前 NETWORK で始まります。[IPv4 ファイアウォール ルール] タブと [IPv6 ファイアウォール ルール] タブのどちらにも、編集可能な事前定義の上り(内向き)ファイアウォール ルールがあります。IPv4 ルールの名前は NETWORK-allow-custom、IPv6 ルールの名前は NETWORK-allow-ipv6-custom です。ルールを含む行の右側にある [編集] をクリックします。サブネットを選択して IP 範囲を追加し、プロトコルとポートを指定します。

    後でサブネットを追加しても、NETWORK-allow-customNETWORK-allow-ipv6-custom のファイアウォール ルールは自動更新されません。新しいサブネットにファイアウォール ルールが必要な場合は、ファイアウォール構成を更新してルールを追加する必要があります。

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

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

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

gcloud

networks create コマンドを使用します。ネットワークを作成したら、サブネットを追加できます。

このネットワークのサブネットで内部 IPv6 範囲を構成する場合は、--enable-ula-internal-ipv6 フラグを使用します。このオプションでは、Google が内部 IPv6 サブネット範囲に使用する fd20::/20 の範囲内の /48 ULA 接頭辞を割り当てます。割り当てられる /48 IPv6 範囲を選択する場合は、--internal-ipv6-range フラグを使用して範囲を指定します。

この VPC ネットワーク内のサブネットに外部 IPv6 のみを構成する場合は、両方のフラグを省略できます。

gcloud compute networks create NETWORK \
    --subnet-mode=custom \
    [ --enable-ula-internal-ipv6 [ --internal-ipv6-range=ULA_IPV6_RANGE ]] \
    --bgp-routing-mode=DYNAMIC_ROUTING_MODE \
    --mtu=MTU

次のように置き換えます。

  • NETWORK: VPC ネットワークの名前。

  • ULA_IPV6_RANGE: Google が内部 IPv6 サブネット範囲に使用する fd20::/20 範囲内の /48 接頭辞。--internal-ipv6-range フラグを使用しない場合は、Google によってネットワークの /48 接頭辞が選択されます。

  • DYNAMIC_ROUTING_MODE: ネットワーク内の Cloud Router の動作を制御します。globalregional のいずれかになります。デフォルト値は regional です。詳細については、動的ルーティング モードをご覧ください。

  • MTU: ネットワークの最大パケットサイズである最大伝送単位(MTU)。MTU は、1300 から 8896 までの任意の値に設定できます。デフォルト値は 1460 です。MTU を 1460 より大きい値に設定する前に、最大伝送単位を確認してください。

API

networks.insert メソッドPOST リクエストを送信します。ネットワークを作成したら、サブネットを追加できます。

このネットワークのサブネットで内部 IPv6 範囲を構成する場合は、enableUlaInternalIpv6 を true に設定します。このオプションは、Google が内部 IPv6 サブネット範囲に使用する fd20::/20 範囲内から /48 範囲を割り当てます。割り当てる /48 IPv6 範囲を選択する場合は、範囲を指定するときに internalIpv6Range フィールドも使用します。

この VPC ネットワーク内のサブネットに外部 IPv6 のみを構成する場合は、両方のフィールドを省略します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks
{
  "autoCreateSubnetworks": false,
  "name": "NETWORK",
  "mtu": MTU,
  "enableUlaInternalIpv6": true,
  "internalIpv6Range": "ULA_IPV6_RANGE",
  "routingConfig": {
    "routingMode": "DYNAMIC_ROUTING_MODE"
  }
}

次のように置き換えます。

  • PROJECT_ID: VPC ネットワークが作成されているプロジェクトの ID。
  • NETWORK: VPC ネットワークの名前。
  • MTU: ネットワークの最大パケットサイズである最大伝送単位(MTU)。MTU は、1300 から 8896 までの任意の値に設定できます。デフォルト値は 1460 です。MTU を 1460 より大きい値に設定する前に、最大伝送単位を確認してください。
  • ULA_IPV6_RANGE: Google が内部 IPv6 サブネット範囲に使用する fd20::/20 範囲内の /48 接頭辞。internalIpv6Range の値を指定しない場合、Google はネットワークの /48 接頭辞を選択します。
  • DYNAMIC_ROUTING_MODE: ネットワーク内の Cloud Router の動作を制御します。GLOBALREGIONAL のいずれかになります。デフォルト値は REGIONAL です。詳細については、動的ルーティング モードをご覧ください。

IPv6 のみのサブネットを持つカスタムモードの VPC ネットワークを作成する

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

IPv6 のみのサブネットには、内部 IPv6 範囲または外部 IPv6 範囲を設定できます。内部 IPv6 範囲を持つサブネットを構成するには、VPC ネットワーク ULA の内部 IPv6 範囲を有効にします。内部 IPv6 サブネット範囲は、この範囲から割り振られます。

VPC ネットワーク内の各サブネットは、異なる構成を持つことができます。たとえば、すべてを IPv6 のみとして構成する必要はありません。

デュアル スタックのサブネットまたは IPv4 のみのサブネットを IPv6 のみ(プレビュー)に変更することはできません。逆に、IPv6 のみのサブネットを IPv4 のみまたはデュアル スタックに変更することはできません。

IPv6 のみのサブネットを持つカスタムモードの VPC ネットワークを作成する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. [VPC ネットワークを作成] をクリックします。

  3. ネットワークの名前を入力します。

  4. 最大伝送単位(MTU): ネットワークの MTU として 1460(デフォルト)、1500、または 8896 のいずれかを選択します。MTU を 1460 より大きい値に設定する前に、最大伝送単位を確認してください。

  5. [サブネット作成モード] で [カスタム] をクリックします。

  6. このネットワークのサブネットで内部 IPv6 アドレス範囲を構成するには、次の操作を行います。

    1. [プライベート IPv6 アドレスを設定] セクションで、[Configure a ULA internal IPv6 range for this VPC Network] を選択します。
    2. [内部 IPv6 範囲の割り当て] で、[自動] または [手動] を選択します。

      [手動] を選択した場合は、fd20::/20 の範囲内の /48 の範囲を入力します。範囲が使用されている場合は、別の範囲を指定するように求めるプロンプトが表示されます。

  7. [新しいサブネット] セクションで、サブネットに次の構成パラメータを指定します。

    1. サブネットの名前を入力します。
    2. リージョンを選択します。
    3. IPv6 のみのサブネットを作成するには、[IP スタックタイプ] で [IPv6(シングルスタック)] を選択します。
    4. IPv6 アクセスタイプ(外部または内部)を選択します。
    5. [完了] をクリックします。
  8. さらにサブネットを追加するには、[サブネットを追加] をクリックして前の手順を繰り返します。

    VPC ネットワーク内の各サブネットには、異なるスタックタイプと IPv6 アクセスタイプの構成を設定できます。特定のネットワーク内のすべてのサブネットを IPv6 のみのサブネットとして構成する必要はありません。

    ネットワークを作成した後で、任意のスタックタイプのサブネットをネットワークに追加することもできます。

  9. [ファイアウォール ルール] セクションの [IPv6 ファイアウォール ルール] タブで、事前定義された 0 個以上のファイアウォール ルールを選択します。このルールは、インスタンスへの接続の一般的なユースケースに対応します。

    事前定義ルールを選択しない場合は、ネットワークの作成後に独自のファイアウォール ルールを作成できます。

    事前定義ルールのそれぞれの名前は、作成する VPC ネットワークの名前 NETWORK で始まります。[IPv6 ファイアウォール ルール] タブに、NETWORK-allow-ipv6-custom という編集可能な事前定義の上り(内向き)ファイアウォール ルールがあります。このルールを含む行の [編集] をクリックしてサブネットを選択し、IP 範囲を追加して、プロトコルとポートを指定します。

    後でサブネットを追加しても、NETWORK-allow-ipv6-custom ファイアウォール ルールは自動更新されません。新しいサブネットにファイアウォール ルールが必要な場合は、ファイアウォール構成を更新してルールを追加する必要があります。

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

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

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

gcloud

networks create コマンドを使用します。ネットワークを作成したら、サブネットを追加できます。

このネットワークのサブネットで内部 IPv6 範囲を構成する場合は、--enable-ula-internal-ipv6 フラグを使用します。このオプションでは、Google が内部 IPv6 サブネット範囲に使用する fd20::/20 の範囲内の /48 ULA 接頭辞を割り当てます。割り当てられる /48 IPv6 範囲を選択する場合は、--internal-ipv6-range フラグを使用して範囲を指定します。

この VPC ネットワーク内のサブネットに外部 IPv6 のみを構成する場合は、両方のフラグを省略できます。

gcloud compute networks create NETWORK \
    --subnet-mode=custom \
    [ --enable-ula-internal-ipv6 [ --internal-ipv6-range=ULA_IPV6_RANGE ]] \
    --bgp-routing-mode=DYNAMIC_ROUTING_MODE \
    --mtu=MTU

次のように置き換えます。

  • NETWORK: VPC ネットワークの名前。

  • ULA_IPV6_RANGE: Google が内部 IPv6 サブネット範囲に使用する fd20::/20 範囲内の /48 接頭辞。--internal-ipv6-range フラグを使用しない場合は、Google によってネットワークの /48 接頭辞が選択されます。

  • DYNAMIC_ROUTING_MODE: ネットワーク内の Cloud Router の動作を制御します。globalregional のいずれかになります。デフォルトは regional です。詳細については、動的ルーティング モードをご覧ください。

  • MTU: ネットワークの最大パケットサイズである最大伝送単位(MTU)。MTU は、1300 から 8896 までの任意の値に設定できます。デフォルト値は 1460 です。MTU を 1460 より大きい値に設定する前に、最大伝送単位を確認してください。

API

networks.insert メソッドPOST リクエストを送信します。ネットワークを作成したら、サブネットを追加できます。

このネットワークのサブネットで内部 IPv6 範囲を構成する場合は、enableUlaInternalIpv6 を true に設定します。このオプションは、Google が内部 IPv6 サブネット範囲に使用する fd20::/20 範囲内から /48 範囲を割り当てます。割り当てる /48 IPv6 範囲を選択する場合は、internalIpv6Range フィールドを使用して範囲も指定します。

この VPC ネットワーク内のサブネットに外部 IPv6 のみを構成する場合は、両方のフィールドを省略できます。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks
{
  "autoCreateSubnetworks": false,
  "name": "NETWORK",
  "mtu": MTU,
  "enableUlaInternalIpv6": true,
  "internalIpv6Range": "ULA_IPV6_RANGE",
  "routingConfig": {
    "routingMode": "DYNAMIC_ROUTING_MODE"
  }
}

次のように置き換えます。

  • PROJECT_ID: VPC ネットワークが作成されているプロジェクトの ID。
  • NETWORK: VPC ネットワークの名前。
  • MTU: ネットワークの最大パケットサイズである最大伝送単位(MTU)。MTU は、1300 から 8896 までの任意の値に設定できます。デフォルト値は 1460 です。MTU を 1460 より大きい値に設定する前に、最大伝送単位を確認してください。
  • ULA_IPV6_RANGE: Google が内部 IPv6 サブネット範囲に使用する fd20::/20 範囲内の /48 接頭辞。internalIpv6Range の値を指定しない場合、Google はネットワークの /48 接頭辞を選択します。
  • DYNAMIC_ROUTING_MODE: ネットワーク内の Cloud Router の動作を制御します。GLOBALREGIONAL のいずれかになります。デフォルト値は REGIONAL です。詳細については、動的ルーティング モードをご覧ください。

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

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

ネットワークの表示

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

コンソール

  1. Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

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

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

gcloud

  1. プロジェクト内のネットワークを一覧表示するには、networks list コマンドを使用します。

    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. ネットワークの説明を取得して、ピアリング接続やサブネットなどの詳細を確認するには、networks describe コマンドを使用します。

    gcloud compute networks describe NETWORK
    

    NETWORK は、ネットワークの名前に置き換えます。

API

  1. プロジェクト内のすべてのネットワークを一覧表示するには、networks.list メソッドGET リクエストを送信します。

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

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

  2. ネットワークとその詳細を表示するには、networks.get メソッドGET リクエストを送信します。

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

    次のように置き換えます。

    • PROJECT_ID: VPC ネットワークを含むプロジェクトの ID。
    • NETWORK: 詳細を取得する VPC ネットワークの名前。

サブネットを使用する

以降のセクションでは、サブネットの作成と管理方法について説明します。

サブネットを一覧取得する

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

コンソール

  1. Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. サブネットを表示するには、次のいずれかを行います。

    • ネットワークの名前をクリックし、[VPC ネットワークの詳細] ページの [サブネット] タブをクリックします。

      このビューでは、選択した 1 つのネットワークに対して、新しいサブネットの追加や他の構成変更を行うことができます。

    • [現在のプロジェクトのサブネット] タブをクリックし、[VPC ネットワーク] リストから 1 つ以上のネットワークを選択します。

      このビューでは、複数のネットワークのサブネットを一覧表示できます。

gcloud

プロジェクト内のすべてのネットワークのすべてのサブネットを一覧表示することも、特定のネットワークまたはリージョンのサブネットだけを表示することもできます。次の例は、subnets list コマンドの使用方法を示しています。

  • すべての VPC ネットワーク内のすべてのサブネットを一覧表示するには、次のコマンドを使用します。

    gcloud compute networks subnets list
    
  • 特定の VPC ネットワーク内のすべてのサブネットを一覧表示するには、次のコマンドを使用します。

    gcloud compute networks subnets list \
       --network=NETWORK
    

    NETWORK は、ネットワークの名前に置き換えます。

  • 特定のリージョンのすべてのサブネットを一覧表示するには、次のコマンドを使用します。

    gcloud compute networks subnets list \
       --filter="region:( REGION … )"
    

    REGION は、リージョンの名前で置き換えます。

API

プロジェクト内のすべてのサブネットを一覧表示するには、subnetworks.aggregatedList メソッドGET リクエストを送信します。

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/subnetworks

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

サブネットの情報を取得する

このセクションの手順に沿って操作すると、既存のサブネットの詳細(プライマリ IPv4 範囲、セカンダリ IP 範囲、IPv6 範囲、リージョンなど)を表示できます。

コンソール

  1. Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

    プロジェクト内のすべてのネットワークとサブネットは階層的に表示され、サブネットはネットワーク内のエントリとして表示されます。

  2. 特定のネットワークのサブネットに絞り込むため、ネットワークの名前をクリックします。[VPC ネットワークの詳細] ページで、[サブネット] タブのサブネット名をクリックして [サブネットの詳細] ページを表示します。

gcloud

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

  2. subnets describe コマンドを使用します。

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

    次のように置き換えます。

    • SUBNET: 詳細を取得するサブネット
    • REGION: 詳細を取得するサブネットのリージョン

API

  1. 特定のリージョンのサブネットを一覧表示してサブネットの名前を確認するには、subnetworks.list メソッドGET リクエストを送信します。

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

    次のように置き換えます。

    • PROJECT_ID: 一覧表示するサブネットを含むプロジェクトの ID。
    • REGION: 一覧表示するサブネットを含む Google Cloud リージョンの名前。
  2. subnetworks.get メソッドGET リクエストを送信します。

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

    次のように置き換えます。

    • PROJECT_ID: 詳細を取得するサブネットを含むプロジェクトの ID。
    • REGION: 詳細を取得するサブネットを含む Google Cloud リージョンの名前。
    • SUBNET: 詳細を取得するサブネットの名前。

IPv4 のみのサブネットを追加する

サブネットを作成するときは、名前IPv4 サブネット範囲の制限に従って、名前、リージョン、1 つ以上のプライマリ IPv4 アドレス範囲を設定します。

IPv4 専用のサブネットを作成する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. VPC ネットワークの名前をクリックして、[VPC ネットワークの詳細] ページを表示します。

  3. [サブネットを追加] をクリックします。表示されるパネルで、次の手順を実施します。

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

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

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

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

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

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

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

gcloud

subnets create コマンドを使用します。

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

次のように置き換えます。

  • SUBNET: 新しいサブネットの名前。
  • NETWORK: 新しいサブネットを含む VPC ネットワークの名前。
  • PRIMARY_RANGE: 新しいサブネットのプライマリ IPv4 範囲(CIDR 表記)。詳細については、IPv4 サブネットの範囲をご覧ください。
  • REGION: 新しいサブネットが作成される Google Cloud リージョン。

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

  • --secondary-range=SECONDARY_RANGE_NAME=SECONDARY_RANGE: SECONDARY_RANGE_NAME は、セカンダリ範囲の名前に置き換えます。SECONDARY_RANGE は、CIDR 表記のセカンダリ範囲に置き換えます。ネットワークあたりの上限は、サブネットごとに定義できるセカンダリ範囲の最大数を表します。
  • --enable-flow-logs: 作成時にサブネットの VPC Flow Logs を有効にします。
  • --enable-private-ip-google-access: 作成時にサブネットのプライベート Google アクセスを有効にします。
  • --purpose: サブネットの目的を指定できます。
  • --role: プロキシ専用サブネットのロール(アクティブまたはバックアップ)を指定できます。

次に、ファイアウォール ルールを作成します。

Terraform

Terraform モジュールを使用します。

MTU は、ネットワークの最大伝送単位または最大パケットサイズです。MTU は、1300 から 8896 までの任意の値に設定できます。デフォルト値は 1460 です。MTU を 1460 より大きい値に設定する前に、最大伝送単位を確認してください。

module "test-vpc-module" {
  source       = "terraform-google-modules/network/google"
  version      = "~> 10.0"
  project_id   = var.project_id # Replace this with your project ID in quotes
  network_name = "my-custom-mode-network"
  mtu          = 1460

  subnets = [
    {
      subnet_name   = "subnet-01"
      subnet_ip     = "10.10.10.0/24"
      subnet_region = "us-west1"
    },
    {
      subnet_name           = "subnet-02"
      subnet_ip             = "10.10.20.0/24"
      subnet_region         = "us-west1"
      subnet_private_access = "true"
      subnet_flow_logs      = "true"
    },
    {
      subnet_name               = "subnet-03"
      subnet_ip                 = "10.10.30.0/24"
      subnet_region             = "us-west1"
      subnet_flow_logs          = "true"
      subnet_flow_logs_interval = "INTERVAL_10_MIN"
      subnet_flow_logs_sampling = 0.7
      subnet_flow_logs_metadata = "INCLUDE_ALL_METADATA"
      subnet_flow_logs_filter   = "false"
    }
  ]
}

次に、ファイアウォール ルールを作成します。

API

subnetworks.insert メソッドPOST リクエストを送信します。

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: サブネットのプライマリ IPv4 アドレス範囲。詳細については、IPv4 サブネットの範囲をご覧ください。
  • NETWORK_URL: サブネットを追加する VPC ネットワークの URL。
  • SUBNET: サブネットの名前。

次に、ファイアウォール ルールを作成します。

デュアルスタック サブネットを追加する

デュアルスタック サブネットには、IPv4 アドレス範囲と IPv6 アドレス範囲の両方が存在します。

外部または内部 IPv6 アドレスを有効にしてサブネットを作成できます。サブネットに IPv6 範囲を構成しても、そのサブネットに接続する仮想マシン(VM)インスタンスに IPv6 は構成されません。VM での IPv6 の構成の詳細については、インスタンスとインスタンス テンプレートでの IPv6 の構成をご覧ください。

デュアル スタックのサブネットを作成する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. VPC ネットワークの名前をクリックして、[VPC ネットワークの詳細] ページを表示します。

  3. [サブネットを追加] をクリックします。表示されるパネルで、次の手順を実施します。

    1. 名前を入力します。
    2. リージョンを選択します。
    3. [IP スタックタイプ] には、[IPv4 と IPv6(デュアルスタック)] を選択します。
    4. [IPv4 範囲] を入力します。これはサブネットのプライマリ IPv4 範囲です。

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

    5. [IPv6 アクセスタイプ] には [内部] または [外部] を選択します。

      アクセスタイプを [内部] に設定する必要があるが、[内部] オプションを使用できない場合は、ネットワークで内部 IPv6 範囲が割り当てられていることを確認してください。

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

gcloud

subnets create コマンドを使用します。

gcloud compute networks subnets create SUBNET \
    --network=NETWORK \
    --range=PRIMARY_IPv4_RANGE \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=IPv6_ACCESS_TYPE \
    --region=REGION

次のように置き換えます。

  • SUBNET: 新しいサブネットの名前。
  • NETWORK: 新しいサブネットが追加される VPC ネットワークの名前。
  • PRIMARY_IPv4_RANGE: 新しいサブネットのプライマリ IPv4 範囲(CIDR 表記)。詳細については、IPv4 サブネットの範囲をご覧ください。
  • IPv6_ACCESS_TYPE: IPv6 アクセスタイプ。EXTERNAL または INTERNAL のいずれかです。
  • REGION: 新しいサブネットが作成される Google Cloud リージョン。

API

subnetworks.insert メソッドPOST リクエストを送信します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
{
  "ipCidrRange": "IP_RANGE",
  "network": "NETWORK_URL",
  "name": "SUBNET"
  "stackType": IPV4_IPV6,
  "ipv6AccessType": IPv6_ACCESS_TYPE
}

次のように置き換えます。

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

IPv6 のみのサブネットを追加する

外部または内部 IPv6 アドレスを有効にして、IPv6 のみのサブネットを作成できます。サブネットに IPv6 範囲を構成しても、そのサブネットに接続する VM に IPv6 は構成されません。VM での IPv6 の構成の詳細については、インスタンスとインスタンス テンプレートでの IPv6 の構成をご覧ください。

IPv6 のみのサブネットを作成する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. [VPC ネットワークの詳細] ページを表示するには、VPC ネットワークの名前をクリックします。

  3. [サブネット] タブで [サブネットを追加] をクリックします。表示されるパネルで、次の操作を行います。

    1. 名前を入力します。
    2. リージョンを選択します。
    3. [IP スタックタイプ] で [IPv6(シングルスタック)] を選択します。
    4. IPv6 アクセスタイプに [内部] または [外部] を選択します。

      アクセスタイプを [内部] に設定する必要があるが、[内部] オプションを使用できない場合は、ネットワークで内部 IPv6 範囲が割り当てられていることを確認してください。

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

gcloud

gcloud compute networks subnets create コマンドを使用します。

gcloud compute networks subnets create SUBNET \
    --network=NETWORK \
    --stack-type=IPV6_ONLY \
    --ipv6-access-type=IPv6_ACCESS_TYPE \
    --region=REGION

次のように置き換えます。

  • SUBNET: 新しいサブネットの名前。
  • NETWORK: 新しいサブネットを含む VPC ネットワークの名前。
  • IPv6_ACCESS_TYPE: IPv6 アクセスタイプ。アクセスタイプは EXTERNAL または INTERNAL のいずれかです。
  • REGION: 新しいサブネットが作成される Google Cloud リージョン。

API

subnetworks.insert メソッドPOST リクエストを送信します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
{
  "network": "NETWORK_URL",
  "name": "SUBNET"
  "stackType": IPV6_ONLY,
  "ipv6AccessType": IPv6_ACCESS_TYPE
}

次のように置き換えます。

  • PROJECT_ID: 変更する VPC ネットワークを含むプロジェクトの ID。
  • REGION: サブネットが追加される Google Cloud リージョンの名前。
  • NETWORK_URL: サブネットを追加する VPC ネットワークの URL。
  • SUBNET: サブネットの名前。
  • IPv6_ACCESS_TYPE: IPv6 アクセスタイプ。アクセスタイプは EXTERNAL または INTERNAL のいずれかです。

IPv4 のみのサブネットをデュアルスタックに変更する

デュアルスタック サブネットには、IPv4 と IPv6 の両方のサブネット範囲が設定されています。内部 IPv6 サブネット範囲または外部 IPv6 サブネット範囲を、カスタムモード VPC ネットワーク内の既存の IPv4 のみのサブネットに追加できます。詳細については、IPv6 サブネットの範囲をご覧ください。

IPv6 サブネット範囲をサブネットに追加しても、接続された VM に IPv6 は構成されません。VM の構成については、VM での IPv6 の構成をご覧ください。

サブネットのスタックタイプをデュアルスタックに変更する次の手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. ネットワークの名前をクリックして、[VPC ネットワークの詳細] ページを表示します。

  3. [サブネット] タブで、変更するサブネットの名前をクリックします。

  4. [サブネットの詳細] ページで、[編集] をクリックします。

  5. [IP スタックタイプ] には、[IPv4 と IPv6(デュアルスタック)] を選択します。

  6. [IPv6 アクセスタイプ] には [内部] または [外部] を選択します。

    アクセスタイプを [内部] に設定する必要があるが、[内部] オプションを使用できない場合は、ネットワークで内部 IPv6 範囲が割り当てられていることを確認してください。

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

gcloud

subnets update コマンドを使用します。

gcloud compute networks subnets update SUBNET \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=IPv6_ACCESS_TYPE \
    --region=REGION

次のように置き換えます。

  • SUBNET: サブネットの名前。
  • REGION: サブネットのリージョン。
  • IPv6_ACCESS_TYPE: サブネットの IPv6 アクセスタイプ。EXTERNAL または INTERNAL のいずれかです。

API

subnetworks.patch メソッドPATCH リクエストを送信します。

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET
{
  "stackType": IPV4_IPV6,
  "ipv6AccessType": IPv6_ACCESS_TYPE
}

次のように置き換えます。

  • PROJECT_ID: 変更する VPC ネットワークを含むプロジェクトの ID。
  • REGION: サブネットのリージョン。
  • SUBNET: サブネットの名前。
  • IPv6_ACCESS_TYPE: IPv6 アクセスタイプ。EXTERNAL または INTERNAL のいずれかです。

デュアルスタック サブネットを IPv4 のみに変更する

IPv6 アクセスタイプが外部の場合、サブネットのスタックタイプを IPv4 と IPv6(デュアル スタック)から IPv4 のみ(シングル スタック)に変更できます。

この変更を行うと、そのサブネットに接続されている新しいデュアル スタック VM は作成できなくなります。ただし、既存のデュアル スタック VM は影響を受けません。VM のスタックタイプを IPv4 のみに変更する必要がある場合は、VM のスタックタイプを変更するをご覧ください。

この変更は Google Cloud CLI と API でのみサポートされています。

IPv6 アクセスタイプが内部の場合は、スタックタイプを IPv4 と IPv6(デュアルスタック)から IPv4 のみ(シングルスタック)に変更することはできません。

サブネットのスタックタイプを IPv4 のみに変更する手順は次のとおりです。

gcloud

subnets update コマンドを使用します。

gcloud compute networks subnets update SUBNET \
    --stack-type=IPV4_ONLY \
    --region=REGION

次のように置き換えます。

  • SUBNET: サブネットの名前。
  • REGION: サブネットの Google Cloud リージョン。

API

subnetworks.patch メソッドPATCH リクエストを送信します。

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET
{
  "stackType": IPV4_ONLY,
}

次のように置き換えます。

  • PROJECT_ID: 変更する VPC ネットワークを含むプロジェクトの ID。
  • REGION: サブネットの Google Cloud リージョン。
  • SUBNET: サブネットの名前。

IPv6 BYOIP アドレス範囲を使用してサブネットを作成する

デュアルスタックまたは IPv6 のみのサブネットの外部 IPv6 アドレス範囲にお客様所有 IP アドレス(BYOIP)を使用できます。BYOIP で提供される外部 IPv6 サブネット範囲は、VM でのみ使用できます。

詳細については、IPv6 サブプレフィックスを作成して使用するをご覧ください。

サブネットを削除する

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

サブネットを削除するには、次のようにします。

コンソール

  1. Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

    プロジェクト内のすべてのネットワークとサブネットは階層的に表示され、サブネットはネットワーク内のエントリとして表示されます。

  2. 特定のネットワークを表示するには、ネットワークの名前をクリックします。[VPC ネットワークの詳細] ページで、[サブネット] タブのサブネット名をクリックして [サブネットの詳細] ページを表示します。

  3. [サブネットを削除] をクリックします。

  4. 表示されたメッセージで、[削除] をクリックして確定します。

gcloud

subnets delete コマンドを使用します。

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

次のように置き換えます。

  • SUBNET: 削除するサブネットの名前。
  • REGION: 削除するサブネットのリージョン。

API

subnetworks.delete メソッドDELETE リクエストを送信します。

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

次のように置き換えます。

  • PROJECT_ID: 削除するサブネットを含むプロジェクトの ID。
  • REGION: 削除するサブネットを含む Google Cloud リージョンの名前。
  • SUBNET: 削除するサブネットの名前。

プライマリ IPv4 範囲を拡張する

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

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

ロードバランサ プロキシ専用に使用されるサブネットは拡張できません。詳細については、ロードバランサのプロキシのみのサブネットをご覧ください。

サブネットのプライマリ IPv4 範囲の拡張は、完了までに数分かかることがあります。拡張中、サブネット内のトラフィックは中断されません。

サブネットのプライマリ IPv4 範囲を拡張する場合は、この IP アドレス範囲を想定している他の構成の変更が必要になる可能性があります。

サブネットのプライマリ IPv4 範囲を拡張する手順は次のとおり。

コンソール

  1. Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

    プロジェクト内のすべてのネットワークとサブネットは階層的に表示され、サブネットはネットワーク内のエントリとして表示されます。

  2. 特定のネットワークのサブネットに絞り込むため、ネットワークの名前をクリックします。[VPC ネットワークの詳細] ページで、[サブネット] タブのサブネット名をクリックして [サブネットの詳細] ページを表示します。

  3. [編集] をクリックします。

  4. [IP アドレス範囲] フィールドに、新しい、より広い CIDR ブロックを入力します。

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

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

gcloud

subnets expand-ip-range コマンドを使用します。

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

次のように置き換えます。

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

API

subnetworks.expandIpCidrRange メソッドPOST リクエストを送信します。

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: サブネットの展開された IPv4 アドレス範囲。有効な範囲については、IPv4 サブネットの範囲をご覧ください。

セカンダリ IPv4 範囲を編集する

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

gcloud

サブネットに新しいセカンダリ IPv4 範囲を追加するには、subnets update コマンドを使用します。

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

次のように置き換えます。

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

サブネットからセカンダリ IPv4 範囲を削除するには、subnets update コマンドを使用します。

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

次のように置き換えます。

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

API

既存のサブネットのセカンダリ IPv4 アドレス範囲を変更するには、subnetworks.patch メソッドPATCH リクエストを送信します。

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: セカンダリ IPv4 アドレス範囲の名前。
  • IP_RANGE: サブネットの展開された IPv4 アドレス範囲。有効な範囲については、IPv4 サブネットの範囲をご覧ください。
  • SUBNET_FINGERPRINT: 既存のサブネットのフィンガー プリント ID。サブネットの詳細を取得するときに指定します。

ネットワークを変更する

自動モード VPC ネットワークをカスタムモードに変換する

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

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

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

自動モードの VPC ネットワークをカスタムモードの VPC ネットワークに変換する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. VPC ネットワークの名前をクリックして、[VPC ネットワークの詳細] ページを表示します。

  3. [編集] をクリックします。

  4. [サブネット作成モード] で [カスタム] を選択します。

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

gcloud

networks update コマンドを使用します。

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

NETWORK は、更新するネットワークの名前に置き換えます。

API

networks.switchToCustomMode メソッドPOST リクエストを送信します。

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

次のように置き換えます。

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

ネットワークに内部 IPv6 範囲を割り振る

サブネットで内部 IPv6 アドレスを構成する場合は、まず VPC ネットワークで内部 IPv6 アドレスを有効にする必要があります。内部 IPv6 を有効にすると、/48 のユニーク ローカル アドレス(ULA)範囲がネットワークに割り当てられます。

VPC ネットワークの内部 IPv6 範囲を有効にすると、次の操作を行うことができます。

ネットワークに内部 IPv6 範囲を割り当てる手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. VPC ネットワークの名前をクリックして、[VPC ネットワークの詳細] ページを表示します。

  3. [編集] をクリックします。

  4. [プライベート IPv6 アドレスを設定] セクションで、[Configure a ULA internal IPv6 range for this VPC Network] を選択します。

  5. (省略可)内部 IPv6 範囲に使用する接頭辞を指定できます。

    1. [ULA の内部 IPv6 範囲を割り当てる] で [手動] をクリックします。
    2. fd20::/20 範囲内の /48 範囲を入力します。

      範囲が使用されている場合は、別の範囲を入力するように求めるプロンプトが表示されます。

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

gcloud

networks update コマンドを使用します。

--enable-ula-internal-ipv6 フラグは、Google が内部 IPv6 サブネット範囲に使用する fd20::/20 範囲内の /48 接頭辞を割り当てます。割り当てられる /48 IPv6 範囲を選択する場合は、--internal-ipv6-range フラグを使用して範囲を指定します。

gcloud compute networks update NAME \
    --enable-ula-internal-ipv6 \
    [ --internal-ipv6-range=ULA_IPV6_RANGE ]

次のように置き換えます。

  • NAME: VPC ネットワークの名前。
  • ULA_IPV6_RANGE: ULA 接頭辞を割り当てる必要がある IPv6 アドレスの範囲。

API

networks.insert メソッドPATCH リクエストを送信します。

enableUlaInternalIpv6 を true に設定すると、Google が内部 IPv6 サブネット範囲に使用する fd20::/20 範囲内から /48 範囲が割り当てられます。割り当てる /48 IPv6 範囲を選択する場合は、internalIpv6Range フィールドを使用して範囲も指定します。

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networksa/NETWORK
{
  "enableUlaInternalIpv6": true,
  "internalIpv6Range": "ULA_IPV6_RANGE",
}

次のように置き換えます。

  • PROJECT_ID: VPC ネットワークが作成されているプロジェクトの ID。
  • NETWORK: VPC ネットワークの名前。
  • ULA_IPV6_RANGE: Google が内部 IPv6 サブネット範囲に使用する fd20::/20 範囲内の /48 接頭辞。internalIpv6Range の値を指定しない場合、Google はネットワークの /48 接頭辞を選択します。

動的ルーティング モードを変更する

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

VPC ネットワークの動的ルーティング モードを変更する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. VPC ネットワークの名前をクリックして、[VPC ネットワークの詳細] ページを表示します。

  3. [編集] をクリックします。

  4. [動的ルーティング モード] セクションで、[グローバル] または [リージョン] を選択します。

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

gcloud

networks update コマンドを使用します。

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

次のように置き換えます。

  • NETWORK: 更新する VPC ネットワークの名前。
  • DYNAMIC_ROUTING_MODE: ネットワーク内の Cloud Router の動作を制御します。globalregional のいずれかになります。デフォルト値は regional です。詳細については、動的ルーティング モードをご覧ください。

API

subnetworks.patch メソッドPATCH リクエストを送信します。

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: ネットワーク内の Cloud Router の動作を制御します。GLOBALREGIONAL のいずれかになります。デフォルト値は REGIONAL です。詳細については、動的ルーティング モードをご覧ください。

ネットワークの MTU を変更する

VPC ネットワークの MTU の変更については、VPC ネットワークの MTU 設定を変更するをご覧ください。

ネットワークを削除する

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

VPC ネットワークを削除する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. VPC ネットワークの名前をクリックして、[VPC ネットワークの詳細] ページを表示します。

  3. [VPC ネットワークを削除] をクリックします。

  4. 表示されたメッセージで、[削除] をクリックして確定します。

gcloud

networks delete コマンドを使用します。

gcloud compute networks delete NETWORK

NETWORK は、削除するネットワークの名前に置き換えます。

API

networks.delete メソッドDELETE リクエストを送信します。

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

次のように置き換えます。

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

VPC ネットワークをモニタリングする

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

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

VM を移行する

特定のプロジェクト内で、仮想マシン(VM)インスタンスをあるネットワークから別のネットワークに移行できます。手順については、ネットワーク間の VM の移行をご覧ください。

トラブルシューティング

エラー: Constraint constraints/compute.requireVpcFlowLogs violated

このエラーは、次の両方の条件に該当する場合に発生します。

  • VPC Flow Logs の構成が必要な組織のポリシーの制約が設定されている。

  • サブネットを作成するか、既存のサブネットの VPC Flow Logs 構成を更新すると、その構成はポリシーの要件を満たしません。

この制約の詳細、およびサブネットの作成と更新に対する影響については、VPC Flow Logs の組織のポリシーに関する制約をご覧ください。

リソースが見つからないエラー

VPC ネットワークを削除すると、次のようなメッセージが表示されることがあります。The resource "aet-uscentral1-subnet--1-egrfw" was not found.

このエラーとその解決方法については、VPC ファイアウォール ルールのドキュメントのリソースが見つからないエラーをご覧ください。

既存の gk3- リソースが原因でサブネットを削除できない

そのサブネットに関連付けられている既存の GKE クラスタがないにもかかわらず、gk3- という名前の既存のリソースが原因でサブネットを削除できない場合は、Google Cloud サポートにお問い合わせください。詳細については、Private Service Connect で削除済みの GKE クラスタからリソースがリークするをご覧ください。

エラー メッセージの例:

The subnetwork resource 'projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME' is already being used by 'projects/PROJECT_ID/regions/REGION/addresses/gk3-ID'

次のステップ

使ってみる

Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの VPC のパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。

VPC 無料トライアル