Q56 — AWS SAA-C03 第11章
第 56/100 問 | ← 第11章
Q756. あるスタートアップ企業が、顧客向けのWebサイトをAmazon EC2インスタンス上でホストしています。このWebサイトは、ステートレスなPythonアプリケーションとMySQLデータベースで構成されています。現在のトラフィック量はごくわずかです。同社は、EC2インスタンスの信頼性に懸念を抱いており、高可用性(High Availability)アーキテクチャへの移行を検討しています。ただし、アプリケーションコードを変更することはできません。Webサイトの高可用性を実現するために、ソリューションズアーキテクトが実施すべきアクションの組み合わせはどれですか?(2つ選択してください。)
- A. 使用中の各可用性ゾーン(Availability Zone)にインターネットゲートウェイをプロビジョニングする。
- B. データベースをAmazon RDS for MySQLのMulti-AZ DBインスタンスに移行する。 ✓
- C. データベースをAmazon DynamoDBに移行し、DynamoDB Auto Scalingを有効化する。
- D. AWS DataSyncを使用して、複数のEC2インスタンス間でデータベースのデータを同期する。
- E. Application Load Balancerを作成し、2つの可用性ゾーンにまたがって展開されたEC2インスタンスのAuto Scalingグループにトラフィックを分散させる。 ✓
正解: B. データベースをAmazon RDS for MySQLのMulti-AZ DBインスタンスに移行する。, E. Application Load Balancerを作成し、2つの可用性ゾーンにまたがって展開されたEC2インスタンスのAuto Scalingグループにトラフィックを分散させる。
解説
アプリケーションコードを変更できないという制約のもとで、ステートレスなPythonアプリケーションとMySQLデータベースから構成されるWebサイトの高可用性を実現するには、以下の2つのアクションを実施すべきです。 選択肢B:データベースをAmazon RDS for MySQLのMulti-AZ DBインスタンスに移行する。 Amazon RDSのMulti-AZ構成では、AWSが自動的に別の可用性ゾーンにスタンバイDBインスタンスをレプリケートします。これにより、プライマリDBインスタンスの障害発生時に自動フェイルオーバーが行われ、ダウンタイムを最小限に抑え、Webサイトの信頼性と可用性が向上します。 選択肢E:Application Load Balancer(ALB)を作成し、2つの可用性ゾーンにまたがって展開されたEC2インスタンスのAuto Scalingグループにトラフィックを分散させる。 ALBとAuto Scalingグループを組み合わせることで、トラフィックの負荷分散と、需要に応じた自動的なスケーリングが可能になります。複数の可用性ゾーンにEC2インスタンスを分散配置することで、単一障害点(SPOF)を排除し、Webサイト全体の高可用性を確保できます。 一方、他の選択肢は本シナリオにおいて適切ではありません。 選択肢A:インターネットゲートウェイはVPC内のインスタンスとインターネット間の通信を可能にしますが、Webサイトの高可用性を直接実現するものではありません。 選択肢C:DynamoDBはNoSQLデータベースであり、MySQLからDynamoDBへの移行にはアプリケーションコードの大幅な変更が必要です。これは問題文の「アプリケーションコードを変更できない」という要件に反します。 選択肢D:AWS DataSyncはデータ転送サービスであり、データ同期には利用可能ですが、Webサイトの高可用性を実現するためのメカニズム(例:フェイルオーバー、ロードバランシング、自動復旧など)を提供しません。 したがって、Webサイトの高可用性を実現する最も適切なアクションの組み合わせは、選択肢B(データベースをAmazon RDS for MySQL Multi-AZに移行)と選択肢E(Application Load Balancer+2可用性ゾーンに跨るAuto Scalingグループの構築)です。