Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
脱・同期処理!マイクロサービスにおける負荷分散の勘所
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
akira345
July 18, 2025
Technology
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
脱・同期処理!マイクロサービスにおける負荷分散の勘所
JAWS-UG広島 第23回勉強会 で発表したスライドです
akira345
July 18, 2025
More Decks by akira345
See All by akira345
回路設計のバイブコーディング
akira345
0
190
ビジネス要件から逆算するマイクロサービスアーキテクチャ選定の「思考プロセス」
akira345
0
95
インシデント対応
akira345
0
600
えれくら!〜電気電子工作系制作・交流会〜#29
akira345
0
70
AWSデプロイツール紹介
akira345
0
97
40歳でやったこと
akira345
0
75
回路を読むために必要なこと
akira345
0
76
おれのAWSがこんなに辛い訳がない!!
akira345
0
67
Dockerを触ってみよう
akira345
0
140
Other Decks in Technology
See All in Technology
古い指輪から広がった JAVA コミュニティ とのつながり
yamad
0
130
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
PRO
0
440
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
160
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
740
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
180
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
770
トークン化預金DCJPYの取り組みと活用ユースケース
finengine
0
160
SAENM ~Jupyterで残すPoCの試行錯誤、未来の自分と仲間を助ける記録!~
terapyon
0
120
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
230
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
140
PagerDuty Tech Hub-鳴らすけれど、人は動かない
ezaki
0
180
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
4
540
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
600
Automating Front-end Workflow
addyosmani
1369
210k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
480
WCS-LA-2024
lcolladotor
0
890
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
370
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
Done Done
chrislema
187
17k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Statistics for Hackers
jakevdp
799
230k
Evolving SEO for Evolving Search Engines
ryanjones
0
330
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ଆ͕ఏڙ͍ͯ͠ΔػೳΛ͏͜ͱͰࣗྗ࣮Λආ͚·͠ΐ͏ • Ҏ্Λ౿·͑Δͱߴෛՙ࣌ʹ҆ఆՔಇ͠ʮམͪʹ͍͘ʯγεςϜΛߏங͢Δ͜ͱ͕ՄೳʹͳΓ·͢ • ઃܭ࣌ʮॲཧͷूதΛආ͚Δʯͱ͍͏؍Λ࣋ͬͯɺʮख࣋ͪͷΧʔυʯΛΓ·͠ΐ͏