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)— 結果をソート
ユースケース
実行中のインフラの監視、コスト最適化のためのインスタンスタイプの監査、インシデント対応中のタグによるインスタンス検索、自動インベントリレポートのスクリプト作成。