Cybozu Tech Meetup #3 US版kintoneのAWS移行とその裏側 https://cybozu.connpass.com/event/179483/
LJOUPOFDPNͷ"84Ҡߦͱͦͷཪ$ZCP[V5FDI.FFUVQαΠϘζגࣜձ্ࣾԬਅ
View Slide
.F‰্Ԭਅ !VFPLBOEF‰αΠϘζגࣜձࣾ‰ٳ044Λ࡞ͬͨΓจॻΛॻ͍͍ͯ·͢
kintone.com
LJOUPOF4
LJOUPOF‰ۀγεςϜΛ؆୯ʹ࡞ΕΔ##͚αʔϏε‰ࠃ֎ ࣾͰಋೖ‰άϩʔόϧࢢʮLJOUPOFDPNʯͰల։5
άϩʔόϧͷνϟϨϯδ‰ࠃͷച্҆ఆͯ͠৳ͼ͍ͯΔ‰64ࢢΛ͡Ίάϩʔόϧʹνϟϯδ͍ͨ͠‰ݱʹ͋ΘͤͨϦϦʔεϑϩʔൢചઓུ͍ͨ͠6
ͷLJOUPOFͱٕज़త՝‰ࠃαʔϏεDZCP[VDPNͱಉ͡Πϯϑϥج൫wͷϨΨγʔ͕ཷ·ͬͨϞϊϦεγεςϜʢ˞ʣ‰৫తͳνϟϨϯδඞཁwαʔϏε։ൃऀͱӡ༻ऀ͕৫తʹ͔Ε͍ͯΔ7˞ࠃΠϯϑϥ/FDP.BOFLJϓϩδΣΫτ͕ਐߦத
"84Ҡߦͷΰʔϧ‰64ϦʔδϣϯͰ҆ఆͨ͠αʔϏεఏڙ‰ࠃͷγεςϜ͔Βͷಠཱwݱʹ߹ΘͤͨϦϦʔεܭըɺൢചઓུwΫϥυωΠςΟϒͳ։ൃӡ༻ϓϩηεͷཱ֬8
"84Ҡߦ͕ྃ‰݄ʹશҠߦ͠·ͨ͠ʂw݄৽نސ٬͚ϦϦʔεw݄طଘސ٬ͷڥΛ"84ʹҠߦ99݄৽نސ٬ϦϦʔε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%/11bar.kintone.com foo.kintone.com
ߏΛͦͷ··AWS্ʹҠ২ɾɾɾʁ
΄ͱΜͲ࡞Γ͠·ͨ͠ɹ
ΞʔΩςΫνϟͷ৽‰ҠߦͱڞʹLJOUPOFج൫ͷΞʔΩςΫνϟΛݟ͠14cybozu.comج൫ϛυϧΣΞkintoneJPϛυϧΣΞkintoneUS (AWS)৽ن։ൃίϯςφԽϚωʔδυαʔϏε ஔ͖͑
ΠϯϑϥϨΠϠ‰ΠϯϑϥϨΠϠϚωʔδυαʔϏεΛར༻w"NB[PO"VSPSBɺ4ɺ"NB[PO&,415ϛυϧΣΞ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ͷ"-#Ͱड͚͚Δ‰طଘڥͷϦΫΤετຊʹϦόʔεϓϩΩγ21kintonekintoneInternetϦόʔεϓϩΩγNGINXNGINXAWS ALBAWSJP৽نސ٬طଘސ٬
ϏοάόϯϦϦʔεΛආ͚Ζ‰ϦϦʔεӨڹΛ͑ͯ؆୯ʹΓ͠Ͱ͖ΔΑ͏ʹஈ֊తʹϦϦʔεw݄%/4Λ"84ʹҠw݄ϩʔυόϥϯαΛ"84ʹΓସ͑w݄৽نਃ͠ࠐΈઌΛ"84൛LJOUPOFʹΓସ͑22
݄%/4ͷҠ‰%/4ͷཧΛຊͷDZCP[VDPN͔Β"84ʹҠwLJOUPOFDPNͷ໊લղܾઌҾ͖ଓ͖ຊͷ%$23kintoneNGINXᶃ foo.kintone.comͷ ໊લղܾᶄ kintoneʹΞΫηεRoute 53AWSJP
݄ϩʔυόϥϯαͷΓସ͑‰)551ϦΫΤετͷड͚ઌΛ"84ଆʹΓସ͑wʮLJOUPOFDPNʯͷ໊લղܾͷઌΛ"84ͷ"-#ʹwϦΫΤετΛຊ%$ʹϦόʔεϓϩΩγ24kintonekintoneInternetϦόʔεϓϩΩγNGINXNGINXAWS ALBAWSJP
݄৽نސ٬͚ϦϦʔε‰৽نސ٬ͷڥΛLJOUPOFDPNͷ"84ʹ࡞wLJOUPOFDPN͓ਃ͠ࠐΈઌΛΓସ͑25kintonekintoneNGINXNGINXJPAWSkintone.com ͓ਃ͠ࠐΈϖʔδΓସ͑
طଘސ٬ͷ"84Ҡߦʢ݄ʙ݄ʣ9݄৽نސ٬ϦϦʔε6݄طଘސ٬ͷ Ҡߦ (1/3)طଘސ٬ͷ Ҡߦ (2/3)طଘސ٬ͷ Ҡߦ (3/3)20204݄ 5݄L7LB Γସ͑DNS Ҡ20197݄ 8݄20181݄ϓϩδΣΫτ ελʔτ
طଘސ٬ͷҠߦ‰৽نϦϦʔεҎલͷސ٬σʔλΛ"84ʹҠߦ‰ఀࢭϝϯςφϯεΛ݄ɺ݄ɺ݄ʹܭը27kintonekintoneNGINXNGINX AWS (US)JP৽نސ٬طଘސ٬Ҿͬӽ͠ʂ
Ҡߦ͢Δରσʔλ‰طଘސ٬ͷLJOUPOFڥΛ"84ʹҠߦ͢ΔwఴϑΝΠϧ5#wσʔλϕʔε(#wશจݕࡧΠϯσοΫε28
‰,JOUPOFͷΦϒδΣΫτετϨʔδXSJUFPODFwࣄલʹࠩసૹΛͯ͠ɺҠߦʹΓͷసૹΛͭఴϑΝΠϧͷҠߦ29S3AWSJP
‰NZTRMEVNQͨ݁͠ՌΛ4ʹసૹޙɺΠϯϙʔτσʔλϕʔεͷసૹ30Amazon AuroraS3AWSJPmysqldumpimport
શจݕࡧͷ࠶ΠϯσΫγϯά‰ఴϑΝΠϧɾ%#ͷసૹޙɺΠϯσΫγϯά։࢝wLJOUPOF෦ͷඇಉظδϣϒͰΠϯσΫγϯάΛ࣮ߦwطʹΩϡʔʹੵ·Ε͍ͨδϣϒ࠶։POINTOFNORETURNAmazon AuroraS3indexingElasticsearchkintoneจࣈྻநग़จࣈྻநग़
LJOUPOFDPNͷ͜Ε͔Βʢ݄ʙʣ9݄৽نސ٬ϦϦʔε6݄طଘސ٬ͷ Ҡߦ (1/3)طଘސ٬ͷ Ҡߦ (2/3)طଘސ٬ͷ Ҡߦ (3/3)20204݄ 5݄L7LB Γସ͑DNS Ҡ20197݄ 8݄20181݄ϓϩδΣΫτ ελʔτ
Ҡߦޙͷ64൛LJOUPOF‰݄͔ΒLJOUPOF։ൃνʔϜશମͰ։ൃɾӡ༻‰ҠߦϓϩδΣΫτதʹͰ͖ͳ͔ͬͨ՝͋ΔwϢʔβʔɺΞϓϦέʔγϣϯࢹͷ4-*4-0w.JDSPTFSWJDFTͳͲͷϞϊϦεwࢄτϨʔγϯάͳͲΫϥυωΠςΟϒͳࢹ33
αΠϘζͱࠓޙͷLJOUPOFDPN‰"84ҠߦྃΰʔϧͰͳ͘৽ͨͳελʔτ‰ٕज़తɾ৫తͳνϟϨϯδ͕Ͱ͖ΔΑ͏ʹͳͬͨwLJOUPOFDPNͷ҆ఆӡ༻ʹ͚ͨνϟϨϯδwࠃ /FDP.BOFLJͷӡ༻ݟͷల։wੈքల։ͷͨΊͷͮ͘Γ34Զͨͪͷઓ͍·ͩ࢝·͔ͬͨΓͩʂ