みなさん、こんばんは。小寺です。
RDSクロスリージョンバックアップがRDS for MariaDBとAmazon RDS for MySQLでも対応するようになりました。
https://aws.amazon.com/jp/about-aws/whats-new/2023/02/amazon-rds-mariadb-disaster-recovery-capabilities-cross-region-automated-backups/
https://aws.amazon.com/jp/about-aws/whats-new/2023/02/amazon-rds-mysql-dr-capabilities-cross-region-automated-backups/
クロスリージョンバックアップとは
クロスリージョンバックアップって良く耳にしますよね。例えば、通常東京リージョンで使っているリソースのバックアップを他リージョンに災害対策(以下、DR)を目的として保存しておくことをクロスリージョンバックアップと呼びます。
詳細については、過去記事でも触れていますのでこちらからご確認ください。
アップデート内容について
RDS for Oracleのクロスリージョン自動バックアップは以前から対応がされていました。RDS for OracleにおけるDRはOracle Active Data GuardまたはOracle Data Guardを使用したクロスリージョンレプリケーションが利用可能でしたが、条件としてはEnterprise Edition以上が必要でした。クロスリージョン自動バックアップを利用すれば、AWSから提供される仕組みでRDSの自動バックアップとトランザクションログを別リージョンにレプリケーションしDR用に取得ができるようになっています。
同様に他のデータベースエンジンでは、RDS for PostgreSQL、RDS for SQL Serverで対応がされています。
今回のアップデートにより、RDS for MariaDBとAmazon RDS for MySQLにも対応したので、対応のデータベースエンジンが2つ追加になっています。
別のリージョンへの自動バックアップのレプリケーションを取るときの注意
リージョンと利用ができるデータベースのバージョンはそれぞれデータベースエンジンによって異なるので注意が必要です。
describe-source-regions AWS CLI コマンドによって、相互にレプリケートできる AWS リージョン を調べることもできます。
試してみる
RDS for MySQLで試してみました。
(1)RDSの作成
はじめに東京リージョン(ap-northeast-1)でRDSを作成します。
通常のRDSの作成と基本的な手順は同様で、事前に必要な以下は作成済みとして対応します。
・サブネットグループ
・パラメーターグループ (すべてデフォルト値のまま変更なし)
・オプショングループ (追加オプションは無し)
追加設定で「別の AWS リージョンでレプリケーションを有効化」にチェックを入れ、送信先リージョンを選びます。
2023年3月9日時点では、MySQLはシンガポール、オレゴン、ソウル、大阪、バージニア、オハイオの6つに対応しています。ここでは、大阪リージョンを選びました。
(2)RDSのインスタンスが作成完了後に詳細情報を確認すると、「メンテナンスとバックアップ」タブの「バックアップ」箇所にレプリケーションの状態が表示されます。起動時は空欄ですが、自動バックアップ取得後にレプリケーションの情報が表示されるようになります。
費用
プライマリAWSリージョンからセカンダリAWSリージョンへのデータ転送は、該当する AWS リージョンのデータ転送料金に基づき、請求されます。
対応バージョンについて
今回サポートされたRDS for MariaDB、RDS for MySQL含めて、全てのデータベースエンジンが利用可能です。
リージョンについては、以下を除くリージョンで利用ができます。
バックアップレプリケーションは、下記を除くすべての AWS リージョン で利用可能です。
・アフリカ (ケープタウン)
・アジアパシフィック (香港)
・アジアパシフィック (ハイデラバード)
・アジアパシフィック (ジャカルタ)
・ヨーロッパ (ミラノ)
・欧州 (スペイン)
・欧州 (チューリッヒ)
・中東 (バーレーン)
・中東 (アラブ首長国連邦)