Q2 — AWS SAA-C03 第4章

第 2/105 問 | ← 第4章

Q197. ある会社は、Application Load Balancer(ALB)の背後に配置されたAmazon EC2インスタンスのフリートから、動的なウェブサイトを提供しています。このウェブサイトは、世界中の顧客に対応するため、複数の言語をサポートする必要があります。現在のアーキテクチャはus-west-1リージョンで実行されており、他の地域にいるユーザーからのリクエスト遅延が高くなっています。ウェブサイトは、ユーザーの地理的位置に関係なく、迅速かつ効率的にリクエストに応答できる必要があります。ただし、同社は既存のアーキテクチャを複数のリージョンに再構築したくありません。これらの要件を満たすために、ソリューションズアーキテクトは何を行うべきでしょうか?

正解: B. ALBをオリジンとするAmazon CloudFrontディストリビューションを設定します。キャッシュ動作の設定では、Accept-Languageリクエストヘッダーに基づいてキャッシュするように設定します。

解説

このシナリオでは、動的ウェブサイト(つまり、ユーザーごとに異なるコンテンツを返す可能性のあるアプリケーション)をグローバルに低遅延で提供する必要があり、既存のus-west-1リージョン内のALB+EC2アーキテクチャを複製せずに実現しなければなりません。CloudFrontは、ALBをオリジンとして使用することで、グローバルなエッジロケーションから動的コンテンツをキャッシュ・配信でき、Accept-Languageヘッダーに基づくキャッシュキーのカスタマイズ(Cache PolicyやOrigin Request Policyによる設定)により、言語別に最適化されたレスポンスを提供できます。これは、静的S3ホスティング(選択肢A)とは異なり、動的処理能力を維持しつつ、パフォーマンスと多言語対応を両立させる最も適切なアプローチです。選択肢CはAPI Gatewayのキャッシュ機能は主にREST APIのレスポンスをキャッシュするものであり、ALB経由の動的ウェブアプリケーション全体を効果的に高速化する設計ではありません。選択肢Dは、マルチリージョン展開を回避したいという要件に反しており、運用負担も大きくなります。よって、正解はBです。