無限ノック › DVA 練習問題一覧 › 問題
DVAAWSのサービスを使用した開発

開発者がAmazon EventBridgeを使ってイベント駆動アーキテクチャを構築しています。EC2インスタンスの状態変化イベントを受信し、ステータスが「stopped」の場合のみLambda関数をトリガーしたいと考えています。最もコスト効率が高く適切なアプローチはどれですか?

A
全EC2状態変化イベントでLambdaをトリガーし、Lambda関数内でstate値を確認して処理を分岐する
全EC2状態変化イベントでLambdaをトリガーし、Lambda関数内でstate値を確認して処理を分岐する方法は不要な呼び出しが発生しコスト非効率です。
B
EventBridgeルールのイベントパターン(event pattern)に detail.state: ["stopped"] の条件を含めて定義し、Lambdaをターゲットに設定する
✓ 正解
EventBridgeルールのイベントパターンでイベントの詳細条件を指定できます。EC2状態変化イベントはdetail.stateフィールドにステータスが格納されるため、{"source":["aws.ec2"],"detail-type":["EC2 Instance State-change Notification"],"detail":{"state":["stopped"]}}のようなパターンを定義することで、stopped状態のイベントのみターゲットのLambdaに送信されます。
C
CloudWatch Logsのメトリクスフィルターを使用してEC2の停止イベントを検知しLambdaを呼び出す
CloudWatch Logsのメトリクスフィルターを使用してEC2の停止イベントを検知する方法はEC2イベント検知には不適切です。
D
SNSトピックを経由させ、SNSサブスクリプションのフィルターポリシーでstoppedのみに絞り込む
SNSトピックを経由させる方法はEventBridgeルールでのフィルタリング機能を活用していません。

解説

正解: EventBridgeルールのイベントパターン(event pattern)に detail.state: ["stopped"] の条件を含めて定義し、Lambdaをターゲットに設定する。 EventBridgeルールのイベントパターンでイベントの詳細条件を指定できます。EC2状態変化イベントはdetail.stateフィールドにステータスが格納されるため、{"source":["aws.ec2"],"detail-type":["EC2 Instance State-change Notification"],"detail":{"state":["stopped"]}}のようなパターンを定義することで、stopped状態のイベントのみターゲットのLambdaに送信されます。 選択肢Aの全EC2状態変化イベントでLambdaをトリガーし、Lambda関数内でstate値を確認して処理を分岐する方法は不要な呼び出しが発生しコスト非効率です。 選択肢CのCloudWatch Logsのメトリクスフィルターを使用してEC2の停止イベントを検知する方法はEC2イベント検知には不適切です。 選択肢DのSNSトピックを経由させる方法はEventBridgeルールでのフィルタリング機能を活用していません。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DVA の問題一覧に戻る