同種 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 が割り当てられているソース(Compute Engine 上のセルフマネージド データベースや Cloud SQL for PostgreSQL インスタンスなど)の移行に必要なすべてのものを自動的に設定できます。クイックスタート移行の主なハイライトは次のとおりです。

  • 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 接続などの複雑なシナリオをサポートします。 Private Service Connect インターフェースとの完全なプライベート接続を使用して、ネットワーキングの設定を抽象化します。接続用にソース データベースを構成する必要はありません。唯一の要件は、VPC ネットワークにプライベート IP が割り当てられていることです。
主キーのないテーブル サポートされていません。すべてのテーブルに主キーが必要です。 サポートされています。レプリカ ID を INDEX または FULL に設定すると、主キーのないテーブルを複製できます。
並列移行ジョブ サポートされていません。移行元のデータベース インスタンスごとに実行できる移行ジョブは 1 つのみです。 サポートされています。複数の移行ジョブを並行して実行できます。各ジョブは、同じソースから異なるデータベースを移行します。
宛先オブジェクトの所有権 オブジェクトは postgres ユーザーが所有します。 オブジェクトは、Database Migration Service によって生成された移行ユーザー( Google Cloud コンソールを使用する場合)または指定したユーザー(Google Cloud CLI を使用する場合)によって所有されます。

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

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

同種の PostgreSQL のクイック スタート移行により、新しいまたは既存の Cloud SQL for PostgreSQL または AlloyDB for PostgreSQL の宛先への同種の継続的な移行が容易になります。この移行フローは、 Google CloudVirtual Private Cloud(VPC)ネットワークにプライベート IP アドレスを持つソース(Compute Engine 上のセルフマネージド データベースや、プライベート ネットワーキングが有効になっている Cloud SQL for PostgreSQL インスタンスなど)からの移行に最適です。 Google Cloud の外部でホストされているソースには、VPC ネットワーク内のプライベート IP アドレスでアクセスできるように、追加のネットワーク コンポーネント(Cloud VPN 接続など)が必要になる場合があります。

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

ネットワーク接続

大まかに言うと、クイックスタート移行では、標準の同種移行とは異なるネットワーク アーキテクチャを使用します。Database Migration Service と移行先の Cloud SQL for PostgreSQL インスタンスまたは AlloyDB for PostgreSQL インスタンスは、 Google Cloud プロジェクトで使用する VPC ネットワークの外部にある独自の専用ネットワーク(サービス ネットワーク)に存在するサービス プロデューサーです。

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

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

ソース データベース接続の場合、クイックスタート移行では Private Service Connect インターフェースが使用されます。この接続方法では、ソース インスタンスに Google CloudVPC ネットワークのプライベート IP アドレスが必要です。Compute Engine または Cloud SQL for PostgreSQL インスタンスのセルフマネージド データベースは、通常、この要件をすぐに満たすことができます。 Google Cloud の外部でホストされているソースには、VPC ネットワーク内のプライベート IP アドレスでアクセスできるように、追加のネットワーク コンポーネント(Cloud VPN 接続など)が必要になる場合があります。

移行先データベースの接続の場合、Database Migration Service は Cloud SQL for PostgreSQL インスタンスまたは AlloyDB for PostgreSQL クラスタへのネットワーク通信を完全に管理します。唯一の要件は、宛先で Private Service Connect が有効になっていることですが、それ以上の構成は必要ありません。

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

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

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

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

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

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

制限事項

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

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

  • 空のデータベース(システム スキーマのみを含むデータベース)はサポートされていません。

  • 宛先インスタンスまたはクラスタの Identity and Access Management(IAM)認証はサポートされていません。新しい移行先でクイックスタート移行を使用すると、Database Migration Service はデフォルトの postgres ユーザーとして接続します。既存の移行先に移行する場合、Database Migration Service は専用の cloudsqlsuperuser アカウントまたは alloydbsuperuser アカウントを作成し、それを使用して移行先に接続します。IAM の詳細については、Cloud SQL ドキュメントの IAM 認証または AlloyDB for PostgreSQL ドキュメントの IAM 認証を管理するをご覧ください。

  • ソース データベースには、VPC ネットワークで割り当てられたプライベート IP アドレスが必要です。Database Migration Service は、Private Service Connect インターフェース(ネットワーク アタッチメント)を使用して移行元データベースに接続します。クイックスタート移行では、パブリック IP 接続はサポートされていません。

  • Private Service Connect が有効な宛先のみがサポートされます。PSA Cloud SQL for PostgreSQL インスタンスまたは AlloyDB for PostgreSQL インスタンスは、移行先としてサポートされていません。

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

  • クイックスタート移行では、同種の MySQL または SQL Server の移行はサポートされていません。

  • カスタマイズされたデータダンプの並列処理設定などの高度な機能はサポートされていません。

  • 継続的な移行のみがサポートされます。

  • クイック スタート移行では、移行ジョブごとに最大 50 個のデータベースを移行できます。移行元データベース サーバー内のすべてのデータベースを移行する必要はありません。Database Migration Service では、移行するデータベースを選択できます。

  • 主キーのないテーブルの場合、変更データ キャプチャ(CDC)フェーズで INSERT オペレーションのみがデフォルトで複製されます。UPDATE オペレーションと DELETE オペレーションを複製するには、テーブルのレプリカ ID を FULL または USING INDEX に設定する必要があります。具体的な手順については、クイック スタート移行 ガイドをご覧ください。

  • 標準の移行忠実度の制限が適用されます。詳細については、 AlloyDB for PostgreSQL 移行における移行の忠実度、 Cloud SQL for PostgreSQL 移行における移行の忠実度をご覧ください。

次のステップ