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ブロックとは異なります。
使用上の注意
異なるリージョンにあるRDSインスタンス間でデータを移行する場合は、Cloud Enterprise Network (CEN) を使用して、内部ネットワークを介したソースRDSインスタンスとターゲットRDSインスタンス間のクロスリージョン通信を有効にする必要があります。 CENに基づくクロスリージョン通信に対して課金されます。 詳細については、「CENの概要」をご参照ください。 と請求。
手順
この例では、ソースRDSインスタンスは中国 (北京) リージョンにあり、ターゲットRDSインスタンスは中国 (杭州) リージョンにあります。
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を保持します。
リージョン
ソースRDSインスタンスが存在するリージョンを選択します。 このチュートリアルでは、[中国 (北京)] をクリックします。
トランジットルーター
デフォルトでは、選択したリージョンで使用できるトランジットルーターはありません。 CENは自動的にトランジットルーターを作成します。 トランジットルーターのプライマリゾーンとセカンダリゾーンを選択する必要があります。
リソース所有者ID
[アカウント] を選択します。
添付ファイル名
添付ファイル名を入力します。
ネットワーク
ソースRDSインスタンスが属するVPCのIDを選択します。 ApsaraDB RDSコンソールのソースRDSインスタンスの [データベース接続] ページでVPC IDを表示できます。
VPCを指定した後、トランジットルーターのプライマリゾーンとセカンダリゾーンに関連付けられているvSwitchを選択します。
ソースRDSインスタンスのVPCとターゲットRDSインスタンスのVPCをCENインスタンスに追加すると、次の図に示すページが表示されます。
CENインスタンスの帯域幅プランを購入します。
[インスタンス] ページで、CENインスタンスのIDをクリックします。
詳細ページの [基本設定] タブで、[帯域幅プラン] タブをクリックします。 [帯域幅プラン] タブで、[帯域幅プランの購入 (サブスクリプション)] をクリックします。
表示されるページで、次のパラメーターを設定し、[今すぐ購入] をクリックします。 次に、支払いを完了します。
パラメーター
説明
CEN ID
表示されたCENインスタンスを保持します。 帯域幅プランを購入すると、帯域幅プランは自動的にCENインスタンスに関連付けられます。
エリアA
クロスリージョン通信を有効にするエリアを選択します。 この例では、[中国本土] を選択します。
説明帯域幅プランの購入後にエリアを変更することはできません。
エリアB
クロスリージョン通信を有効にする他のエリアを選択します。 この例では、[中国本土] を選択します。
[課金方法]
帯域幅プランの課金方法を選択します。 デフォルト値の [帯域幅課金] を保持します。
帯域幅
帯域幅プランによって提供される帯域幅を指定します。 単位:Mbit/秒。
名前
帯域幅プランの名前を入力します。
注文時間
帯域幅プランのサブスクリプション期間を選択します。
[自動更新] を選択すると、帯域幅プランの自動更新を有効にできます。
帯域幅プランを購入すると、次の図に示すページが表示されます。
クロスリージョン通信の帯域幅を設定します。
[インスタンス] ページで、CENインスタンスのIDをクリックします。
詳細ページの [基本設定] タブで、[帯域幅プラン] タブをクリックします。 [帯域幅プラン] タブで、[リージョン接続の設定] をクリックします。
[ピアネットワークインスタンスとの接続] ページで、次のパラメーターを設定し、[OK] をクリックします。
パラメーター
説明
ネットワークタイプ
[リージョン間接続] を選択します。
リージョン
ソースRDSインスタンスが存在するリージョンを選択します。 このチュートリアルでは、[中国 (北京)] をクリックします。
トランジットルーター
CENは、ソースRDSインスタンスが存在するリージョンのトランジットルーターを自動的に識別します。
ピアリージョン
ターゲットRDSインスタンスが存在するリージョンを選択します。 この例では、中国 (青島) をクリックします。
トランジットルーター
CENは、宛先RDSインスタンスが存在するリージョンのトランジットルーターを自動的に識別します。
帯域幅プラン
CENインスタンスに関連付けられている帯域幅プランを選択します。
帯域幅
帯域幅プランによって提供される帯域幅を入力します。 単位:Mbit/秒。
操作が成功すると、次の図に示すページが表示されます。
ソースRDSインスタンスを設定します。
ターゲットRDSインスタンスが属するVPCのCIDRブロックを、ソースRDSインスタンスのIPアドレスホワイトリストに追加します。
詳細については、「IPアドレスホワイトリストの設定」をご参照ください。 IPアドレスパラメーターを、移行先RDSインスタンスが属するVPCのCIDRブロックに設定する必要があります。
ソースRDSインスタンスの特権アカウントを作成します。
詳細については、「アカウントの作成」をご参照ください。 特権アカウントを作成するときは、[アカウントタイプ] パラメーターを [特権アカウント] に設定する必要があります。
説明特権アカウントはデータの移行に使用され、CREATE ROLE、REPLICATION、およびpg_monitor権限が必要です。 特権アカウントをお持ちの場合は、この手順をスキップしてください。
ターゲット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();
すべてのチェックボックスを選択し、[今すぐ切り替え] をクリックします。 その後、クラウド移行が完了するまで待ちます。
次のステップ
移行後にビジネスコードを変更せずにアプリケーションを移行先RDSインスタンスに接続するには、移行先RDSインスタンスで次の操作を実行します。
移行先RDSインスタンスのホワイトリスト設定を変更して、移行先RDSインスタンスのホワイトリストが移行元RDSインスタンスのホワイトリストと同じになるようにします。 詳細については、「IPアドレスホワイトリストの設定」をご参照ください。
ターゲットRDSインスタンスへの接続に使用されるエンドポイントを変更して、これらのエンドポイントがソースRDSインスタンスへの接続に使用されるエンドポイントと同じであることを確認します。 詳細については、「エンドポイントとポート番号の表示と変更」をご参照ください。
たとえば、移行元RDSインスタンスへの接続に使用されるエンドポイントが
pgm-aaa.pg.rds.aliyuncs.com
で、移行先RDSインスタンスへの接続に使用されるエンドポイントがpgm-bbb.pg.rds.aliyuncs.com
の場合、次の手順を実行してエンドポイントを変更します。ソースRDSインスタンスへの接続に使用されるエンドポイントを
pgm-aaa.pg.rds.aliyuncs.com
からpgm-ccc.pg.rds.aliyuncs.com
に変更します。移行先RDSインスタンスへの接続に使用されるエンドポイントを
pgm-bbb.pg.rds.aliyuncs.com
からpgm-aaa.pg.rds.aliyuncs.com
に変更します。