このトピックでは、同じリージョンのゾーン間でApsaraDB RDS for MySQLインスタンスを移行する方法について説明します。 移行を完了するのに必要な時間は、移行する必要があるデータの量によって異なります。 ほとんどの場合、移行には数時間かかります。
前提条件
RDSインスタンスは次の要件を満たしています。
RDSインスタンスは、RDS High-availability EditionまたはRDS Basic Editionを実行します。 サーバーレスRDSインスタンスはサポートされていません。
RDS インスタンスが、提供を終了したインスタンスタイプを使用していない必要があります。 詳細については、「標準プライマリApsaraDB RDS For MySQLインスタンスのインスタンスタイプ (オリジナルのx86アーキテクチャ) 」をご参照ください。 インスタンスタイプを変更する方法の詳細については、「インスタンス仕様の変更」をご参照ください。
RDS インスタンスが実行中の状態である必要があります。
説明RDSインスタンスに読み取り専用RDSインスタンスがある場合は、読み取り専用RDSインスタンスが実行中の状態であることを確認してください。 それ以外の場合、RDSインスタンスを別のゾーンに移行すると、
OperationDenied. MasterDBrnstancestate
エラーメッセージが表示されます。
RDSインスタンスがクラウドディスクを使用している場合、RDSインスタンスのマイナーエンジンバージョンは20201031以降です。 マイナーエンジンバージョンの更新方法の詳細については、「マイナーエンジンバージョンの更新」をご参照ください。
RDSインスタンスが存在するリージョンは、複数のゾーンで構成されています。 Alibaba Cloudのリージョンとゾーンの詳細については、「リージョンとゾーン」をご参照ください。
RDSインスタンスの共有データベースプロキシが無効になっています。
説明RDSインスタンスの [データベースプロキシ] ページで、[読み書き分離 (共有)] タブが表示されているかどうかを確認します。 タブが表示されている場合、RDSインスタンスに対して共有データベースプロキシが有効になっています。
共有データベースプロキシは、2021年4月1日から管理されなくなりました。 共有データベースプロキシを引き続き使用する場合は、共有データベースプロキシを専用データベースプロキシにアップグレードすることを推奨します。 たとえば、「共有データベースプロキシから専用データベースプロキシへのデータベースプロキシのアップグレード」をご参照ください。
専用データベースプロキシまたは汎用データベースプロキシを使用する場合、クロスゾーン移行は影響を受けません。
同じリージョンのゾーン間で異なるデータベースエンジンを実行するRDSインスタンスを移行する方法の詳細については、以下のトピックを参照してください。
課金ルール
クロスゾーン移行の料金は発生しません。 これは、RDSインスタンスを1つのゾーンから複数のゾーンに移行する場合にも適用されます。
影響
インスタンスの切り替え: クロスゾーン移行中に、インスタンスの切り替えがトリガーされる場合があります。 その結果、プライマリRDSインスタンスのエンドポイントとデータベースプロキシエンドポイントが短期間使用できなくなります。 RDS インスタンスに自動的に再接続するようにアプリケーションが設定されていることを確認してください。 RDSインスタンスに自動的に再接続するようにアプリケーションが設定されていない場合は、手動でアプリケーションをRDSインスタンスに接続する必要があります。 詳細については、「インスタンスの切り替えの影響」をご参照ください。 次のリストは、インスタンスの切り替えがトリガーされるシナリオを示しています。
プライマリRDSインスタンスのターゲットゾーンがプライマリRDSインスタンスの現在のゾーンと異なる場合、クロスゾーン移行中にプライマリRDSインスタンスが変更されます。
プライマリRDSインスタンスのターゲットゾーンがプライマリRDSインスタンスの現在のネットワークゾーンと異なる場合、クロスゾーン移行中にプライマリRDSインスタンスが変更されます。
VIPの変更: クロスゾーン移行中にインスタンスの切り替えが発生した場合、RDSインスタンスのエンドポイントは変更されませんが、RDSインスタンスの仮想IPアドレス (VIP) が変更されます。 アプリケーションをRDSインスタンスに接続するには、RDSインスタンスのIPアドレスではなくエンドポイントを使用することを推奨します。
RDSインスタンスが
PolarDB-X 1.0インスタンスの場合、VIPの変更はRDSインスタンスと PolarDB-X 1.0インスタンス。 できるだけ早い機会に接続の問題を修正することを推奨します。 詳細については、「データベースシャード接続の修正」をご参照ください。移行後、キャッシュされたドメインネームシステム (DNS) レコードをデータベースクライアントから直ちに削除する必要があります。 データベースクライアントがJVMで実行されている場合は、JVM構成の有効期間 (TTL) を60秒以下に設定することを推奨します。 この場合、RDSインスタンスの使用中のエンドポイントにバインドされている仮想IPアドレスが変更された場合、アプリケーションは関連するDNSレコードを再度クエリして、新しい仮想IPアドレスを取得できます。 その後、アプリケーションは新しい仮想IPアドレスに接続できます。
説明JVM構成でTTLを設定する方法の詳細については、「クラスInetAddress」をご参照ください。
DTSタスクの中断: RDSインスタンスに進行中のDTSタスクがある場合、クロスゾーン移行が完了した後にタスクを再起動する必要があります。 詳細については、「」をご参照ください。DTSとは何ですか?
テーブルの再作成: ゾーン間の移行を実行すると、テーブルが再作成されます。 その結果、テーブルの作成時刻が変更され、INFORMATION_SCHEMAテーブルのCREATE_TIMEフィールドの値が変更されます。
RDSインスタンスを移行するゾーンのリソースインベントリが不十分な場合、移行が失敗する可能性があります。
クロスゾーン移行中は、vSwitchのみを変更することはできません。 RDSインスタンスのvSwitchを変更する方法の詳細については、「VPCとvSwitchの変更」をご参照ください。
手順
ApsaraDB RDSコンソールにログインし、[インスタンス] ページに移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 RDSインスタンスを見つけ、インスタンスIDをクリックします。
基本情報 ページで、右上隅の ゾーンの移行 をクリックします。
説明ゾーンの移行 が表示されない場合、RDSインスタンスが前提条件を満たしているかどうかを確認する必要があります。
インスタンスを別のゾーンに移行する ダイアログボックスで、Destination Zoneパラメーターを設定し、vSwitchを選択し、Switching Timeパラメーターを設定します。 次に、OK をクリックします。
重要仮想プライベートクラウド (VPC) と少なくともvSwitchがターゲットゾーンで使用可能であることを確認します。 それ以外の場合、インスタンスをターゲットゾーンに移行できません。
移行シナリオ
説明
あるゾーンから別のゾーンへの移行
プライマリおよびセカンダリRDSインスタンスは、同じターゲットゾーンにあります。
たとえば、プライマリRDSインスタンスとセカンダリRDSインスタンスは
シンガポールゾーンC
にあり、インスタンスをシンガポールゾーンA
に移行したとします。1つのゾーンから複数のゾーンへの移行
プライマリとセカンダリのRDSインスタンスは、異なるターゲットゾーンにあります。
たとえば、プライマリRDSインスタンスとセカンダリRDSインスタンスは
シンガポールゾーンC
にあり、プライマリRDSインスタンスはシンガポールゾーンB
に、セカンダリRDSインスタンスはシンガポールゾーンAに移行します。説明クロスゾーンマイグレーション後、プライマリRDSインスタンスとセカンダリRDSインスタンスは異なるゾーンに配置され、クロスゾーンディザスタリカバリ (DR) を実現します。
マルチゾーン展開方式は、シングルゾーン展開方式よりも高いディザスタリカバリ機能を提供します。 シングルゾーン展開方法を選択した場合、データベースシステムはサーバーとラックの障害に耐えることができます。 マルチゾーン展開方法を選択した場合、データベースシステムはデータセンターの障害に耐えることができます。
データベースシステムにプライマリおよびセカンダリRDSインスタンスが含まれている場合は、RDSインスタンスを複数のゾーンに移行して、ゾーン間DRを実装することを推奨します。
複数のゾーンから1つのゾーンへの移行
プライマリおよびセカンダリRDSインスタンスは、同じターゲットゾーンにあります。
たとえば、プライマリRDSインスタンスは
シンガポールゾーンB
にあり、セカンダリRDSインスタンスはシンガポールゾーンAにあり、RDSインスタンスはシンガポールゾーンC
に移行します。説明シングルゾーンのデプロイ方法を選択した場合、データベースシステムはクロスゾーンDRを実現できません。 RDSインスタンスを異なるゾーンに移行することを推奨します。
1つのゾーンから複数のゾーンへの移行
プライマリとセカンダリのRDSインスタンスは、異なるターゲットゾーンにあります。
たとえば、プライマリRDSインスタンスは
シンガポールゾーンBにあり、セカンダリRDSインスタンスはシンガポールゾーンCにあり
、プライマリRDSインスタンスはシンガポールゾーンAに、セカンダリRDSインスタンスはシンガポールゾーンB
に移行します。重要クロスゾーン移行後、システムは [切り替え時間] パラメーターの値に基づいてワークロードを切り替えます。 切り替え時間パラメーターを [すぐに切り替える] または 保守時間枠内に切り替える に設定できます。 切り替え中にRDSインスタンスのvSwitchが変更された場合、RDSインスタンスは新しい接続を介して接続されます。 RDSインスタンスに自動的に再接続するようにアプリケーションが設定されていることを確認します。 それ以外の場合は、アプリケーションをRDSインスタンスに手動で再接続する必要があります。
データベースクライアントにキャッシュされたDNSレコードが移行後すぐに更新されない場合、一部のワークロードは10分後に移行先プライマリゾーンに切り替えられる可能性があります。 その結果、RDSインスタンスに別のインスタンス切り替えが発生します。 RDSインスタンスに自動的に再接続するようにアプリケーションが設定されていることを確認します。 それ以外の場合は、アプリケーションをRDSインスタンスに手動で再接続する必要があります。
インスタンスの切り替えの影響の詳細については、「インスタンスの切り替えの影響」をご参照ください。
[ゾーン間インスタンスの移行] ダイアログボックスで、移行前後のゾーン情報を確認し、[OK] をクリックします。
関連する API 操作
操作 | 説明 |
ゾーン間でインスタンスを移行します。 |
よくある質問
クロスゾーン移行中にRDSインスタンスにデータが書き込まれた場合、ワークロードの切り替え後にRDSインスタンスの元のデータが影響を受けますか。 新しく書き込まれたデータは保持されますか?
元のデータは影響を受けず、新しく書き込まれたデータは保持されます。
重要移行中にインスタンスの切り替えが発生します。 RDSインスタンスに自動的に再接続するようにアプリケーションが設定されていることを確認します。 それ以外の場合は、アプリケーションをRDSインスタンスに手動で再接続する必要があります。 インスタンスの切り替えの影響の詳細については、「インスタンスの切り替えの影響」をご参照ください。
クロスゾーン移行に必要な時間に影響する要因は何ですか?
クロスゾーン移行に必要な時間は、RDSインスタンスのデータ量によって異なります。 RDSインスタンスに大量のデータが存在する場合は、長時間が必要です。 RDSインスタンスがローカルディスクを使用している場合は、数時間かかります。 RDSインスタンスがクラウドディスクを使用する場合、最大1時間が必要です。