Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
コミュニティイベント配信基盤での サーバーレスアーキテクチャ実践
Search
matsuihidetoshi
February 09, 2022
Technology
0
660
コミュニティイベント配信基盤での サーバーレスアーキテクチャ実践
NRI さんの社内勉強会にて登壇させていただいた際の資料です。
AWS のマネージドサービスを活用したサーバーレスな配信基盤についての解説です。
matsuihidetoshi
February 09, 2022
Tweet
Share
More Decks by matsuihidetoshi
See All by matsuihidetoshi
AWS Summit Japan 2025 Community Stage - App workflow automation by AWS Step Functions
matsuihidetoshi
1
470
web-application-security
matsuihidetoshi
1
320
JAWS DAYS 2024 C-9
matsuihidetoshi
0
210
クラウドだからできた 地方主導のJAWS DevOps
matsuihidetoshi
2
530
既存システムのコンテナ化で得られた知見と、 全然関係ないけど自炊を支える技術
matsuihidetoshi
0
1k
Media JAWS 2023/1
matsuihidetoshi
1
610
Efforts to Organizing & Broadcastiong JAWS-UG's global event "JAWS PANKRATION 2021 -Up till Down-"
matsuihidetoshi
0
200
サーバレスアーキテクチャの考え方
matsuihidetoshi
0
120
再利用可能なサーバーレス配信コンポーネント
matsuihidetoshi
0
220
Other Decks in Technology
See All in Technology
レビュー負債を解消する ― CodeRabbitが支えるAI駆動開発
moongift
PRO
0
430
SRE視点で振り返るメルカリのアーキテクチャ変遷と普遍的な考え
foostan
1
200
QAを"自動化する"ことの本質
kshino
1
140
やり方は一つだけじゃない、正解だけを目指さず寄り道やその先まで自分流に楽しむ趣味プログラミングの探求 2025-11-15 YAPC::Fukuoka
sugyan
2
860
その意思決定、まだ続けるんですか? ~痛みを超えて未来を作る、AI時代の撤退とピボットの技術~
applism118
0
480
AI × クラウドで シイタケの収穫時期を判定してみた
lamaglama39
1
370
未回答質問の回答一覧 / 開発をリードする品質保証 QAエンジニアと開発者の未来を考える-Findy Online Conference -
findy_eventslides
0
260
AI駆動開発を実現するためのアーキテクチャと取り組み
baseballyama
2
910
ステートレスなLLMでステートフルなAI agentを作る - YAPC::Fukuoka 2025
gfx
8
1.4k
持続可能なアクセシビリティ開発
azukiazusa1
6
260
機密情報の漏洩を防げ! Webフロントエンド開発で意識すべき漏洩パターンとその対策
mizdra
PRO
10
3.6k
重厚長大企業で、顧客価値をスケールさせるためのプロダクトづくりとプロダクト開発チームづくりの裏側 / Developers X Summit 2025
mongolyy
0
160
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Optimizing for Happiness
mojombo
379
70k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Being A Developer After 40
akosma
91
590k
Transcript
দҪӳढ़ ίϛϡχςΟΠϕϯτ৴ج൫Ͱͷ αʔόʔϨεΞʔΩςΫνϟ࣮ફ
ࣗݾհ দҪӳढ़ ݄ੜ·Ε ੩Ԭݝཱদۀߴֶߍใٕज़Պଔۀ ۀɺݐஙɺελʔτΞοϓͳͲෳۀछɾ৬छܦݧ ͝ΖΑΓ8FCܥͷ։ൃʹܞΘΔ גࣜձࣾελʔτΞοϓςΫϊϩδʔςοΫϦʔυ ݄ΑΓ"844FSWFSMFTT)FSP
৭ʑ͋ͬͯ౦ژ͔Β6λʔϯ ब৬׆ಈ͕͖͔͚ͬͰݩͷٕज़ίϛϡχςΟʹࢀՃ͢Δ༷ʹͳΓɺ+"846(ͱग़ձ͏ ΄΅݄։࠵ͷษڧձͰԿ͔࡞ͬͯൃද͢Δͷ͕श׳ʹ CVJMEFST fl BTIͷهࣄͷΦϑΝʔΛΒ͍ɺఆظతʹدߘ
ίϩφΠϧεରࡦͷγϏοΫςοΫʹࢀը +"84%":4SF$POOFDU࣮ߦһ "844FSWFSMFTT)FSPʹબΕΔ +"841"/,3"5*0/6QUJMM%PXO࣮ߦҕһ +"846(ͱͷؔΘΓ
+"84%":4SF$POOFDU ݄։࠵ +"846(ؒΛ௨ͯ͠࠷େͷΠϕϯτ աڈ࠷ߴͷਓ͍ۙࢀՃਃ͠ࠐΈ ίϛϡχςΟΠϕϯτͱͯ͠ࠃ࠷େڃ ΠϕϯταΠτɺ৴ج൫֎෦ҕୗͤͣ શͯίϛϡχςΟϝϯόʔ͕ߏங
+"841"/,3"5*0/6QUJMM%PXO ݄։࠵ ࣌ؒ։࠵ͷΦϯϥΠϯΠϕϯτ ੈքதͷ"84ίϛϡχςΟϝϯόʔ͕ొஃ ϙέτʔΫΛͬͨಉ࣌௨༁ ΠϕϯταΠτɺ৴ج൫֎෦ҕୗͤͣ
શͯίϛϡχςΟϝϯόʔ͕ߏங
৴αΠτΛlˠzͰߏங ͳͥlΞϦϞϊzͰͳ͘lˠzͳͷ͔ʁ ୈࡾऀʹ੍ݶΛड͚ͳ͍ ΦϦδφϦςΟͷ͋ΔମݧΛఏڙͰ͖Δ ͍ͭͰʹαʔϏεͷ࣮ݧɾݕূʹͳΔ ίϛϡχςΟͷఈྗΛΒ͠Ί͍ͨ
ͳΜ͔Ϡό͍͜ͱΓ͍ͨ
৴αʔόʔͲ͏ͯ͠ඞཁ ख࡞Γ͢ΔͳΒʜ OHJOYSUNQNPEVMF IUUQTHJUIVCDPNBSVUOHJOYSUNQNPEVMF "#3Γ͍ͨ ํͷΠϯλϥΫγϣϯΓ͍ͨ อଘ͍ͨ͠
ϦΞϧλΠϜͳσʔλΛද͍ࣔͨ͠ αʔόʔམͱͨ͘͠ͳ͍ ϲ݄Ͱ࡞Γ͍ͨ ˠͱͯݫ͍͠ʂʂ
"NB[PO*74 OͷετϦʔϛϯά৴͕Ͱ͖Δ 4%,Ͱ؆୯ʹར༻Ͱ͖Δ εέʔϧ͢Δ ετϦʔϛϯά͍ͭͰʹҙͷσʔλ ૹΕΔ
৴αΠτͷࣗ࡞ʹ࠷దʂ
"NB[PO*74Λͬͨߏ ख࡞Γ͢ΔͳΒʜ "#3ϑϩϯτͰରԠ͢Δ͚ͩ ํΠϯλϥΫγϣϯ5JNFE.FUBEBUB อଘ͍ͨ͠ઃఆ͚ͩ ϦΞϧλΠϜσʔλදࣔ5JNFE.FUBEBUB
εέʔϧ"84ʹ͓ͤ ϲ݄Ͱ࡞Γ͍ͨશવͰ͖Δ ˠϋοϐʔʂʂ "NB[PO*74
None
None
৴୲ऀ͕ 4USFBN:BSE0#44UVEJPͰ "NB[PO*74ʹಈըૹ৴ *74͕ΫϥΠΞϯτʹಈը৴ ΫϥΠΞϯτଆެࣜ4%,ͱ7JEPFKTΛ Έ߹Θ࣮ͤͯ
"NQMJGZ։ൃ໘ Πϯϑϥแׅͨ͠ϑϨʔϜɹɹɹ ϫʔΫͰരͳ։ൃ શ෦ᘳʹ͏ඞཁͳ͘ɹɹɹɹ ඞཁͳ෦͔Β͍͚ͬͯΔ ଞͷαʔϏεΛΈ߹Θͤͨɹɹɹ ϓϩτλΠϐϯάʹ࠷ద
"NQMJGZӡ༻໘ ػೳΛ࣮ݱ͢Δίʔυ͕ͦͷ··ɹ Πϯϑϥཧͷίʔυʹ ϚΠΫϩαʔϏεલఏͳͷͰޙ͔Β ෦తʹվम͍͍ͯ͠
/VYUKT ۀࣗͷϒϩά։ൃͰ͍ͬͯͨ "NQMJGZ$POTPMFΛ͍͔ͬͨͭ͘ͷ ϗεςΟϯάͷํ๏Λࢼߦࡨޡͨ͜͠ͱ ͕͋ͬͨʢ41"44(ʣ σβΠϯγεςϜΛ͍׳Ε͍ͯͨ ʢ7VFUJGZʣ
ެࣜαϯϓϧ ˠ/1.Ͱґଘ͕ؔղܾͰ͖ͳ͍ʜ
ղܾࡦ ެࣜͷίʔυ %0.ૢ࡞ͰషΓ͚Δʂ👊 ˠಈ͚͘Ͳμα͍ʜ
"#3 "EBQUJWF#JU3BUF Ճ ˠಈ͚͘Ͳґવμα͍ʜ ΫϥΠΞϯτଆͰϏοτϨʔτબՄೳʹʂ 👊
ղܾࡦ Ϗϧυ࣌ʹؚ·Εͳ͍ϑΝΠϧΛ $PQZ8FCQBDL1MVHJOͰίϐʔ ґଘϑΝΠϧΛͪΌΜͱ͖࣋ͬͯͯ ڧҾͳ%0.ૢ࡞Λഇࢭʂ
λΠτϧઆ໌จΛߋ৽ ߋ৽ͷτϦΨʔͰ -BNCEBؔΛ࣮ߦ 5JNFE.FUBEBUBͱͯ͠ λΠτϧઆ໌จΛૹ৴͢ΔΑ͏ "NB[PO*74ʹϦΫΤετ 5JNFE.FUBEBUBड৴ͷ ΠϕϯτΛϑοΫͯ͠ λΠτϧͱઆ໌จΛදࣔʹө
"NQMJGZͰόοΫΤϯυ ؙͬͱͬͨཧը໘ ӡӦϝϯόʔͷೝূ
Ξϯέʔτͷ੍ޚ ηογϣϯͷ λΠτϧ આ໌จ ͷߋ৽
*74ετϦʔϜ63- ৴ϖʔδͷ4MVH ৴ϖʔδͷλΠτϧ ৴ϖʔδͷղઆจ ༗ޮແޮϑϥά Ξϯέʔτͷ*% Ξϯέʔτͷঢ়ଶ
ൃੜ
*745JNFE.FUBEBUB2VPUBT ηογϣϯઆ໌จͷจࣈΒͳ͍
ׂͯ͠ૹΖ͏ʢ୯७ʣ
ݪจݪจݪจʜݪจ அย,FZ45"35 அย,FZ அย,FZ அย,FZ&/% ׂ ճʹ͚ͯϦΫΤετ ݪจݪจݪจʜݪจ அย,FZ45"35 அย,FZ
அย,FZ அย,FZ&/% ෮ݩ ճʹ͚ͯૹ৴ Ίͷઆ໌จʹରԠʂ
ϑϩϯτଆͷίʔυղઆ 5JNFE.FUBEBUBͷதͷςΩετ ࣗͰఆٛͨ͠ΠϕϯτͷछผͷΩʔ 5JNFE.FUBEBUBͷΠϕϯτΛτϦΨʔ
ϑϩϯτଆͷίʔυղઆ ࣗݾఆٛͨ͠Πϕϯτͷछྨ͕આ໌จͷ߹ νϟϯΫσʔλͷ ऴΘΓͱॳΊΛݕ νϟϯΫσʔλΛॱ࣍݁߹
σʔλ͕ߋ৽͞Εͯͳͯ͘ Կ܁Γฦ͠ ௨৴͕ԟ෮͢Δ σʔλ͕ߋ৽͞Ε͚ͨ࣌ͩ Ұํ௨ߦͰ௨৴͢Δ
ࢹௌऀͷߋ৽ΛτϦΨʔʹͯ͠ -BNCEBؔͷ࣮ߦ ࢹௌऀͷ 5JNFE.FUBEBUBͱͯ͠ͷ ૹ৴Λ"NB[PO*74 ϦΫΤετ 5JNFE.FUBEBUBड৴ͷ ΠϕϯτΛϑοΫͯ͠ ࢹௌऀΛදࣔʹө 5JNFE.FUBEBUBͱͯ͠
ࢹௌऀΛૹ৴͢ΔΑ͏ "NB[PO*74ʹ ϦΫΤετ ࢹௌऀͷ औಘͱอଘ
ॲཧΛͲ͜Ͱෛ୲͢Δ͔ 5JNFE.FUBEBUBܦ༝ͳΒͳ͍ ϖʔδಡΈࠐΈ࣌Ͳ͏ͯ͠"1*͕ݺͼग़͞ΕΔ %ZOBNP%#͔ΒಡΜͩʹର͢Δܭࢉॲཧ͕ඞཁ -BNCEB͚ͩΛฦ͠ ϑϩϯτଆͰॲཧ
ཧը໘͔ΒΞϯέʔτͷૢ࡞ ʢ։࢝కˍ݁Ռදࣔऴྃʣ Ξϯέʔτใͷ 5JNFE.FUBEBUBͱͯ͠ͷ ૹ৴Λ"NB[PO*74ʹ ϦΫΤετ 5JNFE.FUBEBUBड৴ͷ ΠϕϯτΛϑοΫͯ͠ ΞϯέʔτΛදࣔʹө Ξϯέʔτঢ়ଶΛ
ฒߦͯ͠ه ճͷߘͱӾཡ
+"84%":4 ˣ +"841"/,3"5*0/
ཧը໘ࣗ࡞ͤͣʹ 4QSFBETIFFUΛ"1*Խͯ͠༻ ৴ࢹௌऀอଘɾදࣔͷ όοΫΤϯυίʔυཧͯ͠ ࠓޙͷΠϕϯτʹྲྀ༻Մೳʹ ৴ΦϖϨʔλʔଆͰ શͯͷใΛ߹ͯ͠ ಈըʹؚΊΔ
શͯͷใΛಈըʹؚΊΔ ;PPN εϐʔΧʔϏϡʔ ηογϣϯλΠτϧ ొஃऀใ ϙέτʔΫͷ ༁ ࢹௌऀ ηογϣϯεϥΠυ
ͭͷΠϕϯτΛܦ্ͨͰͷΞτϓοτ ࠷ݶίϐϖͰ࡞ΕΔ
ࠓޙ͍͖͍ͬͯͨ͜ͱ ࣗ࡞͢Δ͠ͳ͍ػೳͷݕ౼ +"84%":4Ϩϕϧͷػೳ͕ ࣮ݱͰ͖ΔߏΛίʔυԽ υΩϡϝϯτඋ ଐਓੑΛഉআͯ͠ ਝʹಠࣗ৴αΠτΛߏங
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ