我可以删除我的实例上的公共IP而不终止它吗?

lon*_*556 15 amazon-ec2 amazon-web-services

我在vpc上有几个实例,它们通过私有的ips相互通信.每个实例都是在不久前启动的,并分配了一个随机的公共IP,不用于任何事情.由于任何公开的内容都存在漏洞而且根本没有使用它们,我想删除它们.

是否可以在不终止实例的情况下删除公共IP地址?

Cyc*_*ave 18

是的,您可以从实例中删除公共 IP 地址。

当您的实例在启用了“自动分配公共 IP”设置的子网中启动时,此解决方案适用。这使得 AWS 添加了一个似乎难以删除的公共 IP 地址。

笔记:

  • 如果更改子网自动分配设置并停止和启动实例,这不起作用,它没有任何作用。公共 IP 保留。
  • 如果您通过关联弹性 IP 获得公共 IP,那么情况就不同了,并且易于修复;您需要做的就是右键单击实例或弹性 IP,然后选择“网络”、“取消关联弹性 IP 地址”)

这里有一个投票否决的解决方案,起初似乎可行,但是当您再次启动实例时,公共 IP 会返回(作为不同的地址)。

解决方法:(详细步骤如下)

您需要先添加另一个网络接口,(所以有两个或多个 N.Is),然后您可以通过添加和删除弹性 IP 来释放公共地址。

以下是详细的分步指南:

  1. 创建一个新的网络接口。
  2. 将新网络接口附加到您的实例。现在将有两个或更多网络接口连接到您的实例。这个很重要。必须有两个或更多才能工作。
  3. 创建一个新的弹性 IP(在 EC2 控制台中)。
  4. 右键单击新的 EIP 并将其关联到要删除其公共 IP 的实例。原来的公网IP会被新的IP取代。
  5. 现在执行步骤 4 的相反操作,取消关联您刚刚添加的 EIP。此时,右键单击实例并选择“网络”、“管理 IP 地址”,您将看到您的实例上不再有公共 IP。这一点。您必须刷新实例视图,否则您将看不到此内容。

    公共 IP 现在已经一去不复返了。即使您停止并启动实例,它也不会返回。

  6. 整理:删除之前创建的弹性IP。不要删除新的额外网络接口。这必须留在原地。如果您删除新的/第二个 NI,则公共 IP 将在您下次停止和启动实例时返回。

我知道这听起来有点奇怪,但它在此处的 AWS 文档中,我已经对其进行了测试并且可以正常工作。

该页面上 AWS 文档中的相关部分是:“如果您在 VPC 中的实例的公共 IP 地址已被释放,如果有多个网络接口连接到您的实例,它将不会收到新的 IP 地址。 ”

  • 确保 1. 您的子网自动分配设置设置为_不_分配公共 IP,2. 严格按照上述步骤操作,尤其是第 6 点;不要删除刚刚添加的新接口,必须始终有两个或更多。他们必须留下来阻止公共IP。如果只有一个,当您重新启动时它会回来。, 3. 查看实例来测试其是否有效时,请务必刷新页面。4. 如果您仍然遇到问题,请联系 AWS 技术支持,并参考 AWS 文档中描述其工作原理的上述链接。 (2认同)
  • 不确定“基本上破坏了我的网络”是什么意思,如果您失去了与互联网的连接,是的,这就是此过程的目的。这些步骤旨在删除公共(面向互联网)IP,这就是目标。 (2认同)

err*_*07s 11

没有终止实例是不可能的.如果它是Elastic Ip那么它会起作用.

唯一的选择是获取实例的AMI,终止实例并在VPC中启动AMI,而不为该实例启用公共IP地址.

使用该专用IP终止实例后,您可以将该专用IP再次分配给您从Image创建的新实例.(只要它在同一个VPC和子网中)这样你就不需要更新私有IP了所有"vpc上通过私有ips相互通信的实例"

  • 这是可能的,请注意 CyclingDave 的评论。 (4认同)
  • 谢谢,希望有一天这会更容易 (2认同)