Tech Starlog

AWS SAA 試験勉強(17日目)

投稿日:2026/03/17

  • AWS SAAでは、単にDBの種類を知っているだけでなく、「データ構造」「アクセス頻度」「コスト」「可用性」の観点から最適な設計を選ぶ力が試されます。

1. RDB vs NoSQL の決定的な判断基準

試験問題の最初の分岐点は「関係型(RDS/Aurora)」か「非関係型(DynamoDB)」かを見極めることです。

RDS / Aurora(関係型)を選ぶべきケース

  • 複雑なクエリ: 複数のテーブルを JOIN して結合する必要がある。
  • トランザクション(ACID): 銀行振込のように、複数の書き込みが「すべて成功か失敗か」を保証する必要がある。
  • 既存移行: オンプレミスの MySQL や PostgreSQL からの移行。

DynamoDB(NoSQL)を選ぶべきケース

  • 超高スループット: 1秒間に数万件の読み書きが発生する。
  • シングル桁ミリ秒の応答: どんなデータ量でも一定の高速レスポンスが求められる。
  • スキーマレス: データの構造が頻繁に変わる、または単純な Key-Value 形式。
  • サーバーレス: サーバー管理を一切せず、自動スケーリングさせたい。

2. RDS/Aurora の高可用性とパフォーマンス設計

高可用性:Multi-AZ 構成

  • 用途: 障害復旧(ディザスタリカバリ)。
  • 仕組み: スタンバイ機が別 AZ で待機し、メイン機が故障すると自動で切り替わる(同期レプリケーション)。

読み取り負荷分散:リードレプリカ

  • 用途: 読み取り(Read)性能の向上。
  • 仕組み: 非同期レプリケーション。最大 15 台(Aurora の場合)まで増やして、参照用クエリを分散させる。
  • 注意: 可用性向上(自動フェイルオーバー)が目的の場合はリードレプリカではなく Multi-AZ を優先します。

3. キャッシュを活用した高速化パターン

データベース本体に負荷をかけず、ミリ秒以下のレスポンスを実現する手法です。

ElastiCache (Redis / Memcached)

  • RDS の前段に配置: 頻繁に参照されるクエリ結果をメモリ上に保存。
  • 用途: セッション情報の管理、ランキング、頻繁に変わらない商品情報など。

DynamoDB Accelerator (DAX)

  • DynamoDB 専用キャッシュ: DynamoDB の前に置くことで、応答時間をミリ秒から マイクロ秒 に短縮。
  • 用途: 読み取り集中型のアプリケーション(例:リアルタイムの入札システム)。

4. 特殊な用途のデータベース

試験の選択肢として「特定のキーワード」に反応できるようにしておきましょう。

  • Amazon Redshift: データウェアハウス(DWH)。大量データの複雑な「分析・集計」用。
  • Amazon Neptune: グラフデータベース。SNSの友人関係や不正検知など、複雑な「繋がり」を管理。
  • Amazon DocumentDB: MongoDB 互換のドキュメントデータベース。
  • Amazon Timestream: 時系列データベース。IoTデバイスのログや株価など、時間とともに増え続けるデータ。

5. ストレージの自動拡張とコスト最適化

Aurora Serverless

  • キーワード: 「アクセス予測が困難」「開発環境などで夜間は停止したい」。
  • 負荷に応じて DB の容量(ACU)が自動で増減し、使っていない時はゼロ(一時停止)にすることも可能。

RDS Proxy

  • キーワード: 「Lambda からの大量接続」。
  • Lambda は起動・終了が激しいため、DB へのコネクションを使い切ってしまうことがあります。Proxy を挟むことでコネクションを効率よくプールします。

試験での「判断基準」チェックリスト

  1. 「JOINが必要な複雑な分析クエリを実行したい」
    • 回答:Amazon RDS または Aurora
  2. 「世界中の数百万人のユーザーから、ミリ秒以下の遅延でアクセスさせたい」
    • 回答:DynamoDB(+ グローバルテーブル)
  3. 「既存の MySQL から移行し、運用負荷を最小限に、かつ最高性能を出したい」
    • 回答:Amazon Aurora
  4. 「数テラバイトのログデータを集計・分析してレポートを作成したい」
    • 回答:Amazon Redshift
  5. 「Lambda から DB への接続が多すぎてエラーになるのを防ぎたい」
    • 回答:Amazon RDS Proxy

まとめ(17日目の振り返り)

  • データベースの選定は「データの形」と「使い道」で決まります。
  • 特に 「可用性なら Multi-AZ」「読み取り性能ならリードレプリカ / ElastiCache」「極限のスケールなら DynamoDB」 という公式は、SAA試験で確実に得点するための強力な武器になります。