[アップデート]「Aurora MySQL 5.7」でAurora Global Databaseがサポートされるようになりました
はじめに
こんにちは。大阪オフィスの林です。
2019年11月26日(火)に「Aurora MySQL 5.7」でAurora Global Databaseがサポートされるようになりました。公式ページはこちら
本記事では作成済みのAurora MySQL5.7に実際にグローバルリージョンを追加してGlobal Database化していきたいと思います!
Global Databeseとは?
Aurora グローバルデータベースは、1 つのプライマリ AWS リージョン (データをマスターとして管理) と 1 つのセカンダリ AWS リージョン (読み取り専用) で構成されます。Aurora は、通常の 1 秒未満のレイテンシーでセカンダリ AWS リージョンにデータをレプリケートします。書き込みオペレーションは、プライマリ AWS リージョン内のプライマリ DB インスタンスに直接発行します。
複数の AWS リージョンにまたがる低レイテンシーのアーキテクチャで、Global Databeseを利用することで災害時にセカンダリクラスターから高速なフェイルオーバーを可能にすることができます!
利用バージョンの前提条件
本日時点(2019/11/27)でAmazon Aurora MySQLでGlobal Databeseが利用できるのは以下3つのバージョンのみです。
-
global_10a (MySQL5.6互換)
-
1.22.0 (MySQL5.6互換)
-
2.07.0 (MySQL5.7互換)
検証してみた
今回は作成済みのAmazon Aurora MySQL2.07.0 (MySQL5.7互換)をGlobal Database化していきます。
RDSを選択します。
データベースを選択し、今回対象とするデータベースが「Amazon Aurora MySQL2.07.0」であることを確認します。
対象のデータベースツリーの「親」を選択し、画面右上の「アクション」から「リージョンの追加」を選択します。
!?!?!?!?
なるほど。Global Databeseが利用できるインスタンスタイプがあるので注意です。公式ページに記載のインスタンスタイプの前提条件は以下の通りです。
Aurora グローバルデータベースに
db.t2
またはdb.t3
インスタンスクラスを使用することはできません。使用できるインスタンスクラスは、db.r4
またはdb.r5
です。
※AuroraMySQLでは「db.r3」インスタンスタイプも選択できるのですが、上記記載では使用できるかとうかわかりません。試しに「db.r3」インスタンスで「リージョンの追加」をしたところ次に進むことはできましたのでご参考まで。
今回は使用できるインスタンスタイプに記載のある「db.r4」に変更し検証を進めていきます。
対象のデータベースツリーの「親」を選択し、画面右上の「アクション」から「リージョンの追加」を選択します。
「リージョンの追加」画面が表示されます。※読み込みに少し時間がかかるようで数十秒待機します。
「グローバルデータベース設定」や追加する「リージョン」を設定します。
それ以降の設定は、AuroraMySQL作成時と同じような項目があるので環境に応じて設定、選択し画面下部の「リージョンの追加」を選択します。
ダッシュボードに戻ると先ほど指定した「グローバルデータベース設定」でクラスターが組まれていることが分かります。※利用可能になるまで十数分かかりました。
サポートしてないAurora MySQLバージョンでリージョンの追加をしてみた
サポートしていないAurora MySQLバージョン(5.7.mysql_aurora.2.03.4)で同じようにリージョン追加してみます。
画面右上の「アクション」から「リージョンの追加」を選択します。
ちゃんと「できない!」と叱ってくれます。
Global Databeseを利用したい場合は必要に応じてエンジンのバージョンアップ等をご検討いただければと思います。
まとめ
数クリックでAuroraMySQLをGlobal Databese化することが出来ました!Global Databeseでは災害復旧の状況で通常1 分未満でセカンダリクラスターを昇格させて書き込みに対応できるとも言われています。低レイテンシーなアーキテクチャに加え可用性の向上に一役買う良いアップデートではないでしょうか!
以上、大阪オフィスの林がお送りしました!