Q28 — AWS SAA-C03 第2章

第 28/65 問 | ← 第2章

Q93. アプリケーション開発チームが、大規模な画像を小さな圧縮画像に変換するマイクロサービスを設計しています。ユーザーがWebインターフェイスを通じて画像をアップロードすると、このマイクロサービスはその画像をAmazon S3バケットに保存し、AWS Lambda関数で画像を処理・圧縮した後、圧縮済みの画像を別のS3バケットに保存する必要があります。ソリューションアーキテクトは、耐久性があり、ステートレスなコンポーネントを用いて画像を自動的に処理するソリューションを設計する必要があります。これらの要件を満たすアクションの組み合わせはどれですか?(2つ選択)

正解: A. Amazon Simple Queue Service (Amazon SQS) キューを作成します。S3バケットを設定して、画像がS3バケットにアップロードされたときにSQSキューへ通知を送信するようにします。, B. Lambda関数を、Amazon Simple Queue Service (Amazon SQS) キューを呼び出し元として設定します。SQSメッセージが正常に処理された後、キュー内の該当メッセージを削除します。

解説

要件は「耐久性があり、ステートレスなコンポーネント」による自動処理です。S3イベント通知は直接Lambdaを呼び出せますが、大量の画像処理や一時的なLambdaのスロットリング・タイムアウトに対応するため、SQSを中間キューとして利用することで、処理の耐久性(再試行・デッドレターキュー対応)とステートレス性を確保できます(AとB)。CはLambdaが状態(メモリ上のテキストファイル)を保持するためステートフルであり、またLambdaの実行時間制限や再起動時にデータが失われるため不適切です。DはEC2インスタンスがステートフルかつ可用性・スケーラビリティに劣り、要件に反します。EはSNS通知を人手による後続処理に依存しており、自動処理を満たさず、またSNSはイベント配信の保証が「最大1回」であるため、処理の耐久性が不足します。