【问题标题】:How long does it take to release the ephemeral IP address back to the GCE pool?将临时 IP 释放回 GCE 池需要多长时间?
【发布时间】:2021-11-16 11:07:40
【问题描述】:

临时外部 IP 地址:这些地址可供 VM 使用 实例和转发规则。临时外部 IP 地址仍然存在 仅在 VM 停止并重新启动之前附加到 VM 实例 或实例终止。如果实例停止,任何 分配给实例的临时外部 IP 地址是 释放回通用 Compute Engine 池并成为 可供其他项目使用。当一个停止的实例 重新开始,一个新的临时外部 IP 地址被分配给 实例。

我认为是即时的,一旦 VM 停止,我们将不会取回相同的临时 IP。但是,临时外部 IP 似乎仍会在一段时间内分配给项目。例如,我两天前删除了一个虚拟机并发布了一个 IP。今天为新的虚拟机分配了相同的 IP。

  1. 将临时 IP 释放回 GCE 池需要多长时间?

  2. 临时外部 IP 是否“分配”给 VPC 或项目?如果一个 VPC 中有多个项目,临时 IP 是否会在项目中轮换,直到它们被释放到 GCE 池中?

【问题讨论】:

  • 对于那些有兴趣了解的人来说,即使在一周之后,临时 IP 似乎也不会消失。 -_-

标签: google-cloud-platform ip google-compute-engine google-vpc


【解决方案1】:

回答您的问题 -

  1. 瞬间完成。
  2. 临时地址不属于任何项目,可以随机分配给跨项目的任何资源。

一些用户做了一些测试,比如this,得出的结论是,如果可以的话,系统倾向于为虚拟机分配熟悉的 IP,但是,这并没有得到 GCP 的证实。无论如何,它没有用,因为无法保证您将获得什么 IP 地址。

【讨论】:

  • 谢谢。我确实认为同一组 IP 会在您的项目中“徘徊”一段时间,并且不会立即释放回池中。不能代表所有人,但至少就我而言,它是这样工作的。
  • 正如我所提到的,可以观察到系统倾向于将熟悉的 IP 分配给虚拟机。
【解决方案2】:

答案是“是否为您的实例重用临时地址并不重要”。

不保证您的实例将获得相同的地址或不会获得相同的地址。如果您设计的东西依赖于特定的临时 IP 地址行为,那么您的设计将在某些时候失败。

您的问题引用了 Google 的官方临时 IP 地址政策。根据该声明进行设计,并且不依赖于环境级别的行为。

如果您需要固定 IP 地址,请为您的实例分配一个静态 IP 地址。否则,您的实例将拥有 Google Cloud 决定的任何地址,这可能是重启或重新创建之间的相同地址,也可能不同。

如果您的目标是随机化公共 IP 地址,那么您不能指望临时地址行为来实现它。您可以分配一组静态 IP 地址,然后更改分配给实例的 IP 地址。请注意,未使用的 IP 地址是收费的(不是免费的)。另一种方法是在具有不同公共 IP 地址的不同区域和可用区中创建实例。您还可以编写一个脚本来创建虚拟机,直到地址不同(不是以前的一组地址的一部分),然后删除其他虚拟机(受配额限制)。

从客户支持的角度来看,为您重新分配相同的地址对 Google 有利。这最大限度地减少了一个常见问题。一些客户不明白默认 IP 地址是临时的以及这意味着什么。他们重新启动实例并且 IP 地址发生更改。这会破坏他们的 SSH 脚本、DNS 设置等。临时地址行为无法始终如一地部署,但在可能的情况下是积极的。

【讨论】:

  • 一个有趣的观点,也许随机化会更积极——尽早打破脆弱的设计并教育客户。
  • 我是一个新手,我认为暂时的IP地址是否被重用或释放不是一个问题。更重要的是要知道它是否会立即释放,或者知道分配的 IP 可能会在您的项目中“徘徊”多长时间,直到它完全释放回池中。
  • @FlyingPenguin - 在我回答之后你还有问题吗?
  • 谢谢@JohnHanley 是否有日志来跟踪在创建 VM 期间分配的 IP 地址?
  • @FlyingPenguin - 当您创建虚拟机时,Google 会记录该操作。我不确定是否记录了 IP 地址。如果您查看日志,将会有两个事件。第一个是创建名为“insert”的 VM 的请求,然后在 VM 完成或未能完成后创建另一个条目。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-06
  • 1970-01-01
  • 1970-01-01
  • 2012-06-30
  • 1970-01-01
  • 2011-08-19
相关资源
最近更新 更多