リソースIDやARNからタグ情報を調べるには Resource Explorer search コマンドが便利【AWS CLI】
リソースIDやARNからタグ情報をサクッと調べたい… って思うこと、結構ありますよね。 例えば Nameタグやコスト配分タグの値です。
少しの量であればマネジメントコンソールで見れば問題ありませんが、 リソースが多くなってくるとそれも面倒に感じちゃいます。
そんなときは AWS Resource Explorer の search コマンド が役に立ちます。 これはクエリ文字列で指定した条件に一致する リソース情報を表示するコマンドです。 リソースタイプやサービス名などを(あまり)意識せずに、 タグ情報を横断的に調べられるのが便利です。
実際に search コマンドの使い方やサンプルを紹介します。
Resource Explorer search コマンドの使い方
公式ドキュメントはこちら。
必須パラメータは --query-string
です。 後述するクエリ文法に従って、文字列を指定します。
--view-arn
には検索に使用するビューを指定します。 指定がない場合は、 そのリージョンのデフォルトビューが自動的に使用されます。 そのため基本的には明示的に書く必要はありません。
クエリ文法について
Resource Explorer 検索のクエリ文法は以下ドキュメントにまとまっています。
いくつかポイントをピックアップします。
- スペースで区切られたキーワード検索は OR 評価になる
- スコープを絞り込むフィルターが用意されている
- 例:
i-xxxxx service:EC2 region:us-east-1
- 例:
- 引用符で囲むことで 1フレーズとして扱える
- 例:
"us-east-1"
- ※
us-east-1
だとus OR east OR 1
と解釈される
- 例:
実際に使ってみる
サンプル1: NATゲートウェイのARNから検索
ARN: arn:aws:ec2:ap-northeast-1:111111111111:natgateway/nat-1234example
から タグ情報を調べてみます。
aws resource-explorer-2 search --output yaml \
--query-string '"arn:aws:ec2:ap-northeast-1:111111111111:natgateway/nat-1234example"'
# Count:
# Complete: true
# TotalResources: 1
# Resources:
# - Arn: arn:aws:ec2:ap-northeast-1:111111111111:natgateway/nat-1234example
# LastReportedAt: '2025-05-24T03:25:42+00:00'
# OwningAccountId: '111111111111'
# Properties:
# - Data:
# - Key: CmBillingGroup
# Value: XXX
# - Key: Name
# Value: XXX-NATGW
# LastReportedAt: '2025-04-30T21:34:08+00:00'
# Name: tags
# Region: ap-northeast-1
# ResourceType: ec2:natgateway
# Service: ec2
# ViewArn: arn:aws:resource-explorer-2:ap-northeast-1:111111111111:view/all-resources/2789e4e8-xxxx
Properties 配下にタグ情報が記載されていますね。
ポイントとして引用符 ""
で括ることです。 これがないと ハイフン -
で区切られて OR 検索になってしまいます。
# ### 引用符 "" あり
aws resource-explorer-2 search --output yaml \
--query-string '"arn:aws:ec2:ap-northeast-1:111111111111:natgateway/nat-1234example"'
# Complete: true
# TotalResources: 1
# ### 引用符 "" 無し
aws resource-explorer-2 search --output yaml \
--query-string 'arn:aws:ec2:ap-northeast-1:111111111111:natgateway/nat-1234example'
# Complete: false
# TotalResources: 1000
# ※ 検索結果の合計上限は 1,000件まで
サンプル2: EC2インスタンスのIDから検索
リソースID i-xxxxxx
から タグ情報を調べてみます。
aws resource-explorer-2 search --output yaml \
--query-string '"i-xxxxxx"'
# Count:
# Complete: true
# TotalResources: 2
# Resources:
# - Arn: arn:aws:ec2:ap-northeast-1:111111111111:instance/i-xxxxxx
# LastReportedAt: '2025-05-25T02:25:16+00:00'
# OwningAccountId: '111111111111'
# Properties:
# - Data:
# - Key: CmBillingGroup
# Value: HOGE
# - Key: DeploymentGroup
# Value: arn:aws:cloudformation:ap-northeast-1:111111111111:stack/HOGE/01234-XXX
# - Key: Name
# Value: HOGEServer
# LastReportedAt: '2025-04-30T21:56:27+00:00'
# Name: tags
# Region: ap-northeast-1
# ResourceType: ec2:instance
# Service: ec2
# - Arn: arn:aws:ssm:ap-northeast-1:111111111111:managed-instance/i-xxxxxx
# LastReportedAt: '2025-05-26T23:55:19+00:00'
# OwningAccountId: '111111111111'
# Properties: []
# Region: ap-northeast-1
# ResourceType: ssm:managed-instance
# Service: ssm
# ViewArn: arn:aws:resource-explorer-2:ap-northeast-1:111111111111:view/all-resources/2789e4e8-xxxx
検索結果の1つの要素からタグ情報がわかりましたね。
ただリソースIDはARNと比べて情報量が少ないので、 複数結果が返ることがあります。 気になる場合はフィルターを使うとよいでしょう。
aws resource-explorer-2 search --output yaml \
--query-string '"i-xxxxxx" service:ec2'
# Count:
# Complete: true
# TotalResources: 1
# Resources:
# - Arn: arn:aws:ec2:ap-northeast-1:111111111111:instance/i-xxxxxx
# LastReportedAt: '2025-05-25T02:25:16+00:00'
# OwningAccountId: '111111111111'
# Properties:
# - Data:
# - Key: CmBillingGroup
# Value: HOGE
# - Key: DeploymentGroup
# Value: arn:aws:cloudformation:ap-northeast-1:111111111111:stack/HOGE/01234-XXX
# - Key: Name
# Value: HOGEServer
# LastReportedAt: '2025-04-30T21:56:27+00:00'
# Name: tags
# Region: ap-northeast-1
# ResourceType: ec2:instance
# Service: ec2
おわりに
Resource Explorer search コマンドを紹介しました。
記述量少なく、サクッとタグ情報をコマンドラインから調べられるのが 便利に感じました。
もちろんマネジメントコンソール上のResource Explorer UIを使っても問題ありませんが、 ターミナル上で色々作業したい場合には役に立つのではないでしょうか。
以上、参考になれば幸いです。