SAA-C03弾力性に優れたアーキテクチャの設計MEDIUM単一選択

ある企業が、ALB + EC2 Auto Scaling グループで Web アプリケーションを運用している。現在は単一の AZ にリソースが集中しており、その AZ で障害が発生した際に約 30 分間サービスが停止する問題が発生した。RTO(目標復旧時間)を 5 分以内に改善したい。最も適切な改善策はどれか。

  1. A. EC2 インスタンスのスナップショットを毎時取得し、障害発生時に別の AZ でスナップショットから起動する。
  2. B. Auto Scaling グループを複数の AZ(最低 2 AZ)にまたがって設定し、各 AZ に最低 1 台のインスタンスを維持する。ALB も複数 AZ に対応させる。
  3. C. Amazon Route 53 のフェイルオーバールーティングを使って、プライマリと別リージョンのセカンダリを切り替える。
  4. D. 現在の AZ 内でスペアの EC2 インスタンスを事前にプロビジョニングし、障害時に手動で切り替える。
解答と解説を見る

正解: B

Auto Scaling グループを複数 AZ に設定することで、1 つの AZ で障害が発生しても他の AZ のインスタンスがトラフィックを受け取り続ける。ALB は自動的に利用可能な AZ のターゲットのみにトラフィックをルーティングするため、切り替えは自動で数秒〜数分以内に完了し、RTO 5 分以内の要件を満たせる。これは AWS の基本的な高可用性設計パターンである。選択肢Dの手動切り替えは 30 分の RTO が改善されず、人的対応に依存するため RTO 5 分以内を保証できない。選択肢CのRoute 53 フェイルオーバーは別リージョンへの切り替えで、より長距離・長時間のフェイルオーバーに使う手段であり、単一 AZ 障害への対応としては過剰で切り替え時間も長くなる。選択肢Aのスナップショットからの起動は数十分かかるため RTO 5 分以内の要件を満たさない。

▸ この試験を本気で演習する(全150問・無料)