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

マルチテナントSaaSアプリケーションで、カスタムイベントをAmazon EventBridgeのカスタムバスに送信しています。特定テナント(tenant_id: 'enterprise-001')の注文金額が1,000ドルを超えた場合のみSNSトピックに通知を送りたいと考えています。Lambdaを追加せず最も効率的に実装する方法はどれですか?

A
EventBridgeルールにイベントパターンを設定し、detailフィールドのtenant_idと金額に数値条件フィルタを適用してSNSをターゲットにする
✓ 正解
EventBridgeのイベントパターンはdetailフィールドに対して文字列一致や数値条件(例:{"numeric": [">", 1000]})の複合フィルタリングが可能です。追加のLambdaなしにEventBridgeルールだけで複雑な条件のルーティングが実現でき、コストと運用負荷を最小化できます。EventBridgeで事前フィルタリングすることで条件に合致しないイベントをSNSへ送信する前に除外でき、最も効率的な実装となります。
B
EventBridgeルールで全イベントをSNSトピックに送信し、SNSのサブスクリプションフィルタポリシーで金額条件を絞り込む
(SNS サブスクリプションフィルタポリシー)は、全イベントをSNSに送信してから絞り込む方式であり、EventBridgeでの事前フィルタリングに比べて非効率です。
C
全イベントをSQSキューに送信し、コンシューマーアプリケーションがポーリングしてフィルタリング処理を行う
(SQS キュー)は、コンシューマーアプリケーションがポーリングして処理する必要があり、Lambdaなしの効率的な実装には不向きです。
D
CloudWatch Logs Insightsでイベントログを定期分析し、条件に合致するイベントを検知してSNSに転送するアラームを設定する
(CloudWatch Logs Insights)は、定期的な分析に基づいており、リアルタイムの条件付きフィルタリングには適していません。

解説

EventBridgeのイベントパターンはdetailフィールドに対して文字列一致や数値条件(例:{"numeric": [">", 1000]})の複合フィルタリングが可能です。追加のLambdaなしにEventBridgeルールだけで複雑な条件のルーティングが実現でき、コストと運用負荷を最小化できます。EventBridgeで事前フィルタリングすることで条件に合致しないイベントをSNSへ送信する前に除外でき、最も効率的な実装となります。 選択肢B(SNS サブスクリプションフィルタポリシー)は、全イベントをSNSに送信してから絞り込む方式であり、EventBridgeでの事前フィルタリングに比べて非効率です。 選択肢C(SQS キュー)は、コンシューマーアプリケーションがポーリングして処理する必要があり、Lambdaなしの効率的な実装には不向きです。 選択肢D(CloudWatch Logs Insights)は、定期的な分析に基づいており、リアルタイムの条件付きフィルタリングには適していません。

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

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

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