AWS SAA(Solutions Architect – Associate)で頻出の
「RDS パフォーマンス問題(読み取りスケール + 書き込み最適化)」
に関する典型問題です。
この問題は、
ピーク時にCPUが高騰し、読み取りが原因で書き込みまで遅くなる
という データベースの典型的ボトルネックをどう解決するかが問われています。
早速問題を見ていきましょう
【問題】
B社の開発グループではAWSで構築しているアプリケーションで負荷テストを行っています。Amazon RDS MySQL DBインスタンスの運用テストを実施したところ、通常時は一定の処理負荷を安定的に処理できましたが、ピーク時の処理負荷が高まることで70%のCPU使用率に達してしまいアプリケーションは応答しなくなることが分かりました。ピーク時には読み取り処理が多発してしまうことで、書き込み処理も含めた全体のトランザクションのレイテンシーが高まっているようです。また、書き込み処理のパフォーマンスも予定より低くなっています。
この問題を解決するためにデータ層を拡張する最適な方法はどれですか。(2つ選択してください)
選択肢
- Amazon RDS DBインスタンスにAuto Scalingグループを設定し、CloudWatchによってCPU平均使用率を監視して、閾値に応じてスケーリングを行う。
- Amazon RDS DBインスタンスにリードレプリカを追加して、アプリケーションの読み込み負荷を分散する。
- Amazon RDSのOptimized Writesが利用できるMySQLバージョンに変更して、Optimized Writesを適用して書き込み処理を高速化する。
- RDS DBインスタンスに対してマルチAZ構成を有効にする。
- Amazon RDSをAuroraサーバレス MySQLに変更して、ピーク時にオートスケーリングできるようにする
ここから先は 正解と解説 です。
まずは 読み取り負荷と書き込み性能を分けて考えることが重要です。
【正解】
✅ Amazon RDS リードレプリカを追加して読み取り負荷を分散する
✅ RDS MySQL の Optimized Writes を利用して書き込み処理を高速化する
読み込み
ユーザー ───────────────▶ Read Replica
│
│ 書き込み
▼
RDS MySQL
(Primary)
│
└ Optimized Writesリードレプリカイメージ

Optimized Writesイメージ

① 読み取り負荷が高い
👉 リードレプリカ
RDS リードレプリカは
- 読み取り専用DB
- 非同期レプリケーション
- 読み込み専用トラフィックを分散
できます。
これにより
- CPU負荷低減
- トランザクション遅延改善
が可能になります。
② 書き込みパフォーマンスが低い
👉 Optimized Writes
Amazon RDS MySQL の
Optimized Writes
は書き込み性能を改善する機能です。
効果
- 書き込みスループット 最大2倍
- I/O削減
- レイテンシー低下
❌ なぜ他の選択肢は不正解?
❌ RDS Auto Scaling
RDS の Auto Scaling は
👉 ストレージ容量のみ
です。
CPU負荷や処理性能はスケールしません。
❌ マルチAZ
マルチAZの目的
- 高可用性
- フェイルオーバー
性能改善ではありません。
❌ Aurora Serverless
Aurora Serverless は
- 不規則トラフィック
- 開発環境
- バッチ系
向けです。
今回の問題は
- 常時トラフィックあり
- ピークが存在
なので最適ではありません。
🎯 試験での見抜き方(超重要)
問題文に次が出たら即反応してください。
| 問題文キーワード | 選ぶサービス |
|---|---|
| 読み取り負荷 | Read Replica |
| CPU高騰 | Read Replica |
| 書き込み遅い | Optimized Writes |
| 冗長化 | Multi-AZ |
| 容量不足 | Storage Auto Scaling |
👉 読み取り問題 → Read Replica
RDSスケール方法まとめ(試験頻出)
| 方法 | 用途 |
|---|---|
| Read Replica | 読み取りスケール |
| Multi-AZ | 高可用性 |
| Instanceサイズ変更 | 縦スケール |
| Aurora | 高性能DB |
| Optimized Writes | 書き込み高速化 |
まとめ(試験用一文)
RDS MySQL の読み取り負荷にはリードレプリカ、書き込み性能には Optimized Writes を利用することで、データ層のスケーラビリティとパフォーマンスを改善できる。
この問題は
「読み取りと書き込みを分離する」
という データベース設計の基本原則を理解しているかを問う問題です。
このパターンを覚えておけば
- RDS
- Aurora
- DynamoDB
などの データベース問題の多くが解けるようになります。
ここまで読んでいただき、ありがとうございます。もしこの記事の技術や考え方に少しでも興味を持っていただけたら、ネクストのエンジニアと気軽に話してみませんか。
- 選考ではありません
- 履歴書不要
- 技術の話が中心
- 所要時間30分程度
- オンラインOK