Stay organized with collections
Save and categorize content based on your preferences.
Move an external IPv4 address to a different project
Static external IPv4 addresses are associated with a Google Cloud project and
can be used only within that project. However, you can move a static external
IPv4 address from one project to another.
IAM roles and permissions
To move a regional IP address, you must have the following permissions:
compute.addresses.delete in the source project
compute.addresses.create in the destination project
To move a global IP address, you must have the following permissions:
compute.globalAddresses.delete in the source project
compute.globalAddresses.create in the destination project
The IP address is not in use by any resource, for example, a VM instance or a forwarding rule.
To unassign an IP address, see
Unassign 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, see
Moving 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 to
global.
Move an external IPv4 address to a different project
You can move a regional or global external IPv4 address from one project to
another. When you move the IP address, by default the IP address resource is
assigned the same name and description. However, you can choose to assign a new
name or description. After the external IPv4 address is moved to a new project,
you can assign it to eligible resources in
that project.
In the More actions menu (more_vert) of the IP address
that you want to move, select Move to another project.
Click Select project, and then select the project that you want to
move the IP address to.
Optional: Enter a new Name for the IP address.
Optional: Enter a new Description for the IP address.
Click Move.
gcloud
The command options vary depending on whether you're moving a
regional or global IP address, and whether you're keeping or replacing
the address name or description. The following examples describe some
of these combinations.
Move a regional external IPv4 address to a different project:
The request details vary depending on whether you're moving a
regional or global IP address, and whether you're keeping or replacing
the address name or description. The following examples describe some
of 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 assign
it 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 resource
that you want to move.
SOURCE_PROJECT: the name or ID of the project that
you want to move the IP address to.
TARGET_PROJECT: the name or ID of the project that
you want to move the IP address to.
REGION: the region of the IP address.
NEW_NAME: a new name for the IP address resource in
the new project.
NEW_DESCRIPTION: a new name for the IP address
resource in the new project. If omitted, the existing description, if
any, 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 external
IPv4 address:
Invalid resource usage: 'Cannot move address that belongs to a reserved address
range. Address range must be disassembled first.'
If you see this message, it means that the IP address was reserved by Cloud
Support as part of a contiguous IP address range. To move an IP address of this
type, contact Cloud Support.
Cloud Support can move the entire IP address range to another project. Moving
only part of the range is not supported.
To check if an IP address is part of a range that was reserved by Cloud Support,
do the following:
Check the name of the IP address. If the IP address was reserved by Cloud
Support, 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 the
following form:
STRING-198-51-100-2. Other IP addresses that were reserved as part
of the same range share the same string, followed by their IP addresses.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Move an external IPv4 address to a different project\n====================================================\n\nStatic external IPv4 addresses are associated with a Google Cloud project and\ncan be used only within that project. However, you can move a static external\nIPv4 address from one project to another.\n\nIAM roles and permissions\n-------------------------\n\nTo move a regional IP address, you must have the following permissions:\n\n- `compute.addresses.delete` in the source project\n- `compute.addresses.create` in the destination project\n\nTo move a global IP address, you must have the following permissions:\n\n- `compute.globalAddresses.delete` in the source project\n- `compute.globalAddresses.create` in the destination project\n\nExample roles that include these permissions:\n\n- [Compute Admin](/compute/docs/access/iam#compute.admin) (`roles/compute.admin`)\n- [Compute Network Admin](/compute/docs/access/iam#compute.networkAdmin) (`roles/compute.networkAdmin`)\n- [Compute Public IP Admin](/compute/docs/access/iam#compute.publicIpAdmin) (`roles/compute.publicIpAdmin`)\n\nBefore you begin\n----------------\n\n- Verify that the system limits for your project let you move IP addresses. See the following per-project system limits:\n - [Address move requests per minute](/vpc/docs/quota#global-address-move-quota)\n - [Address move requests per minute per region](/vpc/docs/quota#per-region-address-move-quota)\n\n 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.\n- Verify that the project that you want to move the IP address to exists. If not, [create a project](/resource-manager/docs/creating-managing-projects).\n- [Enable](https://console.cloud.google.com/apis/library/compute.googleapis.com) the [Compute Engine API](/compute/docs/reference/rest/v1) in the target project.\n- Verify that the target project has enough available capacity in the appropriate quotas for the IP addresses that you're moving:\n - For regional external IP addresses, check the [static IP addresses quota](/vpc/docs/quota#static-ip-addresses-quota).\n - For global external IP addresses, check the [static IP addresses global quota](/vpc/docs/quota#static-ip-addresses-global-quota).\n- Verify that the IP address that you want to move has the following attributes:\n - The access type is external.\n - The IP version is IPv4.\n - The IP address is reserved (static), not ephemeral. To reserve an IP address, see [Reserve a new static external IP address](/vpc/docs/reserve-static-external-ip-address#reserve_new_static).\n - The IP address is not in use by any resource, for example, a VM instance or a forwarding rule. To unassign an IP address, see [Unassign a static external IP address](/compute/docs/ip-addresses/configure-static-external-ip-address#unassign_ip).\n - The IP address was not reserved by Cloud Support as part of a contiguous IP address range. For more information, see [Moving an external IPv4 address fails](#reserved-range).\n\nLimitations\n-----------\n\n- If you unassign an IP address, you must wait some time before you move it:\n\n - For global IP addresses, wait 10 minutes.\n - For regional IP addresses, wait 20 minutes.\n- You can't change the region of a regional IP address.\n\n- You can't convert a global IP address to regional or a regional IP address to\n global.\n\n- You can't move [BYOIP addresses](/vpc/docs/bring-your-own-ip) between\n projects.\n\nMove an external IPv4 address to a different project\n----------------------------------------------------\n\nYou can move a regional or global external IPv4 address from one project to\nanother. When you move the IP address, by default the IP address resource is\nassigned the same name and description. However, you can choose to assign a new\nname or description. After the external IPv4 address is moved to a new project,\nyou can assign it to [eligible resources](/vpc/docs/ip-addresses#external) in\nthat project. \n\n### Console\n\n1. In the Google Cloud console, go to **IP addresses**.\n\n [Go to IP addresses](https://console.cloud.google.com/networking/addresses/list)\n\n \u003cbr /\u003e\n\n2. In the **More actions** menu (more_vert) of the IP address\n that you want to move, select **Move to another project**.\n\n3. Click **Select project**, and then select the project that you want to\n move the IP address to.\n\n4. Optional: Enter a new **Name** for the IP address.\n\n5. Optional: Enter a new **Description** for the IP address.\n\n6. Click **Move**.\n\n### gcloud\n\nThe command options vary depending on whether you're moving a\nregional or global IP address, and whether you're keeping or replacing\nthe address name or description. The following examples describe some\nof these combinations.\n\n- Move a regional external IPv4 address to a different project:\n\n ```\n gcloud compute addresses move ADDRESS_NAME \\\n --target-project=TARGET_PROJECT \\\n --region=REGION\n ```\n- Move a regional external IPv4 address to a different project and assign\n it a new name and description in the new project:\n\n ```\n gcloud compute addresses move ADDRESS_NAME \\\n --target-project=TARGET_PROJECT \\\n --new-name=NEW_NAME \\\n --description=NEW_DESCRIPTION \\\n --region=REGION\n ```\n- Move a global external IPv4 address to a different project:\n\n ```\n gcloud compute addresses move ADDRESS_NAME \\\n --target-project=TARGET_PROJECT \\\n --global\n ```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eADDRESS_NAME\u003c/var\u003e: the name of the IP address resource that you want to move.\n- \u003cvar translate=\"no\"\u003eTARGET_PROJECT\u003c/var\u003e: the name or ID of the project that you want to move the IP address to.\n- \u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e: the region of the IP address.\n- \u003cvar translate=\"no\"\u003eNEW_NAME\u003c/var\u003e: a new name for the IP address resource in the new project.\n- \u003cvar translate=\"no\"\u003eNEW_DESCRIPTION\u003c/var\u003e: a new name for the IP address resource in the new project. If omitted, the existing description, if any, is used for the resource.\n\nFor more information, see the [`gcloud compute addresses\nmove`](/sdk/gcloud/reference/v1/compute/addresses/move) reference\ndocumentation.\n\n### API\n\nThe request details vary depending on whether you're moving a\nregional or global IP address, and whether you're keeping or replacing\nthe address name or description. The following examples describe some\nof these combinations.\n\n- Move a regional external IPv4 address to a different project:\n\n ```\n POST https://www.googleapis.com/compute/v1/projects/SOURCE_PROJECT/regions/REGION/addresses/ADDRESS_NAME/move\n {\n \"destination_address\": \"projects/TARGET_PROJECT/global/addresses/ADDRESS_NAME\",\n }\n ```\n- Move a regional external IPv4 address to a different project and assign\n it a new name and description in the new project:\n\n ```\n POST https://www.googleapis.com/compute/v1/projects/SOURCE_PROJECT/regions/REGION/addresses/ADDRESS_NAME/move\n {\n \"destination_address\": \"projects/TARGET_PROJECT/global/addresses/NEW_NAME\",\n \"description\": \"NEW_DESCRIPTION\",\n }\n ```\n- Move a global external IPv4 address to a different project:\n\n ```\n POST https://www.googleapis.com/compute/v1/projects/SOURCE_PROJECT/global/addresses/ADDRESS_NAME/move\n {\n \"destination_address\": \"projects/TARGET_PROJECT/global/addresses/ADDRESS_NAME\",\n }\n ```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eADDRESS_NAME\u003c/var\u003e: the name of the IP address resource that you want to move.\n- \u003cvar translate=\"no\"\u003eSOURCE_PROJECT\u003c/var\u003e: the name or ID of the project that you want to move the IP address to.\n- \u003cvar translate=\"no\"\u003eTARGET_PROJECT\u003c/var\u003e: the name or ID of the project that you want to move the IP address to.\n- \u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e: the region of the IP address.\n- \u003cvar translate=\"no\"\u003eNEW_NAME\u003c/var\u003e: a new name for the IP address resource in the new project.\n- \u003cvar translate=\"no\"\u003eNEW_DESCRIPTION\u003c/var\u003e: a new name for the IP address resource in the new project. If omitted, the existing description, if any, is used for the resource.\n\nTroubleshooting\n---------------\n\n### Moving an external IPv4 address fails\n\nYou might see the following error message when you try to move an external\nIPv4 address:\n\n`Invalid resource usage: 'Cannot move address that belongs to a reserved address\nrange. Address range must be disassembled first.'`\n\nIf you see this message, it means that the IP address was reserved by Cloud\nSupport as part of a contiguous IP address range. To move an IP address of this\ntype, contact [Cloud Support](https://console.cloud.google.com/support?referrer=PlatformBarHelp).\nCloud Support can move the entire IP address range to another project. Moving\nonly part of the range is not supported.\n\nTo check if an IP address is part of a range that was reserved by Cloud Support,\ndo the following:\n\n1. [List static external IP addresses](/vpc/docs/reserve-static-external-ip-address#list_ip), and then find the IP address that you want to check.\n2. Check the name of the IP address. If the IP address was reserved by Cloud Support, 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 the following form: \u003cvar translate=\"no\"\u003eSTRING\u003c/var\u003e`-198-51-100-2`. Other IP addresses that were reserved as part of the same range share the same string, followed by their IP addresses."]]