同種 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 の宛先への同種移行を継続的に行うことができます。この移行フローは、Compute Engine 上のセルフマネージド データベースや、プライベート ネットワーキングが有効になっている Cloud SQL for PostgreSQL インスタンスなど、 Google CloudVirtual Private Cloud(VPC)ネットワークにプライベート IP アドレスを持つソースからの移行に最適です。外部でホストされているソース 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 VPC ネットワーク(VPC ネットワークなど)でプライベート IP アドレスが割り当てられるように、追加のネットワーク コンポーネントが必要です。 Google CloudDatabase Migration Service は、インスタンスにプライベート IP が割り当てられている VPC ネットワークにネットワーク アタッチメントを作成します。

この図は、Database Migration Service によって実現されるネットワーク接続を示しています。この接続により、オンプレミスまたは l10n-placeholder15="15" 以外のマネージド オファリングとしてホストされているデータベースからのクイック スタート移行が可能になります。
図 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 はデフォルトの postgresql ユーザーとして接続します。既存の移行先に移行する場合、Database Migration Service は専用の cloudsqlsuperuser または alloydbsuperuser アカウントを作成し、それを使用して移行先に接続します。IAM の詳細については、Cloud SQL ドキュメントの IAM 認証または AlloyDB for PostgreSQL ドキュメントの IAM 認証を管理するをご覧ください。

  • データベース接続でサポートされている方法は、Database Migration Service プライベート接続構成を使用した Private Service Connect インターフェースのみです。ソース データベースには、VPC ネットワークで割り当てられたプライベート IP が必要です。他の同種移行元接続方法(パブリック IP 許可リスト、リバース SSH トンネル、VPC ピアリングなど)は、クイック スタート移行ではサポートされていません。

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

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

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

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

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

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

  • 一貫性のあるレプリケーションを行うには、Database Migration Service で移行元テーブルに主キーが必要です。テーブルに主キーがない場合、変更データ キャプチャ(CDC)フェーズで INSERT オペレーションのみが複製されます。主キーのないテーブルの UPDATE オペレーションと DELETE オペレーションもレプリケートする場合は、REPLICA オプションを使用してこれらのテーブルを変更する必要があります。具体的な手順については、クイック スタート移行の ガイドをご覧ください。

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

次のステップ