エンドポイントを介した公開サービスへのアクセスについて
このドキュメントでは、Private Service Connect エンドポイントを使用して、別の VPC ネットワーク内のサービスに接続する方法の概要を説明します。自社のサービスに接続することも、他のサービス提供者(Google を含む)が提供するサービスに接続することもできます。
クライアントは、内部 IP アドレスを使用してエンドポイントに接続します。Private Service Connect は、ネットワーク アドレス変換(NAT)を行い、リクエストをサービスに転送します。
公開サービスの詳細については、公開サービスについてをご覧ください。
機能と互換性
次の表で、 は機能がサポートされていることを示し、 は機能がサポートされていないことを示します。
コンシューマーの構成
次の表は、サポートされている構成オプションと、公開サービスにアクセスするエンドポイントの機能をまとめたものです。
コンシューマーの構成(エンドポイント) | プロデューサー ロードバランサ | |||
---|---|---|---|---|
内部パススルー ネットワーク ロードバランサ | リージョン内部アプリケーション ロードバランサ | リージョン内部プロキシ ネットワーク ロードバランサ | 内部プロトコル転送(ターゲット インスタンス) | |
コンシューマーのグローバル アクセス |
ロードバランサのグローバル アクセス設定に依存しない |
サービス アタッチメントの作成前にロードバランサでグローバル アクセスが有効になっている場合のみ |
サービス アタッチメントの作成前にロードバランサでグローバル アクセスが有効になっている場合のみ |
ロードバランサのグローバル アクセス設定に依存しない |
Cloud VPN のトラフィック | ||||
DNS の自動構成 | IPv4 のみ | IPv4 のみ | IPv4 のみ | IPv4 のみ |
接続の伝播 | IPv4 のみ | IPv4 のみ | IPv4 のみ | IPv4 のみ |
IPv4 エンドポイント |
|
|
|
|
IPv6 エンドポイント(プレビュー) |
|
|
プロデューサーの構成
この表は、エンドポイントがアクセスする公開サービスでサポートされる構成オプションと機能をまとめたものです。
プロデューサーの構成(公開サービス) | プロデューサー ロードバランサ | |||
---|---|---|---|---|
内部パススルー ネットワーク ロードバランサ | リージョン内部アプリケーション ロードバランサ | リージョン内部プロキシ ネットワーク ロードバランサ | 内部プロトコル転送(ターゲット インスタンス) | |
サポートされるプロデューサー バックエンド |
|
|
|
該当なし |
PROXY プロトコル | TCP トラフィックのみ | TCP トラフィックのみ | ||
セッション アフィニティ モード | なし(5 タプル) CLIENT_IP_PORT_PROTO |
該当なし | 該当なし | 該当なし |
IP バージョン |
|
|
|
|
サポートされるポート構成は、ロードバランサによって異なります。ロードバランサには、単一のポートをサポートするものと、ポートの範囲をサポートするものと、すべてのポートをサポートするものがあります。詳細については、ポートの仕様をご覧ください。
制限事項
公開サービスにアクセスするエンドポイントには、次の制限があります。
アクセスしている公開サービスと同じ VPC ネットワークにエンドポイントを作成することはできません。
エンドポイントは、ピアリングされた VPC ネットワークからアクセスできません。
Packet Mirroring では、Private Service Connect の公開サービス トラフィックのパケットはミラーリングできません。
ロードバランサのネクストホップを使用するすべての静的ルートが Private Service Connect でサポートされているわけではありません。詳細については、ロードバランサのネクストホップを使用する静的ルートをご覧ください。
接続テストでは、IPv6 エンドポイントと公開サービス間の接続をテストできません。
オンプレミス アクセス
Google API へのアクセスに使用するエンドポイントには、接続されているサポート対象のオンプレミス ホストからアクセスできます。詳細については、ハイブリッド ネットワークからエンドポイントにアクセスするをご覧ください。
仕様
- Private Service Connect エンドポイントは、エンドポイントのターゲットである公開サービスと同じリージョンに作成する必要があります。
- エンドポイントは、ターゲット サービスを含む VPC ネットワークとは異なる VPC ネットワークに作成する必要があります。
- 共有 VPC を使用している場合は、ホスト プロジェクトまたはサービス プロジェクトのいずれかでエンドポイントを作成できます。
- デフォルトでは、エンドポイントと同じリージョンと VPC ネットワーク(または共有 VPC ネットワーク)にあるクライアントのみがエンドポイントにアクセスできます。エンドポイントを他のリージョンで利用可能にする方法については、グローバル アクセスをご覧ください。
- エンドポイントに割り振る IP アドレスは、通常のサブネットから指定する必要があります。
- サービスの DNS ドメイン名が構成されている場合、サービスに接続するエンドポイントを作成すると、VPC ネットワーク内にそのエンドポイントのプライベート DNS エントリが自動的に作成されます。
- 各エンドポイントには固有の IP アドレスがあります。また、一意の DNS 名がある場合もあります。
接続ステータス
Private Service Connect エンドポイント、バックエンド、サービス アタッチメントには、接続の状態を示す接続ステータスがあります。 接続の両側を形成するコンシューマー リソースとプロデューサー リソースは常に同じステータスになります。 接続ステータスは、エンドポイントの詳細を表示する、バックエンドの説明をする、または公開サービスの詳細を表示することで表示できます。
次の表に、ステータスの説明を示します。
接続ステータス | 説明 |
---|---|
承認 | Private Service Connect 接続が確立されています。2 つの VPC ネットワークが接続し、接続が正常に機能しています。 |
保留中 | Private Service Connect 接続が確立されていないため、ネットワーク トラフィックが 2 つのネットワーク間を移動できません。接続がこのステータスになる理由は次のとおりです。
これらの理由でブロックされた接続は、根本的な問題が解決されるまで無期限に保留状態のままになります。 |
拒否 | Private Service Connect 接続が確立されていません。ネットワーク トラフィックを 2 つのネットワーク間で移動することはできません。接続がこのステータスになる理由は次のとおりです。
|
要確認 | 接続のプロデューサー側に問題があります。一部のトラフィックは 2 つのネットワーク間を流れますが、一部の接続は機能しない可能性があります。たとえば、プロデューサーの NAT サブネットが使い果たされ、新しい接続に IP アドレスを割り振ることができない場合があります。 |
終了 | サービス アタッチメントが削除され、Private Service Connect 接続が閉じています。ネットワーク トラフィックを 2 つのネットワーク間で移動することはできません。 閉じた接続は終端状態です。接続を復元するには、サービス アタッチメントだけでなく、エンドポイントまたはバックエンドも再作成する必要があります。 |
IP バージョンの変換
公開サービス用の Private Service Connect エンドポイントとサービス アタッチメント間の接続では、コンシューマ転送ルールの IP アドレスの IP バージョンによって、エンドポイントの IP バージョンと、エンドポイントから送信されるトラフィックが決定されます。エンドポイントの IP バージョンには IPv4 または IPv6 のいずれかを設定できます。両方を指定することはできません。アドレスのサブネットがシングルスタックの場合、コンシューマは IPv4 アドレスを使用できます。アドレスのサブネットがデュアルスタックの場合、コンシューマは IPv4 アドレスまたは IPv6 アドレスを使用できます。コンシューマは、IPv4 エンドポイントと IPv6 エンドポイントの両方を同じサービス アタッチメントに接続できます。これは、サービスを IPv6 に移行する場合に有効です。
公開サービスの Private Service Connect エンドポイントとサービス アタッチメント間の接続では、プロデューサー転送ルールの IP バージョンによって、サービス アタッチメントの IP バージョンと、サービス アタッチメントから送信されるトラフィックの IP バージョンが決定されます。サービス アタッチメントの IP バージョンには IPv4 または IPv6 のいずれかを指定できます。両方を指定することはできません。アドレスのサブネットがシングルスタックの場合、プロデューサーは IPv4 アドレスを使用できます。アドレスのサブネットがデュアルスタックの場合、プロデューサーは IPv4 アドレスまたは IPv6 アドレスを使用できます。
プロデューサー転送ルールの IP アドレスの IP バージョンは、サービス アタッチメントの NAT サブネットのスタックタイプと互換性があることが必要です。プロデューサーの転送ルールが IPv4 の場合、NAT サブネットはシングルスタックまたはデュアルスタックにできます。プロデューサーの転送ルールが IPv6 の場合、NAT サブネットはデュアルスタックであることが必要です。
Private Service Connect は、IPv4 エンドポイントと IPv6 サービス アタッチメントの接続をサポートしていません。この場合は、エンドポイントの作成が失敗し、次のエラー メッセージが表示されます。
Private Service Connect forwarding rule with an IPv4 address
cannot target an IPv6 service attachment.
サポートされている構成では、次の組み合わせが可能です。
- IPv4 エンドポイントから IPv4 サービスへのアタッチメント
- IPv6 エンドポイントから IPv6 サービスへのアタッチメント(プレビュー)
-
IPv6 エンドポイントから IPv4 サービスへのアタッチメント(プレビュー)
この構成では、Private Service Connect が 2 つの IP バージョン間で自動的に変換を行います。
接続の伝播
伝播接続では、Private Service Connect エンドポイントを介して 1 つのコンシューマー VPC スポークでアクセス可能なサービスに、同じ Network Connectivity Center ハブに接続されている他のコンシューマー VPC スポークから限定的にアクセスできます。
詳細については、伝播接続についてをご覧ください。
グローバル アクセス
サービスへのアクセスに使用される Private Service Connect エンドポイントは、リージョン リソースです。ただし、グローバル アクセスを構成すると、他のリージョンでエンドポイントを利用可能にできます。
グローバル アクセスを使用すると、任意のリージョンのリソースが Private Service Connect エンドポイントにトラフィックを送信できます。グローバル アクセスを使用すると、複数のリージョンにホストされているサービスに高可用性を提供できます。また、クライアントと同じリージョンにないサービスへのアクセスをクライアントに許可することもできます。
次の図は、同じエンドポイントにアクセスする異なるリージョンのクライアントを示しています。
エンドポイントは
us-west1
にあり、グローバル アクセスが構成されています。us-west1
の VM はエンドポイントにトラフィックを送信できますが、トラフィックは同じリージョン内にとどまります。us-east1
の VM とオンプレミス ネットワーク内の VM は、異なるリージョンにあってもus-west1
のエンドポイントに接続できます。点線はリージョン間のトラフィック パスを表しています。
グローバル アクセスの仕様
エンドポイントのグローバル アクセスはいつでも有効または無効にできます。
- グローバル アクセスを有効にしても、既存の接続でトラフィックが中断することはありません。
- グローバル アクセスを無効にすると、エンドポイントが配置されているリージョン以外のリージョンからの接続が終了します。
すべての Private Service Connect サービスが、グローバル アクセスが有効になっているエンドポイントをサポートしているわけではありません。サービスがグローバル アクセスをサポートしているかどうかは、サービス プロデューサーに確認してください。詳細については、サポートされている構成をご覧ください。
グローバル アクセスでは、複数のグローバル アクセス エンドポイントに単一のグローバル IP アドレスまたは DNS 名が設定されることはありません。
共有 VPC
サービス プロジェクト管理者は、共有 VPC ネットワークの IP アドレスを使用するエンドポイントを共有 VPC サービス プロジェクトに作成できます。構成は通常のエンドポイントの場合と同じですが、エンドポイントは共有 VPC の共有サブネットから予約された IP アドレスを使用します。
IP アドレス リソースは、サービス プロジェクトまたはホスト プロジェクトで予約できます。IP アドレスの送信元は、サービス プロジェクトと共有されるサブネットである必要があります。
詳細については、共有 VPC ネットワークの IP アドレスを使用してエンドポイントを作成するをご覧ください。
VPC Service Controls
VPC Service Controls と Private Service Connect には互換性があります。Private Service Connect エンドポイントがデプロイされている VPC ネットワークが VPC Service Controls の境界内にある場合、エンドポイントも同じ境界の一部になります。エンドポイントを介してアクセスされる VPC Service Controls でサポートされているサービスには、その VPC Service Controls の境界のポリシーが適用されます。
エンドポイントを作成すると、コンシューマ プロジェクトとプロデューサー プロジェクトの間でコントロール プレーンの API 呼び出しが行われ、Private Service Connect 接続を確立します。同じ VPC Service Controls の境界内にないコンシューマ プロジェクトとプロデューサー プロジェクトの間に Private Service Connect 接続を確立する場合、下り(外向き)ポリシーによる明示的な承認は必要ありません。エンドポイントを介した VPC Service Controls 対応サービスとの通信は、VPC Service Controls の境界で保護されます。
ロードバランサのネクストホップを使用した静的ルート
静的ルートは、内部パススルー ネットワーク ロードバランサのネクストホップ(--next-hop-ilb
)を使用するように構成できますが、このタイプのすべてのルートが Private Service Connect でサポートされているわけではありません。
ルートとエンドポイントが同じ VPC ネットワークとリージョンにある場合、--next-hop-ilb
で内部パススルー ネットワーク ロードバランサの転送ルール名を指定する静的ルートを使用して、Private Service Connect エンドポイントとトラフィックの送受信を行うことができます。
Private Service Connect では、次のルーティング構成はサポートされていません。
--next-hop-ilb
を使用して、内部パススルー ネットワーク ロードバランサ転送ルールの IP アドレスを指定する静的ルート。--next-hop-ilb
で Private Service Connect エンドポイントの転送ルールの名前または IP アドレスを指定する静的ルート。
ロギング
エンドポイントを使用して、別の VPC ネットワーク内のサービスにアクセスする VM を含むサブネットで VPC フローログを有効にできます。ログには、VM とエンドポイントの間のフローが記録されます。
エンドポイントの接続ステータスの変更は監査ログで確認できます。エンドポイントの接続ステータスの変更は、リソースタイプ GCE 転送ルールのシステム イベント メタデータにキャプチャされます。
pscConnectionStatus
でフィルタリングすると、これらのエントリを表示できます。たとえば、サービス プロデューサーがプロジェクトからの接続を許可すると、エンドポイントの接続ステータスが
PENDING
からACCEPTED
に変更され、この変更が監査ログに反映されます。- 監査ログを表示するには、ログを表示するをご覧ください。
- 監査ログに基づいてアラートを設定するには、ログベースのアラートの管理をご覧ください。
料金
Private Service Connect の料金については、VPC の料金ページをご覧ください。
割り当て
公開サービスにアクセスするために作成できるエンドポイントの数は、PSC Internal LB Forwarding Rules
割り当てによって制御されます。詳細については、割り当てをご覧ください。
組織のポリシーの制約
組織のポリシーの管理者は、constraints/compute.disablePrivateServiceConnectCreationForConsumers
制約を使用して、ユーザーが転送ルールを作成できないエンドポイント タイプのセットを定義できます。
この制約を使用する組織のポリシーの作成方法については、コンシューマーによる接続タイプごとのエンドポイントのデプロイをブロックするをご覧ください。