バッチ(cmd)でEC2のAMIを取得

Pocket

 


PowerShellの方が簡単なのに・・と思いつつ、

男には.batでやらねばならぬ時もあるのです。

 
Windowsのコマンドライン(create-image.bat)でEC2のAMIを取得してみましょう。

第1引数にNameタグを設定し、当該タグのつけられたインスタンスのAMIを取得する。
※いろいろ端折ってるのでコピペして使う時注意。

@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

 
取得したAMIのAMI IDも取れるので、それを元に別のタグをCreateTagsするもよし。

 

Amazon Web Services クラウドネイティブ・アプリケーション開発技法 一番大切な知識と技術が身につく
NRIネットコム株式会社 佐々木 拓郎 佐藤 瞬 石川 修 高柳 怜士 佐藤 雄也 岸本 勇貴
SBクリエイティブ
売り上げランキング: 49,995

 

Pocket

この記事はAmazon Web Servicesに投稿されました. このパーマリンクをブックマークする。 コメントとトラックバックは現在受け付けていません。

関連記事