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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
akira345
July 18, 2025
Technology
130
0
Share
脱・同期処理!マイクロサービスにおける負荷分散の勘所
JAWS-UG広島 第23回勉強会 で発表したスライドです
akira345
July 18, 2025
More Decks by akira345
See All by akira345
ビジネス要件から逆算するマイクロサービスアーキテクチャ選定の「思考プロセス」
akira345
0
65
インシデント対応
akira345
0
410
えれくら!〜電気電子工作系制作・交流会〜#29
akira345
0
35
AWSデプロイツール紹介
akira345
0
79
40歳でやったこと
akira345
0
57
回路を読むために必要なこと
akira345
0
43
おれのAWSがこんなに辛い訳がない!!
akira345
0
50
Dockerを触ってみよう
akira345
0
110
アラフォー世代が基板を作ってみた(公開用)
akira345
0
170
Other Decks in Technology
See All in Technology
Master Dataグループ紹介資料
sansan33
PRO
1
4.6k
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.3k
"SQLは書けません"から始まる データドリブン
kubell_hr
2
470
実践ハーネスエンジニアリング:TAKTで実現するAIエージェント制御 / Practical Harness Engineering: AI Agent Control Enabled by TAKT
nrslib
9
4.1k
Azure Speech で音声対応してみよう
kosmosebi
0
160
Do Ruby::Box dream of Modular Monolith?
joker1007
1
310
AIを共同作業者にして書籍を執筆する方法 / How to Write a Book with AI as a Co-Creator
ama_ch
2
130
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.1k
レビューしきれない?それは「全て人力でのレビュー」だからではないでしょうか
amixedcolor
0
290
Revisiting [CLS] and Patch Token Interaction in Vision Transformers
yu4u
0
330
20年前の「OSS革命」に学ぶ AI時代の生存戦略
samakada
0
290
[OpsJAWS 40]リリースしたら終わり、じゃなかった。セキュリティ空白期間をAWS Security Agentで埋める
sh_fk2
3
220
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
6.8k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Faster Mobile Websites
deanohume
310
31k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
890
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
160
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.2k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
730
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.8k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
250
The Spectacular Lies of Maps
axbom
PRO
1
700
Transcript
2025/07/18 Akira345 JAWS-UGౡ ୈ23ճษڧձ AWS Summit Japan 2025 re:Cap ɾಉظॲཧʂ
ϚΠΫϩαʔϏεʹ͓͚Δෛՙࢄͷצॴ
ࣗݾհ • ۚా ߊʢHNʣ • ॴଐɿגࣜձࣾ • I like Cloud.
I like AWS. • ࣗαʔόʢDockerɺProxmoxɺHyper-Vʣ • ిࢠ࡞ʢղɾഁյɾमཧʣ ݸਓݕূΛຯʹ͍ͬͯͨΓ͠·͢ɾɾɾ
ຊʹೖΔલʹ ·ͣݱ࣮Λೝࣝ͠Α͏
ʮઈରʹʯམͪͳ͍γεςϜଘࡏ͠ͳ͍ɻ ͕ ʮམͪʹ͍͘ʯγεςϜߏங͢Δ͜ͱ͕Ͱ͖Δɻ ʢͨͩ͠ཁ՝ۚʣ
མͪʹ͍͘γεςϜΛ࡞ΔͨΊʹʁ ͦΕΛ౿·্͑ͨͰ • Βͳ͍͜ͱɺఘΊΔ͜ͱΛܾΊΔ • Nສਓʹର͠ʮಉ࣌ʹʯ৴Λ͢Δ • ઍਓʮಉ࣌ʹʯϩάΠϯΛ͢Δ • جຊతʹʮಉ࣌ʯ͔ͭʮେྔʯͷϦΫΤετΛॲཧ͢Δ͜ͱΛఘΊΔ
• ͨͬͨ1ඵͰλΠϛϯά͕ζϨΕͦΕʮಉ࣌ʯͰͳ͍ʢॏཁʂʣ
AWSΫϥυͳͷʹͳͥौ͍ Ϩʔτ੍ݶ͕͋Δͷʁ ͳ͔ͥʁ • AWSͷ֤छαʔϏεʢجຊతʹʣAPIΛ௨ͯ͡࿈ܞΛ͍ͯ͠Δ • AWSόοΫΤϯυϦʔδϣϯɺAZʹׂΓͯΒΕͨϢʔβ͔ΒͷϦΫΤ ετΛॲཧ͢Δඞཁ͕͋Δ • વɺAWSଆͷAPIʹΞΫηε͕ूத͞ΕΔͱࠔΔ͜ͱʹͳΔ
• όοΫΤϯυͷϦιʔε༗ݶͰ͋Γɺ͔ͭॠ࣌ʹεέʔϧ͠ͳ͍ • ࠓճʮॲཧΛूதͤ͞ͳ͍ʯͱ͍͏؍Ͱ͍͔ͭ͘έʔεΛհ͠·͢
έʔεͷհ
େྔͷϢʔβΛ࡞͠ɺϩάΠϯURLΛΒࢃ͖͍ͨ • ؍ • CognitoͷAPIࢥͬͨҎ্ʹϨʔτ੍ݶ͕ݫ͍͠ͷͰɺʮಉ࣌ʹʯେྔͷϢʔβΛ࡞͢Δ ͜ͱΛආ͚Δ • ߏྫ
Ͱ͖Δ͜ͱɾͰ͖ͳ͍͜ͱ • Ͱ͖Δ͜ͱ • ʮ࣌ؒΛ͔͚ͯͰʯେྔͷϢʔβΛ࡞͠ɺϩάΠϯURLΛΒࢃ͘͜ͱ͕Ͱ͖Δ • Ͱ͖ͳ͍͜ͱ • ࣌ؒʹେྔͷϢʔβΛ࡞͢Δ •
ଥڠ • ʮಉ࣌ʯʹʮେྔʯͷϢʔβΛ࡞͠Α͏͕ɺʮ࣌ؒʯΕΑ͏͕Ϣʔβ͔ΒݟΕʮϩάΠ ϯURL͕ಧ͍࣌ʯ͕Ϣʔβొ͞Εͨ࣌ͱͳΔͷͰɺʮॲཧશମͷԆʯʹͳΒͳ͍ • ͨͩ͠ɺʮϩάΠϯ͕ૣ͍ऀউͪͰநબ͢Δʯͱ͍͏Α͏ͳ༻్ͷ߹ผͷΈΛߟ͑Δඞ ཁ͕͋Δ
࡞ͨ͠WebAPIʹର͢ΔϦΫΤετΛ ʮશͯ࿙Εͳ͘ʯॲཧ͍ͨ͠ • ؍ • API G a tew a
yAppSyncϨʔτ੍ݶ͞Δ͜ͱͳ͕Βɺ࠷େॲཧ͕࣌ؒ30ඵͱ͍͏੍ݶ͕͋Δ • API G a tew a yʹ࡞ͨ͠WebAPIʹL a mbd a ϓϩΫγ౷߹͢ΔͱɺࠓେྔΞΫηεൃੜ࣌ɺϥ Ϝμͷಉ࣮࣌ߦʹ৮͢ΔՄೳੑ͕ग़ͯ͘Δ • API G a tew a ySQSͱ࿈ܞͰ͖ΔͷͰɺड͚͚ͨϦΫΤετΛΩϡʔʹೖΕͯॲཧΛ͢Δ • Ωϡʔʹೖ͍ͬͯΔͷͰϥϜμͷࣦഊ࣌ʹ࠶ॲཧ͕Ͱ͖Δ •
Ͱ͖Δ͜ͱɾͰ͖ͳ͍͜ͱ • Ͱ͖Δ͜ͱ • WebAPIʹର͢ΔϦΫΤετΛʮ࣌ؒΛ͔͚ͯͰʯॲཧ͢Δ͜ͱ͕Ͱ͖Δ • 30ඵΛ͑ΔॲཧΛ͢Δ͜ͱ͕Ͱ͖Δ • Ͱ͖ͳ͍͜ͱ •
ॲཧͷΤϥʔ͕ൃੜͨ࣌͠ͰΤϥʔΛฦ٫͢Δ͜ͱ͕ࠔ • ଥڠ • ଈ࣌ΤϥʔΛฦ٫͢Δ͜ͱ͕ʮඞਢʯͰͳ͚ΕɺʮॲཧΛड͚͚·ͨ͠ʯͳͲUIΛ͠ɺͷͪ΄Ͳॲཧ݁ՌΛϝʔϧ ͳΓPush௨ͳΓͰฦ٫͢Δ • SQSଓͰͳ͘ɺόϦσʔγϣϯ༻ͷϥϜμΛL a mbd a ϓϩΫγ౷߹Ͱଓ͠ɺόϦσʔγϣϯΛP a ssͨ͠ͷ͚ͩ SQSʹ͛Δ͜ͱͰ࠷ݶͷΤϥʔϋϯυϦϯάΛ͢Δํ๏͋Δʢͨͩ͠όϦσʔγϣϯϥϜμे͍ܰͷͱ͢Δʣ • ඞཁͰ͋ΕRestAPIͰͳ͘WebSocketΛ༻͢Δͷखஈͱͯ͋͠Δ
ҰఆִؒͰେྔͷσʔλΛෳͷϥϜμΛ༻͍ͯॲཧΛ͍ͨ͠ ݅ʹΑͬͯఆظ࣮ߦΛࢭΊ͍ͨ • ؍ • େྔσʔλΛॲཧ͢Δ߹ɺॲཧରͷछྨʢސ٬୯Ґɺςʔϒϧ୯ҐͳͲʣͰλεΫΛ ղɺࢄͤ͞Δ͜ͱͰޮΑ͘ॲཧ͢Δ͜ͱ͕Ͱ͖Δ • ୯ҰϥϜμͰ͋ΕɺEventBridgeΛ༻͠ఆظ࣮ߦՄೳ͕ͩɺෳͷϥϜμΛΈ߹Θͤͨ ఆظ࣮ߦॲཧΛ࡞͢Δͷຯʹࠔ
• ఆظ࣮ߦϥϜμʔʼSQSʔʼॲཧϥϜμͦͷ1ʔʼॲཧϥϜμͦͷ2ɾɾɾ • ೋॏىಈνΣοΫɺΤϥʔϋϯυϦϯάɺϦτϥΠॲཧɺetc… • ෳͷϥϜμΛΈ߹ΘͤͨॲཧΛ͍ͨ͠߹ɺStepFunctionsΛͬͯεςʔτϚγϯΛ࡞ ͢Δͷ͕ྑ͍
ߏҊ 5͓͖ʹʢސ٬orςʔϒϧor etcʣ ୯ҐͰॲཧΛ͢ΔεςʔτϚγϯ ࡞ྫ
Ͱ͖Δ͜ͱɾͰ͖ͳ͍͜ͱ • Ͱ͖Δ͜ͱ • ఆظ࣮ߦ࣌ؒΛ͑Δॲཧ͕͔͔࣌ؒͬͨͱͯ͠ೋॏݺͼग़͕͠ൃੜ͠ͳ͍ • ్தͷϥϜμͰΤϥʔ͕ى͖ͯΤϥʔϋϯυϦϯάՄೳ • ໘ͳ࿈ܞॲཧStepFunctionsଆͰ੍ޚՄೳ •
Ͱ͖ͳ͍͜ͱ • StepFunctions୯ମͰ࠷େՔಇ࣌ؒʹ੍͕͋Δ • EventBridgeͱΈ߹ΘͤͯఆظతʹεςʔτϚγϯͷࢮ׆νΣοΫΛ͢Δ͜ͱͰରॲՄೳ • ଥڠ • جຊతʹઃఆ࣮ͨ͠ߦִؒ࣌ؒͰશͯͷॲཧ͕݁͢Δఆ͕ͩɺ ॲཧ͕͔͔࣌ؒͬͨ߹ɺنఆ࣌ؒʹରσʔλͷॲཧ͕ऴΘΒͳ͍Մೳੑ͕͋Δ • StepFunctionsͷεςʔτϚγϯΛઃܭ͢Δͷׂ͕ͱ৬ਓ͕ܳඞཁɾɾɾɾ
·ͱΊ • ʮઈରʹʯམͪͳ͍γεςϜଘࡏ͠ͳ͍ɻॲཧ͕ࣦഊ͢ΔલఏͰઃܭ͠·͠ΐ͏ • ֤ίϯϙʔωϯτͰ͖Δ͚ͩૄ݁߹ʹɺඇಉظͰ࿈ܞͤ͞Δ͜ͱͰॲཧͷूதΛ͗ɺγεςϜશ ମͷݎ࿚ੑΛߴΊ·͢ • େྔॲཧͰʮಉ࣌ʯ͔ͭʮେྔʯͷϦΫΤετΛʮಉظతʹʯࡹ͘͜ͱΛආ͚ΔɻຢఘΊΔׂΓ Γ͕ॏཁͰ͢ •
ͦͦʮಉظॲཧ͕ຊʹඞཁͳ໘ͳͷ͔ʁʯʮඇಉظॲཧͰஔ͖͑ΒΕͳ͍͔ʁʯΛݕ౼͠ ·͠ΐ͏ • AWSଆ͕ఏڙ͍ͯ͠ΔػೳΛ͏͜ͱͰࣗྗ࣮Λආ͚·͠ΐ͏ • Ҏ্Λ౿·͑Δͱߴෛՙ࣌ʹ҆ఆՔಇ͠ʮམͪʹ͍͘ʯγεςϜΛߏங͢Δ͜ͱ͕ՄೳʹͳΓ·͢ • ઃܭ࣌ʮॲཧͷूதΛආ͚Δʯͱ͍͏؍Λ࣋ͬͯɺʮख࣋ͪͷΧʔυʯΛΓ·͠ΐ͏