Q52 — AWS SOA-C02 第1章
第 52/100 問 | ← 第1章
SysOps管理者は、AWS Lambda関数の呼び出しを自動化する必要があります。このLambda関数は、毎日の終了時にAmazon S3バケットに保存されたデータに関するレポートを生成するために実行される必要があります。
- A. Amazon S3向けのイベントパターンとLambda関数をターゲットとするAmazon EventBridge(Amazon CloudWatch Events)ルールを作成します。
- B. スケジュールとLambda関数をターゲットとするAmazon EventBridge(Amazon CloudWatch Events)ルールを作成します。 ✓
- C. S3イベント通知を作成し、S3バケット内のオブジェクトが変更されるたびにLambda関数を呼び出します。
- D. cronジョブを備えたAmazon EC2インスタンスをデプロイしてLambda関数を呼び出します。
正解: B. スケジュールとLambda関数をターゲットとするAmazon EventBridge(Amazon CloudWatch Events)ルールを作成します。
解説
この問題の鍵は、毎日の終了時にAWS Lambda関数を自動的に呼び出すための、最も運用効率の高い解決策を見つけることです。各選択肢を検討します。選択肢Aは、Amazon EventBridgeのS3イベントパターンを使用してLambda関数を呼び出しますが、これはS3内でのイベント発生時にトリガーされるため、毎日固定時間に実行されることを保証しません(S3イベントはデータ駆動型であり、タイムリネスを保証しません)。選択肢Bは、Amazon EventBridge(旧CloudWatch Events)を使用してスケジュールベースのルールを作成し、Lambda関数をターゲットとして設定するものです。これにより、予定通りの時刻(すなわち毎日の終了時)にLambda関数が確実に実行され、レポートが生成されます。選択肢Cは、S3のイベント通知を使用してオブジェクト変更時にLambda関数を呼び出しますが、これもデータ駆動型のトリガーであり、毎日固定時間の実行を保証しません。選択肢Dは、cronジョブを備えたAmazon EC2インスタンスをデプロイしてLambda関数を呼び出すものですが、これはより複雑でコストがかかり、EventBridgeのようなマネージドサービスを使用するよりも効率的ではありません。以上より、この要件を最も効率的に満たすのは選択肢Bであり、Lambda関数が毎日固定時間に確実に呼び出され、Amazon S3バケットに保存されたデータに関するレポートが生成されます。