如何在重启时找到亚马逊EC2实例的IP地址

fig*_*aro 45 reboot amazon-ec2

重新启动时,亚马逊实例的IP地址会发生变化.如何使用java API查找新的IP地址?

Eri*_*ond 103

重新启动时,EC2实例的IP地址不会更改.它们通常在非VPC EBS引导实例的停止/启动时更改.

请在此处查看我对相关问题的回答:

/sf/ask/527371001/

也就是说,您可以通过API调用您特定语言的DescribeInstances来查找私有和公共IP地址.

如果您在实例本身,您还可以使用简单的HTTP通过用户数据API找到IP地址:

http://instance-data/latest/meta-data/local-ipv4
http://instance-data/latest/meta-data/public-ipv4
Run Code Online (Sandbox Code Playgroud)

例如,

wget -qO- http://instance-data/latest/meta-data/public-ipv4
Run Code Online (Sandbox Code Playgroud)

建议使用弹性IP地址,以便为特定服务或服务器保持一致的(静态)外部IP地址.这些需要在停止/启动后重新分配给实例(但不是在重启后).


bul*_*ley 51

curl http://169.254.169.254/latest/meta-data/public-ipv4
Run Code Online (Sandbox Code Playgroud)


小智 38

公共IPv4地址也可以从EC2实例获得,如下所示:

curl checkip.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

公共主机名是:

dig -x $(curl -s checkip.amazonaws.com) +short
Run Code Online (Sandbox Code Playgroud)


Eig*_*uru 5

假设您不想分配弹性IP地址(并且有理由说明这并不总是一个解决方案),那么只需调用DescribeInstances重新启动的实例,该实例将返回包含公共IP地址在内的大量信息.

以下是有关该主题的AWS EC2 Java API文档.