データベース

RDS Read Replica とは?読み取りスケール用の非同期レプリカ

Read Replica は RDS の読み取り専用コピー。プライマリへの書き込みを 非同期で複製 し、読み取りクエリの負荷分散や、分析用クエリ専用 DB として利用できる。Multi-AZ(HA)とは目的が異なるので混同注意。最大 5 〜 15 個のレプリカを作成可能。 ---

RDS の読み取り専用レプリカ。読み取り負荷分散・分析・別リージョン展開に使う。


1. 概要(端的に)

Read Replica は RDS の読み取り専用コピー。プライマリへの書き込みを 非同期で複製 し、読み取りクエリの負荷分散や、分析用クエリ専用 DB として利用できる。Multi-AZ(HA)とは目的が異なるので混同注意。最大 5 〜 15 個のレプリカを作成可能。


2. 何ができるか

  • 読み取りスケールアウト:複数の Read Replica へ分散
  • 分析用 DB:本番に影響を与えず重いクエリ実行
  • クロスリージョン Replica:DR・グローバル展開
  • インスタンスタイプ独立:プライマリと別タイプ可
  • 昇格可能:レプリカをスタンドアロン DB として独立

3. 特徴

観点特徴
追加料金レプリカも EC2 と同じ料金
レプリ方式非同期
レプリ遅延数秒〜数十秒
最大数RDS:5 個 / Aurora:15 個
クロスリージョン○(RDS)
クロス AZ
対応エンジンMySQL / MariaDB / Postgres / Oracle / SQL Server / Aurora

vs Multi-AZ(試験頻出)

観点Read ReplicaMulti-AZ
用途読み取りスケール・分析高可用性(HA)
レプリ非同期同期
読み取り×
自動フェイルオーバー×
別リージョン可×
推奨組合せ+ Multi-AZ単独でも可

4. 仕組み

Read Replica は プライマリ DB のトランザクションログ(binlog 等)をベースに非同期で複製される。エンジンによって複製方式が異なる。

構成要素

  • プライマリ DB:書き込み元
  • Read Replica:読み取り専用コピー
  • エンドポイント:レプリカごとに別 DNS(カスタム振り分け必要)
  • レプリ遅延:CloudWatch メトリクスで監視

動作の流れ

  1. プライマリで INSERT/UPDATE
  2. binlog(MySQL)/ WAL(Postgres)が記録
  3. レプリカが定期取得・適用
  4. レプリカで読み取り可能に(数秒〜遅延)

利用パターン

[アプリケーション]
  ├ 書き込み・整合性必須クエリ → プライマリ(writer endpoint)
  └ 読み取り・参照クエリ → Read Replica(reader endpoint or 振り分け)

→ アプリ側でクエリ種別ごとに接続先を分ける。

昇格(Promote)

  • Read Replica を 独立した RDS インスタンスへ昇格可能
  • 昇格後はレプリ停止、書き込み可能に
  • DR シナリオで「セカンダリを新本番にする」操作

Aurora Read Replica は別格

  • Aurora は同じストレージを参照するため、レプリ遅延がサブミリ秒
  • 通常の RDS Read Replica より圧倒的に高速

5. ユースケース

ユースケース 1:読み取り重い Web サイト

記事閲覧サイトなど、読み取り 90% / 書き込み 10% の場合。

ユースケース 2:分析・レポート専用

重い集計クエリを Read Replica で実行 → 本番に影響なし。

ユースケース 3:マイクロサービス分離

書き込みは本番、読み取りは別マイクロサービスから Replica へ。

ユースケース 4:DR

クロスリージョン Read Replica → 障害時に昇格して新本番。

ユースケース 5:BI ダッシュボード

分析用 BI ツール(Tableau / QuickSight)の接続先。


6. 関連用語

  • RDS — Read Replica の親
  • RDS-MultiAZ — HA との組み合わせ
  • Aurora — Aurora の Read Replica は超高速

7. 関連サイト

AWS 公式

参考


🎓 試験での出題傾向

試験重要度主な出題パターン
CLF読み取りスケールの概念
SAAMulti-AZ vs Read Replica(最頻出)、DR シナリオ
DVAアプリでの接続先振り分け
SOAレプリ遅延監視・運用