【冗長化】リードレプリカを用いたAmazon RDSのレプリケーション

レプリケーションの種類

Amazon RDSには、同じリージョン内の違うデータセンタに同期的にバックアップを行うマルチAZと、違うリージョンに非同期的にバックアップを行うリードレプリカというレプリケーションがあります。

同期、非同期とありますが、同期を待つか待たないかの違いで、どちらもDBが更新されるごとにバックアップに反映してくれます。

マルチAZは数ms、リードレプリカはAWS側で公式的な発表はありませんが検証したところ数十ms~数百msくらいなので、どちらも瞬時に同期してくれます。

つまり、どちらも災害時や非常時のための冗長化や、負荷分散のためのDB同期処理に使えます。


導入方法

導入も簡単です。
マルチAZはAmazon RDSの設定項目にあります。


災害時などのためにリージョンを跨いで冗長化を行いたい場合はリードレプリカを使います。

[インスタンスの操作]から作成できます。
ちなみに、一番レスポンスが良いのはシンガポールリージョンでした(2018/07時点)。


項目をAmazon RDSを作成したときのように選択し、作成します。(結構時間かかります)

作成されると、マスタのレプリケーションに以下のような表示が追加され、レプリカのレプリケーションにも関連付けされているRDSが表示されるようになります。


マスタからレプリカへの同期は自動でやってくれるので、マスタが死んだらレプリカをマスタに昇格することで通常通りRDSのDBを使用できます。

※レプリカはそのままではリードオンリーなので、マスタに昇格しないと書き込みが行えません。


昇格方法

作成したリードレプリカの[インスタンスの操作]にある[リードレプリカの昇格]で行えます。


WordPressのDBをAmazon RDSに変更するにはこちら