$30 off During Our Annual Pro Sale. View Details »

AWS Step Functions × AWS SAMで実現する家族ノートの低運用コストETL基盤/ kazokunote-stepfunctions-awssam-etl

AWS Step Functions × AWS SAMで実現する家族ノートの低運用コストETL基盤/ kazokunote-stepfunctions-awssam-etl

2021/09/29 AWS Devday Online Japan 2021の登壇資料です

Shoichiro Nagai(shnagai)

September 29, 2021
Tweet

More Decks by Shoichiro Nagai(shnagai)

Other Decks in Technology

Transcript

  1. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    AWS Step Functions × AWS Serverless Application Model (AWS SAM)
    Ͱ࣮ݱ͢ΔՈ଒ϊʔτͷ௿ӡ༻ίετETLج൫
    ίωώτגࣜձࣾ
    ӬҪউҰ࿠(@shnagai)
    A W S D e v D a y O n l i n e J a p a n 2 0 2 1
    2 0 2 1 / 0 9 / 2 9 E - 3

    View Slide

  2. ࣗݾ঺հ
    ओͳ׆ಈ
    "84%FW%BZ͸ԑ͋ͬͯ೥࿈ଓͰొஃ
    ίωώτΤϯδχΞϒϩάIUUQTUFDIDPOOFIJUPDPNBSDIJWFBVUIPSOBHBJT
    աڈͷొஃࢿྉIUUQTTQFBLFSEFDLDPNTIPJDIJSPO
    ίωώτגࣜձࣾɹςΫϊϩδʔਪਐ෦ɹ
    Πϯϑϥ/σʔλɾػցֶश
    @shnagai
    ӬҪউҰ࿠

    View Slide

  3. ίωώτʹ͍ͭͯ

    View Slide

  4. ϚϚϦʹ͍ͭͯ

    View Slide

  5. ɹɹɹɹ
    ʹ͍ͭͯ

    View Slide

  6. ɹɹɹɹ
    ʹ͍ͭͯσʔλͱ͸ https://info-kazokunote.mamari.jp/

    View Slide

  7. ࠓ೔͓࿩͢Δ͜ͱ
    w ίωώτͰͷ&5-ج൫Λ࡞ΔʹࢸͬͨσʔλपΓͷ՝୊
    w &5-ج൫ͷٕज़બఆ
    w 4UFQ'VODUJPOTͰ૊Ή&$4'BSHBUF -BNCEBͷϫʔΫϑϩʔࣄྫ
    w "844".Λ࢖ͬͨϫʔΫϑϩʔͷίʔυ؅ཧ

    View Slide

  8. ҰͭͰ΋࢖͑ͦ͏ͳύλʔϯΛ࣋ͪؼͬͯ΋Β͑Δͱ͏Ε͍͠Ͱ͢

    View Slide

  9. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    ίωώτͰͷETLج൫Λ࡞Δʹࢸͬͨ
    σʔλपΓͷ՝୊

    View Slide

  10. ίωώτʹ͋Δσʔληοτ͸େ͖͘෼͚Δͱͭ
    w σʔλϕʔε "NB[PO"VSPSB
    ʹ͋ΔΞϓϦέʔγϣϯͷσʔλ
    w ϚϚϦ಺Ͱͷ࣭໰΍ճ౴ͷσʔλ
    w Ϣʔβͷଐੑσʔλ
    w ֎෦σʔλ΢ΣΞϋ΢εʹ஝ੵ͍ͯ͠Δߦಈϩά
    w ΞϓϦ಺Ͱͷ࣭໰Ӿཡ΍ճ౴Λͨ͠ͱ͍͏Πϕϯτ

    View Slide

  11. σʔλͷ׆༻ํ๏͸ݸผ࠷దԽ͞Ε͍ͯΔ
    w ػցֶश1+Ͱ͸
    w "84(MVFͰ%#ͷσʔλΛநग़ͯ͠$47Խ
    w 1ZUIPOͷόονͰߦಈϩάΛ֎෦%8)͔Βநग़͠$47Խ
    w 1BOEBTͰͭΛ݁߹ͯͭ͠ͷσʔλͱͯ͠ѻ͏
    w σʔλநग़Ͱ͸
    w #*πʔϧ্Ͱ%#ͱ֎෦%8)ͷߦಈϩάΛ݁߹͢Δύλʔϯ
    w όονॲཧͰ%#ͱ֎෦%8)ͷߦಈϩάΛ݁߹͢Δύλʔϯ

    View Slide

  12. σʔλͷ׆༻ํ๏͸ݸผ࠷దԽ͞Ε͍ͯΔ
    w ػցֶश1+Ͱ͸
    w "84(MVFͰ%#ͷσʔλΛநग़ͯ͠$47Խ
    w 1ZUIPOͷόονͰߦಈϩάΛ֎෦%8)͔Βநग़͠$47Խ
    w 1BOEBTͰͭΛ݁߹ͯͭ͠ͷσʔλͱͯ͠ѻ͏
    w σʔλநग़Ͱ͸
    w #*πʔϧ্Ͱ%#ͱ֎෦%8)ͷߦಈϩάΛ݁߹͢Δύλʔϯ
    w όονॲཧͰ%#ͱ֎෦%8)ͷߦಈϩάΛ݁߹͢Δύλʔϯ
    ͍͍ͩͨಉ͡Α͏ͳॲཧ͕
    ࢸΔͱ͜ΖͰߦΘΕ͍ͯΔঢ়گ

    View Slide

  13. σʔλऩू͸ߟ͑Δ͜ͱ͕ଟ͍ɻɻ
    w Ͳͷ%#ʹͲͷݖݶͰΞΫηε͢Ε͹͍͍ͷ͔
    w ऩूॲཧͰҙਤͤ͵σʔλϩετ͕ى͖͍ͯͳ͍͔
    w ऩूͨ͠σʔλ͸৴པग़དྷΔͷ͔
    w σʔλ͕େྔͷ৔߹͸େ͖ͳίϯϐϡʔτϦιʔε΋ඞཁ
    w ଞͰಈ͍͍ͯΔॲཧͱόοςΟϯάͯ͠%#ʹେ͖ͳෛՙΛ͔͚ͳ͍͔
    w %#෼ੳ%#ͱ͍͏αʔϏε͔Β͸੾Γ཭ͨ͠%#Λ༻ҙ͍ͯ͠Δ

    View Slide

  14. σʔλऩू͸ߟ͑Δ͜ͱ͕ଟ͍ɻɻ
    w Ͳͷ%#ʹͲͷݖݶͰΞΫηε͢Ε͹͍͍ͷ͔
    w ऩूॲཧͰҙਤͤ͵σʔλϩετ͕ى͖͍ͯͳ͍͔
    w ऩूͨ͠σʔλ͸৴པग़དྷΔͷ͔
    w σʔλ͕େྔͷ৔߹͸େ͖ͳίϯϐϡʔτϦιʔε΋ඞཁ
    w ଞͰಈ͍͍ͯΔॲཧͱόοςΟϯάͯ͠%#ʹେ͖ͳෛՙΛ͔͚ͳ͍͔
    w %#෼ੳ%#ͱ͍͏αʔϏε͔Β͸੾Γ཭ͨ͠%#Λ༻ҙ͍ͯ͠Δ
    ݸผͰ࣮૷͢Δͷ͸ޮ཰͕ѱ͍ͷ͸ཧղͭͭ͠΋
    ઐ೚ͷσʔλΤϯδχΞ΋͓Βͣ༏ઌ౓্͕͕Βͣ

    View Slide

  15. ͦΜͳத৽αʔϏεͷ։ൃ͕࢝·Δ
    w Ո଒ϊʔτ͸ɺϚϚϦͷσʔλΛ෼ੳͯ͠ఏڙ͢ΔUP#ͷαʔϏε
    w ίωώτʹ஝ੵ͍ͯ͠Δσʔλࣗମ͕ϓϩμΫτͱͯ͠ͷՁ஋ʹ௚݁
    w ౰વσʔλ඼࣭ʹ৴པੑ͕ٻΊΒΕΔ
    ɹɹɹɹ

    View Slide

  16. ͷσʔληοτ࡞੒ΛͲͷํࣜʹ͢Δͷ͔ݕ౼
    w ᶃόονͰσʔλͷऩू݁߹Λߦ͍৽͍͠σʔληοτΛ࡞Δύλʔϯ
    w ·ͨ৽ͨͳσʔλऩू݁߹ॲཧ͕஀ੜͯ͠͠·͏
    w ᶄΞϓϦέʔγϣϯ͸σʔλऩू݁߹͸ҙࣝͤͣʹσʔλϚʔτΛར༻͢
    Δ͚ͩʹ͢Δύλʔϯ
    ɹɹɹɹ

    View Slide

  17. ͷσʔληοτ࡞੒ΛͲͷํࣜʹ͢Δͷ͔ݕ౼
    ɹɹɹɹ
    ֎෦
    DWH
    όον
    ॲཧ
    ֎෦DWH
    όον
    ॲཧ
    ಠࣗͰ
    ऩू/݁߹
    σʔλϚʔτ
    σʔλϨΠΫ
    ऩू
    ݁߹
    औಘ
    ᶃόονͰσʔλͷऩू/݁߹Λߦ͍৽͍͠σʔληοτΛ࡞Δύλʔϯ
    ᶄΞϓϦέʔγϣϯ͸σʔλऩू/݁߹͸ҙࣝͤͣʹ
    σʔλϚʔτΛར༻͢Δ͚ͩʹ͢Δύλʔϯ

    View Slide

  18. ͷσʔληοτ࡞੒ΛͲͷํࣜʹ͢Δͷ͔ݕ౼
    ɹɹɹɹ
    ֎෦
    DWH
    όον
    ॲཧ
    ֎෦DWH
    όον
    ॲཧ
    ಠࣗͰ
    ऩू/݁߹
    σʔλϚʔτ
    σʔλϨΠΫ
    ऩू
    ݁߹
    औಘ
    ᶃόονͰσʔλͷऩू/݁߹Λߦ͍৽͍͠σʔληοτΛ࡞Δύλʔϯ
    ᶄΞϓϦέʔγϣϯ͸σʔλऩू/݁߹͸ҙࣝͤͣʹ
    σʔλϚʔτΛར༻͢Δ͚ͩʹ͢Δύλʔϯ
    ϓϩμΫτʹ͓͚Δσʔλͷॏཁ౓ͱ
    σʔλ׆༻ͷαΠϩԽΛ๷͙ͱ͍͏͜ͱΛ໨తʹ
    ᶄΛ࣮ݱ͢ΔͨΊʹσʔλج൫Λ࡞Δ͜ͱΛܾఆ

    View Slide

  19. σʔλج൫ߏஙͷελʔτ
    w ͍͖ͳΓ׬ᘳͳ΋ͷ͸໨ࢦͣ͞είʔϓΛߜͬͯσʔλج൫Λઃܭ
    w Ո଒ϊʔτͷ.71ϦϦʔεʹඞཁͳσʔλϚʔτΛ༻ҙ͢Δͷ͕ΰʔϧ
    w σʔλϚʔτ͔Βٯࢉͯ͠ඞཁ࠷খݶͷσʔλϨΠΫΛ࡞Δͱ͜Ζ͔Βελʔτ
    w ର৅σʔλΛؾܰʹ௥Ճ͸ग़དྷΔΑ͏ʹઃܭ͢Δ
    w "VSPSBʹ͋ΔσʔλΛ֎෦%8)ʹҠૹ͢Δ&5-ج൫Λ࡞Δͷ͕TUεςοϓ

    View Slide

  20. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    ETLج൫ͷٕज़બఆ

    View Slide

  21. ίωώτͷσʔλج൫
    ϚϚϦ಺QAσʔλ
    Ϣʔβσʔλ
    ೔࣍ͰඞཁͳσʔλΛ֎෦DWHʹసૹ
    DataLake
    ߦಈϩά
    ϚϚϦ಺QAσʔλ
    Ϣʔβσʔλ
    DataMart
    ΞϓϦέʔγϣϯ͔Β
    ࢀর͢ΔϏϡʔ
    DataWarehouse
    ूܭσʔλ
    Ո଒ϊʔτͷΞϓϦέʔγϣϯ
    ֎෦DWH
    BIπʔϧ
    Ո଒ϊʔτ σʔλΛࢀর

    View Slide

  22. ࠓճͷ࿩ͷείʔϓ
    ϚϚϦ಺QAσʔλ
    Ϣʔβσʔλ
    ೔࣍ͰඞཁͳσʔλΛ֎෦DWHʹసૹ
    DataLake
    ߦಈϩά
    ϚϚϦ಺QAσʔλ
    Ϣʔβσʔλ
    DataMart
    ΞϓϦέʔγϣϯ͔Β
    ࢀর͢ΔϏϡʔ
    DataWarehouse
    ूܭσʔλ
    Ո଒ϊʔτͷΞϓϦέʔγϣϯ
    ֎෦DWH
    BIπʔϧ
    Ո଒ϊʔτ σʔλΛࢀর

    View Slide

  23. &5-ج൫ͷٕज़બఆʹ͋ͨΓҙࣝͨ͜͠ͱ
    w ։ൃऀ΋͘͠͸ඞཁͳਓ͕৽͍͠&5-ॲཧΛ௥Ճɾ࡟আग़དྷΔ
    w ίʔυԽ͞Ε͓ͯΓ͔ͭ؆୯ͳهड़͕ग़དྷΔͷ͕๬·͍͠
    w ΠϯϑϥPSσʔλΤϯδχΞ͔͠؅ཧɾߋ৽ग़དྷͳ͍ঢ়ଶʹ͸͠ͳ͍
    w ϫʔΫϑϩʔΤϯδϯࣗମͷӡ༻ίετ͕௿͍
    w ϚωʔδυαʔϏε΋͘͠͸ͦΕʹ਌͍͠ӡ༻ίετ͕ཧ૝
    w ઐଐͰ໘౗ΛݟΔਓ͕͍ͳ͍ͷͰ࡞ͬͨΒޙ͸উखʹಈ͍ͯͯΤϥʔདྷͨͱ͖͚ͩ൓Ԡ͢Δ
    Έ͍ͨͳͷ͕ཧ૝

    View Slide

  24. &5-πʔϧ͸&NCVMLΛར༻
    w ༷ʑͳσʔλιʔεؒͷσʔλసૹΛࢧԉ͢ΔCVMLEBUBMPBEFS
    IUUQTHJUIVCDPNFNCVMLFNCVML
    w ๛෋ͳϓϥάΠϯ͕͋ΔͷͰॊೈʹॲཧΛॻ͚Δ
    w *OQVU0VUQVUͱ༷ͯ͠ʑͳσʔλιʔεʹରԠ
    w 'JMUFSͰதؒॲཧ΋؆୯ʹ
    w ࣾ֎Ͱͷ׆༻ࣄྫ΋ଟ਺͋Γ
    w ίωώτͰ΋طʹӡ༻࣮੷͸͋Γ

    View Slide

  25. &NCVMLͷఆٛ͸γϯϓϧ
    w ॳݟͰ΋͍͍ͩͨԿΛ͍ͯ͠Δ͔
    ཧղग़དྷΔ؆ܿͳهड़
    w 2VFSZ۟ʹσόοά͠΍͍͢Α͏
    ʹੜͷΫΤϦΛೖΕ͍ͯΔ

    View Slide

  26. ӡ༻ίετԼ͛ΔͨΊʹ&NCVMLΛαʔόϨεʹӡ༻
    w &NCVMLϓϩηε͸ৗறͤͣॲཧຖʹ'BSHBUFλεΫ͕ىಈ
    w ࣮ߦ࣌ʹͷΈϓϩηε͕ଘࡏ
    w ͋ΔॲཧͰ໰୊͕ى͖ͯ΋ଞͷ&NCVMLͷ࣮ߦʹ͸ѱӨڹΛ༩͑ͳ͍
    w ॲཧͷܭࢉʹඞཁͳίϯϐϡʔτϦιʔεΛ౎౓༻ҙ՝ۚ΋࢖͏͚ͩ
    w ։ൃ࣌΋&NCVMLͷॲཧʹ࠷దԽͨ͠ݕূͰ0,
    w ౰વ࠷௿ݶͷ&NCVMLͷόʔδϣϯ؅ཧ౳͸ൃੜ͢Δ

    View Slide

  27. ϫʔΫϑϩʔΤϯδϯൺֱ 4UFQ'VODUJPOTͱ%JHEBH

    ߲໨/ϫʔΫϑϩʔछྨ Step Functions Digdag
    جຊػೳ
    δϣϒ࣮ߦ/ϦτϥΠ/
    Τϥʔॲཧ
    ˕ ˕
    ؅ཧը໘ ̋ ˕
    FargateλεΫͷ࣮ߦ ˕ ̋
    ίʔυ؅ཧ
    ̋
    ※AWS SAMͰΧόʔ
    ˕
    ϫʔΫϑϩʔϓϩηε
    ͷ؅ཧ
    ˕ ✕

    View Slide

  28. ϫʔΫϑϩʔΤϯδϯൺֱ 4UFQ'VODUJPOTͱ%JHEBH

    ߲໨/ϫʔΫϑϩʔछྨ Step Functions Digdag
    جຊػೳ
    δϣϒ࣮ߦ/ϦτϥΠ/
    Τϥʔॲཧ
    ˕ ˕
    ؅ཧը໘ ̋ ˕
    FargateλεΫͷ࣮ߦ ˕ ̋
    ίʔυ؅ཧ
    ̋
    ※AWS SAMͰΧόʔ
    ˕
    ϫʔΫϑϩʔϓϩηε
    ͷ؅ཧ
    ˕ ✕
    ػೳ໘͸ͲͪΒ΋ຬ͍͕ͨͯͨ͠
    ӡ༻ίετͷ௿͞ͰStep FunctionsΛ࠾༻

    View Slide

  29. ϫʔΫϑϩʔΤϯδϯࣗମͷӡ༻ίετ͕ܾΊखʹͳͬͨ
    w %JHEBHϓϩηεΛͲ͔͜Ͱৗறͤ͞ͳ͍ͱ͍͚ͳ͍఺͕ωοΫʹͳͬͨ
    w &$4͔&$Ͱ͍͘ͷ͔ͷબఆ΋͍Δ͠ӡ༻΋ඞཁ
    w %JHEBHϓϩηεͷ؂ࢹ΋ඞཁ
    w %JHEBHࣗମͷӡ༻΋ඞཁ όʔδϣϯΞοϓରԠ΍ϓϥάΠϯௐࠪ

    w %JHEBH಺ͷδϣϒͷ࣮ߦ݁Ռ΋΋ͪΖΜ؂ࢹ͢Δ
    w ΋ͪΖΜ%JHEBH͕༏Ґͳ఺΋͋Δ͕ࠓճ͸௿ӡ༻ίετ͕伴ͩͬͨ
    w 4UFQ'VODUJPOTͩͱδϣϒͷ࣮ߦ݁Ռͷ؂ࢹ͚ͩͰ0,
    w ͲΜͳॲཧΛͲΜͳϑϩʔͰಈ͔͔͚ͩ͢ʹઐ೦ͯ͠։ൃग़དྷΔ
    w ͜ΕͧαʔόϨεͷڧ͞

    View Slide

  30. ϫʔΫϑϩʔͷఆٛΛ"84ίϯιʔϧ͚ͩͰ؅ཧ͢Δͷ͸ݫ͍͠
    w 4UFQ'VODUJPOT͸"84ίϯιʔϧͰ΋खܰʹઃఆՄೳ
    w ։ൃ΍σόοάʹ͸ΊͪΌͪ͘ΌָͰྑ͍
    w ৭Μͳਓʹ৮ͬͯ΄͍͚͠Ͳมߋ؅ཧग़དྷͳ͍ͱ͕͢͞ʹ͓ئ͍ग़དྷͳ͍
    w ίϯύωͰࣗ༝ʹ௥Ճͯ͠Ͷ ϨϏϡʔͳ͠͸ݫ͍͠

    w ͜ͷ఺ΛΧόʔ͢΂͘"844".Ͱ4UFQ'VODUJPOTΛ؅ཧ͢Δ͜ͱʹͨ͠
    w ৄࡉ͸ɺޙ൒ͷ"844".Λ࢖ͬͨϫʔΫϑϩʔͷίʔυ؅ཧͰ঺հ

    View Slide

  31. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Step FunctionsͰ૊Ή
    ECS/Fargate, LambdaͷϫʔΫϑϩʔࣄྫ

    View Slide

  32. 4UFQ'VODUJPOTͱ͸
    w "84͕ఏڙ͢ΔϚωʔδυͷαʔόʔϨεϫʔΫϑϩʔαʔϏε
    w هड़͸"4- "NB[PO4UBUFT-BOHVBHF
    ˞+40/ϕʔε
    w Ξοϓσʔτଟ͍ͷͰ"84తʹྗΛೖΕͯΔαʔϏεͩͱײ͍ͯ͡Δ
    w 8PSLGMPX4UVEJPͱ͍͏υϥοάΞϯυυϩοϓͰϫʔΫϑϩʔߏஙग़དྷΔػೳ΋ग़͖͍ͯͯ
    Δ

    View Slide

  33. ϫʔΫϑϩʔΤϯδϯʹඞཁͳػೳΛҰ௨Γἧ͍͑ͯΔ
    w ෳ਺ͷϓϩηεΛॊೈͳ৚݅Ͱ࣮ߦ͢Δ͜ͱ͕Մೳ
    w ϫʔΫϑϩʔͷϏδϡΞϥΠζ
    w ϫʔΫϑϩʔ಺Ͱͷྫ֎Τϥʔॲཧ΍ϦτϥΠػߏ
    w ࣮ߦཤྺͷ؅ཧ΍ϩάͷࢀর͕खܰʹग़དྷΔ
    w "84ίϯιʔϧPS"84$-*Λ࢖͏

    View Slide

  34. αʔόϨεͳͷͰϫʔΫϑϩʔΤϯδϯࣗମͷ໘౗Λݟͳͯ͘ྑ͍
    w ϫʔΫϑϩʔͷৗறϓϩηεͷ؂ࢹ΍৑௕ߏ੒Λߟ͑ͳͯ͘ྑ͍
    w ϫʔΫϑϩʔͷ࣮ߦ͸৺഑ͤͣʹͲΜͳॲཧΛಈ͔͔͢ʹ͚ͩઐ೦ग़དྷΔ

    View Slide

  35. "84͕ఏڙ͍ͯ͠ΔͷͰ"84αʔϏεͱͷ਌࿨ੑൈ܈
    w ؆୯ʹδϣϒͷ࣮ߦ΍׬ྃ଴͕ͪग़དྷΔ

    View Slide

  36. ࿈ܞ͢Δ"84αʔϏε͸ͲΜͲΜ૿͍͑ͯΔ
    2019೥9݄ 2021೥9݄
    https://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/connect-supported-services.html

    View Slide

  37. 4UFQ'VODUJPOTͷओͳొ৔ਓ෺
    w 4UBUFT
    w ೖྗʹج͍ͮͯΞΫγϣϯΛ࣮ߦͯ͠ग़ྗΛଞͷঢ়ଶʹ౉͢୯Ґ
    w ͭͷύλʔϯ͕༻ҙ͞Ε͍ͯΔ
    w 5BTL ͳΜΒ͔ͷॲཧ࣮ߦ

    w $IPJDF ೖྗʹج͖ͮॲཧ෼ذ

    w 'BJMPS4VDDFTT ࣦഊPS੒ޭͰ࣮ߦఀࢭ

    w 1BTT ೖྗΛग़ྗʹ౉͢

    w 8BJU Ұఆ࣌ؒεϦʔϓ

    w 1BSBMMFM ฒྻ࣮ߦ

    w .BQ ಈతʹ൓෮࣮ߦ

    View Slide

  38. 4UFQ'VODUJPOTͷओͳొ৔ਓ෺
    w 4UBUF.BDIJOF
    w 4UFUFTͷू߹ମ ϫʔΫϑϩʔຊମ

    w 4UBUF.BDIJOF୯ҐͰ4UFQ'VODUJPOT্Ͱ࣮ߦ͞ΕΔ

    View Slide

  39. վΊͯࠓճͷ&5-ॲཧͷϫʔΫϑϩʔ֓ཁ
    w "VSPSBͷςʔϒϧΛ֎෦%8)ʹҠૹ͢Δ&NCVMLͷॲཧ͕ϝΠϯ
    w ෳ਺ςʔϒϧͷσʔλΛҠૹ͍ͨ͠ͷͰෳ਺ͷ&NCVMLͷॲཧΛಈ͔͍ͨ͠
    w ೔࣍ॲཧͳͷͰಛఆͷ࣌ؒʹىಈ͍ͨ͠
    w ςʔϒϧαΠζʹΑΓσʔλྔ΍ॲཧ࣌ؒ ඞཁͳϦιʔε
    ͸ϚνϚν
    w ϫʔΫϑϩʔ͕͚ͨ͜ࡍʹ͸ؾͮ͘ඞཁ͕͋ΔͷͰ௨஌͍ͨ͠

    View Slide

  40. ͔͜͜Β4UFQ'VODUJPTͷ࣮ྫަ͑ͯ঺հ

    View Slide

  41. "VSPSBͷςʔϒϧΛ֎෦%8)ʹҠૹ͢Δ&NCVMLͷ4UBUFT
    w &NCVMLͷॲཧͱ'BSHBUFλεΫΛ
    w 5ZQF5BTL
    w 3FTPVSDFTZODͰऴྃ଴ͪ
    w 1BSBNFUFSTͰ'BSHFUFͷఆٛ
    w 1BSBNFUFST5BTL%FGJOJUJPO͸ڞ௨
    w ڞ௨ͷ%PDLFSΠϝʔδΛ࢖͍ͬͯΔͷ
    Ͱɺ$POUBJOFS0WFSSJEFTΛ࢖͍$.%۟Λ
    ্ॻ͖͢Δ͜ͱͰ&NCVMLͷ࣮ߦॲཧΛ෼
    ͚͍ͯΔ

    View Slide

  42. ෳ਺ςʔϒϧͷσʔλΛҠૹ͍ͨ͠ͷͰಉ͡Α͏ͳॲཧΛෳ਺ಈ͔͍ͨ͠
    ࠩ෼͸TaskDefinitionͱCommandͷΈ

    View Slide

  43. ෳ਺ςʔϒϧͷσʔλΛҠૹ͍ͨ͠ͷͰಉ͡Α͏ͳॲཧΛෳ਺ಈ͔͍ͨ͠
    w 1BSBMMFMΛར༻͠ฒྻ࣮ߦ
    w ҰͭͰ΋ࣦഊͨ͠Β$BUDIͯ͠ɺ௨
    ஌༻ͷ4UBUFTʹભҠ
    w #SBODIFTͰฒྻ࣮ߦ͢Δ4UBUFTΛͦ
    ΕͧΕఆٛ͢Δ
    w .BQΛ࢖͍ೖྗ஋ͱͯ͠ςʔϒϧ໊Λ౉͢ύλʔ
    ϯ΋ݕূ͕ͨ͠ɺෳࡶ౓͕૿͢ͷͰࠓճ͸۪௚ʹ
    ॲཧ਺෼Λ1BSBMMFMͰఆٛ͢Δܗʹͨ͠

    View Slide

  44. 4UBUF.BDIJOFΛϏδϡΞϥΠζ͢Δͱ͜Μͳײ͡ʹ
    άϥϑΠϯεϖΫλʔ

    View Slide

  45. ॲཧʹΑͬͯίϯϐϡʔτϦιʔεΛมߋ͍ͨ͠
    w &NCVML͸&$4λεΫͱͯ͠'BSHBUFͰಈ͔͍ͯ͠Δ
    w &$4ͷ৔߹λεΫఆٛͰ$16 .FNϦιʔεΛఆٛ͢Δ
    w ಉ͡λεΫఆٛΛ࢖͑͹ɺಉ͡ίϯϐϡʔτϦιʔε͕෇༩͞ΕΔ
    w ର৅ςʔϒϧʹΑͬͯ͸σʔλྔ΍ͦΕʹ෇ਵ͢Δॲཧ࣌ؒ͸ϚνϚν
    w ΑΓେ͖ͳςʔϒϧʹ͸େ͖ͳίϯϐϡʔτϦιʔεΛ࢖͍͍ͨ
    w &$4λεΫఆٛΛԿύλʔϯ͔༻ҙͯ͠ɺσʔλͷछྨʹΑͬͯ࢖͍෼͚Δߏ੒ʹ

    View Slide

  46. 4UBUFTͷ5BTL%FGJOJUJPOͰίϯϐϡʔτϦιʔεΛ෼͚Δ
    dev-standard: 2vCPU, Mem 4G dev-large: 4vCPU, Mem 8G

    View Slide

  47. ϦτϥΠͷࢦఆ
    w &SSPS&RVBMTର৅ͱͳΔΤϥʔ໊
    w *OUFSWBM4FDPOET࠶ࢼߦ·ͰͷΠϯ
    λʔόϧ
    w #BDLPGG3BUF࠶ࢼߦ࣌ͷ૿Ճ͢Δ
    ৐਺
    w .BY"UUFNQUT࠷େϦτϥΠ਺
    w ͜ͷઃఆͩͱɺඵɺඵɺඵ

    View Slide

  48. Τϥʔॲཧ
    w &SSPS&RVBMTର৅ͱͳΔΤϥʔ໊
    w /FYUભҠઌͷ4UBUFTΛࢦఆ

    View Slide

  49. Τϥʔ࣌ͷ௨஌
    w ௨஌ॲཧΛߦ͏-BNCEBΛ5BTLͱ͠
    ࣮ͯߦ
    w /FYU4UFQͰɺ'BJM4UBUFTʹભҠ
    w ͜Ε͠ͳ͍ͱ4UFQ'VODUJPOTࣗମͷ݁Ռ
    ͕5BTLͷ࣮ߦ੒ޭͰऴΘΓ4VDDFTTʹͳ
    ΔͷͰ஫ҙʂʂ

    View Slide

  50. Τϥʔ͕ى͖ͨ࣌ʹͲͷΑ͏ʹ੾Γ෼͚͍ͯ͠Δ͔
    w TMBDLͷ௨஌Ͱݕ஌
    w TMBDLͷϦϯΫ͔Β4UFQ'VODUJPOTͷ
    ࣮ߦঢ়ଶΛݟʹߦ͘
    w ͜ͷྫͩͱάϨʔͷ෦෼͕͏·࣮͘
    ߦग़དྷͳ͔ͬͨ͜ͱ͕൑໌

    View Slide

  51. 4UBUFTͷ࣮ߦཤྺͷৄࡉΛݟΔ͜ͱ΋ग़དྷΔ

    View Slide

  52. 4UBUF.BDIJOFΛ&WFOU#SJEHFܦ༝Ͱεέδϡʔϧ࣮ߦ

    View Slide

  53. 4UFQ'VDUJPOTͷ։ൃεςʔδϯά؀ڥΛͲ͜·Ͱ༻ҙ͢Δ΂͖͔
    w ௨ৗͷ։ൃͱಉ͘͡ຊ൪εςʔδϯά؀ڥ͕͋Δ͜ͱ͕ཧ૝Ͱ͸͋Δ
    w ͔͠͠ɺ
    w &5-ج൫ͩͱͦͦ͜͜ॏ͍ॲཧͳͷͰຖ೔࢖Θͳ͍σʔλΛ࡞Δͷ͸අ༻໘Ͱແବ
    w ࢖Θͳ͍ҙຯͷͳ͍ϫʔΫϑϩʔຖ೔ಈ͔͢΂͖͔
    w ͨͩɺ։ൃϑϩʔͷதͰ4UFQ'VODUJPOTͷಈ࡞֬ೝͱͯ͠ຊ൪ద༻લͷεςʔδϯά͸ඞਢ
    w ݁ՌɺεέδϡʔϧΛແޮԽͯ͠։ൃ࣌ʹखಈͰ4UFQ'VODUJPOTΛ࣮ߦͯ͠ಈ࡞֬ೝ͢Δܗʹ
    w &5-΍σʔλج൫ϫʔΫϑϩʔͷεςʔδϯάΛͲ͏؅ཧ͢Δ΂͖ͳͷ͔
    ͸·ͩਖ਼ղΛݟ͚ͭΒΕ͍ͯͳ͍ͷ͕ਖ਼௚ͳͱ͜ΖͳͷͰ΍Γͳ͕Βਖ਼ղΛ
    ݟ͚͍͖͍ͭͯͨ

    View Slide

  54. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    AWS SAMΛ࢖ͬͨ
    ϫʔΫϑϩʔͷίʔυ؅ཧ

    View Slide

  55. "844".ͱ͸Կ͔
    w "844FSWFSMFTT"QQMJDBUJPO.PEFMͷུশ
    w αʔόϨεΞϓϦέʔγϣϯߏங༻ͷϑϨʔϜϫʔΫ
    w "84$MPVE'PSNBUJPO $'O
    ΑΓ؆୯ͳهड़͕ग़དྷΔͷ͕ಛ௃
    w σϓϩΠ࣌ʹ͸ɺ$'Oʹม׵͞Ε࣮ͯߦ͞ΕΔ
    w 4".$-*ʹΑΔσϓϩΠ΍ϩʔΧϧ࣮ߦ͕ग़དྷΔ
    w ྫ͑͹ɺ-BNCEBΛϩʔΧϧ࣮ߦ͢ΔΑ͏ͳ͜ͱ͕Մೳ

    View Slide

  56. "844".ͷ؆ܿ͞
    w ʮ"84#MBDL#FMU0OMJOF4FNJOBS"84
    4FSWFSMFTT"QQMJDBUJPO.PEFMʯɹ͔Βൈਮ
    https://www.slideshare.net/AmazonWebServicesJapan/20190814-aws-black-belt-online-seminar-aws-serverless-application-model-165314501

    View Slide

  57. "844".Ͱѻ͑Δ"84Ϧιʔε
    w 5ZQFʹࢦఆՄೳͳϦιʔεୡ
    w "844FSWFSMFTT4UBUF.BDIJOF˞4UFQ'VODUJPOT
    w "844FSWFSMFTT'VODUJPO˞MBNCEB
    w "844FSWFSMFTT"QJ˞"1*(BUFXBZ
    w "844FSWFSMFTT4JNQMF5BCMF˞%ZOBNP%#
    w ʜ
    IUUQTEPDTBXTBNB[PODPNKB@KQTFSWFSMFTTBQQMJDBUJPONPEFMMBUFTUEFWFMPQFSHVJEFTBNTQFDJGJDBUJPOSFTPVSDFTBOEQSPQFSUJFTIUNM

    View Slide

  58. &5-ج൫Λ؅ཧ͢ΔϦϙδτϦͷߏ੒
    FNCVML FNCVMLͷఆٛ

    cDPOG FNCVMLͷఆٛ
    ˒
    TBN "844".ͷఆٛ

    cTUBUFNBDIJOF 4UFQ'VODUJPOTͷ"4-
    ˒
    cGVODUJPOT -BNCEBͷίʔυ

    cFOW
    cEFW EFW؀ڥ༻ͷఆٛ

    cTBNDPOGJHUPNM 4".σϓϩΠ࣌ͷઃఆ

    cUFNQMBUFZBNM 4".ͷఆٛ˞$MPVE'PSNBUJPOʹδΣωϨʔτ͞ΕΔ

    cQSE QSE؀ڥ༻ͷఆٛ

    cTBNDPOGJHUPNM 4".σϓϩΠ࣌ͷઃఆ

    cUFNQMBUFZBNM 4".ͷఆٛ˞$MPVE'PSNBUJPOʹδΣωϨʔτ͞ΕΔ

    View Slide

  59. &NCVMLҎ֎ͷϫʔΫϑϩʔؔ࿈͸શͯ"844".Ͱ؅ཧ
    FNCVML FNCVMLͷఆٛ

    cDPOG FNCVMLͷఆٛ
    ˒
    TBN "844".ͷఆٛ

    cTUBUFNBDIJOF 4UFQ'VODUJPOTͷ"4-
    ˒
    cGVODUJPOT -BNCEBͷίʔυ

    cFOW
    cEFW EFW؀ڥ༻ͷఆٛ

    cTBNDPOGJHUPNM 4".σϓϩΠ࣌ͷઃఆ

    cUFNQMBUFZBNM 4".ͷఆٛ˞$MPVE'PSNBUJPOʹδΣωϨʔτ͞ΕΔ

    cQSE QSE؀ڥ༻ͷఆٛ

    cTBNDPOGJHUPNM 4".σϓϩΠ࣌ͷઃఆ

    cUFNQMBUFZBNM 4".ͷఆٛ˞$MPVE'PSNBUJPOʹδΣωϨʔτ͞ΕΔ

    View Slide

  60. ͔͜͜Β"844".ͷઃఆϑΝΠϧΛ࣮ྫަ͑ͯ঺հ

    View Slide

  61. TBNDPOGJHUPNM
    w ϓϩδΣΫτϨϕϧͷઃఆϑΝΠϧ
    w खಈͰ΋࡞ΕΔ͕ɺTBNEFQMPZHͰ࡞
    Δͷָ͕
    w $'OͷελοΫ໊΍ࣗಈੜ੒͞ΕΔTό
    έοτ͕هࡌ͞ΕΔͷͰίʔυ؅ཧ͢Δ

    View Slide

  62. UFNQMBUFZBNMͷϨΠΞ΢τ
    w 5SBOTGPSNηΫγϣϯͰ$'Oʹม׵͢Δ
    ϚΫϩΛએݴ
    w $'OʹΑͬͯϗετ͞ΕΔϚΫϩͰɺ"84
    4".ߏจͰهड़͞ΕͨςϯϓϨʔτશମΛ
    ड͚औΓɺͦΕΛ४ڌͨ͠$'OςϯϓϨʔ
    τʹม׵͓Αͼ֦ு
    w 5ZQFΛ"844FSWFMFTTʹ͠ͳ͍৔߹͸
    $'Oͷจ๏΋௚઀࢖͑Δ
    IUUQTEPDTBXTBNB[PODPNKB@KQ"84$MPVE'PSNBUJPO
    MBUFTU6TFS(VJEFUSBOTGPSNBXTTFSWFSMFTTIUNM

    View Slide

  63. UFNQMBUFZBNMͷ4UFQ'VODUJPOTͷఆٛ
    w %FGJOJUJPO6SJ"4-ͷఆٛϑΝΠϧΛࢦ

    w UFNQMBUFZBNM಺Ͱ΋4UFQ'VODUJPOTͷఆٛ
    ͸ॻ͚Δ͕ɺޙड़ͷάϥϑΠϯεϖΫλʔ
    Λ։ൃ࣌ʹݟΔͨΊʹผϑΝΠϧͰ؅ཧ
    w %FGJOJUJPO4VCTUJUVUJPOTม਺ఆٛ
    w &WFOUT&WFOU#SJEHFͷఆٛΛॻ͚Δͷ
    Ͱεέδϡʔϧ΋"844".಺Ͱ؅ཧ

    View Slide

  64. UFNQMBUFZBNMͷ-BNCEBͷఆٛ
    w $PEF6SJ-BNCEBͷίʔυ΋4".಺Ͱ؅

    w &OWJSPONFOU؀ڥม਺˞ൿಗܥ͸,.4
    Ͱ҉߸Խͨ͠΋ͷ

    View Slide

  65. TUBUFNBDIJOF
    w "4-Ͱهड़͞ΕͨఆٛΛอ؅
    w 'BSHBUFؔ࿈ͷڞ௨෦෼͸ɺ
    UFNQMBUFZBNMͰม਺ఆ͍ٛͯ͠Δ

    View Slide

  66. 7JTVBM4UVEJP$PEFͰάϥϑΠϯεϖΫλʔͷද͕ࣔग़དྷΔ
    w σϓϩΠ͠ͳͯ͘΋4UFQ'VODUJPOTͷ
    ϫʔΫϑϩʔ͕74$PEF্ͰݟΕΔ
    w ॲཧ͕ෳࡶʹͳΔ΄ͲखݩͰ֬ೝग़དྷ
    ΔͷͰḿΔ
    "845PPMLJUGPS7JTVBM4UVEJP$PEF
    IUUQTEPDTBXTBNB[PODPNKB@KQUPPMLJUGPSWTDPEFMBUFTU
    VTFSHVJEFCVJMEJOHTUFQGVODUJPOTIUNMCVJMEJOHTUFQGVODUJPOT
    WJTVBMJ[BUJPOT

    View Slide

  67. &5-ॲཧΛ௥Ճ͢Δͱ͖͸Օॴͷमਖ਼ͰࡁΉΑ͏ʹ͍ͯ͠Δ
    FNCVML FNCVMLͷఆٛ

    cDPOG FNCVMLͷఆٛ
    ˒
    TBN "844".ͷఆٛ

    cTUBUFNBDIJOF 4UFQ'VODUJPOTͷ"4-
    ˒
    cGVODUJPOT -BNCEBͷίʔυ

    cFOW
    cEFW EFW؀ڥ༻ͷఆٛ

    cTBNDPOGJHUPNM 4".σϓϩΠ࣌ͷઃఆ

    cUFNQMBUFZBNM 4".ͷఆٛ˞$MPVE'PSNBUJPOʹδΣωϨʔτ͞ΕΔ

    cQSE QSE؀ڥ༻ͷఆٛ

    cTBNDPOGJHUPNM 4".σϓϩΠ࣌ͷઃఆ

    cUFNQMBUFZBNM 4".ͷఆٛ˞$MPVE'PSNBUJPOʹδΣωϨʔτ͞ΕΔ

    View Slide

  68. $*$%͸$PEF#VJMEΛར༻
    w (JU)VCͷUBHQVTI͕τϦΨͱͳΓσϓ
    ϩΠ͕૸Δ
    w $PEF#VJMEͰ&5-؀ڥΛࣗಈߋ৽
    w &NCVMLͷ%PDLFSϏϧυ
    w &$3΁ͷ%PDLFSΠϝʔδͷQVTI
    w "844".ͷఆٛߋ৽

    View Slide

  69. ·ͱΊ
    w ग़དྷΔ͚ͩӡ༻ίετΛ௿͘͢Δͱ͍͏؍఺Ͱ૊Μͩ&5-ج൫ʹ͍ͭͯ঺
    հ͠·ͨ͠
    w &5-ج൫ͱฉ͘ͱӡ༻΋ؚΊͯେมͱ͍͏Πϝʔδ͕͋Δ͕ɺ"84Λ׆༻
    ͢Δ͜ͱͰൺֱత௿ӡ༻ίετͰ૊Ή͜ͱ΋ग़དྷ·͢
    w &NCVMLΛ'BSHBUFͰαʔόϨε ૄ
    ʹಈ͔͠
    w 4UFQ'VODUJPOTΛ࢖͏͜ͱͰৗறϓϩηεͳ͠ʹϫʔΫϑϩʔΛ࡞Γ
    w "844".Λ࢖͏͜ͱͰγϯϓϧͳهड़ͰαʔόϨεϦιʔεΛ؅ཧ

    View Slide

  70. ·ͱΊ
    w ग़དྷΔ͚ͩӡ༻ίετΛ௿͘͢Δͱ͍͏؍఺Ͱ૊Μͩ&5-ج൫ʹ͍ͭͯ঺
    հ͠·ͨ͠
    w &5-ج൫ͱฉ͘ͱӡ༻΋ؚΊͯେมͱ͍͏Πϝʔδ͕͋Δ͕ɺ"84Λ׆༻
    ͢Δ͜ͱͰൺֱత௿ӡ༻ίετͰ૊Ή͜ͱ΋ग़དྷΔ
    w &NCVMLΛ'BSHBUFͰαʔόϨε ૄ
    ʹಈ͔͠
    w 4UFQ'VODUJPOTΛ࢖͏͜ͱͰৗறϓϩηεͳ͠ʹϫʔΫϑϩʔΛ࡞Γ
    w "844".Λ࢖͏͜ͱͰγϯϓϧͳهड़ͰαʔόϨεϦιʔεΛ؅ཧ
    ࠓճͷߏ੒͕ਖ਼ղͱ͍͏Θ͚Ͱ͸ܾͯ͠ͳ͍ɻ
    AWSͷਐԽʹ௥͍͖ͭͳ͕Β෢ثΛ૿΍͠
    ՝୊ʹԠͯ͡ద੾ͳબ୒Λͯ͠ɺ
    ࣮૷͍ͯ͘͠ྗ͕͜Ε͔ΒΑΓେࣄʹͳͬͯ͘Δͱࢥ͏ɻ

    View Slide

  71. ίωώτͰ͸σʔλΤϯδχΞΛੵۃ࠾༻தͰ͢ʂ
    ڵຯ͕͋Δํɺσʔλج൫ʹ͍ͭͯޠΓ͍ͨͱ͍͏ํ
    8BOUFEMZ΋͘͠͸
    !TIOBHBJ΁ͷ%.Ͱ͓ؾܰʹ͝࿈བྷ͍ͩ͘͞
    ˞IUUQTXXXXBOUFEMZDPNQSPKFDUT

    View Slide

  72. Thank you!
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    ίωώτגࣜձࣾ
    ӬҪউҰ࿠(shnagai)

    View Slide