AWSのリソース数が増えると、コンソールを目視で追うだけでは限界が来ます。タグを使ってリソースを素早く絞り込む仕組みを整えておけば、障害対応や構成変更のたびに「どのリソースだっけ」と探し回る手間がなくなります。
この記事では、AWS(Amazon Linux 2023 / Amazon Linux 2)環境を想定し、AWSタグ検索の基本からマルチAZ冗長設計への応用まで解説します。Tag Editor(GUIタグ管理ツール)・
aws resourcegroupstaggingapi get-resources コマンド・Resource Groupsを組み合わせた、実践的なリソース管理術を紹介します。
この記事のポイント
・aws resourcegroupstaggingapi get-resources でタグ条件を指定してリソース一覧を取得できる
・Tag Editor はコンソールから複数リージョン・複数サービスを横断検索できるGUIツール
・Resource Groupsでタグ条件をグループ保存するとSystems Managerとの連携が容易になる
・マルチAZ設計では Environment / AZ / Service の3軸タグが運用効率を大きく向上させる
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
AWSのタグとは何か、なぜタグ検索が必要なのか
AWSのタグとは、EC2・VPC・RDSなどあらゆるリソースに付与できるキーと値のペア(例:Environment=prod、Service=web)です。タグそのものはリソースの動作に影響しませんが、検索・フィルタ・コスト配分・IAMポリシーによる権限制御に幅広く活用できます。リソースが数十台を超えると、タグが付いていないリソースは「誰が何のために作ったか分からない孤立リソース」になりがちです。特にマルチAZ(複数のアベイラビリティゾーンにまたがる冗長構成)ではサブネット・EC2・ALBなどが対になって作られるため、タグなしでの管理はすぐ破綻します。
Tag EditorでGUIからAWSタグ検索する手順
Tag EditorはAWSコンソールから操作できる、複数リージョン・複数サービスのリソースを横断してタグ検索できるGUIツールです。CLIを使わずにタグの棚卸しをしたいときに便利です。1. Tag Editorを開く
AWSコンソール右上の検索バーで「Tag Editor」と入力するか、「Resource Groups & Tag Editor」サービスから「Tag Editor」を選択します。画面左メニューの「タグ付けの管理」→「Tag Editor」からも開けます。2. リソースタイプとタグ条件を指定して絞り込む
・リージョン:検索対象のリージョンを選択(複数選択可)・リソースタイプ:「AWS::EC2::Instance」「AWS::EC2::Subnet」など対象サービスを指定
・タグ:キーと値(例: Environment / prod)を入力して「リソースを検索」をクリック
「タグなし」にチェックを入れると、タグが一切付いていないリソースだけを抽出できます。タグ付け漏れの棚卸しに使えます。
3. 検索結果からタグを一括編集・CSV出力する
検索結果の一覧からリソースを選択し、「リソースのタグを管理」でタグをまとめて追加・変更・削除できます。「CSVへエクスポート」で結果をファイル保存すると、スプレッドシートでの棚卸しに活用できます。AWS CLIでタグ検索する方法
シェルスクリプトや自動化フローに組み込む場合はaws resourcegroupstaggingapi get-resources コマンドを使います。1. get-resources コマンドの基本構文
# タグキー「Environment」、値「prod」に一致するリソースをaws タグ検索する aws resourcegroupstaggingapi get-resources --tag-filters Key=Environment,Values=prod --region ap-northeast-1
{ "ResourceTagMappingList": [ { "ResourceARN": "arn:aws:ec2:ap-northeast-1:123456789012:instance/i-0abcd1234efgh5678", "Tags": [ {"Key": "Environment", "Value": "prod"}, {"Key": "Service", "Value": "web"} ] } ] }
2. リソースタイプを指定してVPC関連リソースだけ取得する
# EC2サブネットのみに絞り込んでタグ検索する aws resourcegroupstaggingapi get-resources --tag-filters Key=Environment,Values=prod --resource-type-filters ec2:subnet --region ap-northeast-1
--resource-type-filters には ec2:subnet、ec2:instance、rds:db、elasticloadbalancing:loadbalancer などサービス名:リソースタイプ形式で指定します。3. jqと組み合わせてリソースARNだけ抽出する
# タグ検索結果からリソースARNのみをリスト出力する aws resourcegroupstaggingapi get-resources --tag-filters Key=Environment,Values=prod --region ap-northeast-1 | jq -r '.ResourceTagMappingList[].ResourceARN'
arn:aws:ec2:ap-northeast-1:123456789012:instance/i-0abcd1234efgh5678 arn:aws:ec2:ap-northeast-1:123456789012:subnet/subnet-0abc1234 arn:aws:rds:ap-northeast-1:123456789012:db:mydb-prod
Resource Groupsでタグ検索結果を管理グループとして保存する
毎回タグ検索コマンドを打つのではなく、よく使う検索条件を「リソースグループ」として保存しておくと、コンソールやSystems Managerからまとめてリソースを操作できます。1. クエリベースのリソースグループを作成する
AWSコンソールの「Resource Groups & Tag Editor」→「リソースグループの作成」で、タグベースのグループを定義します。・グループタイプ:「タグベース」を選択
・タグ条件:例として Environment=prod、Service=web を指定
・グループ名:例として
prod-web-servers のように命名CLIから作成する場合は次のコマンドを使います。
# タグ条件を指定してリソースグループを作成する aws resource-groups create-group --name prod-web-servers --resource-query '{"Type":"TAG_FILTERS_1_0","Query":"{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Environment\",\"Values\":[\"prod\"]},{\"Key\":\"Service\",\"Values\":[\"web\"]}]}"}'
2. Systems Managerと連携してパッチ適用範囲を絞り込む
作成したリソースグループは、AWS Systems Manager(SSM)のパッチマネージャーやセッションマネージャーで「対象グループ」として指定できます。例えば「prod-web-servers」グループにのみパッチ適用を実行することで、開発環境のEC2を誤って更新するリスクを防げます。マルチAZ冗長設計でのタグ設計パターン
マルチAZ構成では、同じアプリケーションを複数のAZ(アベイラビリティゾーン)に分散配置するため、タグなしでは「どのAZのリソースか」が一目でわかりません。次の3軸タグを標準セットとして設計すると管理しやすくなります。・Environment:prod / stg / dev(環境を識別。コスト配分・権限制御の基本軸)
・AZ:ap-northeast-1a / ap-northeast-1c(冗長化されたリソースのAZを識別)
・Service:web / db / cache(アプリケーション層を識別)
例えば ap-northeast-1a ゾーンの本番DBサブネットには
Environment=prod、AZ=ap-northeast-1a、Service=db の3タグを付与します。障害時にどちらのAZが影響を受けているかを aws タグ検索で素早く絞り込めます。VPC設計でのタグ活用では、VPC IDをタグ値として持つパターンも有効です。例えば
VPC=vpc-0abc1234 タグを付けておくと、特定VPC配下の全リソースをタグ検索1コマンドで取得できます。タグ検索で「リソースが見つからない」時の対処法
タグが付いていないリソースはヒットしない
タグ検索はあくまでタグを付与済みのリソースが対象です。古いリソースや手動作成のリソースにはタグが付いていないことがあります。Tag Editorの「タグなし」フィルタでタグ未付与リソースを棚卸しし、まとめてタグを追加する運用が有効です。タグキーは大文字・小文字を区別する
AWSのタグキーと値は大文字・小文字を厳密に区別します。environment=prod と Environment=prod は別のタグとして扱われます。組織内で命名規則を統一しないと、検索条件が合わずヒット0件になります。リソースタイプの指定形式が誤っている
--resource-type-filters の指定形式が誤っていると結果が空になります。正しい形式は サービス名:リソースタイプ(例: ec2:instance)です。ec2:Instance のように大文字を混ぜるとエラーになる場合があります。本記事のまとめ
| やりたいこと | 使うツール・コマンド |
|---|---|
| コンソールGUIでAWSタグ検索・棚卸し | Tag Editor(Resource Groups & Tag Editorサービス) |
| CLIでタグ条件のリソースを取得 | aws resourcegroupstaggingapi get-resources --tag-filters Key=xxx,Values=yyy |
| 特定サービスのリソースだけ絞り込む | aws resourcegroupstaggingapi get-resources --tag-filters Key=xxx,Values=yyy --resource-type-filters ec2:subnet |
| タグ検索条件をグループとして保存 | Resource Groups(クエリベースのグループ作成) |
| パッチ適用対象をタグで制御 | Resource Groupsのグループ → Systems Managerで指定 |
| タグなしリソースを特定する | Tag Editorの「タグなし」フィルタ |
>> Amazon Linux実践活用入門の詳細はこちら
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら
- 前のページへ:AWSマルチAZリソースのタグ付け戦略をTerraformで実装する方法|default_tags・モジュール設計
- この記事の属するカテゴリ:AWS(Amazon Linux)へ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。
登録無料・いつでも解除できます