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
AWSでの漸進的なアーキテクチャ変更 at タップル誕生 / step-by-step-mig...
Search
michinobu_shimatani
April 09, 2019
Technology
240
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
790
見積もりとは〇〇である / estimate-is-hogehoge
michio0o
0
100
タップル誕生における事業の成長と開発体制の歩み / 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
組織にどうSREを根付かせるか?〜IVRyの場合〜
abnoumaru
0
240
実践が先生だった— 新卒サーバーエンジニア1年目のリアル
mixi_engineers
PRO
0
220
テックカンファレンス三大ステークホルダーの文化人類学 ─ 違いを認め合う関係性作り
bash0c7
5
1.5k
セキュリティ研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
32
27k
論語・武士道・産業革命から見る かわるもの、かわらないもの
ichimichi
8
2k
クラウドを使う側から、作る側へ / 大吉祥寺.pm 2026前夜祭
fujiwara3
8
2k
AI駆動開発は個人技からチーム戦へ:組織でAIを使いこなすための実践設計
moongift
PRO
0
390
QAと開発の両側から進める AI活用 -QAプロセスAI支援ツールキットと Inner Loop / Outer Loopの取り組み-
legalontechnologies
PRO
2
400
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
53k
CloudWatchから始めるAWS監視
butadora
0
310
reFACToring
moznion
1
1.1k
システム監視を 「システムを監視するだけ」で 終わらせないために
seiud
0
160
Featured
See All Featured
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
340
A better future with KSS
kneath
240
18k
Side Projects
sachag
455
43k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
420
エンジニアに許された特別な時間の終わり
watany
108
250k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
880
Music & Morning Musume
bryan
47
7.3k
Code Review Best Practice
trishagee
74
20k
How STYLIGHT went responsive
nonsquared
100
6.2k
It's Worth the Effort
3n
188
29k
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חכ؟ه٦زׅ堣腉ָֻׁ֮