aws ec2 describe-addresses 不会显示某些实例

aws ec2 describe-addresses won't show some instances

我正在使用 aws ec2 describe-addresses 编写一些脚本,但是由于某些原因,它不会返回某些实例。

示例:

$ aws ec2 describe-addresses --filter=Name=instance-id,Values=i-xxxxx 
{
    "Addresses": []
}

给定的 instanceId 是有效的并且有地址,但它不会被 aws cli 显示。

然而,对于另一种情况,它似乎工作得很好:

$ aws ec2 describe-addresses --filter='Name=instance-id,Values=i-yyyyyy'                                           
{
    "Addresses": [
        {
            "PrivateIpAddress": "X.X.X.X",
            "InstanceId": "i-yyyyyy",
            "NetworkInterfaceOwnerId": "XXXXXXXXXX",
            "Domain": "vpc",
            "AllocationId": "eipalloc-xxxxxx",
            "PublicIp": "Y.Y.Y.Y",
            "NetworkInterfaceId": "eni-xxxxxx",
            "AssociationId": "eipassoc-xxxxx"
        }
    ]
}

我使用的密钥有 EC2FullAccess 政策,所以,它似乎与安全无关...

我做错了什么?有小费吗? aws cli 是否有任何我不知道的限制?

我认为原因是您没有列出实例,实际上列出了弹性 IP 地址。估计少的就是没有Elastic IP的。

例如,没有过滤器的命令将列出 EIP 列表

aws ec2 describe-addresses

输出:

{
    "Addresses": [
        {
            "InstanceId": null,
            "PublicIp": "198.51.100.0",
            "Domain": "standard"
        },
        {
            "PublicIp": "203.0.113.0",
            "Domain": "vpc",
            "AllocationId": "eipalloc-64d5890a"
        }
    ]
}

来源:http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-addresses.html