☁️

SQSからCloudWatch Logsに記録するAmazon EventBridge Pipesを構築するAWS CDK スタック

2023/02/26に公開

以下のようなAmazon EventBridge Pipesを構築する AWS CDK(v2) スタックを公開しました。

architecture

https://github.com/ma2shita/cdk-eventbridge-pipes-simplelogger

cdk コマンドが使えて cdk bootstrap 済みの環境であれば、すぐに使えます。(README 内 Build & Deploy を見てください)

"強化" の Lambda 関数を含めました

個人的には、EventBridge Pipes のポイントはフィルターと強化(filter, enrichment)にあると考えています。強化では、Lambda や Step Function が呼べるので「結局Lambdaかよ」と思われがちですが、Lambda 単体の実装と比べてコード量が減らせます。

このCDKv2コードでは、 "強化" から呼び出せる Lambda 関数を同梱しています。といっても「何もしない」コードではありますが、骨組みとしてご覧ください。
カスタマイズで知っておきたい仕様は後述します。

カスタマイズのポイント

強化

強化では、ペイロードの編集が可能です。例えば、渡されたペイロードの中身を基に DynamoDB を検索して、その結果をペイロードに付与できます。

強化に指定する Lambda 関数の仕様はこちらをご覧ください。
https://qiita.com/ma2shita/items/e4bf24cd44241f716568

出力(ターゲット)

ターゲットを変更したら、その先のサービスへの書き込み権限を、Pipes 実行ロールに付与するのを忘れないようにしましょう。
特に外部 API へ送信できる "API 送信先" を指定した場合は events:InvokeApiDestination が必要です。

おわりに

まあ、つかってやってください。
ちなみに cdk bootstrap で作成された環境の削除は、こちらをご覧ください。

https://qiita.com/ma2shita/items/2ca6b4c73af2db27bb53

IoT 1-Click プロジェクトを作成するAWS CDK スタックも公開しました。ボタンのデータをAmazon EventBridge Pipes へ流し込めます。

https://zenn.dev/ma2shita/articles/8e30ffbe0bacca

EoT

Discussion