Private Service Connect
このドキュメントでは、Private Service Connect の概要について説明します。
Private Service Connect は Google Cloud ネットワーキング機能の一つで、コンシューマーが VPC ネットワーク内からマネージド サービスにプライベート接続でアクセスできるようにします。同様に、マネージド サービス プロデューサーがこれらのサービスを個別の VPC ネットワークにホストし、コンシューマーとのプライベート接続を提供できるようにします。 たとえば、Private Service Connect を使用して Cloud SQL にアクセスする場合、ユーザーがサービス コンシューマーで、Google がサービス プロデューサーです。
Private Service Connect を使用すると、コンシューマーは VPC ネットワークから離れることなく、独自の内部 IP アドレスを使用してサービスにアクセスできます。トラフィックが Google Cloud の外に出ることはありません。Private Service Connect は、コンシューマーとプロデューサーの間にサービス指向のアクセスを提供し、サービスへのアクセスをきめ細かく制御します。
Private Service Connect は、次のタイプのマネージド サービスへのアクセスをサポートしています。
- VPC でホストされている公開サービス。次のようなものがあります。
- Google の公開サービス(Apigee や GKE コントロール プレーンなど)
- Private Service Connect パートナーが提供するサードパーティの公開サービス
- 組織内の公開サービス。コンシューマーとプロデューサーが同じ企業内の 2 つの異なる VPC ネットワークとなる場合があります。
- Cloud Storage や BigQuery などの Google API
Private Service Connect は、次の特徴のプライベート接続を提供します。
- サービス指向の設計: プロデューサー サービスは、コンシューマーの VPC ネットワークに単一の IP アドレスを公開するロードバランサを介して公開されます。プロデューサー サービスにアクセスするコンシューマー トラフィックは一方向であり、ピアリングされた VPC ネットワーク全体にアクセスするのではなく、サービス IP アドレスにのみアクセスできます。
- 明示的な認可: Private Service Connect には、コンシューマーとプロデューサーにきめ細かい制御を提供する認可モデルがあります。サービスに接続できるのは特定のサービス エンドポイントだけで、他のリソースはサービスに接続できません。
- 共有の依存関係がない: コンシューマーとプロデューサー間のトラフィックでは NAT が使用されます。コンシューマー VPC ネットワークとプロデューサー VPC ネットワークの間で IP アドレスの調整は行われず、他の共有リソースの依存関係もありません。この独立性により、デプロイが簡略化され、マネージド サービスのスケーリングがより簡単になります。
- ラインレート パフォーマンス: Private Service Connect トラフィックは、中間のホップやプロキシなしでコンシューマー クライアントからプロデューサー バックエンドに直接送信されます。NAT がコンシューマー VM とプロデューサー VM をホストする物理ホストマシンで直接実行されるため、レイテンシが少なく、より多くの帯域幅容量を使用できます。Private Service Connect の帯域幅容量は、直接通信しているクライアントとサーバーマシンの帯域幅容量によって制限されます。
Private Service Connect のタイプ
Private Service Connect は、通信の機能やモードが異なるさまざまなタイプで利用できます。
サービス プロデューサーは、Private Service Connect サービスを作成して、コンシューマーにアプリケーションを公開します。サービス ユーザーは、Private Service Connect タイプのいずれかを使用して、Private Service Connect サービスに直接アクセスします。
- Private Service Connect エンドポイント: エンドポイントは、Private Service Connect サービスにマッピングされた IP アドレスをコンシューマーに提供する転送ルールを使用してデプロイされます。
- Private Service Connect バックエンド: バックエンドはネットワーク エンドポイント グループ(NEG)によってデプロイされます。これにより、コンシューマーは、Private Service Connect サービスに到達する前にロードバランサにトラフィックを直接送信できます。
サービス プロデューサーは、Private Service Connect インターフェースを使用して、サービス コンシューマーへの接続を開始できます。Private Service Connect インターフェースは双方向通信を提供します。このインターフェースは、エンドポイントやバックエンドと同じ VPC ネットワークで使用できます。
エンドポイント
Private Service Connect エンドポイントは、コンシューマー VPC ネットワーク内のクライアントが直接アクセスできる、このネットワークの内部 IP アドレスです。エンドポイントは、サービス アタッチメントまたは Google API のバンドルを参照する転送ルールをデプロイすることで作成されます。
次の図に、別々の VPC ネットワークと組織で実行されている公開サービスを対象とする Private Service Connect エンドポイントを示します。Private Service Connect エンドポイントと公開サービスにより、2 つの独立した会社が内部 IP アドレスを使用して相互に通信できます。詳細については、エンドポイントを介した公開サービスへのアクセスについてをご覧ください。
同様に、Private Service Connect エンドポイントを使用して、Cloud Storage や BigQuery などの Google API にアクセスできます。この機能は、エンドポイントに独自の内部 IP アドレスを使用できる点を除き、限定公開の Google アクセスと似ています。Private Service Connect を使用すると、ルーティングを直接制御し、ネットワークに必要な数のエンドポイントを作成できます。詳細については、エンドポイントを介した Google API へのアクセスについてをご覧ください。
バックエンド
Private Service Connect バックエンドを使用すると、Google Cloud ロードバランサで Private Service Connect 経由でトラフィックを送信し、公開サービスまたは Google API にアクセスできます。バックエンドは、プロデューサー サービス アタッチメントまたはサポートされている Google API を参照する、Private Service Connect ネットワーク エンドポイント グループ(NEG)を使用してデプロイされます。マネージド サービスの前面にロードバランサを配置すると、Private Service Connect エンドポイントを介した場合よりもコンシューマーの可視性と制御性が高まります。バックエンドでは、次のような構成を作成できます。
- マネージド サービスの前にお客様が所有するドメインと証明書
- 異なるリージョンのマネージド サービス間でのコンシューマーによる制御のフェイルオーバー
- マネージド サービスの一元化されたセキュリティ構成とアクセス制御
次の図は、公開サービスを参照する Private Service Connect バックエンドを使用してデプロイされた内部アプリケーション ロードバランサを示しています。この構成では 2 つのロードバランサがあります。
- サービスへのトラフィックの制御、可視化、セキュリティを提供するコンシューマー ロードバランサ。
- サービス バックエンド間でトラフィックをロードバランスするプロデューサー ロードバランサ。
Private Service Connect エンドポイントと同様に、バックエンドも Google API のターゲティングをサポートします。次の図は、Cloud Storage バケットをターゲットとし、お客様所有のドメインでトラフィックを終端させる内部アプリケーション ロードバランサを示しています。
インターフェース
Private Service Connect インターフェースは、ネットワーク アタッチメントを参照する特別なタイプのネットワーク インターフェースです。
サービス プロデューサーは Private Service Connect インターフェースを作成し、ネットワーク アタッチメントへの接続をリクエストできます。サービス ユーザーが接続を受け入れると、Google Cloud はネットワーク アタッチメントで指定されたコンシューマー VPC ネットワーク内のサブネットの IP アドレスをインターフェースに割り振ります。Private Service Connect インターフェースの VM には、プロデューサーの VPC ネットワークに接続する 2 つ目の標準ネットワーク インターフェースがあります。
Private Service Connect インターフェースとネットワーク アタッチメント間の接続は、Private Service Connect のエンドポイントとサービス アタッチメント間の接続に似ていますが、重要な違いが 2 つあります。
- Private Service Connect インターフェースを使用すると、プロデューサー VPC ネットワークからコンシューマー VPC ネットワークへの接続(マネージド サービスの下り、外向き)を開始できます。エンドポイントは逆方向に機能し、コンシューマー VPC ネットワークがプロデューサー VPC ネットワークへの接続(マネージド サービスの上り、内向き)を開始できるようにします。
- Private Service Connect インターフェースの接続は推移的です。つまり、プロデューサー ネットワーク内のワークロードは、コンシューマー VPC ネットワークに接続されている他のワークロードへの接続を開始できます。Private Service Connect エンドポイントは、プロデューサー VPC ネットワークへの接続のみを開始できます。
Private Service Connect マネージド サービス
マネージド サービスとは、サービス ユーザー以外の人が所有し、管理するサービスです。Private Service Connect を使用して、Google、サードパーティの Software as a Service(SaaS)企業、またはコンシューマー自身の企業内のチームが所有するマネージド サービスにアクセスできます。公開サービスと Google API はどちらも Private Service Connect のターゲットにできます。
公開サービス
公開サービスは、プロデューサーの VPC ネットワークにデプロイされ、コンシューマーの VPC ネットワークからアクセスされる VPC ホスト型サービスです。サービスを公開すると、サービス プロデューサーは、独自の VPC ネットワークでのサービスのデプロイを所有し、制御できます。公開されるサービスには次のようなものがあります。
- GKE、Apigee、Cloud Composer などの Google サービス。これらのサービスは、Google が管理するテナント プロジェクトと VPC ネットワークで実行されます。
- サードパーティのサービス。サードパーティが Google Cloud の公開サービスに対するプライベート アクセスを提供します。
- 組織内サービス。単一の企業が、異なる VPC ネットワーク経由で内部アプリケーションにアクセスするクライアントを所有しています。内部セグメンテーションに別々の VPC ネットワークを使用している組織もあります。この構成により、1 つのチームが別の VPC ネットワークのチームにマネージド サービスを提供できるようになります。
サービス アタッチメント
サービス アタッチメントは、Private Service Connect の公開サービスの作成に使用されるリソースです。
サービス アタッチメントには、エンドポイントまたはバックエンドを使用してアクセスできます。複数のバックエンドまたはエンドポイントが同じサービス アタッチメントに接続できるので、複数の VPC ネットワークまたは複数のコンシューマーが同じサービス インスタンスにアクセスできます。
サービス アタッチメントはプロデューサー ロードバランサをターゲットにし、コンシューマー VPC ネットワーク内のクライアントがロードバランサにアクセスできるようにします。サービス アタッチメント構成では、以下が定義されます。
- コンシューマー承認リスト。サービスへの接続が許可されるコンシューマーを定義します。
- NAT サブネット。変換されたトラフィックが送信元の VPC ネットワーク内から送信されます。
- 任意の DNS ドメイン。提供される場合は、コンシューマーの Cloud DNS ゾーンで自動的に作成されるエンドポイントの DNS エントリで使用されます。
Google API
限定公開の Google アクセスまたは Google API のパブリック ドメイン名を使用する代わりに、Private Service Connect を使用して Google API にアクセスできます。この場合、Google がプロデューサーになります。
Google API には、エンドポイントまたはバックエンドを使用してアクセスできます。
- エンドポイントで、グローバル Google API のバンドルまたは単一のリージョン Google API をターゲットにできます。
- バックエンドで、単一のグローバル Google API または単一のリージョン Google API をターゲットにできます。
Private Service Connect を使用すると、次のことができます。
- さまざまなユースケースで、1 つ以上の内部 IP アドレスを作成して Google API にアクセスできます。
- Google API にアクセスするときに、オンプレミス トラフィックを特定の IP アドレスとリージョンに転送できます。
- Google API トラフィックを HTTP(S) ロードバランサで一元管理し、独自の証明書、セキュリティ ポリシー、オブザーバビリティを適用できます。
次のステップ
- 次のいずれかの Codelab を完了します。
- エンドポイントを介した公開サービスへのアクセスについて確認する。
- エンドポイントを介した Google API へのアクセスについて確認する。
- バックエンドについて確認する。
- 公開サービスについて確認する。