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

コミュニティイベント配信基盤での サーバーレスアーキテクチャ実践

コミュニティイベント配信基盤での サーバーレスアーキテクチャ実践

NRI さんの社内勉強会にて登壇させていただいた際の資料です。
AWS のマネージドサービスを活用したサーバーレスな配信基盤についての解説です。

matsuihidetoshi

February 09, 2022
Tweet

More Decks by matsuihidetoshi

Other Decks in Technology

Transcript

  1. দҪӳढ़
    ίϛϡχςΟΠϕϯτ഑৴ج൫Ͱͷ
    αʔόʔϨεΞʔΩςΫνϟ࣮ફ

    View Slide

  2. ࣗݾ঺հ
    দҪӳढ़
    ೥݄೔ੜ·Ε
    ੩Ԭݝཱ඿দ޻ۀߴ౳ֶߍ৘ใٕज़Պଔۀ
    ੡଄ۀɺݐங౔໦ɺελʔτΞοϓͳͲෳ਺ۀछɾ৬छܦݧ
    ೥͝ΖΑΓ8FCܥͷ։ൃʹܞΘΔ
    גࣜձࣾελʔτΞοϓςΫϊϩδʔςοΫϦʔυ
    ೥݄ΑΓ"844FSWFSMFTT)FSP

    View Slide

  3. ৭ʑ͋ͬͯ౦ژ͔Β6λʔϯ
    ब৬׆ಈ͕͖͔͚ͬͰ஍ݩͷٕज़ίϛϡχςΟʹࢀՃ͢Δ༷ʹͳΓɺ+"846(ͱग़ձ͏
    ΄΅݄։࠵ͷษڧձͰԿ͔࡞ͬͯൃද͢Δͷ͕श׳ʹ
    CVJMEFST
    fl
    BTI΁ͷهࣄͷΦϑΝʔΛ΋Β͍ɺఆظతʹدߘ
    ίϩφ΢ΠϧεରࡦͷγϏοΫςοΫʹࢀը
    +"84%":4SF$POOFDU࣮ߦһ
    "844FSWFSMFTT)FSPʹબ͹ΕΔ
    +"841"/,3"5*0/6QUJMM%PXO࣮ߦҕһ
    +"846(ͱͷؔΘΓ

    View Slide

  4. +"84%":4SF$POOFDU
    ೥݄։࠵
    +"846(೥ؒΛ௨ͯ͠࠷େͷΠϕϯτ
    աڈ࠷ߴͷਓ͍ۙࢀՃਃ͠ࠐΈ
    ίϛϡχςΟΠϕϯτͱͯ͠ࠃ಺࠷େڃ
    ΠϕϯταΠτɺ഑৴ج൫౳͸֎෦ҕୗͤͣ
    શͯίϛϡχςΟϝϯόʔ͕ߏங

    View Slide

  5. +"841"/,3"5*0/6QUJMM%PXO
    ೥݄։࠵
    ࣌ؒ։࠵ͷΦϯϥΠϯΠϕϯτ
    ੈքதͷ"84ίϛϡχςΟϝϯόʔ͕ొஃ
    ϙέτʔΫΛ࢖ͬͨಉ࣌௨༁
    ΠϕϯταΠτɺ഑৴ج൫౳͸֎෦ҕୗͤͣ
    શͯίϛϡχςΟϝϯόʔ͕ߏங

    View Slide

  6. ഑৴αΠτΛlˠzͰߏங
    ͳͥlΞϦϞϊzͰ͸ͳ͘lˠzͳͷ͔ʁ
    ୈࡾऀʹ੍ݶΛड͚ͳ͍
    ΦϦδφϦςΟͷ͋ΔମݧΛఏڙͰ͖Δ
    ͍ͭͰʹαʔϏεͷ࣮ݧɾݕূʹ΋ͳΔ
    ίϛϡχςΟͷఈྗΛ஌Β͠Ί͍ͨ
    ͳΜ͔Ϡό͍͜ͱ΍Γ͍ͨ

    View Slide

  7. ഑৴αʔόʔ͸Ͳ͏ͯ͠΋ඞཁ
    ख࡞Γ͢ΔͳΒʜ
    OHJOYSUNQNPEVMF
    IUUQTHJUIVCDPNBSVUOHJOYSUNQNPEVMF
    "#3΍Γ͍ͨ
    ૒ํ޲ͷΠϯλϥΫγϣϯ΍Γ͍ͨ
    อଘ͍ͨ͠
    ϦΞϧλΠϜͳσʔλΛද͍ࣔͨ͠
    αʔόʔམͱͨ͘͠ͳ͍
    ਺ϲ݄Ͱ࡞Γ͍ͨ
    ˠͱͯ΋ݫ͍͠ʂʂ

    View Slide

  8. "NB[PO*74
    OͷετϦʔϛϯά഑৴͕Ͱ͖Δ
    4%,Ͱ؆୯ʹར༻Ͱ͖Δ
    εέʔϧ͢Δ
    ετϦʔϛϯά͍ͭͰʹ೚ҙͷσʔλ
    ΋ૹΕΔ
    ഑৴αΠτͷࣗ࡞ʹ࠷దʂ

    View Slide

  9. "NB[PO*74Λ࢖ͬͨߏ੒
    ख࡞Γ͢ΔͳΒʜ
    "#3ϑϩϯτͰରԠ͢Δ͚ͩ
    ૒ํ޲ΠϯλϥΫγϣϯ5JNFE.FUBEBUB
    อଘ͍ͨ͠ઃఆ͚ͩ
    ϦΞϧλΠϜσʔλදࣔ5JNFE.FUBEBUB
    εέʔϧ"84ʹ͓೚ͤ
    ਺ϲ݄Ͱ࡞Γ͍ͨશવͰ͖Δ
    ˠϋοϐʔʂʂ
    "NB[PO*74

    View Slide

  10. View Slide

  11. View Slide

  12. ഑৴୲౰ऀ͕
    4USFBN:BSE0#44UVEJPͰ
    "NB[PO*74ʹಈըૹ৴
    *74͕ΫϥΠΞϯτʹಈը഑৴
    ΫϥΠΞϯτଆ͸ެࣜ4%,ͱ7JEPFKTΛ
    ૊Έ߹Θ࣮ͤͯ૷

    View Slide

  13. "NQMJGZ։ൃ໘
    Πϯϑϥ΋แׅͨ͠ϑϨʔϜɹɹɹ
    ϫʔΫͰര଎ͳ։ൃ
    શ෦׬ᘳʹ࢖͏ඞཁ͸ͳ͘ɹɹɹɹ
    ඞཁͳ෦෼͔Β࢖͍͚ͬͯΔ
    ଞͷαʔϏεΛ૊Έ߹Θͤͨɹɹɹ
    ϓϩτλΠϐϯάʹ࠷ద

    View Slide

  14. "NQMJGZӡ༻໘
    ػೳΛ࣮ݱ͢Δίʔυ͕ͦͷ··ɹ
    Πϯϑϥ؅ཧͷίʔυʹ
    ϚΠΫϩαʔϏεલఏͳͷͰޙ͔Β
    ෦෼తʹվमͯ͠΋͍͍

    View Slide

  15. /VYUKT
    ۀ຿΍ࣗ෼ͷϒϩά։ൃͰ࢖͍ͬͯͨ
    "NQMJGZ$POTPMFΛ࢖͍͔ͬͨͭ͘ͷ
    ϗεςΟϯάͷํ๏Λࢼߦࡨޡͨ͜͠ͱ
    ͕͋ͬͨʢ41"44(ʣ
    σβΠϯγεςϜΛ࢖͍׳Ε͍ͯͨ
    ʢ7VFUJGZʣ

    View Slide

  16. ެࣜαϯϓϧ
    ˠ/1.Ͱґଘؔ܎͕ղܾͰ͖ͳ͍ʜ

    View Slide

  17. ղܾࡦ
    ެࣜͷίʔυ
    %0.ૢ࡞Ͱ௚઀షΓ෇͚Δʂ👊
    ˠಈ͚͘Ͳμα͍ʜ

    View Slide

  18. "#3 "EBQUJWF#JU3BUF
    ௥Ճ
    ˠಈ͚͘Ͳґવμα͍ʜ
    ΫϥΠΞϯτଆͰϏοτϨʔτબ୒Մೳʹʂ
    👊

    View Slide

  19. ղܾࡦ
    Ϗϧυ࣌ʹؚ·Εͳ͍ϑΝΠϧΛ
    $PQZ8FCQBDL1MVHJOͰίϐʔ
    ґଘϑΝΠϧΛͪΌΜͱ͖࣋ͬͯͯ
    ڧҾͳ%0.ૢ࡞Λഇࢭʂ

    View Slide

  20. λΠτϧ΍આ໌จΛߋ৽
    ߋ৽ͷτϦΨʔͰ
    -BNCEBؔ਺Λ࣮ߦ
    5JNFE.FUBEBUBͱͯ͠
    λΠτϧ΍આ໌จΛૹ৴͢ΔΑ͏
    "NB[PO*74ʹϦΫΤετ
    5JNFE.FUBEBUBड৴ͷ
    ΠϕϯτΛϑοΫͯ͠
    λΠτϧͱઆ໌จΛදࣔʹ൓ө

    View Slide

  21. "NQMJGZͰόοΫΤϯυ΋
    ؙͬͱ΍ͬͨ؅ཧը໘
    ӡӦϝϯόʔͷೝূ

    View Slide

  22. Ξϯέʔτͷ੍ޚ
    ηογϣϯͷ
    λΠτϧ
    આ໌จ
    ͷߋ৽

    View Slide

  23. *74ετϦʔϜ63-
    ഑৴ϖʔδͷ4MVH
    ഑৴ϖʔδͷλΠτϧ
    ഑৴ϖʔδͷղઆจ
    ༗ޮແޮϑϥά
    Ξϯέʔτͷ*%
    Ξϯέʔτͷঢ়ଶ

    View Slide

  24. ໰୊ൃੜ

    View Slide

  25. *745JNFE.FUBEBUB2VPUBT
    ηογϣϯઆ໌จͷจࣈ਺଍Βͳ͍

    View Slide

  26. ෼ׂͯ͠ૹΖ͏ʢ୯७ʣ

    View Slide

  27. ݪจݪจݪจʜݪจ
    அย,FZ45"35
    அย,FZ
    அย,FZ
    அย,FZ&/%
    ෼ׂ
    ճʹ෼͚ͯϦΫΤετ
    ݪจݪจݪจʜݪจ
    அย,FZ45"35
    அย,FZ
    அย,FZ
    அย,FZ&/%
    ෮ݩ
    ճʹ෼͚ͯૹ৴
    ௕Ίͷઆ໌จʹରԠʂ

    View Slide

  28. ϑϩϯτଆͷίʔυղઆ
    5JNFE.FUBEBUBͷத਎ͷςΩετ
    ࣗ෼Ͱఆٛͨ͠ΠϕϯτͷछผͷΩʔ
    5JNFE.FUBEBUBͷΠϕϯτΛτϦΨʔ

    View Slide

  29. ϑϩϯτଆͷίʔυղઆ
    ࣗݾఆٛͨ͠Πϕϯτͷछྨ͕આ໌จͷ৔߹
    νϟϯΫσʔλͷ
    ऴΘΓͱॳΊΛݕ஌
    νϟϯΫσʔλΛॱ࣍݁߹

    View Slide

  30. σʔλ͕ߋ৽͞Εͯͳͯ͘΋
    Կ౓΋܁Γฦ͠
    ௨৴͕ԟ෮͢Δ
    σʔλ͕ߋ৽͞Ε͚ͨ࣌ͩ
    Ұํ௨ߦͰ௨৴͢Δ

    View Slide

  31. ࢹௌऀ਺ͷߋ৽ΛτϦΨʔʹͯ͠
    -BNCEBؔ਺ͷ࣮ߦ
    ࢹௌऀ਺ͷ
    5JNFE.FUBEBUBͱͯ͠ͷ
    ૹ৴Λ"NB[PO*74΁
    ϦΫΤετ
    5JNFE.FUBEBUBड৴ͷ
    ΠϕϯτΛϑοΫͯ͠
    ࢹௌऀ਺Λදࣔʹ൓ө
    5JNFE.FUBEBUBͱͯ͠
    ࢹௌऀ਺Λૹ৴͢ΔΑ͏
    "NB[PO*74ʹ
    ϦΫΤετ
    ࢹௌऀ਺ͷ
    औಘͱอଘ

    View Slide

  32. ॲཧΛͲ͜Ͱෛ୲͢Δ͔
    5JNFE.FUBEBUBܦ༝ͳΒ໰୊ͳ͍
    ϖʔδಡΈࠐΈ࣌͸Ͳ͏ͯ͠΋"1*͕ݺͼग़͞ΕΔ
    %ZOBNP%#͔ΒಡΜͩ஋ʹର͢Δܭࢉॲཧ͕ඞཁ
    -BNCEB͸஋͚ͩΛฦ͠
    ϑϩϯτଆͰॲཧ

    View Slide

  33. ؅ཧը໘͔ΒΞϯέʔτͷૢ࡞
    ʢ։࢝క੾ˍ݁Ռදࣔऴྃʣ
    Ξϯέʔτ৘ใͷ
    5JNFE.FUBEBUBͱͯ͠ͷ
    ૹ৴Λ"NB[PO*74ʹ
    ϦΫΤετ
    5JNFE.FUBEBUBड৴ͷ
    ΠϕϯτΛϑοΫͯ͠
    ΞϯέʔτΛදࣔʹ൓ө
    Ξϯέʔτঢ়ଶΛ
    ฒߦͯ͠ه࿥
    ճ౴ͷ౤ߘͱӾཡ

    View Slide

  34. +"84%":4
    ˣ
    +"841"/,3"5*0/

    View Slide

  35. ؅ཧը໘͸ࣗ࡞ͤͣʹ
    4QSFBETIFFUΛ"1*Խͯ͠࢖༻
    ഑৴ࢹௌऀ਺อଘɾදࣔͷ
    όοΫΤϯυ͸ίʔυ؅ཧͯ͠
    ࠓޙͷΠϕϯτʹ΋ྲྀ༻Մೳʹ
    ഑৴ΦϖϨʔλʔଆͰ
    શͯͷ৘ใΛ߹੒ͯ͠
    ಈը಺ʹؚΊΔ

    View Slide

  36. શͯͷ৘ใΛಈը಺ʹؚΊΔ
    ;PPN
    εϐʔΧʔϏϡʔ
    ηογϣϯλΠτϧ
    ొஃऀ৘ใ
    ϙέτʔΫͷ
    ຋༁
    ࢹௌऀ਺
    ηογϣϯεϥΠυ

    View Slide

  37. ͭͷΠϕϯτΛܦ্ͨͰͷΞ΢τϓοτ
    ࠷௿ݶ͸ίϐϖͰ࡞ΕΔ

    View Slide

  38. ࠓޙ΍͍͖͍ͬͯͨ͜ͱ
    ࣗ࡞͢Δ͠ͳ͍ػೳͷݕ౼
    +"84%":4Ϩϕϧͷػೳ͕
    ࣮ݱͰ͖Δߏ੒ΛίʔυԽ
    υΩϡϝϯτ੔උ
    ଐਓੑΛഉআͯ͠
    ਝ଎ʹಠࣗ഑৴αΠτΛߏங

    View Slide

  39. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ

    View Slide