デュアルスタックのサービスとジョブを設定する

デュアルスタック サブネットを使用すると、Cloud Run サービスとジョブは、ダイレクト VPC 下り(外向き)を使用して VPC ネットワークに IPv4 トラフィックと内部 IPv6 トラフィックを送信できます。既存の Cloud Run サービスまたはジョブのスタックタイプを変更するか、既存のサブネットをデュアルスタック サブネットに更新できます。

サブネットのタイプ

VPC ネットワークは、次の Compute Engine サブネット タイプをサポートしています。

デュアルスタックの制限事項

既存の Cloud Run サービスまたはジョブのスタックタイプを変更する前に、次の制限事項を考慮してください。

  • Cloud Run は、IPv6 アクセスタイプの設定が「内部」のサブネットのみをサポートします。IPv6 アドレスの内部アクセスタイプと外部アクセスタイプの詳細を確認する。

  • デュアルスタックは、カスタムモードの VPC ネットワークのサブネットでのみ使用できます。デュアルスタック サブネットで内部アクセスタイプを使用できるようにするには、VPC ネットワークの内部 IPv6 範囲を有効にする必要があります。VPC ネットワークをセットアップするか、カスタムモードに変換します。

  • IPv4 のみのサブネットと比較して、デュアルスタック サブネットではコールド スタートのレイテンシが増加し、アプリケーションのスケールアップ速度が制限される可能性があります。

  • NAT64 はサポートされていません。

サービスまたはジョブにデュアルスタック サブネットを追加する

デュアルスタック サブネットには、IPv4 アドレス範囲と IPv6 アドレス範囲の両方が存在します。Cloud Run サービスとジョブは、内部 IPv6 アドレスを使用するサブネット経由でのみ IPv6 トラフィックを送信できます。

Cloud Run サービスまたはジョブに内部 IPv6 範囲を持つデュアルスタック サブネットを追加するには、次の操作を行います。

コンソール

  1. Google Cloud コンソールの場合:

    1. Compute Engine API を有効にします。

      Compute Engine API を有効にする

    2. [VPC ネットワーク] ページに移動します。

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

  2. 新しいカスタムモード ネットワークを作成する場合は、[VPC ネットワークを作成] をクリックします。既存の VPC ネットワークを使用している場合は、VPC ネットワークの名前をクリックして、[VPC ネットワークの詳細] ページを表示します。

  3. 新しいネットワークを作成する場合や既存のネットワークを変換する場合は、名前を入力し、[サブネット作成モード] が [カスタム] に設定されていることを確認してから、[Configure a ULA internal IPv6 range for this VPC Network] を選択します。

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

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

      [内部] オプションを使用できない場合は、ネットワークに内部 IPv6 範囲が割り当てられていることを確認します。

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

  5. 作成したデュアルスタック サブネットに Cloud Run サービスをデプロイするか、ジョブを実行します。必要なサービスまたはジョブの詳細を入力するときに、次の手順で新しい IPv6 アドレス範囲を選択できます。

    1. [コンテナ、ボリューム、ネットワーキング、セキュリティ] をクリックし、[ネットワーキング] タブを選択します。
    2. [アウトバウンド トラフィック用の VPC に接続する]、[VPC に直接トラフィックを送信する] の順にクリックします。
    3. 前の手順で作成したネットワークを選択します。
    4. [サブネット] フィールドをクリックして、新しく作成した IPv6 アドレス範囲を選択します。

    サービスまたはジョブは、サブネットのスタックタイプで自動的にプロビジョニングされます。

gcloud

  1. デュアルスタック サブネットをサポートするカスタムモード ネットワークを作成するには、次のコマンドを実行します。
gcloud compute networks create NETWORK \
    --subnet-mode=custom \
    --enable-ula-internal-ipv6

NETWORK は、新しいサブネットを含む VPC ネットワークの名前に置き換えます。

  1. デュアルスタック サブネットをサポートするようにカスタムモード ネットワークを変換または更新するには、次のコマンドを実行します。
gcloud compute networks update NETWORK \
    --subnet-mode=custom \
    --enable-ula-internal-ipv6

NETWORK は、新しいサブネットを含む VPC ネットワークの名前に置き換えます。

  1. 内部 IPv6 範囲を持つデュアルスタック サブネットを作成するには、デュアルスタック設定を使用して subnets create コマンドを実行します。
gcloud compute networks subnets create SUBNET \
    --network=NETWORK \
    --range=PRIMARY_IPv4_RANGE \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=INTERNAL \
    --region=REGION

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

  • SUBNET: 新しいサブネットの名前。
  • NETWORK: 新しいサブネットが追加される VPC ネットワークの名前。
  • PRIMARY_IPv4_RANGE: 新しいサブネットのプライマリ IPv4 範囲(CIDR 表記)。詳細については、IPv4 サブネットの範囲をご覧ください。
  • REGION: 新しいサブネットが作成されるリージョン。 Google Cloud
  1. 作成したデュアルスタック サブネットに Cloud Run サービスをデプロイするか、ジョブを実行します。サービスまたはジョブは、サブネットのスタックタイプで自動的にプロビジョニングされます。

サブネットをシングルスタックからデュアルスタックに変更する

カスタムモード VPC ネットワーク内の既存の IPv4 専用サブネットに内部 IPv6 サブネット範囲を追加するには、サブネットのスタックタイプをデュアルスタックに変更するをご覧ください。次に、デュアルスタック サブネットにサービスをデプロイするか、ジョブを実行します。

サブネットをデュアルスタックからシングルスタックに変更する

Compute Engine の IPv6 アクセスタイプが内部であるため、サブネットのスタックタイプを IPv4 と IPv6(デュアルスタック)から IPv4 のみ(シングルスタック)に変更することはできません。Service またはジョブのデュアルスタック サブネットをシングルスタック サブネットに変更するには、IPv4 のみ(シングルスタック)のサブネットにService をデプロイするか、ジョブを実行します。

ネットワークとサブネットを確認する

サービスまたはジョブが VPC ネットワーク上にあることを確認するには、次のコマンドを実行します。

gcloud run services describe SERVICE_NAME --region=REGION

REGION は、新しいサブネットが作成されたリージョンに置き換えます。 Google Cloud

次の出力例は、ネットワークとサブネットを示しています。

  VPC Access:
    Network:        example-network
    Subnet:         example-subnet
    Egress:         private-ranges-only