EC2の中から自分に設定されたNameタグを取得する(IMDSv2のTOKENを必要としないパターン)

2024/03/22に公開

EC2の中から自分に設定されたNameタグを取得する方法です。
Metaデータの取得方法がIMDSv2になってからTOKENの取得が必要になり1行で実行するには長くなるので、IMDSを使わないパターンにしました。

結果

こうです。

aws ec2 describe-tags --filters "Name=resource-id,Values=$(ec2-metadata -i --quiet)" "Name=key,Values=Name" --query Tags[].Value --output text

ポイント

  • 幾つかのウェブサイトを見てもresource-idに指定するインスタンス ID だけはIMDSv2を使っている所がほとんどだったけど、実はEC2に標準で入っているec2-metadataコマンドでインスタンス ID を取得できる。
  • ec2-metadataでタグも取得できるんだけど、指定のタグ名でフィルタするオプションが無かったのでdescribe-tagsで取得してる。

Discussion