將外部 IPv4 位址移至其他專案
靜態外部 IPv4 位址與 Google Cloud 專案相關聯,且只能在該專案中使用。不過,您可以將靜態外部 IPv4 位址從一個專案移至另一個專案。
IAM 角色和權限
如要移動區域 IP 位址,您必須具備下列權限:
compute.addresses.delete
來源專案- 目的地專案的
compute.addresses.create
權限
如要移動全域 IP 位址,您必須具備下列權限:
compute.globalAddresses.delete
來源專案- 目的地專案的
compute.globalAddresses.create
權限
包含這些權限的角色範例:
- 運算管理員 (
roles/compute.admin
) - Compute 網路管理員 (
roles/compute.networkAdmin
) - Compute Public IP 管理員 (
roles/compute.publicIpAdmin
)
事前準備
- 確認專案的系統限制是否允許您移動 IP 位址。
每個專案的系統限制如下:
如果系統限制值為
0
,您就無法移動 IP 位址。如要遷移 IP 位址,請與 Google Cloud 銷售團隊聯絡。 - 確認要將 IP 位址移至的專案存在。如果沒有,請建立專案。
- 在目標專案中啟用 Compute Engine API。
- 確認目標專案在適當的配額中,有足夠的可用容量可供您遷移 IP 位址:
- 如果是區域外部 IP 位址,請檢查靜態 IP 位址配額。
- 如果是全域外部 IP 位址,請檢查靜態 IP 位址全域配額。
- 確認要遷移的 IP 位址具有下列屬性:
- 存取類型為外部。
- IP 版本為 IPv4。
- IP 位址為預留 (靜態),而非暫時性。 如要保留 IP 位址,請參閱「保留新的靜態外部 IP 位址」。
- IP 位址未供任何資源使用,例如 VM 執行個體或轉送規則。 如要取消指派 IP 位址,請參閱取消指派靜態外部 IP 位址。
- IP 位址並非由 Cloud 支援團隊保留,且不屬於連續 IP 位址範圍。詳情請參閱「無法移動外部 IPv4 位址」。
限制
如果取消指派 IP 位址,必須等待一段時間才能移動:
- 如果是全域 IP 位址,請等待 10 分鐘。
- 如果是區域 IP 位址,請等待 20 分鐘。
區域 IP 位址的區域無法變更。
您無法將全球 IP 位址轉換為地區 IP 位址,反之亦然。
您無法在專案之間移動 BYOIP 位址。
將外部 IPv4 位址移至其他專案
您可以將地區或全域外部 IPv4 位址從一個專案移至另一個專案。移動 IP 位址時,IP 位址資源預設會沿用相同的名稱和說明。不過,你可以選擇指派新名稱或說明。將外部 IPv4 位址移至新專案後,您就可以將該位址指派給該專案中的適用資源。
主控台
前往 Google Cloud 控制台的「IP addresses」(IP 位址) 頁面。
在要移動的 IP 位址的「更多動作」選單 (
) 中,選取「移至其他專案」。按一下「選取專案」,然後選取要將 IP 位址移至的專案。
選用:輸入 IP 位址的新名稱。
選用:輸入 IP 位址的新說明。
按一下 [移動]。
gcloud
指令選項會根據您要移動的是區域或全域 IP 位址,以及是否要保留或取代位址名稱或說明而有所不同。以下範例說明部分組合。
將區域外部 IPv4 位址移至其他專案:
gcloud compute addresses move ADDRESS_NAME \ --target-project=TARGET_PROJECT \ --region=REGION
將區域外部 IPv4 位址移至其他專案,並在新專案中指派新的名稱和說明:
gcloud compute addresses move ADDRESS_NAME \ --target-project=TARGET_PROJECT \ --new-name=NEW_NAME \ --description=NEW_DESCRIPTION \ --region=REGION
將全域外部 IPv4 位址移至其他專案:
gcloud compute addresses move ADDRESS_NAME \ --target-project=TARGET_PROJECT \ --global
更改下列內容:
ADDRESS_NAME
:要移動的 IP 位址資源名稱。TARGET_PROJECT
:要將 IP 位址移至的專案名稱或 ID。REGION
:IP 位址的區域。NEW_NAME
:新專案中 IP 位址資源的新名稱。NEW_DESCRIPTION
:新專案中 IP 位址資源的新名稱。如果省略,系統會使用資源的現有說明 (如有)。
詳情請參閱 gcloud compute addresses
move
參考說明文件。
API
要求詳細資料會因您要遷移區域或全域 IP 位址,以及是否要保留或取代位址名稱或說明而有所不同。以下範例說明部分組合。
將區域外部 IPv4 位址移至其他專案:
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", }
將區域外部 IPv4 位址移至其他專案,並在新專案中指派新的名稱和說明:
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", }
將全域外部 IPv4 位址移至其他專案:
POST https://www.googleapis.com/compute/v1/projects/SOURCE_PROJECT/global/addresses/ADDRESS_NAME/move { "destination_address": "projects/TARGET_PROJECT/global/addresses/ADDRESS_NAME", }
更改下列內容:
ADDRESS_NAME
:要移動的 IP 位址資源名稱。SOURCE_PROJECT
:要將 IP 位址移至的專案名稱或 ID。TARGET_PROJECT
:要將 IP 位址移至的專案名稱或 ID。REGION
:IP 位址的區域。NEW_NAME
:新專案中 IP 位址資源的新名稱。NEW_DESCRIPTION
:新專案中 IP 位址資源的新名稱。如果省略,系統會使用資源的現有說明 (如有)。
疑難排解
無法移動外部 IPv4 位址
嘗試移動外部 IPv4 位址時,可能會看到以下錯誤訊息:
Invalid resource usage: 'Cannot move address that belongs to a reserved address
range. Address range must be disassembled first.'
如果看到這則訊息,表示 Cloud 支援團隊已預留該 IP 位址,做為連續 IP 位址範圍的一部分。如要遷移這類 IP 位址,請與 Cloud 支援團隊聯絡。Cloud 支援團隊可將整個 IP 位址範圍移至其他專案。系統不支援只移動部分範圍。
如要檢查 IP 位址是否屬於 Cloud 支援團隊保留的範圍,請按照下列步驟操作:
- 列出靜態外部 IP 位址,然後找出要檢查的 IP 位址。
- 檢查 IP 位址名稱。如果 IP 位址是由 Cloud 支援團隊保留,則其名稱會由字串和 IP 位址的四個位元組組成,並以連字號分隔。舉例來說,如果 IP 位址為
198.51.100.2
,且是由 Cloud 支援團隊保留,則名稱格式如下:STRING-198-51-100-2
。在同一範圍內預留的其他 IP 位址會共用相同的字串,後面接著 IP 位址。