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

AWS-ハンズオンのススメ/サーバーレスアプリケーションの構築をやってみた

yuuki sato
September 23, 2022

 AWS-ハンズオンのススメ/サーバーレスアプリケーションの構築をやってみた

2022/09/22 JAWS-UG TOHOKU

yuuki sato

September 23, 2022
Tweet

More Decks by yuuki sato

Other Decks in Programming

Transcript

  1. ࠤ౻༏थ "84ϋϯζΦϯͷεεϝ ΠϯϑϥΤϯδχΞ͕αʔόϨε΢ΣϒΞϓϦέʔγϣϯߏஙͷϋϯζΦϯΛ΍ͬͯΈͨ +"846(50)0,6౦๺Ͱಇ͘ΤϯδχΞͰ"84ΛޠΔձ<ॳ৺ऀେ׻ܴ>

  2. w ໊લࠤ౻༏थ!ZVLJTBUV ࣾ಺Ͱ͸ʮ͔͹ͪΌΜʯͱݺ͹Εͯ·͢ɻ w גࣜձࣾΤεπʔ ΠϯϑϥΤϯδχΞ ओͳۀ຿͸ΦϯϓϨϛε͔Β"84؀ڥ΁Ҡߦ΍ӡ༻อकΛߦͬͯ·͢ɻ w "84ྺ೥΄ͲͰ͢ɻ w

    झຯΩϟϯϓ🏕 ਧ্Ωϟϯϓ৔ ໐ࢠ ਆׂ࡚Ωϟϯϓ৔ ೆࡾ཮ ΔΆΆ ઒࡚  
 ΤίΩϟϯϓΈͪͷ͘ ઒࡚ ਫͷ৿ެԂΩϟϯϓ৔ ઘ۠ ࣮Ոͷఉ ࿱ཧ ࣗݾ঺հ
  3. w ࠓճͷςʔϚʹ͍ͭͯ w ͞·͟·ͳ"84ϋϯζΦϯͷ͝঺հ w αʔόϨε΢ΣϒΞϓϦέʔγϣϯͷϋϯζΦϯΛ΍ͬͯΈͨ w ·ͱΊ ΞδΣϯμ

  4. w ۀ຿Ҏ֎ͷ"84αʔϏεʹ৮Ε͍ͯͨ͘Ίʹ͸Ͳ͏͢Ε͹͍͍͔ߟ͍͑ͯ·ͨ͠ɻ w ࢿ֨ษڧΛ͍ͯ͠Δͱ৮Εͨ͜ͱͷͳ͍αʔϏε͕ग़͖ͯͯΠϝʔδ͕༙͔ͳ͍͜ͱ΋ɻ w Πϯϑϥۀ຿Ͱ΋։ൃऀଆΛཧղ͠ͳ͍ͱઃܭ͕೉͍͠৔໘΋૿͖͑ͯͨɻ w "84ઃܭͷษڧΛͭͭ͠ίʔυ΋ֶͿͷ͸͕࣌ؒ݁ߏ͔͔ͬͯ͠·͏ɻ 
 ຊ౰͸ίʔυ΋ཧղֶͯ͠ΜͰ͍͘ͷ͕ϕετͩͱ͸ࢥͬͯ·͢

    ࠓճͷςʔϚʹ͍ͭͯ
  5. w "84ϋϯζΦϯࢿྉ "84)BOETPOGPS#FHJOOFST  w ΞϚκϯ΢ΣϒαʔϏε "84 ͷ࣮ફతνϡʔτϦΞϧ w CVJMEFST

    fl BTI ͞·͟·ͳ"84ϋϯζΦϯͷ͝঺հ
  6. w "84ॳ৺ऀ޲͚ͷϋϯζΦϯ͕·ͱ·͍ͬͯ·͢ɻ w "84ΞΧ΢ϯτͷ࡞੒ํ๏ΞΧ΢ϯτ࡞੒ޙ͙͢΍ΔηΩϡϦςΟରࡦ w ςΩετ͚ͩͰ͸Πϝʔδ͠ʹ͍͘ωοτϫʔΫपΓ΋ΦεεϝͰ͢ɻ "84ϋϯζΦϯࢿྉ "84)BOETPOGPS#FHJOOFST ಈըΛݟͳ͕ΒਐΊΒΕΔͷͰΘ͔Γ΍͍͢✨ Ҿ༻ݩ:

    https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-hands-on/
  7. w ΑΓ࣮ફతͳϋϯζΦϯ͕·ͱ·͓ͬͯΓ·͢ɻ w σʔλϕʔεܥػցֶशͷϋϯζΦϯ΋๛෋ w ۀ຿Ͱ͸৮ΕΔ͜ͱͷͳ͍αʔϏεΛ৮Ε͍ͨํʹΦεεϝͰ͢ʂ ΞϚκϯ΢ΣϒαʔϏε "84 ͷ࣮ફతνϡʔτϦΞϧ ࣗ෼ͷϨϕϧʹ͋ͬͨϋϯζΦϯ͕બ୒Մೳ🧑💻

  8. w 5XJUUFSͷ#PUΛ࡞੒͢ΔͳͲ࣮ફతͳϋϯζΦϯ w "84+ࣾһͷํͷϥʔχϯάύλʔϯ΍͓͢͢Ίॻ੶ͷ঺հ w "84άϥϨίղઆγϦʔζ΋ͬ͘͟Γͱͨ͠ΠϝʔδΛ௫ΉͷʹΦεεϝͰ͢ʂ CVJMEFSTGMBTI มԽΛٻΊΔσϕϩούʔΛԠԉ͢Δ΢ΣϒϚΨδϯ📚

  9. αʔόϨε΢ΣϒΞϓϦέʔγϣϯͷϋϯζΦϯΛ΍ͬͯΈͨ

  10. ࣮ࡍʹϋϯζΦϯΛ࣮ࢪͯ͠Έͨ "NQMJGZͱ$PHOJUPΛ࢖༻ͯ͠Έ͔ͨͬͨͷͰͪ͜ΒΛબΜͰΈ·ͨ͠ɻ

  11. ࣮ࡍʹϋϯζΦϯΛ࣮ࢪͯ͠Έͨ ׬੒Πϝʔδ͕ͪ͜Β✨ ᶃ ᶄ ᶇ ᶆ ᶅ ᶈ topϖʔδ αΠϯΠϯը໘

    ϩάΠϯޙ ݺͼग़͢ҐஔΛબ୒ ۙ͘ͷϢχίʔϯ͕ݺͼग़͞ΕΔ DynamoDBʹ৘ใ͕֨ೲ͞ΕΔ
  12. ࣮ࡍʹϋϯζΦϯΛ࣮ࢪͯ͠Έͨ ࠓճͷΞϓϦέʔγϣϯͷΞʔΩςΫνϟͰ͢⚙ Ҿ༻ݩ: https://aws.amazon.com/jp/getting-started/hands-on/build-serverless-web-app-lambda-apigateway-s3-dynamodb-cognito/

  13. ࣮ࡍʹϋϯζΦϯΛ࣮ࢪͯ͠Έͨ "NQMJGZͱ$PHOJUPͳ؆୯ͳઆ໌🔰 w "NQMJGZͱ͸ 
 ɹϞόΠϧΞϓϦέʔγϣϯͱ΢ΣϒΞϓϦέʔγϣϯΛߏங͢ΔͨΊͷ 
 ɹ"84͕044Ͱެ։͢Δ։ൃϓϥοτϑΥʔϜͰ͢ɻ 
 ɹ4ͱ$MPVEGSPOU͕ࣗಈతʹηοτΞοϓ͞Εෛՙʹڧ͍αΠτΛ࡞Δ͜ͱ͕Մೳ

    w $PHOJUPͱ͸ 
 ɹ΢ΣϒΞϓϦέʔγϣϯ΍ϞόΠϧΞϓϦʹ؆୯ʹϢʔβʔͷ 
 ɹαΠϯΞοϓαΠϯΠϯɺΞΫηείϯτϩʔϧͷػೳΛ௥ՃͰ͖ΔαʔϏεͰ͢ɻ
  14. ࣮ࡍʹϋϯζΦϯΛ࣮ࢪͯ͠Έͨ ͭͷϞδϡʔϧͰߏ੒͞Ε͍ͯ·͢👨💻

  15. Ϟδϡʔϧ੩త΢ΣϒαΠτΛϗετ͢Δ ܧଓతσϓϩΠͷϏϧτΠϯͰ΢ΣϒΞϓϦέʔγϣϯͷ੩తϦιʔεΛϗετ͢ΔΑ͏ʹ 
 "84"NQMJGZΛઃఆ͠·͢

  16. Ϟδϡʔϧ੩త΢ΣϒαΠτΛϗετ͢Δ $PEFDPNNJUͷϦϙδτϦΛ࡞੒͠4ʹ͋ΔαϯϓϧίʔυΛμ΢ϯϩʔυ͠ϦϙδτϦ΁QVTI 


  17. Ϟδϡʔϧ੩త΢ΣϒαΠτΛϗετ͢Δ "NQMJGZίϯιʔϧ͕੩త΢ΣϒΞϓϦέʔγϣϯίʔυΛอଘ͢Δ৔ॴͷηοτΞοϓΛ࣮ࢪ 


  18. Ϟδϡʔϧ੩త΢ΣϒαΠτΛϗετ͢Δ ͜Ε͚ͩͷઃఆͰ$PEF$PNNJU΁QVTI͢ΔͱࣗಈͰσϓϩΠ͕࣮ࢪ͞Ε·͢✨ 


  19. Ϟδϡʔϧ੩త΢ΣϒαΠτΛϗετ͢Δ ઃఆ͔ͯ͠Β਺෼ͰσϓϩΠ׬ྃ 


  20. Ϟδϡʔϧ੩త΢ΣϒαΠτΛϗετ͢Δ ਺ΫϦοΫͰ੩త΢ΣϒϗεςΟϯά͕੒ޭ͠·ͨ͠ 


  21. ϞδϡʔϧϢʔβʔ؅ཧج൫ͷߏங

  22. ϞδϡʔϧϢʔβʔ؅ཧج൫ͷߏங $PHOJUPϢʔβʔϓʔϧͷ࡞੒ΞϓϦΫϥΠΞϯτ*%Λൃߦ͠·͢ɻ 


  23. ϞδϡʔϧϢʔβʔ؅ཧج൫ͷߏங αϯϓϧίʔυͷDPO fi HKT΁஋Λهೖͯ͠΢ΣϒαΠτͷઃఆΛߋ৽ͯ͠ϦϙδτϦ΁QVTI͠·͢ɻ 


  24. ϞδϡʔϧϢʔβʔ؅ཧج൫ͷߏங ಈ࡞֬ೝͷͨΊαϯϓϧϢʔβʔΛొ࿥ 


  25. ϞδϡʔϧϢʔβʔ؅ཧج൫ͷߏங $PHOJUPͷ؅ཧը໘͔ΒϢʔβʔͷ֬ೝΛߦ͏͜ͱͰݕূϓϩηεΛ׬ྃͤ͞Δ͜ͱ΋Ͱ͖·͢ɻ 


  26. ϞδϡʔϧϢʔβʔ؅ཧج൫ͷߏங ແࣄϩάΠϯͰ͖·ͨ͠🙌 


  27. ϞδϡʔϧαʔόϨεόοΫΤϯυͷߏங Ϟδϡʔϧͷৄࡉͳखॱ͸লུ͍͖ͤͯͨͩ͞·͢🙇 
 %ZOBNP%#΁ςʔϒϧΛ࡞੒͠ɺ-BNCEB΁αϯϓϧίʔυΛΞοϓϩʔυ͢Δ࡞ۀͱͳΓ·͢ɻ

  28. Ϟδϡʔϧ3&45GVM"1*ΛσϓϩΠ ͍Α͍Α࠷ऴ޻ఔͷϞδϡʔϧͰ͢ 


  29. Ϟδϡʔϧ3&45GVM"1*ΛσϓϩΠ "NB[PO"1*(BUFXBZͷ؅ཧը໘ΑΓ3&45"1*ͷ࡞੒ 


  30. Ϟδϡʔϧ3&45GVM"1*ΛσϓϩΠ ΦʔιϥΠβʔͷ࡞੒ 
 $PHOJUPϢʔβʔϓʔϧʹΑͬͯฦ͞ΕΔ+85τʔΫϯΛ࢖༻ͯ͠"1*ίʔϧΛೝূ͢Δઃఆ

  31. Ϟδϡʔϧ3&45GVM"1*ΛσϓϩΠ SJEFϦιʔεΛ࡞੒͠1045ϝιουΛ࡞੒ 


  32. Ϟδϡʔϧ3&45GVM"1*ΛσϓϩΠ "1*σϓϩΠͱ΢ΣϒαΠτͷઃఆΛߋ৽ͯ͠׬੒ͱͳΓ·͢👏 


  33. Ϟδϡʔϧ3&45GVM"1*ΛσϓϩΠ ͍Α͍Α࠷ޙͷಈ࡞֬ೝ👀 υΩυΩ

  34. ಈ࡞֬ೝ ͔͜͜Β௕͍ઓ͍͕࢝·Γ·͢🔥 
 Θ͔Βͳ͍ͳΓʹ+BWB4DSJQUͱͷίʔυͱ֨ಆ͠·ͨ͠🔥🔥🔥

  35. ಈ࡞֬ೝ ৭ʑͱௐࠪͯ͠ΈΔͱ 
 "SD(*4ͷαϙʔτ͕ऴ͍ྃͯͨ͜͠ͱ͕ݪҼͰͨ͠🥲

  36. ಈ࡞֬ೝ ࠓ౓͸දࣔ͞Ε·ͨ͠🎉 
 ͔͠͠·ͩ໰୊͸ଓ͖·͢஍ਤΛΫϦοΫͯ͠΋Կ΋൓Ԡ͕͋Γ·ͤΜɻɻ

  37. ಈ࡞֬ೝ ೪Γ·͕ͨࣗ͠ྗͰ͸ղܾͰ͖ͣ 
 ϝϯόʔʹϔϧϓΛ͠·ͯ͠Τϥʔௐࠪํ๏Λڭ͍͖͑ͯͨͩ·ͨ͠N @@ N Τϥʔ಺༰ˠ6ODBVHIU5ZQF&SSPSWJFXUIFOJTOPUBGVODUJPO 
 WJFXUIFOؔ਺͕ݺͼग़͍ͤͯͳ͍͜ͱ͕ݪҼͷΑ͏Ͱ͢ɻ ࠔͬͨ࣌͸σϕϩούʔπʔϧͷ$POTPMFΛ֬ೝ

  38. ಈ࡞֬ೝ "SD(*4ͷ"1*ϦϑΝϨϯεΛ֬ೝͯ͠ΈΔͱΤϥʔͷग़͍ͯͨؔ਺͕มߋ͞Ε͍ͯ·ͨ͠⚡ 
 Τϥʔ಺༰ˠ6ODBVHIU5ZQF&SSPSWJFXUIFOJTOPUBGVODUJPO 
 WJFXUIFOؔ਺͕ݺͼग़͍ͤͯͳ͍͜ͱ͕ݪҼͷΑ͏Ͱ͢ɻ ࠔͬͨ࣌͸σϕϩούʔπʔϧͷ$POTPMFΛ֬ೝ

  39. ಈ࡞֬ೝ ίʔυΛमਖ਼ͯ͠ϦϙδτϦ΁QVTI͠·͢💻 


  40. ಈ࡞֬ೝ ࠓ౓͸ͪΌΜͱϚʔΫ͞Ε·ͨ͠ 


  41. ಈ࡞֬ೝ ࠓ౓͸ϢχίʔϯͷΞχϝʔγϣϯʹෆ۩߹͕ൃੜ 
 ࢒೦ͳ͕ΒλΠϜΞοϓͱͳΓͪ͜Β͸मਖ਼Ͱ͖·ͤΜͰͨ͠ 55

  42. ಈ࡞֬ೝ %ZOBNP%#΁஋ͷॻ͖ࠐΈ͸ͪΌΜͱಈ࡞͍ͯ͠·ͨ͠👏 


  43. ·ͱΊ

  44. w ࣮ࡍʹಈ͘αʔϏεΛߏஙͰ͖Δͷ͸໘ന͘ɺͱͯ΋ڵຯ͕༙͖·ͨ͠✨ w ϋϯζΦϯ࣮ࢪͯ͠Ξ΢τϓοτ͢ΔͱΑΓཧղ͕ਂ·Δ͜ͱΛܦݧͰ͖·ͨ͠🙌 w ࠓճϋϯζΦϯ͸प͠·ͯ͠ɺ܁Γฦ࣮͠ࢪ͢Δ͜ͱ΋େ੾ͩͱࢥ͍·ͨ͠🔄 ि໨ˠͱΓ͋͑ͣಈ͘ͱ͜Ζ·ͰਐΊΔɻ ि໨ˠΘ͔Βͳ͍ͱ͜ΖΛௐ΂ͳ͕ΒਐΊΔɻ ि໨ˠৄࡉͳखॱ͸ݟͣʹϞδϡʔϧͷݟग़͚ͩ֬͠ೝͯ͠ߏஙͯ͠ΈΔɻ ·ͱΊ

  45. w ࣮ࡍʹಈ͘αʔϏεΛߏஙͰ͖Δͷ͸ͱͯ΋໘ന͘ɺͱͯ΋ڵຯ͕༙͖·ͨ͠✨ w ϋϯζΦϯ࣮ࢪͯ͠Ξ΢τϓοτ͢ΔͱΑΓཧղ͕ਂ·Δ͜ͱΛܦݧͰ͖·ͨ͠🙌 w ࠓճϋϯζΦϯ͸प͠·ͯ͠ɺ܁Γฦ࣮͠ࢪ͢Δ͜ͱ΋େ੾ͩͱࢥ͍·ͨ͠🔄 ि໨ˠͱΓ͋͑ͣಈ͘ͱ͜Ζ·ͰਐΊΔɻ ि໨ˠΘ͔Βͳ͍ͱ͜ΖΛௐ΂ͳ͕ΒਐΊΔɻ ि໨ˠৄࡉͳखॱ͸ݟͣʹϞδϡʔϧͷݟग़͚ͩ֬͠ೝͯ͠ߏஙͯ͠ΈΔɻ ·ͱΊ

    ϋϯζΦϯΛ࣮ࢪͯ͠Έͯ৽͍ٙ͠໰͕ੜ·Εͨ͜ͱ͕ऩ֭Ͱͨ͠👨💻 
 $PHOJUPͷೝূͷৄࡉ΍"NQMJGZͷػೳͳͲෆ໌ͳ఺͕ଟ͔ͬͨͷͰ 
 ܧଓతʹ࣮ࢪͯ͠ཧղΛਂΊ͍͖͍ͯͨͰ͢
  46. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ