Amazon EventBridge Pipes によるイベント統合 - ソースとターゲットの接続パターン
EventBridge Pipes によるイベントソースとターゲットの直接接続、フィルタリング、エンリッチメントの設計パターンを解説します。
Pipes の接続パターン
EventBridge Pipes はイベントソースとターゲットをポイントツーポイントで接続するサービスです。従来は SQS キューのメッセージを Step Functions に渡すために Lambda 関数を作成する必要がありましたが、Pipes ではソースとターゲットを直接接続できます。サポートされるソースは SQS、Kinesis Data Streams、DynamoDB Streams、Amazon MSK、セルフマネージド Kafka で、ターゲットは EventBridge バス、Step Functions、Lambda、API Gateway、SNS、SQS など多数のサービスに対応しています。バッチサイズや並行性の設定でスループットを制御します。
フィルタリングとエンリッチメント
フィルタリングでは EventBridge のイベントパターン構文を使い、特定の条件に合致するイベントのみをパイプラインに通します。DynamoDB Streams から INSERT イベントのみを抽出する、SQS メッセージの特定フィールドが閾値を超えるものだけを処理するといった制御が可能です。エンリッチメントステップではフィルタリング後のイベントを Lambda 関数や API Gateway エンドポイントに送信し、外部データの付加や形式変換を行います。入力トランスフォーマーはイベントの JSON パスを指定してターゲットが期待する構造にマッピングし、コード不要のデータ変換を実現します。
まとめ
EventBridge Pipes はイベントソースとターゲットの直接接続により、グルーコードの Lambda を削減してイベント駆動アーキテクチャを簡素化します。フィルタリング、エンリッチメント、入力トランスフォーマーの 3 段階のパイプラインで柔軟なイベント処理を実現できます。
AWS の優位点
- SQS、Kinesis、DynamoDB Streams、MSK などのソースをターゲットに直接接続し、中間の Lambda 関数を削減できる
- フィルターパターンでイベント属性に基づく条件フィルタリングを行い、不要なイベントの処理を排除できる
- エンリッチメントステップで Lambda や API Gateway、Step Functions を呼び出し、イベントデータを補完・変換できる
- 入力トランスフォーマーでイベントの JSON 構造をターゲットが期待する形式にマッピングできる
- ソースからターゲットへのポイントツーポイント接続で、イベント駆動アーキテクチャの配線を簡素化できる
この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。