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
急成長するマルチテナント SaaSの技術戦略を支えるAWS / X-Tech JAWS 2
Search
Purintai
January 25, 2018
Technology
15
4.5k
急成長するマルチテナント SaaSの技術戦略を支えるAWS / X-Tech JAWS 2
急成長するマルチテナントSaaSの技術戦略を支えるAWS
X-Tech JAWS #2 9割のX-Techと1割の優しさで切り拓く未来
SmartHR ソフトウェアエンジニア ぷりんたい
Purintai
January 25, 2018
Tweet
Share
More Decks by Purintai
See All by Purintai
つらくないマルチテナンシーを求めて: 全て見せます! SmartHR データベース移行プロジェクトの裏側 / builderscon 2018
purintai
123
67k
Other Decks in Technology
See All in Technology
S3はフラットである –AWS公式SDKにも存在した、 署名付きURLにおけるパストラバーサル脆弱性– / JAWS DAYS 2026
flatt_security
0
1k
[AEON TECH HUB #24] お客様の長期的興味の理解に向けて
alpicola
0
120
チームメンバー迷わないIaC設計
hayama17
5
4k
Databricksアシスタントが自分で考えて動く時代に! エージェントモード体験もくもく会
taka_aki
0
360
EMからICへ、二周目人材としてAI全振りのプロダクト開発で見つけた武器
yug1224
5
480
メタデータ同期に潜んでいた問題 〜 Cache Stampede 時の Cycle Wait を⾒つけた話
lycorptech_jp
PRO
0
150
JAWS DAYS 2026 楽しく学ぼう!ストレージ 入門
yoshiki0705
2
110
ビズリーチにおける検索・推薦の取り組み / DEIM2026
visional_engineering_and_design
1
120
Claude Codeの進化と各機能の活かし方
oikon48
20
9.4k
聲の形にみるアクセシビリティ
tomokusaba
0
150
Abuse report だけじゃない。AWS から緊急連絡が来る状況とは?昨今の攻撃や被害の事例の紹介と備えておきたい考え方について
kazzpapa3
1
160
オレ達はAWS管理をやりたいんじゃない!開発の生産性を爆アゲしたいんだ!!
wkm2
4
420
Featured
See All Featured
Being A Developer After 40
akosma
91
590k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.7k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
150
Building Applications with DynamoDB
mza
96
6.9k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
61
52k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
290
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
310
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
370
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Ruling the World: When Life Gets Gamed
codingconduct
0
160
We Are The Robots
honzajavorek
0
190
Transcript
95FDI+"84dׂͷ95FDIͱׂͷ༏͠͞ͰΓ͘ະདྷd ٸ͢ΔϚϧνςφϯτ 4BB4ͷٕज़ઓུΛࢧ͑Δ"84 8FE ΓΜ͍ͨ ιϑτΣΞΤϯδχΞ
CONFIDENTIAL αʔϏε֓ཁ 4NBSU)3ͷ͝հ
CONFIDENTIAL 4NBSU)3 ਓࣄɾ࿑ͷखଓ͖ΛΧϯλϯʹ͢Δ ΫϥυܕιϑτΣΞͰ͢ɻ 4NBSU)3ͱ ˔˔˔˔ ˔˔˔˔˔˔˔˔ ˔˔˔˔˔˔˔˔ WWW
4 Copyright © 2015 KUFU, Inc. All Rights Reserved
࿑ΞφϩάͰϝϯυ
ղͳॻྨͷࢁ
ॴʹߦ͖ͨ͘ͳ͍
CONFIDENTIAL ࣾอɾޏอॻྨΛ ࣗಈ࡞ ैۀһใΛ σʔλϕʔεԽ ࡞ͨ͠ॻྨΛ 8FC͔Βਃ ਓࣄใΛ Χϯλϯʹऩू 4NBSU)3ͱ
˔˔˔˔ ˔˔˔˔˔˔˔˔ ˔˔˔˔˔˔˔˔ ˔˔˔˔ ˔˔˔˔˔˔˔˔ ˔˔˔˔ ˔˔˔˔˔˔˔˔ ˔˔˔˔ ˔˔˔˔˔˔˔˔ ˔˔˔˔ ˔˔˔˔˔˔˔˔ ˔˔˔˔ ˔˔˔˔˔˔˔˔ ˔˔˔˔ ˔˔˔˔˔˔˔˔ ˔˔˔˔ ˔˔˔˔˔˔˔˔ ˔˔˔˔ ˔˔˔˔˔˔˔˔ ˔˔˔˔ ˔˔˔˔˔˔˔˔
CONFIDENTIAL ैۀһ͕ʮ͍ʯ ɾ ʮ͍͍͑ʯͷΧϯλϯͳ࣭ʹ͑Δ͚ͩͰ ਃࠂॻྨ͕͠·͢ɻ͍͜͠ॻྨΛखॻ͖͢Δඞཁ͕ͳ͘ͳΔͷͰɺ ཧऀɺॻ͖࿙Εɾॻ͖ؒҧ͍ʹΑΔमਖ਼ίετΛେ෯ʹݮͰ͖·͢ɻ σʔλϑΝΠϧͰΤΫεϙʔτՄೳͰɺࡶͳσʔλԽ࡞ۀෆཁʹʂ εϚϗͰαΫαΫͰ͖Δʂ ϖʔύʔϨεௐ ͍͍͑
4NBSU)3ʹొ͞Ε͍ͯΔॅॴ ˟ ౦ژߓ۠ຑ දࣔ͞Ε͍ͯΔॅॴ ॅຽථॅॴͱಉ͡Ͱ͔͢ʁ ͍ ಋೖϝϦοτ
CONFIDENTIAL ಋೖاۀ༷ ͝ར༻͍͚ͨͩΔैۀһ ໊ʙ ໊ن·Ͱ
CONFIDENTIAL
݄ ࣾ ˞ ࣌ ϢʔβʔاۀɾࢢγΣΞ ܧଓར
CONFIDENTIAL αʔϏε֓ཁ αʔϏεհ͜͜·Ͱ
։ൃऀ͔Βݟͨ 4NBSU)3ͱ͍͏ΞϓϦͷಛੑ
13 େྔͷΞΫηε͖͞·ͤΜ
14 ϛογϣϯΫϦςΟΧϧͰ͋Γ·ͤΜ ʢ͍·ͷͱ͜Ζ)
15 શը໘ͷׂ͕̔ϑΥʔϜ
16 ػೳվमʹALTER TABLE
17 Ϣʔβຖʹઐ༻ͷDB
݄ ݸͷσʔλϕʔε
વɺ3%4ΠϯελϯεΛ ཱ͍ͯͯΔ༁Ͱ͋Γ·ͤΜ ɹ
ͷ3%4Πϯελϯεͷதʹ ݸͷσʔλϕʔε͕͋Γ·͢ ʢ͍ʣ
͜ͷΑ͏ͳɺಛఆͷϦιʔεΛ ෳͷ৫ ʹςφϯτ Ͱڞ༗͢Δ Α͏ͳઃܭͷ͜ͱΛ ʮϚϧνςφϯτΞʔΩςΫνϟʯ ͱݺͼ·͢ɻ
ϚϧνςφϯτͳΣϒΞϓϦέʔγϣϯͷྫ ˡɹɹϚϧνςφϯτ ϚϧνςφϯτͰͳ͍ɹɹˠ
Ϛϧνςφϯτͷઆ໌ ʢ·ͨɺϚϧνςφϯγʔʣ
̍ͭͷγεςϜΛෳͷςφϯτͰ ڞ༗͢ΔΞϓϦέʔγϣϯͷܗଶ
ςφϯτͱɺ৫ͷ୯Ґ ʢνʔϜɾاۀɾஂମͳͲʣ
ݫີͳఆٛͳ͘ᐆດͰ͕͢ɺ ݸਓతͳݟղͱͯ͠શͯͷσʔλ͕ ςφϯτʹඥ͔ͮ͘Ͳ͏͔͕ਫྮ
Θ͔Γ͘͢ݴ͏ͱ ϢʔβΛফͯ͠σʔλ͕ফ͑ͳ͍
Ϛϧνςφϯγʔͷ తͱύλʔϯ
Ϛϧνςφϯγʔͷత ϦιʔεΛڞ༗͢Δ͜ͱͰ αʔϏεͷఏڙίετΛ͑Δ͜ͱ
Ҿ༻ݩ.VMUJUFOBOU4BB4EBUBCBTFUFOBODZQBUUFSOT"[VSF42-%BUBCBTFc.JDSPTPGU%PDT IUUQTEPDTNJDSPTPGUDPNFOVTB[VSFTRMEBUBCBTFTBBTUFOBODZBQQEFTJHOQBUUFSOT Ϛϧνςφϯγʔͷύλʔϯྫ ΞϓϦέʔγϣϯϨϕϧͷ ʢϚϧνςφϯτͰͳ͍ʣ ςφϯτ୯ҐͰಠཱͨ͠ ΞϓϦ%#ΠϯελϯεΛఏڙɻ
Ҿ༻ݩ.VMUJUFOBOU4BB4EBUBCBTFUFOBODZQBUUFSOT"[VSF42-%BUBCBTFc.JDSPTPGU%PDT IUUQTEPDTNJDSPTPGUDPNFOVTB[VSFTRMEBUBCBTFTBBTUFOBODZBQQEFTJHOQBUUFSOT Ϛϧνςφϯγʔͷύλʔϯྫ ΞϓϦέʔγϣϯͷڞ༗ ΞϓϦέʔγϣϯڞ༗͢Δ͕ɺ %#Πϯελϯεಠཱ͍ͯ͠Δɻ
Ҿ༻ݩ.VMUJUFOBOU4BB4EBUBCBTFUFOBODZQBUUFSOT"[VSF42-%BUBCBTFc.JDSPTPGU%PDT IUUQTEPDTNJDSPTPGUDPNFOVTB[VSFTRMEBUBCBTFTBBTUFOBODZBQQEFTJHOQBUUFSOT Ϛϧνςφϯγʔͷύλʔϯྫ %#Πϯελϯεͷڞ༗ %#Πϯελϯε্Ͱςφϯτຖʹ σʔλϕʔεΛ࡞͢Δɻ
Ҿ༻ݩ.VMUJUFOBOU4BB4EBUBCBTFUFOBODZQBUUFSOT"[VSF42-%BUBCBTFc.JDSPTPGU%PDT IUUQTEPDTNJDSPTPGUDPNFOVTB[VSFTRMEBUBCBTFTBBTUFOBODZBQQEFTJHOQBUUFSOT Ϛϧνςφϯγʔͷύλʔϯྫ σʔλϕʔεͷڞ༗ ֤ςʔϒϧʹςφϯτΛࣝผ͢Δ ΧϥϜΛՃ͢Δɻଞςφϯτͱσʔ λϕʔεΛڞ༗͢Δɻ
Ҿ༻ݩ.VMUJUFOBOU4BB4EBUBCBTFUFOBODZQBUUFSOT"[VSF42-%BUBCBTFc.JDSPTPGU%PDT IUUQTEPDTNJDSPTPGUDPNFOVTB[VSFTRMEBUBCBTFTBBTUFOBODZBQQEFTJHOQBUUFSOT Ϛϧνςφϯγʔͷύλʔϯྫ γϟʔσΟϯά ςφϯτࣝผࢠΛ׆༻ͯ͠γϟʔσΟ ϯάΛߦ͏ɻऩ༰ͷཧ͕େม͚ͩ ͲݸผͷσʔλϕʔεͷαΠζখ ͘͞ͳΔɻ
ϚϧνςφϯτͷΉ͔ͣ͠͞
σʔλϕʔε͚ͩ͢ΕΑ͍ʁ
ͱΜͰͳ͍
ϚϧνςφϯτΞʔΩςΫνϟ େྔͷҙࢥܾఆ͕ඞཁ
ΞΧϯτઃܭ ɾෳͷςφϯτʹϩάΠϯͰ͖Δʁ ɾςφϯτ͕ফ͞Εͨ࣌ΞΧϯτফࣦ͢Δ ɾΞΧϯτͷઃఆςφϯτ୯ҐͰ࣋ͭʁ ɾผͷςφϯτʹϩάΠϯ͢Δ࣌࠶ೝূෆཁʁ ɾςφϯτʹඥ͔ͳ͍ΞΧϯτ࡞ΕΔʁ
63-ઃܭ ɾςφϯτͷସ͑αϒυϝΠϯͰߦ͏ʁQBUIʁ ɾςφϯτࣝผࢠมߋͰ͖Δʁ ɾ࣋ͪࠐΈͷυϝΠϯΛׂͰ͖Δʁ ɾTFTTJPODPPLJFͲͷυϝΠϯʹ༩͢Δʁ ɾಈ࡞ڥతͷϧʔςΟϯάํࣜʹରԠͯ͠Δʁ
σʔλϕʔεઃܭ ɾςφϯτͱσʔλϕʔεΛͲ͏ରԠͤ͞Δʁ ɾͲͷΑ͏ʹϚΠάϨʔγϣϯ͢Δʁ ɾͲͷΑ͏ʹόοΫΞοϓɾӡ༻͢Δʁ ɾઢܗతͳεέʔϧ͕༰қʹߦ͑Δ͔ʁ ɾকདྷతʹύλʔϯΛΓସ͑Δ࣌ʹͳ͍͔ʁ
ετϨʔδઃܭ ɾ໊લۭؒΛͲͷΑ͏ʹ֬อ͢Δʁ ɾ໊લۭؒͷ࠶ར༻ʹ͑͏Δʁ ɾΞΫηε੍ޚʁ ɾଞςφϯτͱϦιʔεΛڞ༻͢Δʁ
ΞϓϦέʔγϣϯઃܭ ɾͲͷΑ͏ʹσʔλϕʔεΛΓସ͑Δʁ ɾଞςφϯτͷσʔλݟ͑ͳ͍Α͏ʹͳ͍ͬͯΔʁ ɾσʔλϕʔε͕͞Ε͍ͯͳ͍߹ɺ ɹ҆શʹίʔυΛॻ͚Δઃܭʹͳ͍ͬͯΔʁ ɾ࣮ݱ͠Α͏ͱ͍ͯ͠Δ͜ͱ͕͗͢͠ͳ͍͔ʁ
Ϗδωεઃܭ ɾࠓޙͷࣄۀܭըʁ ɾςφϯτར༻نͲͷΑ͏ʹ૿͑Δ͔ʁ ɾͲͷΑ͏ʹΞϓϦέʔγϣϯ͕มԽ͍͔ͯ͘͠ʁ ɾϢʔεέʔεͷ૿Ճ͋Δ͔ʁ ɾͦΕӡ༻ʹΔʁ
ΞϓϦέʔγϣϯ͚ͩͰ ͳΜͱͳΒͳ͍
ϚϧνςφϯτΞʔΩςΫνϟ ෳͷΛಉ࣌ʹղ͘ඞཁ͕͋Δ
Ϛϧνςφϯτ ෯͍ࣝɾࢹ༧ɾӡ༻ྗɺ ιϑτΣΞݕূೳྗΛཁٻ͞ΕΔ ΣϒΞϓϦͷ૯߹ܳज़
ϚϧνςφϯτΞʔΩςΫνϟʹ ཱ͔ͪ͏࣌ͷ࠷ྑͷύʔτφʔʁ
ଟ͘ͷબࢶΛఏڙͯ͘͠ΕΔͷ
ٸ͢Δ4BB4ʹ͓͚Δ ΤϯδχΞͷׂͱ
͋͘·ͰϢʔβઢͰ ྑ͍ϓϩμΫτΛ࡞Γଓ͚Δ͜ͱ
Ϗδωεͷʹ ٕज़ཁҼͰϒϨʔΩΛ͔͚ͳ͍͜ͱ
৫ͷঢ়گʹԠͯ͡ ࠷దͳٕज़બΛ͍ͯ͘͜͠ͱ
Ͳ͜·Ͱݱঢ়Λ٬؍ࢹ͍ͯ͘͜͠ͱ
ϕϯνϟʔΒ͘͠ݥ͍͍͚Ͳɺ ӡ༻ʹΔ͜ͱ͕࠷݅
4NBSU)3ࣾͷঢ়گ
4NBSU)3ͷैۀһ ݄࣌
4NBSU)3ͷैۀһߏ ݄࣌
ɾΤϯδχΞશମͷ ɾٕज़ελοΫόϥόϥ ɾগਓͰӡ༻Λ͠ͳ͍ͱ͍͚ͳ͍ ɾࣗલӡ༻ͳΔ͚ͩݮΒ͍ͨ͠ʂ
4BB4Χϯύχʔͱͯ͠ͷߟ͑ํ
4NBSU)3ࣾ ۀքಛԽܕͷ4BB4Χϯύχʔ
ίΞͱͳΔՁ؍ɺ ੈͷதͷΛ͕ͨͪ࣋ͭ ΑΓྑ͍ํ๏Ͱղܾ͢Δ͜ͱ
ͦΕͳΒɺ ͨͪͷࣗͰղܾ͢ΔΑΓ ྑ͍ํ๏͕͋ΔͳΒͲΜͲΜ׆༻
"84ͷϚωʔδυαʔϏεศར
"84ͷϚωʔδυαʔϏεศར Ͱɺͨ·ʹᙱ͍ॴʹख͕ಧ͔ͳ͍
"84Ҏ֎ʹ ϚωʔδυͳαʔϏε͕͋Δ
9BB4 "OZUIJOHBTBTFSWJDF
͕ͩ9BB4ʹ ϨΠςϯγ͕ʹͳΔͷ͋Δ 1BB4%#BB44&BB4FUD
͔͠͠ɺଟ͘ͷ9BB4 "84্ʹϗεςΟϯά͕ՄೳͰ͋Δ
"84࠷ॳͷΫϥυϓϩόΠμʹ બ͞Ε͍͢ͷͰ ઌਐతͳ9BB4Λ׆༻Ͱ͖Δ
ϚωʔδυͰ͋ΔϝϦοτΛ׆͔͠ ӡ༻Λճආͯ͠ϥΫΛ͢Δ
4BB4Χϯύχʔ͔ͩΒͦ͜ ଞࣾͷ9BB4Λੵۃ׆༻͠ɺ ͓ۚΛͬͯղܾ͢Δ
ͦͯͨͪ͠ ϓϩμΫτ ސ٬ͷ՝ ʹूத͢Δ
4NBSU)3։ൃͷ՝
ݸΛ͑ ࠓͳ͓૿͑ଓ͚Δσʔλϕʔε܈Λ ͲͷΑ͏ʹεέʔϧͤ͞Δ͔
ϚΠάϨʔγϣϯ ϚΠάϨʔγϣϯʹඵςφϯτ ʹςφϯτͰ ɹฒྻͰ࣌ؒ
ΦϖϨʔγϣϯதͷτϥϒϧ ԿΒ͔ͷཧ༝Ͱதஅ͞ΕΔͱ ෮چ͕େมɺεΩʔϚࠩҟ͕ൃੜ
ࣄۀͷʹ͏ λʔήοτنͷมߋͷରԠ ໊ن͔Βສ໊نʹ
ϓϥοτϑΥʔϜԽΛݟਾ͑ͨ σʔλϞσϧ֎෦࿈ܞͷઃܭ
·ͩ·ͩΔ͜ͱࢁ͋Γ·͢ʂ
ɹɹɹɹɹ ΤϯδχΞઈࢍ࠾༻தʂ
None
ൃදऀϓϩϑΟʔϧ )/ΓΜ͍ͨ ιϑτΣΞΤϯδχΞ όοΫΤϯυ 4NBSU)3Ͱಇ͍͍ͯ·͢ 5XJUUFS!TQBDFQSP@CF (JU)VC!QVSJOUBJ