Q76 — AWS SAA-C03 第12章

第 76/100 問 | ← 第12章

Q876. ある企業が、コンテンツ管理システム(CMS)を提供するWebアプリケーションを構築しています。このCMSは、Application Load Balancer(ALB)の背後に配置されたAmazon EC2インスタンスで実行されます。EC2インスタンスは、複数の可用性ゾーンにまたがるAuto Scalingグループ内で実行されます。ユーザーは、CMSを通じてファイル、ブログ、その他のWebサイトアセットを絶えず追加・更新しています。 ソリューションアーキテクトは、すべてのEC2インスタンスが最新のWebサイトコンテンツを共有し、遅延時間を最小限に抑えるソリューションを実装する必要があります。 これらの要件を満たすソリューションはどれですか?

正解: B. WebサイトアセットをAmazon Elastic File System(Amazon EFS)ファイルシステムにコピーします。各EC2インスタンスがEFSファイルシステムをローカルにマウントするよう設定します。Webサイトホスティングアプリケーションを、EFSファイルシステム内に格納されたWebサイトアセットを参照するよう設定します。

解説

Auto Scalingグループ内のすべてのEC2インスタンスが、コンテンツ管理システムにおいて最小限の遅延で最新のWebサイトコンテンツを共有できるようにするには、以下の選択肢Bが推奨されるソリューションです: B. WebサイトアセットをAmazon Elastic File System(Amazon EFS)ファイルシステムにコピーし、各EC2インスタンスがEFSファイルシステムをローカルにマウントするよう設定します。Webサイトホスティングアプリケーションを、EFSファイルシステム内に格納されたWebサイトアセットを参照するよう設定します。 理由は以下の通りです。 選択肢Aでは、Auto Scalingグループのライフサイクルポリシーでユーザーデータを更新し、最新のEC2インスタンスからアセットをコピーするよう試みています。さらにALBを「最新インスタンスのみで変更を許可」するように設定しています。しかし、これはEC2インスタンス間でのアセットのコピーに依存しており、あるインスタンスで行われた変更を他のインスタンスへ伝播させる必要があるため、遅延が発生します。また、全インスタンス間で最新のコンテンツを効率的かつスケーラブルに共有するソリューションとは言えません。 選択肢Cでは、アセットをAmazon S3バケットに保存し、各EC2インスタンスが自身のAmazon EBSボリュームにダウンロードするよう設定しています。この方法は機能しますが、ファイルの同期を手動で管理する必要があり、1時間ごとのS3 syncコマンド実行という周期的な処理に依存しています。これにより、すべてのインスタンスへの更新反映に遅延が生じ、特に1時間という頻度ではコンテンツの古さ(lag)が顕著になります。 選択肢Dでは、Webサイトアセットを含むEBSスナップショットを復元し、新規EC2インスタンス起動時にセカンダリEBSボリュームとしてアタッチする方法を提案しています。確かにアセットの共有は可能ですが、コンテンツが更新されるたびに新しいEBSスナップショットを作成する必要があり、スナップショットの管理やボリュームのアタッチ作業は複雑で、多数のインスタンス間での効率的なコンテンツ共有には不向きです。 一方、選択肢Bでは、Amazon EFSファイルシステムを活用します。Amazon EFSは、完全マネージド型・スケーラブル・マルチインスタンス共有可能なファイルシステムであり、複数のEC2インスタンスから同時にマウントおよびアクセスできます。各EC2インスタンスは、共有EFSファイルシステム上に直接アクセスしてコンテンツを提供できるため、すべてのインスタンスが常に最新のコンテンツに即座にアクセス可能です。あるインスタンスで行った変更は、他のインスタンスにも即時反映され、手動による同期やスナップショット管理の必要がありません。 まとめると、Auto Scalingグループ内のすべてのEC2インスタンスで最新のWebサイトコンテンツを最小限の遅延で共有するには、アセットをAmazon EFSファイルシステムに配置する(選択肢B)が最も適したソリューションです。このアプローチは、各インスタンスが共有ファイルシステムをマウントすることで、スケーラビリティとリアルタイム性を両立させます。