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
Amazon EventBridgeでできることをまとめてみた #devio2021
Search
ynishimura
October 05, 2021
Technology
13k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Amazon EventBridgeでできることをまとめてみた #devio2021
DevelopersIO Decadeでビデオ登壇するにあたり作成した資料になります。
ynishimura
October 05, 2021
More Decks by ynishimura
See All by ynishimura
React + Tauriでデスクトップアプリ開発に入門してみた
ynishimura0922
0
4k
Amazon EventBridgeを使って簡単なAWS環境の監視システムを構築する #devio2022
ynishimura0922
1
6.1k
Other Decks in Technology
See All in Technology
新卒エンジニア、 介護士になる
ryu1013
1
690
AIエージェントに業務知識を届ける仕組みづくり - Knowledge Catalogを活用した知識基盤の構築
hekuchan
0
140
AIエージェント時代、Kaggleにどう取り組むか
takanao
2
500
PostgreSQL オプティマイザ統計の秘密
nori_shinoda
0
320
IoTとは〜? 数字で見るSORACOM UG【SORACOM UG Explorer 2026】
soracom
PRO
0
170
素人でもできた!AIを使った短編小説創作入門
delhi09
PRO
0
310
基本から分かる!AWSセキュリティ運用の考え方と任せ方
cmusudakeisuke
1
410
詳解 never 型 - ボトム型の性質を深掘り
nealle
0
150
AIに任せられるFlutterコードベースを作る 〜仕様をコードで表し、ハーネスで守る〜
myohei
1
630
20261031_IoTLT_vol140_kitazaki_v1.pdf
kitazaki
0
170
Lint の層を組み直した話
bengo4com
3
310
FinOpsを導入してマルチプロダクトのコスト最適化を実現する
kworkdev
PRO
0
130
Featured
See All Featured
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.4k
A Tale of Four Properties
chriscoyier
163
24k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
790
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
970
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
310
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
510
Testing 201, or: Great Expectations
jmmastey
46
8.4k
Six Lessons from altMBA
skipperchong
29
4.6k
Fireside Chat
paigeccino
43
4.1k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
760
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
450
Transcript
ΦϖϨʔγϣϯ෦ଜ༞ೋ "NB[PO&WFOU#SJEHFͰ Ͱ͖Δ͜ͱΛ·ͱΊͯΈͨ
ଜ༞ೋ "84ࣄۀຊ෦ΦϖϨʔγϣϯ෦ େࡕΦϑΟεࡏ੶ αʔόʔϨεڥߏங ࣗݾհ - 2021 APN AWS
Top Engineer/ APN ALL AWS Certi fi cations Engineer - 2020 APN AWS Top Engineers - 2019 APN AWS Top Engineers
࣍ w"NB[PO&WFOU#SJEHFʹ͍ͭͯ w"NB[PO&WFOU#SJEHFͷશମ૾ɾߏ w"NB[PO&WFOU#SJEHFͷศརͳػೳ ˞࣌ͷใ
ࠓճ͞ͳ͍͜ͱ wΠϕϯτۦಈΞʔΩςΫνϟͷઃܭʹ͍ͭͯ wϚΠΫϩαʔϏεͷઃܭʹ͍ͭͯ wࣅͨ͜ͱ͕Ͱ͖ΔଞαʔϏεͱͷҧ͍ɾબఆʹ͍ͭͯ
ఆࢹௌऀ w4BB4ෳͷαʔϏεΛ࿈ܞͨ͠γεςϜΛߏங͍ͨ͠ w"NB[PO&WFOU#SJEHFΛ͍͖͍ͬͯͨ w"NB[PO&WFOU#SJEHFʹ͍ͭͯΓ͍ͨ ΰʔϧ w"NB[PO&WFOU#SJEHFͰͰ͖Δ͜ͱɺ֓ཁΛཧղ
Amazon EventBridgeͱ
"NB[PO&WFOU#SJEHFͱ l"84ɺطଘͷγεςϜɺ·ͨ4BB4ΞϓϦશମͰ ΠϕϯτۦಈܕΞϓϦέʔγϣϯΛେنʹߏங͢Δz https://aws.amazon.com/jp/eventbridge/
"NB[PO&WFOU#SJEHFͱ l"84ɺطଘͷγεςϜɺ·ͨ4BB4ΞϓϦશମͰ ΠϕϯτۦಈܕΞϓϦέʔγϣϯΛେنʹߏங͢Δz https://aws.amazon.com/jp/eventbridge/ ʰΠϕϯτʱΛ༻͍༷ͯʑͳΞϓϦέʔγϣϯΛ ؆୯ʹଓͰ͖ΔΑ͏ʹ͢ΔϧʔςΟϯάαʔϏε
Πϝʔδ ಠࣗ"QQ 4BB4 "84αʔϏε Amazon EventBridge Πϕϯτ ϧʔϧ Πϕϯτιʔε
λʔήοτ ϧʔϧ ϧʔϧ 4BB4 "84αʔϏε ผ"84ڥ Πϕϯτόεʴϧʔϧ Πϕϯτ
"NB[PO&WFOU#SJEHFΛར༻ͨ͠ྫ ૄ݁߹ʹϚΠΫϩαʔϏεΛΈཱͯΔ αʔόʔϨεͳϚωʔδυαʔϏεͷͨΊ αʔό४උɾߏஙɾཧ ʢϚϧν";ɺ4-"ˋʣ
Amazon EventBridgeͷશମ૾ɾߏ
"NB[PO&WFOU#SJEHFͷશମ૾ https://aws.amazon.com/jp/eventbridge/
"NB[PO&WFOU#SJEHFͷશମ૾ https://aws.amazon.com/jp/eventbridge/
Πϕϯτͱ Πϕϯτঢ়ଶมԽΛද͢ +40/ͰΓऔΓ +40/ߏ wEFUBJMUZQFΠϕϯτͷछྨ wTPVSDFΠϕϯτͷૹ৴ݩ wSFTPVSDFTؔ࿈Ϧιʔεͷྻ wEFUBJMΠϕϯτͷৄࡉσʔλ {
"version": "0" , "id": "6a7e8feb-b491-4cf7-a9f1-bf3 , "detail-type": "EC2 Instance State , "source": "aws.ec2" , "account": "111122223333" , "time": "2017-12-22T18:43:48Z" , "region": "us-west-1" , "resources": [ "arn:aws:ec2:us-west-1:123456789 ] , "detail": { "instance-id": "i-1234567890abcd , "state": "terminated" } }
Πϕϯτιʔε
"NB[PO&WFOU#SJEHFͷશମ૾ https://aws.amazon.com/jp/eventbridge/
Πϕϯτιʔε छྨ Πϕϯτͷछྨ ૹ৴ݩ ૹ৴ઌͷΠϕϯτόε ૹ৴͞ΕΔλΠϛϯά "84αʔϏεͷΠϕϯτ ֤"84αʔϏε σϑΥϧτͷ
Πϕϯτόε "84αʔϏεͷঢ়ଶ͕ม Θͬͨͱ͖ ֤"84αʔϏε $MPVE5SBJMܦ༝ "84αʔϏεͷ"1*Λݺͼ ग़ͨ͠ͱ͖ ΧελϜΠϕϯτ ΞϓϦέʔγϣϯ ૹ৴࣌ʹࢦఆ &WFOU#SJEHFͷ1VU&WFOUT "1*Λݺͼग़ͨ͠ͱ͖ 4BB4Πϕϯτ 4BB4ΞϓϦέʔγϣϯ ֤4BB4͝ͱʹ࡞͞ΕΔ ύʔτφʔΠϕϯτόε 4BB4ΞϓϦέʔγϣϯʹ ΑͬͯҟͳΔ
"84αʔϏε͕ૹ৴͢ΔΠϕϯτ w&WFOU#SJEHFະαϙʔτͷ߹$MPVE5SBJMܦ༝ͷΠϕϯτ औಘՄೳ wσϑΥϧτΠϕϯτόεʹૹ৴ https://docs.aws.amazon.com/ja_jp/eventbridge/latest/userguide/eb-service-event.html &WFOU#SJEHFʹૹ৴͞ΕΔΠϕϯτ "84Ϧιʔεͷঢ়ଶมԽΛىʹΠϕϯτൃੜ $MPVE5SBJMܦ༝Ͱૹ৴͞ΕΔΠϕϯτ "84Ϧιʔεૢ࡞ʢ"1*ݺͼग़͠ʣΛىʹΠϕϯτൃੜ
Քಇத㱺ఀࢭ Ϣʔβͷૢ࡞Πϕϯτ Πϯελϯεͷঢ়ଶมԽ
ΧελϜΠϕϯτ w1VU&WFOUT"1*ݺͼग़͠ʹΑͬͯૹ৴ w$-*ͰBXTFWFOUTQVUFWFOUTίϚϯυͰૹ৴ w֤ݴޠͷ"844%,Λར༻࣮͠ wૹ৴ઌͷΠϕϯτόεૹ৴࣌ʹࢦఆՄೳ wະࢦఆͷ߹σϑΥϧτΠϕϯτόεʹૹ৴͞ΕΔ https://docs.aws.amazon.com/ja_jp/eventbridge/latest/userguide/eb-putevents.html
ΧελϜΠϕϯτ 1ZUIPOΛͬͨΧελϜΠϕϯτΛൃߦ͢Δαϯϓϧ https://dev.classmethod.jp/articles/eventbridge-cross-account-schema-discovery/
4BB4Πϕϯτ w4BB4ʹΑΔΠϕϯτ֤4BB4ઐ༻ͷΠϕϯτόεʹૹ৴ wૹ৴͞ΕΔΠϕϯτͷछྨλΠϛϯάɺ֤4BB4ΞϓϦ έʔγϣϯͰҟͳΔ wଟ͘ͷ4BB4͕&WFOU#SJEHFʹ౷߹͞Ε͍ͯΔ https://docs.aws.amazon.com/ja_jp/eventbridge/latest/userguide/eb-saas.html https://aws.amazon.com/eventbridge/integrations/
ͬͯΈͨϒϩάͷհ https://dev.classmethod.jp/articles/shopify-with-eventbridge/
Πϕϯτόε
"NB[PO&WFOU#SJEHFͷશମ૾ https://aws.amazon.com/jp/eventbridge/
Πϕϯτόεͷछྨ σϑΥϧτόε ΧελϜόε ύʔτφʔόε ྫʣΠϯελϯε͕ఀࢭͨ͠ ྫʣจػೳ͕จΛड͚͚ͨ ྫʣSaaSͰཧ͢Δސ٬ใ͕ ߋ৽͞Εͨ
ϧʔϧ
"NB[PO&WFOU#SJEHFͷશମ૾ https://aws.amazon.com/jp/eventbridge/
ϧʔϧ wΠϕϯτόεͰड৴ͨ͠ΠϕϯτͰɺͲͷΠϕϯτΛɹɹ λʔήοτʹૹ৴͢Δ͔Λఆٛ͢Δ Πϕϯτύλʔϯ τϥϯεϑΥʔϚʔ λʔήοτ ύλʔϯϚονϯάʹΑΔఆٛ εέδϡʔϧࣜʹΑΔఆٛ JSON
pathΛ༻ͯ͠ ΠϕϯτΛม λʔήοτϦετ ϧʔϧ͝ͱʹ࠷େ̑ݸࢦఆՄೳ Πϕϯτ
Πϕϯτύλʔϯ wύλʔϯϚονϯάʹΑΔΠϕϯτͷϑΟϧλʔ wϑΟϧλʔछྨɿɺϓϨϑΟοΫεɺଘࡏνΣοΫͳͲ { "source": ["aws.ec2"] , "detail-type": ["EC2
Instance State-change Notification"] , "detail": { "state": ["terminated" ] } } https://docs.aws.amazon.com/ja_jp/eventbridge/latest/userguide/eb-event-patterns-content-based- fi ltering.html ྫʣEC2Πϯελϯεͷऴྃʹ͍ͭͯ௨Λड͚͍ͨΠϕϯτύλʔϯྫ
Πϕϯτύλʔϯ wεέδϡʔϧࣜʹΑΔΠϕϯτ࡞ wλΠϜκʔϯ65$ɺ࠷খਫ਼ʮʯ DSPOࣜ SBUFࣜ ઃఆͷܗࣜ DSPO <><࣌ؒ><><݄><༵><> SBUFT
<><୯Ґ> ઃఆྫ ຖޕޙ࣌ 65$ ʹ࣮ߦ͢Δ DSPO ͝ͱʹ࣮ߦ͢Δ SBUF NJOVUFT
τϥϯεϑΥʔϚʔ wೖྗΠϕϯτΛ+40/QBUIͰม https://docs.aws.amazon.com/ja_jp/eventbridge/latest/userguide/eb-transform-target-input.html ड͚औͬͨΠϕϯτ ૹ৴Πϕϯτఆٛ มఆٛ { "instance" :
<instance> , "state": <state > } { "version": "0" , "id": "7bf73129-1428-4cd3-a780-95db273d1602" , "detail-type": "EC2 Instance State-change Notification" , "source": "aws.ec2" , "account": "123456789012" , "time": "2015-11-11T21:29:54Z" , "region": "us-east-1" , "resources": [ "arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1111" ] , "detail": { "instance-id": "i-0123456789" , "state": "RUNNING" } } { "instance" : "$.detail.instance-id", "state" : "$.detail.state" } ೖྗͷInstance-id,state Λมʹࢦఆ มΛͬͯ λʔήοτʹૹ৴͢Δ ΠϕϯτΛఆٛ ྫʣEC2ͷঢ়ଶมԽͷΠϕϯτ
ૹ৴ઌλʔήοτ
"NB[PO&WFOU#SJEHFͷશମ૾ https://aws.amazon.com/jp/eventbridge/
λʔήοτ wΠϕϯτͷૹ৴ઌͱͳΓɺΠϕϯτΛॲཧ͢Δͷ wͭͷϧʔϧ͋ͨΓͭ·Ͱͷλʔήοτʹૹ৴Մೳ wϦτϥΠઃఆɺ%-2ͷઃఆՄೳ wΠϕϯτอ࣋ظؒɿ࠷େ࣌ؒ wϦτϥΠճɿ࠷େճ
ͬͯΈͨϒϩάͷհ https://dev.classmethod.jp/articles/eventbridge-supports- dead-letter-queue/
λʔήοτʹࢦఆͰ͖Δͷ wαϙʔτ͞Εͨ"84αʔϏε w"1*%FTUJOBUJPOʢ"1*Ѽઌʣ wผΞΧϯτͷΠϕϯτόε wผϦʔδϣϯͷΠϕϯτόε https://docs.aws.amazon.com/ja_jp/eventbridge/latest/userguide/eb-targets.html
λʔήοτʹࢦఆͰ͖Δͷ wαϙʔτ͞Εͨ"84αʔϏε w"1*%FTUJOBUJPOʢ"1*Ѽઌʣ wผΞΧϯτͷΠϕϯτόε wผϦʔδϣϯͷΠϕϯτόε https://docs.aws.amazon.com/ja_jp/eventbridge/latest/userguide/eb-targets.html
"1*%FTUJOBUJPOʢ"1*Ѽઌʣ wҙͷΤϯυϙΠϯτʹ )551ϦΫΤετΛૹ৴ wίʔυͷ࣮ෆཁ wηΩϡΞʹೝূใཧ wݺͼग़͠ϨʔτௐՄೳ https://aws.amazon.com/blogs/compute/using-api-destinations-with-amazon-eventbridge/ ਤͷҾ༻ݩ
"1*%FTUJOBUJPOʢ"1*Ѽઌʣͷೝূ wछྨͷೝূํ๏Λαϙʔτ w#BTJDೝূ w0"VUI$MJFOU$SFEFOUJBMT w"1*,FZ wΫϨσϯγϟϧ4FSDSFU.BOBHFSʹอଘ
"1*%FTUJOBUJPOʢ"1*Ѽઌʣͷར༻ྫ wྫɿTMBDLʹ௨͢Δ w-BNCEBΛར༻
"1*%FTUJOBUJPOʢ"1*Ѽઌʣͷར༻ྫ wྫɿTMBDLʹ௨͢Δ SecretsManagerͰೝূใऔಘ ΠϕϯτͷϖΠϩʔυΛݩʹύϥϝʔλ࡞ HTTPϦΫΤετΛૹͬͯΔ͚ͩ
"1*%FTUJOBUJPOʢ"1*Ѽઌʣͷར༻ྫ wྫɿTMBDLʹ௨͢Δ wஔ͖͑Δ͜ͱͰ࣮ෆཁɺηΩϡΞʹೝূใཧ
ͬͯΈͨϒϩάͷհ https://dev.classmethod.jp/articles/event-bridge-api- destinations-with-slack/
ͬͯΈͨϒϩάͷհ https://dev.classmethod.jp/articles/try-auth0-api-directly- from-event-bridge-authorization-typeoauth-client-credentials/
λʔήοτʹࢦఆͰ͖Δͷ wαϙʔτ͞Εͨ"84αʔϏε w"1*%FTUJOBUJPOʢ"1*Ѽઌʣ wผΞΧϯτͷΠϕϯτόε wผϦʔδϣϯͷΠϕϯτόε https://docs.aws.amazon.com/ja_jp/eventbridge/latest/userguide/eb-targets.html
λʔήοτʹผΞΧϯτͷΠϕϯτόεΛࢦఆ ΫϩεΞΧϯτ࿈ܞ wૄ݁߹ʹ࿈ܞͰ͖Δ
λʔήοτʹผΞΧϯτͷΠϕϯτόεΛࢦఆ ΫϩεΞΧϯτ࿈ܞ wૄ݁߹ʹ࿈ܞͰ͖Δ ͕ࣗଘࡏ͢ΔAWSΞΧϯτͷ EventBridgeͷΈҙࣝ͢ΕΑ͍
λʔήοτʹผΞΧϯτͷΠϕϯτόεΛࢦఆ ΫϩεΞΧϯτ࿈ܞ wૄ݁߹ʹ࿈ܞͰ͖Δ ґଘ͕ؔEventBridgeʹด͡Δ
λʔήοτʹࢦఆͰ͖Δͷ wαϙʔτ͞Εͨ"84αʔϏε w"1*%FTUJOBUJPOʢ"1*Ѽઌʣ wผΞΧϯτͷΠϕϯτόε wผϦʔδϣϯͷΠϕϯτόε https://docs.aws.amazon.com/ja_jp/eventbridge/latest/userguide/eb-targets.html
λʔήοτʹผϦʔδϣϯͷΠϕϯτόε ϦʔδϣϯؒͷΠϕϯτసૹʹΑΔΠϕϯτू wಉҰΞΧϯτͷΠϕϯτू wड৴ՄೳͳϦʔδϣϯ wόʔδχΞɺΦϨΰϯɺΞΠϧϥϯυ https://aws.amazon.com/jp/blogs/compute/introducing-cross-region-event-routing-with-amazon- eventbridge/ ਤͷҾ༻ݩ
ͬͯΈͨϒϩάͷհ https://dev.classmethod.jp/articles/amazon- eventbridge-introduces-support-cross-region-event- bus-targets/
Amazon EventBridgeͷศརͳػೳ
4DIFNB3FHJTUSZ w&WFOU#SJEHFͰΓऔΓ͞ΕΔ༷ʑͳσʔλͷεΩʔϚΛ ཧ w0QFO"1* +40/4DIFNB%SBGUͰอଘՄೳ wεΩʔϚͷόʔδϣϯཧՄೳ JsonߏɺϓϩύςΟͷҰཡܕใΛཧ
4DIFNB3FHJTUSZ w&WFOU#SJEHFͰΓऔΓ͞ΕΔ༷ʑͳσʔλͷεΩʔϚΛ ཧ w0QFO"1* +40/4DIFNB%SBGUͰอଘՄೳ wεΩʔϚͷόʔδϣϯཧՄೳ Exportͯ͠όϦσʔγϣϯʹར༻Ͱ͖Δ
+40/4DIFNB w࣮ߦ࣌ͷόϦσʔγϣϯ͕Մೳ https://dev.classmethod.jp/articles/json-validation/
4DIFNB%JTDPWFSZ w&WFOU#SJEHFͰड͚औͬͨ4BB4ΠϕϯτΧελϜΠϕϯτ ͷεΩʔϚΛ0QFO"1*ܗࣜͰࣗಈอଘ
$PEF#JOEJOHT w"845PPMLJUGPS*OUFMMJ+ 7JTVBM4UVEJP$PEFΛ༻͍ͯ εΩʔϚఆٛΛऔಘՄೳ w+BWB 1ZUIPO 5ZQF4DSJQU ʹରԠ w࣮࣌ͷίʔυิίϯύΠϧ࣌ͷΤϥʔݕग़ʹར༻
3FQMBZ"SDIJWFػೳ w"SDIJWFɿࢦఆͨ͠ύλʔϯͷΠϕϯτΛอଘ w3FQMBZɿ"SDIJWFͨ͠ΠϕϯτΛ࠶ੜ wઃఆͨ͠ϧʔϧɺλʔήοτͷಈ࡞֬ೝ͕༰қʹ
ͬͯΈͨϒϩάͷհ https://dev.classmethod.jp/articles/ eventbridge-record-createaccount-event/ https://dev.classmethod.jp/articles/ amazon-eventbridge-archive-replay/
·ͱΊ
·ͱΊ "NB[PO&WFOU#SJEHF wαʔόʔཧෆཁͰΠϕϯτόε͕ར༻ w࣮ͳ͠Ͱ"84αʔϏεɺ4BB4ͳͲΞϓϦΛ࿈ܞ wૄ݁߹ͳΠϕϯτۦಈΞʔΩςΫνϟͷߏங͕༰қ wΠϕϯτεΩʔϚͷࣗಈݕɺอଘɺཧ w։ൃΛޮΛ্͛Δศརͳػೳ͕ͨ͘͞Μ͋Δ
ࢀߟࢿྉ
ࢀߟࢿྉ https://www.slideshare.net/AmazonWebServicesJapan/20210127-aws-expert-online-13-241967722 https://pages.awscloud.com/rs/112-TZM-766/images/DevAx_connect_day7_SaaS_integration_shared.pdf https://pages.awscloud.com/rs/112-TZM-766/images/ Amazon%20EventBridge%20%E3%81%AE%E4%BE%BF%E5%88%A9%E3%81%AA%E6%A9% 9F%E8%83%BD%20%2B%20%E6%96%B0%E6%A9%9F%E8%83%BD.pdf https://d1.awsstatic.com/webinars/jp/pdf/services/20200122_BlackBelt_EventBridge.pdf On-demand γʔζϯ
1ʮΠϕϯτۦಈʯ https://aws.amazon.com/jp/devax-connect-on-demand/
None