如果互联网网关不变,Amazon EC2 中 VPC 的公有 IP 地址会改变吗?

如果互联网网关不变,Amazon EC2 中 VPC 的公有 IP 地址会改变吗?

Amazon EC2 VPC 中有一个实例,其私有 IP 地址仅为 192.168.1.100。VPC 使用 Internet Gateway 连接到公共网络。我使用“curl -s checkip.dyndns.org”找到了我的 IP 地址,将其设置为 1.2.3.4

现在我需要与第三方团队沟通,以便他们允许防火墙上来自我的 1.2.3.4 地址的传入请求。我不想有一天醒来发现服务器无法与第三方 API 通信,因为我的 IP 已为他们更改,而防火墙阻止了他们那边的一切。

我的主要问题是:如果 VPC 的 Internet 网关不变,我的实例的公共 IP 地址是否会在第三方防火墙中保持不变?或者没有办法维护我的公共 IP,唯一的选择是使用弹性 IP地址或NAT 网关服务?

答案1

如果您没有为实例分配EIP,实例停止后再重启,分配给该实例的公网地址将会改变。

只要您分配的 EIP 在正在运行的实例上被积极使用,则无需支付 EIP 分配费用(请参阅:https://aws.amazon.com/premiumsupport/knowledge-center/elastic-ip-charges/

我见过正常运行时间超过一年的 EC2 实例。我也遇到过长时间运行的实例被停止的情况(不是我造成的)——我想这是由于系统(虚拟机管理程序)故障或虚拟机管理程序所属的机架退役造成的。

要点:如果你没有分配 EIP,

  • 公共地址将保持不变,除非实例停止
  • 没有办法找回那个地址

如果您确实分配了 EIP:

  • 除非 EIP 未附加到正在运行的实例,否则无需付费

    • 在 us-west-2 中,一个已分配但未使用的 EIP 每天将花费你 12 美分
  • 分配的 EIP 将附加到您的账户/VPC,直到您释放它为止

  • 当你发布 EIP 时,它就消失了。你找回它的可能性很小

答案2

简短回答:分配一个 ElasticIP 地址。它是免费的。

详细回答:查找公共 IP 的更好方法是使用实​​例元数据。这会为您提供公共或弹性 IP。

curl http://169.254.169.254/latest/meta-data/public-ipv4
(response) 1.2.3.4

如果您停止并启动实例,自动分配的公共 IP 将会改变,但如果您重新启动实例操作系统,则不会改变。但是,自动分配的 IP 不适合长期使用。

为您的实例分配一个 ElasticIP。它不会改变。唯一的警告是“您将按比例每小时为每个未与正在运行的实例关联的 Elastic IP 地址支付 0.005 美元”。如果您请求 ElasticIP 然后立即将其分配给您的实例,则不会产生任何费用。此 EIP 将替换您自动分配的公共 IP 地址。

互联网网关无关紧要,它是一个允许互联网通信的逻辑概念。如果您使用 NAT 允许私有子网中的实例与互联网通信,那么您必须使用它的 IP,但听起来您并没有这样做。

相关内容