Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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の登壇資料です

1e8c5eaf563f965d3ba48b0054b1d955?s=128

Shoichiro Nagai(shnagai)

September 29, 2021
Tweet

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

  3. ίωώτʹ͍ͭͯ

  4. ϚϚϦʹ͍ͭͯ

  5. ɹɹɹɹ ʹ͍ͭͯ

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

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

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

  9. © 2021, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. ίωώτͰͷETLج൫Λ࡞Δʹࢸͬͨ σʔλपΓͷ՝୊
  10. ίωώτʹ͋Δσʔληοτ͸େ͖͘෼͚Δͱͭ w σʔλϕʔε "NB[PO"VSPSB ʹ͋ΔΞϓϦέʔγϣϯͷσʔλ w ϚϚϦ಺Ͱͷ࣭໰΍ճ౴ͷσʔλ w Ϣʔβͷଐੑσʔλ w

    ֎෦σʔλ΢ΣΞϋ΢εʹ஝ੵ͍ͯ͠Δߦಈϩά w ΞϓϦ಺Ͱͷ࣭໰Ӿཡ΍ճ౴Λͨ͠ͱ͍͏Πϕϯτ
  11. σʔλͷ׆༻ํ๏͸ݸผ࠷దԽ͞Ε͍ͯΔ w ػցֶश1+Ͱ͸ w "84(MVFͰ%#ͷσʔλΛநग़ͯ͠$47Խ w 1ZUIPOͷόονͰߦಈϩάΛ֎෦%8)͔Βநग़͠$47Խ w 1BOEBTͰͭΛ݁߹ͯͭ͠ͷσʔλͱͯ͠ѻ͏ w

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

    σʔλநग़Ͱ͸ w #*πʔϧ্Ͱ%#ͱ֎෦%8)ͷߦಈϩάΛ݁߹͢Δύλʔϯ w όονॲཧͰ%#ͱ֎෦%8)ͷߦಈϩάΛ݁߹͢Δύλʔϯ ͍͍ͩͨಉ͡Α͏ͳॲཧ͕ ࢸΔͱ͜ΖͰߦΘΕ͍ͯΔঢ়گ
  13. σʔλऩू͸ߟ͑Δ͜ͱ͕ଟ͍ɻɻ w Ͳͷ%#ʹͲͷݖݶͰΞΫηε͢Ε͹͍͍ͷ͔  w ऩूॲཧͰҙਤͤ͵σʔλϩετ͕ى͖͍ͯͳ͍͔  w ऩूͨ͠σʔλ͸৴པग़དྷΔͷ͔ 

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

    w σʔλ͕େྔͷ৔߹͸େ͖ͳίϯϐϡʔτϦιʔε΋ඞཁ w ଞͰಈ͍͍ͯΔॲཧͱόοςΟϯάͯ͠%#ʹେ͖ͳෛՙΛ͔͚ͳ͍͔  w %#෼ੳ%#ͱ͍͏αʔϏε͔Β͸੾Γ཭ͨ͠%#Λ༻ҙ͍ͯ͠Δ ݸผͰ࣮૷͢Δͷ͸ޮ཰͕ѱ͍ͷ͸ཧղͭͭ͠΋ ઐ೚ͷσʔλΤϯδχΞ΋͓Βͣ༏ઌ౓্͕͕Βͣ
  15. ͦΜͳத৽αʔϏεͷ։ൃ͕࢝·Δ w Ո଒ϊʔτ͸ɺϚϚϦͷσʔλΛ෼ੳͯ͠ఏڙ͢ΔUP#ͷαʔϏε w ίωώτʹ஝ੵ͍ͯ͠Δσʔλࣗମ͕ϓϩμΫτͱͯ͠ͷՁ஋ʹ௚݁ w ౰વσʔλ඼࣭ʹ৴པੑ͕ٻΊΒΕΔ ɹɹɹɹ

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

  17. ͷσʔληοτ࡞੒ΛͲͷํࣜʹ͢Δͷ͔ݕ౼ ɹɹɹɹ ֎෦ DWH όον ॲཧ ֎෦DWH όον ॲཧ ಠࣗͰ

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

    ऩू/݁߹ σʔλϚʔτ σʔλϨΠΫ ऩू ݁߹ औಘ ᶃόονͰσʔλͷऩू/݁߹Λߦ͍৽͍͠σʔληοτΛ࡞Δύλʔϯ ᶄΞϓϦέʔγϣϯ͸σʔλऩू/݁߹͸ҙࣝͤͣʹ σʔλϚʔτΛར༻͢Δ͚ͩʹ͢Δύλʔϯ ϓϩμΫτʹ͓͚Δσʔλͷॏཁ౓ͱ σʔλ׆༻ͷαΠϩԽΛ๷͙ͱ͍͏͜ͱΛ໨తʹ ᶄΛ࣮ݱ͢ΔͨΊʹσʔλج൫Λ࡞Δ͜ͱΛܾఆ
  19. σʔλج൫ߏஙͷελʔτ w ͍͖ͳΓ׬ᘳͳ΋ͷ͸໨ࢦͣ͞είʔϓΛߜͬͯσʔλج൫Λઃܭ w Ո଒ϊʔτͷ.71ϦϦʔεʹඞཁͳσʔλϚʔτΛ༻ҙ͢Δͷ͕ΰʔϧ w σʔλϚʔτ͔Βٯࢉͯ͠ඞཁ࠷খݶͷσʔλϨΠΫΛ࡞Δͱ͜Ζ͔Βελʔτ w ର৅σʔλΛؾܰʹ௥Ճ͸ग़དྷΔΑ͏ʹઃܭ͢Δ w

    "VSPSBʹ͋ΔσʔλΛ֎෦%8)ʹҠૹ͢Δ&5-ج൫Λ࡞Δͷ͕TUεςοϓ
  20. © 2021, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. ETLج൫ͷٕज़બఆ
  21. ίωώτͷσʔλج൫ ϚϚϦ಺QAσʔλ Ϣʔβσʔλ ೔࣍ͰඞཁͳσʔλΛ֎෦DWHʹసૹ DataLake ߦಈϩά ϚϚϦ಺QAσʔλ Ϣʔβσʔλ DataMart ΞϓϦέʔγϣϯ͔Β

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

    ࢀর͢ΔϏϡʔ DataWarehouse ूܭσʔλ Ո଒ϊʔτͷΞϓϦέʔγϣϯ ֎෦DWH BIπʔϧ Ո଒ϊʔτ σʔλΛࢀর
  23. &5-ج൫ͷٕज़બఆʹ͋ͨΓҙࣝͨ͜͠ͱ w ։ൃऀ΋͘͠͸ඞཁͳਓ͕৽͍͠&5-ॲཧΛ௥Ճɾ࡟আग़དྷΔ w ίʔυԽ͞Ε͓ͯΓ͔ͭ؆୯ͳهड़͕ग़དྷΔͷ͕๬·͍͠ w ΠϯϑϥPSσʔλΤϯδχΞ͔͠؅ཧɾߋ৽ग़དྷͳ͍ঢ়ଶʹ͸͠ͳ͍ w ϫʔΫϑϩʔΤϯδϯࣗମͷӡ༻ίετ͕௿͍ w

    ϚωʔδυαʔϏε΋͘͠͸ͦΕʹ਌͍͠ӡ༻ίετ͕ཧ૝ w ઐଐͰ໘౗ΛݟΔਓ͕͍ͳ͍ͷͰ࡞ͬͨΒޙ͸উखʹಈ͍ͯͯΤϥʔདྷͨͱ͖͚ͩ൓Ԡ͢Δ Έ͍ͨͳͷ͕ཧ૝
  24. &5-πʔϧ͸&NCVMLΛར༻ w ༷ʑͳσʔλιʔεؒͷσʔλసૹΛࢧԉ͢ΔCVMLEBUBMPBEFS IUUQTHJUIVCDPNFNCVMLFNCVML w ๛෋ͳϓϥάΠϯ͕͋ΔͷͰॊೈʹॲཧΛॻ͚Δ w *OQVU0VUQVUͱ༷ͯ͠ʑͳσʔλιʔεʹରԠ w 'JMUFSͰதؒॲཧ΋؆୯ʹ

    w ࣾ֎Ͱͷ׆༻ࣄྫ΋ଟ਺͋Γ w ίωώτͰ΋طʹӡ༻࣮੷͸͋Γ
  25. &NCVMLͷఆٛ͸γϯϓϧ w ॳݟͰ΋͍͍ͩͨԿΛ͍ͯ͠Δ͔ ཧղग़དྷΔ؆ܿͳهड़ w 2VFSZ۟ʹσόοά͠΍͍͢Α͏ ʹੜͷΫΤϦΛೖΕ͍ͯΔ

  26. ӡ༻ίετԼ͛ΔͨΊʹ&NCVMLΛαʔόϨεʹӡ༻ w &NCVMLϓϩηε͸ৗறͤͣॲཧຖʹ'BSHBUFλεΫ͕ىಈ w ࣮ߦ࣌ʹͷΈϓϩηε͕ଘࡏ w ͋ΔॲཧͰ໰୊͕ى͖ͯ΋ଞͷ&NCVMLͷ࣮ߦʹ͸ѱӨڹΛ༩͑ͳ͍ w ॲཧͷܭࢉʹඞཁͳίϯϐϡʔτϦιʔεΛ౎౓༻ҙ՝ۚ΋࢖͏͚ͩ w

    ։ൃ࣌΋&NCVMLͷॲཧʹ࠷దԽͨ͠ݕূͰ0, w ౰વ࠷௿ݶͷ&NCVMLͷόʔδϣϯ؅ཧ౳͸ൃੜ͢Δ
  27. ϫʔΫϑϩʔΤϯδϯൺֱ 4UFQ'VODUJPOTͱ%JHEBH ߲໨/ϫʔΫϑϩʔछྨ Step Functions Digdag جຊػೳ δϣϒ࣮ߦ/ϦτϥΠ/ Τϥʔॲཧ ˕

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

    ˕ ؅ཧը໘ ̋ ˕ FargateλεΫͷ࣮ߦ ˕ ̋ ίʔυ؅ཧ ̋ ※AWS SAMͰΧόʔ ˕ ϫʔΫϑϩʔϓϩηε ͷ؅ཧ ˕ ✕ ػೳ໘͸ͲͪΒ΋ຬ͍͕ͨͯͨ͠ ӡ༻ίετͷ௿͞ͰStep FunctionsΛ࠾༻
  29. ϫʔΫϑϩʔΤϯδϯࣗମͷӡ༻ίετ͕ܾΊखʹͳͬͨ w %JHEBHϓϩηεΛͲ͔͜Ͱৗறͤ͞ͳ͍ͱ͍͚ͳ͍఺͕ωοΫʹͳͬͨ w &$4͔&$Ͱ͍͘ͷ͔ͷબఆ΋͍Δ͠ӡ༻΋ඞཁ w %JHEBHϓϩηεͷ؂ࢹ΋ඞཁ w %JHEBHࣗମͷӡ༻΋ඞཁ όʔδϣϯΞοϓରԠ΍ϓϥάΠϯௐࠪ

     w %JHEBH಺ͷδϣϒͷ࣮ߦ݁Ռ΋΋ͪΖΜ؂ࢹ͢Δ w ΋ͪΖΜ%JHEBH͕༏Ґͳ఺΋͋Δ͕ࠓճ͸௿ӡ༻ίετ͕伴ͩͬͨ w 4UFQ'VODUJPOTͩͱδϣϒͷ࣮ߦ݁Ռͷ؂ࢹ͚ͩͰ0, w ͲΜͳॲཧΛͲΜͳϑϩʔͰಈ͔͔͚ͩ͢ʹઐ೦ͯ͠։ൃग़དྷΔ w ͜ΕͧαʔόϨεͷڧ͞
  30. ϫʔΫϑϩʔͷఆٛΛ"84ίϯιʔϧ͚ͩͰ؅ཧ͢Δͷ͸ݫ͍͠ w 4UFQ'VODUJPOT͸"84ίϯιʔϧͰ΋खܰʹઃఆՄೳ w ։ൃ΍σόοάʹ͸ΊͪΌͪ͘ΌָͰྑ͍ w ৭Μͳਓʹ৮ͬͯ΄͍͚͠Ͳมߋ؅ཧग़དྷͳ͍ͱ͕͢͞ʹ͓ئ͍ग़དྷͳ͍ w ίϯύωͰࣗ༝ʹ௥Ճͯ͠Ͷ ϨϏϡʔͳ͠͸ݫ͍͠

     w ͜ͷ఺ΛΧόʔ͢΂͘"844".Ͱ4UFQ'VODUJPOTΛ؅ཧ͢Δ͜ͱʹͨ͠ w ৄࡉ͸ɺޙ൒ͷ"844".Λ࢖ͬͨϫʔΫϑϩʔͷίʔυ؅ཧͰ঺հ
  31. © 2021, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Step FunctionsͰ૊Ή ECS/Fargate, LambdaͷϫʔΫϑϩʔࣄྫ
  32. 4UFQ'VODUJPOTͱ͸ w "84͕ఏڙ͢ΔϚωʔδυͷαʔόʔϨεϫʔΫϑϩʔαʔϏε w هड़͸"4- "NB[PO4UBUFT-BOHVBHF ˞+40/ϕʔε w Ξοϓσʔτଟ͍ͷͰ"84తʹྗΛೖΕͯΔαʔϏεͩͱײ͍ͯ͡Δ w

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

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

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

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

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

     w $IPJDF ೖྗʹج͖ͮॲཧ෼ذ  w 'BJMPS4VDDFTT ࣦഊPS੒ޭͰ࣮ߦఀࢭ  w 1BTT ೖྗΛग़ྗʹ౉͢  w 8BJU Ұఆ࣌ؒεϦʔϓ  w 1BSBMMFM ฒྻ࣮ߦ  w .BQ ಈతʹ൓෮࣮ߦ
  38. 4UFQ'VODUJPOTͷओͳొ৔ਓ෺ w 4UBUF.BDIJOF w 4UFUFTͷू߹ମ ϫʔΫϑϩʔຊମ  w 4UBUF.BDIJOF୯ҐͰ4UFQ'VODUJPOT্Ͱ࣮ߦ͞ΕΔ

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

    ͸ϚνϚν w ϫʔΫϑϩʔ͕͚ͨ͜ࡍʹ͸ؾͮ͘ඞཁ͕͋ΔͷͰ௨஌͍ͨ͠
  40. ͔͜͜Β4UFQ'VODUJPTͷ࣮ྫަ͑ͯ঺հ

  41. "VSPSBͷςʔϒϧΛ֎෦%8)ʹҠૹ͢Δ&NCVMLͷ4UBUFT w &NCVMLͷॲཧͱ'BSHBUFλεΫΛ w 5ZQF5BTL w 3FTPVSDFTZODͰऴྃ଴ͪ w 1BSBNFUFSTͰ'BSHFUFͷఆٛ w

    1BSBNFUFST5BTL%FGJOJUJPO͸ڞ௨ w ڞ௨ͷ%PDLFSΠϝʔδΛ࢖͍ͬͯΔͷ Ͱɺ$POUBJOFS0WFSSJEFTΛ࢖͍$.%۟Λ ্ॻ͖͢Δ͜ͱͰ&NCVMLͷ࣮ߦॲཧΛ෼ ͚͍ͯΔ
  42. ෳ਺ςʔϒϧͷσʔλΛҠૹ͍ͨ͠ͷͰಉ͡Α͏ͳॲཧΛෳ਺ಈ͔͍ͨ͠ ࠩ෼͸TaskDefinitionͱCommandͷΈ

  43. ෳ਺ςʔϒϧͷσʔλΛҠૹ͍ͨ͠ͷͰಉ͡Α͏ͳॲཧΛෳ਺ಈ͔͍ͨ͠ w 1BSBMMFMΛར༻͠ฒྻ࣮ߦ w ҰͭͰ΋ࣦഊͨ͠Β$BUDIͯ͠ɺ௨ ஌༻ͷ4UBUFTʹભҠ w #SBODIFTͰฒྻ࣮ߦ͢Δ4UBUFTΛͦ ΕͧΕఆٛ͢Δ w

    .BQΛ࢖͍ೖྗ஋ͱͯ͠ςʔϒϧ໊Λ౉͢ύλʔ ϯ΋ݕূ͕ͨ͠ɺෳࡶ౓͕૿͢ͷͰࠓճ͸۪௚ʹ ॲཧ਺෼Λ1BSBMMFMͰఆٛ͢Δܗʹͨ͠
  44. 4UBUF.BDIJOFΛϏδϡΞϥΠζ͢Δͱ͜Μͳײ͡ʹ άϥϑΠϯεϖΫλʔ

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

    w ΑΓେ͖ͳςʔϒϧʹ͸େ͖ͳίϯϐϡʔτϦιʔεΛ࢖͍͍ͨ w &$4λεΫఆٛΛԿύλʔϯ͔༻ҙͯ͠ɺσʔλͷछྨʹΑͬͯ࢖͍෼͚Δߏ੒ʹ
  46. 4UBUFTͷ5BTL%FGJOJUJPOͰίϯϐϡʔτϦιʔεΛ෼͚Δ dev-standard: 2vCPU, Mem 4G dev-large: 4vCPU, Mem 8G

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

    .BY"UUFNQUT࠷େϦτϥΠ਺ w ͜ͷઃఆͩͱɺඵɺඵɺඵ
  48. Τϥʔॲཧ w &SSPS&RVBMTର৅ͱͳΔΤϥʔ໊ w /FYUભҠઌͷ4UBUFTΛࢦఆ

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

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

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

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

  53. 4UFQ'VDUJPOTͷ։ൃεςʔδϯά؀ڥΛͲ͜·Ͱ༻ҙ͢Δ΂͖͔ w ௨ৗͷ։ൃͱಉ͘͡ຊ൪εςʔδϯά؀ڥ͕͋Δ͜ͱ͕ཧ૝Ͱ͸͋Δ w ͔͠͠ɺ w &5-ج൫ͩͱͦͦ͜͜ॏ͍ॲཧͳͷͰຖ೔࢖Θͳ͍σʔλΛ࡞Δͷ͸අ༻໘Ͱແବ w ࢖Θͳ͍ҙຯͷͳ͍ϫʔΫϑϩʔຖ೔ಈ͔͢΂͖͔ 

    w ͨͩɺ։ൃϑϩʔͷதͰ4UFQ'VODUJPOTͷಈ࡞֬ೝͱͯ͠ຊ൪ద༻લͷεςʔδϯά͸ඞਢ w ݁ՌɺεέδϡʔϧΛແޮԽͯ͠։ൃ࣌ʹखಈͰ4UFQ'VODUJPOTΛ࣮ߦͯ͠ಈ࡞֬ೝ͢Δܗʹ w &5-΍σʔλج൫ϫʔΫϑϩʔͷεςʔδϯάΛͲ͏؅ཧ͢Δ΂͖ͳͷ͔ ͸·ͩਖ਼ղΛݟ͚ͭΒΕ͍ͯͳ͍ͷ͕ਖ਼௚ͳͱ͜ΖͳͷͰ΍Γͳ͕Βਖ਼ղΛ ݟ͚͍͖͍ͭͯͨ
  54. © 2021, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. AWS SAMΛ࢖ͬͨ ϫʔΫϑϩʔͷίʔυ؅ཧ
  55. "844".ͱ͸Կ͔ w "844FSWFSMFTT"QQMJDBUJPO.PEFMͷུশ w αʔόϨεΞϓϦέʔγϣϯߏங༻ͷϑϨʔϜϫʔΫ w "84$MPVE'PSNBUJPO $'O ΑΓ؆୯ͳهड़͕ग़དྷΔͷ͕ಛ௃ w

    σϓϩΠ࣌ʹ͸ɺ$'Oʹม׵͞Ε࣮ͯߦ͞ΕΔ w 4".$-*ʹΑΔσϓϩΠ΍ϩʔΧϧ࣮ߦ͕ग़དྷΔ w ྫ͑͹ɺ-BNCEBΛϩʔΧϧ࣮ߦ͢ΔΑ͏ͳ͜ͱ͕Մೳ
  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

  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
  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ʹδΣωϨʔτ͞ΕΔ 
  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ʹδΣωϨʔτ͞ΕΔ 
  60. ͔͜͜Β"844".ͷઃఆϑΝΠϧΛ࣮ྫަ͑ͯ঺հ

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

  62. UFNQMBUFZBNMͷϨΠΞ΢τ w 5SBOTGPSNηΫγϣϯͰ$'Oʹม׵͢Δ ϚΫϩΛએݴ w $'OʹΑͬͯϗετ͞ΕΔϚΫϩͰɺ"84 4".ߏจͰهड़͞ΕͨςϯϓϨʔτશମΛ ड͚औΓɺͦΕΛ४ڌͨ͠$'OςϯϓϨʔ τʹม׵͓Αͼ֦ு w

    5ZQFΛ"844FSWFMFTTʹ͠ͳ͍৔߹͸ $'Oͷจ๏΋௚઀࢖͑Δ IUUQTEPDTBXTBNB[PODPNKB@KQ"84$MPVE'PSNBUJPO MBUFTU6TFS(VJEFUSBOTGPSNBXTTFSWFSMFTTIUNM
  63. UFNQMBUFZBNMͷ4UFQ'VODUJPOTͷఆٛ w %FGJOJUJPO6SJ"4-ͷఆٛϑΝΠϧΛࢦ ఆ w UFNQMBUFZBNM಺Ͱ΋4UFQ'VODUJPOTͷఆٛ ͸ॻ͚Δ͕ɺޙड़ͷάϥϑΠϯεϖΫλʔ Λ։ൃ࣌ʹݟΔͨΊʹผϑΝΠϧͰ؅ཧ w %FGJOJUJPO4VCTUJUVUJPOTม਺ఆٛ

    w &WFOUT&WFOU#SJEHFͷఆٛΛॻ͚Δͷ Ͱεέδϡʔϧ΋"844".಺Ͱ؅ཧ
  64. UFNQMBUFZBNMͷ-BNCEBͷఆٛ w $PEF6SJ-BNCEBͷίʔυ΋4".಺Ͱ؅ ཧ w &OWJSPONFOU؀ڥม਺˞ൿಗܥ͸,.4 Ͱ҉߸Խͨ͠΋ͷ

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

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

    WJTVBMJ[BUJPOT
  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ʹδΣωϨʔτ͞ΕΔ 
  68. $*$%͸$PEF#VJMEΛར༻ w (JU)VCͷUBHQVTI͕τϦΨͱͳΓσϓ ϩΠ͕૸Δ w $PEF#VJMEͰ&5-؀ڥΛࣗಈߋ৽ w &NCVMLͷ%PDLFSϏϧυ w &$3΁ͷ%PDLFSΠϝʔδͷQVTI

    w "844".ͷఆٛߋ৽
  69. ·ͱΊ w ग़དྷΔ͚ͩӡ༻ίετΛ௿͘͢Δͱ͍͏؍఺Ͱ૊Μͩ&5-ج൫ʹ͍ͭͯ঺ հ͠·ͨ͠ w &5-ج൫ͱฉ͘ͱӡ༻΋ؚΊͯେมͱ͍͏Πϝʔδ͕͋Δ͕ɺ"84Λ׆༻ ͢Δ͜ͱͰൺֱత௿ӡ༻ίετͰ૊Ή͜ͱ΋ग़དྷ·͢ w &NCVMLΛ'BSHBUFͰαʔόϨε ૄ

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

    ʹಈ͔͠ w 4UFQ'VODUJPOTΛ࢖͏͜ͱͰৗறϓϩηεͳ͠ʹϫʔΫϑϩʔΛ࡞Γ w "844".Λ࢖͏͜ͱͰγϯϓϧͳهड़ͰαʔόϨεϦιʔεΛ؅ཧ ࠓճͷߏ੒͕ਖ਼ղͱ͍͏Θ͚Ͱ͸ܾͯ͠ͳ͍ɻ AWSͷਐԽʹ௥͍͖ͭͳ͕Β෢ثΛ૿΍͠ ՝୊ʹԠͯ͡ద੾ͳબ୒Λͯ͠ɺ ࣮૷͍ͯ͘͠ྗ͕͜Ε͔ΒΑΓେࣄʹͳͬͯ͘Δͱࢥ͏ɻ
  71. ίωώτͰ͸σʔλΤϯδχΞΛੵۃ࠾༻தͰ͢ʂ ڵຯ͕͋Δํɺσʔλج൫ʹ͍ͭͯޠΓ͍ͨͱ͍͏ํ 8BOUFEMZ΋͘͠͸ !TIOBHBJ΁ͷ%.Ͱ͓ؾܰʹ͝࿈བྷ͍ͩ͘͞ ˞IUUQTXXXXBOUFEMZDPNQSPKFDUT

  72. Thank you! © 2021, Amazon Web Services, Inc. or its

    affiliates. All rights reserved. ίωώτגࣜձࣾ ӬҪউҰ࿠(shnagai)