接続オプションを選択する

このページでは、AlloyDB for PostgreSQL に接続するためのオプションについて説明します。AlloyDB Auth Proxy または AlloyDB コネクタを使用する場合のガイダンスも含まれています。Private Service Connect を使用して接続する必要がある場合でも、他の方法で接続する必要がある場合でも、ワークロードに最適なオプションを選択できます。

さらに詳しい内容については、 接続の概要をご覧ください。

このドキュメントでは、次のことを学びます。

  • AlloyDB で使用するネットワーク設定の種類。
  • 安全に接続する方法。
  • 接続のベスト プラクティス。
  • ワークロードのロケーションが接続要件に与える影響。

AlloyDB に接続するための推奨オプション

次の表を使用して、ワークロードに推奨される接続オプションを確認してください。

ワークロードの評価

接続オプションを選択する前に、ワークロードを評価します。 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 は、 Identity and Access Management(IAM)データベース認証の概要 や mTLSなどの強化されたセキュリティ機能を提供しますが、これらの機能には 追加の設定が必要です。直接接続はデフォルトで暗号化されますが、クライアント証明書または上位の SSL モード(verify-ca と verify-full)はサポートしていません。言語コネクタまたは Auth Proxy をパブリック IP で使用し、言語コネクタまたは Auth Proxy が実現できない場合にのみ、プライベート IP に直接接続を使用することをおすすめします。

IAM データベース認証では、個々の認証とグループ認証の 2 つの方法がサポートされています。グループ認証はデータベース バージョン POSTGRES_15 以降でサポートされており、マネージド接続プーリングはサポートしていません。

暗号化された接続 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 接続に プライベート サービス アクセス を使用することをおすすめします。複数の VPC で推移的ピアリングの問題を回避するには、 Private Service Connect を使用します。パブリック IP は、特にプライベート IP が 実用的でない場合に、SaaS 以外のプロダクトからの 接続に適しています。Google Cloud

マルチ VPC 接続 Google 以外の SaaS クライアント オンプレミス接続をサポート 説明
プライベート サービス アクセス ❌ ❌ ✅ デフォルトでは、推移的 VPC 接続はサポートされていません。VPC 間接続には socks5 プロキシを手動で実行できますが、この方法は複雑です。
Private Service Connect ✅ ❌ ✅ 複数の VPC から AlloyDB に接続する場合に、最も簡単な構成を提供します。
パブリック IP ✅ ✅ ✅ 承認済みネットワークのソース ワークロードの CIDR 範囲を特定する必要がないように、パブリック IP は言語コネクタまたはAuth Proxyと組み合わせることをおすすめします。

ネットワーク トポロジに基づく接続のベスト プラクティス

  • デフォルトでは プライベート サービス アクセスを使用します。
  • 複数の VPC を扱う場合は、Private Service Connect を使用して推移的ピアリングの問題を回避します。
  • Google Cloud SaaS 以外のプロダクトの場合は、特にプライベート IP 接続が実現できない場合に、 Google Cloudでホストされていない Software-as-a-Service(SaaS)プロダクトと統合するときに、パブリック ネットワーク トポロジを選択します。プライベート IP はデフォルトで有効になっているため、このようなシナリオではパブリック IP を明示的に構成する必要があります。
  • 可能な限り、パブリック IP を使用する場合は、言語コネクタまたは Auth Proxy を使用して、承認済みネットワークを構成せずに安全な接続を実現します。

次のステップ