コンテンツに移動
ネットワーキング

Private Service Connect インターフェースを使用したマネージド サービスの下り(外向き)接続

2023年9月28日
Google Cloud Japan Team

※この投稿は米国時間 2023 年 9 月 19 日に、Google Cloud blog に投稿されたものの抄訳です。

組織でマネージド サービスを顧客に提供している場合や、サービスを内部で消費している場合には、おそらく、それらのマネージド サービスへのアクセスは VPC 経由とし、限定する必要があります。Google Cloud 環境では、VPC から Google、サードパーティ、あるいは各自の専用サービスへの安全なプライベート接続を実現する Private Service Connect に注目するお客様が増えています。最近 Google がリリースした PSC インターフェースを使用すると、プロデューサーとコンシューマーのロールが分離されている状態を維持しながら、ネットワーク インターフェースを共有することでサービス プロデューサーがコンシューマーのネットワークにアクセスできるようになります。

このブログ投稿では、PCS インターフェースの PSC 環境での位置付けや効率的な使用法などを含め、PSC インターフェースについて詳しく説明します。

PSC によるプライベート アクセスの実現

たとえば、新しい AI SaaS が Google Cloud で実行されており、顧客は Google Cloud を離れることなく、このサービスへのアクセスを完全に限定することを求めているとします。従来は、Private Service Connect エンドポイントを使用して、顧客の VPC で実行されているプロデューサー サービスをその顧客に公開していました。このアクセスは PSC エンドポイント(顧客のアドレス空間に属している 1 つのプライベート IP アドレス)を経由し、トラフィック全体が Google Cloud 内に留まります。

https://storage.googleapis.com/gweb-cloudblog-publish/images/1_x2ixX6H.max-2200x2200.png

これはマネージド サービスの上り(内向き)、つまりコンシューマー クライアントからプロデューサー マネージド サービスへのトラフィック フローです。

ただし、AI サービスを運用するには、ユーザーへの接続を開始し、モデル トレーニング用のデータを取得する必要もあります。これは、顧客データがさまざまな場所(顧客の VPC、顧客の VPC にピアリングされている VPC、コンシューマーの VPC から Cloud NAT がアクセスするインターネット、顧客の VPC から Cloud Interconnect または Cloud VPN がアクセスするオンプレミスなど)に分散していることがよくあるためです。

https://storage.googleapis.com/gweb-cloudblog-publish/images/2_GL7MVJr.max-2200x2200.png

このネットワーキング パターンはマネージド サービスの下り(外向き)と呼ばれ、マネージド サービスがユーザーへの接続を開始する必要があるときに常に存在します。これはさまざまなユースケースに対応できます。

  • データ処理マネージド サービスが、そのコンシューマーがホストするデータべース内のコンテンツにアクセスする必要がある場合
  • イベントハブがイベント トリガーを受信して処理し、下り(外向き)接続を開始してイベントをコンシューマー VPC に送信する場合

サービスの下り(外向き)を実現するうえでのプライベート ネットワーキングの課題

PSC エンドポイントでは、トラフィックは上り(内向き)のみ可能であり、コンシューマーから開始する必要があります。これは意図的なものであり、コンシューマーは、明示的に許可していない限りプロデューサーがコンシューマーの VPC にアクセスすることを望みません。

サービスの下り(内向き)を実現する 1 つの方法として、PSC エンドポイントを逆方向で設定する方法があります。この場合、サービス アタッチメントとロードバランサをコンシューマー側にデプロイします。この方法は小規模では有効ですが、コンシューマー VPC で宛先が頻繁に変化する場合や多数の宛先がある場合には困難です。また、コンシューマーとプロデューサーの間で必要となる調整が増加し、複雑さやわずらわしさが生じる可能性があります。

PSC インターフェースの概要

PSC インターフェースは、プライベートなマネージド サービスの下り(外向き)向け用に設計された新しい PSC モードです。プロデューサーとコンシューマーのロールが分離されている状態を維持しつつ、プロデューサーはネットワーク インターフェース(PSC インターフェース)を共有することでコンシューマーのネットワークにアクセスできます。

PSC インターフェースは、PSC 認可モデルと組み合わさった、組織間のマルチネットワーク インターフェース VM により実装されます。プロデューサー VM は、そのローカル ネットワーク インターフェースのほかに、コンシューマー VPC に含まれている 1 つ以上の PSC インターフェースを持つことができます。PSC インターフェースには、コンシューマー サブネットの IP アドレスが割り振られます(注: ここで言う「インターフェース」とは、まさにゲスト オペレーティング システムでの PCS インターフェース、つまり別のネットワークに直接アクセスできるネットワーキング インターフェースをありのままに表しています。これは、2 つの組織のネットワークをリンクするために、イーサネット ケーブルをこれらのネットワークに直接接続するようなものです)。

https://storage.googleapis.com/gweb-cloudblog-publish/images/3_PLZ0IHJ.max-2100x2100.png

このネットワーク インターフェースをコンシューマー VPC のエントリー ポイントとして利用することで、プロデューサー VM は、コンシューマー リソースがプロデューサー VPC 内にローカルに存在しているかのように、コンシューマー リソースにアクセスできます。PSC インターフェースは VM のゲスト OS に標準のネットワーク インターフェースとして表示されるので、OS レベルの優れたルーティング オプションをすべて利用できます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/4_oJpUn6S.max-2200x2200.png

PSC インターフェースはネットワーク インターフェースであるため、推移的な接続はネイティブに可能です。そのため、プロデューサーはコンシューマー VPC をトランジットとして使用して外部の宛先にアクセスできます。追加の構成は不要です。また、コンシューマーがロードバランサをデプロイし、宛先をそのターゲットとして構成する必要はありません。作成する必要があるのはネットワーク アタッチメントのみです。このリソースにより、コンシューマーに接続できるプロデューサーと、PSC インターフェースの IP アドレスに使用できるサブネットを、コンシューマーが制御できるようになります。

https://storage.googleapis.com/gweb-cloudblog-publish/images/5_Pg8ukQf.max-2200x2200.png
読み込んでいます...

次のように出力されます。

読み込んでいます...

その後、プロデューサーはネットワーク アタッチメントを参照する PSC インターフェースを使用して VM を作成します。次に例を示します。

読み込んでいます...

サービス間の通信

PSC インターフェースと PSC エンドポイントは補完的であり、同じ VPC ネットワーク内で組み合わせて使用できます。たとえば、別の組織が所有するサードパーティ データベースに、サードパーティ分析サービスが、この両方に接続しているコンシューマー VPC を介してアクセスできるようにするときに、PSC インターフェースを使用できます。

ファイアウォール ルールも PSC インターフェースに対応しているので、コンシューマーはファイアウォール ルールを使用して、プロデューサーがアクセスできる対象(ローカル ターゲットやリモート ターゲット)を制御できます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/6-01.max-2200x2200.jpg

まとめると、PSC インターフェースは、PSC エンドポイントを使用してマネージド サービスの下り(外向き)を実現する際によく起こる課題の多くに対処する、Private Service Connect の優れた新機能です。PSC インターフェースは現在、公開プレビュー版で利用可能です。今すぐお試しください。

- Google Cloud、プロダクト マネージャー Nicolas Delecroix
- Google Cloud、ソフトウェア エンジニア Shuang Feng

投稿先