コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。
クイックスタート: VPC ネットワークの作成と管理

VPC ネットワークを作成して管理する

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

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

使ってみる

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

VPC 無料トライアル

ネットワークを作成する

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

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

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

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

コンソール

  1. Google Cloud コンソールで [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] に移動
  2. [VPC ネットワークを作成] をクリックします。
  3. ネットワークの名前を入力します。
  4. [サブネット作成モード] で [自動] を選択します。
  5. [ファイアウォール ルール] セクションで、0 個以上の事前定義されたファイアウォール ルールを選択します。このルールは、インスタンスへの接続の一般的なユースケースに対応します。

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

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

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

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

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

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

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

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

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

Terraform

Terraform リソースを使用して、自動モードの VPC ネットワークを作成できます。

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 構成の操作をご覧ください。

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

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

コンソール

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Terraform

Terraform リソースを使用して、カスタムモードの VPC ネットワークを作成できます。

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 構成の操作をご覧ください。

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

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

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

  • シングル スタック: 内部 IPv4 範囲のみ
  • デュアル スタック: 内部 IPv4 範囲と内部 IPv6 範囲
  • デュアル スタック: 内部 IPv4 範囲と外部 IPv6 範囲

VPC 内の各サブネットは、異なる構成を持つことができます。すべてをデュアルスタックとして構成する必要はありません。

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

コンソール

  1. Google Cloud コンソールで [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] に移動
  2. [VPC ネットワークを作成] をクリックします。
  3. ネットワークの名前を入力します。
  4. このネットワークのサブネットで内部 IPv6 アドレス範囲を構成する場合は、次の手順を行います。

    1. [VPC ネットワーク ULA の内部 IPv6 範囲] で、[有効] を選択します。
    2. [内部 IPv6 範囲の割り当て] で、[自動] または [手動] を選択します。

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

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

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

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

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

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

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

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

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

    ネットワークを作成した後に、シングルスタックまたはデュアルスタックのサブネットをネットワークに追加することもできます。

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

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

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

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

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

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

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

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

gcloud

新しいカスタムモードの VPC ネットワークを作成します。ネットワークを作成したら、IPv4 のみのサブネットデュアルスタック サブネットを追加できます。

このネットワークのサブネットで内部 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: global または regional のいずれか。これは、ネットワーク内の Cloud Router のルート アドバタイズの動作を制御します。詳細については、動的ルーティング モードをご覧ください。

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

API

新しいカスタムモードの VPC ネットワークを作成します。ネットワークを作成したら、IPv4 のみのサブネットデュアルスタック サブネットを追加できます。

このネットワークのサブネットで内部 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 は、1300 から 8896 までの範囲の値に設定できます(デフォルト: 1460)。MTU を 1460 より大きい値に設定する前に、最大伝送単位を確認してください。
  • ULA_IPV6_RANGE: Google が内部 IPv6 サブネット範囲に使用する fd20::/20 範囲内の /48 接頭辞。internalIpv6Range の値を指定しない場合、Google はネットワークの /48 接頭辞を選択します。
  • DYNAMIC_ROUTING_MODE は、global または regional のいずれかです。これは、ネットワーク内の Cloud Router のルート アドバタイズの動作を制御します。詳細については、動的ルーティング モードをご覧ください。

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

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

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

ネットワークの表示

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

コンソール

  1. Google Cloud コンソールで [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
    

API

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

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

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

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

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

    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 という名前のサブネットを複数作成するには、それぞれ異なるリージョンに作成する必要があります。

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

  • 各サブネットには、プライマリ IPv4 範囲と、任意で 1 つ以上のエイリアス IP 用セカンダリ IPv4 範囲が必要です。ネットワークごとの上限は、各サブネットに定義できるセカンダリ範囲の最大数を表します。プライマリ IPv4 範囲とセカンダリ IPv4 範囲は有効な範囲である必要があります。

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

    • サブネットのプライマリ IPv4 範囲は、サブネットの作成後に拡張できますが、置き換えや縮小はできません。

    • ただし、インスタンスによって使用されていないサブネットのセカンダリ IPv4 アドレス範囲であれば、それを削除して、再度指定することは可能です。

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

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

  • Google Cloud は、プライマリとセカンダリの両方の IP 範囲に対応するサブネット ルートを作成します。サブネット ルート、つまりサブネット IP 範囲には、定義上最も範囲の狭い IP 範囲が必要です。

    • Cloud VPNDedicated Interconnect、Partner Interconnect を使用して VPC ネットワークを別のネットワークに接続している場合は、プライマリとセカンダリの範囲がオンプレミスの IP 範囲と競合しないようにします。

    • サブネットの IPv4 範囲はすべて、VPC ネットワーク ピアリングで相互に接続している VPC ネットワーク間で一意でなければなりません。

    • サブネット IPv4 範囲は、静的ルートの宛先と競合してはいけません。

    • サブネットのプライマリまたはセカンダリ IPv4 範囲に、10.128.0.0/9 ブロックの IPv4 アドレスを使用しないでください。このブロックの IPv4 アドレスは、自動モードの VPC ネットワークで自動的に作成されたサブネットが使用します。10.128.0.0/9 ブロックの IP アドレスを使用すると、VPC ピアリングまたは Cloud VPN トンネルでネットワークを自動モードの VPC ネットワークに接続できなくなります。

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

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

コンソール

  1. Google Cloud コンソールで [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://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/subnetworks

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

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

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

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

コンソール

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

gcloud

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

  2. サブネットの説明を取得します。SUBNET はサブネットの名前に、REGION はサブネットのリージョンに置き換えます。

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

API

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

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

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

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

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

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

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

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

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

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

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

サブネットを作成するときは、サブネット ルールに従って、名前、リージョン、少なくとも 1 つのプライマリ 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 フローログを有効にできます。後で編集して有効にすることもできます。

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

gcloud

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 フローログを有効にします。
  • --enable-private-ip-google-access: 作成時にサブネットの限定公開の Google アクセスを有効にします。
  • --purpose: 内部 HTTP(S) 負荷分散のプロキシ専用サブネットを作成できます。
  • --role: 内部 HTTP(S) ロード バランシングの場合のみ、プロキシ専用サブネット用に、アクティブまたはバックアップのロールを指定できます。

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

API

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 はサブネットの名前です。

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

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

Terraform

Terraform モジュールを使用して、カスタムモードの VPC ネットワークとサブネットを作成できます。

MTU は、ネットワークの最大伝送単位です。MTU は、1300 から 8896 までの範囲の値に設定できます(デフォルト: 1460)。MTU を 1460 より大きい値に設定する前に、最大伝送単位の概要を確認してください。

module "test-vpc-module" {
  source       = "terraform-google-modules/network/google"
  version      = "~> 5.2"
  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"
    }
  ]
}

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

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

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

外部または内部 IPv6 アドレスを有効にしてサブネットを作成できます。サブネットに IPv6 範囲を構成しても、そのサブネットに接続する VM に IPv6 は構成されません。VM での IPv6 の構成の詳細については、VM で 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

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

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 のいずれかです。

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

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

デュアルスタック サブネットには、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

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

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

  • SUBNET はサブネット名です。
  • REGION は、サブネットが更新される Google Cloud リージョンです。
  • IPv6_ACCESS_TYPE は、サブネットの IPv6 アクセスタイプです。EXTERNAL または INTERNAL のいずれかです。

API

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 は、サブネットが追加されている Google Cloud リージョンの名前です。
  • 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 のみ(シングルスタック)に変更することはできません。

gcloud

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

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

  • SUBNET はサブネット名です。
  • REGION は、サブネットが更新される Google Cloud リージョンです。

API

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 はサブネット名です。

サブネットを削除する

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

コンソール

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

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

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

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

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

gcloud

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

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

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

API

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

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

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

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

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

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

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

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

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

コンソール

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

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

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

gcloud

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

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 サブネットの範囲をご覧ください。

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

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

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

gcloud

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

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 サブネットの範囲をご覧ください。

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

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

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

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

API

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

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 です。サブネットを記述するときに指定します。

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

ネットワークを変更する

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

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

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

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

コンソール

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

gcloud

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

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

API

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

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

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

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

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

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

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

VPC ネットワークの内部 IPv6 範囲を有効にすると、デュアルスタック サブネットを追加したり、IPv4 サブネットをデュアル スタック サブネットに変換できるようになります。

コンソール

  1. Google Cloud コンソールで [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] に移動
  2. VPC ネットワークの名前をクリックして、[VPC ネットワークの詳細] ページを表示します。
  3. [編集] をクリックします。
  4. [VPC ネットワーク ULA の内部 IPv6 範囲] で、[有効] を選択します。
  5. (省略可)内部 IPv6 範囲に使用する接頭辞を指定できます。

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

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

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

gcloud

--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

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 接頭辞を選択します。

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

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

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

コンソール

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

gcloud

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

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

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

API

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

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

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

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

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

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

ネットワークを削除する

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

コンソール

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

gcloud

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

gcloud compute networks delete NETWORK

API

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 の移行をご覧ください。

トラブルシューティング

エラー: Constraint constraints/compute.requireVpcFlowLogs violated

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

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

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

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

次のステップ

使ってみる

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

VPC 無料トライアル