Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
ECSにおける バッチ運用について
hatappi
June 02, 2017
Technology
4
960
ECSにおける バッチ運用について
ECS + Hako + Digdagによるバッチ運用
AWS SUMMIT TOKYO 2017 JAWS-UG ナイトイベント
hatappi
June 02, 2017
Tweet
Share
More Decks by hatappi
See All by hatappi
hatappi
0
300
hatappi
2
1.1k
hatappi
0
95
hatappi
2
240
hatappi
1
580
hatappi
0
770
hatappi
2
1.4k
hatappi
1
1.2k
hatappi
1
370
Other Decks in Technology
See All in Technology
eayedi
2
130
optim
0
190
hagyyyy
0
170
nkjzm
0
560
norioikedo
0
210
ocise
1
1.8k
conciergeu
0
150
raykataoka
9
8.1k
go5paopao
4
400
puhitaku
3
1.1k
picardparis
4
2.3k
syoshie
0
360
Featured
See All Featured
ufuk
56
5.4k
dotmariusz
94
5.5k
jakevdp
774
200k
keavy
107
14k
tammielis
237
23k
jcasabona
8
550
paulrobertlloyd
72
1.4k
reverentgeek
167
7.2k
sferik
610
54k
nonsquared
81
3.4k
akmur
252
19k
mojombo
358
62k
Transcript
ECSʹ͓͚Δ όονӡ༻ʹ͍ͭͯ by hatappi JAWS-UGษڧձʲAWS Summit Tokyo 2017ʳ 1
ࣗݾհ • ໊લ: ാத ༔࡞ • hatappi: hatappi1225: • ձࣾ:
גࣜձࣾSpeee 2
3
Γ͔ͨͬͨ͜ͱ • όονΛฒྻͰΒ͍ͤͨ • εΫϦϓτͷ࣮ߦॱ൪Λཧ్ͯ͠தͰམͪͯམ ͪͨͱ͜Ζ͔Β։͍࢝ͨ͠ 4
Γ͔ͨͬͨ͜ͱ • όονΛฒྻͰΒ͍ͤͨ => ECS + Hako • εΫϦϓτͷ࣮ߦॱ൪Λཧ్ͯ͠தͰམͪͯམ ͪͨͱ͜Ζ͔Β։͍࢝ͨ͠
=> Digdag 5
࡞ͬͨͷ 6
࡞ͬͨͷ 7 &$4 )BLP %JHEBHͰ࡞͢Δ ڧݻͳόονγεςϜͷ࡞
࡞ͬͨͷ 8 &$4 )BLP %JHEBHͰ࡞͢Δ ڧݻͳόονγεςϜͷ࡞
࡞ͬͨͷ 9 ڧݻͳ cc λεΫ͕མͪͯ ࠶࣮ߦ͢ΕԿͰોΔ
࡞ͬͨͷ 10
• Docker Imageͷ࡞HashiCorpͷPackerΛ༻ • MItamaeͰϓϩϏδϣχϯά • ItamaeࣾͰଟ͘ΘΕ͓ͯΓMItamaeItamaeͷmruby൛ • ࡞ͨ͠ΠϝʔδECRʹPush •
AMIʹ͍ͭͯPacker͔Β࡞͍ͯ͠Δ 11
• Jenkins͔ΒΩοΫͯ͠όον։࢝ • https://github.com/eagletmt/hako • YAMLͰهࡌ • DockerίϯςφΛσϓϩΠ͢ΔͨΊͷπʔϧ • RunTask
APIΛΩοΫ͢Δhako oneshot 12
hako oneshot • RunTask APIΛ͍ͨͨͯϙʔϦϯά͠ͳ͕ΒऴྃΛ ·ͭ • Ϧιʔε͕Γͳ͍࣌AutoScalingάϧʔϓ͔Β εέʔϧΞτͯ͘͠ΕΔ •
λεΫఆٛͷཧ 13
• DigdagTreasureDataͷϫʔΫϑϩʔΤϯδϯ • ηογϣϯใΛDataVolumeʹୀආ͠λεΫ͕ࣦ ഊͯ͠ίϯςφ͕ഁغ͞Εͯ࠶ཱͯͨ࣌͠ʹ ଓ͖͔Β࣮ߦͰ͖Δ 14
• Digdag͔ΒύϥϨϧ࣮ߦͰhako oneshotͰඞཁͳ ͚ͩΠϯελϯεΛਵ࣌Ճͭͭ͠λεΫΛ࣮ߦ • ࠷େͰ60͘Β͍ͷλεΫ͕ฒྻͰΔ • ֤λεΫͰ͕ࣗऴΘͬͨͷ͔ΛECSͷAPIΛͨͨ ͖ͭͭϙʔϦϯά͢ΔͷͰAPI੍ݶʹ͔͔Δ 15
• CloudWatch EventͰECSͷλεΫͷঢ়ଶมԽΛݕ ͯ͠LambdaؔΛݺͼग़ͯ͠S3ʹஔ • HakoλεΫͷऴ͔ྃͨ͠Ͳ͏͔ΛECS APIͰ ͳ͘S3ʹ͓͔ΕͨϑΝΠϧ͔ΒऔಘͰ͖ΔͷͰͦ ͪΒΛ༻ 16
·ͱΊ • ඞཁͳϩάCloudWatchඞཁͳ͍ͷίϯς φͱͱʹഁغͰ͖Δ • DigdagʹΑͬͯεςʔτཧ͞ΕΔͷͰ0͔Β͔͠ ελʔτͰ͖ͳ͍ढറ͔Βͷղ์ • ͦΕͧΕ͕ίϯςφͰִ͞Ε͍ͯΔͷͰଞʹґଘ ͤͣඞཁ͕͋ΕϦιʔεΛՃͰ͖Δ
17