How to determine why a static external IP address changed in GCP?

In Google Cloud, there are two lifetimes for external public IP addresses: reserved and ephemeral. There are also two types: global and regional.

A reserved IP address does not change. These addresses are allocated to your project and can be moved between resources.

An ephemeral IP address is assigned to a resource and does not persist beyond the life of the resource. This means that when the resource stops or is deleted, the ephemeral address is released back to a common pool of available addresses. When a resource is restarted, sometimes the same address is assigned, but that is not predictable.

Common reasons for an IP address to change is that you stopped and then restarted a Compute resource.

Ephemeral and static IP addresses

If you do not want the external public IP address to change, reserve the address.

Reserving a static external IP address