⚡ 可用性・障害対応:RDS Multi-AZ / Read Replicaの使いどころ

目次

1. 結論

RDSの可用性と弾力性を支える2つの巨大な柱が Multi-AZ と リードレプリカ です。 – Multi-AZ は「高可用性(壊れないこと)」のための仕組みで、別AZに予備(スタンバイ)を置きます。 – リードレプリカ は「スケーラビリティ(処理能力)」のための仕組みで、読み取り専用のコピーを増やします。

2. SAAで出やすいポイント

  • RDS Multi-AZ:
    • 同期複製: 書き込み時にスタンバイ側にも同時に書き込む。
    • 自動フェイルオーバー: メインが壊れたら自動でスタンバイがメインに昇格。DNSが自動で切り替わるためアプリ側の設定変更は不要。
  • リードレプリカ (Read Replica):
    • 非同期複製: メインに書き込んだ後、少し遅れてコピーに反映される。
    • 読み取り分散: SELECT クエリをレプリカに飛ばすことで、メインの負荷を減らす。
    • 昇格: レプリカを独立したDBとして「昇格」させることも可能(災害復旧時など)。
  • Auroraの場合: Multi-AZとリードレプリカが高度に統合されており、レプリカがフェイルオーバー先を兼ねる。

3. キーワードでの判断

問題文のキーワード 疑うべきサービス/機能 判断理由
「データベースの可用性を高める(HA)」 Multi-AZ フェイルオーバーが必要
「読み取り負荷(Read-heavy)の分散」 リードレプリカ 参照専用コピーの増設
「最小限のダウンタイムで障害復旧」 Multi-AZ 自動フェイルオーバー機能

4. ひっかけポイント

  • Multi-AZは性能向上ではない: スタンバイ機にはアクセスできないため、読み取り速度は上がらない。むしろ同期複製の分、わずかに書き込みが遅くなる場合がある。
  • リードレプリカは自動フェイルオーバーではない: 通常のRDSでは、メインが壊れてもレプリカが自動でメインに代わることはない(Auroraは別)。
  • クロスリージョンレプリカ: 別のリージョンにレプリカを作ることで、災害復旧(DR)対策としても利用できる。

5. 覚え方

  • 「Multi-AZは身代わり、レプリカは分身」。
  • 本体が倒れたら身代わり(スタンバイ)が立ち上がる。仕事が多すぎたら分身(レプリカ)を作って手伝わせるイメージ。

6. 関連サービス

サービス名 関連する理由
RDS Proxy フェイルオーバー時のコネクション維持を助け、復旧をさらに速める。
Aurora Multi-AZとレプリカのいいとこ取りをしたAWS独自の高性能DB。
ElastiCache リードレプリカを増やす前に検討すべき、読み取り負荷軽減の手段。

7. Obsidian管理メモ

  • 復習ポイント: 「同期か非同期か」「自動フェイルオーバーがあるかないか」の表を脳内に叩き込む。
  • 関連ノート: RDSとAuroraの徹底比較

8. HTMLファイル名

rds-multi-az-vs-read-replica.html

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次