将临时 IP 地址释放回 GCE 池需要多长时间?

How long does it take to release the ephemeral IP address back to the GCE pool?

Ephemeral external IP addresses: these addresses are available to VM instances and forwarding rules. Ephemeral external IP addresses remain attached to a VM instance only until the VM is stopped and restarted or the instance is terminated. If an instance is stopped, any ephemeral external IP addresses that were assigned to the instance are released back into the general Compute Engine pool and become available for use by other projects. When a stopped instance is started again, a new ephemeral external IP address is assigned to the instance.

我认为是即时的,一旦 VM 停止,我们将不会取回相同的临时 IP 地址。然而,临时外部 IP 地址似乎仍将分配给一个项目一段时间。比如我前两天删除了一个虚拟机,释放了一个IP地址。今天将相同的 IP 地址分配给新的 VM。

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

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

答案是“您的实例是否重复使用临时地址应该无关紧要”。

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

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

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

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

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

您问题的答案-

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

一些用户已经完成 some tests like this 并得出结论,如果可以的话,系统倾向于将熟悉的 IP 地址分配给 VM。然而,这并没有得到 GCP 的证实。无论如何,它没有用,因为无法保证您将获得什么 IP 地址。