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
5.2k
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
270
どこで動かすか、誰が動かすか 〜 kintoneのインフラ基盤刷新と運用体制のシフト 〜
ueokande
0
260
kintone開発組織のDevOpsへの移り変わりと実践
ueokande
3
1.1k
運用できる開発組織の作り方 ― kintone開発組織のストーリー
ueokande
0
140
英語ができなかった自分達が、グローバルチーム立ち上げに挑戦!?
ueokande
1
980
技術書典12協賛企業サイボウズゲストトーク
ueokande
0
290
サービス間をテストするフレームワーク集
ueokande
0
340
kintone.comを支える技術
ueokande
0
210
SLO策定とアラート設定までの長い道のり
ueokande
6
4.9k
Other Decks in Technology
See All in Technology
衛星画像超解像化によって実現する2D, 3D空間情報の即時生成と“AI as a Service”/ Real-time generation spatial data enabled_by satellite image super-resolution
lehupa
0
140
SREとソフトウェア開発者の合同チームはどのようにS3のコストを削減したか?
muziyoshiz
1
220
KMP の Swift export
kokihirokawa
0
350
AI時代こそ求められる設計力- AWSクラウドデザインパターン3選で信頼性と拡張性を高める-
kenichirokimura
3
280
プロダクトのコードから見るGoによるデザインパターンの実践 #go_night_talk
bengo4com
1
2.3k
E2Eテスト設計_自動化のリアル___Playwrightでの実践とMCPの試み__AIによるテスト観点作成_.pdf
findy_eventslides
1
600
そのWAFのブロック、どう活かす? サービスを守るための実践的多層防御と思考法 / WAF blocks defense decision
kaminashi
0
150
実装で解き明かす並行処理の歴史
zozotech
PRO
1
680
リーダーになったら未来を語れるようになろう/Speak the Future
sanogemaru
0
370
AWS 잘하는 개발자 되기 - AWS 시작하기: 클라우드 개념부터 IAM까지
kimjaewook
0
130
『バイトル』CTOが語る! AIネイティブ世代と切り拓くモノづくり組織
dip_tech
PRO
1
110
ACA でMAGI システムを社内で展開しようとした話
mappie_kochi
1
310
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Code Review Best Practice
trishagee
72
19k
Building Adaptive Systems
keathley
43
2.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
We Have a Design System, Now What?
morganepeng
53
7.8k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
YesSQL, Process and Tooling at Scale
rocio
173
14k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
For a Future-Friendly Web
brad_frost
180
9.9k
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 Զͨͪͷઓ͍·ͩ࢝·͔ͬͨΓͩʂ