Q19 — AWS SAA-C03 第8章
第 19/65 問 | ← 第8章
Q514. ある企業が、Amazon Simple Queue Service(Amazon SQS)を使用してメッセージを処理するJavaアプリケーションを運用しています。このアプリケーションは、サイズが256 KBを超えるメッセージを処理できません。同社は、最大50 MBのメッセージを処理できるようにするソリューションを実装したいと考えています。コードへの変更を最小限に抑えつつ、この要件を満たすソリューションはどれですか?
- A. Amazon SQS Extended Client Library for Java を使用して、256 KBを超えるメッセージを Amazon S3 に保存します。 ✓
- B. Amazon SQS の代わりに、アプリケーションから大規模なメッセージを Amazon EventBridge に送信するようにします。
- C. Amazon SQS のメッセージサイズ制限を変更して、256 KBを超えるメッセージを処理できるようにします。
- D. 256 KBを超えるメッセージを Amazon Elastic File System(Amazon EFS)に保存し、Amazon SQS がメッセージ内でこの場所を参照するように設定します。
正解: A. Amazon SQS Extended Client Library for Java を使用して、256 KBを超えるメッセージを Amazon S3 に保存します。
解説
Amazon SQS の標準的なメッセージサイズ上限は 256 KB であり、これはサービス側で固定されており、ユーザーが変更することはできません(選択肢 C は不正)。Amazon EventBridge はイベントバス型のサービスであり、大容量メッセージのキューイングや順序保証、可視性タイムアウトなどの SQS 固有の機能を提供しないため、置き換えにはアプリケーションロジックの大幅な変更が必要です(選択肢 B は不適)。Amazon EFS はネットワークファイルシステムであり、SQS メッセージ内にファイルパスを埋め込むことは技術的に可能ですが、EFS は低レイテンシなメッセージ参照用ではなく、また可用性・耐障害性・スケーラビリティの観点から SQS と統合された設計ではありません(選択肢 D は非推奨)。一方、Amazon SQS Extended Client Library for Java は、AWS が公式に提供するライブラリで、256 KB を超えるペイロードを自動的に Amazon S3 に保存し、SQS メッセージ本体にはその S3 オブジェクトの参照(メタデータ)のみを格納します。アプリケーション側では、従来通り SQS API を呼び出すだけで、ライブラリが裏で S3 との連携を処理してくれます。したがって、コード変更が最小限で、50 MB までのメッセージ処理が可能になります(選択肢 A が正解)。