ある企業が、Amazon RDS Aurora MySQL クラスターで運用しているアプリケーションの可用性をさらに向上させたい。現在は Single-Region の Aurora クラスター(Multi-AZ)を使用しているが、リージョン全体の障害に対する耐性と、読み取りクエリのさらなるオフロードを実現したい。最も適切な構成変更を 2 つ選択してください。
- A. Aurora Global Database を構成し、セカンダリリージョンに読み取り専用レプリカを配置する。リージョン障害時はセカンダリをプライマリに昇格させる。
- B. 既存クラスターをマルチリージョンに拡張するために Aurora クロスリージョンリードレプリカを追加する。
- C. Aurora クラスターに Aurora Replica を最大 15 台追加し、リーダーエンドポイントで読み取りをオフロードする。
- D. Amazon DynamoDB Global Tables に移行してグローバルな可用性を確保する。
- E. Amazon RDS for MySQL に移行して Read Replica を追加する。
解答と解説を見る
正解: A, C
リージョン全体の障害への耐性には Aurora Global Database(選択肢A)が最適である。Global Database はプライマリリージョンとセカンダリリージョン間のレプリケーションラグが 1 秒以下で、リージョン障害時にセカンダリをプライマリに昇格(通常 1 分以内)できる。セカンダリリージョンでの読み取りオフロードも可能になる。読み取りクエリのさらなるオフロードには Aurora Replica の追加(選択肢C)が有効で、1 クラスターに最大 15 台まで追加でき、リーダーエンドポイントで読み取り負荷を分散できる。選択肢EのRDS for MySQL への移行は Aurora の高性能・高可用性機能を失う後退した選択である。選択肢DのDynamoDB への移行はスキーマ変更・コード全面変更が必要であり、要件の「Aurora MySQL を使い続ける」を満たさない。選択肢BのAurora クロスリージョンリードレプリカは Global Database と異なりレプリケーションラグが大きくなる可能性があり、リージョン障害対応には Global Database の方が優れている。
📚 関連サービスの解説: Amazon Aurora