AWS EC2: フィルター付きで実行中インスタンスを一覧表示

aws ec2 describe-instancesの--filtersと--queryを使用して、状態、タグ、インスタンスタイプでEC2インスタンスをフィルタリングし、クリーンな出力を取得します。

EC2 Operations

詳細な説明

実行中のEC2インスタンスの一覧表示

aws ec2 describe-instancesコマンドは、EC2インスタンスの詳細情報を取得します。フィルターなしではすべてが返されるため、--filters--queryの使用が実用的です。

すべての実行中インスタンスを一覧表示

aws ec2 describe-instances \
  --filters "Name=instance-state-name,Values=running" \
  --query "Reservations[].Instances[].[InstanceId,InstanceType,State.Name,PublicIpAddress]" \
  --output table

タグでフィルタリング

aws ec2 describe-instances \
  --filters "Name=tag:Environment,Values=production" \
  --query "Reservations[].Instances[].[InstanceId,Tags[?Key=='Name']|[0].Value]" \
  --output table

よく使うフィルター

フィルター名 値の例 用途
instance-state-name running, stopped, terminated 状態でフィルター
tag:Name MyServer タグでフィルター
instance-type t3.micro サイズでフィルター
vpc-id vpc-abc123 VPCでフィルター

JMESPathのヒント

  • [].Instances[].InstanceId — IDのみを抽出
  • [?State.Name=='running'] — クエリ内でフィルター
  • sort_by(@, &LaunchTime) — 結果をソート

ユースケース

実行中のインフラの監視、コスト最適化のためのインスタンスタイプの監査、インシデント対応中のタグによるインスタンス検索、自動インベントリレポートのスクリプト作成。

試してみる — AWS CLI Command Builder

フルツールを開く