How can I get new fresh Static IPs?

We have a slightly unusual use case where we need to routinely recycle public IPs attached to our Compute Engine instances as part of a cybersecurity ASM scanning platform used for client assets.

In practice, when we release external IPs and recreate instances or reassign addresses, we consistently receive the same IPs back, even after deleting the instance and releasing the address. From prior experience, it appears that external IP allocation is at least partially project-scoped or pool-affined, which would explain this behaviour.

Historically, creating a new GCP project results in access to a fresh IP pool, however this is not a scalable or practical approach for us due to project limits, operational overhead, and IAM complexity.

We are trying to understand:

  • Whether there is any supported way to request or rotate into different external IP pools within the same project

  • Whether IP affinity is expected behaviour and if so how long it persists

  • If there are any recommended architectures for workloads that legitimately require high IP churn without creating new projects

1 Like

What you are seeing is expected behavior. External IPv4 allocation in Compute Engine is project and region scoped, and Google will often reuse recently released IPs from the same pool. There is no supported way to request a different external IP pool or force “fresh” IPs within the same project, and affinity can persist for an undefined period depending on pool availability.

If you need high IP churn, the usual workaround is architectural rather than IP based, such as routing egress through Cloud NAT with multiple NAT IPs, or using a proxy or load balancer layer where IP rotation is handled upstream. Creating new projects is the only reliable way to guarantee new pools, but as you noted, it does not scale well.