インスタンスを複数の VPC に接続する

このページでは、推移的にピアリングされた VPC 間で Cloud SQL インスタンスに接続する方法について説明します。

Cloud SQL では、プライベート IP を使用して Cloud SQL インスタンスを複数の VPC に接続する次の方法があります。

Cloud SQL インスタンスと複数の VPC の詳細については、複数の VPC にまたがる Cloud SQL インスタンスをご覧ください。

カスタムルート アドバタイズを使用して接続する

Cloud Router を使用して、中間 VPC を通過する 2 つのネットワーク間のルートを手動でアドバタイズし、複数の VPC を Cloud SQL インスタンスに接続できます。2 つの VPC は、バーチャル プライベート ネットワーク(VPN)、Cloud Interconnect、またはその他の Cloud Router でサポートされているネットワークを使用して接続する必要があります。

カスタムルート アドバタイズ。

カスタムルート アドバタイズでは、Cloud SQL VPC VPC C が、中間 VPC VPC B を使用してメイン VPC VPC A に接続されています。これらのネットワーク間の共有ルートは、次の方法で構成できます。

Cloud Router を使用して複数の VPC を Cloud SQL インスタンスに接続するには、カスタムルート アドバタイズを使用することをおすすめします。

中間プロキシ(SOCKS5)を使用して接続する

中間 VPC に SOCKS5 プロキシなどの中間プロキシを、クライアントと Cloud SQL インスタンスの間のメイン VPC に Cloud SQL Auth Proxy を設定できます。これにより、中間ノードで暗号化されたトラフィックが Cloud SQL Auth Proxy から Cloud SQL インスタンスに転送されます。

中間プロキシを使用した接続。

中間プロキシを使用して複数の VPC から Cloud SQL インスタンスに接続するには、次の手順を行います。

  1. 外部クライアントに gcloud CLI をインストールします。

  2. 中間 VM で、SOCKS サーバーをインストール、構成、実行します。このようなサーバーの例として、一般的なオープンソース ソリューションである Dante があります。

  3. 外部接続と内部接続の両方で VM の ens4 ネットワーク インターフェースにバインドするようにサーバーを構成します。内部接続の場合は、任意のポートを指定します。

  4. 適切な IP アドレスまたは範囲から SOCKS サーバーの構成ポートへの TCP トラフィックを許可するように、VPC のファイアウォールを構成します。

  5. 外部クライアントで、Cloud SQL Auth Proxy をダウンロードしてインストールします。

  6. 外部クライアントで Cloud SQL Auth Proxy を起動します。

    内部 IP アドレスを使用するようにインスタンスを構成したため、Cloud SQL Auth Proxy の起動時に --private-ip オプションを指定する必要があります。

    また、ALL_PROXY 環境変数を中間 VM の IP アドレスに設定し、SOCKS サーバーが使用するポートを指定します。例: ALL_PROXY=socks5://VM_IP_ADDRESS:SOCKS_SERVER_PORT.

    ピアリングされた VPC から接続する場合は、中間 VM の内部 IP アドレスを使用します。それ以外の場合は、外部 IP アドレスを使用します。

  7. 外部クライアントで、mysql を使用して接続をテストします。

Cloud SQL Auth Proxy をサービスとして使用して接続する

Cloud SQL Auth Proxy を外部クライアントの代わりに中間 VPC にインストールして実行し、プロトコル対応プロキシ(接続プーラー)とペアリングすることで、安全な接続を有効にできます。接続プーラーの例には、PgBouncerPgpool-II(PostgreSQL のみ)などがあります。

この接続方法により、アプリケーションは、構成された SSL を使用してプーラーに直接接続できます。プーラーは、Cloud SQL Auth Proxy を使用して Cloud SQL インスタンスにデータベース クエリを渡します。

Private Service Connect を使用して接続する

Private Service Connect を使用すると、異なるプロジェクトや組織をまたがる複数の VPC ネットワークに接続できます。Private Service Connect を使用して、プライマリ インスタンスまたはそのリードレプリカのいずれかに接続できます。Private Service Connect の詳細については、Private Service Connect の概要をご覧ください。

Private Service Connect を使用して複数の VPC 間で接続するには、Private Service Connect を使用してインスタンスに接続するをご覧ください。