Lambda関数が処理中に「PaymentDeclinedException」というエラーメッセージをCloudWatch Logsに記録しています。開発者は、このエラーが5分間に10件以上発生した場合にSNSトピックに通知を送る仕組みを、追加のアプリケーションコードを書かずに実装したいと考えています。最も効率的な方法はどれですか?
CloudWatch Logsメトリクスフィルターはロググループに対してパターン(例:"PaymentDeclinedException")を設定するだけで、Lambdaのコード変更不要でカスタムメトリクスをリアルタイムに発行できる機能。発行されたメトリクスに対してCloudWatchアラームを設定し(期間5分・閾値10)、アクションにSNSトピックを指定するだけで要件をすべて満たせる。追加コンポーネントが少なく運用コストも低い最も効率的な構成。 選択肢AのCloudWatch Logs InsightsはEventBridgeから直接Lambdaを呼び出してSNSに通知する構成が必要で、追加コンポーネントが多く複雑になる。また、Logs Insightsはアドホッククエリツールでありリアルタイムアラートには設計されていない。 選択肢CのPutMetricData呼び出しはLambda関数に追加コードが必要になり、「追加のアプリケーションコードを書かずに」という要件に反する。メトリクスフィルターで同じ結果をコードなしで実現できる。 選択肢DのX-Rayアノテーションはトレースの検索・分析用機能であり、件数の閾値に基づくアラームを設定してSNS通知を送る標準機能はないため、このユースケースには適していない。