当我在 AWS 控制台中启动实例时,我可以将“自动分配公共 IP”设置为 true,并且新创建的实例将从池中分配公共 IP 地址。
现在假设我已启动实例,并将此设置设为 false,并希望为该实例分配公共 IP。与第一种情况相同的公共 IP,而不是弹性 IP。
PS 我知道我可以启动新实例并关闭旧实例。我特别想分配给一个已经运行的实例。
答案1
您启动的没有公共 IP 的实例将保持没有auto assign public IP
公共 IP,因为只有在启动实例时才可分配。如果您在启动实例时选择不具有公共 IP,即使已开启子网,也不会为您的实例分配公共 IP。
我知道的唯一方法是选择assign a public IP
前启动实例或设置子网以自动分配公共 IP,仅当您启动新实例时才会执行此操作。
assign a public IP
总结一下:除非您使用 EIP,否则在启动该实例后不可能做到这一点。
答案2
为了事后纠正此问题,请关闭原始服务器,启动一个启用自动分配公共 IP 的新服务器并附加现有卷。
然后您可以丢弃原始实例。
答案3
如果您使用 ELB 和 Autoscaling,则动态创建实例并对其进行压力测试会很困难。此场景的一个解决方案是:
选择 EC2 实例 > 操作 > 网络 > 管理 IP 地址。然后使用选项“要添加或编辑 IPv4 公共 IP,请为此实例或网络接口分配弹性 IP”。
- 创建弹性 IP
- 导航到弹性 IP 地址链接 > 单击关联 IP
- 选择要关联IP的实例并保存。
现在您将拥有具有公共 IP 的 EC2 实例,无需重新启动/删除 EC2 实例。