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
140
0
Share
脱・同期処理!マイクロサービスにおける負荷分散の勘所
JAWS-UG広島 第23回勉強会 で発表したスライドです
akira345
July 18, 2025
More Decks by akira345
See All by akira345
ビジネス要件から逆算するマイクロサービスアーキテクチャ選定の「思考プロセス」
akira345
0
71
インシデント対応
akira345
0
450
えれくら!〜電気電子工作系制作・交流会〜#29
akira345
0
42
AWSデプロイツール紹介
akira345
0
83
40歳でやったこと
akira345
0
60
回路を読むために必要なこと
akira345
0
46
おれのAWSがこんなに辛い訳がない!!
akira345
0
53
Dockerを触ってみよう
akira345
0
110
アラフォー世代が基板を作ってみた(公開用)
akira345
0
170
Other Decks in Technology
See All in Technology
React 19×Rustツール 進化の「ズレ」を設計で埋める
remrem0090
1
110
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8k
ワールドカフェ再び、そしてゴール・ルール・ロール・ツール / World Café Revisited, and the Goals-Rules-Roles-Tools
ks91
PRO
0
150
要件定義の精度を高めるための型と生成AIの活用 / Using Types and Generative AI to Improve the Accuracy of Requirements Definition
haru860
0
320
データモデリング通り #5オンライン勉強会: AIに『ビジネスの文脈』を教え込むデータモデリング
datayokocho
0
260
SLI/SLO、「完全に理解した」から「チョットデキル」へ
maruloop
5
440
Tachikawa.any 運営挨拶
daitasu
0
170
世界の中心でApp Runnerを叫ぶ FINAL
tsukuboshi
0
260
続 運用改善、不都合な真実 〜 物理制約のない運用改善はほとんど無価値 / 20260518-ssmjp-kaizen-no-value-without-physical-constraints
opelab
1
130
知ってた?JavaScriptの"正しさ"を検証するテストが5万以上もあること(Test262)
riyaamemiya
1
190
AI飲み会幹事エージェントを作っただけなのに
ykimi
0
180
大学職員のための生成AI最前線 :最前線を、AIガバナンスとして読み直すためのTips
gmoriki
2
4k
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Designing for Timeless Needs
cassininazir
0
220
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
300
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
800
WENDY [Excerpt]
tessaabrams
10
37k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
170
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
150
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
690
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
220
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ଆ͕ఏڙ͍ͯ͠ΔػೳΛ͏͜ͱͰࣗྗ࣮Λආ͚·͠ΐ͏ • Ҏ্Λ౿·͑Δͱߴෛՙ࣌ʹ҆ఆՔಇ͠ʮམͪʹ͍͘ʯγεςϜΛߏங͢Δ͜ͱ͕ՄೳʹͳΓ·͢ • ઃܭ࣌ʮॲཧͷूதΛආ͚Δʯͱ͍͏؍Λ࣋ͬͯɺʮख࣋ͪͷΧʔυʯΛΓ·͠ΐ͏