共有 VPC サービス プロジェクトでコネクタを構成する

組織で共有 VPC を使用している場合は、サーバーレス VPC アクセス コネクタをサービス プロジェクトまたはホスト プロジェクトのいずれかで設定できます。このガイドでは、サービス プロジェクトでコネクタを設定する方法について説明します。

ホスト プロジェクトでコネクタを設定する必要がある場合は、ホスト プロジェクトでコネクタを構成するをご覧ください。各方法の利点については、共有 VPC ネットワークへの接続をご覧ください。

大まかには、次の手順を行う必要があります。

  1. 権限を付与する
  2. サブネットを作成する
  3. サーバーレス VPC アクセスの構成ページの次のセクションの手順を完了します。

サービス プロジェクトのサービス アカウントに権限を付与する

共有 VPC 管理者は、VPC コネクタを使用する各サービス プロジェクトについて、ホスト プロジェクトでの Compute ネットワーク ユーザー ロール(compute.networkUser)をサービス プロジェクト cloudservicesvpcaccess サービス アカウントに付与する必要があります。

ロールを付与するには:

  1. 次のコマンドを使用します。

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
    --role "roles/compute.networkUser" \
    --member "serviceAccount:service-SERVICE_PROJECT_NUMBER@gcp-sa-vpcaccess.iam.gserviceaccount.com"
    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
    --role "roles/compute.networkUser" \
    --member "serviceAccount:SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com"
  2. @gcp-sa-vpcaccess サービス アカウントが存在しない場合は、サービス プロジェクトでサーバーレス VPC アクセス API を有効にしてから、もう一度お試しください。

    gcloud services enable vpcaccess.googleapis.com

これらのサービス アカウントに共有 VPC ネットワーク全体へのアクセスを許可せず、特定のサブネットにのみアクセス権を付与する場合は、代わりにこれらのロールを特定のサブネット上のサービス アカウントのみに付与することもできます。

サブネットを作成する

共有 VPC を使用する場合、共有 VPC 管理者はコネクタごとにサブネットを作成する必要があります。サブネットの追加の説明に沿って、共有 VPC ネットワークに /28 サブネットを追加します。このサブネットは、コネクタを使用するサーバーレス サービスと同じリージョンに存在する必要があります。

次のステップ