RDB:外部レプリケーション
ゾーンやリージョンをまたいだレプリケーションや、ニフクラ外部のDBサーバーとのレプリケーションを行うことができます。(リードレプリカとは別機能です。)
外部レプリケーション機能を使用することで以下の構成のレプリケーションが可能になります
- ニフクラRDBのDBサーバー → 別ゾーン/別リージョンのニフクラRDBのDBサーバー
- ニフクラ外部のDBサーバー → ニフクラRDBのDBサーバー
- ニフクラRDBのDBサーバー → ニフクラ外部のDBサーバー
制約事項
- 外部レプリケーション設定/開始/停止/解除は、下記すべての条件を満たすDBサーバーにのみ適用可能となります。
- DBエンジン: MySQL
- 構成: シングル構成、もしくは冗長構成(データ優先)
- ステータス: 稼働中
- その他: リードレプリカでないこと
- グローバル通信、またはプライベート通信での非同期レプリケーションとなります。
- プライベート通信で、かつセグメントをまたいで外部レプリケーションを行う場合は、マスターとなるDBサーバーと外部レプリケーション設定済DBサーバーの双方にスタティックルーティングを設定する必要があります。
- スタティックルーティング設定の詳細につきましては、技術仕様:ネットワーク・セキュリティをご参照ください。
- SSL接続によるレプリケーションはサポートしていません。
- マスターとなるDBサーバーの、バックアップ保持期間は、1以上である必要があります。
※マスターとなるDBサーバーがニフクラRDBのDBサーバー以外の場合、バイナリログが出力されている必要があります。 外部レプリケーションするDBサーバー間で、MySQLのserver_idは異なる値である必要があります。ニフクラRDBのDBサーバーのserver_idは以下のSQLで確認いただけます。
SHOW VARIABLES LIKE 'server_id'
グローバルトランザクションIDを使用したレプリケーションには対応していません。
外部レプリケーション設定
外部レプリケーション情報を設定します。
各設定値については、マスターとなるDBサーバーを参照し、適当な値を設定ください。
なお、マスターとなるDBサーバーのDBファイアウォールに、外部レプリケーション接続元IPアドレス(外部レプリケーション設定済DBサーバーのIPアドレス)を追加する必要があります。
外部レプリケーション接続元IPアドレスは、DB詳細画面をご確認ください。
外部レプリケーション開始
レプリケーションの開始処理を行うことができます。
外部レプリケーション中(開始中、停止中)のDBサーバーを再起動した場合、自動的にレプリケーションが再開されます。
ご注意事項
- 外部レプリケーション中のDBサーバーを元にポイントインタイムリカバリーを実行した場合、作成されたDBサーバーに外部レプリケーション情報は引き継がれません。
- 外部レプリケーション中のDBサーバーのDBスナップショットからDBサーバーを作成した場合、作成されたDBサーバーに外部レプリケーション情報は引き継がれません。
外部レプリケーション停止
レプリケーションの停止処理を行うことができます。
レプリケーション停止中のDBサーバーを再起動しても、自動的にレプリケーションが開始することはありません。
外部レプリケーション解除
レプリケーションの解除処理を行うことができます。
外部レプリケーションを停止をせずに解除を行った場合、停止処理と解除処理の両方が行われます。
外部レプリケーション操作ステータス
外部レプリケーション操作(設定/開始/停止/解除)のステータスは、コントロールパネルまたはDescribeDBInstance APIで確認することができます。
コントロールパネルでの表示 | 説明 | アイコン |
---|---|---|
set | 外部レプリケーションが設定されています。 | ![]() |
started | 外部レプリケーション中です。 | ![]() |
stopped | 外部レプリケーションが停止しています。 | ![]() |
set-error | 外部レプリケーションの設定に失敗しています。 | ![]() |
start-error | 外部レプリケーションの開始に失敗しています。 | ![]() |
stop-error | 外部レプリケーションの停止に失敗しています。 | ![]() |
reset-error | 外部レプリケーションの解除に失敗しています。 | ![]() |
上記は、外部レプリケーション操作ステータスであり、レプリケーションの状態を表すものではありません。
レプリケーションの状態については、イベントやSHOW SLAVE STATUSの結果を参照ください。
注意事項
- 外部レプリケーションを設定したDBサーバーは、冗長構成(性能優先)に変更できません。
- 外部レプリケーションを設定したDBサーバーを読み取り専用にしたい場合、DBパラメーターグループのread_onlyを1に変更してください。
- レプリケーション遅延がおきやすい場合、マスターとなるDBサーバーのバイナリログ保持期間の変更を検討してください。(レプリケーションに必要なバイナリログが削除されることを防ぐため)
レプリケーションの遅延などは、以下のSQLでご確認いただけます。
SHOW SLAVE STATUS
外部レプリケーション開始前または停止後に、以下のSQLを実行した場合、外部レプリケーション解除が行われます。
RESET SLAVE ALL