describe-instances の --filtersと --query


describe-instances には --filtersと --queryという便利な機能がある。

たくさんあるリソースの中から特定の情報を引っ張ってこれる。

aws ec2 describe-instances --filters "Name=tag:Name,Values=test" "Name=tag:Name,Values=system" --query "Reservations[].Instances[].PrivateIpAddress" --output text

--filters

タグのand検索


--filters   "Name=tag:Name,Values=test" "Name=tag:Name,Values=system"

タグのor検索


--filters   "Name=tag:Name,Values=test","Name=tag:Name,Values=system"

--query

プライベートIPだけ表示する。
--query "Reservations[].Instances[].PrivateIpAddress"

--output jsonで表示すると以下な感じだから上記のように引っ掛ける。


{
    "Reservations": [
        {
            "OwnerId": "xxxxxx",
            "ReservationId": "xxxxxxx",
            "Groups": [],
            "Instances": [
                {
                    "Monitoring": {
                        "State": "xxxxxx"
                    },
                    "PublicDnsName": "",
                    "State": {
                        "Code": xxxx,
                        "Name": "xxxxx"
                    },
                    "EbsOptimized": true,
                    "LaunchTime": "xxxxxx",
                    "PrivateIpAddress": "10.xxxxxxxxx",