Q33 — AWS SAA-C03 第9章
第 33/40 問 | ← 第9章
Q593. ソーシャルメディア企業が、AWS クラウド上でホストされているアプリケーションを通じてユーザーが画像をアップロードできるようにしたいと考えています。同社は、複数のデバイスタイプで表示可能なよう、画像を自動的にリサイズするソリューションを必要としています。アプリケーションは1日のうちに予測不可能なトラフィックパターンを示します。また、同社は、高い可用性と最大限のスケーラビリティを実現するソリューションを求めています。これらの要件を満たすために、ソリューションアーキテクトは何を行うべきでしょうか?
- A. Amazon S3 でホストされる静的ウェブサイトを作成し、AWS Lambda 関数を呼び出して画像をリサイズし、リサイズ後の画像を Amazon S3 バケットに保存する。 ✓
- B. Amazon CloudFront でホストされる静的ウェブサイトを作成し、AWS Step Functions を呼び出して画像をリサイズし、リサイズ後の画像を Amazon RDS データベースに保存する。
- C. Amazon EC2 インスタンス上で動作するウェブサーバーでホストされる動的ウェブサイトを作成し、EC2 インスタンス上で実行されるプロセスを設定して画像をリサイズし、リサイズ後の画像を Amazon S3 バケットに保存する。
- D. 自動スケーリング機能を持つ Amazon Elastic Container Service (Amazon ECS) クラスターでホストされる動的ウェブサイトを作成し、Amazon Simple Queue Service (Amazon SQS) にリサイズジョブを作成する。さらに、Amazon EC2 インスタンス上で実行される画像リサイズプログラムをセットアップして、これらのリサイズジョブを処理する。
正解: A. Amazon S3 でホストされる静的ウェブサイトを作成し、AWS Lambda 関数を呼び出して画像をリサイズし、リサイズ後の画像を Amazon S3 バケットに保存する。
解説
要件には「予測不可能なトラフィックへの対応」「高い可用性」「最大限のスケーラビリティ」が含まれており、これにはサーバーレスかつイベント駆動型のアーキテクチャが最適です。選択肢 A では、Amazon S3 の静的ウェブサイト(低コスト・高可用)+AWS Lambda(トラフィック変動に即時対応可能・スケーラブル・サーバーレス)+Amazon S3(耐久性・可用性の高いストレージ)という組み合わせにより、すべての要件を満たします。選択肢 B は、Step Functions はワークフロー管理に適していますが、単一の画像リサイズタスクには過剰であり、RDS は画像ストレージに不適(BLOB 対応は可能ですが、コスト・パフォーマンス・可用性の観点で S3 が標準)。選択肢 C は EC2 依存のためスケーラビリティと可用性に制限があり、トラフィック急増時の対応が困難です。選択肢 D はコンテナと SQS を用いた分散処理ですが、EC2 上のリサイズプログラムはスケーリングや可用性の管理負荷が大きく、Lambda のようなネイティブなサーバーレス処理より複雑で冗長です。したがって、最も適切なのは選択肢 A です。