このページでは、サーバーレス VPC アクセスを使用して、Cloud Functions を VPC ネットワークに直接接続し、Compute Engine VM インスタンス、Memorystore インスタンス、内部 IP アドレスを持つその他のリソースへのアクセスを可能にする方法について説明します。
サーバーレス VPC アクセスを使用するには、まず、VPC ネットワークとの通信を処理するサーバーレス VPC アクセス コネクタを作成する必要があります。コネクタを作成した後、そのコネクタを使用するように Cloud Functions を構成します。
サーバーレス VPC アクセス コネクタの作成
サーバーレス VPC アクセス コネクタを作成する方法について詳しくは、コネクタの作成をご覧ください。
コネクタを使用する関数を構成する
Google Cloud Console または gcloud
コマンドライン ツールからコネクタを使用するように関数を構成できます。
Console
Cloud Console で Cloud Functions の概要ページに移動します。
[関数を作成] をクリックします。または、既存の関数をクリックしてその詳細ページに移動し、[編集] をクリックします。
[変数、ネットワーク、詳細設定] をクリックして、詳細設定を表示します。
[接続] タブで、[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 ネットワークに接続できます。
- ホスト プロジェクトの管理者が、共有 VPC ネットワークの使用の説明に従って設定を完了していることを確認します。この設定で、ホスト プロジェクトでサーバーレス VPC アクセス コネクタを作成し、共有 VPC ネットワークに接続していることも確認します。
サービス プロジェクトでサーバーレス VPC アクセス API を有効にします。
ホスト プロジェクトの設定が完了したら、サービス プロジェクトに関数をデプロイするときに、コネクタの完全修飾名を使用してホスト プロジェクトのコネクタを指定できます。
gcloud functions deploy FUNCTION_NAME \ --vpc-connector projects/HOST_PROJECT_ID/locations/CONNECTOR_REGION/connectors/CONNECTOR_NAME \ FLAGS...
これにより、関数が共有 VPC ネットワークに接続されます。
次のステップ
- サーバーレス VPC アクセスについて学習する。
- Cloud Functions から Memorystore に接続する方法を学習する。
- Cloud Functions ネットワーク設定について学習する。
- Cloud Functions で VPC Service Controls を使用する方法を学習する。