实例启动后分配公共 IP(非弹性 IP)

Yar*_*min 64 amazon-ec2

当我在 AWS 控制台中启动实例时,我可以将“自动分配公共 IP”设置为 true,新创建的实例将从池中分配公共 IP 地址。

现在假设我已经启动了此设置为 false 的实例,并希望为此实例分配公共 IP。与第一种情况相同的公共 IP,而不是弹性 IP。

PS 我知道我可以启动新实例并关闭旧实例。我对分配给一个已经在运行的人特别感兴趣。

小智 63

您在没有公共 IP 的情况下启动的实例将保持不变,因为它只能在您启动实例时分配。auto assign public IP如果您在启动实例时选择没有公共 IP,即使有一个打开的子网也不会为您的实例分配公共 IP。

我知道的唯一方法是assign a public IP 启动实例之前进行选择或者将子网设置为自动分配公共 IP,只有在您启动新实例时才会这样做。

总结一下:assign a public IP除非您使用 EIP,否则在启动该实例之后是不可能的。

  • 抱歉情绪激动,亚马逊确实很糟糕,因为所有这些事情你事后都无法改变。它无处不在 - 无法重命名,无法删除,无法分配。无论如何,他们使用自己的系统吗?:) (27认同)
  • 现在,AWS 新的仪表板可以实现这一点。Nischal S 的答案对我有用 (2认同)

小智 14

之后要纠正它,请关闭您的原始服务器,启动一个启用自动分配公共 IP 并附加现有卷的新服务器。

然后您可以丢弃原始实例。

  • “更像这样启动”可以减少重复。 (7认同)

小智 7

如果您正在使用 ELB 和 Autoscaling,那么动态创建实例并对实例进行压力测试是很困难的。这种情况下的一种解决方案:

选择 EC2 实例 > 操作 > 网络 > 管理 IP 地址。然后使用选项“添加或编辑 IPv4 公共 IP 将弹性 IP 分配给此实例或网络接口”。

  1. 创建弹性IP
  2. 导航到弹性 IP 地址链接> 单击关联 IP
  3. 选择要关联IP的实例并保存。

现在您将拥有具有公共 IP 的 EC2 实例,而无需重新启动/删除 EC2 实例。

  • EIP 仅在您的实例运行时免费。如果您的实例处于停止状态,则它们的每小时成本与运行小型实例的成本大致相同。 (3认同)
  • 只要该区域有可用的弹性 IP(通常只有 5 个可用),此操作就有效。 (2认同)