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