共有 VPC コネクタから Direct VPC 下り(外向き)に移行する

このページは、共有 VPC ネットワークへのトラフィックの送信時に、共有 VPC ネットワーク トラフィックをサーバーレス VPC アクセス コネクタの使用からダイレクト VPC 下り(外向き)の使用へ移行するネットワーキング スペシャリストを対象としています。

ダイレクト VPC 下り(外向き)は、コネクタ インスタンスではなく新しいダイレクト ネットワーク パスを使用するため、コネクタよりも高速で、コネクタよりも多くのトラフィックを処理できます。これにより、レイテンシが低減され、スループットが向上します。

移行前に、ダイレクト VPC 下り(外向き)の前提条件制限事項IP アドレスの割り振りIAM 権限を理解しておくことをおすすめします。

サービスをダイレクト VPC 下り(外向き)に移行する

サービスをダイレクト VPC 下り(外向き)に段階的に移行する

Cloud Run サービスをサーバーレス VPC アクセス コネクタからダイレクト VPC 下り(外向き)に移行する場合は、段階的に移行することをおすすめします。

段階的に移行するには:

  1. このガイドの手順に沿って、ダイレクト VPC 下り(外向き)を使用するようにサービスまたはジョブを更新します。
  2. トラフィックを小さく分割して、トラフィックが正常に機能することを確認します。
  3. トラフィック分割を更新して、ダイレクト VPC 下り(外向き)を使用してすべてのトラフィックを新しいリビジョンに送信します。

サービスのダイレクト VPC 下り(外向き)を使用するトラフィックを移行するには、Google Cloud コンソールまたは Google Cloud CLI を使用します。

コンソール

  1. Google Cloud コンソールで [Cloud Run] ページに移動します。

    Cloud Run に移動

  2. コネクタからダイレクト VPC 下り(外向き)に移行するサービスをクリックし、[新しいリビジョンの編集とデプロイ] をクリックします。

  3. [ネットワーキング] タブをクリックします。

  4. [アウトバウンド トラフィック用の VPC に接続する] で、[VPC に直接トラフィックを送信する] をクリックします。

  5. [共有ネットワーク] を選択します。

  6. [ネットワーク] フィールドで、トラフィックを送信する共有 VPC ネットワークを選択します。

  7. [サブネット] フィールドで、サービスが IP アドレスを受信するサブネットを選択します。同じサブネットに複数のサービスをデプロイできます。

  8. 省略可: サービスに関連付けるネットワーク タグの名前を入力します。ネットワーク タグは、リビジョン レベルで指定されます。サービス リビジョンには、network-tag-2 などの異なるネットワーク タグを設定できます。

  9. [トラフィック ルーティング] で、次のいずれかを選択します。

    • プライベート IP へのリクエストだけを VPC に転送し、共有 VPC ネットワーク経由で内部アドレスにのみトラフィックを送信します。
    • すべてのトラフィックを VPC に転送する。すべてのアウトバウンド トラフィックを共有 VPC ネットワーク経由で送信します。
  10. [Deploy] をクリックします。

  11. サービスが共有 VPC ネットワーク上にあることを確認するには、サービスをクリックして、[ネットワーキング] タブをクリックします。ネットワークとサブネットが [VPC] カードに一覧表示されます。

    これで、ファイアウォール ルールで許可されるように、Cloud Run サービスから共有 VPC ネットワーク上の任意のリソースにリクエストを直接送信できます。

gcloud

Google Cloud CLI を使用して、Cloud Run サービスをコネクタからダイレクト VPC 下り(外向き)に移行するには:

  1. 次のコマンドを使用して、共有 VPC ネットワークとサブネットの完全修飾リソース名を指定し、共有サブネットでサービスを更新します。

    gcloud beta run services update SERVICE_NAME \
      --clear-network \
      --network projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK \
      --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME \
      --network-tags NETWORK_TAG_NAMES \
      --vpc-egress=EGRESS_SETTING \
      --region REGION \
      --max-instances MAX
      

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

    • SERVICE_NAME: Cloud Run サービスの名前。
    • IMAGE_URL: サービスのイメージ URL。
    • HOST_PROJECT_ID: 共有 VPC プロジェクトの ID。
    • VPC_NETWORK: 共有 VPC ネットワークの名前。
    • REGION: Cloud Run サービスのリージョン。サブネットのリージョンと一致する必要があります。
    • SUBNET_NAME: サブネットの名前。
    • (省略可)NETWORK_TAG_NAMES: サービスに関連付けるネットワーク タグのカンマ区切り名。サービスの場合、ネットワーク タグはリビジョン レベルで指定されます。サービス リビジョンには、network-tag-2 などの異なるネットワーク タグを設定できます。
    • EGRESS_SETTING: 下り(外向き)設定値
      • all-traffic: すべてのアウトバウンド トラフィックを共有 VPC ネットワーク経由で送信します。
      • private-ranges-only: 共有 VPC ネットワーク経由で内部アドレスにのみトラフィックを送信します。
    • MAX: 共有 VPC ネットワークに使用するインスタンスの最大数。サービスで許可されるインスタンスの最大数は 100 です。

    より詳しい情報とオプションの引数については、gcloud のリファレンスをご覧ください。

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

    gcloud beta run services describe SERVICE_NAME \
    --region=REGION
    

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

    • SERVICE_NAME: 実際のサービスの名前。
    • REGION: 前の手順で指定したサービスのリージョン。

    出力には、ネットワークの名前、サブネット、下り(外向き)設定が含まれます。次に例を示します。

    VPC access:
      Network:       default
      Subnet:        subnet
      Egress:        private-ranges-only
    

これで、ファイアウォール ルールで許可されるように、Cloud Run サービスから共有 VPC ネットワーク上の任意のリソースにリクエストを送信できます。

ジョブをダイレクト VPC 下り(外向き)に移行する

Google Cloud コンソールまたは Google Cloud CLI を使用して、ジョブのダイレクト VPC 下り(外向き)を使用するトラフィックを移行できます。

コンソール

  1. Google Cloud コンソールで [Cloud Run] ページに移動します。

    Cloud Run に移動

  2. コネクタからダイレクト VPC 下り(外向き)に移行するジョブをクリックし、[編集] をクリックします。

  3. [ネットワーキング] タブをクリックします。

  4. [コンテナ、変数とシークレット、接続、セキュリティ] をクリックして、ジョブのプロパティ ページを開きます。

  5. [接続] タブをクリックします。

  6. [アウトバウンド トラフィック用の VPC に接続する] で、[VPC に直接トラフィックを送信する] をクリックします。

  7. [共有ネットワーク] を選択します。

  8. [ネットワーク] フィールドで、トラフィックを送信する共有 VPC ネットワークを選択します。

  9. [サブネット] フィールドで、ジョブが IP アドレスを受信するサブネットを選択します。同じサブネットで複数のジョブをデプロイできます。

  10. 省略可: ジョブに関連付けるネットワーク タグの名前を入力します。ジョブの場合、ネットワーク タグは実行レベルで指定されます。ジョブ実行ごとに異なるネットワーク タグ(network-tag-2 など)を設定できます。

  11. [トラフィック ルーティング] で、次のいずれかを選択します。

    • プライベート IP へのリクエストだけを VPC に転送し、共有 VPC ネットワーク経由で内部アドレスにのみトラフィックを送信します。
    • すべてのトラフィックを VPC に転送する。すべてのアウトバウンド トラフィックを共有 VPC ネットワーク経由で送信します。
  12. [更新] をクリックします。

  13. ジョブが共有 VPC ネットワーク上にあることを確認するには、ジョブをクリックして [構成] タブをクリックします。ネットワークとサブネットが [VPC] カードに一覧表示されます。

これで、ファイアウォール ルールで許可されているように、Cloud Run ジョブを実行して、共有 VPC ネットワーク上の任意のリソースにリクエストを送信できます。

gcloud

Google Cloud CLI を使用して、Cloud Run ジョブをコネクタからダイレクト VPC 下り(外向き)に移行するには:

  1. 次のフラグを指定した gcloud run jobs update コマンドを実行し、共有 VPC ネットワークからジョブを切断します。

    gcloud run jobs update JOB_NAME --region=REGION \
    --clear-network
    

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

    • JOB_NAME: Cloud Run ジョブの名前。
    • REGION: Cloud Run ジョブのリージョン。
  2. 次のコマンドを使用して、共有 VPC ネットワークとサブネットの完全修飾リソース名を指定し、共有サブネットでジョブを更新します。

    gcloud beta run jobs create JOB_NAME \
      --clear-network \
      --image IMAGE_URL \
      --network projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK \
      --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME \
      --network-tags NETWORK_TAG_NAMES \
      --vpc-egress=EGRESS_SETTING \
      --region REGION \
      --max-instances MAX
      

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

    • JOB_NAME: Cloud Run ジョブの名前。
    • IMAGE_URL: ジョブのイメージ URL。
    • HOST_PROJECT_ID: 共有 VPC プロジェクトの ID。
    • VPC_NETWORK: 共有 VPC ネットワークの名前。
    • REGION: Cloud Run ジョブのリージョン。サブネットのリージョンと一致する必要があります。
    • SUBNET_NAME: サブネットの名前。
    • (省略可)NETWORK_TAG_NAMES: ジョブに関連付けるネットワーク タグのカンマ区切り名。ジョブ実行ごとに異なるネットワーク タグ(network-tag-2 など)を設定できます。
    • EGRESS_SETTING: 下り(外向き)設定値
      • all-traffic: すべてのアウトバウンド トラフィックを共有 VPC ネットワーク経由で送信します。
      • private-ranges-only: 共有 VPC ネットワーク経由で内部アドレスにのみトラフィックを送信します。

    より詳しい情報とオプションの引数については、gcloud のリファレンスをご覧ください。

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

    gcloud beta run jobs describe JOB_NAME \
    --region=REGION
    

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

    • JOB_NAME: ジョブの名前。
    • REGION: 前の手順で指定したジョブのリージョン。

    出力には、ネットワークの名前、サブネット、下り(外向き)設定が含まれます。次に例を示します。

    VPC access:
      Network:       default
      Subnet:        subnet
      Egress:        private-ranges-only
    

これで、ファイアウォール ルールで許可されるように、Cloud Run ジョブから共有 VPC ネットワーク上の任意のリソースにリクエストを送信できます。