2015年5月からペパボではOpenStackを使ったインフラ基盤、通称 "Nyah" を運用しています。 導入までの経緯と運用を始めて得られた効果、現状の問題点とその改善活動について述べます。
GMO Pepabo, Inc.Tsunematsu Shinya2016/05/14 ୈ5ճϖύϘςοΫΧϯϑΝϨϯεϖύϘͷϓϥΠϕʔτΫϥυ z/ZBIzͦͷޙ
View Slide
ৗদ৳࠸!UONUٕज़෦ΠϯϑϥάϧʔϓϓϦϯγύϧΤϯδχΞ݄ೖࣾ ΧϨʔ͕େ͖
ࠓͷΞδΣϯμ ͦͦ/ZBIͱܦҢɾഎܠ ར༻࣮ɾҠߦࣄྫɺޮՌ ݱঢ়ͷ՝ վળɾ৽νϟϨϯδͱݱঢ় ࠓޙʹ͍ͭͯ
ܦҢɾഎܠ
/ZBIJT ϖύϘͷϓϥΠϕʔτΫϥυͷίʔυωʔϜ 0QFO4UBDLͰߏங͞ΕͨԾΠϯϑϥج൫ ֤αʔϏεɾࡐͷαʔόʔڥͱͯ͠ར༻͢Δɻॱ࣍Ҡߦத ݄ʹߏɺ݄ΑΓ0QFO4UBDLݕ౼։࢝ ݄ΑΓαʔϏεར༻։࢝ ͚ࣾ༻్(JU)VC&OUFSQSJTFͳͲͰطʹར༻
εϥΠυ͜Ε͔ΒͷϖύϘͷٕज़ IUUQTTQFBLFSEFDLDPNLFOUBSPFOHJOFFSJOHJOHNPQFQBCPJOD ୈճϖύϘςοΫΧϯϑΝϨϯεΛ։࠵͠·ͨ͠QCUFDI IUUQCMPHLFOUBSPLPSHFOUSZ
εϥΠυϙνϙν͢ΔͨΊʹχϟʔχϟʔ͠Α͏ IUUQTXXXZPVUVCFDPNXBUDI W(618.;CP1T6 IUUQXXXTMJEFTIBSFOFUVNF@QCUDCPC
+6(&.Ͱར༻։࢝ʣ
ͪΐ͏ͲҰ͘Β͍ ܦͬͨ
ར༻࣮
ॻ੶8FCαʔϏε։ൃపఈ߈ུ7PM ܧଓత8FCαʔϏεվળ "GUFS5IBU͜Ε͔Βଓ͘ ʮվળʯͷͱΓ͘Έ มԽͷࢭ·Βͳ͍ࣾձɾٕज़ڥ ʹΩϟονΞοϓ͢Δ
Քಇঢ়گ ݱࡏ DPNQVUFOPEF Քಇ7.Πϯελϯε ςφϯτ ཧςφϯτআ͘ ར༻αʔϏε શࣾͷ΄΅શ͕ͯԿΒ͔ͷܗͰ͍ͬͯΔ
DPNQVUFϊʔυຖͷΠϯελϯε $16ϝϞϦΛΦʔόʔίϛοτ͠ͳ͍Α͏ͳӡ༻ ҠߦࡁαʔϏεɾαʔόʔʹτϥϒϧ͕ແ͍Α͏ʹ҆શଆʹد͍ͤͯΔ ͱݴ͑Δ͔ͳʜʁ ΠϯελϯεͷՃαʔϏεͷҠߦ༧ఆ߇͍͑ͯΔͷͷɺྑ͍ҙຯͰ·ͩ·ͩ༨͕͋Δ ࠷దԽͷ༨͋Δ
CPUʹΑΔ";ͷϦιʔεϨϙʔτ
ར༻͍ͯ͠Δɾ͍ͳ͍ओཁίϯϙʔωϯτ /PWB /FVUSPO ,FZTUPOF (MBODF $FJMPNFUFS 4XJGUˠࣾͷ4ޓαʔϏεͰ͋Δ#BZUΛར༻͍ͯ͠Δ $JOEFSˠޙड़
"84Ͱͨͱ͑Δͱ0QFO4UBDL "84/PWB &$/FVUSPO &*1 71$ͷ&/*,FZTUPOF *".(MBODF ".*4XJGU 4$JOEFS
αʔϏεҠߦࣄྫ
HPPQFKQ ϗʔϜϖʔδ࡞αʔϏε খنɺͭ/ZBIશҠߦࡁ ΦϯϓϨͰͷཧαʔό /ZBI্ʹΠϯελϯε ૿͍͑ͯΔཧ༝ޙड़ ेʹςετΛߦ্ͬͨͰҰ൩ͰΓସ͑ ௨শlϏοάόϯϝϯςz
NJOOFDPN ࠃ࠷େͷ$UP$ϋϯυϝΠυϚʔέοτ େنͭɺஈ֊తʹ/ZBIҠߦத *BB4αʔϏεͰΠϯελϯε /ZBI্ʹΠϯελϯε 71/Λுͬͯɺ8ͷΠϯελϯε͔Β !VE[VSB͕ͦͷ͏ͪτʔΫͦ͠͏ͳ༧ײ
ޮՌ
εέʔϧΞοϓɾΞτ͕༰қʹͳͬͨ HPPQFͰqBWPSɾมߋΛ͠αʔϏεೖ NJOOFͰΠϯελϯεΛಉ࣌Ճ ։ൃϝϯόʔ͕ΠϯελϯεىಈϓϩϏδϣχϯάΛߦ͑ΔΑ͏ʹͳͬͨΑΓػಈతͳࣄۀల։
҆ఆͨ͠αʔϏεఏڙ େ͖ͳτϥϒϧແ͠ શࣾͰར༻͢Δ(JU)VC&OUFSQSJTFϗετ͍ͯ͠Δ 0QFO4UBDLؔ࿈ͷোͰͳ͘ɺཧతͳ)8ނো͕ͨ·ʹ͋ΔΑ͏ͳΠϝʔδ σΟεΫͷσάϨʔυ ϝϞϦΤϥʔͳͲ .BDLFSFMʹ֤ͯίϯϙʔωϯτ7.ͷϞχλϦϯάΛ࣮ࢪɾվળ͍ͯ͠Δ
ίετݮ )8ΫϥυαʔϏεͷΠχγϟϧ ϥϯχϯάඅ༻ݮͬͨ ΠϯελϯεͷݟੵΓͷਫ਼ࠪɺదͳεϖοΫͷ४උ͕ߦ͑ΔΑ͏ʹͳͬͨ /ZBIͷίετશར༻Λ҈ IUUQTHJUIVCDPNZBPDMPVELBLJO HPPQFݮ NJOOFݮ ҆ఆ͠ΞϥʔτͷোରԠ͕ݮͬͨ͜ͱͰɺαʔϏεͷӡ༻ίετԼ͕ͬͨ
Πϯελϯεϩʔϧ αʔϏεͷΠϯϑϥ୲ऀͱͯ͠ײ͡Δ෭࣍తޮՌ ΠϯελϯεΛͨͯ͘͢ͳΓɺཧαʔόʹ͋Γ͕ͪͩͬͨʹෳͷׂΛࡉׂ͔͘ग़དྷͨ 8αʔόͱ%#αʔό͕ಉډͩͱ͔ HPPQFͰҠߦલޙͰ୯७ͳαʔόʢΠϯελϯεʣ͕૿͍͑ͯΔཧ༝ ߏཧπʔϧʢ1VQQFU͕ଟ͍ʣͷίʔυͷݟ௨͠Α͘ͳΓཧ͕ߦ͑ͨ
՝
େ͖ͭ͘ 0QFO4UBDLͷόʔδϣϯ $JOEFS /FVUSPO
0QFO4UBDLόʔδϣϯ 0QFO4UBDL)BWBOBͰݹ͍ 0QFO4UBDL͓͖ʹ৽͍͠όʔδϣϯ͕ग़Δ )BWBOB ݱࡏ ˠ*DFIPVTFˠ+VOPˠ,JMPˠ-JCFSUZˠ .JUBLB ࠷৽ ֤छίϯϙʔωϯτͷػೳ͕͑ͳ͔ͬͨΓɺετϨʔδɾιϑτΣΞͷαϙʔτ֎ͱͳͬͯ͠·͏
$JOEFS $JOEFSࣗମΛ༗ޮʹར༻ग़དྷ͍ͯͳ͔ͬͨ /PWBͷΠϯελϯεࣗମɺ·ͨͦΕʹϚϯτ͢ΔσʔλͷҠಈ͕ࠔ DPNQVUFϊʔυͷϩʔΧϧετϨʔδӡ༻ɻੑೳ͕ग़ͳ͘ɺ%#ϩʔϧͳͲ*0ੑೳ͕ඞཁͳͷ͕/ZBIʹҠߦͰ͖ͳ͍ DPNQVUFϊʔυؒͰͷ༰ྔͷภΓ͕ɺͦͷଞͷϦιʔεʢ$16 ϝϞϦར༻ͷ࠷దԽͷ͛ʹͳΔ ΑΓΫϥυతͳӡ༻ɾ͍উखΛࢦͨ͢Ίʹ$JOEFSࣗମΛར༻Մೳʹɺ·ͨͦͷόοΫΤϯυͱͳΔετϨʔδͷબఆ
/FVUSPO ݱࡏͷڥωοτϫʔΫػثͷߏ্ɺ/FVUSPOͷػೳΛ༗ޮʹ͍Ε͍ͯͳ͍ %)$1-"HFOU 'MPBUJOH*1͕ར༻ग़དྷ͍ͯͳ͍ ಠࣗ։ൃͷπʔϧͰΧόʔ͍ͯ͠Δ OZBIDMJ QFDIUUQTHJUIVCDPNZBPDMPVEQFD ωοτϫʔΫΛؚΊͨΞʔΩςΫνϟઃܭͷ࠶ߟ͕ඞཁ
վળɾ৽νϟϨϯδ
εϥΠυͷΤϯδχΞϦϯά ࣾࢿྉʣ
ࣗࣾͰͷ0QFO4UBDLڥߏங άϧʔϓࣾͷڠྗΛಘͯɺ͙͢ʹಈ࡞SFBEZͳڥΛಘΕͨͷελʔτΛΔͱ͍͏ҙຯͰͱͯΑ͔ͬͨ ӡ༻ͯ͠ਐΉϝϯόʔͷ0QFO4UBDL׳Ε ࠓͳΒΠέΔͱ͍͏खԠ͑Λײͨ͡
εϥΠυϖύϘʹ͓͚Δ0QFO4UBDL)BDLT IUUQTTQFBLFSEFDLDPNQZBNBQFQBCPOJPLFSVPQFOTUBDLIBDLT
هࣄ3VCZ8BZ0QFO4UBDL IUUQUFDIQFQBCPDPNSVCZXPSMEDPOGFSFODF
/ZBIDMBTTJD /ZBI ҎԼͷΑ͏ʹݺͼ͚ͯ0QFO4UBDLͷόʔδϣϯΞοϓ ՝ͷղܾਐΊ͍ͯ͘͜ͱʹ طଘ/ZBIDMBTTJD ৽/ZBI ݄ΑΓணख
ͭͷ՝ 0QFO4UBDLͷόʔδϣϯ $JOEFS /FVUSPO
0QFO4UBDLόʔδϣϯ ࠶ܝ 0QFO4UBDL)BWBOBͰݹ͍ 0QFO4UBDL͓͖ʹ৽͍͠όʔδϣϯ͕ग़Δ )BWBOB ݱࡏ ˠ*DFIPVTFˠ+VOPˠ,JMPˠ-JCFSUZˠ .JUBLB ࠷৽ ֤छίϯϙʔωϯτͷػೳ͕͑ͳ͔ͬͨΓɺετϨʔδɾιϑτΣΞͷαϙʔτ֎ͱͳͬͯ͠·͏
0QFO4UBDL.JUBLB )BWBOBˠ.JUBLBδϟϯϓΞοϓ ࠷ॳ࣌ͷ҆ఆ൛ͷ-JCFSUZͷҰͭલɺ,JMPͰྑ͍͔ͱࢥ͍ͬͯͨ ݁Ռతʹ࠷৽൛͕ར༻ग़དྷΔΑ͏ʹͳͬͨ ֤ίϯϙʔωϯτͷػೳͷվળɾ৽ػೳɺಛʹࠓͷͱ͜Ζ/FVUSPOͷԸܙ͕େ͖ͦ͏ʹײ͍ͯ͡Δʢޙड़ʣ
6CVOUV 9FOJBM9FSVT $FOU04ˠ6CVOUVδϟϯϓΞοϓ ϖύϘ$FOU04ར༻͕ଟ͍ σΟετϦʹͩ͜ΘΓಛʹແ͔͕ͬͨ0QFO4UBDLͳΒ6CVOUVͱ͍͏Πϝʔδ ݹ͍04ͰίϯϙʔωϯτͷػೳLFSOFMଆͰରԠ͕͞Ε͍ͯͳ͍߹͕͋ΔɺωοτϫʔΫपΓͳͲ 3)&- $FOU04όοΫϙʔτ͋Γͦͷͳ͍ͱͷ͜ͱ
Ͳ͏ࣗલߏங͢Δ͔
طଘͷӡ༻ ݩͷڥͰೲ͞ΕΔͷߏஙࡁΈαʔόͷΈ ͻͨ͢ΒͦΕΛߏཧπʔϧͷఆٛʹམͱ͢w్த*UBNBFˠ$IFGͰมΘͬͨw࣌ઃఆཧ͕ϝΠϯͩͬͨwࠓͰ0QFO4UBDLҰ͕ࣜߏஙՄೳʹͳ͍ͬͯΔ ͪΖΜ4FSWFSTQFDͷςετॻ͘
όʔδϣϯΞοϓํ๏ 7BHSBOUڥͰ։ൃग़དྷΔΑ͏ʹ͢Δ ͓ΉΖʹར༻͢Δ7.ͷΠϝʔδΛม͑Δw$FOU04͔Β6CVOUV ςετ͕௨Δ·Ͱͻͨ͢Β$IFGͷίʔυͱɺ0QFO4UBDLίϯϙʔωϯτʢ/PWBͱ͔/FVUSPOͱ͔ʣͷઃఆϑΝΠϧΛมߋ͢Δ
ͱͯγϯϓϧʂ
ϙΠϯτʢۤ࿑ɾͨ͠ʣ વ)BWBOB༻ͷઃఆ͕ͦͷ··ಈͣ͘ͳ͘ ݱঢ় ݕূ։࢝Ͱ·ͩ6CVOUV͕"MQIBϦϦʔε 7BHSBOUͷCPYΛࣗલͰ४උ IUUQTBUMBTIBTIJDPSQDPNUONUCPYFTYFOJBMBMQIB 6CVOUVͷ$MPVE"SDIJWFແ͍ͷͰͷϦϙδτϦͷύοέʔδΛར༻ ݁Ռతʹ.JUBLBΛར༻Մೳʹͳͬͨ
IUUQTXJLJVCVOUVDPN4FSWFS5FBN$MPVE"SDIJWF
&EHFͳΈ߹Θͤʹͳͬͯ Կ͔ͷཉٻ͕ຬͨ͞ΕΔ
$JOEFS ࠶ܝ $JOEFSࣗମΛ༗ޮʹར༻ग़དྷ͍ͯͳ͔ͬͨ /PWBͷΠϯελϯεࣗମɺ·ͨͦΕʹϚϯτ͢ΔσʔλͷҠಈ͕ࠔ DPNQVUFϊʔυͷϩʔΧϧετϨʔδӡ༻Ͱੑೳ͕ग़ͳ͘ɺ%#ϩʔϧͳͲ*0ੑೳ͕ඞཁͳͷ͕/ZBIʹҠߦͰ͖ͳ͍ DPNQVUFϊʔυؒͰͷ༰ྔͷภΓ͕ɺͦͷଞͷϦιʔεʢ$16 ϝϞϦར༻ͷ࠷దԽͷ͛ʹͳΔ ΑΓΫϥυతͳӡ༻ɾ͍উखΛࢦͨ͢Ίʹ$JOEFSࣗମΛར༻Մೳʹɺ·ͨͦͷόοΫΤϯυͱͳΔετϨʔδͷબఆ
ετϨʔδબఆ ϖύϘͰࠓ·ͰετϨʔδͷΞϓϥΠΞϯειϑτΣΞΛར༻ͨ͜͠ͱ͕ແ͔ͬͨ 0QFO4UBDLͷόʔδϣϯΞοϓͷॲ͕͖ͭɺαϙʔτ͕͋ΔϕϯμͳͲݕ౼Մೳʹ ࢄετϨʔδؚΊݕ౼Λ։࢝ ݄͔Βॱ࣍
ετϨʔδબఆ͍͠ʜ ͕ࣗͨͪͲ͏͍͍͔ͨɺཁ݅ͷཧΛ͠ͳ͍ͱ͍͚ͳ͍ ར༻༻్ ༰ྔ *0ੑೳ ίετ
αʔϏε͔ΒώΞϦϯά ར༻༻్ %#αʔόͷσʔλ ϝʔϧͷεϓʔϧσʔλ ༰ྔɾ*0ੑೳ ༰ྔࢥͬͨ΄Ͳେ͖͘ແ͔ͬͨ *0ੑೳҰ൪େ͖ͳαʔϏεͷ%#ͷϝτϦΫε͔Βࢉग़ ίετ ͱ͍͏͔༧ࢉ ϕϯμ͞ΜʹΛ͢Δͱͪΐͬͱ͍ۤإΛ͞ΕͨΓʜ
ݱঢ় ϕϯμΞϓϥΠΞϯεͱͷ0QFO4UBDLͭͳ͗ࠐΈΛݕূத !QCNBTBLJઈࢍؤுΓத $JOEFS࿈ܞͳͲجຊతͳ෦ΫϦΞͰ͖͍ͯͯҾ͖ଓ͖ӡ༻पΓ ϘϦϡʔϜͷTOBQTIPU 2P4 ·ͩࣾͳͷͰઌ͍ʜ
/FVUSPO ࠶ܝ ݱࡏͷڥωοτϫʔΫػثͷߏ্/FVUSPOͷػೳΛ༗ޮʹ͍Ε͍ͯͳ͍ %)$1-"HFOU 'MPBUJOH*1͕ར༻ग़དྷ͍ͯͳ͍ ಠࣗ։ൃͷπʔϧͰΧόʔ͍ͯ͠Δ OZBIDMJ QFDIUUQTHJUIVCDPNZBPDMPVEQFD ωοτϫʔΫΛؚΊͨΞʔΩςΫνϟઃܭͷ࠶ߟ͕ඞཁ
/FVUSPO /ZBIDMBTTJDͷ-)8ͰϧʔςΟϯάΛߦ͍ͬͯͨ )BWBOBͷ/FVUSPOʹෆ͕҆͋ͬͯͷͦͷߏͩͬͨͷ͔͠Εͳ͍ ϝϦοτωοτϫʔΫͷύϑΥʔϚϯεతͳग़ͳ͔ͬͨ σϝϦοτ݁Ռ%)$1͕͑ͳ͔ͬͨ %)$1͕ͩɺ/FVUSPOͰύϑΥʔϚϯεੑ֬อ͢Δ࠷ۙͷΓํʜ
%73 %JTUSJCVUFE7JSUVBM3PVUFS +VOP͔Βಋೖ͞Εͨ074ϓϥάΠϯͷ৽ػೳ ʮԾϧʔλʔͷίϐʔΛશͯͷίϯϐϡʔτϊʔυʹஔ͢Δʯ .JUBLB͔Β4/"5)"ߏ͕औΕΔΑ͏ʹͳͬͨ IUUQEPDTPQFOTUBDLPSHNJUBLBOFUXPSLJOHHVJEFBEWDPOpHEWSIBTOBUIUNM
%73 SFGIUUQTXXXTDIPPMDUDHDPKQDPMVNOTOBLBJOBLBJIUNM
4/"5)" -JCFSUZҎલͷ%73ߏ4/"5Λߦ͏߹ɺ/FVUSPOͷ-"HFOU͕γϯάϧϙΠϯτͱͳΔ͜ͱ͕ආ͚ΒΕͳ͔ͬͨ
4/"5)"DPNQVUFWN WNϩʔΧϧΞυϨεͷΈอ࣋ϓϩδΣΫτ/8ϧʔλʔQVCMJDϙʔτΛอ࣋OFVUSPO4/"5ϧʔλʔ5P'SPN͜ͷߏͷ߹ɺWN͕ʹQJOHΛଧͭͱɺ࣮ࡍʹɺͷΞυϨεͰɺOFVUSPOͰ4/"5͞ΕͯΠϯλʔωοτʹύέοτ͕ૹ৴͞ΕΔɻ͜ͷέʔεͰ4/"5ϧʔλʔΛ͢Δ͜ͱ͕ग़དྷͳ͔ͬͨ*1ߏɹ7.ɹϓϩδΣΫτ38JOUFSOBMHMPCBM
4/"5)"DPNQVUFWNOFVUSPO OFVUSPOLFFQBMJWFE.JUBLBҎ߱OFVUSPOΛԽ͢Δ͜ͱͰɺ4/"5ϧʔλʔΛࢄஔ͠LFFQBMJWFEͰԽ͢Δ͜ͱ͕ग़དྷΔΑ͏ʹͳͬͨ
ݱঢ় ݄͔Βݕূ։࢝ !QZBNBઈࢍؤுΓத ʜͱࢥ͍͚ͬͯͨͲݕূࡁΜͰ৽نϥοΫηοτͷೲͪ (8தʹ/FVUSPOͷؾ࣋ͪʹͳͬͨͱͷ͜ͱ
ࠓޙʹ͍ͭͯ
৽/ZBIϦϦʔε༧ఆ ωοτϫʔΫߏͷॲ͕ܦͬͨͷͰՃϥοΫ͔ΒϦϦʔε͢Δ /ZBIDMBTTJDݕূ࣌ͱಉ༷ɺ(JU)VC&OUFSQSJTF͔ΒՔಇͤ͞Δ ݄தʹʂϗϯτ͜͜·ͰͬͯࠓʹྟΈ͔ͨͬͨʂ $JOEFSͱετϨʔδͷಋೖͬͯʜ
͞ΒʹΓ͍ͨ͜ͱ ʢߏʣ
$JOEFSNVMUJCBDLFOET ༻్ඞཁͳύϑΥʔϚϯεͰ$JOEFSͷόοΫΤϯυΛม͑Δ ྫ ύϑΥʔϚϯε̋ ༰ྔ✕ϕϯμ ύϑΥʔϚϯε✕ ༰ྔ̋ࢄετϨʔδ ͔ͤͬ͘ෳͷετϨʔδબఆΛߦ͏ͷͰྑ͍ͱ͜ͲΓग़དྷΔͱྑ͍ͳ
0QFO4UBDLػೳͷཏతͳςετ ࠓޙ0QFO4UBDLͷόʔδϣϯΞοϓ͕ఆظతʹඞཁʹͳΔ ػೳΛԣஅతʹѻ͏Α͏ͳςετΛ࣮ߦ͍ͨ͠ 0QFO4UBDLQSPWJEFSΛͬͨ5FSSBGPSNͰͷΦϖϨʔγϣϯ͕ߦ͑Ε0,ɺͱ͍͏ͷͰ࠷ॳྑ͍͔
Γ͍ͨ͜ͱ͕ࢁ͋Δʜʂ
ؒΛื͍ͬͯ·͢ ΫϥυΞʔΩςΫνϟ্Ͱӡ༻͞Ε͍ͯΔαʔϏεΛࠓ෩ʹվળ͍͖͍ͯͨ͠ 0QFO4UBDLࣗମͷӡ༻ɺվળΛ͍͖͍ͯͨ͠ 4%/ 4%4 4PGUXBSF%FpOFE/FUXPSL 4UPSBHFΛ͍͖͍ͬͯͨ
ϖύϥϯνϣϯ͔Β͓ؾܰʹͲ͏ͧʂ IUUQTQFQBCPDPNSFDSVJUQFQBMVODIFPO