データベース可用性設計 RDSのMulti-AZ配置とリードレプリカを使い分ける
本記事はSAA試験対策として、Amazon RDSにおける可用性確保とスケーラビリティ確保の設計を解説します。試験では、障害対応と読み取り性能向上という異なる目的の機能を混同しないことが問われます。
覚え方のフレームは3つの観点です。冗長化(障害に備える)・分散(読み取りを逃がす)・昇格(必要なら切り替える)。
冗長化 Multi-AZ配置による自動フェイルオーバー
Multi-AZ配置は同期レプリケーションでスタンバイインスタンスを別のアベイラビリティゾーンに維持し、プライマリに障害が起きると自動的にフェイルオーバーします。可用性を最優先し、障害時のダウンタイムを最小化したい要件ではMulti-AZを基本構成とします。
分散 リードレプリカによる読み取りスケーリング
リードレプリカは非同期レプリケーションで作成され、読み取り専用の負荷を複数のレプリカへ分散できます。レポート集計など読み取りが集中する処理を本番の書き込み処理から切り離したい要件ではリードレプリカを追加し、リージョンをまたぐ読み取り性能が必要な場合はクロスリージョンリードレプリカを選びます。
昇格 リードレプリカのスタンドアロン化
リードレプリカはレプリケーションを解除して独立したDBインスタンスに昇格できますが、これは自動フェイルオーバーの仕組みではなく手動操作です。将来的に一部のレプリカを別用途の独立したデータベースとして分離したい要件で使う機能であり、可用性確保の代替にはなりません。
| 項目 | Multi-AZ配置 | リードレプリカ |
|---|---|---|
| レプリケーション | 同期 | 非同期 |
| 自動フェイルオーバー | 対応 | 非対応 |
| 選ぶ要件 | 可用性を最優先したい | 読み取り性能を拡張したい |
チェックリスト
- Multi-AZの同期レプリケーションと自動フェイルオーバーの仕組みを説明できる
- リードレプリカの非同期レプリケーションの特性を説明できる
- クロスリージョンリードレプリカの用途を説明できる
- Multi-AZとリードレプリカの目的の違いを区別できる
まとめ
データベース可用性設計は「冗長化・分散・昇格」の3観点で捉え、可用性にはMulti-AZ、読み取り性能にはリードレプリカを充てるのが定石です。この記事の理解度はクイズで確認し、最新の試験範囲はAWS認定 公式ページで確認しましょう。
SAA(ソリューションアーキテクト アソシエイト) におすすめの教材
徹底攻略 AWS認定 ソリューションアーキテクト − アソシエイト教科書 第3版[SAA-C03]対応
AWS認定ソリューションアーキテクト−アソシエイト問題集
これだけでOK! AWS認定SAA(SAA-C03)試験突破講座
AWS認定SAA 本番模試(6回分/390問)
本セクションにはAmazonアソシエイト・Udemyアフィリエイトのリンクが含まれます。