Move an external IPv4 address to a different project
Static external IPv4 addresses are associated with a Google Cloud project andcan be used only within that project. However, you can move a static externalIPv4 address from one project to another. The projects can be in the sameorganization or different organizations.
IAM roles and permissions
To move a regional IP address, you must have the following permissions:
compute.addresses.deletein the source projectcompute.addresses.createin the destination project
To move a global IP address, you must have the following permissions:
compute.globalAddresses.deletein the source projectcompute.globalAddresses.createin the destination project
Example roles that include these permissions:
- Compute Admin (
roles/compute.admin) - Compute Network Admin (
roles/compute.networkAdmin) - Compute Public IP Admin (
roles/compute.publicIpAdmin)
Before you begin
- Verify that the system limits for your project let you move IP addresses. See the following per-project system limits: If the system limit values are
0, you can't move IP addresses. If you need to move IP addresses, contact your Google Cloud sales team. - Verify that the project that you want to move the IP address to exists. Ifnot,create a project.
- Enable theCompute Engine API in the targetproject.
- Verify that the target project has enough available capacity in theappropriate quotas for the IP addresses that you're moving:
- For regional external IP addresses, check thestatic IP addresses quota.
- For global external IP addresses, check thestatic IP addresses global quota.
- Verify that the IP address that you want to move has the followingattributes:
- The access type is external.
- The IP version is IPv4.
- The IP address is reserved (static), not ephemeral. To reserve an IP address, seeReserve a new static external IP address.
- The IP address is not in use by any resource, for example, a VM instance or a forwarding rule. To unassign an IP address, seeUnassign a static external IP address.
- The IP address was not reserved by Cloud Support as part of a contiguous IP address range. For more information, seeMoving an external IPv4 address fails.
Limitations
If you unassign an IP address, you must wait some time before you move it:
- For global IP addresses, wait 10 minutes.
- For regional IP addresses, wait 20 minutes.
You can't change the region of a regional IP address.
You can't convert a global IP address to regional or a regional IP address toglobal.
You can't moveBYOIP addresses betweenprojects.
Move an external IPv4 address to a different project
You can move a regional or global external IPv4 address from one project toanother. When you move the IP address, by default the IP address resource isassigned the same name and description. However, you can choose to assign a newname or description. After the external IPv4 address is moved to a new project,you can assign it toeligible resources inthat project.
Console
In the Google Cloud console, go toIP addresses.
In theMore actions menu () of the IP addressthat you want to move, selectMove to another project.
ClickSelect project, and then select the project that you want tomove the IP address to.
Optional: Enter a newName for the IP address.
Optional: Enter a newDescription for the IP address.
ClickMove.
gcloud
The command options vary depending on whether you're moving aregional or global IP address, and whether you're keeping or replacingthe address name or description. The following examples describe someof these combinations.
Move a regional external IPv4 address to a different project:
gcloud compute addresses moveADDRESS_NAME \ --target-project=TARGET_PROJECT \ --region=REGION
Move a regional external IPv4 address to a different project and assignit a new name and description in the new project:
gcloud compute addresses moveADDRESS_NAME \ --target-project=TARGET_PROJECT \ --new-name=NEW_NAME \ --description=NEW_DESCRIPTION \ --region=REGION
Move a global external IPv4 address to a different project:
gcloud compute addresses moveADDRESS_NAME \ --target-project=TARGET_PROJECT \ --global
Replace the following:
ADDRESS_NAME: the name of the IP address resourcethat you want to move.TARGET_PROJECT: the name or ID of the project thatyou want to move the IP address to.REGION: the region of the IP address.NEW_NAME: a new name for the IP address resource inthe new project.NEW_DESCRIPTION: a new name for the IP addressresource in the new project. If omitted, the existing description, ifany, is used for the resource.
For more information, see thegcloud compute addressesmove referencedocumentation.
API
The request details vary depending on whether you're moving aregional or global IP address, and whether you're keeping or replacingthe address name or description. The following examples describe someof these combinations.
Move a regional external IPv4 address to a different project:
POST https://www.googleapis.com/compute/v1/projects/SOURCE_PROJECT/regions/REGION/addresses/ADDRESS_NAME/move{ "destination_address": "projects/TARGET_PROJECT/global/addresses/ADDRESS_NAME",}Move a regional external IPv4 address to a different project and assignit a new name and description in the new project:
POST https://www.googleapis.com/compute/v1/projects/SOURCE_PROJECT/regions/REGION/addresses/ADDRESS_NAME/move{ "destination_address": "projects/TARGET_PROJECT/global/addresses/NEW_NAME", "description": "NEW_DESCRIPTION",}Move a global external IPv4 address to a different project:
POST https://www.googleapis.com/compute/v1/projects/SOURCE_PROJECT/global/addresses/ADDRESS_NAME/move{ "destination_address": "projects/TARGET_PROJECT/global/addresses/ADDRESS_NAME",}
Replace the following:
ADDRESS_NAME: the name of the IP address resourcethat you want to move.SOURCE_PROJECT: the name or ID of the project thatyou want to move the IP address to.TARGET_PROJECT: the name or ID of the project thatyou want to move the IP address to.REGION: the region of the IP address.NEW_NAME: a new name for the IP address resource inthe new project.NEW_DESCRIPTION: a new name for the IP addressresource in the new project. If omitted, the existing description, ifany, is used for the resource.
Troubleshooting
Moving an external IPv4 address fails
You might see the following error message when you try to move an externalIPv4 address:
Invalid resource usage: 'Cannot move address that belongs to a reserved addressrange. Address range must be disassembled first.'
If you see this message, it means that the IP address was reserved by CloudSupport as part of a contiguous IP address range. To move an IP address of thistype, contactCloud Support.
To check if an IP address is part of a range that was reserved by Cloud Support,do the following:
- List static external IP addresses,and then find the IP address that you want to check.
- Check the name of the IP address. If the IP address was reserved by CloudSupport, its name is made up of a string followed by the four bytes of the IP address, separated by hyphens. For example, if an IP address is
198.51.100.2, and it was reserved by Cloud Support, the name has thefollowing form:STRING-198-51-100-2. Other IP addresses that were reserved as partof the same range share the same string, followed by their IP addresses.
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-02-19 UTC.