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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shin'ya Ueoka
July 14, 2020
Technology
5.2k
4
Share
kintone.comのAWS移行と その舞台裏
Cybozu Tech Meetup #3 US版kintoneのAWS移行とその裏側
https://cybozu.connpass.com/event/179483/
Shin'ya Ueoka
July 14, 2020
More Decks by Shin'ya Ueoka
See All by Shin'ya Ueoka
サイボウズ、プラットフォームエンジニアリング始めるってよ ― プラットフォームチームの事業貢献と組織アラインメントの強化
ueokande
0
120
開発インパクトを最大化!エンジニアが主導する組織づくりの実例
ueokande
0
82
エンジニアが主導できる組織づくり ー 製品と事業を進化させる体制へのシフト
ueokande
1
1.8k
どこで動かすか、誰が動かすか 〜 kintoneのインフラ基盤刷新と運用体制のシフト 〜
ueokande
0
350
kintone開発組織のDevOpsへの移り変わりと実践
ueokande
3
1.4k
運用できる開発組織の作り方 ― kintone開発組織のストーリー
ueokande
0
230
英語ができなかった自分達が、グローバルチーム立ち上げに挑戦!?
ueokande
1
1k
技術書典12協賛企業サイボウズゲストトーク
ueokande
0
330
サービス間をテストするフレームワーク集
ueokande
0
390
Other Decks in Technology
See All in Technology
RedmineをAIで効率的に使う検証
yoshiokacb
0
150
いつの間にかデータエンジニア以外の業務も増えていたけど、意外と経験が役に立ってる
zozotech
PRO
0
690
続 運用改善、不都合な真実 〜 物理制約のない運用改善はほとんど無価値 / 20260518-ssmjp-kaizen-no-value-without-physical-constraints
opelab
2
260
Terragrunt x Snowflake + dbt で作るマルチテナントなデータ基盤構築プラットフォーム
gak_t12
0
490
生成AI時代に信頼性をどう保ち続けるか - Policy as Code の実践
akitok_
1
500
AWSアップデートから考える継続的な運用改善
toru_kubota
2
310
Purview 勉強会報告 Microsoft Purview 入門しようとしてみた
masakichixo
1
450
最新技術を"今は選ばない"という技術選定
leveragestech
PRO
0
270
TSKaigi 2026 - enumよ、さようなら
teamlab
PRO
1
160
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.5k
エンタープライズの厳格な制約を開発者に意識させない:クラウドネイティブ開発基盤設計/cloudnative-kaigi-golden-path
mhrtech
0
460
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.7k
Featured
See All Featured
Speed Design
sergeychernyshev
33
1.7k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
360
Docker and Python
trallard
47
3.8k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
790
Joys of Absence: A Defence of Solitary Play
codingconduct
1
360
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
The Curious Case for Waylosing
cassininazir
1
350
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.7k
How to Ace a Technical Interview
jacobian
281
24k
Design in an AI World
tapps
1
210
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
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 Զͨͪͷઓ͍·ͩ࢝·͔ͬͨΓͩʂ