VPC ネットワークへの接続

このページでは、サーバーレス VPC アクセスを使用して、Cloud Run(フルマネージド)サービスを VPC ネットワークに直接接続する方法を説明しています。これにより、Compute Engine VM インスタンス、Memorystore インスタンスなどのリソースに内部 IP アドレスでアクセスできます。

サーバーレス VPC アクセスを使用するには、まず、VPC ネットワークとの通信を処理するサーバーレス VPC アクセス コネクタを作成する必要があります。コネクタを作成したら、そのコネクタを使用するように Cloud Run(フルマネージド)サービス構成を設定します。

サーバーレス VPC アクセス コネクタの作成

サーバーレス VPC アクセス コネクタを作成する方法について詳しくは、コネクタの作成をご覧ください。

コネクタを使用するサービスの構成

新しいサービスを作成するときや新しいリビジョンをデプロイするときに、Cloud Console、コマンドライン、YAML ファイルのいずれかで、コネクタを使用するようにサービスを構成できます。

Console

  1. Cloud Run に移動します

  2. VPC ネットワークに新しいサービスを接続してデプロイする場合は、[サービスの作成] をクリックします。既存のサービスを接続する場合は、そのサービスをクリックし、[新しいリビジョンの編集とデプロイ] をクリックします。

  3. [詳細設定を表示] をクリックし、[接続] タブに移動します。

  4. [VPC コネクタ] フィールドで、使用するコネクタを選択するか、[なし] を選択してサービスを VPC ネットワークから切断します。

  5. [作成] または [デプロイ] をクリックします。

コマンドライン

デプロイ中にコネクタを指定するには、--vpc-connector フラグを使用します。

gcloud run deploy SERVICE --image IMAGE_URL --vpc-connector CONNECTOR_NAME
  • IMAGE_URL は、コンテナ イメージへの参照(gcr.io/myproject/my-image:latest など)に置き換えます。
  • CONNECTOR_NAME は、コネクタの名前に置き換えます。

既存のサービスのコネクタを接続、更新、削除するには、必要に応じて次のいずれかのフラグを指定して gcloud run services update コマンドを使用します。

たとえば、コネクタを接続または更新するには、次のコマンドを使用します。

gcloud run services update SERVICE --vpc-connector CONNECTOR_NAME
  • SERVICE は、実際のサービス名に置き換えます。
  • CONNECTOR_NAME は、コネクタの名前に置き換えます。

YAML

既存のサービス構成をダウンロードして表示するには、gcloud run services describe --format export コマンドを使用します。読みやすく整えられた結果が YAML 形式で出力されます。次に、下記の手順に沿ってフィールドを変更し、gcloud beta run services replace コマンドを使用して変更後の YAML ファイルをアップロードします。必ず説明されているとおりにフィールドを変更してください。

  1. 次のコマンドで、構成を表示してダウンロードします。

    gcloud run services describe SERVICE --format export > service.yaml
  2. 最上位の spec 属性の下の annotations 属性にある run.googleapis.com/vpc-access-connector 属性を追加または更新します。

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/vpc-access-connector: CONNECTOR_NAME
    • SERVICE は、Cloud Run(フルマネージド)サービスの名前に置き換えます。
    • CONNECTOR_NAME は、コネクタの名前に置き換えます。
  3. 次のコマンドを使用して、サービスを新しい構成に置き換えます。

    gcloud beta run services replace service.yaml

共有 VPC ネットワークに接続する

組織で共有 VPC を使用している場合、共有 VPC サービス プロジェクト内の Cloud Run(フルマネージド)サービスは、共有 VPC ホスト プロジェクトでいくつかの構成を行った後、共有 VPC ネットワークに接続できます。

  1. ホスト プロジェクトの管理者が、共有 VPC ネットワークの使用の説明に従って設定を完了していることを確認します。この設定で、ホスト プロジェクトでサーバーレス VPC アクセス コネクタを作成し、共有 VPC ネットワークに接続していることも確認します。
  2. サービス プロジェクトでサーバーレス VPC アクセス API を有効にします。

    API を有効にする

  3. ホスト プロジェクトの設定が完了したら、サービス プロジェクトで Cloud Run(フルマネージド)サービスをデプロイするまたは更新するときに、コネクタの完全修飾名を使用して、ホスト プロジェクトのコネクタを指定できます。例:

    gcloud run deploy SERVICE --image IMAGE_URL \
    --vpc-connector projects/HOST_PROJECT_ID/locations/CONNECTOR_REGION/connectors/CONNECTOR_NAME

    これにより、サービスが共有 VPC ネットワークに接続されます。

次のステップ