このページでは、Cloud SQL for PostgreSQL への標準的な同種 PostgreSQL 移行に向けたネットワーク接続の構成に関連するコンセプトの概要を説明します。クイック スタート移行の接続性については、 クイック スタート移行を使用するガイドをご覧ください。
ネットワーク コンポーネントでは、同種の PostgreSQL 移行のエンドツーエンドのネットワーク構成について説明します。
メソッドの可用性では、シナリオに応じて使用できるメソッドについて説明します。
方法の比較では、使用可能な接続方法の比較表を示します。
利用可能な接続方法ごとに専用のセクションがあります。
IP 許可リストには、ソース データベースのパブリック IP へのネットワーク接続が記述されています。
リバース SSH トンネルでは、専用の Secure Shell(SSH)トンネルの概要について説明します。
Private Service Connect インターフェースを使用したプライベート接続では、ネットワーク アタッチメントを使用してソースのプライベート IP に接続する方法について説明します。
Cloud SQL for PostgreSQL ソースのみ: 専用 VPC ピアリングでは、2 つの PSA Cloud SQL インスタンス間の移行に合わせたネットワーキング方法について説明します。
VPC ピアリングを使用したプライベート接続では、ピアリングされた VPC ネットワークを介してソース データベースのプライベート IP への接続を確立する方法について説明します。
さまざまな接続方法とその要件を理解したら、 ディシジョン ツリー図を使用して、シナリオに適したソリューションを選択できます。
移行プロセスに関与するネットワーク コンポーネント
Cloud SQL への同種の PostgreSQL 移行の場合、Database Migration Service は移行先の Cloud SQL for PostgreSQL インスタンスに接続し、その代わりに移行プロセスを管理します。移行元インスタンスへの接続を確立するのは移行先インスタンスであり、Database Migration Service はプロセスを監視します。
移行のネットワーク接続の設定を計画する際は、インフラストラクチャの要件を慎重に検討することが重要です。これには、ネットワークの決定によって移行されたデータベース インスタンスの最終状態にどのような制限が生じる可能性があるかも含まれます。たとえば、ネットワーク接続にプライベート接続を使用する場合は、プライベート IP が有効になっている移行先の Cloud SQL インスタンスを使用する必要があります。
接続方法の可用性
移行先のインスタンスが新規か既存かによって、移行元のデータベースごとに異なる接続方法を使用できます。次の表に、各シナリオでサポートされている方法の概要を示します。
| ソース データベース サービス | 新しい移行先インスタンスへの移行方法 | 既存の移行先インスタンスへの移行方法 |
|---|---|---|
| セルフホスト、Amazon Aurora、Amazon RDS、Azure Database for PostgreSQL | IP 許可リスト、リバース SSH トンネル、VPC ピアリング | IP 許可リスト、リバース SSH トンネル、VPC ピアリング(PSA 宛先インスタンスが必要)、PSC インターフェース(PSC 対応の宛先インスタンスが必要) |
| Cloud SQL for PostgreSQL | IP 許可リスト(非推奨)、特殊な VPC ピアリング | IP 許可リスト(非推奨)、特殊な VPC ピアリング、PSC インターフェース(PSC 対応の宛先インスタンスが必要) |
接続方法の比較
接続方法ごとに、メリットと要件が異なります。次の表で、各方法を簡単に比較できます。各方法の詳細については、それぞれのセクションをご覧ください。
| ネットワーキングの方式 | 利点 | 欠点 |
|---|---|---|
| IP 許可リスト |
|
|
| リバース SSH トンネル |
|
|
| Private Service Connect インターフェース |
|
|
| Cloud SQL for PostgreSQL ソースのみ: 専用の VPC ピアリング | この接続方法は、共有 VPC を使用せずに PSA Cloud SQL for PostgreSQL インスタンス間で移行する場合に特化しています。 | 両方のインスタンスがプライベート IP が有効になっている PSA インスタンスである必要があります。PSC 対応の宛先ではサポートされていません。 |
| Virtual Private Cloud ピアリングによるプライベート接続 | 接続は、VPC ピアリングを介してソース データベースのプライベート IP アドレスに確立されます。VPC に十分なピアリング割り当てがない場合、この接続方法を使用するのは難しい可能性があります。Cloud SQL for PostgreSQL ソースから移行するほとんどのシナリオでは、代わりに Private Service Connect インターフェースを使用したプライベート接続を使用することをおすすめします。 |
|
ソース データベース接続の IP 許可リスト
IP 許可リスト接続方法を使用すると、Cloud SQL は PostgreSQL ポート 5432 で移行元データベース サーバーの一般公開 IP アドレスへの接続を確立しようとします。
IP 許可リスト接続の要件
大まかに言うと、この接続方法を使用するには、次のことを確認する必要があります。
移行元データベースの IP アドレスを、直接またはドメイン ネーム サーバー(DNS)を介して一般に認識されるホスト名で、公共のインターネットに公開する必要があります。
移行先の Cloud SQL インスタンスでパブリック IP が有効になっている必要があります。移行元データベースは、移行先インスタンスのアウトバウンド パブリック IP からの受信接続を許可する必要があります。
IP 許可リストの接続を構成する
パブリック IP 接続の構成手順は、ソース データベースの種類によって異なります。詳しくは以下をご覧ください。
リバース SSH トンネル データベース接続
この接続方法は、パブリック ネットワーク接続とプライベート ネットワーク接続を組み合わせたものです。接続自体は、Secure Shell(SSH)ポートを介してトンネルホスト サーバーのパブリック IP アドレスに確立されます。接続がアクティブになると、すべてのトラフィックが安全なトンネルを介して、ポート 5432 のソース データベースのプライベート IP アドレスに送信されます。
Google Cloud内にある Cloud SQL ソースまたはセルフホスト型ソリューションの場合は、 Private Service Connect インターフェースを使用したプライベート接続または Virtual Private Cloud ピアリングを使用したプライベート接続方法を使用することをおすすめします。
リバース SSH トンネルの要件
接続を作成するには、トンネル サーバー(踏み台インスタンスとも呼ばれます)で SSH ポートをパブリック インターネットに公開する必要があります。接続が確立されると、すべてのトラフィックがプライベート トンネル接続を介してルーティングされます。
この方法では、追加のネットワーク コンポーネントが必要です。
- リバース SSH マシンとして機能する Google Cloud の仮想マシン(VM)。
- ソース データベースに接続できるネットワーク上の追加のマシン。
リバース SSH トンネル接続を構成する
Database Migration Service は、リバース SSH VM を作成する設定スクリプトを生成できますが、エンドツーエンドのプロセス全体は、移行元データベースの種類によって異なります。詳細については、 リバース SSH 接続を構成するをご覧ください。
Private Service Connect インターフェースを使用したプライベート接続
この接続方法を使用すると、 VPC ピアリングの割り当てを消費することなく、ソース データベースのプライベート IP に接続できます。Private Service Connect インターフェースは、プライベート IP 接続に推奨される方法ですが、 既存のインスタンスに移行する場合にのみ使用できます。
Private Service Connect インターフェースを使用する場合、宛先インスタンスはピアリング割り当てを消費しません。代わりに、Private Service Connect インターフェースを利用して、ソース データベースのプライベート IP に到達できる Virtual Private Cloud に到達します。ネットワーク アーキテクチャによっては、Cloud VPN や Cloud Interconnect などの追加コンポーネントの使用が必要になる場合があります。
Cloud SQL for PostgreSQL インスタンスからの移行では、移行元インスタンスでプライベート サービス アクセスを有効にし、ネットワーク アタッチメントを作成する Virtual Private Cloud とピアリングする必要があります。ただし、移行先の Cloud SQL for PostgreSQL インスタンスは、ピアリング割り当てを消費しません。代わりに、Private Service Connect インターフェースを使用します。
Private Service Connect インターフェースの要件
この接続方法には、次のものが必要です。
移行先のデータベース インスタンスは、PSC が有効になっている Cloud SQL for PostgreSQL インスタンスである必要があります。
プライベート サービス アクセスが有効になっている Virtual Private Cloud ネットワークが必要です。
これは、ネットワーク アタッチメントを作成するネットワークです。ソース データベースの IP は、その Virtual Private Cloud から到達可能である必要があります。たとえば、Cloud SQL for PostgreSQL ソースの場合、これは PSA 対応のソース Cloud SQL インスタンスとピアリングするネットワークです。
Private Service Connect インターフェースを使用してプライベート IP 接続を構成する
Private Service Connect インターフェースでプライベート IP 接続を使用するには、Virtual Private Cloud からソース データベースのプライベート IP に到達できる必要があります。ネットワーク アーキテクチャによっては、Cloud VPN や Cloud Interconnect などの追加コンポーネントの使用が必要になる場合があります。
さまざまなデータベース ソースのプライベート IP 接続の構成の詳細については、以下をご覧ください。
セルフホスト型ソースの Private Service Connect インターフェースを使用してプライベート IP 接続を構成する。
Amazon RDS および Amazon Aurora ソースの Private Service Connect インターフェースを使用してプライベート IP 接続を構成する。
Azure Database for PostgreSQL ソースの Private Service Connect インターフェースを使用してプライベート IP 接続を構成する。
Cloud SQL for PostgreSQL ソースのみ: 特殊な VPC ピアリング
この方法は、PSA Cloud SQL for PostgreSQL インスタンス間の移行専用です。標準のネットワーキング シナリオでは、Virtual Private Cloud ピアリングを使用して 2 つの Cloud SQL インスタンスを接続するには、共有 VPC を使用する必要があります。Database Migration Service を使用した同種の PostgreSQL 移行では、共有 VPC を使用せずに 2 つの PSA インスタンスを接続できます。
特殊な VPC ピアリングの要件
この接続方法には、次のものが必要です。
ソース データベース インスタンスは、PSA が有効になっている Cloud SQL for PostgreSQL インスタンスである必要があります。
移行先のデータベース インスタンスは、PSA が有効になっている Cloud SQL for PostgreSQL インスタンスである必要があります。
プライベート サービス アクセスが有効になっている Virtual Private Cloud ネットワークが必要です。
これは、Database Migration Service が移行先の Cloud SQL インスタンスとピアリングするネットワークです。必要な IP 範囲を割り当てるのに十分なスペースが必要です。
プライベート IP 接続に特化した VPC ピアリングを構成する
ソース PSA Cloud SQL for PostgreSQL インスタンスに特化した VPC ピアリングを構成する方法については、 Cloud SQL for PostgreSQL に特化した Virtual Private Cloud ピアリングを構成するをご覧ください。
VPC ピアリングを利用したプライベート接続
この方法では、Virtual Private Cloud(VPC)のプライベート IP アドレスを介してソースに接続できます。この方法を使用するために、パブリック インターネットにインターフェースを公開する必要はありませんが、ソース データベースの IP アドレスまたはホスト名に Google Cloud VPC からアクセスできる必要があります。 Google Cloudの外部にあるソースの場合、Cloud VPN や Cloud Interconnect などの追加のネットワーク コンポーネントが必要になることがあります。
VPC ピアリングを使用したプライベート IP 接続の要件
VPC ピアリングを使用したプライベート IP 接続には、次のものが必要です。
- プライベート サービス アクセスが有効になっている Virtual Private Cloud ネットワークが必要です。ソース データベースのプライベート IP が、そのネットワーク内で到達可能である必要があります。
VPC ピアリングを使用してプライベート IP 接続を構成する
Virtual Private Cloud ピアリングでプライベート IP 接続を使用するには、Virtual Private Cloud からソース データベースのプライベート IP に到達できる必要があります。ネットワーク アーキテクチャによっては、Cloud VPN や Cloud Interconnect などの追加コンポーネントを使用する必要があります。
さまざまなデータベース ソースのプライベート IP 接続の構成の詳細については、以下をご覧ください。
セルフホスト型ソースに Virtual Private Cloud ピアリングを使用してプライベート IP 接続を構成する。
Amazon RDS と Amazon Aurora のソースに Virtual Private Cloud ピアリングを使用してプライベート IP 接続を構成する。
Azure Database for PostgreSQL ソースに Virtual Private Cloud ピアリングを使用してプライベート IP 接続を構成する。
ネットワーク接続のディシジョン ツリー
サポートされているすべての接続方法とその要件を理解したら、図の質問に沿って、シナリオに適した接続方法を選択できます。
次のステップ
移行手順の詳細については、 Cloud SQL for PostgreSQL への移行を開始するをご覧ください。
ソース データベースの前提条件とレプリケーション権限を構成するには、 ソース データベースを構成するをご覧ください。