Q40 — AWS SAP-C02 第2章

第 40/75 問 | ← 第2章

Q190. ある企業が、オンプレミス環境で3層構成のWebアプリケーションをホスティングしています。最近のトラフィック急増によりダウンタイムが発生し、多額の財務的損失を被ったため、経営陣はこのアプリケーションをAWSに移行するよう指示しました。アプリケーションは.NETで記述されており、MySQLデータベースに依存しています。ソリューションアーキテクトは、1日20万ユーザーという需要に対応できる、スケーラブルかつ高可用性のソリューションを設計しなければなりません。 適切なソリューションを設計するために、ソリューションアーキテクトが取るべき手順はどれですか?

正解: B. AWS CloudFormation を使用して、3つの可用性ゾーンにまたがるAmazon EC2 Auto Scalingグループの前にApplication Load Balancer(ALB)を配置したスタックを起動します。このスタックは、削除ポリシーとして「Retain(保持)」を指定したAmazon Aurora MySQL DBクラスターのMulti-AZ展開も起動します。会社のドメインからALBへトラフィックをルーティングするために、Amazon Route 53のエイリアスレコードを使用します。

解説

選択肢Bが、MySQLデータベースに依存する3層構成Webアプリケーション向けに、スケーラブルかつ高可用性のソリューションを設計するという要件を最も適切に満たす解決策です。 AWS CloudFormationを用いて、3つの可用性ゾーンにまたがるAmazon EC2 Auto Scalingグループの前にApplication Load Balancer(ALB)を配置するスタックを起動することで、Webサーバー層の高可用性とスケーラビリティが確保されます。また、「Retain」削除ポリシーを指定したAmazon Aurora MySQL DBクラスターのMulti-AZ展開により、データベース層の高可用性と耐久性が実現されます。さらに、Amazon Route 53のエイリアスレコードを用いて、会社のドメインからALBへトラフィックをルーティングすることで、Webサーバーへの効率的なトラフィック配信が可能になります。 選択肢Aは、データの保護と常時可用性を保証するための耐久性のあるデータベースソリューションを含んでおらず、これは極めて重要です。Elastic Beanstalkの利用は可能ですが、RDS Multi-AZやAuroraといったより堅牢なデータベースソリューションと組み合わせる必要があります。 選択肢Cは、2つのリージョンを利用するため、大規模運用における予期せぬ複雑さを招く可能性があります。また、クロスリージョン読み取り専用レプリカの導入は追加のレイテンシーを引き起こし、パフォーマンスに悪影響を及ぼす可能性があります。 選択肢Dは、Webサーバー層にECSおよびスポットインスタンスを採用していますが、.NETアプリケーションには必ずしも最適ではなく、追加の複雑さを招く可能性があります。さらに、削除ポリシーが「Snapshot」のRDSインスタンスは、Multi-AZ展開と比べて耐久性・可用性の水準が低くなります。 総合的に見て、選択肢Bは、Aurora Multi-AZによる高可用性・耐久性の高いデータベースソリューションと、ALB+EC2 Auto ScalingグループによるWebサーバー層の高可用性・スケーラビリティを両立させ、最も堅牢かつ適切なソリューションを提供します。