コンテンツに移動
データベース

Private Service Connect を使用した Cloud SQL への安全かつシームレスなプライベート接続

2024年4月24日
https://storage.googleapis.com/gweb-cloudblog-publish/images/Next24_Blog_blank_2-04.max-2500x2500.jpg
Google Cloud Japan Team

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

プライベート接続は、組織がデータアクセスを保護し、規制要件を満たすために不可欠です。特にアプリケーションが運用データベースにアクセスする場合に重要になります。従来、組織はプライベート サービス アクセスを活用した VPC ネットワーク ピアリングに依存してきましたが、これは規模が大きくなるにつれて煩雑になります。また、さらに要求の厳しい環境向けには Private Service Connect がありますPrivate Service Connect は、大規模なプライベート接続の簡素化と合理化を支援し、強化されたセキュリティ管理、より優れた IP 空間管理、柔軟なネットワーク トポロジを提供します。

Google は今週の Google Cloud Next で、Private Service Connect が、PostgreSQLMySQLSQL Server 向けの Google Cloud のフルマネージド データベース サービスである Cloud SQL と完全に統合されたことを発表しました。高可用性(99.99% SLA)、高パフォーマンス、豊富なデータ保護機能を備えた Cloud SQL は、Compute EngineGoogle Kubernetes EngineGKE)、Cloud Run、あるいはオンプレミスでビジネス クリティカルなアプリケーションを実行するお客様に選ばれています。Private Service Connect との統合により、柔軟性、スケーラビリティ、セキュリティを犠牲にすることなく、これらのアプリケーションを Cloud SQL に安全に接続することが容易になります。今回、MySQL PostgreSQL の既存のサポートに加えて、Cloud SQL for SQL Server Private Service Connect の一般提供が開始されました。

Cloud SQL での Private Service Connect のメリット

Cloud SQL Private Service Connect を併用すると、次のようなメリットが期待できます。

  • Private Service Connect を使用すると、さまざまなグループ、チーム、プロジェクト、組織に属する複数のコンシューマー VPC ネットワークから Cloud SQL に簡単に接続できます。

  • Private Service Connect を使用すると、VPC から Cloud SQL インスタンスへのアクセスに必要な IP アドレスは 1 つだけであるため、IP 空間の管理が簡単になります。この IP VPC から選択するため、あたかもローカル ターゲットであるかのように Cloud SQL にアクセスできます。

  • Private Service Connect 上の Cloud SQL では、単一のインスタンスを、異なるエンドポイントを使い異なる VPC に接続できます。これにより、マルチテナント デプロイ(SaaS アプリケーションなど)の管理が容易になり、安全性も向上します。

  • Cloud SQL Private Service Connect を使用すると、プライマリ インスタンス、同一リージョンのリードレプリカ、クロスリージョンのリードレプリカへの接続を簡素化できます。

Cloud SQL での Private Service Connect の構成

それでは、Cloud SQL での Private Service Connect の構成について、詳しく見ていきましょう。

1. Cloud SQL インスタンスを作成する

Private Service Connect を有効にして Cloud SQL インスタンスを作成します。

2. Private Service Connect エンドポイントを作成する

VPC 内に Cloud SQL インスタンスに接続するための Private Service Connect エンドポイントを作成します。VPC からエンドポイントの IP アドレスを選択できます。エンドポイントの作成時に、手順 1 で作成したインスタンスのサービス アタッチメント URI を使用します。Private Service Connect 経由で Cloud SQL インスタンスに接続できる VPC 内の特定のプロジェクトを許可リストに登録することもできます。

3. Cloud SQL インスタンスに接続する

Private Service Connect エンドポイントを作成すると、Cloud SQL インスタンスに接続する準備が整います。内部 IP アドレス、DNS レコード、Cloud SQL Auth Proxy、または Cloud SQL 言語コネクタを使用して接続できます。

上記のすべての手順の詳細とコードサンプルについては、ドキュメントをご覧ください。

デプロイ パターン

次に、Private Service Connect によって Cloud SQL で可能になるさまざまなデプロイ パターンを見てみましょう。

1. 単一の VPC から Cloud SQL への接続

すべてのアプリケーションが 1 つの VPC 内にある場合は、その VPC 内の 1 つの Private Service Connect エンドポイントを使用して Cloud SQL インスタンスに接続できます。共有 VPC の場合は、接続できるプロジェクトのリストを制御できます。たとえば、同じ VPC 内に本番環境プロジェクトとテスト プロジェクトの両方があり、本番環境 Cloud SQL インスタンスへのアクセスを本番環境プロジェクトのみに制限したいとします。これを行うには、本番環境プロジェクトのみを許可リストに登録します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/1-PSC.max-600x600.png

2. 複数の VPC から Cloud SQL への接続

複数の VPC にアプリケーションがあり、それらのアプリケーションを同時に Cloud SQL に接続したい場合は、Private Service Connect を使用すると簡単に接続できます。各 VPC 内に個別の Private Service Connect エンドポイントを作成するだけで可能になります。

https://storage.googleapis.com/gweb-cloudblog-publish/images/2-PSC.max-500x500.png

3. Cloud SQL リードレプリカ インスタンスへの接続

Cloud SQL では、同じリージョンのリードレプリカを作成して読み取りスループットをスケーリングできます。また障害復旧のため、あるいは異なるリージョンのアプリケーションの読み取りレイテンシを削減するために、クロスリージョン リードレプリカを作成できます。Private Service Connect を使用すると、これらのリードレプリカに対して簡単にプライベート接続を確立できます。各リードレプリカは個別の Cloud SQL インスタンスと見なされるため、リードレプリカごとに新しい Private Service Connect エンドポイントを作成し、アプリケーションからそのエンドポイントに接続する必要があります。

https://storage.googleapis.com/gweb-cloudblog-publish/images/3-PSC.max-500x500.png

4. オンプレミスから Cloud SQL への接続、別のリージョンから Cloud SQL への接続

オンプレミスでホストされているアプリケーションが Cloud SQL インスタンスに接続する必要がある場合は、Cloud Interconnect または VPN を使用して、Cloud SQL インスタンスの Private Service Connect エンドポイントを持つ VPC にアクセスできます。また、Private Service Connect のグローバル アクセスを使用して、あるリージョンのアプリケーションから同じ VPC 内の別のリージョンの Private Service Connect エンドポイントに接続することもできます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/4-PSC.max-700x700.png

プライベート サービス アクセスと比較した Private Service Connect のメリット

Private Service Connect 上の Cloud SQL は、プライベート サービス アクセスなどの従来の VPC ネットワーク ピアリング ベースの接続オプションと比較して、優れたセキュリティ制御とシンプルな運用を可能にします。

  • プライベート サービス アクセスでは、複数の VPC が単一の Cloud SQL インスタンスに同時にアクセスする場合、VPNCloud Interconnect、または中間プロキシ(SOCKS5)を使用する必要があるため、煩雑になります。Private Service Connect を使用すると、各 VPC 内に個別の Private Service Connect エンドポイントを作成できるため、これが簡単になります。

  • プライベート IP アドレス空間は限られており、プライベート サービス アクセスを使用する場合は各リージョンで Cloud SQL インスタンス用にサブネット範囲全体を予約する必要があるため、アドレス空間の管理が複雑になります。Private Service Connect では、Cloud SQL インスタンスにマッピングされている Private Service Connect エンドポイントごとに IP アドレスを 1 つ予約するだけでよいため、IP 空間の使用量が大幅に削減されます。

  • プライベート サービス アクセスを使用する場合、下り(外向き)ファイアウォール ルールを設定する際に、事前にサブネット範囲全体を許可リストに登録する必要がありますが、これは過度に制限が緩くなり、運用上の負担となる可能性があります。Private Service Connect では詳細なファイアウォール ルールを設定でき、セキュリティの観点からも優れています。

  • プライベート サービス アクセスを使用する場合、VPC ピアリングの割り当てが大規模なデプロイにおいて課題になる可能性があります。Private Service Connect ではピアリング割り当てが適用されないため、このような問題は起こりません。

まとめ

結論として、Cloud SQL Private Service Connect を併用することで、強力なセキュリティ、使いやすさ、シンプルな運用、シームレスなスケーラビリティを実現できます。Cloud SQL Private Service Connect を使用するための手順ガイドについては、こちらのドキュメントをご確認ください。また、Cloud SQL の詳細についてはこちらをご覧ください。

-Google Cloud、プロダクト マネージャー Shambhu Hegde

投稿先