JAWS Days 2019でのJAWS-UG CLI専門支部枠 "AWS CLIではじめるコマンドラインライフ 〜 正しい「運用自動化」への第一歩" の発表資料です。
https://jawsdays2019.jaws-ug.jp/session/2216/
(運用設計ラボ合同会社 波田野裕一)
Operation Labӡ༻ઃܭϥϘӡ༻ઃܭϥϘ߹ಉձࣾ"84$-*Ͱ͡ΊΔίϚϯυϥΠϯϥΠϑ1JAWS-UG CLICLIઐࢧ෦γχΞΞʔΩςΫτా༟Ұʙਖ਼͍͠ʮӡ༻ࣗಈԽʯͷୈҰา
View Slide
Operation Labӡ༻ઃܭϥϘ+"846($-*ઐࢧ෦2
• +"846(ॳͷϓϩμΫτઐࢧ෦ ࣗশ• ڵຯରɺ6OJpFE"84$-*• "84"1*-BNCEBΛؚΉ• ઃཱ• "844VNNJU%BZ• ։࠵ճ• ϋϯζΦϯճ+"846($-*ઐࢧ෦
Operation Labӡ༻ઃܭϥϘ+"846($-*ͷ׆ಈ• ษڧձ• جຊతʹִि݄༵ʹ։࠵ɻ• ձ͓͓ΉͶ$P&EP͞Μ ձར༻අԁ• Ξϧίʔϧ࣋ͪࠐΈ0,• $-*ϋϯζΦϯ͕ϝΠϯɻ-5ܴɻ• ͨ·ʹʮ͘͘ձ ॳ৺ऀܴʯ։࠵• ࠙ձجຊతʹࣗओ։࠵Ͱɻ ͨͩ͠Նʮܰ͘Ұഋʯʜ• ผ໊+"846(స৬ઐࢧ෦• $-*Λ֮͑ͯస৬ͨ͠ਓଟ
Operation Labӡ༻ઃܭϥϘӡ༻ࣗಈԽͬͯ·͔͢5
Operation Labӡ༻ઃܭϥϘ6ʮӡ༻ࣗಈԽʯΑΓʮӡ༻ߏԽʯͷະདྷ·ͣͪΌΜͱͨ͠ ߏతͳखॱॻΛॻ͜͏࣍ɺۀϑϩʔΛநԽ ϞσϧԽ͠Α͏ࣗಈԽͦͷઌͷͩssmjp 201712 ʮӡ༻ࣗಈԽɺෆ߹ͳਅ࣮ʯ
Operation Labӡ༻ઃܭϥϘ43&ຊͷา͖ํ Ұ൪େࣄͳ͜ͱ࣮Ұ࣌ͷͷͰ͕͢ɺυΩϡϝϯτԽ͞ΕͨཧʹܭΓΕͳ͍Ձ͕͋Γ·͢ɻ͜ͷ͔࣠ΒͿΕͳ͍͜ͱ͕େࣄssmjp 201712 ʮӡ༻ݱʹ͓͚ΔSREຊͷʮਖ਼͍͠ʯಡΈํʯ
Operation Labӡ༻ઃܭϥϘ8(6*࡞ۀ͔Βଔۀ͠Α͏ʮӡ༻ࣗಈԽʯ͢Δલʹຊͷ͓
Operation Labӡ༻ઃܭϥϘ"84ʹ͓͚Δɺ(6*ͱ$-*ͷࠩҟΛߟ͑Δ9
Operation Labӡ༻ઃܭϥϘ(6*ָͪΜ"84ϚεͰϙνϙνͯ͠ΕߏஙͰ͖ͯศརͳΜͱͳ͘ཧղ͍ͯ͠Εɺ͕ͭͭͳ͘ߏஙྃ
Operation Labӡ༻ઃܭϥϘ(6*ָͪΜͰ͋Δಥવى͜Δɺ6*վగࠞཚ͢Δݱɺ͍͔ͳ͍खॱॻվగ4ͷ৽6*
Operation Labӡ༻ઃܭϥϘखॱॻͷͱ࣭ $-*WT(6*(6*खॱ࡞$-*खॱͷഒͷखؒ$-*खॱͷͷ࣭͋ͨΓͷ࣭$-*͕ഒͷࠜڌͳ͠ൃදऀͷओ؍
Operation Labӡ༻ઃܭϥϘ13ͱ͍͏͜ͱͰ
Operation Labӡ༻ઃܭϥϘӡ༻ࣗಈԽΛߟ͑Δલʹ14
Operation Labӡ༻ઃܭϥϘίϚϯυ"1*ͳͲϨϕϧͰػೳΛཧղͯ͠࡞ۀӡ༻ࣗಈԽΛߟ͑ΔલʹͳΜͱͳ͘ཧղ͍ͯ͠Εɺ͕ͭͭͳ͘࡞ۀྃ(6*$-*6*վగͰࠞཚ͢Δݱɺ͍͔ͳ͍खॱॻվగ6*վగͷӨڹͳ͠ɺ"1*վగͰ৽ػೳΛਖ਼֬ʹѲظతͳֶशޮՌʹେ͖ͳࠩҰาҰา࣮֬ʹݟ͕ੵΈ্͕͍ͬͯ͘·ͣʮ(6*࡞ۀʯΛਐΊΑ͏
Operation Labӡ༻ઃܭϥϘӡ༻ࣗಈԽΛߟ͑Δલʹ(6*Λ• ࡞ۀ୯ҐͷΓग़͠ํ͕Β͖͍ͭ͢ɻ• ΦϒδΣΫτࢦϓϩάϥϛϯάͷجૅΛΒͳ͍ͱมͳίʔυʹͳΔɻ อकͰ͖ͳ͘ͳΔ• 6*վగͰಈ͔ͳ͘ͳΔ࣮ɺ͍͔ͳ͍ίʔυमਖ਼ɻͦͦ(6*࡞ۀͷίʔυԽൺֱత͍͠
Operation Labӡ༻ઃܭϥϘ17(6*࡞ۀ͔Βଔۀ͠Α͏ʮӡ༻ࣗಈԽʯ͢Δલʹຊͷ͓
Operation Labӡ༻ઃܭϥϘ18$-*Ͱߦ͜͏$PNNBOE-JOF*OUFSGBDF
Operation Labӡ༻ઃܭϥϘͳͥɺӡ༻ࣗಈԽલʹ$-*͔19
ʮӡ༻ࣗಈԽʯͷܦݧଇOperation Labӡ༻ઃܭϥϘ20ޭͨࣗ͠ಈԽ• ࣗಈԽͷޮՌʹ͍ͭͯɺCFGPSFBGUFS͕໌֬ͳͷ• ܧଓతʹϝϯςφϯεͰ͖ΔΑ͏ʹૄ݁߹ʹ࡞ͨ͠ͷ• తΛ໌֬ʹ͠ɺτοϓμϯࣜʹ࡞ͨ͠ͷɻ• खॱॻʹԊͬͯ࡞ͨ͠ͷ• खۙͳͱ͜Ζ͔ΒϘτϜΞοϓࣜʹ࡞ͨ͠ͷɻ• ʮࣗಈԽʯΛతʹͨ͠ͷɻ ਅͷత͕໎ͨ͠• ʮເͷπʔϧʯΛࢦͨ͠ͷɻࣦഊͨࣗ͠ಈԽใॲཧֶձυΩϡϝϯτίϛϡχέʔγϣϯݚڀୈճݚڀձൃදࢿྉ͔Β
Operation Labӡ༻ઃܭϥϘ• खॱॻϕʔεͷࣗಈԽଞਓͰཧղ͍͢͠• ࡞ۀखॱΛྲྀΕ࡞ۀԽ͠ɺదʹཧɾׂ͢Δ͜ͱͰΘ͔Γ͘͢ͳΔɻ• खॱॻϕʔεͷࣗಈԽϞϊϦγοΫԽΛආ͚͍͢• ͭͷ͜ͱΛ্खʹͰ͖ΔখཻͷखॱॻΛ࡞͠ɺखॱ ༷ʹैͬͯࣗಈॲཧΛ࣮͢Δ͜ͱͰɺϞϊϦγοΫ େ͖ͳҰմԽΛආ͚Δ͜ͱ͕༰қͰ͋Δɻ• खॱॻϕʔεͷࣗಈԽ8FC"1*ͱ૬ੑ͕ྑ͍• ैདྷॲཧσʔλΛϝϞϦ͢͠Δ͜ͱ͕ओྲྀͰɺϑΝΠϧ͠ʮ֨ѱ͍ʯͱ͞Ε͖ͯͨɻ• 8FC"1*ͷใୡϑΝΠϧ͠ 1045ʹͳΔͨΊɺΉ͠ΖϑΝΠϧ͠ͷํ͕ॊೈʹ8FC"1*࿈ܞͰ͖ΔΑ͏ʹͳ͖ͬͯͨɻ• ࡞ۀؒʹ͓͚Δσʔλड͚͠ΛϑΝΠϧ͢͠Δ͜ͱͰɺ8FC"1*࿈ܞʹΑΔࣗಈԽΛࢹʹೖΕͨखॱΛ࣮ݱ͢Δ͜ͱ͕Ͱ͖ΔɻใॲཧֶձυΩϡϝϯτίϛϡχέʔγϣϯݚڀୈճݚڀձൃදࢿྉ͔ΒखॱΛߏԽ͔ͯ͠ΒࣗಈԽ͢Δ
Operation Labӡ༻ઃܭϥϘखॱΛ$-*Խ͔ͯ͠ΒࣗಈԽ͢Δ• $-*ϕʔεͷࣗಈԽଞਓͰཧղ͍͢͠• ࡞ۀखॱΛྲྀΕ࡞ۀԽ͠ɺదʹཧɾׂ͢Δ͜ͱͰΘ͔Γ͘͢ͳΔɻ• $-*ϕʔεͷࣗಈԽϞϊϦγοΫԽΛආ͚͍͢• ͭͷ͜ͱΛ্खʹͰ͖ΔখཻͷεΫϦϓτΛ࡞͠ɺखॱ ༷ʹैͬͯϑϩʔॲཧΛ࣮͢Δ͜ͱͰɺϞϊϦγοΫ େ͖ͳҰմԽΛආ͚Δ͜ͱ͕༰қͰ͋Δɻ• $-*ϕʔεͷࣗಈԽ8FC"1*ͱ૬ੑ͕ྑ͍• ैདྷॲཧσʔλΛϝϞϦ͢͠Δ͜ͱ͕ओྲྀͰɺϑΝΠϧ͠ʮ֨ѱ͍ʯͱ͞Ε͖ͯͨɻ• 8FC"1*ͷใୡϑΝΠϧ͠ 1045ʹͳΔͨΊɺΉ͠ΖϑΝΠϧ͠ͷํ͕ॊೈʹ8FC"1*࿈ܞͰ͖ΔΑ͏ʹͳ͖ͬͯͨɻ• ࡞ۀؒʹ͓͚Δσʔλड͚͠ΛϑΝΠϧ͢͠Δ͜ͱͰɺ8FC"1*࿈ܞʹΑΔࣗಈԽΛࢹʹೖΕͨखॱΛ࣮ݱ͢Δ͜ͱ͕Ͱ͖Δɻ
Operation Labӡ༻ઃܭϥϘ"84$-*Λཧղ͢Δ23
Operation Labӡ༻ઃܭϥϘ"84αʔϏε"1*ͷू߹ମ"84શͯͷػೳΛ"1*Ͱఏڙ͍ͯ͠Δʮ"84Λਅʹཧղ͢Δʯͱ"84"1*ͷಇ͖Λཧղ͢Δ͜ͱϚωδϝϯτίϯιʔϧ"1*ૢ࡞ΛӅณԽ͍ͯ͠Δ ॳ৺ऀ͚
Operation Labӡ༻ઃܭϥϘʮ"84Λਅʹཧղ͢Δʯͱ25"84"1*ͷಇ͖Λཧղ͢Δ͜ͱ
Operation Labӡ༻ઃܭϥϘ26"84$-*Λ͑ެ։͞Ε͍ͯΔ"84"1*ͷ΄΅શͯΛૢ࡞Ͱ͖ΔҰ෦ɺྫ֎͋Γ·͢
Operation Labӡ༻ઃܭϥϘ"846OJpFE$-*• "84ެࣜίϚϯυϥΠϯΠϯλϑΣʔε• Ҏલ͔Β͋ͬͨݸผϓϩμΫτΛ౷Ұͨ͠ͷɻ• $-*ͷϦϦʔε΄΅࠷ɻ िճఔͷϦϦʔε• 1ZUIPOϕʔε• #PUPDPSFϥΠϒϥϦΛόοΫΤϯυͰར༻• αʔϏεʹରԠ ࣌• جຊతʹαʔϏείϚϯυ ྫBXTFD• ͭͷαʔϏεͰෳͷίϚϯυ͕͋Δ߹ ྫTTBQJ
Operation Labӡ༻ઃܭϥϘ"84$-*ͷ֓ཁBXTTBQJMJTUPCKFDUTCBDLFUίϚϯυ αϒίϚϯυ ύϥϝʔλαʔϏε͍ͭ͋͘ΔͰ͠ΐ͏αϒίϚϯυ"1*ΞΫγϣϯ
Operation Labӡ༻ઃܭϥϘ"84$-*ͷ֓ཁBXTTBQJMJTUPCKFDUTCBDLFUίϚϯυ ύϥϝʔλ αϒίϚϯυ͍ͭ͋͘ΔͰ͠ΐ͏αϒίϚϯυαʔϏε "1*ΞΫγϣϯ ࣌
Operation Labӡ༻ઃܭϥϘ"84$-*ͷόʔδϣϯΞοϓिʙճ αʔϏε "1*ΞΫγϣϯਐ݄า࣌ਐาɻ ͰෳͷϦϦʔε͘Β͍݄݄ ࣌
Operation Labӡ༻ઃܭϥϘ"84$-*ͷ֓ཁ(6*ͰͰ͖ͳ͍͚Ͳ$-* "1*ͳΒͰ͖Δૢ࡞"1*ΞΫγϣϯ ࣌
Operation Labӡ༻ઃܭϥϘ݄݄͔͠͠ɺ৳ͼ͕͍͢͝ ࣌
Operation Labӡ༻ઃܭϥϘ༨ஊ"84$-*ͷ +"846($-*ͷ։࠵ͱൺֱ༧ ࣌
Operation Labӡ༻ઃܭϥϘ༨ஊ"84$-*ͷ +"846($-*ͷ։࠵ͱൺֱ ࣌
Operation Labӡ༻ઃܭϥϘ"84Λ$-*Ͱૢ࡞͢Δ35
Operation Labӡ༻ઃܭϥϘ"1*ϨϕϧͰػೳΛཧղͯ͠࡞ۀ"84ͷมߋ࡞ۀʹ(6*Θͳ͍ $-*Λ͏ࠜຊతͳֶशʹ"84$-*͕ΦεεϝɻͳΜͱͳ͘ཧղ͍ͯ͠Εɺ͕ͭͭͳ͘࡞ۀྃϚωδϝϯτίϯιʔϧ"84$-*6*վగͰࠞཚ͢Δݱɺ͍͔ͳ͍खॱॻվగ6*վగͷӨڹͳ͠ɺ"1*վగͰ৽ػೳΛਖ਼֬ʹѲظతͳֶशޮՌʹେ͖ͳࠩҰาҰา࣮֬ʹݟ͕ੵΈ্͕͍ͬͯ͘
Operation Labӡ༻ઃܭϥϘ37ॲཧ͕ӅณԽ͞Ε͍ͯΔͷͰVOEP͍ͨΜͦͦϚωίϯ 8FCͩͱ
Operation Labӡ༻ઃܭϥϘ38มߋࠩҟ͕࣮֬ʹΘ͔ΔͷͰ VOEPͰ͖Δ"84$-*ͳΒ
Operation Labӡ༻ઃܭϥϘ39ରԠ͍ͯ͠ΔαʔϏε$-*ͷҎԼͪͳɺ$MPVE'PSNBUJPO$-*$GO ࣌
OpsLearnӡ༻ઃܭϥʔχϯά"84$-*ͷಋೖ40
OpsLearnӡ༻ઃܭϥʔχϯά"84$-*ͷΠϯετʔϧ41• "NB[PO-JOVYͰಋೖࡁ• "NB[PO-JOVYҎ֎Ͱɺ1*1ͰΠϯετʔϧ• TVEPQJQJOTUBMMBXTDMJ 04ʹΠϯετʔϧ͢Δ߹• QJQJOTUBMMBXTDMJ 1ZUIPOWFOWڥͷ߹
OpsLearnӡ༻ઃܭϥʔχϯά"84$-*ͷόʔδϣϯ֬ೝ42BXTWFSTJPOBXTDMJ1ZUIPO-JOVYBN[[email protected]݁Ռྫ
OpsLearnӡ༻ઃܭϥʔχϯά"84$-*ͷߋ৽ ࠷৽൛43• "84$-*Λ࠷৽൛ʹ͢Δ߹VQHSBEF͠·͢ɻ• TVEPQJQJOTUBMM6BXTDMJ 04্ͷ"84$-*ͷ߹• QJQJOTUBMM6BXTDMJ 1ZUIPOWFOWڥͷ߹BXTDMJ1ZUIPO-JOVYBN[[email protected]݁ՌྫBXTWFSTJPOͰόʔδϣϯΛ֬ೝ͠·͢ɻ
OpsLearnӡ༻ઃܭϥʔχϯά"84$-*ͷߋ৽ ಛఆόʔδϣϯ44• "84$-*Λಛఆόʔδϣϯʹ͢Δ߹όʔδϣϯࢦఆ͠·͢ɻ Λಋೖ͢Δྫ• TVEPQJQJOTUBMMBXTDMJ 04্ͷ"84$-*ͷ߹• QJQJOTUBMMBXTDMJ 1ZUIPOWFOWڥͷ߹BXTDMJ1ZUIPO-JOVYBN[[email protected]݁ՌྫBXTWFSTJPOͰόʔδϣϯΛ֬ೝ͠·͢ɻ
OpsLearnӡ༻ઃܭϥʔχϯά"84$-*ͷར༻ํ๏ جຊ45
OpsLearnӡ༻ઃܭϥʔχϯά"84$-*ͷར༻ํ๏46ϋΠϨϕϧίϚϯυ"1*ίϚϯυ6/*9ϥΠΫͳग़ྗ+40/ग़ྗύϥϝʔλࢦఆ+40/ࢦఆҾࢦఆ6/*9ϥΠΫͳೖྗ6/*9ϥΠΫͳೖྗ+40/ʹΑΔೖྗग़ྗܗࣜʹΑΔҧ͍ ೖྗܗࣜʹΑΔҧ͍4ͷΈରԠWશαʔϏεରԠ
OpsLearnӡ༻ઃܭϥʔχϯάར༻ํ๏ϋΠϨϕϧίϚϯυ47ϋΠϨϕϧίϚϯυ6/*9ϥΠΫͳग़ྗҾࢦఆ6/*9ϥΠΫͳೖྗग़ྗܗࣜʹΑΔҧ͍ ೖྗܗࣜʹΑΔҧ͍4ͷΈରԠWBXTTMTTCVDLFUίϚϯυ αϒίϚϯυ Ҿ4όέοτΛࢦఆ͢Δͱ͖TΛόέοτ໊ͷલʹ͚·͢ɻ
OpsLearnӡ༻ઃܭϥʔχϯάར༻ํ๏"1*ίϚϯυ ύϥϝʔλࢦఆ48"1*ίϚϯυ+40/ग़ྗύϥϝʔλࢦఆ6/*9ϥΠΫͳೖྗग़ྗܗࣜʹΑΔҧ͍ ೖྗܗࣜʹΑΔҧ͍શαʔϏεରԠBXTTBQJMJTUPCKFDUTCBDLFUIPHFίϚϯυ αϒίϚϯυ ύϥϝʔλ
OpsLearnӡ༻ઃܭϥʔχϯά+40/ࢦఆར༻ํ๏"1*ίϚϯυ +40/ࢦఆ49"1*ίϚϯυ+40/ग़ྗ +40/ʹΑΔೖྗग़ྗܗࣜʹΑΔҧ͍ ೖྗܗࣜʹΑΔҧ͍શαʔϏεରԠBXTTBQJDMJJOQVUKTPOpMFpMFOBNFίϚϯυ +40/ϑΝΠϧHFOFSBUFDMJTLFMFUPOΦϓγϣϯͰςϯϓϨʔτ͕ੜ͞Ε·͢ɻ
OpsLearnӡ༻ઃܭϥʔχϯά"84$-*ͷར༻ํ๏ ࣮ફ50
Operation Labӡ༻ઃܭϥϘ࣮ફͷୈҰาԿͱ͋ΕެࣜϦϑΝϨϯε51ϦϑΝϨϯε͓͢͢ΊͪΐͬͱFYBNQMFগͳΊͰ͕͢ɺৄࡉʹॻ͍ͯ͋ΔͷͰɺੋඇ·ΊʹಡΈ·͠ΐ͏IUUQTEPDTBXTBNB[PODPNDMJMBUFTUSFGFSFODF
࣮ફͷୈೋา ॏཁ"84$-*ͷิػೳ52OpsLearnӡ༻ઃܭϥʔχϯάίϚϯυ໊ͱύϥϝʔλ໊ͷλϒิ͕Մೳ[email protected]CBTIͷ߹dCBTISDʹهड़͓ͯ͘͠ͱɺCBTIىಈ࣌ʹࣗಈ࣮ߦ͞Ε·͢ɻ
࣮ફͷୈೋาλϒิͰֶशՃ53OpsLearnӡ༻ઃܭϥʔχϯάͱΓ͋͑ͣ$-*Ͱλϒิ͍ͯ͠Ε"1*ͰͰ͖Δ͜ͱ͕ͳΜͱͳ͘ݟ͑ͯ͘ΔίϚϯυ໊ͱύϥϝʔλ໊ͷλϒิ͕Մೳ
OpsLearnӡ༻ઃܭϥʔχϯά࣮ફͷୈࡾา"84$-*Ͱڧྗͳ+".&41BUI54• ΫΤϦʔ RVFSZ• ग़ྗ݁Ռ͔ΒಛఆͷϊʔυΛऔΓग़͢͜ͱ͕Ͱ͖Δɻ• K+".&41BUIදهΛ͏͜ͱ͕Ͱ͖Δɻ KRΑΓΦεεϝ• EFTDSJCFܥͷαϒίϚϯυͷpMUFSΦϓγϣϯͰߜΓࠐΈΛͯ͠ɺͦͷ݁Ռ͔ΒRVFSZΦϓγϣϯͰϊʔυΛऔΓग़͢ɻ มऔΓࠐΈ࣌ʹଟ༻ຯʹ࠷ڧ͔
Operation Labӡ༻ઃܭϥϘ·ͱΊ"84$-*ͰҰาઌ55
Operation Labӡ༻ઃܭϥϘ56$-*Ͱߦ͜͏$PNNBOE-JOF*OUFSGBDFຊͷϙΠϯτ(6*࡞ۀ͔Βଔۀ͠Α͏ʮӡ༻ࣗಈԽʯ͢Δલʹ
Operation Labӡ༻ઃܭϥϘ57$PNNBOE-JGF*OUFSGBDFຊͷϙΠϯτ$-*Ͱస৬ SZ
Operation Labӡ༻ઃܭϥϘ58IUUQXXXPQFSBUJPOMBCDPKQOperationLabӡ༻ઃܭ
+"846($-*ઐࢧ෦ ि໌͚݄༵"84$-*ڥ$MPVE͕Φεεϝ࣮ࡍʹߏங͢ΔϋϯζΦϯΛΓ·͢ɻ "84ॳ৺ऀܴ
Operation Labӡ༻ઃܭϥϘʮӡ༻ࣗಈԽʯͷجຊͷ 60ਖ਼͍͠ʮӡ༻ࣗಈԽʯͷߟ͑ํΛΊΔਓʹࢲͳΓ͍ͨ