AWS CLIで結果をフィルタする(–filtersオプション)

AWS CLIで取得した結果をフィルタするには--filtersオプションを使用する。
(ただしコマンドによっては--filterオプション)
--filtersオプションにはNameValuesを指定する。

aws ec2 describe-instances --filters "Name=<キー>,Values=<値>"

どのようなキーが使えるかはhelpコマンドで確認できる。

aws ec2 describe-instances help

helpによるとInstanceTypeinstance-typeでフィルタできる。 例えばInstanceTypet2.microのインスタンスだけ表示するには以下のようになる。

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

タグでフィルタする

タグでフィルタする場合は以下の形式で指定する。

--filters "Name=tag-key,Values=<タグ名>" --filters "Name=tag-value,Values=<値>"

例えば、Envタグを持ち、値がdevのインスタンスだけ表示するには以下のようになる。

aws ec2 describe-instances --filters "Name=tag-key,Values=Env" --filters "Name=tag-value,Values=dev"

指定したタグを持つリソースだけ表示する

--filtersオプションにName=tag-keyだけを指定した場合はそのタグの値に関わらず、指定したタグを持つリソースだけ表示される。

例えばEnvタグを持つリソースだけ表示するには以下のようになる。

aws ec2 describe-instances --filters "Name=tag-key,Values=Env"

–filters “Name=tag:タグ名,Values=値”

コマンドによっては--filters "Name=tag:タグ名,Values=値"の形式でもフィルタできる。

例えば、Envタグを持ち、値がdevのインスタンスだけ表示するには以下のようになる。

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

どのような形式が使えるかはhelpコマンドで確認する。