このページでは、AlloyDB for PostgreSQL の接続オプションについて説明し、ワークロード、ネットワーク トポロジ、安全な接続の要件に最適なオプションを選択するのに役立ちます。詳細については、接続の概要をご覧ください。
このドキュメントでは、次のことを学びます。
- AlloyDB で使用するネットワーク設定の種類。
- 安全に接続する方法。
- 接続に関するベスト プラクティス。
- ワークロードのロケーションが接続要件にどのように影響するか。
推奨される接続オプション
次の表に、ワークロードに推奨される接続オプションを示します。
- プライベート IP(プライベート サービス アクセスまたは Private Service Connect)とパブリック IP に直接接続、言語コネクタ、認証プロキシのいずれが推奨されるか。
- サーバーレス Virtual Private Clouds(VPC)アクセス コネクタやダイレクト VPC 下り(外向き)などの接続要件。詳細については、ダイレクト VPC 下り(外向き)と VPC コネクタの比較 | Cloud Run ドキュメントをご覧ください。
- プライベート IP(プライベート サービス アクセスと Private Service Connect)とパブリック IP に関する考慮事項。
ワークロードの評価
接続オプションを選択する前に、ワークロードを評価します。AlloyDB は、次のワークロード環境の接続をサポートしています。
- Cloud Run、Cloud Shell、Google 以外の SaaS プロダクト
- Cloud Functions v2
- App Engine フレキシブル環境と App Engine スタンダード環境
- Google Kubernetes Engine と Compute Engine
- オンプレミス設定
ワークロード環境 | プライベート IP | パブリック IP | 説明 | ||
---|---|---|---|---|---|
直接 | コネクタ | 直接 | コネクタ | ||
Cloud Shell | ❌ | ❌ | ❌ | ✅ | Cloud Shell にはパブリック IP が必要です。 |
Cloud Run、Cloud Functions v2 | ✅ | ✅ | ❌ | ✅ | サーバーレス VPC アクセス コネクタまたはダイレクト VPC 下り(外向き)が必要です。 |
App Engine スタンダード、フレキシブル | ✅ | ✅ | ❌ | ✅ | サーバーレス VPC アクセス コネクタが必要です。 |
GKE、Compute Engine | ✅ | ✅ | ✅ | ✅ | プライベート IP を使用することをおすすめします。推移的 VPC ピアリングが必要ない場合は、プライベート サービス アクセスを使用します。それ以外の場合は、Private Service Connect を使用します。 |
オンプレミス | ✅ | ✅ | ✅ | ✅ | プライベート IP には、オンプレミスからターゲット インスタンスへのネットワーク パスが必要です。言語コネクタまたは Auth Proxy を使用するパブリック IP は、大規模なネットワーク設定を必要としない安全な代替手段です。 |
ワークロードに基づく接続のベスト プラクティス
AlloyDB に接続する場合は、ワークロード環境に基づいて次の点を考慮してください。
Cloud Shell
- Auth Proxy とパブリック IP を使用して Cloud Shell に接続します。Cloud Shell は VPC への接続をサポートしていません。プライベート サービス アクセスまたは Private Service Connect インスタンスへの接続はありません。また、Cloud Shell には、承認済みネットワークで使用する安定したアウトバウンド IP アドレスがありません。
Cloud Run と Cloud Functions v2
- プライベート IP の場合、ダイレクト コネクタと言語コネクタまたは Auth Proxy の両方でダイレクト VPC 下り(外向き)を使用する必要があります。
- パブリック IP の場合は、言語コネクタまたは Auth Proxy を使用する必要があります。
App Engine スタンダード環境と App Engine フレキシブル環境
- 言語コネクタまたは Auth Proxy を使用しているかどうかにかかわらず、プライベート IP にはサーバーレス VPC アクセス コネクタを使用します。
- パブリック IP の場合は、言語コネクタまたは Auth Proxy を使用する必要があります。
GKE と Compute Engine
- AlloyDB への接続には、直接接続と言語コネクタまたは Auth Proxy の両方を使用できます。
オンプレミス
- AlloyDB への接続には、直接接続と言語コネクタまたは Auth Proxy の両方を使用できます。言語コネクタと Auth Proxy はネットワーク パスを作成しません。ワークロードと AlloyDB インスタンスの間にネットワーク パスがあることを確認します。
安全な接続のニーズを評価する
AlloyDB 用の言語コネクタまたは Auth Proxy は、IAM 統合や mTLS などのセキュリティ強化機能を提供しますが、これらの機能には追加の設定が必要です。直接接続はデフォルトで暗号化されますが、クライアント証明書や上位の SSL モード(verify-ca
と verify-full
)はサポートされていません。言語コネクタまたは Auth Proxy をパブリック IP で使用し、言語コネクタまたは Auth Proxy が実現できない場合にのみ、プライベート IP で直接接続を使用することをおすすめします。
暗号化された接続 | IAM 認証 | IAM 承認 | mTLS | |
---|---|---|---|---|
直接接続 | ✅ | ✅ | ❌ | ❌ |
言語コネクタまたは Auth Proxy | ✅ | ✅ | ✅ | ✅ |
安全な接続に関するベスト プラクティス
- クラスタを作成するときは、クラスタを作成できるようにプライベート IP インターフェースを指定する必要があります。パブリック IP を使用する場合は、プライベート IP インターフェースとして Private Service Connect を選択することをおすすめします。
- IAM 認可と認証、mTLS などのセキュリティ機能には、設定が必要ですが、言語コネクタまたは Auth Proxy を使用します。たとえば、Auth Proxy をサイドカーとして実行する場合や、言語コネクタを使用する場合は、この方法が適しています。言語コネクタまたは Auth Proxy を使用すると、データベース接続のレイテンシがわずかに増加する可能性があります。
- 最適なパフォーマンスを実現するため、また、言語コネクタまたは Auth Proxy が実現できない場合は、直接接続を使用します。直接接続はデフォルトで暗号化されます(
sslmode=require
)が、クライアント証明書や上位の SSL モードはサポートされていません。言語コネクタまたは Auth Proxy を使用できない場合にのみ、直接接続を使用します。
ネットワーク トポロジを評価する
ネットワーク トポロジには、AlloyDB 接続にプライベート サービス アクセスを使用することをおすすめします。Private Service Connect を使用して、複数の VPC での推移的ピアリングの問題を回避します。パブリック IP は、Google Cloud SaaS 以外のプロダクトからの接続に適しています。特に、プライベート IP が実用的でない場合に適しています。
マルチ VPC 接続 | Google 以外の SaaS クライアント | オンプレミス接続をサポート | 説明 | |
---|---|---|---|---|
プライベート サービス アクセス | ❌ | ❌ | ✅ | 推移的 VPC 接続はデフォルトではサポートされていません。クロス VPC 接続用に socks5 プロキシを手動で実行できますが、この方法は複雑です。 |
Private Service Connect | ✅ | ❌ | ✅ | 複数の VPC から AlloyDB に接続する場合に、最もシンプルな構成を提供します。 |
パブリック IP | ✅ | ✅ | ✅ | 承認済みネットワークのソース ワークロードの CIDR 範囲を特定する必要がないようにするには、パブリック IP を言語コネクタまたは認証プロキシと組み合わせて使用することをおすすめします。 |
ネットワーク トポロジに基づく接続のベスト プラクティス
- デフォルトはプライベート サービス アクセスです。
- 複数の VPC を扱う場合は、Private Service Connect を使用して推移的ピアリングの問題を回避します。
- Google Cloud SaaS 以外のプロダクトの場合は、 Google Cloudでホストされていない Software-as-a-Service(SaaS)プロダクトと統合するときに、パブリック ネットワーク トポロジを選択します。特に、プライベート IP 接続が実現できない場合は、このトポロジを選択します。プライベート IP はデフォルトで有効になっているため、このようなシナリオではパブリック IP を明示的に構成する必要があります。
- 可能な限り、パブリック IP を使用して承認済みネットワークを構成せずに安全な接続を実現する場合は、言語コネクタまたは Auth Proxy を使用します。