EC2にアタッチされているEBSID(VolumeId)の取得

2019年3月28日木曜日

AWS CLI

aws ec2 describe-volumesコマンドから、filter、query、outputを使って取得できましたのでメモ。

①aws ec2 describe-volumes
 →ボリューム情報の取得

②--filters "Name=attachment.instance-id, Values=<インスタンスID>" "Name=attachment.device, Values=<デバイスID>"
 →一覧からインスタンスIDとデバイスIDでフィルタ
  ・インスタンスID:説明不要
  ・デバイスID:Windows のデバイスは、ルートデバイスは「/dev/sda1」、追加デバイスは「xvdf」から「xvdp」

③--query "Volumes[].Attachments[].VolumeId[]"
 →ボリュームIDだけ抽出

④--output text
 →テキスト形式で出力

バッチで書くと以下の記述で変数に格納できます。

------------------ここから------------------

@echo off

set VolID=
set Ec2ID=<インスタンスID>
set DevID=<デバイスID>
set CMD=aws ec2 describe-volumes --filters "Name=attachment.instance-id, Values=%Ec2ID%" "Name=attachment.device, Values=%DevID%" --query "Volumes[].Attachments[].VolumeId[]" --output text

for /f "usebackq delims=" %%a in (`%CMD%`) do set VolID=%%a

echo %VolID%

pause

------------------ここまで------------------

echo 以降は確認の為に付けただけなので、省略してください。

このブログを検索

自己紹介

IT関連の技術情報や、取り組んでいる業務効率化について掲載。人手不足対策、教育についても興味あり。

アーカイブ

連絡フォーム

名前

メール *

メッセージ *

QooQ