こんにちは t2.micro です。

AWS Tools for Windows PowerShell
面白い。けっこうわくわくする。

さて、照会系コマンドのフィルター方法のメモ。

Get-EC2Instance Cmdlet を例に見てみましょう。

たとえば、EC2インスタンスを「特定のタグに入力されているキーワード」でフィルタしたいときは
フィルタ条件をオブジェクトとして作成する必要がある。

こんな感じ。

$filter = New-Object Amazon.EC2.Model.Filter
$filter.Name = "tag:Type" #タグ名を指定
$filter.Value = "web" #タグに指定したvalueを入力

Get-EC2Instance -Filter $filter

しかし、似たようなことを何度も書かないといけないのでカッコ悪い。
調べているとワンライナーで書けることが分かった。

$filter = New-Object Amazon.EC2.Model.Filter -Property @{Name = "tag:Type"; Values = @("web")}

Get-EC2Instance -Filter $filter

少しだけスッキリした。かっこいい。

さらに複数条件(tagとインスタンス自体のステータス)でフィルタするときは以下のようにする。

$filterA = New-Object Amazon.EC2.Model.Filter -Property @{Name = "tag:Type"; Values = @("web")}
$filterB = New-Object Amazon.EC2.Model.Filter -Property @{Name = "instance-state-name"; Values = @("running")}

Get-EC2Instance -Filter $filterA,$filterB
TOP