我的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,但这里的需求是不同的。
答案 0 :(得分:4)
aws ec2 describe-instances \
--query "Reservations[*].Instances[*].PublicIpAddress" \
--output=text
另一种方式是
curl --silent http://ipecho.net/plain
这将返回实例的公共IP