ApsaraDB RDS for PostgreSQLは、クラウド移行機能を提供します。 この機能を使用して、Alibaba Cloud ECS (Elastic Compute Service) インスタンスまたはデータセンターにデプロイされている自己管理型PostgreSQLインスタンスのデータをApsaraDB RDS for PostgreSQLインスタンスに移行できます。 この機能を使用して、異なるアカウント内に作成されたApsaraDB RDS for PostgreSQLインスタンス間でデータを移行することもできます。 このトピックでは、クラウド移行機能を使用して、異なるアカウント内に作成されたApsaraDB RDS for PostgreSQLインスタンス間でデータを移行する方法について説明します。
前提条件
- 次の要件が満たされています。
- ソースRDSインスタンスとターゲットRDSインスタンスは、同じメジャーエンジンバージョンを実行します。 サポートされているメジャーエンジンのバージョンは、PostgreSQL 10、PostgreSQL 11、PostgreSQL 12、PostgreSQL 13、PostgreSQL 14、およびPostgreSQL 15です。
- ターゲットRDSインスタンスはプライマリインスタンスです。 読み取り専用RDSインスタンスはクラウド移行をサポートしていません。
- ターゲットRDSインスタンスには、標準SSDまたは拡張SSD (ESSD) が搭載されています。
- ターゲットRDSインスタンスが空です。 ターゲットRDSインスタンスの使用可能なストレージが、ソースRDSインスタンスのデータのサイズ以上であること。
- ソースRDSが属する仮想プライベートクラウド (VPC) のCIDRブロックは、ターゲットRDSインスタンスが属するVPCのCIDRブロックとは異なります。
- トランジットルーターの権限がネットワークインスタンスに付与されます。 詳細については、「別のAlibaba Cloudアカウントに属するネットワークインスタンスに対するトランジットルーター権限の付与」をご参照ください。
注意事項
異なるアカウント内のApsaraDB RDS for PostgreSQLインスタンス間でデータを移行する場合、Cloud Enterprise Network (CEN) を使用して、内部ネットワークを介したソースRDSインスタンスとターゲットRDSインスタンス間のクロスリージョン通信を有効にする必要があります。 CENベースのクロスリージョン通信に対して課金されます。 詳細については、「CENの概要」をご参照ください。 と請求。
手順
- CENインスタンスを設定して、内部ネットワークを介したソースRDSインスタンスとターゲットRDSインスタンス間のクロスリージョン通信を有効にします。
- CENインスタンスを作成します。
- CEN コンソールにログインします。
- [インスタンス] ページで、[CEN インスタンスの作成] をクリックします。
- [CENインスタンスの作成] ダイアログボックスで、次のパラメーターを設定し、[OK] をクリックします。
パラメーター 説明 名前 CENインスタンスの名前を入力します。 名前は2 ~ 128文字で、英数字、ハイフン (-) 、およびアンダースコア (_) を使用できます。 先頭は英字とする必要があります。
説明 CEN インスタンスの説明を入力します。 説明の長さは2〜256文字である必要があります。先頭を
http://
またはhttps://
にすることはできません。 このパラメーターは空のままにできます。
- ソースRDSインスタンスの仮想プライベートクラウド (VPC) とターゲットRDSインスタンスのVPCをCENインスタンスに追加します。
- [インスタンス] ページで、CENインスタンスのIDをクリックします。
- 詳細ページの [基本設定] タブで、VPCの下に表示されている番号の右側にあるアイコンをクリックします。
- [ピアネットワークインスタンスとの接続] ページで、次のパラメーターを設定し、[OK] をクリックします。 説明 ソースRDSインスタンスのVPCとターゲットRDSインスタンスのVPCを別々にCENインスタンスに追加する必要があります。 この例では、ソースRDSインスタンスのVPCをCENインスタンスに追加する方法を示します。 同じ方法を使用して、ターゲットRDSインスタンスのVPCをCENインスタンスに追加できます。 移行元RDSインスタンスと移行先RDSインスタンスの [リージョン] パラメーターと [ネットワーク] パラメーターの値が異なることに注意してください。
パラメーター 説明 [インスタンスタイプ] デフォルト値VPCを保持します。 リージョン ソースインスタンスが存在するリージョンを選択します。 トランジットルーター デフォルトでは、選択したリージョンで使用できるトランジットルーターはありません。 CENは自動的にトランジットルーターを作成します。 トランジットルーターのプライマリゾーンとセカンダリゾーンを選択します。 リソース所有者ID [異なるアカウント] を選択し、ソースRDSインスタンスのUIDを入力します。 説明 ページの右上隅にあるユーザー画像の上にポインターを移動し、[基本情報] ページに移動して、ソースRDSインスタンスのアカウントIDを確認します。添付ファイル名 カスタム名を入力します。 ネットワーク ソースRDSインスタンスが属するVPCのIDを選択します。 ApsaraDB RDSコンソールのソースRDSインスタンスの [データベース接続] ページでVPC IDを表示できます。 VPCを指定した後、トランジットルーターのプライマリゾーンとセカンダリゾーンに関連付けられているvSwitchを選択します。
ソースRDSインスタンスのVPCとターゲットRDSインスタンスのVPCをCENインスタンスに追加すると、次の図に示すページが表示されます。 - オプション。 CENインスタンスの帯域幅プランを購入します。 説明 ソースRDSインスタンスとターゲットRDSインスタンスが異なるリージョンにある場合 (たとえば、ソースRDSインスタンスが中国 (北京) にあり、ターゲットRDSインスタンスが中国 (杭州) にある場合) 、この手順を実行する必要があります。 2つのRDSインスタンスが同じリージョンにある場合は、この手順をスキップして手順2に進みます。
- [インスタンス] ページで、CENインスタンスのIDをクリックします。
- 詳細ページの [基本設定] タブで、[帯域幅プラン] タブをクリックします。 [帯域幅プラン] タブで、[帯域幅プランの購入 (サブスクリプション)] をクリックします。
- 表示されるページで、次のパラメーターを設定し、[今すぐ購入] をクリックします。 次に、支払いを完了します。
パラメーター 説明 CEN ID 表示されたCENインスタンスを保持します。 帯域幅プランを購入すると、帯域幅プランは自動的にCENインスタンスに関連付けられます。 エリアA クロスリージョン通信を有効にするエリアを選択します。 この例では、[中国本土] を選択します。 説明 帯域幅プランの購入後にエリアを変更することはできません。エリアB クロスリージョン通信を有効にする他のエリアを選択します。 この例では、[中国本土] を選択します。 [課金方法] 帯域幅プランの課金方法を選択します。 デフォルト値の [帯域幅課金] を保持します。 帯域幅 帯域幅プランによって提供される帯域幅を指定します。 単位:Mbit/秒。 名前 帯域幅プランの名前を入力します。 注文時間 帯域幅プランのサブスクリプション期間を選択します。 [自動更新] を選択すると、帯域幅プランの自動更新を有効にできます。
帯域幅プランを購入すると、次の図に示すページが表示されます。 - オプション。 クロスアカウント通信の帯域幅を設定します。 説明 ソースRDSインスタンスとターゲットRDSインスタンスが異なるリージョンにある場合 (たとえば、ソースRDSインスタンスが中国 (北京) にあり、ターゲットRDSインスタンスが中国 (杭州) にある場合) 、この手順を実行する必要があります。 2つのRDSインスタンスが同じリージョンにある場合は、この手順をスキップして手順2に進みます。
- [インスタンス] ページで、CENインスタンスのIDをクリックします。
- 詳細ページの [基本設定] タブで、[帯域幅プラン] タブをクリックします。 [帯域幅プラン] タブで、[リージョン接続の設定] をクリックします。
- [ピアネットワークインスタンスとの接続] ページで、次のパラメーターを設定し、[OK] をクリックします。
パラメーター 説明 ネットワークタイプ [リージョン間接続] を選択します。 リージョン ソースRDSインスタンスが存在するリージョンを選択します。 このチュートリアルでは、[中国 (北京)] をクリックします。 トランジットルーター CENは、ソースRDSインスタンスが存在するリージョンのトランジットルーターを自動的に識別します。 ピアリージョン ターゲットRDSインスタンスが存在するリージョンを選択します。 この例では、中国 (青島) をクリックします。 トランジットルーター CENは、宛先RDSインスタンスが存在するリージョンのトランジットルーターを自動的に識別します。 帯域幅プラン CENインスタンスに関連付けられている帯域幅プランを選択します。 帯域幅 帯域幅プランによって提供される帯域幅を入力します。 単位:Mbit/秒。
クロスアカウント通信の帯域幅を設定すると、次の図に示すページが表示されます。
- CENインスタンスを作成します。
- ソースRDSインスタンスを設定します。
- ターゲットRDSインスタンスが属するVPCのCIDRブロックを、ソースRDSインスタンスのIPアドレスホワイトリストに追加します。 詳細については、「ApsaraDB RDS For PostgreSQLインスタンスのIPアドレスホワイトリストの設定」をご参照ください。 IPアドレスパラメーターを、移行先RDSインスタンスが属するVPCのCIDRブロックに設定する必要があります。
- ソースRDSインスタンスの特権アカウントを作成します。 詳細については、「アカウントの作成」をご参照ください。 特権アカウントを作成するときは、[アカウントタイプ] パラメーターを [特権アカウント] に設定する必要があります。説明 特権アカウントはデータの移行に使用され、CREATE ROLE、REPLICATION、およびpg_monitor権限が必要です。 特権アカウントをお持ちの場合は、この手順をスキップしてください。
- ターゲットRDSインスタンスが属するVPCのCIDRブロックを、ソースRDSインスタンスのIPアドレスホワイトリストに追加します。
- ターゲットRDSインスタンスを設定します。
- クラウド移行評価を実行します。
- [インスタンス] ページへ移動します。 上部のナビゲーションバーで、RDSインスタンスが存在するリージョンを選択します。 次に、RDSインスタンスを見つけ、インスタンスのIDをクリックします。
- 左側のナビゲーションウィンドウで、[クラウドに移行] をクリックします。 表示されるページで、[移行評価] タブをクリックします。
- 設定ウィザードの [移行ソースの選択] ステップで、[セルフマネージドECSベースのPostgreSQLデータベースまたはApsaraDB RDS for PostgreSQLインスタンス] を選択し、[次へ] をクリックします。
- 設定ウィザードの [宛先データベースの設定] ステップで、[次へ] をクリックします。
- 設定ウィザードの [ソースデータベースの設定] ステップで、リストされているすべての項目を選択し、[次へ] をクリックします。 クラウド移行を開始する前に、リストされた項目に記載されている準備を完了する必要があります。
- 設定ウィザードの [移行評価の開始] ステップで、ソースRDSインスタンスに関する情報を設定します。
パラメーター 説明 移行タスク名 ApsaraDB RDSは、クラウド移行タスクの名前を自動的に生成します。 生成された名前を変更する必要はありません。 ソースVPC/DNS IP ソースRDSインスタンスの内部エンドポイントを入力します。 詳細については、「ApsaraDB RDS For PostgreSQLインスタンスの内部およびパブリックエンドポイントとポート番号の表示と変更」をご参照ください。 ソースポート ソースRDSインスタンスの内部ポート番号を入力します。 詳細については、「ApsaraDB RDS For PostgreSQLインスタンスの内部およびパブリックエンドポイントとポート番号の表示と変更」をご参照ください。 ユーザー名 ソースRDSインスタンス用に作成された特権アカウントのユーザー名を入力します。 Password ソースRDSインスタンス用に作成された特権アカウントのパスワードを入力します。 - [移行評価タスクの作成] をクリックします。 説明 クラウド移行評価中、移行先RDSインスタンスのステータスは [インスタンスの維持] に変わります。クラウド移行評価が完了したら、[移行評価] タブでクラウド移行評価タスクのステータスを表示できます。
- クラウド移行評価タスクのステータスが成功を示している場合、クラウド移行を開始できます。
- クラウド移行評価タスクのステータスが失敗を示している場合、[操作] 列の [レポートの表示] をクリックして、報告されたエラーを表示および処理できます。一般的なエラーの詳細については、「クラウド移行評価レポートの概要」をご参照ください。
- データをターゲットRDSインスタンスに移行します。
- [インスタンス] ページへ移動します。 上部のナビゲーションバーで、RDSインスタンスが存在するリージョンを選択します。 次に、RDSインスタンスを見つけ、インスタンスのIDをクリックします。
- 左側のナビゲーションウィンドウで、[クラウドに移行] をクリックします。 表示されるページで、[クラウドへの移行] タブをクリックします。 [クラウドへの移行] タブで、[クラウド移行タスクの作成] をクリックします。
- [クラウド移行タスクの作成] ダイアログボックスで、ステータスが成功を示すクラウド移行評価タスクを [関連評価タスク] ドロップダウンリストから選択します。 説明 [関連評価タスク] ドロップダウンリストからクラウド移行評価タスクを選択すると、ApsaraDB RDSは、移行ソースタイプ、ソース /DNS IP、ソースポート、およびユーザー名パラメーターの値を自動的に決定します。 これらのパラメーターを設定する必要はありません。
- [クラウドへの移行] をクリックします。 ApsaraDB RDSは、クラウド移行タスクを自動的に開始します。 重要 クラウド移行中、移行先RDSインスタンスのステータスは [データインの移行] に変わります。 ソースRDSインスタンスからデータを読み書きできます。 ただし、ソースRDSインスタンスとの間でデータを移行したり、ソースRDSインスタンスを再起動したり、ソースRDSインスタンスの仕様を変更したりしないでください。
- ソースRDSインスタンスのワークロードをターゲットRDSインスタンスに切り替えます。
- [クラウド移行フェーズ] 列のリンクをクリックして、クラウド移行タスクの進行状況を表示します。
- クラウド移行タスクが増分データ同期のフェーズに入ったら、クラウド移行タスクの [操作] 列の切り替えボタンをクリックして、移行元RDSインスタンスのワークロードを移行先RDSインスタンスに切り替えます。
- [切り替え] ダイアログボックスで、読み取り要求のみを処理するようにソースRDSインスタンスを設定します。 または、接続されたアプリケーションがソースRDSインスタンスにデータを書き込むのを停止します。 説明 読み取り要求のみを処理するようにソースRDSインスタンスを設定するには、次の手順を実行します。
- RDSインスタンスのrds_force_trans_ro_non_supパラメーターの値をonに変更します。 詳細については、「ApsaraDB RDS For PostgreSQLインスタンスのパラメーターの変更」をご参照ください。
- 次のステートメントを実行して、既存のすべてのセッションを終了します。
SELECT pg_terminate_backend(pid) FROM pg_stat_activity ('replicator' 、'monitor' 、'pgsql' 、'aurora') とpid! =pg_backend_pid();
- すべてのチェックボックスを選択し、[今すぐ切り替え] をクリックします。 その後、クラウド移行が完了するまで待ちます。
- クラウド移行評価を実行します。