Q84 — AWS SAA-C03 第14章
第 84/100 問 | ← 第14章
Q1084. ある会社では、Amazon EC2インスタンス上でスクリプトを実行し、Amazon Simple Queue Service(Amazon SQS)キュー内のメッセージをポーリングして処理しています。この会社は、キューに追加されるメッセージ数の増加にも対応しつつ、運用上のオーバーヘッドを削減したいと考えています。 これらの要件を満たすソリューションはどれですか?
- A. SQSキュー内のメッセージをより高速に処理できるよう、EC2インスタンスのサイズを大きくします。
- B. SQSキューが空になったときにEC2インスタンスを停止するよう、Amazon EventBridgeルールを設定します。
- C. EC2インスタンス上で実行しているスクリプトを、SQSキューをイベントソースとするAWS Lambda関数に移行します。 ✓
- D. AWS Systems Manager Run Commandを設定し、必要に応じてスクリプトを実行できるようにします。
正解: C. EC2インスタンス上で実行しているスクリプトを、SQSキューをイベントソースとするAWS Lambda関数に移行します。
解説
SQSキュー内のメッセージ数の増加にも対応しつつ、運用上のオーバーヘッドを削減するための最適なソリューションを判断するため、各選択肢を検討します。 A:EC2インスタンスのサイズを大きくすることで、メッセージ処理速度の向上は見込めますが、運用上のオーバーヘッド低減には寄与しません。EC2インスタンスの管理・スケーリングには、モニタリング、スケーリングポリシーの設定、スケーリング時のダウンタイム対応など、複雑な作業が伴います。 B:キューが空のときにEC2インスタンスを停止することでコスト削減は可能ですが、スケーラビリティの課題は解決しません。再びメッセージが流入した際にはインスタンスの起動が必要となり、レイテンシと運用負荷が発生します。 C:EC2インスタンス上のスクリプトを、SQSキューをイベントソースとするAWS Lambda関数に移行する方法が最も適しています。AWS Lambdaは着信メッセージ数に応じて自動的にスケーリングされ、サーバー管理の必要がなく、SQSメッセージから直接トリガーできます。これにより、運用オーバーヘッドが大幅に削減され、メッセージ数の増加にもシームレスに対応可能です。 D:Systems Manager Run Commandは、EC2インスタンスに対して随時コマンドやスクリプトを実行する用途に適しており、自動スケーリングや運用負荷の軽減といった本問の要件を満たしません。 以上より、最も適切な選択肢は以下の通りです。 C. EC2インスタンス上で実行しているスクリプトを、SQSキューをイベントソースとするAWS Lambda関数に移行します。この選択肢は、運用上のオーバーヘッド削減と、増加するメッセージ数への効率的な対応という両方の要件を満たします。