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
akira345
July 18, 2025
Technology
0
81
脱・同期処理!マイクロサービスにおける負荷分散の勘所
JAWS-UG広島 第23回勉強会 で発表したスライドです
akira345
July 18, 2025
Tweet
Share
More Decks by akira345
See All by akira345
AWSデプロイツール紹介
akira345
0
48
40歳でやったこと
akira345
0
23
回路を読むために必要なこと
akira345
0
12
おれのAWSがこんなに辛い訳がない!!
akira345
0
21
Dockerを触ってみよう
akira345
0
82
アラフォー世代が基板を作ってみた(公開用)
akira345
0
140
ESP-WROOM-02でプチIoT
akira345
0
100
トランジスタの働き(超入門編)
akira345
0
15
基板から回路図を起こしてみよう
akira345
0
1.4k
Other Decks in Technology
See All in Technology
クラウドネイティブ時代の 開発プロセス再設計 〜速さと品質を両立するには〜
moritamasami
0
110
ある編集者のこれまでとこれから —— 開発者コミュニティと歩んだ四半世紀
inao
5
3.6k
学術的根拠から読み解くNotebookLMの音声活用法
shukob
0
290
ABEMAのCM配信を支えるスケーラブルな分散カウンタの実装
hono0130
4
1.1k
TypeScript 6.0で非推奨化されるオプションたち
uhyo
13
4.8k
なぜブラウザで帳票を生成したいのか どのようにブラウザで帳票を生成するのか
yagisanreports
1
180
社内外から"使ってもらえる"データ基盤を支えるアーキテクチャの秘訣/登壇資料(飯塚 大地・高橋 一貴)
hacobu
PRO
0
6k
新しい風。SolidFlutterで実現するシンプルな状態管理
zozotech
PRO
0
130
ZOZOTOWNカート決済リプレイス ── モジュラモノリスという過渡期戦略
zozotech
PRO
0
520
2025年 面白の現在地 / Where Omoshiro Stands Today: 2025
acidlemon
0
530
国産クラウドを支える設計とチームの変遷 “技術・組織・ミッション”
kazeburo
4
7.9k
メッセージ駆動が可能にする結合の最適化
j5ik2o
9
1.5k
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
303
21k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
680
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.1k
Raft: Consensus for Rubyists
vanstee
140
7.2k
How to Ace a Technical Interview
jacobian
280
24k
Balancing Empowerment & Direction
lara
5
760
A Modern Web Designer's Workflow
chriscoyier
697
190k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Agile that works and the tools we love
rasmusluckow
331
21k
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ଆ͕ఏڙ͍ͯ͠ΔػೳΛ͏͜ͱͰࣗྗ࣮Λආ͚·͠ΐ͏ • Ҏ্Λ౿·͑Δͱߴෛՙ࣌ʹ҆ఆՔಇ͠ʮམͪʹ͍͘ʯγεςϜΛߏங͢Δ͜ͱ͕ՄೳʹͳΓ·͢ • ઃܭ࣌ʮॲཧͷूதΛආ͚Δʯͱ͍͏؍Λ࣋ͬͯɺʮख࣋ͪͷΧʔυʯΛΓ·͠ΐ͏