VPC ネットワークへの接続

このページでは、サーバーレス VPC アクセスを使用して、Cloud Functions を VPC ネットワークに直接接続し、Compute Engine VM インスタンス、Memorystore インスタンス、内部 IP アドレスを持つその他のリソースへのアクセスを可能にする方法について説明します。

サーバーレス VPC アクセスを使用するには、まず、VPC ネットワークとの通信を処理するサーバーレス VPC アクセス コネクタを作成する必要があります。コネクタを作成した後、そのコネクタを使用するように Cloud Functions を構成します。

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

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

コネクタを使用する関数を構成する

Google Cloud Console または gcloud コマンドライン ツールからコネクタを使用するように関数を構成できます。

Console

  1. Cloud Console で Cloud Functions の概要ページに移動します。

    Cloud Functions に移動

  2. [関数を作成] をクリックします。または、既存の関数をクリックしてその詳細ページに移動し、[編集] をクリックします。

  3. [変数、ネットワーク、詳細設定] をクリックして、詳細設定を表示します。

  4. [接続] タブで、[VPC コネクタ] フィールドにコネクタの名前を入力するか、フィールドを削除してサービスを VPC ネットワークから切断します。

gcloud

gcloud functions deploy コマンドを使用して関数をデプロイし、--vpc-connector フラグを指定します。

gcloud functions deploy FUNCTION_NAME \
--vpc-connector CONNECTOR_NAME \
FLAGS...

ここで

  • FUNCTION_NAME は、関数の名前です。
  • CONNECTOR_NAME は、コネクタの名前です。
  • FLAGS... は、関数のデプロイ時に渡す他のフラグです。

--clear-vpc-connector フラグを使用して、VPC ネットワークから関数の接続を解除します。

gcloud functions deploy FUNCTION_NAME \
--clear-vpc-connector \
FLAGS...

コネクタ経由で転送されるリクエストを制御する方法については、下り(外向き)設定をご覧ください。

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

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

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

    API を有効にする

  3. ホスト プロジェクトの設定が完了したら、サービス プロジェクトに関数をデプロイするときに、コネクタの完全修飾名を使用してホスト プロジェクトのコネクタを指定できます。

    gcloud functions deploy FUNCTION_NAME \
    --vpc-connector projects/HOST_PROJECT_ID/locations/CONNECTOR_REGION/connectors/CONNECTOR_NAME \
    FLAGS...
    

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

次のステップ