標準の同種 PostgreSQL 移行のネットワーク接続

このページでは、Cloud SQL for PostgreSQL への標準的な同種 PostgreSQL 移行に向けたネットワーク接続の構成に関連するコンセプトの概要を説明します。クイック スタート移行の接続性については、 クイック スタート移行を使用するガイドをご覧ください。

さまざまな接続方法とその要件を理解したら、 ディシジョン ツリー図を使用して、シナリオに適したソリューションを選択できます。

移行プロセスに関与するネットワーク コンポーネント

Cloud SQL への同種の PostgreSQL 移行の場合、Database Migration Service は移行先の Cloud SQL for PostgreSQL インスタンスに接続し、その代わりに移行プロセスを管理します。移行元インスタンスへの接続を確立するのは移行先インスタンスであり、Database Migration Service はプロセスを監視します。

PostgreSQL の移行フローの概要
図 1. Database Migration Service for PostgreSQL の移行中のデータ移動。(クリックして拡大)
PostgreSQL の移行フローの概要

移行のネットワーク接続の設定を計画する際は、インフラストラクチャの要件を慎重に検討することが重要です。これには、ネットワークの決定によって移行されたデータベース インスタンスの最終状態にどのような制限が生じる可能性があるかも含まれます。たとえば、ネットワーク接続にプライベート接続を使用する場合は、プライベート 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 許可リスト
  • 設定が最も簡単な接続方法です。
  • Google Cloudのプライベート ネットワーク経由でソース データベースにアクセスできない場合に便利です。
  • ソース データベース サーバーの IPv4 アドレスを公共のインターネットに公開する必要があります。このため、追加のセキュリティ対策が必要になります。 たとえば、TLS 証明書とファイアウォール ルールを使用して接続を保護することをおすすめします。
  • ファイアウォール ルールの構成で、ネットワーク セキュリティ部門または IT 部門のサポートが必要になる場合があります。
リバース SSH トンネル
  • IP 許可リストを使用してパブリック IP 経由で接続するよりも安全です。

    初期接続は、公共のインターネット経由で Secure Shell(SSH)ポートを介して確立されます。接続がアクティブになると、すべてのトラフィックが安全なプライベート トンネルを介して PostgreSQL ポート 5432 に送信されます。

  • Google Cloudのプライベート ネットワーク経由でソース データベースにアクセスできないが、ソース データベース サーバーを公共のインターネットに直接公開したくない場合に便利です。
  • 接続に中間サーバー(リバース SSH トンネル マシン)を使用すると、レイテンシが増加する可能性があります。
  • リバース SSH ホストサーバーを設定して維持する必要があります。 移行期間中、サーバーはオンライン状態を維持する必要があります。
Private Service Connect インターフェース
  • ネットワーク アタッチメントを使用して、移行元のプライベート IP への接続を確立します。この方法では、VPC のピアリング割り当ては消費されません。
  • 構成が最も簡単で、推奨される移行元のプライベート接続方法。
  • 既存の Cloud SQL for PostgreSQL 移行先への移行でのみサポートされます。この方法を使用する場合は、Cloud SQL で移行先インスタンスを直接作成する必要があります。
  • ネットワーク アタッチメントの設定とファイアウォール ルールの調整が必要です。
  • 接続の確立後にネットワーク アタッチメントを変更することはできません。
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 許可リスト接続を示す図。
図 2. PostgreSQL の同種移行の IP 許可リスト ネットワーク接続図。(クリックして拡大)
同種移行のパブリック 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 サーバーを介した高レベルの接続設定を示すネットワーク図。
図 3. 移行ネットワーキングの例: SSH トンネルを介したソース接続。(クリックして拡大)
専用 SSH サーバーを介した高レベルの接続設定を示すネットワーク図。

リバース 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 VPN と Private Service Connect の接続を示す図。
図 4. Google Cloudの外部に存在するソースからの同種移行用の Private Service Connect インターフェースとのネットワーク接続。(クリックして拡大)
同種移行における Cloud VPN と Private Service Connect の接続を示す図。

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 接続の構成の詳細については、以下をご覧ください。

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 などの追加のネットワーク コンポーネントが必要になることがあります。

同種の PostgreSQL 移行の Virtual Private Cloud ピアリング接続を示す図。
図 5. 同種の PostgreSQL 移行用の Virtual Private Cloud ピアリングによるネットワーク接続。(クリックして拡大)
同種の PostgreSQL 移行の Virtual Private Cloud ピアリング接続を示す図。

VPC ピアリングを使用したプライベート IP 接続の要件

VPC ピアリングを使用したプライベート IP 接続には、次のものが必要です。

VPC ピアリングを使用してプライベート IP 接続を構成する

Virtual Private Cloud ピアリングでプライベート IP 接続を使用するには、Virtual Private Cloud からソース データベースのプライベート IP に到達できる必要があります。ネットワーク アーキテクチャによっては、Cloud VPN や Cloud Interconnect などの追加コンポーネントを使用する必要があります。

さまざまなデータベース ソースのプライベート IP 接続の構成の詳細については、以下をご覧ください。

ネットワーク接続のディシジョン ツリー

サポートされているすべての接続方法とその要件を理解したら、図の質問に沿って、シナリオに適した接続方法を選択できます。

適切な接続方法を選択するための質問が記載されたディシジョン ツリー図。
図 6. ソース ネットワーク接続のディシジョン ツリー。

次のステップ