SONIC JAWS 2020 ( https://jawssonic2020.jaws-ug.jp/ )での発表資料です。 たくさんのツイートありがとうございました。 #jawssonic2020
[JAWS-UG CLI専門支部][9/12(土) 20:20 ~ 20:40]長く使えるAWSスキルを効率良く身に付けよう https://jawssonic2020.jaws-ug.jp/2020/08/27/post-345/
(運用設計ラボ合同会社 波田野裕一)
Operation Labӡ༻ઃܭϥϘӡ༻ઃܭϥϘ߹ಉձࣾ͑͘Δ"84εΩϧΛޮྑ͘ʹ͚Α͏1γχΞΞʔΩςΫτా༟ҰJAWS-UG CLICLIઐࢧ෦
View Slide
Operation Labӡ༻ઃܭϥϘ+"846($-*ઐࢧ෦2• +"846(ॳͷઐࢧ෦• ڵຯରɺ6OJpFE"84$-*• "84"1*ΛؚΉ• ઃཱ• "844VNNJU%BZ• ։࠵ճ• ϋϯζΦϯճ"846(ੈք࠷ଟ։࠵
+"846($-*ͷ׆ಈOperation Labӡ༻ઃܭϥϘ3• ΦϑϥΠϯษڧձ ٳࢭத• جຊతʹִि݄༵ʹ։࠵ɻ• ձ͓͓ΉͶ$P&EP͞Μ ձར༻අԁ• Ξϧίʔϧ࣋ͪࠐΈ0,• $-*ϋϯζΦϯ͕ϝΠϯɻ-5ܴɻ• ͨ·ʹʮ͘͘ձ ॳ৺ऀܴʯ։࠵• ࠙ձجຊతʹࣗओ։࠵Ͱɻ ͨͩ͠Նʮܰ͘Ұഋʯʜ• ΦϯϥΠϯϋϯζΦϯ• ݄͔Βʮ෮शγϦʔζʯΛෆఆظ։࠵ɻ ճ• ผ໊+"846(స৬ઐࢧ෦• "84$-*Λ֮͑ͯస৬ͨ͠ਓଟ
ηογϣϯ֓ཁ"84ɺʹαʔϏεΛ։࢝͠ɺʹαʔϏεఔʹ͠·͕ͨ͠ɺݱࡏαʔϏεͱരൃతʹαʔϏεΛ૿͖͍ͯͯ͠·͢ɻຊηογϣϯͰɺαʔϏεͷٸͳ֦େͱ࣋ଓతͳมԽΛଓ͚Δ"84ͱٕज़తʹͲͷΑ͏ʹ͖߹͍͔ͬͯ͘ʹ͍ͭͯɺ"84$-*ΛΓޱʹհ͍͖ͯ͠·͢ɻOperation Labӡ༻ઃܭϥϘ4
Operation Labӡ༻ઃܭϥϘ༨ஊ"84$-*ͷ +"846($-*ͷ։࠵ͱൺֱ5
Operation Labӡ༻ઃܭϥϘͳͥ(6*Ͱ"84Λૢ࡞͢Δਓ͕ଟ͍ͷ͔6
Operation Labӡ༻ઃܭϥϘ(6*ָͪΜ"84ϚεͰϙνϙνͯ͠ΕߏஙͰ͖ͯศརͳΜͱͳ͘ཧղ͍ͯ͠Εɺ͕ͭͭͳ͘ߏஙྃͳͥ(6*Ͱ"84Λૢ࡞͢Δਓ͕ଟ͍ͷ͔
Operation Labӡ༻ઃܭϥϘ(6*ָͪΜͰ͋Δಥવى͜Δɺ6*վగࠞཚ͢Δݱɺ͍͔ͳ͍खॱॻվగ4ͷ৽6*ͳͥ(6*Ͱ"84Λૢ࡞͢Δਓ͕ଟ͍ͷ͔
ͳͥɺ(6*Λ͏ͷ͔Operation Labӡ༻ઃܭϥϘ9 ײతʹૢ࡞Ͱ͖Δ͔Β άϥϑΟΧϧͳදࣔΘ͔Γ͍͔͢Β ʮײతʯͰʮάϥϑΟΧϧʯ͔ͩΒ؆୯Α͘ݴΘΕΔʮ(6*Λ͏ʯཧ༝ͳͥ(6*Ͱ"84Λૢ࡞͢Δਓ͕ଟ͍ͷ͔
ͳͥɺ(6*Λ͏ͷ͔Operation Labӡ༻ઃܭϥϘ10 ײతʹૢ࡞Ͱ͖Δ͔Β άϥϑΟΧϧͳදࣔΘ͔Γ͍͔͢Β ʮײతʯͰʮάϥϑΟΧϧʯ͔ͩΒ؆୯ຊΑ͘ݴΘΕΔʮ(6*Λ͏ʯཧ༝ͳͥ(6*Ͱ"84Λૢ࡞͢Δਓ͕ଟ͍ͷ͔
(6*ʹฐ͋Δ ඇཧతOperation Labӡ༻ઃܭϥϘ11 ײతʹૢ࡞Ͱ͖Δ͔Βײʹґଘ͢Δ͜ͱͰɺཧཱͬͨίϯϐϡʔςΟϯάར༻Λ͠ͳ͘ͳͬͨՄೳੑ͕͋ΔʮͳΜͱͳ͘ʯʮͨͿΜʯͰ͢ΔίϯϐϡʔςΟϯάʮ*5ʯͳͷ͔దͳந֓೦ͱཧతਪ͕Ͱ͖ͳ͍ͱɺ*5ػೳ͠ͳ͍ɻΑ͘ݴΘΕΔʮ(6*Λ͏ʯཧ༝ͳͥ(6*Ͱ"84Λૢ࡞͢Δਓ͕ଟ͍ͷ͔
(6*ʹฐ͋Δ ඇߏతOperation Labӡ༻ઃܭϥϘ12 άϥϑΟΧϧͳදࣔΘ͔Γ͍͔͢ΒάϥϑΟΧϧͳදࣔใ͕աʹͳΓ͘͢ɺཧߏ͕Ѳͮ͠Β͍ͨΊɺຊ࣭తͳཧղΛ͛Δଆ໘͋Δɻաͳใ͔Βదͳऔࣺબਪ͕Ͱ͖ͳ͍ίϯϐϡʔςΟϯάʮ*5ʯͳͷ͔Α͘ݴΘΕΔʮ(6*Λ͏ʯཧ༝దͳந֓೦ͱཧతਪ͕Ͱ͖ͳ͍ͱɺ*5ػೳ͠ͳ͍ɻͳͥ(6*Ͱ"84Λૢ࡞͢Δਓ͕ଟ͍ͷ͔
ʮ(6*ૢ࡞͕؆୯ʯͱ͍͏ޡղOperation Labӡ༻ઃܭϥϘ13 ʮײతʯͰʮάϥϑΟΧϧʯ͔ͩΒ؆୯ʮάϥϑΟΧϧͰײతͳΒૢ࡞͕؆୯ʯͱ͍͏ޡղ͕͘ීٴ͍ͯ͠ΔͷͰཧղ͕͋;ͳ··ຊ࣭Λଊ͑Δػձ͕ಘΒΕͣʹίϯϐϡʔςΟϯά͍ͯ͠ΔʮͭΓʯʹͳΓ͕ͪΑ͘ݴΘΕΔʮ(6*Λ͏ʯཧ༝దͳந֓೦ͱཧతਪ͕Ͱ͖ͳ͍ͱɺ*5ػೳ͠ͳ͍ɻͳͥ(6*Ͱ"84Λૢ࡞͢Δਓ͕ଟ͍ͷ͔
Operation Labӡ༻ઃܭϥϘ14ͱ͍͏͜ͱͰը΅΅͞ΜʮͳΜͱͳ͘ʯʮͨͿΜʯͰ͢ΔίϯϐϡʔςΟϯάʮ*5ʯͳͷ͔աͳใ͔Βదͳऔࣺબਪ͕Ͱ͖ͳ͍ίϯϐϡʔςΟϯάʮ*5ʯͳͷ͔ཧղ͕͋;ͳ··ຊ࣭Λଊ͑Δػձ͕ಘΒΕͣʹίϯϐϡʔςΟϯά͍ͯ͠ΔʮͭΓʯʹͳΓ͕ͪಛʹຊ൪ڥͷߏஙɾมߋʹ͍ͭͯ
Operation Labӡ༻ઃܭϥϘʮ"84ͱͲ͏͖߹͍͍ͨʯͷ͔15
ʮ"84ͱͲ͏͖߹͍͍ͨʯͷ͔Operation Labӡ༻ઃܭϥϘ16(6*$-*ϓϩάϥϜίʔυ"84ίϯϐϡʔςΟϯάϦιʔεΦϖϨʔλʔʮ"84ͱͲ͏͖߹͍͍ͨʯͷ͔4%,
ݱࢹͰͷͦΕͧΕͷಛOperation Labӡ༻ઃܭϥϘ17(6*$-*ϓϩάϥϜίʔυϝϦοτॊೈੑσϝϦοτॊೈੑ෮ɾ࠶ݱੑ෮ɾ࠶ݱੑԽ͕ૣ͍Խ͕ૣ͍ظతͳֶशίετظతͳֶशίετظతͳֶशίετॊೈੑ ෮ɾ࠶ݱੑʮ"84ͱͲ͏͖߹͍͍ͨʯͷ͔ظతͳֶशίετʮ"84ͱͲ͏͖߹͍͍ͨʯͷ͔
ʮ"84Ͱख࡞ۀʯ͍ͨ͠ͱ͖Operation Labӡ༻ઃܭϥϘ18(6*$-*ϓϩάϥϜίʔυΦϖϨʔλʔख࡞ۀͰίʔυॻ͚ͳ͘ͳ͍Ͱ͕͢ ඇޮ"84ॊೈੑॊೈੑ ෮ɾ࠶ݱੑॊೈੑʮ"84ͱͲ͏͖߹͍͍ͨʯͷ͔
ʮ"84Ͱࣗಈॲཧʯ͍ͨ͠ͱ͖Operation Labӡ༻ઃܭϥϘ19(6*$-*ϓϩάϥϜίʔυίϯϐϡʔςΟϯάϦιʔε(6*ͰࣗಈԽͰ͖ͳ͘ͳ͍Ͱ͕͢ ඇޮ"84෮ɾ࠶ݱੑॊೈੑ ෮ɾ࠶ݱੑ෮ɾ࠶ݱੑʮ"84ͱͲ͏͖߹͍͍ͨʯͷ͔
͋ͳͨʮ"84ͱͲ͏͖߹͍͍ͨʯͰ͔͢Operation Labӡ༻ઃܭϥϘ20(6*$-*ϓϩάϥϜίʔυΦϖϨʔλʔʮίϯϐϡʔλʔʯͰख࡞ۀ͍ͨ͠ʮίϯϐϡʔλʔʯͰࣗಈॲཧ͍ͨ͠ίϯϐϡʔςΟϯάϦιʔε"84෮ɾ࠶ݱੑॊೈੑʮ"84ͱͲ͏͖߹͍͍ͨʯͷ͔ಛʹʮຊ൪ڥʯʹ͍ͭͯ
ాݸਓͷߟ͑Operation Labӡ༻ઃܭϥϘ21(6*$-*ϓϩάϥϜίʔυ࡞ۀऀݕূ3FBEܥ࡞ۀίϯϐϡʔςΟϯάϦιʔε$SFBUF%FMFUF6QEBUFܥ࡞ۀ෮ɾ࠶ݱੑΛॏࢹ$SFBUF%FMFUF6QEBUFܥ࡞ۀظతͳֶशίετΛॏࢹ"84ظతͳֶशίετ෮ɾ࠶ݱੑɺॊೈੑΛॏࢹ෮ɾ࠶ݱੑॊೈੑʮ"84ͱͲ͏͖߹͍͍ͨʯͷ͔ྫ-BNCEB͔Β"84Λૢ࡞͢Δ
"84׆༻ͷΩʔ$-*Ͱ͋ΔOperation Labӡ༻ઃܭϥϘ22(6*$-*ϓϩάϥϜίʔυ࡞ۀऀݕূ3FBEܥ࡞ۀίϯϐϡʔςΟϯάϦιʔε$SFBUF%FMFUF6QEBUFܥ࡞ۀ෮ɾ࠶ݱੑΛॏࢹ$SFBUF%FMFUF6QEBUFܥ࡞ۀظతͳֶशίετΛॏࢹظతͳֶशίετ෮ɾ࠶ݱੑɺॊೈੑΛॏࢹ"84(6*͕ศརͳέʔείʔυ͕ศརͳέʔε෮ɾ࠶ݱੑॊೈੑʮ"84ͱͲ͏͖߹͍͍ͨʯͷ͔
Operation Labӡ༻ઃܭϥϘʮ"84"1*ʯͱʮ"84$-*ʯͷೱີͳؔ23
Operation Labӡ༻ઃܭϥϘ"84αʔϏε"1*ͷू߹ମ24"84શͯͷػೳΛ"1*Ͱఏڙ͍ͯ͠Δʮ"84Λਅʹཧղ͢Δʯͱ"84"1*ͷಇ͖Λཧղ͢Δ͜ͱϚωδϝϯτίϯιʔϧ"1*ૢ࡞ΛӅณԽ͍ͯ͠Δ ॳ৺ऀ͚ʮ"84"1*ʯͱʮ"84$-*ʯͷೱີͳؔ
ެ։͞Ε͍ͯΔAWS APIͷ΄΅શͯΛૢ࡞Ͱ͖Δʮ"84Λਅʹཧղ͢ΔʯͱOperation Labӡ༻ઃܭϥϘ25"84શͯͷػೳΛ"1*Ͱఏڙ͍ͯ͠Δʮ"84Λਅʹཧղ͢Δʯͱ"84"1*ͷಇ͖Λཧղ͢Δ͜ͱҰ෦ɺྫ֎͋Γ·͢"84$-*Λ͑ʮ"84"1*ʯͱʮ"84$-*ʯͷೱີͳؔ
Operation Labӡ༻ઃܭϥϘ"1*ͱ$-*ίϚϯυͷؔ26"1*ΤϯυϙΠϯτ $-*ίϚϯυhttps://ec2.{Ϧʔδϣϯ}.amazonaws.com FDhttps://iam.amazonaws.com JBNhttps://route53.amazonaws.com SPVUFhttps://s3.{Ϧʔδϣϯ}.amazonaws.com TTBQJhttps://lambda.{Ϧʔδϣϯ}.amazonaws.com MBNCEB"1*ΤϯυϙΠϯτ໊ͱ$-*ίϚϯυ໊ɺݪଇಉ͡άϩʔόϧαʔϏεϦʔδϣφϧαʔϏεʮ"84"1*ʯͱʮ"84$-*ʯͷೱີͳؔ
Operation Labӡ༻ઃܭϥϘ"1*ΞΫγϣϯͱ$-*αϒίϚϯυͷؔ27ʮ"84"1*ʯͱʮ"84$-*ʯͷೱີͳؔ"1*ΞΫγϣϯ໊ͱ$-*αϒίϚϯυ໊ɺݪଇಉ͡ίϚϯυ ΞΫγϣϯ AllocateAddress = allocate-address&$ͷྫύεΧϧ(ΞούʔΩϟϝϧ)έʔε νΣΠϯ(έόϒ)έʔε"1*ΞΫγϣϯ໊ $-*αϒίϚϯυ
"1*؆୯ʹมΘΒͳ͍"1* $-*ͷࣝ؆୯ʹԽ͠ͳ͍͑͘Δ"84εΩϧΛޮྑ͘ʹ͚Α͏ʮ"84"1*ʯͱʮ"84$-*ʯͷೱີͳؔ"84ɺʹαʔϏεΛ։࢝͠ɺʹαʔϏεఔʹ͠·͕ͨ͠ɺݱࡏαʔϏεͱരൃతʹαʔϏεΛ૿͖͍ͯͯ͠·͢ɻຊηογϣϯͰɺαʔϏεͷٸͳ֦େͱ࣋ଓతͳมԽΛଓ͚Δ"84ͱٕज़తʹͲͷΑ͏ʹ͖߹͍͔ͬͯ͘ʹ͍ͭͯɺ"84$-*ΛΓޱʹհ͍͖ͯ͠·͢ɻ
Operation Labӡ༻ઃܭϥϘએ29
Operation Labӡ༻ઃܭϥϘ࣍ճ͔Β͠Β͘4جૅγϦʔζ30• 4ೖ • 4جૅ 8FCαΠτϩά • 4جૅ όʔδϣχϯά • 4جૅ ϥΠϑαΠΫϧ • 4جૅ ௨ ༧ఆhttps://jawsug-cli.connpass.com/
Operation Labӡ༻ઃܭϥϘࢀߟաڈͷൃදࢿྉ31IUUQTXXXPQTMBCKQQVCMJTIաڈͷൃදࢿྉ0QT-BCKQͱ͍͏αΠτʹஔ͍ͯ͋Γ·͢ɻ
Operation Labӡ༻ઃܭϥϘ͓·͚"84ֶशͷதظઓུ32
தظઓུ"84ͱ͖߹͍͡ΊΔOperation Labӡ༻ઃܭϥϘͱʹ͔͘ɺ"84ͱ͖߹͍͡ΊͯΈΔɻ• ૣΊʹʮ"84ͱ͖߹͍͡ΊͯΈΔʯ͜ͱ͕େࣄͰ͢ɻ• ʹαʔϏεͩͬͨͷ͕ࠓαʔϏεɻ• ࢝ΊΔͷ͕͚Ε͍΄Ͳॳظͷֶशίετߴ͘ͳΔͨΊɺ࠳ં͢ΔՄೳੑ͕ߴ͍ɻϒʔετ͢ΔͳΒެࣜτϨʔχϯά͕༗ޮ"84ֶशͷதظઓུ
Operation Labӡ༻ઃܭϥϘதظઓུυΩϡϝϯτͱ͖߹͏• "84͕ੵۃతʹٕज़తͳτϐοΫϊϋΛެ։ɻ༗ঈαϙʔτͷ༗ແΛΘͣެࣜใΛಘ͍͢ڥʹͳͬͨɻ• ݱࡏɺຊޠԽ͕ૣظʹߦͳΘΕΔέʔεଟ͍ɻ• αϙʔτͷճجຊతʹެ։υΩϡϝϯτͷ༰ͱͳ͍ͬͯΔɻٕज़తͳใɺ·ͣެࣜυΩϡϝϯτ͔ΒશͯಡΈࠐΜͰखΛಈ͔ͤɺ୭Ͱࠃ༗ͷ"84ΤϯδχΞʹͳΕΔɻ1%'Ͱ֓ࢉेສϖʔδఔ"84ֶशͷதظઓུ
Operation Labӡ༻ઃܭϥϘதظઓུϏδωεͰͬͯΈΔ• "84શͯͷϓϩμΫτΛར༻͢Δͷݱ࣮Ͱͳ͍ɻ• ϏδωεͰ͑ͦ͏ͳϓϩμΫτΛ୳ͯ͠ɺద༻ͯ͠ΈΔͱ͜Ζ͔Β࢝ΊΔͱɺͦͷαʔϏεͷಛ͕ݟ͑ͯ͘Δɻ• Ҷຮࣜʹɺؔ࿈ϓϩμΫτʹखΛग़͍ͯ͘͠ͱɺͦͷྖҬͰগͳ͍"84ϓϩϑΣογϣφϧʹͳΕΔɻϏδωεͰ͑ͦ͏ͳϓϩμΫτΛͭ·Έ৯͍͢Δബ͘͘"84͕͑ΔΑ͏ʹͳͬͯࠩผԽʹͳΓͮΒ͘ͳͬͨɻಛ͋Δ͍ํͰ͖Δਓ͕ڧ͍ɻ"84ֶशͷதظઓུϏδωεݸਓͷ͓͔͍ͮ͜Ք͗Ͱྑ͍͔ͱɻ
Operation Labӡ༻ઃܭϥϘ36IUUQXXXPQFSBUJPOMBCDPKQOperationLabӡ༻ઃܭ