ぶろとよ

ネットワーク系クラウドエンジニア(AWS)の技術ブログ。自動化に興味があるためAWS CLIを勉強&アウトプット中。

AWS CLI:リソースタイプ、Nameタグ、リソースIDの一覧を出力する。

f:id:toyokky:20211005203951p:plain


AWS作業をしていると、
「あれ、このインスタンスIDのNameタグは?」
「VPCのID何だっけ?マネジメントコンソールにログインしなきゃ(汗」
っという場面が多々あります。


パラメータシートを確認したり、マネジメントコンソールにログインしたり、、、う~ん、そこまでじゃなくて良いからテキストファイルとかでパパッと見たい時。。。

↓↓↓ はCLIで出力したテキストファイルをExcelへ貼り付けただけのものです。

f:id:toyokky:20211005213608p:plain:w350


■ この記事を読んで出来ること。

  • AWS CLIを使って、リソースタイプ、Nameタグ、リソースID のタグ一覧をテキスト出力できます。
    • タブ区切りなので、そのままExcelへ貼り付けできます。
    • 出力されたテキストファイルでIDを検索すればNameタグが解る、Nameタグを検索すればIDが解る。
  • 対応リソース種類
    • EC2リソース(EC2, EBS, ENI, VPC, SG, Subnet, Gateway 等)

※その他リソースは随時追加していきます。


■ 目次

■ 検証環境等

  • 検証日: 2021/10/05
  • PC環境:
    • Windows10 Home Ver21H1
      • AWS CLI: aws-cli/2.1.34 Python/3.8.8 Windows/10 exe/AMD64 prompt/off
        • -- profile default : 読み取り専用
        • -- profile aws_RW : 書き込み権限あり
          • ※ 誤操作防止のため、変更操作時のみ-- profileオプションを付けてます。
      • PowerShell: Ver7.1.4
  • 本記事のコマンドはPowerShellで検証しています。
  • コマンド内の変数やパラメータやは検証で使用したものを記載しています。自身の環境に書き換えて使用してください。
  • 個人で検証しているため実行結果に責任は持てません。必ずご自身でも検証してから使用してください。


1. EC2リソース

EC2リソースとは、EC2およびVPCで作成するリソースです。
主なものとして「EC2instance, EBS, ENI, VPC, SG, Subnet, 各種Gateway, RouteTable, DHCPオプションセット, NetworkACL」などがあります。


コマンドの動作について

  • EC2リソースにて、リソースタイプ、Nameタグ、リソースID のタグ一覧をテキスト出力します。
  • 注意:Nameタグが付与されているリソースのみが対象になります。
  • テキストファイルについて
    • ${work_dir}で指定したフォルダへ出力されます。
    • 文字コードはUTF-8
    • 区切り文字はTAB
    • ファイル名はyyyyMMdd-HHmmss_ec2tag_Type-Name-Id.txt


# PowerShellコマンドです。
# 変数部分(${●●●})を自身の環境に合わせてください。
${work_dir} = "C:\#temp"
${file_name} = "ec2tag_Type-Name-Id.txt"
${date_time} = Get-Date -Format yyyyMMdd-HHmmss

aws ec2 describe-tags `
    --filters "Name=key,Values=Name" `
    --query "Tags[].[ResourceType,Value,ResourceId]"  `
    --output text `
    | Out-File -Encoding ascii ${work_dir}\${date_time}_${file_name}

※その他リソースは随時追加していきます。

XX. AWS CLI v2 リファレンスガイド

リファレンスガイドを検索してdescribe-tagsが見つかったもの。

aws ec2 describe-tags

aws redshift describe-tags

aws machinelearning describe-tags

aws elbv2 describe-tags

aws elb describe-tags

aws efs describe-tags

aws discovery describe-tags

aws directconnect describe-tags

aws autoscaling describe-tags

aws workspaces describe-tags