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

时间:2014-04-30 08:16:26

标签: ubuntu amazon-ec2 ip

我正在EC2上运行ubuntu AMI。是否可以为正在运行的EC2实例分配/请求新的公共IP地址而不终止它并再次启动它?请注意,我对使用弹性IP功能不感兴趣,我只想使用EC2分配的常规随机公共IP地址。

5 个答案:

答案 0 :(得分:18)

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

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

  

定价是每个实例消耗的每个实例小时,从实例启动到终止或停止。消耗的每个部分实例小时将按整个小时计费。 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/

<强> TL; DR

免费的EIP供电解决方案?整个VPC的单个EIP,分配给单个实例。如果要释放/续订,请将该IP传输到需要新IP的实例,然后将其传输回原始实例。您现在可以快速更改实例的IP,每月最多50次,无需额外费用。

IP洗牌女士们先生们:)

答案 1 :(得分:3)

重新启动不会更改您的IP

如果您从EC2 Ubuntu计算机中重新启动实例,例如打字

$ reboot

然后您的实例将保持相同的内部和公共IP。

停止实例会改变您的IP

如果您使用AWS EC2管理控制台并停止计算机(请勿终止它!),您放弃分配的IP地址。

stopping ec2 instance

如果再次启动实例,您将请求新的地址。

如何快速检查您的IP

您可以使用CURL或Perl GET检查公共和私有IP,安装

$ sudo apt-get install libwww-perl

现在输入内部:

$ GET http://169.254.169.254/latest/meta-data/local-ipv4; echo
172.31.44.114

或者公开:

$ GET http://169.254.169.254/latest/meta-data/public-ipv4; echo
54.72.253.107

Read more

答案 2 :(得分:2)

创建后,您无法将公共IP分配给实例。无论是停止还是正在运行都无关紧要。

您唯一的选择是弹性IP。

公共IP只能在创建时分配给实例。一旦创建,你就不幸了。

答案 3 :(得分:1)

您可能拥有的唯一其他选项是停止和启动实例,并且可能会更改公共IP。我不是要求你终止实例。只需停止实例,然后重新启动它。它会(很可能)为您的实例分配一个新的公共IP。

对于那些在不知情的情况下投票的人,请找到下面的链接,告诉我所说的内容。 Read This

答案 4 :(得分:0)

双重重映射

弹性IP重新映射将更改公共IP。

  • 以没有弹性IP的实例进行操作。
  • 与此关联弹性IP 实例
  • 从此实例释放弹性IP

Voila公共IP发生了变化,仅使用了亚秒级的弹性IP。

缺点

您每月只能进行100次Elastic IP重映射而无需付费(之后为$ 0.1 /重映射)