Google Compute Engine Assigning Static IP pricing?
Static and ephemeral IP addresses in use on standard VM instances are charged $0.004 per hour starting January 1st, 2020. This price is $0.002 per hour on preemptible VM instances:
https://cloud.google.com/compute/all-pricing#ipaddress
https://cloud.google.com/compute/network-pricing#ipaddress
This means that an external IP address is no longer free, even if it is in use and you will have to pay ~2.90 USD per month (or ~1.45 USD per month for preemptible instances) for each IP(v4) address.
Notes:
Currently GCP does not provide IPv6 addresses.
There was a grace period between 1st of January and 30th of June 2020, where this amount was fully discounted by Google and you did not have to pay it.
You can practically use one IP address for free in GCP Free Tier independent of the size of your (non-preemptible) instance:
Google Cloud Free Tier is also available for external IP addresses that are being used by VM instances. In-use external IP addresses are available without additional cost until you have used a number of hours equal to the total hours in the current month. Usage calculations are combined across all in-use external IP addresses across all regions. Google Cloud Free Tier for in-use external IP addresses applies to all non-preemptible instance types, not just f1-micro instances.
UPDATE: Since January 1st, 2020, static and ephemeral external IP are charged $0.004/hour when in use and $0.010 when assigned but unused. Static and ephemeral IP addresses attached to forwarding rules remain uncharged. More info on the official online doc.
The idea behind this change is to reduce global static IP usage and to encourage users to use private VM instances (without static external IP) and expose them to the outside via Cloud NAT, thus reducing the attack surface.
This info is in the online documentation for Compute Engine. It reads:
If you reserve a static external IP address but do not use it, you will be charged for the IP address according to the table below. If you reserve a static external IP address and use it with a Compute Engine resource, such as VM instance or a forwarding rule, the address is considered in use and you will not be charged for it.