Private Service Connect のポート マッピングについて
このページでは、Private Service Connect のポート マッピングの概要について説明します。
Private Service Connect ポート マッピングを使用すると、コンシューマー仮想マシン(VM)インスタンスは、1 つの Private Service Connect エンドポイントを介して、特定のプロデューサー VM の特定のサービスポートと非公開で通信できます。
サービス コンシューマーは、エンドポイントのさまざまなクライアント宛先ポートにトラフィックを送信します。Private Service Connect は、プロデューサー定義のマッピングを使用して、指定されたサービスポートとプロデューサー VM にトラフィックを転送します。ネットワークのコンテキストによっては、この方法はポート転送とも呼ばれます。
ポート マッピングと通常の Private Service Connect
マネージド サービスは、多くの場合、VM のクラスタとして設計されます。異なる VM は、同じサービスの個別のインスタンスを表します。すべての VM は、同じポートで同じオペレーションを公開します。たとえば、データベース サービスは、データベースの読み取りオペレーションにポート 1000
を使用し、データベースの書き込みオペレーションにポート 2000
を使用します。コンシューマー VM は、サービス インスタンスに関連付けられた VM のポートをターゲットに指定して、特定のサービス インスタンスと通信します。
Private Service Connect エンドポイントとサービス アタッチメント間の通常の接続(ロード バランシングされた接続)は、この状況には適していません。通常の Private Service Connect 接続では、コンシューマー VM はエンドポイントの IP アドレスの 1 つ以上のポートにトラフィックを送信します。すべてのトラフィックがロードバランスされ、トラフィックを受信するポートのバックエンドとして構成されている正常なプロデューサー VM に送信されます。
一方、Private Service Connect ポート マッピングではロード バランシングは行われません。この方法では、コンシューマー VM は、トラフィックを受信するクライアント宛先ポートに基づいて、特定のプロデューサー VM の特定のサービスポートをターゲットに設定できます。
Private Service Connect ポート マッピングを使用すると、コンシューマー VM は次のプロセスで特定のプロデューサー VM と通信できます。
- コンシューマー VM は、指定されたクライアント宛先ポートを使用して、エンドポイントの IP アドレスにパケットを送信します。クライアントの宛先ポートは、パケットの宛先 VM とポートの固有識別子として機能します。
- Private Service Connect は、トラフィックを受信するクライアント宛先ポートのマッピングを使用して、パケットの宛先を決定します。
- Private Service Connect は、トラフィックを宛先 VM とサービスポートに転送します。
たとえば、図 1 では、パケットは次のように転送されます。
- エンドポイントのクライアント宛先ポート
1001
に送信されるパケットは、vm-1
のサービスポート1000
に転送されます。 - エンドポイントのクライアント宛先ポート
1002
に送信されるパケットは、vm-1
のサービスポート2000
に転送されます。 - エンドポイントのクライアント宛先ポート
1003
に送信されるパケットは、vm-2
のサービスポート1000
に転送されます。 - エンドポイントのクライアント宛先ポート
1004
に送信されるパケットは、vm-2
のサービスポート2000
に転送されます。
デプロイ
Private Service Connect ポート マッピング接続のデプロイは、公開サービス用の通常の Private Service Connect エンドポイント接続のデプロイとは次のように異なります。
- サービス プロデューサーがポート マッピング サービスを作成します。ポート マッピング サービスは、ポート マッピングのネットワーク エンドポイント グループ(NEG)を使用します。この構成は内部パススルー ネットワーク ロードバランサと似ていますが、トラフィックはロードバランスされません。
- サービス プロデューサーは、ポート マッピング NEG のネットワーク エンドポイントを構成し、Private Service Connect エンドポイントのクライアント宛先ポートから特定のプロデューサー VM のサービスポートへのマッピングを指定します。
- サービス プロデューサーは、ポート マッピング サービスの転送ルールに関連付けられたサービス アタッチメントを作成します。
- サービス プロデューサーは、クライアントの宛先ポートとそのマッピングをサービス コンシューマーと共有します。これは Google Cloud によって自動的に処理されません。
- サービス コンシューマーは、プロデューサー定義のポート マッピングを使用して、マネージド サービスと通信するようにワークロードを構成します。
仕様
Private Service Connect のポート マッピングの仕様は次のとおりです。
- Private Service Connect ポート マッピング接続には、プロデューサー VPC ネットワークのサービス アタッチメントに接続するコンシューマー VPC ネットワークの Private Service Connect エンドポイントが必要です。
- サービス アタッチメントは、ポート マッピング サービスに関連付けられています。ポート マッピング サービスは、内部パススルー ネットワーク ロードバランサと同様に構成されますが、トラフィックはロードバランスされません。ポート マッピング サービスは次の要素で構成されます。
- バックエンド サービスに接続する転送ルール。転送ルールは、
TCP
またはUDP
のいずれかのトラフィックに対して構成する必要があります。転送ルールは、すべてのクライアント宛先ポートのトラフィックを転送するように構成する必要があります。たとえば、Google Cloud CLI で--ports=ALL
を指定します。ただし、使用するクライアント宛先ポートのポート マッピング NEG でマッピングを定義するだけで済みます。 - ポート マッピング ネットワーク エンドポイント グループ(NEG)を使用するように構成されたバックエンド サービス。サービス プロデューサーは、ポート マッピング NEG のネットワーク エンドポイントを使用して、Private Service Connect エンドポイントのクライアント宛先ポートからサービスポートとプロデューサー VM の組み合わせへの一意のマッピングを定義します。
- バックエンド サービスに接続する転送ルール。転送ルールは、
- ポート マッピング サービスは、トラフィックをロードバランスするのではなく、ポート マッピング NEG で構成されたマッピングに基づいてトラフィックを転送します。
- プロデューサー サービスは、有効なクライアント宛先ポートとそれらのマッピングをコンシューマーと共有する必要があります。Private Service Connect は、この情報をコンシューマーと共有しません。
- コンシューマーは、プロデューサー定義のポート マッピングを使用してマネージド サービスと通信するようにワークロードを構成する必要があります。
- Private Service Connect ポート マッピングは、エンドポイントがグローバル アクセスを使用するように構成されているかどうかにかかわらず、Private Service Connect エンドポイントをサポートします。
- Private Service Connect ポート マッピングは、ハイブリッド アクセスをサポートしています。コンシューマーのオンプレミス ワークロードは、Cloud Interconnect 接続または Cloud VPN を介して Private Service Connect エンドポイントにアクセスすることで、プロデューサー VM に到達できます。
制限事項
- Private Service Connect ポート マッピングは IPv6 トラフィックをサポートしていません。
- ポート マッピング NEG が接続されているバックエンド サービスでは、ヘルスチェックはサポートされていません。バックエンド サービスにポート マッピング NEG がある場合、検証によりヘルスチェックの構成がブロックされます。
- Private Service Connect ポート マッピングでは、複数のサービス アタッチメントまたは転送ルールを同じポート マッピング バックエンド サービスに接続することはできません。
Private Service Connect ポート マッピングでロード バランシングを使用する
Private Service Connect ポート マッピングは、トラフィックを受信するクライアントの宛先ポートのみに基づいてトラフィックを転送します。Private Service Connect ポート マッピングでロード バランシングを使用するには、次の操作を行います。
- コンシューマー側でロード バランシングを実装するようコンシューマーに依頼します。コンシューマー VM で実行されるソフトウェアは、代替のクライアント宛先ポートにトラフィックを送信できます。
- ポート マッピング サービスの代わりに、ロードバランサに接続する 2 つ目のサービス アタッチメントをプロデューサー VPC ネットワークに作成します。ロードバランサのバックエンド サービスで、ポート マッピング NEG と同じ VM をバックエンドとして使用します。コンシューマーは、ロード バランシングが必要なトラフィックを 2 番目のサービス アタッチメントに関連付けられたエンドポイントに送信できます。
割り当て
Private Service Connect ポート マッピングに関連する割り当てと上限については、割り当てと上限をご覧ください。
料金
Private Service Connect の料金については、VPC の料金ページをご覧ください。