Private Service Connect バックエンドを作成する
ポリシーの適用にロードバランサを使用すると、Private Service Connect バックエンドを使用して、サポートされているサービスに接続できます。Private Service Connect ネットワーク エンドポイント グループ(NEG)を含むバックエンドにマッピングされた転送ルールを介してサービスに接続します。
サポートされているサービスと構成の詳細については、Private Service Connect バックエンドについてをご覧ください。
このガイドでは、Private Service Connect NEG をロードバランサに追加して、Google API または公開サービスにアクセスする方法について説明します。このガイドでは、ロードバランサの完全な構成については説明していません。
Private Service Connect バックエンドを使用してロードバランサを作成する手順については、以下をご覧ください。
ロール
このガイドで説明するタスクの実行に必要な権限は、Compute ロードバランサ管理者のロール(roles/compute.loadBalancerAdmin
)に含まれています。
始める前に
接続する API またはサービスを決定します。
Google API の場合:
- リージョン サービス エンドポイントを選択します。
公開サービスの場合:
独自のサービスを公開する場合は、マネージド サービスを公開するをご覧ください。
Google Cloud またはサードパーティ マネージド サービスに接続している場合は、プロデューサーに以下の情報を問い合わせてください。
接続するサービスのサービス アタッチメントの URI。
リクエストの送信に使用する DNS 名の要件。URL マップ構成で特定の DNS 名が必要になる場合があります。
接続するサービスをサポートするロードバランサの種類を特定します。詳細については、サポートされているロードバランサとターゲットをご覧ください。
更新対象のロードバランサについて、よく理解している必要があります。このガイドでは、Private Service Connect NEG をロードバランサに追加する方法について説明しますが、他の構成手順が必要になることもあります。詳細については、ロードバランサのドキュメントをご覧ください。
- グローバル外部 HTTP(S) ロードバランサとリージョン外部 HTTP(S) ロードバランサについては、外部 HTTP(S) ロードバランサの概要をご覧ください。
- 内部 HTTP(S) ロードバランサの詳細については、内部 HTTP(S) ロードバランサの概要をご覧ください。
- 内部リージョン TCP プロキシ ロードバランサの詳細については、内部リージョン TCP プロキシ ロードバランサの概要をご覧ください。
- 外部リージョン TCP プロキシ ロードバランサの詳細については、外部 TCP プロキシ ロードバランサの概要をご覧ください。
Private Service Connect NEG を作成する
NEG を作成するときに、接続するターゲットのタイプを選択します。
- 公開サービス
- リージョンの Google API
公開サービスに接続するための NEG を作成する
公開サービスを参照する NEG を作成する場合は、そのサービスのサービス アタッチメント URI が必要です。このサービス アタッチメントの形式は projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
のようになります。
コンソール
Google Cloud コンソールで、[ネットワーク エンドポイント グループ] ページに移動します。
[ネットワーク エンドポイント グループを作成] をクリックします。
ネットワーク エンドポイント グループの名前を入力します。
[ネットワーク エンドポイント グループの種類] で [ネットワーク エンドポイント グループ(Private Service Connect)] を選択します。
ターゲットを構成します。
- [ターゲット] で [公開済みのサービス] を選択します。
- [ターゲット サービス] に、サービス アタッチメントの URI を入力します。
ネットワーク エンドポイント グループを作成するネットワークとサブネットを選択します。
サブネットは、公開済みのサービスと同じリージョンに存在する必要があります。
[作成] をクリックします。
gcloud
gcloud compute network-endpoint-groups create
コマンドを使用します。
gcloud compute network-endpoint-groups create NEG_NAME \ --network-endpoint-type=private-service-connect \ --psc-target-service=TARGET_SERVICE \ --region=REGION \ --network=NETWORK \ --subnet=SUBNET
次のように置き換えます。
NEG_NAME
: ネットワーク エンドポイント グループの名前。TARGET_SERVICE
: サービス アタッチメントの URI。REGION
: ネットワーク エンドポイント グループを作成するリージョン。リージョンは、ターゲット サービスと同じリージョンにする必要があります。NETWORK
: ネットワーク エンドポイント グループを作成するネットワーク。省略すると、デフォルト ネットワークが使用されます。SUBNET
: ネットワーク エンドポイント グループを作成するサブネット。サブネットは、ターゲット サービスと同じリージョンに存在する必要があります。ネットワークを指定する場合は、サブネットを指定する必要があります。ネットワークとサブネットの両方を省略すると、デフォルト ネットワークが使用され、指定されたREGION
のデフォルトのサブネットが使用されます。
NEG を作成してリージョン Google API に接続する
NEG を作成して、リージョンの Google API に接続できます。
コンソール
Google Cloud コンソールで、[ネットワーク エンドポイント グループ] ページに移動します。
[ネットワーク エンドポイント グループを作成] をクリックします。
ネットワーク エンドポイント グループの名前を入力します。
[ネットワーク エンドポイント グループの種類] で [ネットワーク エンドポイント グループ(Private Service Connect)] を選択します。
ターゲットを構成します。
- [ターゲット] で [Google API] を選択します。
- リージョンとターゲット サービスを選択します。
[作成] をクリックします。
gcloud
gcloud compute network-endpoint-groups create
コマンドを使用します。
gcloud compute network-endpoint-groups create NEG_NAME \ --network-endpoint-type=private-service-connect \ --psc-target-service=TARGET_SERVICE \ --region=REGION
次のように置き換えます。
NEG_NAME
: ネットワーク エンドポイント グループの名前。TARGET_SERVICE
: 接続するリージョン サービス エンドポイント。REGION
: ネットワーク エンドポイント グループを作成するリージョン。リージョンは、ターゲット サービスと同じリージョンにする必要があります。
ロードバランサに Private Service Connect バックエンドを追加する
Private Service Connect NEG バックエンドにトラフィックを転送するように、サポートされているロードバランサを構成できます。
サポートされている構成の詳細については、仕様をご覧ください。
HTTP(S) ロードバランサにバックエンドを追加する
NEG をグローバル外部 HTTP(S) ロードバランサ、リージョン内部 HTTP(S) ロードバランサ、またはリージョン外部 HTTP(S) ロードバランサに追加します。
コンソール
ロードバランサを編集する
Google Cloud コンソールで、[ロード バランシング] ページに移動します。
変更するロードバランサをクリックします。
[編集] をクリックします。
バックエンド構成を更新する
- [バックエンドの構成] をクリックします。
- バックエンド サービスのリストを開き、[バックエンド サービスを作成] を選択します。
- バックエンド サービスの名前を入力します。
- [バックエンド タイプ] を Private Service Connect ネットワーク エンドポイント グループに設定します。
- [バックエンド] セクションで [Private Service Connect ネットワーク エンドポイント グループ] リストをクリックし、作成した Private Service Connect NEG を選択します。[完了] をクリックします。
複数のリージョンの公開サービスに接続するようにグローバル外部 HTTP(S) ロードバランサを構成し、複数の Private Service Connect NEG を作成した場合は、[バックエンドを追加] をクリックして別の NEG を選択します。
このマネージド サービスのすべての NEG がバックエンド サービスに追加されるまで、この手順を繰り返します。
[作成] をクリックします。
ルーティング ルールを更新する
- [ルーティング ルール] をクリックします。
- 追加した各バックエンド サービスのホストとパスを入力します。
- 構成を確認するには、[確認と完了] をクリックします。
- [作成] をクリックします。
gcloud
バックエンド構成を更新する
ターゲット サービスのバックエンド サービスを作成します。
バックエンド サービスをリージョン ロードバランサに追加する場合は、
--region
フラグを使用してロードバランサと同じリージョンを指定します。gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=SCHEME \ --protocol=HTTPS \ --region=REGION
次のように置き換えます。
BACKEND_SERVICE_NAME
: バックエンド サービスの名前。SCHEME
: 変更するロードバランサのロード バランシング スキーム(以下を参照)- リージョン外部 HTTP(S) ロードバランサの場合は、
EXTERNAL_MANAGED
を使用します。 - リージョン内部 HTTP(S) ロードバランサの場合は、
INTERNAL_MANAGED
を使用します。
- リージョン外部 HTTP(S) ロードバランサの場合は、
REGION
: バックエンド サービスのリージョン。NEG と同じリージョンを使用します。
バックエンド サービスをグローバル外部 HTTP(S) ロードバランサに追加する場合は、
--global
フラグを使用します。gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTPS \ --global
BACKEND_SERVICE_NAME
は、バックエンド サービスの名前に置き換えます。
ターゲット サービスを指す Private Service Connect NEG を追加します。
バックエンド サービスをリージョン ロードバランサに追加する場合は、
--region
フラグを使用してロードバランサと同じリージョンを指定します。gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --network-endpoint-group=NEG_NAME \ --network-endpoint-group-region=NEG_REGION \ --region-REGION
次のように置き換えます。
BACKEND_SERVICE_NAME
: バックエンド サービスの名前。NEG_NAME
: ネットワーク エンドポイント グループの名前。NEG_REGION
: ネットワーク エンドポイント グループのリージョン。REGION
: バックエンド サービスのリージョン。
バックエンド サービスをグローバル外部 HTTP(S) ロードバランサに追加する場合は、
--global
フラグを使用します。同じサービスの複数のリージョンに複数の NEG を作成している場合は、この手順を繰り返して、すべての NEG をバックエンド サービスに追加します。
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --network-endpoint-group=NEG_NAME \ --network-endpoint-group-region=NEG_REGION \ --global
次のように置き換えます。
BACKEND_SERVICE_NAME
: バックエンド サービスの名前。NEG_NAME
: ネットワーク エンドポイント グループの名前。NEG_REGION
: ネットワーク エンドポイント グループのリージョン。
ルーティング ルールを更新する
作成したバックエンド サービスごとに、ロードバランサの URL マップにパスマッチャーを追加します。
URL マップがリージョンの場合は、
--region
フラグを使用してリージョンを指定します。gcloud compute url-maps add-path-matcher URL_MAP_NAME \ --path-matcher-name=PATH_MATCHER \ --default-service=BACKEND_SERVICE_NAME \ --region=REGION
次のように置き換えます。
URL_MAP_NAME
: URL マップの名前。PATH_MATCHER
: パスマッチャーの名前。BACKEND_SERVICE_NAME
: バックエンド サービスの名前。REGION
: URL マップのリージョン。
URL マップがグローバルの場合は、
--global
フラグを指定します。gcloud compute url-maps add-path-matcher URL_MAP_NAME \ --path-matcher-name=PATH_MATCHER \ --default-service=BACKEND_SERVICE_NAME \ --global
次のように置き換えます。
URL_MAP_NAME
: URL マップの名前。PATH_MATCHER
: パスマッチャーの名前。BACKEND_SERVICE_NAME
: バックエンド サービスの名前。
ホスト名ごとに、ホストルールを追加します。
各ホストルールが参照できるパスマッチャーは 1 つだけです。また、2 つ以上のホストルールが同じパスマッチャーを参照できます。
URL マップがリージョンの場合は、
--region
フラグを使用してリージョンを指定します。gcloud compute url-maps add-host-rule URL_MAP_NAME \ --hosts=HOST \ --path-matcher-name=PATH_MATCHER \ --region=REGION
次のように置き換えます。
URL_MAP_NAME
: URL マップの名前。HOST
: このサービスのリクエストを送信するホスト名。PATH_MATCHER
: パスマッチャーの名前。REGION
: URL マップのリージョン。
URL マップがグローバルの場合は、
--global
フラグを指定します。gcloud compute url-maps add-host-rule URL_MAP_NAME \ --hosts=HOST \ --path-matcher-name=PATH_MATCHER \ --global
次のように置き換えます。
URL_MAP_NAME
: URL マップの名前。HOST
: このサービスのリクエストを送信するホスト名。PATH_MATCHER
: パスマッチャーの名前。
内部リージョン TCP プロキシ ロードバランサにバックエンドを追加する
NEG が公開サービスを参照している場合、Private Service Connect NEG バックエンドを内部リージョン TCP プロキシ ロードバランサに追加できます。 内部リージョン TCP プロキシ ロードバランサは、1 つのバックエンド サービスのみをサポートします。
内部リージョン TCP プロキシ ロードバランサを構成するには、ゾーン バックエンドを使用して内部リージョン TCP プロキシ ロードバランサを設定するの手順に沿って操作します。ただし、「ゾーン NEG を作成する」の手順またはヘルスチェックの設定は完了しないでください。ゾーン NEG を構成する代わりに、次の手順で Private Service Connect バックエンドに Private Service Connect NEG を追加します。
コンソール
- 作成する内部リージョン TCP プロキシ ロードバランサで、[バックエンドの構成] をクリックします。
- [バックエンド タイプ] で [Private Service Connect ネットワーク エンドポイント グループ] を選択します。
- [新しいバックエンド] で、作成した NEG を選択します。
- 残りのデフォルト値は変更せずに、[完了] をクリックします。
- Google Cloud コンソールで、[バックエンドの構成] の横にチェックマークが表示されていることを確認します。チェックマークがない場合は、すべての手順を完了したことを再度確認します。
gcloud
ターゲット サービスのバックエンド サービスを作成します。
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=TCP \ --region=REGION
次のように置き換えます。
BACKEND_SERVICE_NAME
: バックエンド サービスの名前。REGION
: バックエンド サービスのリージョン。NEG と同じリージョンを使用します。
ターゲット サービスを指す Private Service Connect NEG を追加します。
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --network-endpoint-group=NEG_NAME \ --network-endpoint-group-region=NEG_REGION \ --region=REGION
次のように置き換えます。
BACKEND_SERVICE_NAME
: バックエンド サービスの名前。NEG_NAME
: ネットワーク エンドポイント グループの名前。NEG_REGION
: ネットワーク エンドポイント グループのリージョン。REGION
: バックエンド サービスのリージョン。
外部リージョン TCP プロキシ ロードバランサにバックエンドを追加する
NEG が公開サービスを参照している場合、Private Service Connect NEG バックエンドを外部リージョン TCP プロキシ ロードバランサに追加できます。外部リージョン TCP プロキシ ロードバランサは、1 つのバックエンド サービスのみをサポートします。
外部リージョン TCP プロキシ ロードバランサを構成するには、ゾーン バックエンドを使用して外部リージョン TCP プロキシ ロードバランサを設定するの手順に沿って操作します。ただし、「ゾーン NEG を作成する」の手順またはヘルスチェックの設定は完了しないでください。ゾーン NEG を構成する代わりに、次の手順で Private Service Connect バックエンドに Private Service Connect NEG を追加します。
コンソール
- 作成する外部リージョン TCP プロキシ ロードバランサで、[バックエンドの構成] をクリックします。
- [バックエンド タイプ] で [Private Service Connect ネットワーク エンドポイント グループ] を選択します。
- [新しいバックエンド] で、作成した NEG を選択します。
- 残りのデフォルト値は変更せずに、[完了] をクリックします。
- Google Cloud コンソールで、[バックエンドの構成] の横にチェックマークが表示されていることを確認します。チェックマークがない場合は、すべての手順を完了したことを再度確認します。
gcloud
ターゲット サービスのバックエンド サービスを作成します。
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=TCP \ --region=REGION
次のように置き換えます。
BACKEND_SERVICE_NAME
: バックエンド サービスの名前。REGION
: バックエンド サービスのリージョン。NEG と同じリージョンを使用します。
ターゲット サービスを指す Private Service Connect NEG を追加します。
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --network-endpoint-group=NEG_NAME \ --network-endpoint-group-region=NEG_REGION \ --region=REGION
次のように置き換えます。
BACKEND_SERVICE_NAME
: バックエンド サービスの名前。NEG_NAME
: ネットワーク エンドポイント グループの名前。NEG_REGION
: ネットワーク エンドポイント グループのリージョン。REGION
: バックエンド サービスのリージョン。