同種 PostgreSQL のクイック スタート移行

このページでは、Cloud SQL for PostgreSQL と AlloyDB for PostgreSQL への同種 PostgreSQL 移行のクイックスタート移行について説明します。クイック スタート移行は、同種の PostgreSQL シナリオ向けの軽量な継続的移行フローです。自動ネットワーキング、組み込みの検出、高速レプリケーション(pgnative ベース)などの機能により、移行プロセスを効率化します。このページでは、Cloud SQL for PostgreSQL と AlloyDB for PostgreSQL への同種の PostgreSQL 移行のクイック スタート移行について説明します。

  • 概要では、クイック スタート移行の概要と、クイック スタート移行を使用して移行エクスペリエンスを向上させる方法について説明します。
  • ガイドとサポートされているシナリオには、すべてのクイックスタート移行フローの手順ガイドへのリンクが含まれています。
  • ネットワーク接続では、クイックスタート移行で Database Migration Service が採用している独自のアーキテクチャについて説明します。
  • 制限事項では、クイックスタート移行を行う際に留意すべき既知の制限事項と注意事項について説明します。

概要

クイック スタート移行を使用すると、Database Migration Service は、VPC ネットワーク内のプライベート IP アドレス、VPC ピアリング、またはパブリック IP アドレスを介してアクセス可能なソースの移行に必要なすべてのものを自動的に設定できます。宛先は、Private Service Connect またはプライベート サービス アクセス(PSA)のいずれかで構成できます。クイック スタート移行の主なハイライトは次のとおりです。

  • pgnative レプリケーション: ネイティブ レプリケーション メカニズムを使用すると、追加の PostgreSQL 拡張機能をインストールしたり、移行先インスタンスを降格したりすることなく移行できます。宛先インスタンス上の他のデータベースは引き続き動作し、トラフィックが中断されることはありません。
  • 簡素化されたネットワーキング: Database Migration Service は、プライベート IP 経由のネットワーク接続を自動的に処理します。クイック スタート移行では、必要なすべてのリソース(プライベート接続構成、ネットワーク アタッチメントとそのサブネット)が自動的に作成され、Private Service Connect インターフェースを介した接続が有効になります。詳細については、ネットワーク接続のセクションをご覧ください。
  • 組み込みの検出: Database Migration Service のオブザーバビリティ機能を使用して、移行先の Cloud SQL インスタンスまたは AlloyDB for PostgreSQL インスタンスで直接移行を開始、管理、モニタリングできます。

次の表は、クイックスタートと標準の同種 PostgreSQL 移行の主な違いをまとめたものです。

機能 標準移行(pglogical) クイック スタート移行(ネイティブ レプリケーション)
拡張機能のインストール 必須。移行元データベースに pglogical 拡張機能をインストールして構成する必要があります。 不要。
宛先インスタンスの状態 空で、デモートされている(Cloud SQL の場合)か、ブートストラップ モード(AlloyDB for PostgreSQL の場合)である必要があります。 他のデータベース(移行対象外)へのアクティブなトラフィックがあるライブ インスタンスでもかまいません。
ネットワーク接続 Private Service Connect インターフェース、Virtual Private Cloud ピアリング、リバース SSH トンネル、パブリック IP 接続をサポートします。移行先データベースは移行元データベースに直接接続し、移行元と移行先のネットワーク構成間に依存関係を作成します。 Database Migration Service が移行元と移行先に個別に接続する仲介アーキテクチャを使用します。

ソース接続方法として、Database Migration Service は Private Service Connect インターフェース、Virtual Private Cloud ピアリング、パブリック IP 接続(パブリック IP 専用のプライベート接続構成を使用)をサポートしています。

移行先の接続には、Database Migration Service は専用の内部ネットワーキングを使用します。つまり、移行先インスタンスでプライベート IP を有効にする必要がありますが、パブリック IP 接続を許可することもできます。たとえば、Private Service Connect、プライベート サービス アクセス(PSA)、受信パブリック IP 接続の任意の組み合わせを使用するように宛先を構成できます。プライベート IP を使用せずに構成された宛先はサポートされていません。

主キーのないテーブル サポートされていません。すべてのテーブルに主キーが必要です。 サポートされています。レプリカ ID を INDEX または FULL に設定すると、主キーのないテーブルを複製できます。
並列移行ジョブ サポートされていません。移行元のデータベース インスタンスごとに実行できる移行ジョブは 1 つだけです。 サポートされています。同じソース インスタンスから複数の移行ジョブを並行して実行できます。各ジョブは異なるデータベースを移行します(ジョブあたり最大 50 個のデータベース)。
宛先オブジェクトの所有権 オブジェクトは postgres ユーザーが所有します。 オブジェクトは、Database Migration Service によって生成された移行ユーザー( Google Cloud コンソールを使用する場合)または指定したユーザー(Google Cloud CLI を使用する場合)が所有します。

ガイドとサポートされているシナリオ

クイックスタート移行フローの動画プレビュー。

同種 PostgreSQL のクイック スタート移行により、新しいまたは既存の Cloud SQL for PostgreSQL または AlloyDB for PostgreSQL の宛先への継続的な同種移行が容易になります。この移行フローでは、パブリック IP 接続またはプライベート IP 接続を介した移行がサポートされています。

  • パブリック IP アドレス経由でアクセス可能なソースの場合、パブリック IP 専用のプライベート接続構成を使用します。 Google Cloud の外部でホストされているソースは、パブリック IP を使用して直接接続することも、Cloud VPN 接続や Cloud Interconnect などのネットワーク コンポーネントを使用してプライベート IP 経由で接続することもできます。

  • Google CloudVirtual Private Cloud(VPC)ネットワーク内のプライベート IP アドレスを介してアクセス可能なソース(Private Service Connect インターフェースを使用)の場合。たとえば、Compute Engine 上のセルフマネージド データベースや Cloud SQL for PostgreSQL インスタンスなどです。

クイック スタート移行は、 Google Cloud コンソールの複数の場所から開始できます。

ネットワーク接続

大まかに言うと、クイックスタート移行では、仲介型ネットワーク アーキテクチャを使用します。Database Migration Service と移行先の Cloud SQL for PostgreSQL インスタンスまたは AlloyDB for PostgreSQL インスタンスは、 Google Cloud プロジェクトで使用する VPC ネットワークの外部にある独自のネットワークに存在します。Database Migration Service は、移行元データベースと移行先データベースへの独立した接続を確立する仲介役として機能します。

図 1. クイックスタート移行のネットワーキングの簡略図(クリックして拡大)

Database Migration Service は、クイックスタート移行のために、移行元と移行先の両方の接続を完全に容易にします。

ソース データベース接続の場合、Database Migration Service は、Private Service Connect インターフェースを備えたプライベート IP または専用パブリック IP を介してソース データベースに接続できます。移行元の接続は、Database Migration Service のプライベート接続構成リソースを使用して構成します。

移行先データベースの接続の場合、Database Migration Service は、プライベート ネットワーク経由で移行先インスタンスへのネットワーク通信をフルマネージドで提供します。つまり、宛先インスタンスにプライベート IP を構成する必要がありますが、シナリオに応じて、接続設定のさまざまな組み合わせがサポートされます。

  • Cloud SQL for PostgreSQL の移行先: クイックスタート移行では、Cloud SQL for PostgreSQL の移行先にプライベート IP が構成されている必要がありますが、パブリック IP 接続を有効にすることもできます。これらの移行先インスタンスは、Private Service Connect、プライベート サービス アクセス(PSA)、受信パブリック IP 接続の任意の組み合わせを使用するように構成できます。プライベート IP を使用せずに構成された宛先はサポートされていません。

  • AlloyDB for PostgreSQL の移行先: クイックスタート移行の場合、AlloyDB for PostgreSQL の移行先は、Private Service Connect 接続が有効になっているインスタンスである必要があります。クイックスタート移行の完了後に、移行先で PSA またはパブリック IP 接続を有効にできます。

Private Service Connect インターフェースを使用したソース接続

Google Cloud外部のデータベースへのソース接続

Google Cloudの外部でホストされているデータベースから移行する場合は、データベースに Google Cloud VPC ネットワーク(VPC ネットワークなど)でプライベート IP アドレスが割り当てられるように、追加のネットワーク コンポーネントが必要です。Database Migration Service は、インスタンスにプライベート IP が割り当てられている VPC ネットワークにネットワーク アタッチメントを作成します。

この図は、オンプレミスでホストされているデータベース、または l10n-placeholder15="15" 外部のマネージド サービスとしてホストされているデータベースからのクイックスタート移行を容易にする、Database Migration Service によるネットワーク接続を示しています。
図 2. Database Migration Service によって促進されるネットワーク接続。オンプレミスでホストされているデータベースや、 Google Cloud外部のマネージド サービスとしてホストされているデータベースからクイックスタート移行を行うことができます。(クリックして拡大)
この図は、オンプレミスでホストされているデータベース、または l10n-placeholder16="16" 以外のマネージド サービスとしてホストされているデータベースからのクイックスタート移行を容易にする、Database Migration Service によるネットワーク接続を示しています。

Compute Engine 上のセルフホスト データベースへのソース接続

Compute Engine のセルフホスト型データベースから移行する場合、Database Migration Service は、VM が存在する VPC ネットワークにネットワーク アタッチメントを作成します。

この図は、Compute Engine 上のセルフホスト型データベースからのクイックスタート移行のために Database Migration Service によって促進されるネットワーク接続を示しています。
図 3. Compute Engine 上のセルフホスト型データベースからのクイックスタート移行のために、Database Migration Service によって促進されるネットワーク接続。(クリックして拡大)
この図は、Compute Engine 上のセルフホスト型データベースからのクイックスタート移行のために Database Migration Service によって促進されるネットワーク接続を示しています。

Cloud SQL for PostgreSQL へのソース接続

Cloud SQL for PostgreSQL インスタンスから移行する場合、Database Migration Service は、インスタンスにプライベート IP が割り当てられている VPC ネットワークにネットワーク アタッチメントを作成します。この IP は、プライベート サービス アクセス(PSA)または Private Service Connect の構成の結果として取得できます。詳細については、Cloud SQL ドキュメントのプライベート IP の構成をご覧ください。

この図は、Cloud SQL for PostgreSQL インスタンスからのクイックスタート移行のために Database Migration Service によって促進されるネットワーク接続を示しています。
図 4. Cloud SQL for PostgreSQL インスタンスからのクイックスタート移行のために Database Migration Service によって促進されるネットワーク接続。(クリックして拡大)
この図は、Cloud SQL for PostgreSQL インスタンスからのクイックスタート移行のために Database Migration Service によって促進されるネットワーク接続を示しています。

パブリック IP を使用したソース接続

パブリック IP アドレスを使用するソース データベースから移行する場合、クイック スタート移行はパブリック IP 用の特別なプライベート接続構成に依存します。構成すると、Database Migration Service は、そのプライベート接続構成専用に新しく作成された専用の静的パブリック IP アドレスを割り当てます。ソース データベースがファイアウォールまたは受信 IP 許可リストで保護されている場合は、この専用パブリック IP アドレスをソース データベースのファイアウォール ルールまたは受信 IP 許可リストに追加して、Database Migration Service が接続を確立できるようにする必要があります。

この図は、パブリック IP を使用するデータベースからのクイックスタート移行のために Database Migration Service によって促進されるネットワーク接続を示しています。
図 5. パブリック IP を使用したクイック スタート移行のために Database Migration Service によって促進されるネットワーク接続。(クリックして拡大)
この図は、パブリック IP を使用するデータベースからのクイックスタート移行のために Database Migration Service によって促進されるネットワーク接続を示しています。

制限事項

クイックスタート移行には、次の制限が適用されます。移行シナリオでサポートされていない機能を使用する必要がある場合は、代わりに標準の移行フローに沿って移行することをおすすめします。詳細については、Cloud SQL for PostgreSQL への移行または AlloyDB for PostgreSQL への移行のドキュメント ページをご覧ください。

  • クイック スタート移行では、PostgreSQL バージョン 9.6 以前からの移行はサポートされていません。

  • クイックスタート移行では、リバース SSH トンネルはサポートされていません。ソース接続では、Private Service Connect インターフェース、VPC ピアリング、またはパブリック IP を使用する必要があります。

  • ソース接続の SSL 暗号化オプションは、クイックスタート移行の none バリアントと required バリアントのみをサポートしています(標準移行は verify-ca と verify-full をサポートしています)。

  • クイック スタート移行では、移行ジョブごとに最大 50 個のデータベースを移行できます。移行元サーバーに 50 を超えるデータベースが含まれている場合は、複数の並列移行ジョブを設定して移行できます。

  • 標準の移行忠実度の制限が適用されます。ただし、次の例外があります。

    • クイックスタート移行では、pglogical 拡張機能をインストールする必要はありません。
    • 主キーのないテーブルの移行がサポートされています。

次のステップ