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

実践AWSサーバーレスアーキテクチャ導入の基礎とその概念/serverless-webinar-01

 実践AWSサーバーレスアーキテクチャ導入の基礎とその概念/serverless-webinar-01

2ee9db3a5b6c492acf66ec14c8a5d8dc?s=128

Serverless Operations

July 03, 2020
Tweet

Transcript

  1. 4FSWFSMFTT0QFSBUJPOTງՈོ޺ ࣮ફAWSαʔόʔϨεΞʔΩςΫνϟ ಋೖͷجૅͱͦͷ֓೦

  2. ࣗݾ঺հ גࣜձࣾServerless Operations CEO ΦʔϓϯιʔεLover αʔόʔϨεϛʔτΞοϓOrganizer

  3. αʔόʔϨεͰ Ϋϥ΢υͷՁ஋Λ࠷େݶʹ Serverless Operations ͸͜Ε·ͰάϩʔόϧͷୈҰઢͰ ഓ͖ͬͯͨΫϥ΢υٕज़ʢ"84ʵΞϚκϯ΢ΣϒαʔϏεʣͷ ๛෋ͳ࣮੷ͱ஌ݟΛ׆͔͠ɺ͓٬͞·ͷαʔόʔϨε ʹؔ͢Δ͞·͟·ͳ՝୊Λղܾ͠·͢ɻ ձࣾ঺հ serverless.co.jp

  4. 803,

  5. 0VS0QFO4PVSDF1SPEVDUT

  6. ͳͥαʔόʔϨεͳͷ͔ʁ

  7. ࣮૷ऀͷϦιʔεΛຊ࣭ʹϑΥʔΧε͢ΔͨΊ ྫ͑͹ήʔϜιϑτΛ։ൃ͢Δ࣌ʹϑΥʔΧε͍ͨ͠ͷ͸ήʔϜͷγφϦΦͷϓϩάϥ ϜɻͦΕҎ֎ͷ։ൃ΍ӡ༻͸Ͱ͖ΔݶΓΫϥ΢υʹΞ΢τιʔε ։ൃऀͷϦιʔεΛຊ࣭తͳ͜ͱʹूதͯ͠ɺͦΕҎ֎ͷίετ͸ग़དྷΔݶΓ࡟ݮ͢Δ ΠϯϑϥɺೝূೝՄɺܾࡁγεςϜɺϝʔϧ഑৴ͳͲͷߏங΍ӡ༻͸͠ͳ͍ɻ Ϋϥ΢υ΍4BB4ͷαʔϏεΛͰ͖Δ͚ͩར༻͢Δ͜ͱͰຊ࣭ʹूத͢Δ

  8. ϓϩμΫτͷ඼࣭ΛΞʔΩςΫνϟϨϕϧͰ୲อ ग़དྷΔݶΓো֐Λൃੜͤ͞ͳ͍ͨΊʹΞʔΩςΫνϟϨϕϧͰεέʔϥϏϦςΟͱ ߴՄ༻ੑΛ࣮ݱ͢Δ ͦͷͨΊʹΫϥ΢υͷఏڙ͢ΔαʔόʔϨεͳαʔϏεΛ׆༻͢Δ "84΍(PPHMFͷ௒༏लͳਓ͕ͨͪ࡞ͬͨΠϯϑϥͷ࢓૊Έ΍αϙʔτͷ্ʹ ৐͔ͬΔ͜ͱͷ҆৺ײɻ

  9. ίετͷ࡟ݮ ΞΫηε͕গͳ͍͏ͪ͸ѹ౗తʹίετ͕͍҆ ͭ·Γখ͘͞ॳΊͯେ͖͘εέʔϧ͠΍͍͢ ࣮ߦ͞Εͨ࣌ؒʹରͯ͠՝ۚ͞ΕΔ࢓૊ΈʹΑΓɺ ࣮֬ʹίετ͸࠷దԽ͞ΕΔɻΠϯϑϥͷো֐͸Ϋϥ΢υͷதʹ͍Δ௒༏लͳ ਓୡʹ೚ͤΔ͜ͱͰΠϯγσϯτίετ΋ൃੜͤ͞ͳ͍

  10. ͭ·Γ ΞʔΩςΫνϟϨϕϧͰ͸ߴ඼࣭͔ͭίετΛ࠷ద Խͨ͠ঢ়ଶͰɺϓϩμΫτͷຊ࣭తͳ։ൃʹϦιʔ εΛूத͢ΔͨΊʹαʔόʔϨεͳαʔϏεΛ׆༻ ͯ͠࡞Δબ୒Λ͢Δ

  11. αʔόʔϨεͳαʔϏεͱ͸ʁ ͪΌΜͱ"84ͷ༻ޠͰ͍͏ͱ ϑϧϚωʔδυαʔϏεͱ͍͍·͢

  12. ϑϧϚωʔδυαʔϏεͱ͸ "84ͷαʔϏεͷதͰ΋ͦͷػೳ͚ͩͰͳ͘ߏங΍ӡ༻؅ཧͳͲ΋Ұׅͯ͠ఏڙͯ͘͠ ΕΔ΋ͷ͕ϚωʔδυαʔϏε ͦΕʹ߹Θͤͯɺਫฏํ޲ͷεέʔϦϯά΍৑௕ԽʹΑΔՄ༻ੑɻͦͷσΟεΫ༰ྔ΍ ύʔςΟγϣχϯάͷ؅ཧ΋શؚͯΊͯαʔϏεͱͯ͠ఏڙͯ͘͠ΕΔ΋ͷΛϑϧϚ ωʔδυαʔϏεͱ͍͏

  13. "84ͷϑϧϚωʔδυαʔϏε 'BB4 ΞϓϦέʔγϣϯ %#ɾετϨʔδ ϝοηʔδϯά ετϦʔϜ "1*(BUFXBZ %ZOBNP%# "QQ4ZOD 4

    -BNCEB 4/4 424 &WFOU#SJEHF ,JOFTJT
  14. ·ͣ͸AWS Lambda(FaaS)ͱ ͦͷΞʔΩςΫνϟʹεϙοτΛ౰ͯΔ

  15. "84-BNCEB 'BB4 ͷಛ௃ͱϝϦοτ ΞϓϦέʔγϣϯίʔυΛ࣮ߦͯ͘͠ΕΔαʔϏε Πϕϯτ͕ൃੜ͢Δ͜ͱͰίʔυ͕࣮ߦ͞ΕΔ ࣗಈతʹฒྻํ޲ʹεέʔϦϯάͯ͘͠ΕΔ ίʔυ͕࣮ߦ͞Εͨ࣌ؒʹରͯ͠ͷ՝ۚɻΞϓϦέʔγϣϯͷಛੑ࣍ୈͰ͸େ͖ͳ࡟ݮ ΋ݟࠐΊΔ ίʔυΛಈ͔ͨ͢ΊͷϓϥοτϑΥʔϜͷ؅ཧ͸ෆཁ

  16. ͳͥ͜͏͍ͬͨϝϦοτ͕ ੜ·ΕΔͷ͔

  17. ϙΠϯτ͸Lambda͕Πϕϯτۦಈ͔ͭ εςʔτϨεʹઃܭ͞Ε͍ͯΔ͜ͱ

  18. εςʔτϨεͱ͸ ؆୯ʹݴ͏ͱӬଓతͳσʔλΛ-BNCEBͷ಺෦Ͱอ࣋͠ͳ ͍ɻͦΕʹΑΓਫฏํ޲ͷεέʔϧ͕ՄೳʹͳΔ εέʔϧͷ؅ཧ͸"84͕׬શʹϑϧϚωʔδυͰߦͬͯ͘Ε Δ ͭ·Γɺ࣮૷ऀ͕εςʔτϨεʹ-BNCEBΛ࣮૷͢Δ͚ͩͰɺޙ͸τϥϑΟοΫʹ ߹ΘͤͯΦʔτεέʔϦϯάͯ͘͠ΕΔͱ͍͏ϝϦοτΛڗडͰ͖Δ

  19. Πϕϯτۦಈͱ͸ Կ͔͠ΒͷΞΫγϣϯΛݩʹ-BNCEB͕ಈ࡞͢Δͱ͍͏͜ͱ ɾS3ʹϑΝΠϧ͕Ξοϓϩʔυ͞Εͨ ɾAPI GatewayʹϦΫΤετ͕͋ͬͨ ɾDynamoDBͷσʔλʹߋ৽͕͋ͬͨ ϙʔϦϯάΛߦͬͯঢ়ଶͷมԽΛ౎౓֬ೝ͢Δ͜ͱͱ͸ ਅٯͷ࢓૊Έ ͭ·ΓɺΠϕϯτ͕ൃੜͨ͠ͱ͖͚ͩ-BNCEB͕ಈ͘͜ͱͰ "84ͷίϯϐϡʔςΟϯάϦιʔεͷ࢖༻͸࣮ߦ୯ҐͰ࠷దԽ͞ΕΔ

    ͜ΕʹΑΓίετޮ཰͸ࣗಈతʹ࠷దԽ͞ΕΔ
  20. ΠϕϯτۦಈͰ͋Δ͜ͱ͕ ϓϩάϥϛϯάϞσϧʹͲ͏͍ͬͨ มԽΛ΋ͨΒ͢ͷ͔

  21. ΠϕϯτυϦϒϯΞʔΩςΫνϟ -BNCEBͱαʔϏε͕ΠϕϯτͰ਺चͭͳ͗ͱͳͬͨ ϚΠΫϩαʔϏεͰΠϕϯτυϦϒϯͳΞʔΩςΫνϟ͕ࣗ વͱग़དྷ্͕Δ ͭ·ΓɺαʔόʔϨεͷ੍໿Ͳ͓Γʹ࣮૷Λߦ͏͜ͱͰ ࣗવͱϚΠΫϩαʔϏεͳΞʔΩςΫνϟ͕ग़དྷ্͕Δ

  22. ΠϕϯτυϦϒϯͰ͋Δ͜ͱͰ Կ͕͏Ε͍͠ͷ͔

  23. ଱ো֐ੑ͕͕͋Δ

  24. ଱ো֐ੑ͕͕͋Δ ϩδοΫ ϩδοΫ ϩδοΫ ϦΫΤετ

  25. ଱ো֐ੑ͕͕͋Δ ϩδοΫ ϩδοΫ ϩδοΫ ϦΫΤετ ো֐ͷൃੜ ໰୊ͷղܾޙʹϦΫΤετ͔Β΍Γ௚͢ඞཁ͕͋Δ

  26. 2VFVFΛڬΜͰ͍Δͱ ϩδοΫ ϩδοΫ ϩδοΫ ϦΫΤετ 2VFVF 2VFVF

  27. 2VFVFΛڬΜͰ͍Δͱ ϩδοΫ ϩδοΫ ϩδοΫ ϦΫΤετ 2VFVF 2VFVF

  28. 2VFVFΛڬΜͰ͍Δͱ ϩδοΫ ϩδοΫ ϩδοΫ ϦΫΤετ 2VFVF 2VFVF 2VFVFʹϦΫΤετ͕ཷ·͍ͬͯ͘

  29. 2VFVFΛڬΜͰ͍Δͱ ϩδοΫ ϩδοΫ ϩδοΫ ϦΫΤετ 2VFVF 2VFVF ো֐ͷղܾޙɺ2VFVFʹཷ·ͬͨ ϦΫΤετ͸ྲྀΕ੔߹ੑ͕อͨΕΔ

  30. ΤϥʔϋϯυϦϯά͕ ΍Γ΍͘͢ͳΔ

  31. ΤϥʔϋϯυϦϯά ϩδοΫ ϩδοΫ ϦΫΤετ 2VFVF %-2 %FBE-FUUFS2VFVFͰ ΤϥʔϋϯυϦϯά

  32. ΤϥʔϋϯυϦϯά ϩδοΫ ϩδοΫ ϦΫΤετ 2VFVF %-2 ܽଛͨ͠ σʔλ ॲཧͰ͖ͣʹϦτϥΠͷޙ %FBE-FUUFS2VFVFʹ

    ৼΓ෼͚ΒΕΔ
  33. ΤϥʔϋϯυϦϯά ϩδοΫ ϩδοΫ ϦΫΤετ 2VFVF %-2 ܽଛσʔλΛमਖ਼ͯ͠ ϩδοΫ͔ΒϦΧόϦ͕ ࣮ࢪͰ͖Δ

  34. ػೳ௥Ճʹڧ͘ͳΔ

  35. ϞϊϦγοΫͳΞʔΩςΫνϟͷ৔߹ ػೳ௥ՃͰιʔείʔυΛมߋ͢ΔͱӨڹൣғ͸ ϓϩμΫτશମʹٴͿͨΊίʔυͷྔ͕ଟ͚Ε͹ଟ͍΄Ͳ ৺ཧతʹ͸͠ΜͲ͘ͳΔ

  36. ΠϕϯτυϦϒϯΞʔΩςΫνϟͷ৔߹ 'VODUJPO 4FSWJDF 'VODUJPO 4FSWJDF 'VODUJPO &WFOU &WFOU ৽ػೳ ৽ػೳ

    Πϕϯτιʔεʹରͯ͠৽ͨʹ 4VCTDSJCFSΛ௥Ճ͍ͯ͘͠ Ξϓϩʔνʹ͢Δ͜ͱͰӨڹൣ ғ͕ߜΓ΍͘͢ͳΔ
  37. αʔόʔϨεʹ͢Δ͜ͱͰࣗવͱΠϕϯτυϦϒϯ ʹͳΓɺϚΠΫϩαʔϏεͷΞʔΩςΫνϟతͳ ϝϦοτΛ׆͔ͤΔΑ͏ʹͳΔ ͭ·Γ

  38. ·ͣ͸αʔόʔϨεΛ࢝ΊΔͨΊʹ ֤ϑϧϚωʔδυαʔϏεͷಛ௃Λ ཧղ͠Α͏

  39. API Gateway "1*(BUFXBZ "1*Λ࡞੒͢ΔαʔϏε αʔόʔϨεͷੈքͰ͸γεςϜ΁ΞΫη ε͢ΔͨΊͷʮϑϩϯτυΞʯͱͯ͠ػೳ ͢ΔαʔϏε

  40. AppSync "QQ4ZOD (SBQI2-ͷόοΫΤϯυΛఏڙ͢ΔϑϧϚ ωʔδυαʔϏε ϑϩϯτΤϯυΞϓϦέʔγϣϯͷόοΫ Τϯυͱͯ͠ ਺ඦສ୆ͷσόΠεͱͷؒͷϦΞϧλΠϜ αϒεΫϦϓγϣϯ΋ɺΞϓϦσʔλ΁ͷ ΦϑϥΠϯΞΫηε΋Մೳ

  41. DynamoDB %ZOBNP%# ߴ଎Ͱεέʔϥϒϧͳ/P42-σʔλϕʔε ਖ਼͘͠ઃܭ͢Δ͜ͱͰແݶͷεέʔϥϏϦ ςΟ͕͋Δ ༰ྔ͸ແ੍ݶɻσʔλ͕૿͑ΔʹͭΕͯউ खʹύʔςΟγϣχϯάͯ͠σʔλΛ഑ஔ ͯ͘͠ΕΔ Ϧʔδϣϯ಺ͷ஍ཧతʹ෼ࢄͨ͠Օॴʹ σʔλΛϨϓϦέʔγϣϯ͢Δ͜ͱͰՄ༻

    ੑͱରো֐ੑΛ֬อ͢Δ
  42. S3 4 ֦ுੑͱ଱ٱੑΛ݉Ͷඋ͑ͨΦϒδΣΫτ ετϨʔδ ༰ྔແ੍ݶͰɺͷ଱ٱੑΛ ࣋ͭ ՕॴͷΞϕΠϥϏϦςΟκʔϯͰࣗಈͰϨ ϓϦέʔγϣϯ͢Δ͜ͱͰ଱ো֐ੑͱՄ༻ ੑΛ֬อ "UIFOB΍4

    4FMFDUΛ࢖༻ͯ͠42-ͰΦϒ δΣΫτʹΞΫηεՄೳ
  43. SQS 424 ׬શϚωʔδυܕͷϝοηʔδΩϡʔΠϯ άαʔϏε Ωϡʔ͋ͨΓͷϝοηʔδ਺͸ແ੍ݶͰ΄ ΅ແ੍ݶͷεϧʔϓοτ େྔͷδϣϒʢϝοηʔδʣΛ-BNCEBͰ͞ ͹͖͍ͨ࣌ʹ424ΛڬΉͱ༗ޮ

  44. EventBridge &WFOU#SJEHF ड͚औͬͨΠϕϯτͷ഑৴΍ϑΟϧλϦϯ άΛ௨ͯ͠ϧʔςΟϯάΛߦ͏αʔϏε %BUB%PHͳͲͷ4BB4͔ΒͷσʔλΛ"84಺ Ͱ-BNCEBͳͲʹϧʔςΟϯάͯ͠ॲཧͤ͞ ͨΓग़དྷΔ -BNCEBಉ࢜Λ઀ଓ͢Δʹ΋༗ޮ

  45. Kinesis Streams ,JOFTJT4USFBNT ετϦʔϜσʔλΛϦΞϧλΠϜʹऩू͠ ͯॲཧ͢ΔͨΊͷαʔϏε αʔόʔϨεͷੈքͰ͸୹ظؒͰେྔʹ͘ ΔΞΫηε΍3%4ͷಉ࣌઀ଓ਺ͷ໰୊ʹର ॲ͢ΔͨΊʹྲྀྔΛௐ੔ͯ͠ཪଆͷ-BNCEB Ͱ·ͱΊͯॲཧ͢ΔϢʔεέʔε͕ଟ͍

  46. Step Functions 4UFQ'VODUJPOT "84ͷ༷ʑͳαʔϏεΛܨ͍Ͱॲཧͷϫʔ ΫϑϩʔΛઃܭɾ࣮ߦ͢ΔαʔϏε -BNCEB୯ମͰ͸λΠϜΞ΢τ͢ΔΑ͏ͳॲ ཧΛϫʔΫϑϩʔʹ෼ղ࣮ͯ͠ߦ͢ΔΑ͏ ͳϩϯάϥϯχϯάͳόονॲཧʹ޲͍ͯ ͍Δɻ

  47. ·ͣ͸͜ΕΒͷϑϧϚωʔδυαʔϏεͷಛੑΛ ཧղͯ͠దࡐదॴͰ࢖͑ΔΑ͏ʹͳΓ·͠ΐ͏ʂ ॏཁͳ͜ͱ͸

  48. ·ͱΊ

  49. ·ͱΊ Ϗδωεͷຊ࣭ʹूத͢ΔͨΊʹΠϯϑϥͷӡ༻؅ཧΛΫϥ ΢υʹؙ౤͛͠·͠ΐ͏ɻͦͷͨΊͷαʔόʔϨε ΠϕϯτυϦϒϯͳΞʔΩςΫνϟΛҙࣝ͠Α͏ɻͦͷ͜ͱ Ͱมߋʹڧ͘ͳΓɺ଱ো֐ੑ΍ΤϥʔϋϯυϦϯάʹڧ͍γ εςϜʹͳΓ·͢ ग़དྷΔݶΓϑϧϚωʔδυαʔϏεϑΝʔετͰઃܭ͠· ͠ΐ͏ɻ֤αʔϏεͷಛੑΛཧղͯ͠దࡐదॴͰ࢖͍෼͚Ε ΔΑ͏ʹ͠·͠ΐ͏

  50. ͱ͸͍͑ ϑϧϚωʔδυαʔϏεͷ࢓༷΍੍໿΍ΠϕϯτυϦϒϯͳ ϓϩάϥϛϯάϞσϧʹ׳ΕΔ͜ͱ͸ͦΕͳΓʹֶशίετ ͕͔͔Δ͜ͱ΋ࣄ࣮

  51. ࠷ॳͷೖΓํͱͯ͠ "1*(BUFXBZ -BNCEB %ZOBNP%#ͱ͍ͬͨߏ੒Ͱখن໛ͳͱ͜Ζ͔ΒॳΊͯΈΔɻ ΤϥʔϋϯυϦϯάͳͲ͕ಛʹॏ༻Ͱͳ͍έʔεͳΒɺ -BNCEBʹॲཧΛ٧Ίͯॻ͘ͷ΋ແ͠͡Όͳ͍ ࠓͰ͸3%4ͷίʔϧυελʔτ໰୊΋େ෯ʹվળ͍ͯ͠Δɻ3BJMT΍-BSBWFMͱ͍ͬͨ8FCΞϓϦ έʔγϣϯϑϨʔϜϫʔΫΛࡌͤͯɺීஈ͔Β΍͍ͬͯΔΞʔΩςΫνϟΛࡌͤସ͑ͯΈΔɻ ࠷ॳ͔Β఺ͷΠϕϯτυϦϒϯΞʔΩςΫνϟΛ໨ࢦ͞ͳ͍

  52. ࠷ޙʹ

  53. গ͠ฐࣾͷϏδωεͷ঺հΛ ͍ͤͯͩ͘͞͞

  54. ڞ૑ܕडୗ։ൃ

  55. ཁ͢Δʹ ϏδωεͷΰʔϧΛୡ੒͢ΔͨΊʹαʔόʔϨεΞϓϦέʔ γϣϯΛҰॹʹ࡞͍͖ͬͯ·͠ΐ͏ɻͦͷࢧԉΛߦ͍·͢ɻ "84αʔόʔϨεʹؔ͢Δ͜ͱͳΒɺઃܭɾ։ൃɾ1P$ɾෛ ՙࢼݧɾӡ༻ɾίετ࠷దԽͳͲ͋ΒΏΔ͜ͱ͕Մೳ

  56. ϓϥϯʢࢀߟՁ֨ʣ νϟοτͷΈͰͷ։ൃαϙʔτ ઃܭɾΞʔΩςΫςΟϯάΛҰॹʹ࣮ࢪ Ұॹʹ։ൃΛ࣮ࢪ ෛՙࢼݧͷઃܭ͔Β࣮ࢪ ສ݄ʙ ສ݄ʙ ສ݄ʙ ສ݄ʙ

  57. ڵຯ͕͋Ε͹ੋඇαΠτ͔Β ͓໰͍߹Θ͍ͤͩ͘͞

  58. serverless.co.jp