SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

これだけは押さえておきたい! AWSサービス最新アップデート

re:Invent 2022で発表された新アップデート~EventBridge Pipes、Officeライセンス込みAMI、CloudWatch Logs~

第7回


  • X ポスト
  • このエントリーをはてなブックマークに追加

 本連載では、AWSに関して、なかなか時間がとれず最新のアップデートを追えていない方や、これからAWSを利用したいと考えている方に向けて、AWSから発表される数多あるサービスアップデートのうち、NTTデータのITスペシャリスト達がこれだけは押さえておくべきと厳選した内容を定期的に紹介します。前回に引き続き、AWS re:Invent 2022で発表されたサービアップデートの中から、開発・運用に役立つAWSの新サービス・新アップデートを3つ紹介します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

イベントドリブンのアプリケーションの実装が簡単に!「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ストリームで事前に作成したものを指定します。

Sourceの設定
Sourceの設定

 次に、Filteringを設定します。ここでは、price=150のイベントデータのみを処理するイベントパターンを作成します。

Filteringの設定
Filteringの設定

 そして、Enrichmentでデータを追加処理を行うLambdaを指定します。

 Lambdaでは、イベントデータにlambda_action:OKを追加する処理を行います。

Lambdaのコード
import json

def lambda_handler(event, context):
    
    event_json = event[0]
    event_json["lambda_action"] = "OK"
    
    return event_json
Enrichmentの設定
Enrichmentの設定

 最後に、Targetを設定します。ターゲットサービスはCloudWatch Logsを選択し、ロググループではロググループ名を指定します。

Targetの設定
Targetの設定

 以上でEventBridge Pipesの設定は完了です。

 動作確認のため、DyanamoDBにデータを追加したところ、CloudWatch Logsにイベントデータが出力されていることが確認できました。

CloudWatch Logsとの連携が確認できた
CloudWatch Logsとの連携が確認できた

 実際に試してみて感じたのは、EventBridgeの設定がとても簡単ということでした。

 コンソールも直感的でわかりやすく、プルダウンで選択していくだけで一連の処理を実装することができ、初学者でもかなり理解しやすいと感じました。

 EnrichmentでLambdaを実行させる場合は、ある程度Lambdaの作り込みが必要だと思いますが、EventBridge Pipesの設定のみであれば、5分程で設定できてしまいます。

 これからはEventBridge Pipesを活用して、イベントドリブンアプリケーションの構築を楽にしていきましょう!

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
Microsoft Officeライセンス込みのAMIの提供が開始に

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
これだけは押さえておきたい! AWSサービス最新アップデート連載記事一覧

もっと読む

この記事の著者

竹山 菜記(株式会社NTTデータ)(タケヤマ ナツキ)

 2019年にNTTデータに入社。 パブリッククラウドを活用したシステム基盤の構築・運用やオンプレミスからパブリッククラウドへのマイグレーション案件に携わる。 注目しているキーワードは"クラウドネイティブ"。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/17487 2023/04/14 21:24

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング