ECSにおける バッチ運用について

C582b722e015633f7900083f8ea75732?s=47 hatappi
June 02, 2017

ECSにおける バッチ運用について

ECS + Hako + Digdagによるバッチ運用
AWS SUMMIT TOKYO 2017 JAWS-UG ナイトイベント

C582b722e015633f7900083f8ea75732?s=128

hatappi

June 02, 2017
Tweet

Transcript

  1. ECSʹ͓͚Δ όονӡ༻ʹ͍ͭͯ by hatappi JAWS-UGษڧձʲAWS Summit Tokyo 2017ʳ 1

  2. ࣗݾ঺հ • ໊લ: ാத ༔࡞ • hatappi: hatappi1225: • ձࣾ:

    גࣜձࣾSpeee 2
  3. 3

  4. ΍Γ͔ͨͬͨ͜ͱ • όονΛฒྻͰ૸Β͍ͤͨ • εΫϦϓτͷ࣮ߦॱ൪Λ؅ཧ్ͯ͠தͰམͪͯ΋མ ͪͨͱ͜Ζ͔Β։͍࢝ͨ͠ 4

  5. ΍Γ͔ͨͬͨ͜ͱ • όονΛฒྻͰ૸Β͍ͤͨ => ECS + Hako • εΫϦϓτͷ࣮ߦॱ൪Λ؅ཧ్ͯ͠தͰམͪͯ΋མ ͪͨͱ͜Ζ͔Β։͍࢝ͨ͠

    => Digdag 5
  6. ࡞ͬͨ΋ͷ 6

  7. ࡞ͬͨ΋ͷ 7 &$4 )BLP  %JHEBHͰ࡞੒͢Δ ڧݻͳόονγεςϜͷ࡞੒

  8. ࡞ͬͨ΋ͷ 8 &$4 )BLP  %JHEBHͰ࡞੒͢Δ ڧݻͳόονγεςϜͷ࡞੒

  9. ࡞ͬͨ΋ͷ 9 ڧݻͳ cc λεΫ͕མͪͯ΋ ࠶࣮ߦ͢Ε͹Կ౓Ͱ΋ોΔ

  10. ࡞ͬͨ΋ͷ 10

  11. • Docker Imageͷ࡞੒͸HashiCorpͷPackerΛ࢖༻ • MItamaeͰϓϩϏδϣχϯά • Itamae͸ࣾ಺Ͱଟ͘࢖ΘΕ͓ͯΓMItamae͸Itamaeͷmruby൛ • ࡞੒ͨ͠Πϝʔδ͸ECRʹPush •

    AMIʹ͍ͭͯ΋Packer͔Β࡞੒͍ͯ͠Δ 11
  12. • Jenkins͔ΒΩοΫͯ͠όον։࢝ • https://github.com/eagletmt/hako • YAMLͰهࡌ • DockerίϯςφΛσϓϩΠ͢ΔͨΊͷπʔϧ • RunTask

    APIΛΩοΫ͢Δhako oneshot 12
  13. hako oneshot • RunTask APIΛ͍ͨͨͯϙʔϦϯά͠ͳ͕ΒऴྃΛ ·ͭ • Ϧιʔε͕଍Γͳ͍࣌͸AutoScalingάϧʔϓ͔Β εέʔϧΞ΢τ΋ͯ͘͠ΕΔ •

    λεΫఆٛͷ؅ཧ 13
  14. • Digdag͸TreasureData੡ͷϫʔΫϑϩʔΤϯδϯ • ηογϣϯ৘ใΛDataVolumeʹୀආ͠λεΫ͕ࣦ ഊͯ͠ίϯςφ͕ഁغ͞Εͯ΋࠶౓ཱͯ௚ͨ࣌͠ʹ ଓ͖͔Β࣮ߦͰ͖Δ 14

  15. • Digdag͔ΒύϥϨϧ࣮ߦͰhako oneshotͰඞཁͳ ਺͚ͩΠϯελϯεΛਵ࣌௥Ճͭͭ͠λεΫΛ࣮ߦ • ࠷େͰ60͘Β͍ͷλεΫ͕ฒྻͰ૸Δ • ֤λεΫͰࣗ෼͕ऴΘͬͨͷ͔ΛECSͷAPIΛͨͨ ͖ͭͭϙʔϦϯά͢ΔͷͰAPI੍ݶʹ͔͔Δ 15

  16. • CloudWatch EventͰECSͷλεΫͷঢ়ଶมԽΛݕ ஌ͯ͠Lambdaؔ਺Λݺͼग़ͯ͠S3ʹ഑ஔ • Hako͸λεΫͷऴ͔ྃͨ͠Ͳ͏͔ΛECS APIͰ͸ ͳ͘S3ʹ͓͔ΕͨϑΝΠϧ͔ΒऔಘͰ͖ΔͷͰͦ ͪΒΛ࢖༻ 16

  17. ·ͱΊ • ඞཁͳϩά͸CloudWatch΁ඞཁͳ͍΋ͷ͸ίϯς φͱͱ΋ʹഁغͰ͖Δ • DigdagʹΑͬͯεςʔτ؅ཧ͞ΕΔͷͰ0͔Β͔͠ ελʔτͰ͖ͳ͍ढറ͔Βͷղ์ • ͦΕͧΕ͕ίϯςφͰִ཭͞Ε͍ͯΔͷͰଞʹґଘ ͤͣඞཁ͕͋Ε͹ϦιʔεΛ௥ՃͰ͖Δ

    17