バッチ(cmd)でEC2のAMIを取得
男には.batでやらねばならぬ時もあるのです。
Windowsのコマンドライン(create-image.bat)でEC2のAMIを取得してみましょう。
第1引数にNameタグを設定し、当該タグのつけられたインスタンスのAMIを取得する。
※いろいろ端折ってるのでコピペして使う時注意。
[text]
@echo off
setlocal
set TAG_NAME=%1
set AMI_ID=
@REM タグ名を元にインスタンスIDを取得する
set CMD=aws ec2 describe-tags –filters “Name=tag:Name, Values=%TAG_NAME%” “Name=resource-type, Values=instance” –query Tags[].ResourceId –output text
set INSTANCE_ID=
for /f “usebackq delims=” %%a in (`%CMD%`) do set INSTANCE_ID=%%a
echo %INSTANCE_ID%
@REM インスタンスIDを元にAMIを取得する
set CMD=aws ec2 create-image –instance-id %INSTANCE_ID% –name %TAG_NAME%_%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% –description %TAG_NAME%_%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% –output text
for /f “usebackq delims=” %%a in (`%CMD%`) do set AMI_ID=%%a
echo %AMI_ID%
endlocal
exit /b 0
[/text]
取得したAMIのAMI IDも取れるので、それを元に別のタグをCreateTagsするもよし。
SBクリエイティブ
売り上げランキング: 49,995