標準の VPC コネクタからダイレクト 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. [ネットワーク] フィールドで、トラフィックを送信する VPC ネットワークを選択します。

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

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

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

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

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

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

gcloud

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

  1. 次のコマンドを使用して Cloud Run サービスを更新します。

    gcloud beta run services update SERVICE_NAME \
    --clear-vpc-connector \
    --network=NETWORK \
    --subnet=SUBNET \
    --network-tags=NETWORK_TAG_NAMES \
    --vpc-egress=EGRESS_SETTING \
    --region=REGION

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

    • SERVICE_NAME: 実際のサービスの名前。
    • NETWORK: VPC ネットワークの名前。
    • SUBNET: サブネットの名前。複数のサービスまたはジョブを同じサブネットにデプロイまたは実行できます。
    • (省略可)NETWORK_TAG_NAMES: サービスに関連付けるネットワーク タグのカンマ区切り名。サービスの場合、ネットワーク タグはリビジョン レベルで指定されます。サービス リビジョンには、network-tag-2 などの異なるネットワーク タグを設定できます。
    • EGRESS_SETTING: 下り(外向き)設定値
      • all-traffic: すべてのアウトバウンド トラフィックを VPC ネットワーク経由で送信します。
      • private-ranges-only: VPC ネットワーク経由で内部アドレスにのみトラフィックを送信します。
    • REGION: サービスのリージョン。
  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. [ネットワーク] フィールドで、トラフィックを送信する VPC ネットワークを選択します。

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

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

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

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

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

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

gcloud

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

  1. 次のコマンドを使用して Cloud Run ジョブを更新します。

    gcloud run jobs update JOB_NAME \
    --clear-network \
    --image=IMAGE_URL \
    --network=NETWORK \
    --subnet=SUBNET \
    --network-tags=NETWORK_TAG_NAMES \
    --vpc-egress=EGRESS_SETTING \
    --region=REGION

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

    • JOB_NAME: ジョブの名前。
    • NETWORK: VPC ネットワークの名前。
    • SUBNET: サブネットの名前。複数のサービスまたはジョブを同じサブネットにデプロイまたは実行できます。
    • (省略可)NETWORK_TAG_NAMES: ジョブに関連付けるネットワーク タグの名前。ジョブの場合、ネットワーク タグは実行レベルで指定されます。ジョブ実行ごとに異なるネットワーク タグ(network-tag-2 など)を設定できます。
    • EGRESS_SETTING: 下り(外向き)設定値
      • all-traffic: すべてのアウトバウンド トラフィックを VPC ネットワーク経由で送信します。
      • private-ranges-only: VPC ネットワーク経由で内部アドレスにのみトラフィックを送信します。
    • REGION: ジョブのリージョン。
  2. ジョブが 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 ネットワーク上の任意のリソースにリクエストを送信できます。