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
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AWSでの漸進的なアーキテクチャ変更 at タップル誕生 / step-by-step-mig...
Search
michinobu_shimatani
April 09, 2019
Technology
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWSでの漸進的なアーキテクチャ変更 at タップル誕生 / step-by-step-migration-at-tapple
michinobu_shimatani
April 09, 2019
More Decks by michinobu_shimatani
See All by michinobu_shimatani
タップル誕生における、事業成長に合わせた継続的なシステム改善について/tapple-continuous-system-improvement
michio0o
1
800
見積もりとは〇〇である / estimate-is-hogehoge
michio0o
0
110
タップル誕生における事業の成長と開発体制の歩み / tapple-development-org-history
michio0o
0
1.5k
タップル誕生におけるマッチ体験向上アイテムの実装
michio0o
0
3k
Elasticsearchの活用と課題 at タップル誕生
michio0o
0
4.1k
Other Decks in Technology
See All in Technology
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
1
230
GuardDuty 検知対応を DevOps Agent で効率化しようとしている話 / GuardDuty Investigations with DevOps Agent
masahirokawahara
1
340
AI時代だからこそ、スケールしないことをやろう
yutashigemura
1
110
synctest時代のhttptest Go 1.27で変わるHTTPサーバテストの裏側 / go conference2026 synctest and httptest
budougumi0617
1
310
Webとヘルスデータ
yukukotani
1
200
深夜のクラウド懺悔室 1:29:300 or 1:0:0
kazzpapa3
0
200
omasushiというライブラリを作った
polidog
PRO
0
150
Adaptive Warehouse を今すぐ導入すべき理由と迷ったときの判断基準
__allllllllez__
0
130
作品が生態系になった ─ Mini Tokyo 3D から世界へ
nagix
0
140
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
0
420
少人数データチームのDevin活用実践事例
runandy16
3
460
Podは生きているのにGoだけが落ちる:GOGCとGOMEMLIMITで追うInvisible OOM Killの謎
tkc66buzz
1
210
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
7k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
230
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Ethics towards AI in product and experience design
skipperchong
2
360
The SEO identity crisis: Don't let AI make you average
varn
0
550
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
730
Accessibility Awareness
sabderemane
1
200
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
490
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
590
Transcript
AWSͰͷਐతͳΞʔΩςΫνϟมߋ at λοϓϧੜ 2019/04/09ɹBackend Engineerɹ Michinobu Shimatani
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 2 About Me 䃊靼խ㸾⠼ 4IJNBUBOJ.JDIJOPCV $ZCFSBHFOU*OD .BUDIJOH"HFOU*OD NJDIJP NJDIJPP
1SPEVDU _TPDJBMHBNF _OPXUBQQMF غحؙؒٝسؒٝآص،
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 3 झຯͰͭͳ͕Δ࿀׆αʔϏεʮλοϓϧੜʯ
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 4 झຯͰͭͳ͕Δ࿀׆αʔϏεʮλοϓϧੜʯ 馯ךؕذ؞ٔ鼅䫛 ְְַ٥؎و؎ثד 湫䠬涸ח鼅䫛 ֶ✼ְךְְַד ًحإ٦آ❛䳔
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 5 αʔϏεॱௐʹ 2018ʹձһ400ສಥഁ
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 6 ࢢͷมԽʹ͏γεςϜͷཁٻมԽ - ΑΓߴ͍ύϑΥʔϚϯεɾεέʔϥϏϦςΟ͕ٻΊΒΕ͖ͯͨ - Ϣʔβͷ૿ՃʹͬͯɺτϥϑΟοΫ૿Ճ - ϝσΟΞ࿐ग़ʹΑΔεύΠΫͷൃੜ -
ΑΓޮతͳ։ൃ͕ٻΊΒΕ͖ͯͨ - ͨ͘͞Μͷڝ߹ʹଧͪউͭͨΊʹ վળαΠΫϧΛૣΊ͍͖͍ͯͨ "84פך獳鏣
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 7 ҠઃγεςϜ৽ͷқ - γεςϜΛมߋ͢Δ͜ͱগͳ͔ΒͣϦεΫൃੜ͢Δ - ΞϓϦΤϥʔɺ௨৴োɺσʔλϩετɺαʔϏεμϯͳͲ - ͦͷҠઃࠓΔҙຯ͕͋Δͷʁʹ͑Δ -
αʔϏεͷάϩʔε͕ඞཁͳதɺେ͖ͳϦεΫෛ͍ͨ͘ͳ͍ - ܦӦऀͷઆ໌େ͖͘ͳΔ - γεςϜʹѱ͍ӨڹΛग़ͣ͞ɺΞʔΩςΫνϟΛେ͖͘ม͑Δ͜ ͱқ͕ߴ͍ ٔأؙ剑㼭⻉׃אאծ 圓䧭㢌⻉ׇׁגְֻחכוֲׅלְְֲַ
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 8 ෳࡶͳมߋେมʂ - ܭըΛ࡞Δͷ͕େม - ఔ͕૿͑ΕͦΕ͚ͩෆ࣮֬ੑ͕૿͢ - ӨڹΛ֬ೝ͢Δͷ͕େม -
୯७ʹ֬ೝ͢Δ߲͕૿͑Δ - ൃੜ࣌ͷΓ͚͕େม - Γ͢ͷ͕େม - શͯͷཁૉΛߟ্ྀͨ͠ͰՄٯੑΛ୲อ͢Δͷ͍͠ ؽحؚغٝٔٔ٦أכ/(կزٓـٕח㼎ׅٔأؙ盖椚ָꨇ׃ְկ
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 9 ಉ࣌ʹൃੜ͢Δߋ৽গͳ͍ํ͕ྑ͍ 葺ְ1VMM3FRVFTUך銲稆 ⽃♧ך湡涸ח穾גְֿה 㢌⻉ך珏겲כא֮
BEE VQEBUF EFMFUF SFGBDUPS 珏겲嫣ח13ָ⳿גֻהٖؽُ٦׃װְׅ 䕦갟ָ椚鍑׃װֻׅծ醱꧟⻉׃חְֻ 堣腉ך鷄⸇ 堣腉ך⹛⡲㢌刿 堣腉ךꤐ 堣腉ך䮶莸ְ㢌刿ׇ׆ח刿倜
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 10 ਐతʹΔͱ͏·͍͘͘ • ਐతͱʮॱΛͬͯখ͞ͳมԽΛى͍ͯ͘͜͠ʯ͜ͱ • খ͞ͳมԽϦεΫཧ͍͢͠ • ܭըΛ࡞͢Δൣғ͕ݶఆͰ͖Δ •
มߋʹΑΔӨڹൣғ͕ߜΒΕΔ • τϥϒϧରԠͷൣғ͕ߜΒΕΔ וְֲֲ䕦갟ָ饯ֹ䖤ַ姻׃ֻ椚鍑דֹלծٔأؙח㼎䘔׃װְׅկ
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 11 ࠓ͢͜ͱ • AWSͷҠઃΞʔΩςΫνϟ৽ΛͲ͏ͬͯਐతʹਐΊ͔ͨ • ਐతͳߏมߋʹAWSͷͲͷΑ͏ͳػೳ͕͔͑ͨ
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 12 ҠઃͷܭըϑΣʔζ
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 13 ࣌ͷγεςϜߏ(ϓϥΠϕʔτΫϥυ)
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 14 طଘγεςϜͷ՝ • ߏͷཧίετͷߴ͞ • σϓϩΠ͕େม • ύϑΥʔϚϯε͕ෆ҆ •
ͦͷଞٕज़తෛ࠴
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 15 վળͷΰʔϧΛܾΊΔ • ղফ͖͢ࢁੵΈ • վળ͍ͨ͠ͷʹ༏ઌॱҐΛ͚ͭΔ͜ͱ͕େࣄ • ࢦͨ͠ߏ •
ECSͰͷίϯςφӡ༻ͱΦʔτεέʔϦϯάରԠ • DB࠷దͳΠϯελϯελΠϓͰΫϥελ࠶ߏங • σʔλϕʔεͰ͖Δ͚ͩϚωʔδυΛར༻ • ͱ͍͑શ෦ΛҰؾʹΓ͖Δͷେมͦ͏ɻɻɻ
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 16 ҠઃΛ̏ͭͷϑΣʔζʹׂ فٓ؎ك٦ز ؙٓؐس ϑΣʔζ1 σʔλϕʔεͷҠઃ فٓ؎ك٦ز ؙٓؐس ϑΣʔζ2
EC2ͷҠઃ ϑΣʔζ3 ECSͷҠઃ
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 17 σʔλϕʔεҠઃ
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 18 ڌؒͷωοτϫʔΫӽ͕͑՝ فٓ؎ك٦ز ؙٓؐس "QQ 倜%# וֲװג籬ּ 㣐ֹזنزٕطحؙהזגְ%#⮚⯓涸ח何㊣׃ְ
%#⮚⯓׃ג獳鏣ׅחכ فٓ؎ك٦زؙٓؐسה"84הךדך鸐⥋䬐⥂׃זֽלזזְ ػؿؓ٦وٝأ⸋⻉ח״גծ؟٦ؽأ⡤꿀衅הֽׅחכְַזְ ؎ٝة٦طحز穗歋דך䱸竲דכ⿑׃ְ וֲװג㹋植ׅ
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 19 AWS Direct Connect "84%JSFDU$POOFDU %9 הכ
"84הِ٦ؠ鏣⪒㼔欽㔐简ד䱸竲ׅطحزٙ٦ؙ؟٦ؽأ ؎ٝة٦طحز穗歋ד䱸竲ׅ״ծع؎ػؿؓ٦وٝأד㸜㹀׃橆㞮㹋植דֹ 䒦爡דכ傀ח荈爡فٓ؎ك٦زؙٓؐسה"84ד圓眠幥 Ⰻ爡דⰟ鸐ך㔐简ⵃ欽 獳鏣㼎韋 NPOHPEC筨㺁ꆀ(#⟃♳ծ〴玎䏝ד圓䧭ׁؙٓأة 䬿挿ך鸐⥋ؔ٦غ٦قحسחאְג 頾蚚鑐꿀ך穠卓ծⰋ⡤ךإٔ٦فحزכ㣐䌴ח何㊣կ䬿挿דך鸐⥋؝أزכ 搀鋔דֹ眔㔲 黝ⴖז؎ٝأةٝأة؎فծ*0ألحؙ鼅ץֿהדך䛷䜋ך倯ָכַח㣐ְֹ فٓ؎ك٦ز ؙٓؐس "QQ 倜%# %JSFDU$POOFDU
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 20 AWS Direct ConnectʹΑΔϋΠϒϦουڥ "QQ %# 倜%# %9ח״"84הفٓ؎ك٦زؙٓؐس䱸竲 "84⩎ך%#⯓遤׃גٖفٔ؛٦ءׇׁّٝ
%9穗歋ד ٖفٔ؛٦ءّٝ فٓ؎ك٦زؙٓؐس "QQ %# 倜%# 倜%#ך彊⪒ָ㸣✪䖓 فٓ؎ك٦زؙٓؐس♳ך"11倜%#פ %9穗歋 ד،ؙإأ 鸐䌢ךEVNQծSFTUPSF״稆傍ְ獳鏣ָ〳腉 فٓ؎ك٦ز ؙٓؐس فٓ؎ك٦ز ؙٓؐس
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 21 σʔλϕʔε͚ͩҠઃͨ͠ޙͷߏ
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 22 Direct Connectར༻ʹΑΔԸܙ • ٻΊΒΕΔύϑΥʔϚϯεతʹɺઐ༻ճઢͰͳ͍ͱڌؒΛލ͍ͩ ߏݫ͔ͬͨ͠ • Direct Connect͕ͳ͔ͬͨΒΞϓϦͱDB྆ํΛಉ࣌ʹҠઃ͢Δ͜ͱʹ
ͳͬͨͣ • αʔϏεͷ࠷େ͖ͳϘτϧωοΫͱͳ͍ͬͯͨDBΛૣظʹ վળͰ͖ͨͷྑ͔ͬͨ
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 23 EC2ͷҠઃ
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 24 ϓϥΠϕʔτΫϥυ্ͷapiΛAWSҠઃ͢Δ فٓ؎ك٦زؙٓؐس %# BQJ؟٦غ٦ "84♳חBQJ؟٦غ٦圓眠׃ծفٓ؎ك٦سؙٓؐسפך،ؙإأ搀ֻׅ %9穗歋 ד،ؙإأ
BQJ؟٦غ٦ LB ֿח،ؙإأׅ״ֲח
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 25 ECSͷલʹEC2ҠߦΛڬΜͩཧ༝ • ༏ઌࣄ߲ύϑΥʔϚϯε্ͱΦʔτεέʔϦϯάରԠ • ·ͣٸͳεύΠΫʹ͑ΒΕΔ͜ͱ͕࠷༏ઌ • ίϯςφԽͰಘΒΕΔӡ༻ίετܰݮɺ࣍ͷϑΣʔζͰେৎ •
EC2ͷߏมߋͳΒૉૣ࣮͘ߦͰ͖ͦ͏ • طଘͷϓϩϏδϣχϯάࢿ࢈(ansible)͕׆༻Ͱ͖Δ • ϗετ໊ͱ͍ͬͨڥґଘͷઃఆͷमਖ਼͘Β͍Ͱྃͦ͠͏ • มߋ͞ΕΔཁૉ͕গͳ͍ͨΊɺݕূ߲͕গͳͯ͘ࡁΉ • ίϯςφରԠ͢ΔͱͳΔͱผ్ݕূɾमਖ਼߲͕ൃੜͦ͠͏ গͳ͍มߋͰେ͖ͳϝϦοτΛड͚ΒΕΔ
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 26 ϓϥΠϕʔτΫϥυ্ͷapiΛAWSҠઃ͢Δ فٓ؎ك٦زؙٓؐس %# BQJ؟٦غ٦ "84♳חBQJ؟٦غ٦圓眠׃ծفٓ؎ك٦سؙٓؐسפך،ؙإأ搀ֻׅ %9穗歋 ד،ؙإأ
BQJ؟٦غ٦ LB ֿח،ؙإأׅ״ֲח
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 27 Route53 Traffic flowʹ͍ͭͯ 3PVUF5SBDPX 醱꧟זٕ٦ذ؍ؚٝهٔء٦ַװֻׅؽآُ،ٓ؎ؤծ鏣㹀דֹ
鏣㹀דֹٕ٦ٕכ圫ղ ؿؑ؎ٕؔ٦غ٦ծٖ؎ذٝء٦ծ⡘縧䞔㜠ծ⸇ꅾծFUD ➙㔐כչ⸇ꅾٕ٦ٕպ⢪欽
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 28 Route53 Traffic flowΛͬͨΞϓϦͷҠઃ فٓ؎ك٦زؙٓؐس %# BQJ؟٦غ٦ ⴱ劍ך鸐⥋穗騟
فٓ؎ك٦زؙٓؐسך-#ָ湫䱸せ鍑寸ׁגְ %9穗歋 ד،ؙإأ BQJ؟٦غ٦ 3PVUF 5SBDPX LB
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 29 Route53 Traffic flowΛͬͨΞϓϦͷҠઃ فٓ؎ك٦زؙٓؐس %# BQJ؟٦غ٦ 5SBDPX穗歋׃גفٓ؎ك٦زؙٓؐسפٕ٦ذ؍ؚٝ
"84橆㞮פךٕ٦ذ؍ؚٕٝ٦ٕ鏣㹀׃גֶֻ ⸇ꅾٕ٦ٕח׃גֶֽלծٕ٦ذ؍ׁؚٝזְ %9穗歋 ד،ؙإأ BQJ؟٦غ٦ 3PVUF 5SBDPX LB
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 30 Route53 Traffic flowΛͬͨΞϓϦͷҠઃ فٓ؎ك٦زؙٓؐس %# BQJ؟٦غ٦ 㼰׃׆א"84⩎ך⸇ꅾٕ٦ٕ㟓װ׃גְֻ
剑ⴱכדؒٓ٦涪欰剣搀ך圫㶨鋅 鹈ְַֻֽגծⰋגךزٓؿ؍حؙ"84פ %9穗歋 ד،ؙإأ BQJ؟٦غ٦ 3PVUF 5SBDPX LB
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 31 Traffic flowͷϝϦοτ - τϥϑΟοΫௐͷ؆୯͞ - ༧ظͤ͵τϥϒϧൃੜ࣌ʹ͙͢ΓͤΔͱ͍͏҆৺ײ 䖚ղח崧׃גְֽךדծأ؛٦ؚٔٝך锃侭瘝׃װְׅ
ฏۉͰ2.5ഒ͍ʂ
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 33 ECSͷҠઃ
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 34 ECSͷߏ ةحفٕך&$4圓䧭 &$דؙٓأة麊欽 BQJծ盖椚歗ծXFC晛؝ٝذش⻉
'BSHBUF⢪זַ椚歋 ث٦يװ⠓爡ⰻד㣐鋉垷زٓؿ؍حؙ䪔ֲ'BSHBUF圓䧭ך濼鋅ָזַ 植㖈כ⠓爡ⰻדך㹋籐֮ծ؝أزך⦼♴־֮ג'BSHBUFפך鯹ׇ䳔ִ嗚鎢 ؝ٝذش⻉ךع٦سٕ ⟃ַ؝٦سٔؿ؋ؙةדזץֻGBDUPS חז״ֲח 何⥜׃גֹךד؝٦س㢌刿כ㼰זֻ幥 5IF5XFMWFGBDUPS"QQխխIUUQTGBDUPSOFUKB
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 35 EC2͔ΒECSͷҠઃ %# BQJ؟٦غ٦ 3PVUF 5SBDPX &$獳鏣הずֻׄ5SBDPXⵃ欽
-#ず㡦ך䮶ⴓֽח㼎䘔 ؚٗ鯄鷏חג鹼䒀涪欰կⴖ䨱׃㹋倵׃ ؙٔؒأزꆀָ㼰זַ ּׅחⴖ䨱ׇךד㣐׃㉏겗חזזַ 5SBDPX BQJ؟٦غ٦PO&$4
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 36 Ҡઃલ
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 37 શͯͷҠઃϑΣʔζྃޙ
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 38 ECSͷΓ͑Ͱײͨ͡ϝϦοτ ؝ٝذش⻉ח״ًٔحز ぐ橆㞮דずׄ؎ً٦آ⢪ְ㔐ֿׅהדծ⥋걾䚍ָ䬐⥂דֹ ؎ىُ٦ةـٕזךדծ涪鎉铂זוךغ٦آّٝ،حفָ⟃״孡鯪ח
ؔ٦زأ؛٦ָؚٔٝ知⽃ &$ה嫰ץծ،فٔך剑倜晛ךرفٗ؎וֲַׅ孡ח׃זֻג葺ְ ٗ٦ٕغحؙⳢ椚ָ㺁僒ח ⟃ךةأؙ㹀纏ⱄ黝欽ׅלծ⹛⡲׃גְ朐䡾חٗ٦ٕغحؙדֹ
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 39 ࠓޙͷల و؎ؙٗ؟٦ؽأ⻉ ✲噟䧭ꞿ⸇鸞ׇׁծ״أ؛٦ٓـٕז穈籼٥ءأذي湡䭷ׅ &$4♳דך؟٦ؽأ嗚⳿זוծ♴㖑כ䲧גְ
وحثؚٝ،ٕ؞ٔؤيװ♶姻ِ٦ؠך嗚濼ך䓼⻉ ر٦ةⴓ匿٥"*٥堣唒㷕统זוזו "NB[PO1FSTPOBMJ[Fծ3FLPHOJUJPOծ/FQUVOFזוזו ءأذي獳鏣ח״ծ"84ח֮ꟼ鸬؟٦ؽأה鸬䵿ָ׃װֻׅזגְ
h.BUDIJOH"HFOU*OD"MM3JHIUT3FTFSWFE 40 ·ͱΊ ءأذي㢌⻉ך䗳銲䚍 㢌⻉ךأؾ٦سָ鸞ְ⚅ך⚥חさׇגծءأذي㢌⻉ׅ䗳銲ָ֮ չ恷鹌䚍պהְֲ罋ִ倯כ㢌⻉ךع٦سٕ♴־
זץֻ♧㔐ך㢌刿㼭ֻׁׅ "84חכ؟ه٦زׅ堣腉ָֻׁ֮