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

AlloyDB for PostgreSQL ワークロードに適したネットワーク トポロジと接続方法を選択するには、プライベート IP(プライベート サービス アクセスまたは Private Service Connect)、パブリック IP、直接接続、AlloyDB Auth Proxy、AlloyDB 言語コネクタを比較します。

  • AlloyDB で使用するネットワーク設定の種類。
  • 安全に接続する方法。
  • 接続のベスト プラクティス。
  • ワークロードの場所が接続要件にどのように影響するか。

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

AlloyDB への接続に推奨されるオプション

次の表に、ワークロードに推奨される接続オプションを示します。

ワークロードの評価

接続オプションを選択する前に、ワークロードを評価します。AlloyDB は、次のワークロード環境の接続をサポートしています。

  • Cloud Run、Cloud Shell、Google 以外の SaaS プロダクト
  • Cloud Run functions
  • 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 Run functions ✅ ✅ ✅ ✅ サーバーレス VPC アクセス コネクタまたはダイレクト VPC 下り(外向き)が必要です。
    App Engine スタンダード環境、フレキシブル環境 ✅ ✅ ✅ ✅ サーバーレス VPC アクセス コネクタが必要です。
    GKE、Compute Engine ✅ ✅ ✅ ✅ プライベート IP を使用することをおすすめします。推移的な VPC ネットワーク ピアリングが必要ない場合は、プライベート サービス アクセスを使用します。それ以外の場合は、Private Service Connect を使用します。
    オンプレミス ✅ ✅ ✅ ✅ プライベート IP には、オンプレミスからターゲット インスタンスへのネットワーク パスが必要です。言語コネクタまたは Auth Proxy を使用したパブリック IP は、大規模なネットワーク設定を必要としない安全な代替手段です。

ワークロードに基づく接続のベスト プラクティス

AlloyDB に接続する場合は、ワークロード環境に基づいて次の点を考慮してください。

Cloud Shell

  • パブリック IP で Auth Proxy を使用して Cloud Shell に接続します。Cloud Shell は、Virtual Private Cloud(VPC)ネットワークへの接続をサポートしていません。プライベート サービス アクセス インスタンスまたは Private Service Connect インスタンスへの接続はありません。また、Cloud Shell には、承認済みの外部ネットワークで使用する安定したアウトバウンド IP アドレスがありません。Auth Proxy または言語コネクタを使用しない場合は、すべての IP アドレス範囲(0.0.0.0/0 など)を許可する必要があります。この方法は、本番環境インスタンスにはおすすめしません。

Cloud Run と Cloud Run functions

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

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

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

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

次のステップ