Cloud SQL への接続方法を選択する

このページでは、Cloud SQL インスタンスに接続する方法の概要について説明します。

Cloud SQL インスタンスに接続する前に、Cloud SQL インスタンスとサポートするネットワーキング リソースのデプロイ方法と構成方法を決定する必要があります。Cloud SQL インスタンスがすでに構成されてデプロイされている場合は、このページで、クライアントを既存のインスタンスに接続するさまざまな方法について説明します。

IP アドレスのタイプ: プライベートまたはパブリック

Cloud SQL インスタンスを初めて作成するときに、パブリック IP アドレスプライベート IP アドレス、または両方の組み合わせでインスタンスを構成するかどうかを選択できます。

インスタンスの IP アドレス構成は、アプリケーションの要件に基づいて選択します。インスタンスを構成したら、クライアント接続文字列でパブリック IP アドレス、プライベート IP アドレス、または場合によっては DNS 名を指定します。

プライベート IP アドレス パブリック IP アドレス
説明 内部の Virtual Private Cloud(VPC)ネットワーク専用(プライベート)IP アドレス インターネットにアクセスできる外部(パブリック)IP アドレス
決定点

Trusted Cloud by S3NS 内の VPC ネットワークでホストされているクライアントから接続する必要がありますか?または、これらの VPC ネットワークにアクセスできるクライアントから接続する必要がありますか?

その場合は、インスタンスのプライベート IP アドレスを選択します。

Trusted CloudVPC ネットワークの外部にあるクライアントからパブリック インターネット経由で接続する必要がありますか?

該当する場合は、インスタンスのパブリック IP アドレスを選択します。

設定オプション

次のタイプのプライベート ネットワーキング構成がサポートされています。

パブリック IP アドレスを使用してインスタンスに直接接続する場合は、承認済みネットワークを構成する必要があります。

パブリック IP を使用する Cloud SQL インスタンスに接続する、より安全な別の方法として、Cloud SQL コネクタ(Cloud SQL Auth Proxy や Cloud SQL 言語コネクタなど)を使用する方法があります。

インスタンスにパブリック IP を追加する手順については、パブリック IP を構成するをご覧ください。

パブリック IP アドレスを使用して Cloud SQL インスタンスに接続するには、psql クライアントまたは他の利用可能なクライアントを使用します。

概要

推奨事項: セキュリティを強化するため、インターネットからアクセス可能な Cloud SQL インスタンスに関する特定の要件がある場合や、VPC の要件を満たしていないクライアントから接続する場合を除き、プライベート IP アドレス タイプを使用してインスタンスを構成することをおすすめします。

接続タイプ: Cloud SQL コネクタまたは直接

Cloud SQL インスタンスに接続するときは、Cloud SQL コネクタを使用するか、直接接続できます。

Cloud SQL コネクタは、Cloud SQL Auth Proxy または Cloud SQL 言語コネクタのいずれかです。

Cloud SQL コネクタ 直接接続
説明 Cloud SQL Auth Proxy(クライアントサイド プロキシ)と Cloud SQL 言語コネクタ(クライアントサイド ライブラリ)は、Cloud SQL インスタンスへのアクセスを簡素化し、安全に保護します。特に、パブリック IP アドレスを使用してインスタンスに接続する場合に有効です。 クライアントから Cloud SQL インスタンスへの直接接続により、レイテンシの低い接続が実現します。直接接続は、パブリック IP アドレスまたはプライベート IP アドレスから行うことができます。
決定点

Cloud SQL コネクタは、次のような場合に役立ちます。

  • 承認済みネットワークを構成せずにパブリック IP アドレスを使用して Cloud SQL インスタンスに接続する場合。
  • SSL 証明書を管理せずに、サーバーとクライアントの ID 検証を使用してデータベースとの間で送受信されるトラフィックを自動的に暗号化する場合。
  • IAM データベース認証を使用しており、OAuth 2.0 アクセス トークンを自動的に更新する場合。
  • 動的に割り当てられた IP アドレスまたは一時的な IP アドレスを使用するクライアントまたはアプリケーションから接続する場合。動的 IP 構成は、Platform as a Service(PaaS)アプリケーションで一般的です。

直接接続を使用すると、次のメリットがあります。

  • Cloud SQL コネクタを使用した接続よりもレイテンシが低い。
  • Cloud SQL コネクタとは異なり、追加のパッケージやライブラリの依存関係はありません。
  • 直接接続を使用する場合は、SSL/TLS 設定を構成する必要があります。
設定オプション

Cloud SQL インスタンスとクライアントで SSL/TLS 証明書を構成するには、次の操作を行います。

  1. インスタンスのサーバー CA モードを選択する
  2. インスタンスの接続に SSL/TLS 暗号化を適用するようにインスタンスを構成します。
  3. クライアント証明書を作成します。
  4. サーバー証明書とクライアント証明書をダウンロードします。
概要

Cloud SQL インスタンスに接続するときは、Cloud SQL コネクタを使用するか、クライアントから直接接続できます。

一般的な推奨事項: プライベート IP アドレスでインスタンスに接続する場合は、直接接続を使用します。また、SSL を適用し、接続用に SSL/TLS 証明書を構成することをおすすめします。

パブリック IP アドレスを使用してインスタンスに接続する場合は、Cloud SQL コネクタ(Cloud SQL Auth Proxy または Cloud SQL 言語コネクタのいずれか)を使用します。

データベース認証タイプ: IAM または組み込み

インスタンスに接続するときは、データベース ユーザーとして認証する必要があります。組み込み認証または IAM データベース認証を選択できます。

IAM データベース認証 組み込み認証
説明 IAM データベース認証を使用すると、パスワードの代わりに有効期間の短いアクセス トークンを使用して、 Trusted Cloud IAM ユーザー アカウントとサービス アカウントでデータベースに対する認証を行うことができます。データベース権限は、ユーザー、サービス アカウント、グループなどの IAM プリンシパルを使用して管理できます。 組み込み認証では、データベースのローカル ユーザー名とパスワードを使用してデータベース ユーザーを認証します。
決定点 Trusted Cloudの IAM を使用して Trusted Cloudサービス全体でユーザー管理を一元化しますか?「はい」の場合は、IAM データベース認証を使用します。 組み込みデータベース認証に依存するアプリケーションやワークフローはありますか?「はい」の場合は、組み込み認証を使用します。
設定オプション

IAM データベース認証は、個々の IAM ユーザー、個々のサービス アカウント、グループで使用できます。詳細については、IAM データベース認証を使用してユーザーを管理する をご覧ください。

Cloud SQL コネクタを使用する場合、コネクタは IAM アクセス トークンの自動更新を処理します。詳細については、IAM データベースの自動認証をご覧ください。

組み込みデータベース認証を使用し、インスタンス レベルとユーザーレベルでパスワード ポリシーを構成できます。詳細については、組み込み認証をご覧ください。
概要 推奨事項: 組み込みデータベース認証に依存するアプリケーションやワークフローがない限り、可能な限り IAM データベース認証を使用してください。

プライベート IP アドレスを使用する場合のプライベート ネットワーキング オプション

プライベート IP アドレスを使用するようにインスタンスを構成する場合は、プライベート サービス アクセス、Private Service Connect、またはその両方のプライベート ネットワーキング オプションを選択できます。

サポートされている機能

次の表に、1 つまたは両方のプライベート ネットワーキング オプションで構成されたインスタンスに接続するときに Cloud SQL がサポートする機能を示します。

機能 プライベート サービス アクセスのみを使用するインスタンス Private Service Connect のみを使用するインスタンス プライベート サービス アクセスと Private Service Connect の両方を使用するインスタンス
複数の VPC から接続する サポートされていません。 サポート対象 Private Service Connect エンドポイントを使用してサポートされます。
pglogicalPL/Proxydblinkpostgres_fdw拡張子 サポート対象 サポートされていません。 プライベート サービス アクセスのアウトバウンド接続を使用してサポートされます。
外部レプリカ サポート対象 サポートされていません。 プライベート サービス アクセスのアウトバウンド接続を使用してサポートされます。
書き込みエンドポイント サポート対象 サポートされていません。 プライベート サービス アクセスでサポートされています。
プライベート サービス アクセスに関連付けられている VPC ネットワークを変更する サポート対象 該当なし インスタンスで Private Service Connect が有効になっているため、プライベート サービス アクセスではサポートされていません。Private Service Connect には適用されません。
Cloud SQL に対するクライアント IP アドレスの可視性 サポート対象 サポートされていません。 プライベート サービス アクセスの IP アドレスを使用することでサポートされます。Private Service Connect エンドポイントではサポートされていません。

インスタンスからネットワーク オプションを削除する

Cloud SQL では、インスタンスから次のネットワーキング オプションを削除できます。

  • プライベート サービス アクセスとパブリック IP の両方を使用するインスタンスのパブリック IP
  • パブリック IP、プライベート サービス アクセス、Private Service Connect を使用するインスタンスのパブリック IP
  • Private Service Connect とプライベート サービス アクセスの両方を使用するインスタンスからの Private Service Connect
  • Private Service Connect、プライベート サービス アクセス、パブリック IP を使用するインスタンスからの Private Service Connect

インスタンスのネットワーキング オプションを有効にする

Cloud SQL では、インスタンスで次の接続オプションを有効にできます。

  • パブリック IP のみを使用するインスタンスのプライベート サービス アクセス
  • プライベート サービス アクセスのみを使用するインスタンスの Private Service Connect
  • プライベート サービス アクセスとパブリック IP の両方を使用するインスタンスの Private Service Connect
  • プライベート サービス アクセスのみを使用するインスタンスのパブリック IP

制限事項

  • パブリック IP アドレスと Private Service Connect の両方を使用してインスタンスを作成することはできません。
  • プライベート サービス アクセスと Private Service Connect を使用するインスタンスからプライベート サービス アクセスを削除することはできません。
  • プライベート サービス アクセスとパブリック IP を使用するインスタンスからプライベート サービス アクセスを削除することはできません。
  • パブリック IP のみを使用するインスタンスがある場合、プライベート サービス アクセスと Private Service Connect の両方を同時に有効にすることはできません。まず、プライベート サービス アクセスを有効にしてから、Private Service Connect を有効にします。
  • 承認済みネットワークを使用して、Private Service Connect インスタンスの IP アドレス ベースの許可リストを作成することはできません。

Cloud SQL に接続するためのツール

次の表に、Cloud SQL に接続するためのオプションを示します。

接続オプション 詳細
Cloud SQL Auth Proxy
gcloud CLI
Cloud SQL 言語コネクタ
Cloud Shell
Cloud Code
サードパーティのデータベース管理ツールを使用して接続する
pgAdmin
Toad Edge
Blendo

トラブルシューティング

接続に問題がある場合は、以下のページで既知の問題のデバッグ方法やソリューションを確認してください。

次のステップ