Q50 — AWS SAA-C03 第7章

第 50/65 問 | ← 第7章

Q480. ある企業が、Application Load Balancer の背後に配置された Amazon EC2 インスタンス上で重要なビジネスアプリケーションを実行しています。EC2 インスタンスは Auto Scaling グループ内で動作しており、Amazon RDS DB インスタンスにアクセスしています。この設計は運用レビューを通過できませんでした。理由は、EC2 インスタンスと DB インスタンスのすべてが単一の Availability Zone 内に配置されていたためです。ソリューションアーキテクトは、この設計を第2の Availability Zone を使用するように更新する必要があります。 このアプリケーションを高可用性(Highly Available)にするには、どのソリューションが適切ですか?

正解: C. 各 Availability Zone にサブネットを1つずつプロビジョニングします。Auto Scaling グループを設定して、EC2 インスタンスを両方の Availability Zone に分散させます。DB インスタンスを Multi-AZ 対応のデプロイメントで設定します。

解説

AWS のベストプラクティスでは、高可用性を実現するには、アプリケーション層(EC2 + Auto Scaling)およびデータベース層(RDS)の両方を複数の Availability Zone にまたがって展開する必要があります。まず、サブネットは各 Availability Zone ごとに個別に作成する必要があります(Availability Zone にまたがるサブネットは存在しません)。したがって、選択肢 B および D の「Availability Zone にまたがるサブネット」は技術的に不正であり、排除されます。次に、RDS の高可用性を実現するには、Multi-AZ デプロイメント(スタンバイレプリカを別の AZ に自動配置)を有効化することが必須です。選択肢 A では DB を「各ネットワークへ接続可能」とするだけですが、これは単なるネットワーク接続設定であり、障害時の自動フェイルオーバーを保証しません。一方、選択肢 C は、各 AZ にサブネットを1つずつ作成し、Auto Scaling グループを両 AZ に分散させ、さらに RDS を Multi-AZ でデプロイするという、完全に正しいアプローチです。