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
620
コミュニティイベント配信基盤での サーバーレスアーキテクチャ実践
NRI さんの社内勉強会にて登壇させていただいた際の資料です。
AWS のマネージドサービスを活用したサーバーレスな配信基盤についての解説です。
matsuihidetoshi
February 09, 2022
Tweet
Share
More Decks by matsuihidetoshi
See All by matsuihidetoshi
web-application-security
matsuihidetoshi
1
300
JAWS DAYS 2024 C-9
matsuihidetoshi
0
170
クラウドだからできた 地方主導のJAWS DevOps
matsuihidetoshi
2
460
既存システムのコンテナ化で得られた知見と、 全然関係ないけど自炊を支える技術
matsuihidetoshi
0
980
Media JAWS 2023/1
matsuihidetoshi
1
580
Efforts to Organizing & Broadcastiong JAWS-UG's global event "JAWS PANKRATION 2021 -Up till Down-"
matsuihidetoshi
0
170
サーバレスアーキテクチャの考え方
matsuihidetoshi
0
87
再利用可能なサーバーレス配信コンポーネント
matsuihidetoshi
0
200
Amplify とノー(ロー)コード開発
matsuihidetoshi
0
180
Other Decks in Technology
See All in Technology
ビジネスとデザインとエンジニアリングを繋ぐために 一人のエンジニアは何ができるか / What can a single engineer do to connect business, design, and engineering?
kaminashi
2
370
日経電子版 for Android の技術的課題と取り組み(令和最新版)/android-20250423
nikkei_engineer_recruiting
1
470
地味にいろいろあった! 2025春のAmazon Bedrockアップデートおさらい
minorun365
PRO
1
460
アジャイル脅威モデリング#1(脅威モデリングナイト#8)
masakane55
3
230
30代からでも遅くない! 内製開発の世界に飛び込み、最前線で戦うLLMアプリ開発エンジニアになろう
minorun365
PRO
14
4.4k
技術者はかっこいいものだ!!~キルラキルから学んだエンジニアの生き方~
masakiokuda
2
280
より良い開発者体験を実現するために~開発初心者が感じた生成AIの可能性~
masakiokuda
0
210
勝手に!深堀り!Cloud Run worker pools / Deep dive Cloud Run worker pools
iselegant
3
500
CodePipelineのアクション統合から学ぶAWS CDKの抽象化技術 / codepipeline-actions-cdk-abstraction
gotok365
5
300
Porting PicoRuby to Another Microcontroller: ESP32
yuuu
4
460
Making a MIDI controller device with PicoRuby/R2P2 (RubyKaigi 2025 LT)
risgk
1
310
AWSの新機能検証をやる時こそ、Amazon Qでプロンプトエンジニアリングを駆使しよう
duelist2020jp
1
280
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
We Have a Design System, Now What?
morganepeng
52
7.5k
Code Review Best Practice
trishagee
67
18k
Why Our Code Smells
bkeepers
PRO
336
57k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.4k
Done Done
chrislema
183
16k
Scaling GitHub
holman
459
140k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
How GitHub (no longer) Works
holman
314
140k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
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Ϩϕϧͷػೳ͕ ࣮ݱͰ͖ΔߏΛίʔυԽ υΩϡϝϯτඋ ଐਓੑΛഉআͯ͠ ਝʹಠࣗ৴αΠτΛߏங
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ