Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Syntheticsで簡単外形監視!
Search
wkm2
May 09, 2020
Technology
1
500
Syntheticsで簡単外形監視!
JAWS-UG新潟#8の登壇資料です
wkm2
May 09, 2020
Tweet
Share
More Decks by wkm2
See All by wkm2
API叩くだけのLambdaを作るつもりがコンテナ on EC2になった話
wkm2
0
6
AWSネイティブなセキュリティを考える
wkm2
1
300
KAGが関わるアカウント全てにSecurity Hubを導入した(い)話
wkm2
0
180
地方在住フルリモートワークエンジニアのリアル 〜ジモトで_活きる_エンジニアライフ〜
wkm2
1
690
Keynote以外のアップデートピックアップ!
wkm2
1
130
Bedrock素人がKnowledgeBaseでRAGを構築するまで
wkm2
2
420
EC2を再起動したいがためにNew Relicを使った話
wkm2
1
430
ネットワークサービスフル活用で実現するハイブリッド構成 〜コープさっぽろのネットワーク全体像〜
wkm2
2
2k
AWS SSO でログインを簡単に〜IAMユーザ管理をしたくない〜
wkm2
1
610
Other Decks in Technology
See All in Technology
米軍Platform One / Black Pearlに学ぶ極限環境DevSecOps
jyoshise
2
520
グローバルなコンパウンド戦略を支えるモジュラーモノリスとドメイン駆動設計
kawauso
3
6k
レガシーシステム刷新における TypeSpec スキーマ駆動開発のすゝめ
tsukuha
0
330
都市スケールAR制作で気をつけること
segur
0
190
QAを"自動化する"ことの本質
kshino
1
140
メッセージ駆動が可能にする結合の最適化
j5ik2o
6
930
FFMとJVMの実装から学ぶJavaのインテグリティ
kazumura
0
150
AIを前提に、業務を”再構築”せよ IVRyの9ヶ月にわたる挑戦と未来の働き方 (BTCONJP2025)
yueda256
1
790
膨大なデータをどうさばく? Java × MQで作るPub/Subアーキテクチャ
zenta
0
120
大規模モノレポの秩序管理 失速しない多言語化フロントエンドの運用 / JSConf JP 2025
shoota
0
290
ABEMAのCM配信を支えるスケーラブルな分散カウンタの実装
hono0130
4
1k
AIと自動化がもたらす業務効率化の実例: 反社チェック等の調査・業務プロセス自動化
enpipi
0
750
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Scaling GitHub
holman
464
140k
How STYLIGHT went responsive
nonsquared
100
5.9k
RailsConf 2023
tenderlove
30
1.3k
Docker and Python
trallard
46
3.7k
Writing Fast Ruby
sferik
630
62k
Being A Developer After 40
akosma
91
590k
Fireside Chat
paigeccino
41
3.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
The Invisible Side of Design
smashingmag
302
51k
Navigating Team Friction
lara
190
15k
Transcript
SyntheticsͰ؆୯֎ܗࢹʂ 2020/5/9 JAWS-UG ৽ׁ #8 एদ ߶ࢤ
Who am I ? • एদ ߶ࢤ / Takeshi Wakamatsu
• ΞΠϨοτגࣜձࣾ / cloudpack • ΠϯϑϥΤϯδχΞ + PM + Ϛωʔδϟ • AWSͷ(ओʹΠϯϑϥνοΫͳ)ߏஙɺӡ༻Λ୲ • JAWS-UG ॳ৺ऀࢧ෦ͷӡӦͬͯͨ͜ͱ @t_wkm2
৽ׁͱͷ͝ԑ • ࣮5ؒॅΜͰ·ͨ͠ʂ • ݩΞϧϏϑΝϯ(2009~2013ࠒ) • ΞΠγςϧ—χΠΨλ • ΠλϦΞϯΈ͔͖ͮ(͋Μ·Γ৯ͳ͔͚ͬͨͲ) •
ώϚͳͱُ͖δϟεʹߦ͘
SyntheticsͰ؆୯֎ܗࢹʂ
֎ܗࢹͬͯͳΜͩʁ
֎ܗࢹͬͯͳΜͩʁ • γεςϜ֎෦͔Βݟͨͱ͖ʹਖ਼ৗͳಈ࡞Λ͍ͯ͠Δ͔Λࢹ͢Δ͜ͱ • ओʹURLࢹʹΘΕΔ༻ޠ • ΄Μͱ֎ܗࢹͱ͍͏ݴ༿దͰͳ͍Β͍͠(Ͳ͏Ͱ͍͍)
SyntheticsͬͯͳΜͩʁ
SyntheticsͬͯͳΜͩʁ • Amazon CloudWatch Synthetics ͷ͜ͱ • LambdaͳͲͷطଘϦιʔεΛΈ߹Θͤͨπʔϧ • ͓खܰʹ֎ܗࢹͰ͖Δ
• ॕʂGAʂ (2020/4/23)
Synthetics ʹ ߹ࢹ ͱͷ͏Θ͞ • ߹ = ਓతͳͷ • ਓత͡Όͳ͍
ʹ ਓ͕ϒϥβͰΞΫηε͢Δͷ • ߹ࢹਓ͕ૢ࡞͢ΔڍಈΛػցతʹͯ͠ਖ਼ৗʹಈ࡞͢Δ͔Λ ࢹ͢Δ • SeleniumΛΠϝʔδͯ͠Β͑ΕΘ͔Γ͍͢
؆୯ʂ֎ܗࢹઃఆʂ
ࠓճͷΰʔϧ • ୯७ͳURLࢹ(HTTP Status Code : 200͕ฦΔ͜ͱΛਖ਼ৗͱ͢Δ) • ҟৗ(200Ҏ֎͕ฦΔ)Λݕͨ͠߹ʹϝʔϧΛૹ৴
ࠓճ࡞͢ΔSyntheticsͷΠϝʔδ
લఏ݅ • ࢹରͷURL͕طʹଘࡏ͢Δ • ࠓճALB→EC2Λ࡞ࡁΈ • Amazon SNSͰτϐοΫΛ࡞ࡁΈ • ϝʔϧΞυϨεೝূࡁΈͰϝʔϧ͕ૹΕΔঢ়ଶ
• ը໘Ωϟϓνϟ2020/5/9ݱࡏͷͷͳͷͰɺมߋ͞ΕΔՄೳੑ͋Γ
CanaryΛ࡞͢Δ • SynthetisͷࢹCanaryͱ͍͏୯ҐͰ࡞Ͱ͖Δ • CloudWatchϖʔδͷࠨϖΠϯΛݟΔͱίίʹ͋Δ
CanaryΛ࡞͢Δ • “CanaryΛ࡞” Λԡͯ͠࡞Λ࢝ΊΔ
CanaryΛ࡞͢Δ • σϑΥϧτͰ “ϋʔτϏʔτͷϞχλϦϯά” ͕બ͞Ε͍ͯΔͷͰɺ ͦͷ··࣍ • Canaryͷ “໊લ” ͱ
“ΤϯυϙΠϯτURL” Λೖྗ
CanaryΛ࡞͢Δ • CloudWatch ΞϥʔϜΛઃఆ͢Δ • “৽͍͠ΞϥʔϜͷՃ” Λԡͯ͠ΞϥʔϜΛ࡞͢Δ • σϑΥϧτͰޭ͕90%ҎԼʹͳͬͨΒΞϥʔϜʹͳΔઃఆ
CanaryΛ࡞͢Δ • ΞϥʔϜʹͳͬͨࡍͷ௨Λઃఆ͢Δ • “͜ͷ Canary ͷ௨Λઃఆ͢Δ” ͕͋ΔͷͰ։͘ • ࠓճطଘͰ
“wakamatsu-alert” Λ࡞͍ͯ͠ΔͷͰɺͦΕΛબ
CanaryΛ࡞͢Δ • ओͳઃఆऴΘͬͨͷͰɺҰ൪Լʹ͋Δ “CanaryΛ࡞” Λԡͯ͠࡞ Λྃ • ࡞·Ͱগ͕͔͔࣌ؒ͠Δ
Canary࡞ޭʂ • CanaryΛ࡞ͯ͠ࢹ͕ޭ͢Δͱ͜Μͳײ͡
WebServerΛఀࢭͯ͠ΈΔͱɺɺ • EC2ͰApache(httpd)͕ಈ͍͍ͯΔͷͰɺ͜ΕΛࢭΊΔͱɺɺ
ޭ͕90%ҎԼʹͳͬͨͷͰ • ͜Μͳϝʔϧ͕དྷΔ
Goal !!
·ͱΊ
·ͱΊ • ֎ܗࢹγεςϜ֎෦͔Βਖ਼ৗͳ͜ͱΛࢹ͢Δ • SyntheticsURLࢹ͔Β߹ࢹ·ͰରԠ͍ͯ͠Δ • ؆୯ʹઃఆͰ͖ΔͷͰੋඇ͓ࢼ͠Λʂ