--output {json|text|table}
--region {<region>}
--filter
--query
--profile 別プロファイルでの実行(ユーザー、表示形式、region等のセット)
コマンド実行の対象となるRegionを指定。 指定しない場合はデフォルトのRegion($HOME/.aws/configで指定)が使われる。 以下のRegionが指定できる。
$ aws ec2 describe-regions --output table
----------------------------------------------------------
| DescribeRegions |
+--------------------------------------------------------+
|| Regions ||
|+-----------------------------------+------------------+|
|| Endpoint | RegionName ||
|+-----------------------------------+------------------+|
|| ec2.eu-central-1.amazonaws.com | eu-central-1 ||
|| ec2.sa-east-1.amazonaws.com | sa-east-1 ||
|| ec2.ap-northeast-1.amazonaws.com | ap-northeast-1 ||
|| ec2.eu-west-1.amazonaws.com | eu-west-1 ||
|| ec2.us-east-1.amazonaws.com | us-east-1 ||
|| ec2.us-west-1.amazonaws.com | us-west-1 ||
|| ec2.us-west-2.amazonaws.com | us-west-2 ||
|| ec2.ap-southeast-2.amazonaws.com | ap-southeast-2 ||
|| ec2.ap-southeast-1.amazonaws.com | ap-southeast-1 ||
|+-----------------------------------+------------------+|
コマンド実行結果の出力形式を指定。 指定しない場合は、$HOME/.aws/configに定義されたフォーマットで出力される。
JSON、TEXT、Table形式で出力できるが、個人的にはJSON形式が一番見やすいし、jqコマンドと組み合わせれば必要な情報だけに絞って取得するのも簡単なのでおすすめ。
$ aws ec2 describe-vpcs --output text
VPCS 172.31.0.0/16 dopt-c5a7bca7 default True available vpc-9f1fc8fa
VPCS 10.0.0.0/16 dopt-c5a7bca7 default False available vpc-2ce93449
TAGS Name aws_book_vpc
$ aws ec2 describe-vpcs --output table
---------------------------------------------------------------------------------------------------
| DescribeVpcs |
+-------------------------------------------------------------------------------------------------+
|| Vpcs ||
|+---------------+----------------+------------------+------------+-------------+----------------+|
|| CidrBlock | DhcpOptionsId | InstanceTenancy | IsDefault | State | VpcId ||
|+---------------+----------------+------------------+------------+-------------+----------------+|
|| 172.31.0.0/16| dopt-c5a7bca7 | default | True | available | vpc-9f1fc8fa ||
|+---------------+----------------+------------------+------------+-------------+----------------+|
|| Vpcs ||
|+-------------+----------------+-------------------+-------------+-------------+----------------+|
|| CidrBlock | DhcpOptionsId | InstanceTenancy | IsDefault | State | VpcId ||
|+-------------+----------------+-------------------+-------------+-------------+----------------+|
|| 10.0.0.0/16| dopt-c5a7bca7 | default | False | available | vpc-2ce93449 ||
|+-------------+----------------+-------------------+-------------+-------------+----------------+|
||| Tags |||
||+------------------------------+--------------------------------------------------------------+||
||| Key | Value |||
||+------------------------------+--------------------------------------------------------------+||
||| Name | aws_book_vpc |||
||+------------------------------+--------------------------------------------------------------+||
$ aws ec2 describe-vpcs --output json
{
"Vpcs": [
{
"VpcId": "vpc-9f1fc8fa",
"InstanceTenancy": "default",
"State": "available",
"DhcpOptionsId": "dopt-c5a7bca7",
"CidrBlock": "172.31.0.0/16",
"IsDefault": true
},
{
"VpcId": "vpc-2ce93449",
"InstanceTenancy": "default",
"Tags": [
{
"Value": "aws_book_vpc",
"Key": "Name"
}
],
"State": "available",
"DhcpOptionsId": "dopt-c5a7bca7",
"CidrBlock": "10.0.0.0/16",
"IsDefault": false
}
]
}
jqコマンドにパイプして使うと便利。 値の検索が簡単
$ aws ec2 describe-vpcs --output json | jq '.Vpcs[].VpcId'
"vpc-9f1fc8fa"
"vpc-2ce93449"
検索条件を指定して検索。 ある項目が特定の値であるという条件に合致する、サービスやリソースの情報を取得することができる。
定義できるFilterの条件は、Referenceの--filtersの項を参照。 例えば aws ec2 describe-vpcs で指定できるFilterは、以下に記載されている。
describe-vpcs — AWS CLI 1.7.24 documentation
実行例
$ aws ec2 describe-vpcs --filters "Name=cidr,Values=10.0.0.0/16"
{
"Vpcs": [
{
"VpcId": "vpc-2ce93449",
"InstanceTenancy": "default",
"Tags": [
{
"Value": "vpc-awsbook",
"Key": "Name"
}
],
"State": "available",
"DhcpOptionsId": "dopt-c5a7bca7",
"CidrBlock": "10.0.0.0/16",
"IsDefault": false
}
]
}
出力結果のに含める項目の絞り込み。 サービスやリソースの、特定の項目の情報だけ取得することができる。
定義できるQueryの条件は、ReferenceのOutputの項を参照。 例えば aws ec2 describe-vpcs で指定できるQueryは、以下に記載されている。
describe-vpcs — AWS CLI 1.7.24 documentation
実行例
$ aws ec2 describe-vpcs --query 'Vpcs[].VpcId[]'
[
"vpc-6d11cc08",
"vpc-9f1fc8fa",
"vpc-2ce93449"
]
--filtersと--queryは組み合わせて使うと便利。
$ aws ec2 describe-vpcs --filters "Name=cidr,Values=10.0.0.0/16" --query 'Vpcs[].VpcId[]'
[
"vpc-2ce93449"
]