Q30 — AWS SAA-C03 第8章

第 30/65 問 | ← 第8章

Q525. ソーシャルメディア企業が、Application Load Balancer(ALB)の背後に配置されたAmazon EC2インスタンス上でアプリケーションを実行しています。このALBはAmazon CloudFrontディストリビューションのオリジンです。アプリケーションでは、10億点を超える画像がAmazon S3バケットに保存されており、毎秒数千点の画像が処理されています。同社は、画像を動的にリサイズし、クライアントに適切なフォーマットで配信したいと考えています。 これらの要件を満たすソリューションのうち、運用オーバーヘッドが最も少ないものはどれですか?

正解: C. 外部の画像管理ライブラリを使用するLambda@Edge関数を作成し、画像を配信するCloudFrontのビヘイビアに関連付けます。

解説

CloudFrontには、画像の自動リサイズおよびフォーマット変換機能(CloudFront FunctionsまたはLambda@Edgeではなく、ネイティブな「CloudFront Image Resizing」機能)がありますが、これはS3を直接オリジンとする場合にのみ利用可能です。本問では、ALBがCloudFrontのオリジンとなっており、ALB経由でEC2へトラフィックがルーティングされるため、CloudFrontのネイティブ画像リサイズ機能は適用できません(この機能はS3オリジン専用です)。したがって、選択肢BおよびDは技術的に不成立です(オリジンリクエストポリシー/レスポンスヘッダーポリシーは画像変換機能を持たず、またCloudFront Image ResizingはALBオリジンでは動作しません)。選択肢AはEC2上での画像処理を意味し、スケーリング・可用性・パッチ適用などの運用負荷が高くなります。一方、選択肢CのLambda@Edgeは、CloudFrontエッジロケーションで実行され、リクエストに応じてS3から画像を取得・リサイズ・フォーマット変換して返すことが可能であり、サーバー管理不要、自動スケーリング、低運用オーバーヘッドという点で最適です。したがって、正解はCです。