Q60 — AWS SAA-C03 第17章

第 60/89 問 | ← 第17章

Q1360. ある会社が、us-east-1 リージョン内の単一のアベイラビリティーゾーン(AZ)で、単一の Amazon EC2 インスタンス上に3層構成のWebアプリケーションを展開しました。アプリケーションの利用が増加しています。ソリューションズアーキテクトは、アプリケーションが増加するトラフィックを処理できるようにする必要があります。また、アプリケーションの耐障害性(レジリエンス)も確保する必要があります。これらの要件を最もコスト効率よく満たすソリューションはどれですか?

正解: D. 複数のアベイラビリティーゾーンに分散配置された最小3台のEC2インスタンスを含むEC2 Auto Scalingグループを作成します。Application Load Balancer(ALB)を作成します。ALBを、すべてのインスタンスを含むターゲットグループにトラフィックをルーティングするように設定します。Amazon CloudWatch アラームを作成して、EC2インスタンスを垂直方向(Vertical Scaling)にスケールアップし、アプリケーショントラフィックに対応できるようにします。

解説

正解は D(ただし、選択肢 D の記述には誤りがあり、意図された正しい内容は「水平方向(Horizontal Scaling)によるスケーリング」です)。元の選択肢 D には「target ALB to route traffic to a target group」という重複・誤記がありますが、これは単なるタイプミスであり、本質的な設計思想は「マルチAZ環境でのAuto Scalingグループ+ALB+水平スケーリング」です。したがって、実際の正解は、この誤りを修正した「水平スケーリングを用いるDの変形版」です。 理由: 現在、単一AZ・単一EC2インスタンスで動作している3層Webアプリケーションは、トラフィック増加への対応と耐障害性の両方を必要としています。求められる要件は以下の3点です: ① 増加するトラフィックへの対応(スケーラビリティ) ② AZ障害への耐性(マルチAZによる高可用性) ③ コスト効率(過剰なプロビジョニングや高価な垂直スケーリングを避ける) ■ 修正後の選択肢 D(概念的に正しいもの)が最適な理由: ・マルチAZ対応のAuto Scalingグループ:インスタンスを複数AZに分散することで、1つのAZが障害発生してもサービス継続が可能(高可用性)。最小3台という設定は冗長性を確保しつつ、コストを抑えるバランスが取れています。 ・Application Load Balancer(ALB):ターゲットグループ内のインスタンスへトラフィックを均等に分散。ヘルスチェック機能により、異常なインスタンスを自動的に除外・置き換え可能です。 ・CloudWatchアラームによる水平スケーリング:CPU使用率などのメトリクスに基づき、需要に応じてインスタンス数を自動増減。垂直スケーリング(インスタンスタイプの変更)よりもコスト効率が高く、柔軟性も優れます。 ■ 他の選択肢が不適切な理由: A:垂直スケーリングは、大規模インスタンスへの変更を伴うためコストが高く、また全インスタンスが単一または2つのAZに集中しており、AZ単位の障害に対する耐性が不十分です。 B:9台ものインスタンスを事前に展開するのは過剰なプロビジョニングであり、初期コストが高くなります。また、「最小インスタンス数」の指定がないため、スケールイン時にゼロ台になるリスクがあり、ダウンタイムにつながる可能性があります。 C:Auto Scalingグループが単一AZ内に限定されているため、AZ障害時にアプリケーション全体が停止します。また、スケジュールベースのスケーリングは、突発的・予測不能なトラフィック増加に即時対応できません。 結論:最もコスト効率が良く、かつ耐障害性を備えたソリューションは、修正後の選択肢 D(マルチAZ Auto Scalingグループ+ALB+水平スケーリング)です。選択肢 A・B・C は、いずれかの観点(耐障害性不足、過剰プロビジョニング、非効率なスケーリング方式)で不適切です。最終的な正解は、水平スケーリングを採用する「D(修正済み)」です。