ホーム 高可用性・スケーラブルアーキテクチャ

マルチAZ RDS と Aurora Global Database — 高可用性データベース設計

RDS Multi-AZとAurora Global Databaseの違い、リードレプリカとの違い、リージョン間レプリケーション遅延とフェイルオーバー時間を解説します。

最終更新: 2026-07-28 カテゴリ: 高可用性・スケーラブルアーキテクチャ

データベース層の可用性設計は、アプリケーション層以上に慎重な検討が必要です。 本記事ではRDS Multi-AZAurora Global Databaseを中心に解説します。

SAA レベル:基礎概念

RDS Multi-AZの基本

  • プライマリDBインスタンスと同期レプリケーションされたスタンバイインスタンスを、異なるAZに配置
  • プライマリに障害が発生すると、自動的にスタンバイへフェイルオーバー(DNSエンドポイントは変わらない)
  • スタンバイは通常、直接クエリを受け付けない(読み取り専用としては使えない)

SAA 試験のポイント

RDS Multi-AZのスタンバイインスタンスは可用性のためのものであり、読み取りの負荷分散には使えません。読み取り負荷分散が必要な場合は、別途リードレプリカを作成する必要がある、という違いがSAAで頻出します。

リードレプリカとの違い

項目Multi-AZスタンバイリードレプリカ
レプリケーション方式同期非同期
読み取りクエリの受付不可可能
目的高可用性(フェイルオーバー)読み取りスケーリング

SAP レベル:高度な設計シナリオ

Aurora Global Databaseのアーキテクチャ

SAP 試験のポイント

Aurora Global Databaseは、プライマリリージョンのAuroraクラスターから、専用のレプリケーションインフラ(ストレージレイヤーでのレプリケーション)を使って最大5つのセカンダリリージョンへ通常1秒未満の遅延でデータを複製します。これは一般的なRDSクロスリージョンリードレプリカ(数秒〜のラグ)よりも大幅に低遅延である点がSAPの重要な選定基準になります。

プライマリリージョン(東京) │ 専用レプリケーションインフラ(ストレージレベル、通常1秒未満) ├── セカンダリリージョン(大阪)— 読み取り専用 └── セカンダリリージョン(シンガポール)— 読み取り専用

フェイルオーバー時間の比較

構成RTOの目安
RDS Multi-AZ(同一リージョン内)通常60〜120秒
Aurora Multi-AZ(同一リージョン内)通常30秒未満
Aurora Global Database(リージョン間、手動フェイルオーバー)通常1分程度
Aurora Global Database(Managed Planned Failover使用時)より短時間かつ自動化された切り替えが可能

設計上の落とし穴

「Aurora Global Databaseを使えば自動的にリージョン間フェイルオーバーが即座に行われる」という理解は誤りです。リージョン全体の障害時には、セカンダリリージョンを**書き込み可能なプライマリへ昇格させる操作(Failover)**が必要であり、これは完全に自動というよりは、運用者による判断(またはあらかじめ定義された自動化)を伴うプロセスである点に注意が必要です。

書き込みフォワーディングとローカルライトレイテンシ

  • Aurora Global Databaseの書き込みフォワーディング (Write Forwarding) 機能を使うと、セカンダリリージョンで受けた書き込みリクエストを、透過的にプライマリリージョンへ転送できる
  • グローバルにユーザーが分散しているアプリケーションで、読み取りは各リージョンのセカンダリで高速に処理しつつ、書き込みの整合性はプライマリに集約する、という設計を実現できる

RPOの考慮

  • Aurora Global Databaseは非同期レプリケーションであるため、プライマリリージョンが完全にデータ消失を伴う障害に見舞われた場合、直近のレプリケーションが完了していないデータは失われる可能性がある(RPOはゼロではない)
  • 厳密にRPOゼロが求められる場合は、同期レプリケーションを要件に合わせて別途検討する必要がある

まとめ

  • SAA: RDS Multi-AZが同期レプリケーションによる高可用性のための仕組みであり、読み取り負荷分散にはリードレプリカが必要であることを理解する。
  • SAP: Aurora Global Databaseの低遅延レプリケーションの仕組み、フェイルオーバーが完全自動ではない点、書き込みフォワーディングによるグローバル設計ができる。

次は **キャッシュ戦略(ElastiCache、DAX、CloudFront)**を見ていきましょう。