2016-05-17 72 views
2

我的AWS命令是:如何通过AWS CLI获取公网IP同时发动

> 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?请不要混淆elastic-IP及其与实例的关联。我知道联系弹性IP,但这里的需求是不同的。

回答

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

另一种方式是

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

这将返回实例

+0

任何计谋文本数据转换成JSON的公网IP? --output = json给我的方式不是真正的json – visweshn92