カテゴリ: AWS EC2 更新日: 2026/01/21

AWS CLIのdescribe-instancesの使い方を完全ガイド!初心者向けにfilter・query・tagも解説

183
describe-instancesの使い方を初心者向けに解説(filter/query/tag)

先生と生徒の会話形式で理解しよう

生徒

「AWS CLIでEC2の情報を取得したいんですが、どうすればいいですか?」

先生

「それならdescribe-instancesコマンドを使うといいですよ。インスタンス情報の取得にとても便利です。」

生徒

「インスタンス名やタグで絞り込むこともできますか?」

先生

「もちろん。--filters--queryオプションを使えば、柔軟に絞り込みできますよ。順を追って解説していきましょう。」

1. describe-instancesとは?

1. describe-instancesとは?
1. describe-instancesとは?

aws ec2 describe-instancesは、AWS CLIでEC2インスタンスの情報を取得するための基本コマンドです。 このコマンドを使うことで、インスタンスID、パブリックIP、タグ、ステータスなど、さまざまな情報を得ることができます。


aws ec2 describe-instances

このまま実行すると、全リージョンの全インスタンス情報が大量に表示されます。 実務では、特定のインスタンスや条件に絞って使うことが一般的です。

2. filterオプションで条件を絞り込む

2. filterオプションで条件を絞り込む
2. filterオプションで条件を絞り込む

--filtersオプションを使うと、特定の条件に一致するインスタンスだけを取得できます。 例えば、タグに基づいたフィルタや、インスタンスタイプによる絞り込みが可能です。


aws ec2 describe-instances \
  --filters "Name=instance-type,Values=t2.micro"

タグによるフィルタの例も見てみましょう。


aws ec2 describe-instances \
  --filters "Name=tag:Name,Values=WebServer"

このように、フィルタはNameValuesのセットで指定し、複数指定も可能です。

3. queryオプションで出力を整形する

3. queryオプションで出力を整形する
3. queryオプションで出力を整形する

出力されるJSONは情報が多く、読みづらい場合があります。--queryオプションを使えば、表示項目を絞って見やすく整形できます。


aws ec2 describe-instances \
  --query "Reservations[*].Instances[*].InstanceId"

上記の例では、インスタンスIDだけをリストで取得できます。 他にもパブリックIPやステータスなども以下のように取得可能です。


aws ec2 describe-instances \
  --query "Reservations[*].Instances[*].[InstanceId, PublicIpAddress, State.Name]"

また、--output textオプションを併用すると、表形式で見やすく表示できます。

AWSの基本用語や仕組みを、図解でサクッと理解したい人には、 入門の定番書がこちらです。

AWSの基本が全部わかる教科書をAmazonで見る

※ Amazon広告リンク

4. tagを使った柔軟なインスタンス管理

4. tagを使った柔軟なインスタンス管理
4. tagを使った柔軟なインスタンス管理

EC2インスタンスにはタグ(key-value形式)を設定できます。 たとえばNameやEnv(環境名)などをタグにすることで、インスタンスの識別や検索が容易になります。

以下のようにタグ付きインスタンスのみを抽出できます:


aws ec2 describe-instances \
  --filters "Name=tag:Env,Values=prod"

実際の現場では、タグによるリソース管理は非常に重要です。 大規模なAWS環境で混乱を避けるためにも、必ずタグを活用しましょう。

5. よくあるdescribe-instancesの活用パターン

5. よくあるdescribe-instancesの活用パターン
5. よくあるdescribe-instancesの活用パターン

■特定のステータスのインスタンスだけを取得


aws ec2 describe-instances \
  --filters "Name=instance-state-name,Values=running"

■複数の条件をANDで絞り込み


aws ec2 describe-instances \
  --filters \
    "Name=instance-state-name,Values=stopped" \
    "Name=tag:Team,Values=DevOps"

■JSON形式ではなくテキスト形式で出力


aws ec2 describe-instances --output text

このように、describe-instancesは柔軟に出力形式や抽出条件を設定できるため、スクリプトや自動化処理にも活用されます。

6. まとめ

6. まとめ
6. まとめ

この記事では、AWS CLIのdescribe-instancesコマンドについて、基本的な使い方から実務で役立つ応用パターンまでを網羅的に解説しました。AWS環境をCLIベースで管理したい初心者の方にとって、describe-instancesはEC2の状況把握に欠かせない重要なコマンドです。

まず最初に、aws ec2 describe-instancesの基本的な使い方を紹介し、その後で--filtersを使ったインスタンスタイプやタグによる条件の絞り込み方法を解説しました。実際の業務では「Webサーバーだけを確認したい」「停止中のインスタンスを探したい」といったニーズが頻繁に出てきます。そのようなとき、フィルタオプションは非常に役立ちます。

また、--queryオプションによってJSON出力を整形することで、目的の情報だけを取得でき、視認性が大きく向上します。さらに--output textと併用すれば、CLIツールやスクリプトと連携しやすいテキスト形式に変換できるのも大きな利点です。

さらに、タグを活用したインスタンス管理も重要なポイントです。タグの活用によって、インスタンスの環境(本番、開発)やチーム別に分類でき、運用効率が向上します。これにより、大規模環境でもリソースの整理整頓がしやすくなり、インフラ管理が非常にスマートになります。

最後には、よく使われるパターンを紹介しました。describe-instancesの活用は、AWS CLIを使ったインフラ管理の第一歩であり、自動化やスクリプト化にもつながる重要な技術です。

以下に、本記事で紹介したコマンドの要点を再掲しておきます:


# すべてのインスタンスを表示
aws ec2 describe-instances

# 特定のインスタンスタイプに絞り込み
aws ec2 describe-instances \
  --filters "Name=instance-type,Values=t2.micro"

# タグ Name=WebServer に一致するインスタンスを表示
aws ec2 describe-instances \
  --filters "Name=tag:Name,Values=WebServer"

# インスタンスIDだけを取得
aws ec2 describe-instances \
  --query "Reservations[*].Instances[*].InstanceId"

# 状態・IPなどを取得
aws ec2 describe-instances \
  --query "Reservations[*].Instances[*].[InstanceId,PublicIpAddress,State.Name]"

# 出力をテキスト形式にする
aws ec2 describe-instances --output text

# 特定のタグでフィルタ
aws ec2 describe-instances \
  --filters "Name=tag:Env,Values=prod"

このように、describe-instancesは非常に多機能であり、AWS CLIを使いこなすうえでの要とも言えるコマンドです。初心者の方も、フィルターやクエリを少しずつ試しながら習得していきましょう。

先生と生徒の振り返り会話

生徒

「最初はdescribe-instancesって難しそうだと思ってたけど、実際にやってみたら、タグやクエリで結構簡単に絞り込めるんですね!」

先生

「そのとおり。最初はJSONが長くて戸惑うかもしれないけど、--query--filtersを使いこなせば、必要な情報だけをすぐに取り出せるようになります。」

生徒

「これでスクリプトとかに組み込んで、自動化にも活かせそうですね。」

先生

「まさにそれが狙いです。日常の運用で毎回手動で見るより、必要なインスタンス情報だけを抽出して、レポート化したり監視ツールに渡したりもできますよ。」

生徒

「タグ運用もちゃんとすれば、describe-instancesで効率よく状況確認ができそうです。次はこれを組み込んだバッチ処理とか挑戦してみたいです!」

先生

「いいですね。次のステップではjqとの連携や、cronを使った定期実行なども学んでいきましょう。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

AWS CLIのdescribe-instancesとは何をするコマンドですか?

AWS CLIのdescribe-instancesは、Amazon EC2インスタンスの情報を一覧で取得するための基本コマンドです。インスタンスID、ステータス、パブリックIP、タグなどを確認でき、AWS環境の状況把握やインフラ管理に欠かせない存在です。
AWS EC2の一覧へ
新着記事
FlutterのMVP・MVVMアーキテクチャの違いと使い分け
FlutterのMVP・MVVMアーキテクチャの違いと使い分けを初心者向けに解説!
オニオンアーキテクチャの基本とFlutterでの適用例
オニオンアーキテクチャの基本とFlutterでの適用例を初心者向けに解説
クリーンアーキテクチャとは?Flutterでの導入メリット
クリーンアーキテクチャとは?Flutterでの導入メリットをやさしく解説
【AWS】RDS for Oracleの特徴・できないこと・バージョン・料金まとめ
【AWS】RDS for Oracleの特徴・できないこと・バージョン・料金を初心者向けに徹底解説
人気記事
インスタンスタイプの料金比較と最適な選び方(最新2025年版)
AWSのインスタンスタイプの料金比較と最適な選び方【2025年最新版】
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク