Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
第15回 雲勉LT【オンライン】Amazon EventBridge Pipesのご紹介、SQ...
Search
iret.kumoben
February 27, 2024
Technology
910
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
第15回 雲勉LT【オンライン】Amazon EventBridge Pipesのご紹介、SQSのメッセージをECSに配信する
下記、勉強会での資料です。
https://youtu.be/TWr1dURIJZw
iret.kumoben
February 27, 2024
More Decks by iret.kumoben
See All by iret.kumoben
第182回 雲勉 【Gemini 3.0 Pro】AI ベンチマーク徹底比較!他モデルに比べ優れている点まとめ
iret
0
140
第181回 雲勉 WEB制作者のちょっとした面倒をAWSで解決!Amazon S3とAWS Lambda活用術
iret
0
120
第180回 雲勉 Abuse report の調査・確認方法について
iret
0
140
第179回 雲勉 AI を活用したサポートデスク業務の改善
iret
0
180
第178回 雲勉 Amazon EKSをオンプレで! Amazon EKS Anywhere 実践構築ガイド
iret
1
150
第177回 雲勉 IdP 移行を楽に!Amazon Cognito でアプリへの影響をゼロにするアイデア
iret
0
150
第176回 雲勉 VPC 間サービス接続を考える!Private Service Connect 入門
iret
0
130
第175回 雲勉 Amazon ECS入門:コンテナ実行の基本を学ぶ
iret
0
230
第174回 雲勉 Google Agentspace × ADK Vertex AI Agent Engineにデプロイしたエージェントを呼び出す
iret
0
210
Other Decks in Technology
See All in Technology
2026-10-01_MagicPod_QAハーネスエンジニアリングとQA組織の未来像
ynisqa1988
1
550
AIは爆速なのに、私が詰まっていた話 ― 音声入力と鳴くマスコットでボトルネックを削る
yama3133
0
530
AI Made Us Faster at Solving the Wrong Problems
marceloancelmo
0
180
Claude Code本は、どのように執筆チームで書かれたか
oikon48
0
290
IoTデバイスを繋げるプロトコルMatterをAndroidで使用する方法
harutiro
0
120
Google Cloud Next Tokyo 26登壇時のスクリプト
recruitengineers
PRO
0
200
Kernel testing frameworks
ennael
PRO
0
110
いちAWSエンジニアのAI活用を振り返る #devio2026 / devio osaka 2026 kawahara
masahirokawahara
2
400
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
140
BedrockとLambdaで作る リアルタイム進行型推理ゲーム
kawametho
0
200
SDDの運用にめげずに向き合った話
sansantech
PRO
1
140
UniFi(ユニファイ)AIカメラの現場活用
ludicmind
1
160
Featured
See All Featured
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Building AI with AI
inesmontani
PRO
1
1.3k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
270
Speed Design
sergeychernyshev
33
2.1k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
GraphQLとの向き合い方2022年版
quramy
50
15k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
570
Believing is Seeing
oripsolob
1
240
Everyday Curiosity
cassininazir
0
350
The Cult of Friendly URLs
andyhume
79
7k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
840
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Transcript
第15回 雲勉LT【オンライン】 Amazon EventBridge Pipesのご紹介、 SQSのメッセージをECSに配信する
0.講師⾃⼰紹介 2 n 名前 • ⻘⽊ 侑甫 (あおき ゆうすけ) •
カスタマー⽀援事業部インフラセクション構築グループ • 新卒からエンジニアで、アイレットで4社⽬ • 趣味はポーカー • EventBridgeやLambdaなどサーバレス系のサービスが好き • 資格はまだまだ取得中
アジェンダ 3 0. ⾃⼰紹介 1. EventBridge Pipesについて 2. EventBridge Pipesを使⽤してみた
3. EventBridge Pipes まとめ
1. EventBridge Pipesについて 4
1.初めに 5 • EventBridge Pipesというサービスがあることに気がつく • EventBridge Pipesというサービスのユースケースを考えてみたり⾊々触りたい・・・ • 仮想要件
• スマホアプリを作成している • スマホアプリはAPI Gateway / Lambda / RDS構成で構成されている • 別のシステムからスマホアプリで表⽰させたい • 別のシステムはSQSに連携したい内容をメッセージで置くところまで実装してくれる • ここから、RDSにメッセージをおくまでどうするかを考える
2. EventBridge Pipesを使⽤してみた 6 n 構成図 n 考えた構成 n ネットワーク構成は考慮してません
1. EventBridge Pipesについて 7 • 1-1. EventBridge Pipesとはどんなサービス︖ • EventBridgeとStep
Functionsを⾜して2で割ったようなイメージ • 両⽅のサービスのいいとこどりがされている • EventBridgeで実⾏のログが⾒れる
1. EventBridge Pipesについて 8 n EventBridge Pipesの4step • ⼤事なステップとしては以下の4つ ソース
フィルタリング エンリッチメント ターゲット
1. EventBridge Pipesについて 9 n EventBridge Pipesの4step ソース n イベントを受け付けるためのソース
n 例して以下のようなものがある n Amazon SQS,Amazon Kinesis Data Streams,Amazon DynamoDB ストリーム …etc ソース フィルタリング エンリッチメント ターゲット
1. EventBridge Pipesについて 10 n EventBridge Pipesの4step フィルタリング n フィルター条件「FilterCriteria」というフィルタリングパターン
(Pattern) を定義可能な、リスト(Filters)構成のオブジェクト構造が あり、JSON⽂字列で表現 ソース フィルタリング エンリッチメント ターゲット
1. EventBridge Pipesについて 11 n 例えば ソース フィルタリング エンリッチメント ターゲット
{ "Metadata1": [ test1 ], "data": {"Data1": [ test2 ]} } 左のjsonは メタデータプロパティ : FilterCriteria.Metadata1 データプロパティ : FilterCriteria.Data1 で参照できる
1. EventBridge Pipesについて 12 n EventBridge Pipesの4step エンリッチメント n ソースからの情報をターゲットに渡す前に加⼯する
n 例えば受け取った時に別のデータを加える︖もしくは整合性確認︖ などの要素に使えそう n 現時点で私が確認した限りでは使い⽅が未知数 n とはいえ使⽤⽤途はありそうな印象 ソース フィルタリング エンリッチメント ターゲット
1. EventBridge Pipesについて 13 n EventBridge Pipesの4step ターゲット n データの処理先/送り先
n 例として、API Gateway/ECS/SNS/SQS….etc ソース フィルタリング エンリッチメント ターゲット
2. EventBridge Pipesを使⽤してみた 14
2. EventBridge Pipesを使⽤してみた 15 n 想定構成図 • 構成としてはSQS/EventBridge Pipes/ECS構成 •
フローとしてはSQSに⼊ってきたメッセージをEventBridge Pipesが処理し、ECSに渡す • データを受け取って処理するようなユースケースが多いと考えているので、シンプルに応 ⽤が効くような構成とした • ECSの処理の結果はDBへの保存などを想定 • 今回の構成ではネットワークの記⼊は排除しています • ECSをプライベートサブネットに配置する場合は、ECSとECRを疎通させるVPCエンドポイ ントの設定が必要です
2. EventBridge Pipesを使⽤してみた 16 n 構成図 n 検証として考えた構成は右図 n ネットワーク構成は考慮してません
2. EventBridge Pipesを使⽤してみた 17 n 設定内容 n SQSの設定のためソースからSQSを選択する n オプションは必要に応じて考慮
ソース フィルタリング エンリッチメント ターゲット
2. EventBridge Pipesを使⽤してみた 18 n 設定内容 n フィルタリングが必要な要件があれば使⽤する n 今回はシンプルな構成なので、使⽤しない
ソース フィルタリング エンリッチメント ターゲット
2. EventBridge Pipesを使⽤してみた 19 n 設定内容 n 必要があれば利⽤ n 今回は使⽤しない
ソース フィルタリング エンリッチメント ターゲット
2. EventBridge Pipesを使⽤してみた 20 n 設定内容 n 設定内容としてはECSのクラスターとタスク定義を指定する n ECSのサービスを⽴ち上げるわけではないので、ネットワーク設定の対応が必要
ソース フィルタリング エンリッチメント ターゲット
2. EventBridge Pipesを使⽤してみた 21 n 設定内容 n ネットワークの設定については別途設定が必要です n セキリュティグループは、ECSからRDSなどのその他VPCに依存するサービスに
アクセスをする場合などに利⽤してください ソース フィルタリング エンリッチメント ターゲット 補⾜ですが、最近課⾦対象になっています
2. EventBridge Pipesを使⽤してみた 22 n 特記事項 n 初期設定(左)、設定後(右)
2. EventBridge Pipesを使⽤してみた 23 n 特記事項 n 次のページにsamplejsonを作成しています。Samplejsonを使⽤し てEventBrdige Pipesをアップデートコマンドを発⾏する必要があ
ります n 例えばsamplejsonをupdate.jsonのように名前をつけた場合は以下 のコマンドで更新ができます n aws pipes update-pipe --cli-input-json file://update.json
2. EventBridge Pipesを使⽤してみた 24 { "Name": "#eventbridge pipe名", "RoleArn": "#eventbridge
pipe role名", "TargetParameters": { "EcsTaskParameters": { "EnableECSManagedTags": true, "EnableExecuteCommand": false, "LaunchType": "FARGATE", "NetworkConfiguration": { "awsvpcConfiguration": { "AssignPublicIp": "ENABLED", "SecurityGroups": [ "#sg-xxxxxx" ], "Subnets": [ "#subnet-xxxxxx", "#subnet-xxxxxx" ] } }, "Overrides": { "ContainerOverrides": [ { "Environment": [ { "name" : "#sqsmessage", "value" : "$.body" } ], "Name": "#containerの名称" } ] }, "TaskCount": 1, "TaskDefinitionArn": "#task定義arn" }, "InputTemplate": "{¥n ¥"body¥": <$.body>¥n}" } }
2. EventBridge Pipesを使⽤してみた 25 n ログの設定とモニタリング n EventBridgeの呼び出された回数の確認がしやすい n 以下は実際に適当な回数呼び出してみて表⽰したメトリクス
2. EventBridge Pipesを使⽤してみた 26 n ログの設定とモニタリング n 以下のようなログが規則正しく出⼒される n Errorになった場合は詳細は出⼒されないのでCloudTrailでの確認が必要
n ただし、ログの保存などは別途設定が必要 { "resourceArn": ”xxxxxx", "timestamp": 1707809529425, "executionId": "dc8fb743-a2d4-4cb7-ae51-dff74da81e60", "messageType": "TargetTransformationStarted", "logLevel": "TRACE" }
2. EventBridge Pipesを使⽤してみた 27 n 動作確認 n SQSにメッセージを⼊れていきます
2. EventBridge Pipesを使⽤してみた 28 n 動作確認 n スクショでまとめているので動きがわかりにくいかもしれませんが、SQSにメッ セージを⼊⼒すると、ECSのタスクが⽴ち始めます n
メッセージ1回につき1タスク⽴ち上がります n 写真の例ではtest ~ test1を4回⼊れたので、4タスク⽴ち上がります
2. EventBridge Pipesを使⽤してみた 29 n 動作確認 n コンテナで受け取ったメッセージを確認するにはECS側で環境変数を取得する設 定が必要です n
例えば、pythonでsqsmessageという環境変数名で渡した場合は以下のように sqsmessageを確認することができます import os body = os.environ.get(”sqsmessage")
3. EventBridge Pipes まとめ 30
3. EventBridge Pipes まとめ 31 n 使⽤してみて • AWS Step
Functionsのような印象を受けたが、設定項⽬がよりシンプルでわかりや すくなっていた • ECSを使⽤するケースだとコマンドでアップデートしないとECSに引数を渡せないの でそこが少し厄介 • ログの設定もわかりやすくデバックがしやすい • モニタリングもありサービスがどのように利⽤されたかわかる • イベント駆動開発をしていてLambdaだと処理能⼒が⾜りないケースだと効果を発揮 しそう