Amazon EventBridge Pipes
イベントソースとターゲットをポイントツーポイントで接続するサービス
何ができるか
Amazon EventBridge Pipes は、イベントソースとターゲットをコードなしでポイントツーポイント接続するサービスです。SQS キュー、Kinesis ストリーム、DynamoDB Streams などのソースからイベントを取得し、フィルタリングや変換を経てターゲットに配信します。Lambda 関数を書かずにイベント駆動の統合を実現できます。
どのような場面で使うか
DynamoDB の変更を Step Functions ワークフローに連携する、SQS キューのメッセージを API Gateway に転送する、Kinesis ストリームのデータをフィルタリングして Lambda に渡すなど、イベントソース間の接続をシンプルに構築する場面で利用されます。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
身近な例え
郵便局の自動仕分け機に例えられます。届いた郵便物 (イベント) を宛先ごとに自動で仕分け (フィルタリング) し、必要に応じて封筒を入れ替え (変換) てから、正しい届け先 (ターゲット) に配達します。
EventBridge Pipes とは
この記事は約 2 分で読めます。 EventBridge Pipes は、イベントのソースとターゲットを直接つなぐ統合サービスです。従来はイベントソースからデータを取得して別のサービスに渡すために Lambda 関数を書く必要がありましたが、Pipes を使えばコンソール上の設定だけで接続を構築できます。フィルタリング、エンリッチメント、変換の各ステップをオプションで追加できます。
パイプラインの構成
Pipes のパイプラインは、ソース、フィルター、エンリッチメント、ターゲットの 4 つのステップで構成されます。ソースは SQS、Kinesis、DynamoDB Streams、MSK などから選択します。フィルターはイベントパターンで不要なイベントを除外します。エンリッチメントは Lambda や Step Functions でデータを加工するオプションのステップです。ターゲットは 15 以上の AWS サービスから選択できます。
はじめかた
EventBridge コンソールで「パイプの作成」を選択し、ソースとターゲットを指定します。必要に応じてフィルターパターンを設定し、入力トランスフォーマーでターゲットに渡すデータの形式を調整します。パイプを有効化すると、ソースからイベントが自動的に取得されてターゲットに配信されます。
Azure・オンプレミスとの比較
AWS の優位点
- コードを書かずにイベントソースとターゲットを接続でき、フィルタリングと変換をコンソール上で設定可能
- SQS、Kinesis、DynamoDB Streams など AWS ネイティブのイベントソースとシームレスに統合される
- 従量課金でイベント処理数に応じたコストのみ発生し、アイドル時のコストがゼロ
注意点
- Pipes はポイントツーポイント接続に特化しており、複数ターゲットへのファンアウトが必要な場合は EventBridge ルールを使用する
- エンリッチメントステップで Lambda を呼び出すと、Lambda の実行料金が別途発生する
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。