ApsaraDB RDS for PostgreSQL のクラウド移行機能は、Alibaba Cloud ECS インスタンスまたはデータセンターからの自主管理 PostgreSQL データベースの移行をサポートします。この機能は、異なるアカウントに属する ApsaraDB RDS for PostgreSQL インスタンス間のデータ移行もサポートします。このトピックでは、クラウド移行機能を使用してクロスアカウント移行を実行する方法について説明します。
前提条件
以下の要件が満たされていること:
ソースインスタンスと宛先インスタンスのメジャーエンジンバージョンが同じであること。PostgreSQL 10 以降がサポートされています。
宛先 RDS インスタンスはプライマリ RDS インスタンスであること。読み取り専用 RDS インスタンスはクラウド移行をサポートしていません。
宛先 RDS インスタンスはクラウドディスクを使用していること。
宛先 RDS インスタンスは空であること。宛先 RDS インスタンスの利用可能なストレージは、ソース RDS インスタンスのデータサイズ以上であること。
ソース RDS が属する VPC (VPC) の CIDR ブロックは、宛先 RDS インスタンスが属する VPC の CIDR ブロックと異なること。
クロスアカウント移行では、ネットワークインスタンスに対するクロスアカウント権限を付与する必要があります。詳細については、「クロスアカウントネットワークインスタンスの権限付与」をご参照ください。
注意事項
異なるアカウントの ApsaraDB RDS for PostgreSQL インスタンス間でデータを移行する場合、Cloud Enterprise Network (CEN) を使用して、内部ネットワーク経由でのイントラネット相互通信を有効にする必要があります。この操作には料金が発生します。詳細については、「課金の概要」をご参照ください。
手順
このトピックでは、ApsaraDB RDS for PostgreSQL インスタンスをアカウント A からアカウント B に移行する例を使用します。ソースインスタンスはアカウント A にあります。宛先インスタンスと CEN インスタンスはアカウント B にあります。
アカウント B で、CEN インスタンスを構成して、異なるアカウントにある 2 つの ApsaraDB RDS for PostgreSQL インスタンス間のイントラネット相互通信を有効にします。
CEN インスタンスを作成します。
CEN コンソールにログインします。
[インスタンス] ページで、[CEN インスタンスの作成] をクリックします。
[CEN インスタンスの作成] ダイアログボックスで、次のパラメーターを構成し、[OK] をクリックします。
パラメーター
説明
名前
CEN インスタンスの名前を入力します。
名前は 2~128 文字で、数字、ハイフン (-)、アンダースコア (_) を使用できます。名前は文字で始まる必要があります。
説明
CEN インスタンスの説明を入力します。
説明は 2~256 文字で、
http://またはhttps://で始めることはできません。このパラメーターは空のままにすることもできます。
CEN インスタンスに VPC を追加します。
CEN コンソールの [インスタンス] ページで、作成した CEN インスタンスの ID をクリックします。
[基本情報] タブで、VPC の下に表示されている数字の右側にある
アイコンをクリックして VPC を作成します。
[ネットワークインスタンスの接続] ページで、ネットワークインスタンスを構成し、[作成] をクリックします。
説明ソースインスタンスと宛先インスタンスの VPC を個別に追加する必要があります。この操作は 2 回実行する必要があります。次の表では、ソースインスタンスの VPC を追加する方法について説明します。宛先インスタンスの VPC を追加する手順も同様ですが、[リージョン] と [ネットワークインスタンス] パラメーターを宛先インスタンスのリージョンと VPC に設定し、[リソース所有権] を [同一アカウント] に設定する必要があります。
パラメーター
説明
インスタンスタイプ
デフォルト値は [Virtual Private Cloud (VPC)] です。
リージョン
ソースインスタンスが存在するリージョンを選択します。
トランジットルーター
デフォルトでは、現在のリージョンにトランジットルーターは存在しません。システムによって自動的に作成されます。トランジットルーターのプライマリゾーンとセカンダリゾーンを選択します。
リソース所有権
[クロスアカウント] を選択し、ソースインスタンスが属するアカウントの [UID] を入力します。
説明メニューバーのユーザーアイコンをクリックすると、アカウントの UID を表示できます。
接続名
カスタム。
ネットワークインスタンス
ソースインスタンスが使用する VPC インスタンスを選択します。VPC ID は ApsaraDB RDS コンソールの [データベース接続] ページで確認できます。

VPC を選択した後、トランジットルーター用に構成されたプライマリゾーンとセカンダリゾーンに対応する vSwitch を選択します。
VPC が追加されると、結果は次の図のようになります:

(任意) リージョン間帯域幅プランを購入します。
説明このステップは、アカウント A とアカウント B の ApsaraDB RDS for PostgreSQL インスタンスが異なるリージョンにある場合に実行する必要があります。たとえば、ソースインスタンスが中国 (北京) にあり、宛先インスタンスが中国 (杭州) にある場合です。インスタンスが同じリージョンにある場合は、このステップをスキップしてステップ 2 に進みます。
CEN コンソールの [インスタンス] ページで、作成した CEN インスタンスの ID をクリックします。
[基本情報] タブで、[帯域幅プラン] タブをクリックします。表示されたタブで、[帯域幅プランの購入 (サブスクリプション)] をクリックします。
表示されたページで、次のパラメーターを構成し、[今すぐ購入] をクリックします。その後、支払いを完了します。
パラメーター
説明
CEN ID
表示されている CEN インスタンスを保持します。帯域幅プランを購入すると、帯域幅プランは自動的に CEN インスタンスに関連付けられます。
エリア A
リージョン間通信を有効にするエリアを選択します。この例では、[中国本土] を選択します。
説明帯域幅プランの購入後にエリアを変更することはできません。
エリア B
リージョン間通信を有効にするもう一方のエリアを選択します。この例では、[中国本土] を選択します。
課金方法
帯域幅プランの課金方法を選択します。デフォルト値の [帯域幅課金] を保持します。
帯域幅
帯域幅プランによって提供される帯域幅を指定します。単位: Mbit/s。
帯域幅パッケージ名
帯域幅プランの名前を入力します。
注文期間
帯域幅プランのサブスクリプション期間を選択します。
[自動更新] を選択して、帯域幅プランの自動更新を有効にできます。
購入が完了すると、結果は次の図のようになります:

(任意) リージョン間帯域幅を設定します。
説明このステップは、アカウント A とアカウント B の ApsaraDB RDS for PostgreSQL インスタンスが異なるリージョンにある場合に実行する必要があります。たとえば、ソースインスタンスが中国 (北京) にあり、宛先インスタンスが中国 (杭州) にある場合です。インスタンスが同じリージョンにある場合は、このステップをスキップしてステップ 2 に進みます。
CEN コンソールの [インスタンス] ページで、作成した CEN インスタンスの ID をクリックします。
[基本情報] タブで、[帯域幅プラン] タブをクリックします。表示されたタブで、[リージョン間通信の帯域幅を割り当てる] をクリックします。
[ピアネットワークインスタンスとの接続] ページで、次のパラメーターを構成し、[OK] をクリックします。
パラメーター
説明
インスタンスタイプ
この例では、[リージョン間接続] を選択します。
リージョン
ソース RDS インスタンスが存在するリージョンを選択します。この例では、[中国 (北京)] を選択します。
トランジットルーター
CEN は、ソース RDS インスタンスが存在するリージョンのトランジットルーターを自動的に識別します。
ピアリージョン
宛先 RDS インスタンスが存在するリージョンを選択します。この例では、[中国 (杭州)] を選択します。
トランジットルーター
CEN は、宛先 RDS インスタンスが存在するリージョンのトランジットルーターを自動的に識別します。
帯域幅割り当てモード
帯域幅プランの割り当て方法を選択します。有効な値:
帯域幅プランから割り当て
データ転送量課金
この例では、[帯域幅プランから割り当て] を選択します。
帯域幅プラン
CEN インスタンスに関連付けられている帯域幅プランを選択します。
説明このパラメーターは、[帯域幅割り当てモード] を [帯域幅プランから割り当て] に設定した場合にのみ必要です。
帯域幅
帯域幅プランによって提供される帯域幅を入力します。単位: Mbit/s。
デフォルト回線タイプ
使用する回線のタイプを選択します。有効な値:
プラチナ
ゴールド
説明[帯域幅割り当てモード] を [データ転送量課金] に設定した場合にのみ、[Platinum] を選択できます。
構成が成功すると、結果は次の図のようになります:

ソース RDS インスタンスを構成します。
RDS インスタンスの IP アドレスホワイトリストを作成します。
[IP アドレス] パラメーターを、宛先 RDS インスタンスが属する VPC の CIDR ブロックに設定する必要があります。詳細については、「IP アドレスホワイトリストを構成する」をご参照ください。
ソース RDS インスタンスの特権アカウントを作成します。
詳細については、「アカウントの作成」をご参照ください。特権アカウントを作成するときは、[アカウントタイプ] パラメーターを [特権アカウント] に設定する必要があります。
説明特権アカウントはデータの移行に使用され、CREATE ROLE、REPLICATION、および pg_monitor 権限が必要です。特権アカウントが既にある場合は、このステップをスキップしてください。
宛先 RDS インスタンスを構成します。
クラウド移行評価を実行します。
ApsaraDB RDS コンソールにログインし、[インスタンス] ページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。次に、RDS インスタンスを見つけてインスタンス ID をクリックします。
左側のナビゲーションウィンドウで、[クラウド移行/DR 構築] をクリックします。表示されたページで、[実現可能性評価] タブをクリックします。
構成ウィザードの [シナリオとソースタイプの設定] ステップで、[シナリオ] に [クラウドへの移行] を、[ソース] に [ApsaraDB RDS インスタンス] を選択します。次に、[次へ] をクリックします。
構成ウィザードの [宛先インスタンスの設定] ステップで、[次へ] をクリックします。
構成ウィザードの [ソースインスタンスの設定] ステップで、リストされているすべての項目を選択し、[次へ] をクリックします。クラウド移行を開始する前に、リストされている項目に記載されている準備を完了する必要があります。
構成ウィザードの [実現可能性評価の開始] ステップで、ソース RDS インスタンスに関する情報を構成します。
パラメーター
説明
移行タスク名
ApsaraDB RDS はクラウド移行タスクの名前を自動的に生成します。生成された名前を変更する必要はありません。
ソース VPC/DNS IP
ソース RDS インスタンスの内部エンドポイントを入力します。詳細については、「エンドポイントとポート番号の表示と変更」をご参照ください。
ソースインスタンスのポート
ソース RDS インスタンスの内部ポート番号を入力します。詳細については、「エンドポイントとポート番号の表示と変更」をご参照ください。
ユーザー名
ソース RDS インスタンス用に作成された特権アカウントのユーザー名を入力します。
パスワード
ソース RDS インスタンス用に作成された特権アカウントのパスワードを入力します。
[実現可能性評価タスクの作成] をクリックします。
説明クラウド移行評価中、宛先 RDS インスタンスのステータスは [インスタンスのメンテナンス中] に変わります。
クラウド移行評価が完了したら、[実現可能性評価] タブの [クラウドへの移行] セクションでクラウド移行評価タスクのステータスを表示できます。
実現可能性評価タスクの ステータス 列の値が [成功] の場合、クラウド移行を開始できます。
実現可能性評価タスクの ステータス 列の値が [失敗] の場合、[操作] 列の [レポートの表示] をクリックして、報告されたエラーを表示および処理できます。 一般的なエラーの詳細については、「クラウド移行評価レポートの概要」をご参照ください。
宛先 RDS インスタンスにデータを移行します。
ApsaraDB RDS コンソールにログインし、[インスタンス] ページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。次に、RDS インスタンスを見つけてインスタンス ID をクリックします。
左側のナビゲーションウィンドウで、[クラウド移行/DR 構築] をクリックします。表示されたページで、[クラウドへの移行] タブをクリックします。表示されたタブで、[クラウド移行タスクの作成] をクリックします。
[クラウド移行タスクの作成] ダイアログボックスで、[関連付けられた評価タスク] ドロップダウンリストからステータスが成功を示しているクラウド移行評価タスクを選択します。
説明[関連付けられた評価タスク] ドロップダウンリストからクラウド移行評価タスクを選択すると、ApsaraDB RDS は [移行ソースタイプ]、[ソース IP/ DNS]、[ソースポート]、および [ユーザー名] パラメーターの値を自動的に決定します。これらのパラメーターを構成する必要はありません。
[クラウドへの移行を開始] をクリックします。ApsaraDB RDS はクラウド移行タスクを自動的に開始します。
重要クラウド移行中、宛先 RDS インスタンスのステータスは [データ移行中] に変わります。ソース RDS インスタンスからのデータの読み取りと書き込みは可能ですが、ソース RDS インスタンスとの間でデータを移行したり、ソース RDS インスタンスを再起動したり、ソース RDS インスタンスの仕様を変更したりしないでください。
ソース RDS インスタンスのワークロードを宛先 RDS インスタンスに切り替えます。
クラウド移行タスクの [クラウド移行フェーズ] 列のリンクをクリックして、タスクの進捗状況を表示します。
クラウド移行タスクが [増分同期] のフェーズに入ったら、クラウド移行タスクの [操作] 列にある [スイッチオーバー用のボタン] をクリックして、ソース RDS インスタンスのワークロードを宛先 RDS インスタンスに切り替えます。
[スイッチオーバー] ダイアログボックスで、ソース RDS インスタンスが読み取りリクエストのみを処理するように構成します。または、接続されているアプリケーションがソース RDS インスタンスにデータを書き込むのを停止します。
説明ソース RDS インスタンスが読み取りリクエストのみを処理するように構成するには、次のステップを実行します:
インスタンスパラメーターの設定 機能を使用して、ソースインスタンスの [rds_force_trans_ro_non_sup] パラメーターを [on] に設定できます。
次の文を実行して、既存のすべてのセッションを中断します。
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE usename not in ('replicator', 'monitor', 'pgsql', 'aurora') AND pid != pg_backend_pid();
すべてのチェックボックスを選択し、[今すぐ切り替え] をクリックします。その後、クラウド移行が完了するまで待ちます。
