ubuntu - 在没有停止/启动或弹性 IP 的情况下更改 EC2 实例的公共(public) IP 地址

标签 ubuntu amazon-ec2 ip

我在 EC2 上运行一个 ubuntu AMI。是否可以在不终止并重新启动的情况下为正在运行的 EC2 实例分配/请求新的公共(public) IP 地址?请注意,我对在这里使用弹性 IP 功能不感兴趣,我只想使用由 EC2 分配的常规随机公共(public) IP 地址。

最佳答案

更新
正如 Alex B 在评论中指出的那样,AWS EC2 实例现在按秒计费,最短计费周期为 1 分钟。这是一个巨大且受欢迎的改进。这意味着启动和停止实例应该刷新 IP,而不会增加额外成本。

需要牢记的一件重要事情是,按秒计费仅适用于 Amazon LinuxUbuntu 实例。其他操作系统和以前一样按小时计费。在这些情况下,下面解释的原始方法可能是最佳选择。


停止和启动实例是更改 IP 的一种方式,但它不是最快的,甚至不是最便宜的,但它确实符合您避免使用弹性 IP 的标准。

从计费角度来看,停止和启动实例与终止/重新启动实例相同。

Pricing is per instance-hour consumed for each instance, from the time an instance is launched until it is terminated or stopped. Each partial instance-hour consumed will be billed as a full hour. http://aws.amazon.com/ec2/pricing/

这意味着,如果您启动一个实例,半小时后将其停止,然后再次启动并运行半小时,然后再次停止,那一小时,您实际上需要支付费用使用两个小时。

在这种情况下,弹性 IP 很可能是更好的解决方案,但弹性 IP 的额外成本是大多数人想要避免的。我们实际上并不想要一个固定的 IP。我们只想要一个新的。为每个实例支付唯一的 IP 对此没有意义。有趣的是,我们不需要为每个实例分配一个 EIP 来释放/更新实例的外部 IP。我们只需要一个用于整个 VPC。

当你为一个实例分配一个 EIP 时,旧的 IP 就完全消失了,释放到虚无中。当您从实例中删除 EIP 时,实例将被迫从池中请求一个新的外部 IP。

将单个弹性 IP 附加到俄勒冈地区 (us-west-2) 中的实例是免费的,只要它附加到某物即可。如果未附加,坐在那里的费用为 0.05 美元/小时。

每月前 100 个 IP 重新映射是免费的。对我们来说,这相当于 50 次免费 IP 刷新(1 次重新映射用于发布,1 次用于更新)。如果您突破 100 次重新映射限制,价格会迅速上涨,达到 0.10 美元/重新映射(或 0.20 美元/IP 刷新),因此请尽量保持跟踪。 http://aws.amazon.com/ec2/pricing/

长话短说

免费的 EIP 驱动的解决方案?整个 VPC 的单个 EIP,分配给单个实例。当你想释放/更新时,将该IP转移到需要新IP的实例,然后将其转移回原始实例。现在,您每月最多可以免费更改实例的 IP 50 次。

IP 洗牌,女士们先生们:)

关于ubuntu - 在没有停止/启动或弹性 IP 的情况下更改 EC2 实例的公共(public) IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23383001/

相关文章:

c - 如何获取远程计算机的本地网络IP地址

docker - Docker 中的 Airflow : how to add DAGs to Airflow?

apache - 如何在 Nginx 上编辑 'Index of etc' 页面并让它们响应?

Linux 某类文件修改后如何执行命令?

sql-server - Amazon EC2 Sql 性能

ubuntu - 如何访问我在 EC2 实例上创建的 EBS 卷?

ftp - 如何在亚马逊AWS上使用FTP

iphone - ios/objective C ip欺骗样本

java - 在 Ubuntu 上安装 Java 7

Windows 7 阻止 UDP 广播消息