re:Invent 2022で発表された新アップデート~EventBridge Pipes、Officeライセンス込みAMI、CloudWatch Logs~
第7回
本連載では、AWSに関して、なかなか時間がとれず最新のアップデートを追えていない方や、これからAWSを利用したいと考えている方に向けて、AWSから発表される数多あるサービスアップデートのうち、NTTデータのITスペシャリスト達がこれだけは押さえておくべきと厳選した内容を定期的に紹介します。前回に引き続き、AWS re:Invent 2022で発表されたサービアップデートの中から、開発・運用に役立つAWSの新サービス・新アップデートを3つ紹介します。
イベントドリブンのアプリケーションの実装が簡単に!「EventBridge Pipes」
まずはEventBridge Pipesを紹介します。
EventBridge Pipesは名前からも分かる通り、イベントを通じてAWSサービスをさまざまに連携できるサービス「EventBridge」の新機能で、イベントデータの受信を契機にどのような処理を実行させるかをGUIで設定することができます。
設定項目は、Source、Filtering(オプション)、Enrichment(オプション)、Targetの4つで、Sourceでは受信するイベントデータの種類を選択し、Filteringを設定することでフィルター条件に一致するものだけをEnrichmentやTargetに送信することができます。EnrichmentではSourceで受信したイベントデータの拡張(データの変換や追加)を行うことができ、最後にTargetでデータの送信先を指定します。
EventBridge Pipesの各設定項目で利用可能なリソースの詳細はAmazon EventBridge Pipesのドキュメントをご参照ください。
このアップデートで嬉しい点は、イベントドリブンで実行する処理のほぼすべての設定がAWSコンソールから行えるようになったことです。
例えば、「DynamoDBに特定のデータが書き込まれたら、イベントデータにデータを追加して、CloudWatch Logsに出力する」というシナリオがあった場合、これまでは、フィルタリング~CloudWatch Logsへ転送までの処理をLambdaで一生懸命書く必要がありましたが、EventBridge Pipesを利用することでほとんどLambdaを書く必要がなくなりました。
それでは実際に、上記シナリオのEventBridge Pipesの設定を見ていきましょう。
まずは、Sourceを設定します。ソースはDyanamoDBを選択し、DynamoDBストリームで事前に作成したものを指定します。
次に、Filteringを設定します。ここでは、price=150のイベントデータのみを処理するイベントパターンを作成します。
そして、Enrichmentでデータを追加処理を行うLambdaを指定します。
Lambdaでは、イベントデータにlambda_action:OKを追加する処理を行います。
import json
def lambda_handler(event, context):
event_json = event[0]
event_json["lambda_action"] = "OK"
return event_json
最後に、Targetを設定します。ターゲットサービスはCloudWatch Logsを選択し、ロググループではロググループ名を指定します。
以上でEventBridge Pipesの設定は完了です。
動作確認のため、DyanamoDBにデータを追加したところ、CloudWatch Logsにイベントデータが出力されていることが確認できました。
実際に試してみて感じたのは、EventBridgeの設定がとても簡単ということでした。
コンソールも直感的でわかりやすく、プルダウンで選択していくだけで一連の処理を実装することができ、初学者でもかなり理解しやすいと感じました。
EnrichmentでLambdaを実行させる場合は、ある程度Lambdaの作り込みが必要だと思いますが、EventBridge Pipesの設定のみであれば、5分程で設定できてしまいます。
これからはEventBridge Pipesを活用して、イベントドリブンアプリケーションの構築を楽にしていきましょう!
この記事は参考になりましたか?
- これだけは押さえておきたい! AWSサービス最新アップデート連載記事一覧
- この記事の著者
-
竹山 菜記(株式会社NTTデータ)(タケヤマ ナツキ)
2019年にNTTデータに入社。 パブリッククラウドを活用したシステム基盤の構築・運用やオンプレミスからパブリッククラウドへのマイグレーション案件に携わる。 注目しているキーワードは"クラウドネイティブ"。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
