ApsaraDB RDS for MySQL は、同一リージョン内でのプロキシノードのクロスゾーン移行をサポートしています。プロキシノードをプライマリ RDS インスタンスのゾーンに移行することで、クロスゾーンの書き込みレイテンシーを削減し、プロキシとプライマリ間のゾーン間トラフィックによる書き込みパフォーマンスの低下を回避できます。
前提条件
開始する前に、次のことを確認してください。
RDS インスタンスが次のすべての条件を満たしていること:
エンジン: MySQL
エディション: RDS 高可用性版または RDS クラスター版
ストレージ: クラウドディスク
データベースプロキシ: 有効
インスタンスの状態: 実行中 — プライマリインスタンス、すべての読み取り専用インスタンス、およびプロキシノードを含む
インスタンスが Virtual Private Cloud (VPC) エンドポイントを使用していること。クラシックネットワークのデータベースプロキシでは、クロスゾーン移行はサポートされていません。詳細については、「インスタンスのエンドポイントとポートの表示と管理」をご参照ください。
プロキシノードとプライマリ RDS インスタンスが異なるゾーンにあり、プロキシエンドポイント経由で接続する場合、書き込みパフォーマンスが低下します。これを避けるために、両方に同じ VPC と vSwitch を設定してください。
課金
クロスゾーン移行は無料です。
潜在的な影響
移行前に、以下の影響をご確認ください。
一時的な接続中断
クロスゾーン移行により、約 30 秒間の一時的な接続中断が発生します。影響を最小限に抑えるには、次の対策を講じてください。
移行の影響を受けないエンドポイントを使用してアプリケーションを接続します:
RDS 高可用性版: プライマリ RDS インスタンスのエンドポイントまたは読み取り専用 RDS インスタンスのエンドポイント
RDS クラスター版: 読み書きエンドポイント、読み取り専用エンドポイント、または直接ノード接続エンドポイント
移行はオフピーク時にスケジュールしてください。
アプリケーションに自動再接続メカニズムがあることを確認してください。ない場合は、移行完了後に手動で再接続してください。
仮想 IP アドレスの変更
クロスゾーン移行により、インスタンスのエンドポイントにバインドされている仮想 IP アドレス (VIP) が変更されます。IP アドレスではなくエンドポイントを使用してアプリケーションを接続することで、移行後に新しい VIP が自動的に解決されるようになります。
移行後、データベースクライアント上のキャッシュされた DNS レコードを直ちにクリアしてください。VIP が変更されると、DNS の伝播に時間がかかります。クライアントが古い VIP を解決し続ける場合、キャッシュが期限切れになるまで接続は失敗します。Java 仮想マシン (JVM) で実行されているクライアントの場合、JVM 設定で有効期間 (TTL) を 60 秒以下に設定して、VIP の変更後にクライアントが速やかに DNS を再クエリするようにします。詳細については、「Class InetAddress」をご参照ください。
最寄りアクセス
クロスゾーン移行により、最寄りアクセスの設定が無効になる場合があります。移行後、新しいゾーンはデフォルトでアクセス可能になり、元のゾーンはアクセスできなくなります。プロキシエンドポイントゾーンが新しいデフォルトゾーンと異なる場合、そのゾーンへの最寄りアクセスは失敗します。
次の表にシナリオの例を示します。
| シナリオ | 元のプロキシノードゾーン | プロキシエンドポイント | 元の最寄りアクセス | 新しいプロキシノードゾーン | 新しいデフォルトゾーン | 新しいプロキシエンドポイントゾーン | 新しい最寄りアクセス |
|---|---|---|---|---|---|---|---|
シナリオ 1: ゾーン A+ゾーン B → ゾーン A+ゾーン C | ゾーン A | プロキシエンドポイント a | ゾーン A | ゾーン A | ゾーン A | ゾーン A | ゾーン A |
| ゾーン C | 無効 | ||||||
| ゾーン B | プロキシエンドポイント b | ゾーン B | ゾーン C | ゾーン C | ゾーン C | ゾーン C | |
| ゾーン D | 無効 | ||||||
シナリオ 2: ゾーン A+ゾーン B → ゾーン C+ゾーン D | ゾーン A | プロキシエンドポイント a | ゾーン A | ゾーン C | ゾーン C | ゾーン C | ゾーン C |
| ゾーン E | 無効 | ||||||
| ゾーン B | プロキシエンドポイント b | ゾーン B | ゾーン D | ゾーン D | ゾーン D | ゾーン D | |
| ゾーン E | 無効 |
リソース不足
移行先ゾーンのリソースが不足している場合、移行が失敗することがあります。
プロキシノードの移行手順
ApsaraDB RDS コンソールにログインします。[インスタンス] ページで、インスタンスが存在するリージョンを選択し、対象のインスタンスを見つけて、インスタンス ID をクリックします。
左側のナビゲーションウィンドウで [データベースプロキシ] をクリックして、データベースプロキシの基本情報を表示します。
[クロスゾーン移行] をクリックします。
説明[クロスゾーン移行] が表示されない場合は、インスタンスがすべての前提条件を満たしているか確認してください。
「データベースプロキシのゾーン間移行」ダイアログボックスで、プライマリ RDS インスタンスおよびデータベースプロキシのゾーンとネットワーク情報を確認します。[移行先ゾーン]、[移行先 vSwitch]、および[変更時刻]を設定し、[OK] をクリックします。
重要移行中にデータベースプロキシのタイプや仕様を変更することはできません。
表示された影響を確認し、[OK] をクリックして確定します。
API リファレンス
| 操作 | 説明 |
|---|---|
| ModifyDBProxyInstance | vSwitchIds を指定して、プロキシノードを移行先ゾーンに移行します |
よくある質問
プロキシエンドポイントを使用していない場合、クロスゾーン移行はアプリケーションに影響しますか?
いいえ。移行はプロキシエンドポイント経由で接続されているアプリケーションにのみ影響します。プライマリ RDS インスタンスのエンドポイントまたは読み取り専用 RDS インスタンスのエンドポイント (RDS 高可用性版)、あるいは読み書きエンドポイント、読み取り専用エンドポイント、または直接ノード接続エンドポイント (RDS クラスター版) 経由で接続している場合、ワークロードに影響はありません。
接続の中断はどのくらい続きますか?
一時的な接続中断は約 30 秒間続きますが、実際の持続時間はお客様のビジネスによって異なる場合があります。影響を最小限に抑えるために、移行をオフピーク時にスケジュールし、影響を受けないエンドポイントタイプを使用してください。