Q78 — AWS SOA-C02 第1章
第 78/100 問 | ← 第1章
SysOps管理者は、Amazon S3バケットをウェブアプリケーションのホスティングに設定する必要があります。SysOps管理者はS3バケットを作成し、ウェブアプリケーションの静的ファイルをS3バケットにコピーしました。 企業の方針では、すべてのS3バケットは公開してはいけません。 これらの要件を満たすために、SysOps管理者は何を行うべきですか?
- A. Amazon CloudFrontディストリビューションを作成します。S3バケットをオリジンとして設定し、オリジンアクセスアイデンティティ(OAI)を指定します。S3バケットポリシーでOAIにs3:GetObject権限を付与します。 ✓
- B. S3バケットで静的ウェブサイトホスティングを設定します。Amazon Route 53を使用して、S3ウェブサイトエンドポイントを指すDNS CNAMEを作成します。
- C. Application Load Balancer(ALB)を作成します。ALBリスナー構成でプロトコルをHTTPSに変更し、トラフィックをS3バケットに転送します。
- D. AWS Global Acceleratorでアクセラレータを作成します。ポート443向けのリスナー構成を設定し、エンドポイントタイプをS3バケットへの転送に設定します。
正解: A. Amazon CloudFrontディストリビューションを作成します。S3バケットをオリジンとして設定し、オリジンアクセスアイデンティティ(OAI)を指定します。S3バケットポリシーでOAIにs3:GetObject権限を付与します。
解説
この問題は、CloudFrontのオリジンアクセスアイデンティティ(OAI)を用いて、非公開のS3バケットに安全にアクセスする方法を問うものです。AWS公式アーキテクチャベストプラクティスでは、OAIはCloudFrontがユーザーに代わって制限付きS3コンテンツにアクセスできるようにする仮想的なIDであり、ストレージバケットを公開する必要はありません。選択肢BでS3静的ウェブサイトホスティングを有効化すると、バケットを公開する必要があり、問題文の要件に違反します。選択肢CおよびDは他のサービスを活用していますが、権限の問題を解決していません。選択肢AはOAIを生成し、そのIDのみがオブジェクトを読み取ることを許可するポリシーと組み合わせることで、S3を非公開に保ちながらコンテンツ配信を実現します。これはAWS S3のセキュリティベストプラクティスに準拠しています。