如何在启动时通过AWS CLI获取公共IP

时间:2016-05-17 05:15:49

标签: amazon-web-services amazon-ec2

我的AWS Command是:

> aws ec2 run-instances --image-id ami-346b2354 --count 1 --instance-type c4.large --key-name my-cali-key --security-group-ids sg-a168c7c4

当我触发它时,它返回的JSON数据只有私有IP地址而不是公共IP地址。

 ................ DATA  OMITTED................... 

                "Groups": [
                    {
                        "GroupName": "launch-wizard-1", 
                        "GroupId": "sg-a168c7c4"
                    }
                ], 
                "SubnetId": "subnet-cb2524ae", 
                "OwnerId": "012710546082", 
                "PrivateIpAddress": "172.31.17.252"
            }

 ..................... DATA OMITTED ....................

(Image) Browser look of the same instance with Public IP

然而,当我在浏览器中看到时,我立即注意到自动关联的公共IP地址。 如何获取已启动实例的公共IP?请不要对弹性IP及其与实例的关联感到困惑。我知道要关联弹性IP,但这里的需求是不同的。

1 个答案:

答案 0 :(得分:4)

aws ec2 describe-instances \
  --query "Reservations[*].Instances[*].PublicIpAddress" \
  --output=text

另一种方式是

curl --silent http://ipecho.net/plain

这将返回实例的公共IP