このページでは、標準の同種 PostgreSQL から AlloyDB for PostgreSQL への移行に向けたネットワーク接続の構成に関連するコンセプトの概要を説明します。クイック スタート移行の接続性については、 クイック スタート移行を使用するガイドをご覧ください。
ネットワーク コンポーネントでは、PostgreSQL の同種移行のエンドツーエンドのネットワーク構成について説明します。
メソッドの可用性では、シナリオに応じて使用できるメソッドについて説明します。
方法の比較では、使用可能な接続方法の比較表を示します。
利用可能な接続方法ごとに専用のセクションがあります。
IP 許可リストには、ソース データベースのパブリック IP へのネットワーク接続が記述されています。
リバース SSH トンネルでは、専用の Secure Shell(SSH)トンネルの概要について説明します。
Private Service Connect インターフェースを使用したプライベート接続では、ネットワーク アタッチメントを使用してソースのプライベート IP に接続する方法について説明します。
クラウドでホストされている VM を経由した TCP プロキシでは、中継の Compute Engine プロキシ VM を経由して移行トラフィックをルーティングする方法について説明します。
VPC ピアリングを使用したプライベート接続では、ピアリングされた VPC ネットワークを介してソース データベースのプライベート IP への接続を確立する方法について説明します。
さまざまな接続方法とその要件を理解したら、 ディシジョン ツリー図を使用して、シナリオに適したソリューションを選択できます。
移行プロセスに関与するネットワーク コンポーネント
PostgreSQL から AlloyDB for PostgreSQL への同種移行の場合、Database Migration Service は移行先の AlloyDB for PostgreSQL クラスタに接続し、移行プロセスを管理します。Database Migration Service がプロセスを監視している間に、移行元インスタンスへの接続を確立するのは移行先クラスタです。
移行のネットワーク接続の設定を計画する際は、インフラストラクチャの要件を慎重に検討することが重要です。これには、ネットワークの決定によって、移行されたデータベース クラスタの最終状態にどのような制限が生じる可能性があるかも含まれます。たとえば、ネットワーク接続にプライベート接続を使用する場合は、プライベート サービス アクセスまたは Private Service Connect で構成された移行先の AlloyDB for PostgreSQL クラスタを使用する必要があります。
接続方法の可用性
移行先のクラスタが新規か既存かに応じて、移行元のデータベースごとに異なる接続方法を使用できます。次の表に、各シナリオでサポートされている方法の概要を示します。
| ソース データベース サービス | 新しい移行先クラスタへの移行方法 | 既存の移行先クラスタへの移行方法 |
|---|---|---|
| セルフホスト | IP 許可リスト、リバース SSH トンネル、VPC ピアリング、クラウドでホストされている VM を経由した TCP プロキシ | IP 許可リスト、リバース SSH トンネル、VPC ピアリング(PSA 宛先クラスタが必要)、クラウドでホストされている VM を経由する TCP プロキシ、PSC インターフェース(PSC 対応の宛先クラスタが必要) |
| Amazon Aurora、Amazon RDS | IP 許可リスト、リバース SSH トンネル、VPC ピアリング | IP 許可リスト、リバース SSH トンネル、VPC ピアリング(PSA 宛先クラスタが必要)、PSC インターフェース(PSC 対応の宛先クラスタが必要) |
| Cloud SQL for PostgreSQL | IP 許可リスト(非推奨)、VPC ピアリング、クラウドでホストされている VM を経由した TCP プロキシ | IP 許可リスト(非推奨)、VPC ピアリング、クラウドでホストされている VM を経由する TCP プロキシ、PSC インターフェース(PSC 対応の宛先クラスタが必要) |
接続方法の比較
接続方法ごとに、メリットと要件が異なります。次の表で、各方法を簡単に比較できます。各方法の詳細については、それぞれのセクションをご覧ください。
| ネットワーキングの方式 | 利点 | 欠点 |
|---|---|---|
| IP 許可リスト |
|
|
| リバース SSH トンネル |
|
|
| Private Service Connect インターフェース |
|
|
| クラウドでホストされている VM を経由した TCP プロキシ |
|
|
| Virtual Private Cloud ピアリングによるプライベート接続 | 接続は、VPC ピアリングを介してソース データベースのプライベート IP アドレスに確立されます。VPC に十分なピアリング割り当てがない場合、この接続方法を使用するのは難しい可能性があります。既存の AlloyDB for PostgreSQL クラスタに移行するほとんどのシナリオでは、代わりに Private Service Connect インターフェースを使用したプライベート接続を使用することをおすすめします。 |
|
ソース データベース接続の IP 許可リスト
IP 許可リストの接続方法を使用すると、AlloyDB for PostgreSQL は PostgreSQL ポート 5432 でソース データベース サーバーの一般公開 IP アドレスへの接続を試みます。
IP 許可リスト接続の要件
大まかに言うと、この接続方法を使用するには、次のことを確認する必要があります。
移行元データベースの IP アドレスを、直接またはドメイン ネーム サーバー(DNS)を介して一般に認識されるホスト名で、公共のインターネットに公開する必要があります。
移行先の AlloyDB for PostgreSQL プライマリ インスタンスで、アウトバウンド パブリック 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 とピアリングする必要があります。ただし、移行先の AlloyDB for PostgreSQL クラスタはピアリング割り当てを消費しません。代わりに、Private Service Connect インターフェースを使用します。
Private Service Connect インターフェースの要件
この接続方法には、次のものが必要です。
移行先のデータベース クラスタは、PSC が有効になっている AlloyDB 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 接続を構成する。
Cloud SQL for PostgreSQL ソースの Private Service Connect インターフェースを使用してプライベート IP 接続を構成する。
クラウドでホストされている VM を経由した TCP プロキシ
この接続方法は、Virtual Private Cloud ピアリングを介したプライベート接続を使用する場合の代替手段ですが、非推移的な VPC ピアリングにより、ソース データベースと宛先の AlloyDB for PostgreSQL クラスタ間の直接ルーティングが妨げられます。
このシナリオは、古いプロデューサー ネットワーク アーキテクチャを使用する Cloud SQL for PostgreSQL インスタンスから、プライベート サービス アクセス(PSA)で構成された移行先の AlloyDB for PostgreSQL クラスタに移行する場合に最もよく発生します。両方のサービスが別々の Google 管理のプロデューサー ネットワークに存在し、VPC ピアリングが推移的ではないため、トラフィックはそれらの間で直接流れることはできません。また、セルフホスト型のソース データベースと移行先の AlloyDB for PostgreSQL クラスタが、ピアリングされた別々の VPC ネットワークに存在する場合や、企業のセキュリティ ポリシーで移行トラフィックを単一の静的内部 IP アドレス経由でルーティングする必要がある場合にも適用されます。
VPC ネットワーク内の中間 Compute Engine VM がブリッジとして機能し、宛先の AlloyDB for PostgreSQL プライマリ インスタンスからポート 5432 で受信レプリケーション接続を受け入れ、ソース データベースに転送します。
TCP プロキシ接続の要件
この接続方法には、次のものが必要です。
- 宛先の AlloyDB for PostgreSQL クラスタとピアリングされた Virtual Private Cloud ネットワーク内の Compute Engine VM。TCP プロキシ コンテナを実行します。
- プロキシ VM からソース データベース インスタンスへの Network Reachability。
TCP プロキシ接続を構成する
Google Cloud コンソールで移行ジョブを作成すると、Database Migration Service は必要なパラメータを収集し、Compute Engine プロキシ コンテナ VM と VPC に必要な上り(内向き)ファイアウォール ルールを作成する gcloud スクリプトを生成します。詳細な手順については、
クラウドでホストされている VM を介した TCP プロキシを使用して接続を構成するをご覧ください。
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 接続を構成する。
Cloud SQL for PostgreSQL ソースの Virtual Private Cloud ピアリングを使用してプライベート IP 接続を構成する。
ネットワーク接続のディシジョン ツリー
サポートされているすべての接続方法とその要件を理解したら、図の質問に沿って、シナリオに適した接続方法を選択できます。
次のステップ
移行手順の詳細については、 AlloyDB for PostgreSQL への移行を開始するをご覧ください。
ソース データベースの前提条件とレプリケーション権限を構成するには、 ソース データベースを構成するをご覧ください。