ਗ਼ਫ܄ʢ͠Έ͍͓ͣ͞ʣ!JTBPTIJNJ[V ॴଐ w גࣜձࣾϛΫγΟ7BOUBHFελδΦΈͯͶࣄۀ෦։ൃάϧʔϓ43&νʔϜ ܦྺ w 4*FSͰؒɺडୗ։ൃɺϓϩμΫτ։ൃΛܦݧޙɺʹגࣜձࣾϛΫγΟೖࣾ w 4/4ӡ༻ɺϞϯελʔετϥΠΫͷ43&ΛܦͯɺݱࡏʮՈΞϧόϜΈͯͶʯͷ43& ݄"844VNNJU5PLZP ίϯςφҠߦͬͯ͜ΜͳʹେมʁʙʮՈΞϧόϜΈͯͶʯΛࢧ͑ΔΠϯϑϥͷཪଆʙ w ݄43&/&95 43&͕ηΩϡΞͳ8FCγεςϜΛߏஙɺҡ࣋͢ΔͨΊʹΕΔ͜ͱͳʹ͔ w ͦͷଞʮ43&5FDI5BMLTʯʮICTUVEZʯʮ*OUFSOFU8FFLʯ 2 ࣗݾհ
ʮΈͯͶϓϨϛΞϜʯΛ݄ϦϦʔε ֹ݄՝ۚܕͷ༗ྉϓϥϯ ֹ݄ԁ w ϒϥβ͔ΒࣸਅಈըͷΞοϓϩʔυ͕Մೳʹ w ඵಈըͷຖ݄ؒ൛৴ w શ͕ૹྉແྉʢՈશһʣ w ެ։ൣғΛࡉ͔͘ઃఆՄೳ w ಈըΞοϓϩʔυͷ੍࣌ؒݶΛԆ͔Β ΈͯͶΛ͓͍ͷํɺͥͻ͓ࢼ͍ͩ͘͠͞ʂ 7 ʮՈΞϧόϜΈͯͶʯʹ͍ͭͯ
12 AWS Cloud AWS OpsWorks Availability Zone VPC Availability Zone Availability Zone AWS Cloud Availability Zone VPC Availability Zone Availability Zone Amazon Elastic Kubernetes Service Amazon Elastic Container Registry Auto Scaling group EC2 Instances EC2 Instances EC2 Instances Kubernetes Nodes Kubernetes Nodes Kubernetes Nodes Classic Load Balancer Application Load Balancer Before After ΈͯͶͷΠϯϑϥ,VCFSOFUFTʢ"NB[PO&,4ʣͷҠߦத ΈͯͶʹ͓͚ΔγεςϜͷ֓ཁͱ՝
14 ैདྷͷγεςϜߏ w ΫϥΠΞϯτ w J04ɺ"OESPJEɺ1$ϒϥβʢҰ෦ػೳʣ w αʔόʔ w ͯ͢"84 w 3VCZPO3BJMTΞϓϦέʔγϣϯ w ΫϥΠΞϯτɾαʔόʔؒ3&45"1*ʢ$MPVE'SPOUܦ༝ʣ w σʔλϕʔε"NB[PO"VSPSB.Z42- w δϣϒΩϡʔʢ4JEFLJRʣΛͬͨඇಉظॲཧ w ࣸਅಈը"NB[PO4อଘʢΞοϓϩʔυμϯϩʔυ$MPVE'SPOUܦ༝ʣ w ΦʔέετϨʔγϣϯ"840QT8PSLTΛར༻ ΈͯͶʹ͓͚ΔγεςϜͷ֓ཁͱ՝
17 ैདྷͷӡ༻ w "840QT8PSLTͷ༷ʹґଘͨ͠ΦϖϨʔγϣϯ w "84ಠࣗͷ༷ͷѲ͕͍͠ɺυΩϡϝϯτΛݟͯΘ͔Βͳ͍͜ͱ͕͋Δɻ w αϙʔτ͍߹Θͤͳ͍ͱΘ͔Βͳ͍͜ͱ͋Δɻ w 8FC6*ʢϚωδϝϯτίϯιʔϧʣʹΑΔख࡞ۀʢ$-*"1*ૢ࡞Մೳʣ w ଐਓԽ͍͢͠ɺ࡞ۀ࿙Ε͕ى͖͍͢ɺखॱॻΛॻ͍ͯߋ৽͞Εʹ͍͘ɻ w Φʔτεέʔϧ7.ʢ&$ʣ୯Ґ w 7.ʢ&$ʣͷىಈ͕͍ʢϓϩϏδϣχϯάͱσϓϩΠͱབྷΉʣɻ w $IFGΛར༻ͨ͠ϓϩϏδϣχϯάɺσϓϩΠ w $PPLCPPL3FDJQFͷهड़͕ඞཁɺద༻͕͍ɻ w ΦϯσϚϯυλΠϓͷΠϯελϯεͷΈͷར༻ w εϙοτΠϯελϯεΛ׆༻͍ͨ͠ʢͰ͖ͳ͍Θ͚Ͱͳ͍͕ϋʔυϧ͕ߴ͍ʣɻ ΈͯͶʹ͓͚ΔγεςϜͷ֓ཁͱ՝
20 "NB[PO&,4ͱ w ݄ϦϦʔε w ,VCFSOFUFTͷ.BTUFSʢίϯτϩʔϧϓϨʔϯʣϊʔυΛ"84͕ཧɺఏڙ w ,VCFSOFUFTͷΤίγεςϜɺ044πʔϧ͕ͦͷ··͑Δ w "84ͷ֤αʔϏεͱ࿈ܞͰ͖Δ w ຊ൪ڥͷϫʔΫϩʔυΛ࣮ߦͰ͖ΔΑ͏ʹઃܭ͞Ε͍ͯΔ w ࠓޙͷϩʔυϚοϓΛৗ࣌ެ։ IUUQTHJUIVCDPNBXTDPOUBJOFSTSPBENBQ w ݄ίϯτϩʔϧϓϨʔϯͷར༻ྉ͕ैདྷͷֹʹ "NB[PO&,4ʢ,VCFSOFUFTʣΛ͏͜ͱͰಘΒΕΔ͜ͱ
23 ैདྷͷӡ༻ w "840QT8PSLTͷ༷ʹґଘͨ͠ΦϖϨʔγϣϯ w ༷ͷѲ͕͍͠ɺυΩϡϝϯτΛݟͯΘ͔Βͳ͍͜ͱ͕͋Δɻ w αϙʔτ͍߹Θͤͳ͍ͱΘ͔Βͳ͍͜ͱ͋Δɻ "NB[PO&,4ʢ,VCFSOFUFTʣΛ͏͜ͱͰಘΒΕΔ͜ͱ ,VCFSOFUFTʹ͓͚Δӡ༻ w ,VCFSOFUFTͷ༷ʹґଘͨ͠ΦϖϨʔγϣϯ w υΩϡϝϯτΛݟͯɺιʔείʔυΛಡΜͰཧղͰ͖Δɻ w ࣄྫϊϋ͕ٸ૿தɻ w .FFUVQΧϯϑΝϨϯεͷίϛϡχςΟ͕ଟ͋͘Δɻ
24 ैདྷͷӡ༻ w 8FC6*ʢϚωδϝϯτίϯιʔϧʣʹΑΔख࡞ۀʢ$-*"1*ૢ࡞Մೳʣ w ଐਓԽ͍͢͠ɺ࡞ۀ࿙Ε͕ى͖͍͢ɺखॱॻΛॻ͍ͯߋ৽͞Εʹ͍͘ɻ "NB[PO&,4ʢ,VCFSOFUFTʣΛ͏͜ͱͰಘΒΕΔ͜ͱ ,VCFSOFUFTʹ͓͚Δӡ༻ w $-*ɺ*OGSBTUSVDUVSFBT$PEFɺ$*0QTɺ(JU0QT͕جຊ w ͞·͟·ͳπʔϧ͕༻ҙ͞Ε͍ͯΔɻ৽ͨͳπʔϧͲΜͲΜੜ·Ε͍ͯΔɻ w ίʔυԽʹΑͬͯଐਓԽΛ࠷খݶʹɻखॱॻ࠷ݶʹɻ
25 ैདྷͷӡ༻ w Φʔτεέʔϧ7.ʢ&$ʣ୯Ґ w 7.ʢ&$ʣͷىಈ͕͍ʢϓϩϏδϣχϯάͱσϓϩΠͱབྷΉʣ "NB[PO&,4ʢ,VCFSOFUFTʣΛ͏͜ͱͰಘΒΕΔ͜ͱ ,VCFSOFUFTʹ͓͚Δӡ༻ w Φʔτεέʔϧίϯςφ͘͠7.ʢ&$ʣ୯Ґ w 7.ͷϦιʔεΛޮྑ͍͘ɺߴʹίϯςφΛىಈͰ͖Δɻ w 7.୯ҐͷεέʔϦϯάɺ࠷খݶͷ7.Λ͏͜ͱͰैདྷΑΓߴʹɻ
26 ैདྷͷӡ༻ w $IFGΛར༻ͨ͠ϓϩϏδϣχϯάɺσϓϩΠ w $PPLCPPL3FDJQFͷهड़͕ඞཁɺద༻͕͍ "NB[PO&,4ʢ,VCFSOFUFTʣΛ͏͜ͱͰಘΒΕΔ͜ͱ ,VCFSOFUFTʹ͓͚Δӡ༻ w %PDLFSpMFͷ༰Λϕʔεʹ͋Β͔͡ΊΠϝʔδΛ࡞͠ɺΠϝʔδΛσϓϩΠ w ΠϝʔδΛͦͷ··ར༻Ͱ͖ΔͨΊϓϩϏδϣχϯάෆཁɻ w σϓϩΠ࣌ؒͷ΄ͱΜͲΠϝʔδͷμϯϩʔυ࣌ؒʢΩϟογϡՄೳʣɻ
27 ैདྷͷӡ༻ w ΦϯσϚϯυλΠϓͷΠϯελϯεͷΈͷར༻ w εϙοτΠϯελϯεΛ׆༻͍ͨ͠ʢͰ͖ͳ͍Θ͚Ͱͳ͍͕ϋʔυϧ͕ߴ͍ʣɻ "NB[PO&,4ʢ,VCFSOFUFTʣΛ͏͜ͱͰಘΒΕΔ͜ͱ ,VCFSOFUFTʹ͓͚Δӡ༻ w εϙοτΠϯελϯεΛੵۃతʹར༻Ͱ͖Δ w ίϯςφσΟεϙʔβϒϧʢഇغՄೳʣͰ͋Δ͖ͱ͍͏ݪଇɻ w εϙοτΠϯελϯεͷར༻ʹΑͬͯେ෯ͳίετݮʹͭͳ͕Δɻ
31 ,VCFSOFUFTʹ͓͚Δӡ༻ͷͭΒΈͷҰྫʢݸਓࠩ͋Γ·͢ʣ w πʔϧख๏ͷબఆ w Ұൠతͳਖ਼ղͨͿΜ͋Γ·ͤΜɻϫʔΫϩʔυϢʔεέʔε࣍ୈɻ w σϓϩΠɺϩάసૹɺࢹɾϞχλϦϯάͳͲଟछଟ༷ͳπʔϧ͕ଘࡏɻ w πʔϧࣗମͷΞοϓσʔτසൟʹ͓͜ͳΘΕΔɻ w ,VCFSOFUFTͷਐԽʢΞοϓσʔτʣͷै w ϲ݄ʹճ͘Β͍ͷසͰΞοϓσʔτ͕ϦϦʔε͞Ε·͢ɻ w ֶश͢Δ͜ͱͦΕͳΓʹ͋Δ w શ෦Λֶश͢Δඞཁ͋Γ·ͤΜɻ "NB[PO&,4ʢ,VCFSOFUFTʣΛ͏͜ͱͰಘΒΕΔ͜ͱ
34 ຊʹ,VCFSOFUFTͰ͔͠ղܾͰ͖ͳ͍͔ w ຊ࣭తͳ՝Λ࠶ݟͭΊͯΈΔ w ଞʹબࢶ͕ͳ͍͔Ͳ͏͔ w "84ͷ߹ w "NB[PO&$4ʢ"84ಠࣗͷίϯςφαʔϏεʣ w "84-BNCEBʢαʔόʔϨεʣ w "NB[PO&$"VUP4DBMJOH(SPVQTͳͲ w αʔϏεϓϩμΫτͷنɺɺϫʔΫϩʔυʹ߹͍ͬͯΔ͔Ͳ͏͔ w ίϯςφԽ͢ΔલʹΔ͖͜ͱ͕͋Δͷ͔Ͳ͏͔ w ͨͱ͑ɺεςʔτϨεͳઃܭɺ࣮͕ٻΊΒΕΔ ,VCFSOFUFTΛಋೖ͢Δલʹߟ͍͑ͨ͜ͱ
36 ৫ͷจԽاۀͷϫʔΫϑϩʔͱ߹͍ͬͯΔ͔ w ߴසͳσϓϩΠ w ຖσϓϩΠͰ͖Δڥͭ͘Γ w ߴසͳΞοϓσʔτ w ݹ͘ͳͬͨιϑτΣΞΛར༻͠ଓ͚ΔϦεΫ w ࣗಈԽ͞ΕͨϢχοτςετ w ͨΓલʹॻ͔Εɺ$*πʔϧʹΑͬͯࣗಈͰ࣮ߦ͞Ε͍ͯΔ w ࢦ͖͢4-"ʢ͕͋ΕʣΛߟ͑Δ w ͋Γ͑ͳ͍ w αʔϏεɾϓϩμΫτΦʔφʔͷཧղ w ͦΕͳΓͷ࣌ؒίετΛඞཁͱ͢Δ͜ͱʹରͯ͠ͷཧղ ,VCFSOFUFTΛಋೖ͢Δલʹߟ͍͑ͨ͜ͱ
38 ࣗνʔϜͰӡ༻Ͱ͖Δ͔Ͳ͏͔ w ͳΔ͘ଐਓతʹͳΒͳ͍ӡ༻ w ʮཧղ͍ͯ͠·ͤΜʯʮΘ͔Γ·ͤΜʯͷঢ়ଶΛͰ͖Δ͚ͩ࡞Βͳ͍ w ,VCFSOFUFTͷਐԽมԽͷΩϟονΞοϓɺै w Ξοϓσʔτඞਢ w ɺΞοϓσʔτʹΑͬͯಘΒΕΔͷɺແ͘ͳΔͷΛཧղ͢Δඞཁ͕͋Δ w ϞχλϦϯάࢹͷମ੍ɺো࣌ͷମ੍ w ࣗͨͪͰମ੍Λ࡞ΕΔ͔ w ൃੜͨ͠ͷݪҼΛௐࠪͰ͖Δ͔ w ඞཁͳπʔϧɺ4BB4ͳͲΛಋೖͯ͠ɺՄ؍ଌੑΛ্Ͱ͖Δମ੍͔ ,VCFSOFUFTΛಋೖ͢Δલʹߟ͍͑ͨ͜ͱ
w ,VCFSOFUFTͰղܾͰ͖Δ՝ଟ͍͕ɺ,VCFSOFUFTҎ֎ͷબࢶ͋Δɻ w ͯ͢ʹͱͬͯڞ௨ͷਖ਼ղͱ͍͏ͷͳ͍ʢۜͷؙͳͲͳ͍ʣɻ w ࣗͷαʔϏεɾϓϩμΫτʹϑΟοτ͢Δ͔Ͳ͏͔ɻ w ͬͯΈͳ͍ͱΘ͔Βͳ͍͜ͱଟ͍ɻ w ΑΓখنͳͷΛ͍αΠΫϧͰଟ͘τϥΠͯ͠ɺ࠷దղΛ୳͢ɻ w ։ൃɺӡ༻͢Δ৫ͱͷ૬ੑेʹߟྀ͢Δඞཁ͕͋Δɻ w ະདྷӬ߷͑Δศརπʔϧͱ͍͏ͷͳ͍ɻ w มԽʹରԠ͍͢͠৫࡞ΓίʔυΛॻ͘͜ͱ͕େࣄɻ 40 ·ͱΊ