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
kintone.comのAWS移行と その舞台裏
Search
Shin'ya Ueoka
July 14, 2020
Technology
4
4.7k
kintone.comのAWS移行と その舞台裏
Cybozu Tech Meetup #3 US版kintoneのAWS移行とその裏側
https://cybozu.connpass.com/event/179483/
Shin'ya Ueoka
July 14, 2020
Tweet
Share
More Decks by Shin'ya Ueoka
See All by Shin'ya Ueoka
英語ができなかった自分達が、グローバルチーム立ち上げに挑戦!?
ueokande
1
740
技術書典12協賛企業サイボウズゲストトーク
ueokande
0
230
サービス間をテストするフレームワーク集
ueokande
0
270
kintone.comを支える技術
ueokande
0
180
SLO策定とアラート設定までの長い道のり
ueokande
6
4.4k
オンラインイベントを 半年運営して気づいたこと
ueokande
0
100
インフラ開発チームがプロダクトチームに体験入部したはなし
ueokande
1
650
OSSでキレイな本を 作りたい話
ueokande
0
230
サイボウズとOSSの付き合い方
ueokande
0
750
Other Decks in Technology
See All in Technology
AGIについてChatGPTに聞いてみた
blueb
0
130
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
470
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
290
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
300
Lexical Analysis
shigashiyama
1
150
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
5
580
Terraform CI/CD パイプラインにおける AWS CodeCommit の代替手段
hiyanger
1
240
Lambdaと地方とコミュニティ
miu_crescent
2
370
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
680
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
160
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
430
元旅行会社の情シス部員が教えるおすすめなre:Inventへの行き方 / What is the most efficient way to re:Invent
naospon
2
330
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
427
64k
Designing for humans not robots
tammielis
250
25k
How GitHub (no longer) Works
holman
310
140k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Ruby is Unlike a Banana
tanoku
97
11k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
A Philosophy of Restraint
colly
203
16k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
4 Signs Your Business is Dying
shpigford
180
21k
Transcript
LJOUPOFDPNͷ"84Ҡߦͱ ͦͷཪ $ZCP[V5FDI.FFUVQ αΠϘζגࣜձࣾ ্Ԭਅ
.F ‰্Ԭਅ !VFPLBOEF ‰αΠϘζגࣜձࣾ ‰ٳ044Λ࡞ͬͨΓจॻΛ ॻ͍͍ͯ·͢
kintone.com
LJOUPOF 4
LJOUPOF ‰ۀγεςϜΛ؆୯ʹ࡞ΕΔ##͚αʔϏε ‰ࠃ֎ ࣾͰಋೖ ‰άϩʔόϧࢢ ʮLJOUPOFDPNʯ Ͱల։ 5
άϩʔόϧͷνϟϨϯδ ‰ࠃͷച্҆ఆͯ͠৳ͼ͍ͯΔ ‰64ࢢΛ͡Ίάϩʔόϧʹνϟϯδ͍ͨ͠ ‰ݱʹ͋ΘͤͨϦϦʔεϑϩʔൢചઓུ͍ͨ͠ 6
ͷLJOUPOFͱٕज़త՝ ‰ࠃαʔϏεDZCP[VDPNͱಉ͡Πϯϑϥج൫ wͷϨΨγʔ͕ཷ·ͬͨϞϊϦεγεςϜʢ˞ʣ ‰৫తͳνϟϨϯδඞཁ wαʔϏε։ൃऀͱӡ༻ऀ͕৫తʹ͔Ε͍ͯΔ 7 ˞ࠃΠϯϑϥ/FDP.BOFLJϓϩδΣΫτ͕ਐߦத
"84Ҡߦͷΰʔϧ ‰64ϦʔδϣϯͰ҆ఆͨ͠αʔϏεఏڙ ‰ࠃͷγεςϜ͔Βͷಠཱ wݱʹ߹ΘͤͨϦϦʔεܭըɺൢചઓུ wΫϥυωΠςΟϒͳ։ൃӡ༻ϓϩηεͷཱ֬ 8
"84Ҡߦ͕ྃ ‰݄ʹશҠߦ͠·ͨ͠ʂ w݄৽نސ٬͚ϦϦʔε w݄طଘސ٬ͷڥΛ"84ʹҠߦ 9 9݄ ৽نސ٬ ϦϦʔε 6݄ طଘސ٬ͷ
Ҡߦ (1/3) طଘސ٬ͷ Ҡߦ (2/3) طଘސ٬ͷ Ҡߦ (3/3) 20204݄ 5݄ L7LB Γସ͑ DNS Ҡ 20197݄ 8݄ 20181݄ ϓϩδΣΫτ ελʔτ
LJOUPOFDPNج൫ͷߏங ʢʙ݄ʣ 9݄ ৽نސ٬ ϦϦʔε 6݄ طଘސ٬ͷ Ҡߦ (1/3)
طଘސ٬ͷ Ҡߦ (2/3) طଘސ٬ͷ Ҡߦ (3/3) 20204݄ 5݄ L7LB Γସ͑ DNS Ҡ 20197݄ 8݄ 20181݄ ϓϩδΣΫτ ελʔτ
LJOUPOFDPNͷΞʔΩςΫνϟ ‰ސ٬ ʢձࣾʣ ͝ͱͷڥΛఏڙ͢ΔϚϧνςφϯτ ‰֤ڥ͝ͱʹҟͳΔ'2%/ 11 bar.kintone.com foo.kintone.com
ߏΛͦͷ··AWS্ʹ Ҡ২ɾɾɾʁ
΄ͱΜͲ࡞Γ͠·ͨ͠ɹ
ΞʔΩςΫνϟͷ৽ ‰ҠߦͱڞʹLJOUPOFج൫ͷΞʔΩςΫνϟΛݟ͠ 14 cybozu.comج൫ ϛυϧΣΞ kintone JP ϛυϧΣΞ kintone US
(AWS) ৽ن։ൃ ίϯςφԽ ϚωʔδυαʔϏε ஔ͖͑
ΠϯϑϥϨΠϠ ‰ΠϯϑϥϨΠϠϚωʔδυαʔϏεΛར༻ w"NB[PO"VSPSBɺ4ɺ"NB[PO&,4 15 ϛυϧΣΞ kintone
ϛυϧΣΞ ‰ඇಉظδϣϒϚϧνςφϯτΛཧ͢Δ ‰ΞʔΩςΫνϟΛݟͯ͠,PUMJO(PͰ৽ن։ൃ 16 ϛυϧΣΞ kintone
,JOUPOFຊମ ‰,JOUPOFຊମΛίϯςφͰಈ͘Α͏ʹ͢Δ ‰ಉ͡ίʔυϕʔεͰಈ࡞Λ%*ͰΓସ͑Δ 17 ϛυϧΣΞ kintone
ͦͷଞ࡞Γ͠ ‰αʔϏεҎ֎ͷ৽ن։ൃ࡞Γ͠·ͨ͠ w$*$%ύΠϓϥΠϯ wϩάɺϞχλϦϯά wεςʔλεϖʔδ wΦϯίʔϧମ੍ɺΞϥʔτγεςϜ 18
৽نϦϦʔεͱฒߦӡ༻ ʢ݄ʙʣ 9݄ ৽نސ٬ ϦϦʔε 6݄ طଘސ٬ͷ Ҡߦ (1/3)
طଘސ٬ͷ Ҡߦ (2/3) طଘސ٬ͷ Ҡߦ (3/3) 20204݄ 5݄ L7LB Γସ͑ DNS Ҡ 20197݄ 8݄ 20181݄ ϓϩδΣΫτ ελʔτ
৽نސ٬͚ϦϦʔε ‰݄৽نސ٬͚ϦϦʔε ‰طଘސ٬Ҿ͖ଓ͖ຊͷ%$͔Βఏڙ 20
ฒߦӡ༻ ‰શͯͷϦΫΤετ"84ͷ"-#Ͱड͚͚Δ ‰طଘڥͷϦΫΤετຊʹϦόʔεϓϩΩγ 21 kintone kintone Internet ϦόʔεϓϩΩγ NGINX NGINX
AWS ALB AWS JP ৽نސ٬ طଘސ٬
ϏοάόϯϦϦʔεΛආ͚Ζ ‰ϦϦʔεӨڹΛ͑ͯ؆୯ʹΓ͠Ͱ͖ΔΑ͏ʹ ஈ֊తʹϦϦʔε w݄%/4Λ"84ʹҠ w݄ϩʔυόϥϯαΛ"84ʹΓସ͑ w݄৽نਃ͠ࠐΈઌΛ"84൛LJOUPOFʹΓସ͑ 22
݄%/4ͷҠ ‰%/4ͷཧΛຊͷDZCP[VDPN͔Β"84ʹҠ w LJOUPOFDPNͷ໊લղܾઌҾ͖ଓ͖ຊͷ%$ 23 kintone NGINX ᶃ foo.kintone.comͷ ໊લղܾ
ᶄ kintoneʹΞΫηε Route 53 AWS JP
݄ϩʔυόϥϯαͷΓସ͑ ‰)551ϦΫΤετͷड͚ઌΛ"84ଆʹΓସ͑ wʮ LJOUPOFDPNʯͷ໊લղܾͷઌΛ"84ͷ"-#ʹ wϦΫΤετΛຊ%$ʹϦόʔεϓϩΩγ 24 kintone kintone Internet ϦόʔεϓϩΩγ
NGINX NGINX AWS ALB AWS JP
݄৽نސ٬͚ϦϦʔε ‰৽نސ٬ͷڥΛLJOUPOFDPNͷ"84ʹ࡞ wLJOUPOFDPN͓ਃ͠ࠐΈઌΛΓସ͑ 25 kintone kintone NGINX NGINX JP AWS
kintone.com ͓ਃ͠ࠐΈϖʔδ Γସ͑
طଘސ٬ͷ"84Ҡߦ ʢ݄ʙ݄ʣ 9݄ ৽نސ٬ ϦϦʔε 6݄ طଘސ٬ͷ Ҡߦ (1/3)
طଘސ٬ͷ Ҡߦ (2/3) طଘސ٬ͷ Ҡߦ (3/3) 20204݄ 5݄ L7LB Γସ͑ DNS Ҡ 20197݄ 8݄ 20181݄ ϓϩδΣΫτ ελʔτ
طଘސ٬ͷҠߦ ‰৽نϦϦʔεҎલͷސ٬σʔλΛ"84ʹҠߦ ‰ఀࢭϝϯςφϯεΛ݄ɺ݄ɺ݄ʹܭը 27 kintone kintone NGINX NGINX AWS (US)
JP ৽نސ٬ طଘސ٬ Ҿͬӽ͠ʂ
Ҡߦ͢Δରσʔλ ‰طଘސ٬ͷLJOUPOFڥΛ"84ʹҠߦ͢Δ wఴϑΝΠϧ5# wσʔλϕʔε(# wશจݕࡧΠϯσοΫε 28
‰,JOUPOFͷΦϒδΣΫτετϨʔδXSJUFPODF wࣄલʹࠩసૹΛͯ͠ɺҠߦʹΓͷసૹΛͭ ఴϑΝΠϧͷҠߦ 29 S3 AWS JP
‰NZTRMEVNQͨ݁͠ՌΛ4ʹసૹޙɺΠϯϙʔτ σʔλϕʔεͷసૹ 30 Amazon Aurora S3 AWS JP mysqldump import
શจݕࡧͷ࠶ΠϯσΫγϯά ‰ఴϑΝΠϧɾ%#ͷసૹޙɺΠϯσΫγϯά։࢝ wLJOUPOF෦ͷඇಉظδϣϒͰΠϯσΫγϯάΛ࣮ߦ wطʹΩϡʔʹੵ·Ε͍ͨδϣϒ࠶։ POINT OF NO RETURN Amazon Aurora
S3 indexing Elasticsearch kintone จࣈྻநग़ จࣈྻநग़
LJOUPOFDPNͷ͜Ε͔Β ʢ݄ʙʣ 9݄ ৽نސ٬ ϦϦʔε 6݄ طଘސ٬ͷ Ҡߦ (1/3)
طଘސ٬ͷ Ҡߦ (2/3) طଘސ٬ͷ Ҡߦ (3/3) 20204݄ 5݄ L7LB Γସ͑ DNS Ҡ 20197݄ 8݄ 20181݄ ϓϩδΣΫτ ελʔτ
Ҡߦޙͷ64൛LJOUPOF ‰݄͔ΒLJOUPOF։ൃνʔϜશମͰ։ൃɾӡ༻ ‰ҠߦϓϩδΣΫτதʹͰ͖ͳ͔ͬͨ՝͋Δ wϢʔβʔɺΞϓϦέʔγϣϯࢹͷ4-*4-0 w.JDSPTFSWJDFTͳͲͷϞϊϦε wࢄτϨʔγϯάͳͲΫϥυωΠςΟϒͳࢹ 33
αΠϘζͱࠓޙͷLJOUPOFDPN ‰"84ҠߦྃΰʔϧͰͳ͘৽ͨͳελʔτ ‰ٕज़తɾ৫తͳνϟϨϯδ͕Ͱ͖ΔΑ͏ʹͳͬͨ wLJOUPOFDPNͷ҆ఆӡ༻ʹ͚ͨνϟϨϯδ wࠃ /FDP.BOFLJ ͷӡ༻ݟͷల։ wੈքల։ͷͨΊͷͮ͘Γ 34 Զͨͪͷઓ͍·ͩ࢝·͔ͬͨΓͩʂ