Q91 — AWS DVA-C02 第1章
第 91/100 問 | ← 第1章
ある企業が、Amazon S3バケット内のS3オブジェクトイベントをAmazon EventBridge(旧称Amazon CloudWatch Events)に送信するよう設定しました。EventBridgeルールは、受信した各S3オブジェクトイベントごとにAWS Lambda関数を呼び出します。開発者は、新しいバージョンのLambda関数を開発中です。新しいLambda関数が期待通りに動作することを保証するため、開発者は、実際のS3バケットオブジェクトイベントを使用した再現可能なテストを実行する必要があります。また、テストをサポートするコードおよびインフラストラクチャの量を最小限に抑える必要があります。これらの要件を満たす解決策はどれですか?
- A. 別のS3バケットを作成し、そのバケットからオブジェクトイベントをEventBridgeに送信できるようにします。新しいS3バケットからのデータイベントを新しいLambda関数に渡すための追加のEventBridgeルールを追加します。テスト用のS3オブジェクトイベントを生成するために、新しいS3バケット内のオブジェクトを更新するツールを開発します。
- B. 既存のEventBridgeルールに新しいLambda関数を追加のターゲットとして登録します。S3オブジェクトイベントを既存のLambda関数と新しいLambda関数の両方に同時に送信します。
- C. EventBridgeのアーカイブおよび再生機能を用いて、本番環境のS3オブジェクトイベントを再生します。再生されたS3オブジェクトイベントを新しいLambda関数に送信するための新しいEventBridgeルールを設定します。 ✓
- D. EventBridge PutEvents API操作を使用してaws.s3データイベントを発行するツールを開発します。aws.s3イベントを新しいLambda関数に送信するための新しいEventBridgeルールを追加します。
正解: C. EventBridgeのアーカイブおよび再生機能を用いて、本番環境のS3オブジェクトイベントを再生します。再生されたS3オブジェクトイベントを新しいLambda関数に送信するための新しいEventBridgeルールを設定します。
解説
正解はCです。EventBridgeのアーカイブおよび再生機能を用いることで、既存の本番環境のS3オブジェクトイベントをそのままテストに活用でき、新たなS3バケットの作成やテストイベント生成ツールの開発といった余分な複雑性を回避できます。これにより、テストをサポートするコードおよびインフラストラクチャの量を最小限に抑えられます。選択肢Aは新たなバケットとツールの開発を必要とし、選択肢Bは新旧関数への同時配信による混乱を招き、選択肢Dは不要なAPI呼び出しツールの開発を伴います。したがって、選択肢Cが要件を最もよく満たします。