このページでは、プライベート ネットワーク アクセスを設定し、 Cloud de Confiance ネットワーク内でトラフィックをルーティングする方法について説明します。
プライベート ネットワーク アクセスを設定するには、次の 3 つのプロジェクトを構成します。
- ターゲット仮想マシン インスタンス(VM)またはターゲット内部ロードバランサで使用される Virtual Private Cloud(VPC)ネットワークを含むプロジェクト。
- Service Directory サービス プロジェクトとして機能するプロジェクト。
- プライベート ネットワーク アクセスを呼び出す構成を持つ Cloud de Confiance プロダクトのプロジェクト。プライベート ネットワーク アクセスを使用してエンドポイントを呼び出すことができる Cloud de Confiance プロダクトの例は、Dialogflow CX です。
プロジェクトのアーティファクトは、同じプロジェクトに存在することも、異なるプロジェクトに存在することもあります。
始める前に
プライベート ネットワーク アクセスを構成する前に、次の手順を完了します。
各プロジェクトの Cloud de Confiance コンソールの [API とサービス] ページで、 [API とサービスを有効にする] をクリックして、Service Directory API を含む使用する API を有効にします。
VPC ネットワークをオンプレミス ホストにリンクするには、Cloud VPN トンネルまたは Cloud Interconnect 接続を作成します。
Cloud de Confiance プロジェクトが、
servicedirectory.googleapis.comのネットワーク プロジェクトと Service Directory プロジェクトの両方の VPC Service Controls 境界内にあることを確認します。VPC Service Controls の詳細を確認する。
VPC ネットワークのプロジェクトを構成する
VPC ネットワークのプロジェクトを構成する手順は次のとおりです。
VPC ネットワークを作成するか、使用するリージョンに IPv4 のみまたはデュアル スタックのサブネットがある既存の VPC ネットワークを選択します。レガシー ネットワークはサポートされていません。
必要な上り(内向き)許可ファイアウォール ルールを作成します。
ターゲットが VM または内部パススルー ネットワーク ロードバランサの場合、ファイアウォール ルールで、
35.199.192.0/19範囲からターゲット VM インスタンスで実行されているソフトウェアで使用されるポートへの TCP トラフィックを許可する必要があります。ターゲットが内部アプリケーション ロードバランサまたは内部プロキシ ネットワーク ロードバランサの場合、ファイアウォール ルールで
35.199.192.0/19範囲からロードバランサで使用される IP アドレスとポートへの TCP トラフィックを許可する必要があります。
35.199.192.0/19範囲の詳細については、Cloud DNS と Service Directory のパスをご覧ください。エンドポイントを呼び出す Cloud de Confiance プロダクトのサービス エージェントに、Identity and Access Management(IAM)Private Service Connect 承認済みサービスロール(
roles/servicedirectory.pscAuthorizedService)を付与します。ロールと権限の詳細については、Service Directory の権限とロールをご覧ください。
Service Directory プロジェクトを構成する
Service Directory プロジェクトを構成する手順は次のとおりです。
VPC ネットワークで、VM を作成するか、内部ロードバランサを作成します。
エンドポイントを呼び出すCloud de Confiance プロダクトのサービス エージェントに IAM Service Directory 閲覧者ロール(
roles/servicedirectory.viewer)を付与します。Service Directory の名前空間とサービスを作成します。次に、次のセクションの手順に沿って、このサービスのエンドポイントを作成します。
プライベート ネットワーク アクセス権を持つエンドポイントを作成する
プライベート ネットワーク アクセスが構成されたエンドポイントを作成する手順は次のとおりです。
コンソール
- Cloud de Confiance コンソールで、[Service Directory 名前空間] ページに移動します。Service Directory の名前空間に移動
- Namespace をクリックします。
- サービスをクリックします。
- [エンドポイントを追加] をクリックします。
- [エンドポイント名] にエンドポイントの名前を入力します。
- [IP アドレス] に、IPv4 アドレス(
192.0.2.0など)を入力します。 - [ポート] に、
443や80などのポート番号を入力します。 - プライベート ネットワーク アクセスを有効にするには、[関連付けられている VPC ネットワーク] で必要なオプションを選択します。
- 利用可能なネットワークのリストから選択するには、[リストから選択] をクリックして、ネットワークを選択します。
- プロジェクトとネットワークを指定するには、[プロジェクト名とネットワーク名で指定する] をクリックし、プロジェクト番号とネットワーク名を入力します。
- [作成] をクリックします。
gcloud
プロジェクト ID とネットワーク パスを指定して、gcloud service-directory endpoints create コマンドを使用します。
gcloud service-directory endpoints create ENDPOINT_NAME \ --project=PROJECT_ID \ --location=REGION \ --namespace=NAMESPACE_NAME \ --service=SERVICE_ID \ --address=IP_ADDRESS \ --port=PORT_NUMBER \ --network=NETWORK_PATH
次のように置き換えます。
ENDPOINT_NAME: サービスで作成するエンドポイントの名前(例:my-endpoint)PROJECT_ID: プロジェクトの IDREGION: Namespace を含む Cloud de Confiance リージョンNAMESPACE_NAME: Namespace に付けた名前(例:my-namespace)SERVICE_ID: サービスの IDIP_ADDRESS: エンドポイントの IP アドレス(192.0.2.0など)PORT_NUMBER: エンドポイントが実行されているポート。通常は443または80NETWORK_PATH: ネットワークの URL(projects/PROJECT_NUMBER/locations/global/networks/NETWORK_NAMEなど)
Cloud de Confiance プロダクト プロジェクトを構成する
Cloud de Confiance プロダクト プロジェクトを構成する手順は次のとおりです。
Cloud de Confiance プロダクト API を有効にします。
作成した Service Directory サービスを呼び出すように Cloud de Confiance プロダクトを構成します。必要な手順は、特定のCloud de Confiance プロダクトによって異なります。
ユースケース
このセクションでは、プライベート ネットワーク アクセスを構成するユースケースの例を示します。
VPC ネットワーク、VM、Service Directory が同じプロジェクトにある場合に HTTP エンドポイントを呼び出す
このユースケースでは、自然言語処理用の Cloud de Confiance プロダクトである Dialogflow CX を設定して、VM の HTTP エンドポイントを呼び出します。エンドポイントを呼び出すときは、トラフィックが公共のインターネットを経由しないようにしてください。
このユースケースでは、同じプロジェクトに次のアーティファクトを作成します。
- VPC ネットワーク
- VM
- Service Directory サービス
- Dialogflow CX
図 1 は、プロジェクトの Google サービス構成が VM に下り(外向き)できるようにする方法を示しています。VM はプロジェクトの VPC ネットワークに存在します。
ネットワークとターゲット ネットワークを設定する
- プロジェクトを作成します(例:
myproject)。 -
VPC ネットワークの作成時に、[サブネット作成モード] で [自動] を選択します。
ファイアウォール ルール(
firewall-1など)を作成します。ファイアウォール ルールを作成するときに、次の値を入力または選択します。
- [ネットワーク] で
vpc-1を選択します。 - [送信元 IPv4 範囲] に「
35.199.192.0/19」と入力します。 - [プロトコルとポート] で [TCP] を選択し、「
443」または「80」と入力します。
- [ネットワーク] で
us-central1リージョンに、vm-1などの VM を作成します。VM の作成時に、次の値を入力または選択します。
- [ネットワーキング>ネットワーク インターフェース] で、
vpc-1を選択します。 - [ファイアウォール] で [HTTP トラフィックを許可する] をオンにします。
HTTPS を使用する場合は、[HTTPS トラフィックを許可する] を選択します。また、公開鍵基盤(PKI)Transport Layer Security(TLS)証明書をインストールしてください。
- [ネットワーキング>ネットワーク インターフェース] で、
us-central1リージョンに、namespace-1などの Namespace を作成します。名前空間に、Service Directory サービス(
sd-1など)を登録します。sd-1にエンドポイントを作成します。エンドポイント アドレスには、ポート443のvm-1の内部 IP アドレスを使用します。詳細については、プライベート ネットワーク アクセスを使用してエンドポイントを作成するをご覧ください。エンドポイントを呼び出すCloud de Confiance プロダクトのサービス エージェントに、次の IAM ロールを付与します。
- Service Directory 閲覧者のロール(
roles/servicedirectory.viewer) - Private Service Connect 承認済みサービス ロール(
roles/servicedirectory.pscAuthorizedService)
- Service Directory 閲覧者のロール(
省略可: VM を追加する場合は、
vm-2などの別の VM を設定し、endpoint-2などのエンドポイントを追加できます。
Cloud de Confiance プロダクトを設定する
- 「Cloud Scheduler、1 分ごとに電話して」などの Cloud de Confiance プロダクト構成を設定します。
- HTTP リクエストを設定します。
- リクエストがプライベート ネットワーキング(
sd-1など)経由で送信されるように指定します。 - 省略可: Certificate Authority Service の設定を構成します。
Cloud de Confiance プロダクトは、sd-1 を使用して HTTP リクエストを呼び出せるようになりました。
共有 VPC ネットワーク、VM、Service Directory が異なるプロジェクトにある場合に HTTP エンドポイントを呼び出す
このユースケースでは、自然言語処理用の Cloud de Confianceサービスである Dialogflow CX を設定して、VM の HTTP エンドポイントを呼び出します。エンドポイントを呼び出すときは、トラフィックが公共のインターネットを経由しないようにしてください。
このユースケースでは、次のアーティファクトを別のプロジェクトに作成します。
- 共有 VPC ネットワーク
- VM
- Service Directory サービス
- Dialogflow CX
プロジェクトを作成する前に、次の点に注意してください。
- API 呼び出しが VPC Service Controls の境界を尊重していることを確認します。
- Cloud de Confiance サービス プロジェクトの構成で、VPC ネットワーク プロジェクトにある VM への下り(外向き)が許可されていることを確認します。
- プロデューサー プロジェクトは、 Cloud de Confiance サービス プロジェクトと同じでない場合があります。
- 両方のプロジェクトの VPC Service Controls 境界が使用されていることを確認します。
- Service Directory プロジェクトとネットワーク プロジェクトを接続する必要はありませんが、両方とも同じ VPC Service Controls の一部である必要があります。
- ネットワークとサービスでは、ファイアウォールと IAM はデフォルトで無効になっています。
図 2 は、VPC Service Controls の境界が適用された限定公開ネットワーク アクセスを使用してトラフィックを送信する方法を示しています。
ネットワーク プロジェクトを構成する
- プロジェクトを作成します(例:
my-vpc-project)。 -
VPC ネットワークの作成時に、[サブネット作成モード] で [自動] を選択します。
ファイアウォール ルール(
firewall-1など)を作成します。ルールを作成するときに、次の値を入力または選択します。
- [ネットワーク] で
vpc-1を選択します。 - [送信元 IPv4 範囲] に「
35.199.192.0/19」と入力します。 - [プロトコルとポート] で [TCP] を選択し、「
443」または「80」と入力します。
- [ネットワーク] で
us-central1リージョンに、vm-1などの VM を作成します。VM の作成時に、次の値を入力または選択します。
- [ネットワーキング>ネットワーク インターフェース] で、
vpc-1を選択します。 - [ファイアウォール] で [HTTP トラフィックを許可する] をオンにします。
HTTPS を使用する場合は、[HTTPS トラフィックを許可する] を選択します。また、公開鍵基盤(PKI)Transport Layer Security(TLS)証明書をインストールしてください。
- [ネットワーキング>ネットワーク インターフェース] で、
VPC Service Controls を使用している場合、VPC Service Controls 境界により、Service Directory は Cloud de Confiance サービス プロジェクトと Service Directory プロジェクトの両方に接続できます。
Service Directory プロジェクトを構成する
プロジェクトを作成します(例:
my-sd-project)。VPC ネットワーク プロジェクトと Service Directory プロジェクトは異なるプロジェクトであるため、追加の IAM 権限が必要です。
ネットワーク プロジェクトから、Service Directory エンドポイントを作成する IAM プリンシパルに Service Directory ネットワーク アタッチャー ロール(
roles/servicedirectory.networkAttacher)を付与します。VPC ネットワーク内の VM を指す Service Directory エンドポイントを作成します。
us-central1リージョンに、namespace-1などの Namespace を作成します。- 名前空間に、Service Directory サービス(
sd-1など)を登録します。 sd-1にエンドポイントを作成します。エンドポイント アドレスには、ポート443のvm-1の内部 IP アドレスを使用します。詳細については、プライベート ネットワーク アクセスを使用してエンドポイントを作成するをご覧ください。
エンドポイントを呼び出すCloud de Confiance プロダクトのサービス エージェントに、次の IAM ロールを付与します。
- Service Directory プロジェクトの Service Directory 閲覧者ロール(
roles/servicedirectory.viewer) - ネットワーク プロジェクトの Private Service Connect 承認済みサービス ロール(
roles/servicedirectory.pscAuthorizedService)
- Service Directory プロジェクトの Service Directory 閲覧者ロール(
VPC Service Controls を使用している場合、VPC Service Controls 境界により、Service Directory は Cloud de Confiance サービス プロジェクトと Service Directory プロジェクトの両方に接続できます。
Cloud de Confiance サービス プロジェクトを構成する
- 使用している Cloud de Confiance サービスの API を有効にします。
- Cloud de Confiance サービス
PUSHを構成するには、Service Directory プロジェクトの Service Directory サービスを使用します。
VPC Service Controls を使用している場合、VPC Service Controls 境界により、Service Directory はネットワーク プロジェクトと Service Directory プロジェクトの両方に接続できます。
Dialogflow で Service Directory のプライベート ネットワーク アクセスを使用する
Dialogflow で Service Directory プライベート ネットワーク アクセスを使用する方法については、Service Directory を使用したプライベート ネットワーク アクセスをご覧ください。
次のステップ
- Service Directory の概要については、Service Directory の概要をご覧ください。
- Private Service Connect の詳細については、 Private Service Connect をご覧ください。
- Service Directory の使用時に発生する可能性のある一般的な問題の解決策については、トラブルシューティングをご覧ください。