將外部 IPv4 位址移至其他專案

靜態外部 IPv4 位址與 Google Cloud 專案相關聯,且只能在該專案中使用。不過,您可以將靜態外部 IPv4 位址從一個專案移至另一個專案。

IAM 角色和權限

如要移動區域 IP 位址,您必須具備下列權限:

  • compute.addresses.delete 來源專案
  • 目的地專案的 compute.addresses.create 權限

如要移動全域 IP 位址,您必須具備下列權限:

  • compute.globalAddresses.delete 來源專案
  • 目的地專案的 compute.globalAddresses.create 權限

包含這些權限的角色範例:

事前準備

限制

  • 如果取消指派 IP 位址,必須等待一段時間才能移動:

    • 如果是全域 IP 位址,請等待 10 分鐘。
    • 如果是區域 IP 位址,請等待 20 分鐘。
  • 區域 IP 位址的區域無法變更。

  • 您無法將全球 IP 位址轉換為地區 IP 位址,反之亦然。

  • 您無法在專案之間移動 BYOIP 位址

將外部 IPv4 位址移至其他專案

您可以將地區或全域外部 IPv4 位址從一個專案移至另一個專案。移動 IP 位址時,IP 位址資源預設會沿用相同的名稱和說明。不過,你可以選擇指派新名稱或說明。將外部 IPv4 位址移至新專案後,您就可以將該位址指派給該專案中的適用資源

主控台

  1. 前往 Google Cloud 控制台的「IP addresses」(IP 位址) 頁面。

    前往「IP addresses」(IP 位址) 頁面

  2. 在要移動的 IP 位址的「更多動作」選單 () 中,選取「移至其他專案」

  3. 按一下「選取專案」,然後選取要將 IP 位址移至的專案。

  4. 選用:輸入 IP 位址的新名稱

  5. 選用:輸入 IP 位址的新說明

  6. 按一下 [移動]

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 支援團隊保留的範圍,請按照下列步驟操作:

  1. 列出靜態外部 IP 位址,然後找出要檢查的 IP 位址。
  2. 檢查 IP 位址名稱。如果 IP 位址是由 Cloud 支援團隊保留,則其名稱會由字串和 IP 位址的四個位元組組成,並以連字號分隔。舉例來說,如果 IP 位址為 198.51.100.2,且是由 Cloud 支援團隊保留,則名稱格式如下:STRING-198-51-100-2。在同一範圍內預留的其他 IP 位址會共用相同的字串,後面接著 IP 位址。