重新命名 VM


建立虛擬機器 (VM) 執行個體時,您必須指定名稱。建立 VM 後,您可以選擇重新命名。在下列情況下,變更 VM 名稱可能很有用:

  • 更準確地呈現 VM 上執行的工作負載。
  • 參照 VM 上執行的作業系統。
  • 遵守貴機構規定的命名慣例。

VM 統一資源 ID (URI)

變更 VM 名稱可能會影響專案。您可以透過永久的 URI 參照 VM 資源,而不必使用名稱。URI 的格式如下:

projects/PROJECT_ID/zones/ZONE/instances/VM_ID

URI 包含下列值:

  • PROJECT_ID:VM 所在的專案 ID。

  • ZONE:VM 所在的區域。

  • VM_ID:現有 VM 的 ID。如要查看現有 VM 的 ID,請查看 VM 詳細資料,然後查看 id 欄位的值。

定價

重新命名 VM 不會影響您的帳單金額。此外,由於帳單會根據 VM 的 SKU (而非名稱) 顯示 VM,因此您不會在帳單上看到 VM 名稱。

限制

重新命名 VM 時,會受到下列限制:

  • 自動命名的資源:

    • 重新命名 VM 時,系統不會更新以原始 VM 名稱為依據的任何資源名稱。舉例來說,建立 VM 時,開機磁碟的名稱會與 VM 名稱相同。如果重新命名 VM,開機磁碟的名稱不會變更。
  • DHCP 伺服器:

    • 重新命名 VM 後,DHCP 伺服器會以更新後的主機名稱回應 DHCP 要求,格式為:HOSTNAME.c.PROJECT_ID.internal (全域 DNS) 和 HOSTNAME.ZONE.c.PROJECT_ID.internal (區域 DNS)。詳情請參閱「內部 DNS 名稱的類型」。
  • Google Cloud 控制台:

    • 您必須重新整理瀏覽器, Google Cloud 控制台才會更新 VM 名稱。
  • 主機名稱:

    • 變更執行個體名稱時,Linux 上的主機名稱也會隨之修改。在 Windows 上,即使重新啟動執行個體,主機名稱也不會更新。

    • 具有自訂主機名稱的 VM 不會更新。

    • 直接在主機上變更主機名稱,不會影響 VM 資源的名稱。

  • 執行個體群組:

    • 您無法重新命名非代管或代管執行個體群組 (MIG) 中的執行個體。
  • 命名慣例:

    • 您無法將 VM 重新命名為專案中其他 VM 已使用的名稱。

    • VM 名稱必須遵守資源命名慣例

  • VM 狀態:

    • 停止執行個體,再重新命名,因為只有處於 TERMINATED 狀態的 VM 才能重新命名。舉例來說,您無法重新命名處於 SUSPENDED 狀態的 VM。

事前準備

  • 請檢查並視需要更新下列項目:
    • Cloud Monitoring 群組、圖表和快訊: Monitoring 會比對字串,因此重新命名 VM 時,這些字串不會更新。如果重新命名 VM,請更新 Monitoring 規則,將重新命名的 VM 納入報表。
    • 主控台網址:重新命名 VM 會變更其主控台網址。如果重新命名 VM,您必須更新連結,例如參照 VM 控制台網址的瀏覽器書籤。
    • 身分與存取權管理 (IAM) 條件式角色繫結:條件式角色繫結支援根據資源名稱授予權限。舉例來說,如果 VM 的名稱開頭為特定字串,IAM 可能會將角色授予使用者。變更 VM 名稱時,這些繫結不會更新,因此使用者對 VM 資源的存取權可能會受到影響,因為您變更了前置字元名稱適用的 VM 集。如果重新命名 VM,請更新這些繫結。
    • 內部 DNS 服務快取:內部 DNS 服務會為 VM 指派內部 DNS 名稱,其中主機名稱的格式為全域 DNS 的 HOSTNAME.c.PROJECT_ID.internal,以及區域 DNS 的 HOSTNAME.ZONE.c.PROJECT_ID.internal。重新命名 VM 後,這些主機名稱會隨之變更。接著,內部 DNS 服務會開始解析為新的主機名稱,而對先前 DNS 名稱的要求會失敗。如果重新命名 VM,可能需要更新 DNS 快取,才能更新主機名稱。如要進一步瞭解全域 DNS 和區域 DNS 主機名稱,請參閱「內部 DNS 名稱的類型」。
    • 中繼資料查詢: 重新命名 VM 後,中繼資料伺服器會回報新名稱。如果重新命名 VM,請更新所有查詢中繼資料伺服器的指令碼或程式,以便查詢 VM 的新名稱。
    • 限制外部 IP 位址的機構政策:針對具有外部 IP 位址的 VM 限制,會參照 VM 名稱。重新命名 VM 時,這項限制不會更新。如果重新命名 VM,請使用 VM 的新名稱更新外部 IP 機構政策。
    • SQL Server 主機名稱:如果重新命名代管 SQL Server 的 VM,就必須更新 SQL Server VM 名稱。詳情請參閱「為電腦重新命名 (代管 SQL Server 獨立執行個體的電腦)」。
  • 如果尚未設定驗證,請先完成設定。 「驗證」是指驗證身分的程序,確認您有權存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列任一選項,向 Compute Engine 進行驗證:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. 安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:

      gcloud init

      如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI

    2. Set a default region and zone.

    REST

    如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

      安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:

      gcloud init

      如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI

    詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。

必要的角色

如要取得重新命名 VM 所需的權限,請要求管理員授予您專案的 Compute 執行個體管理員 (v1) (roles/compute.instanceAdmin.v1) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這個預先定義的角色具備 compute.instances.setName權限,這是重新命名 VM 的必要權限。

您或許還可透過自訂角色或其他預先定義的角色取得這項權限。

重新命名 VM

您只能重新命名處於 TERMINATED 狀態的已停止 VM。

主控台

如要重新命名 VM,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面

    前往 VM 執行個體

  2. 在「Name」(名稱) 欄中,按一下 VM 名稱。

  3. 如果尚未停止 VM,請按一下 「停止」。如果沒有「停止」選項,請依序點選 「更多動作」> 「停止」

  4. 按一下「Edit」(編輯)

  5. 在「VM instance name」(VM 執行個體名稱) 欄位中,輸入 VM 的新名稱。

  6. 按一下 [儲存]

    重新命名 VM 最多可能需要一分鐘才能完成。重新命名 VM 後,如果收到 Google Cloud 找不到 VM 的錯誤訊息,請重新整理瀏覽器。

  7. 如有需要,請按一下「啟動 / 繼續」,重新啟動 VM。

gcloud

如要重新命名 VM,請按照下列步驟操作:

  1. 如果尚未停止 VM,請先停止 VM

  2. 如要重新命名 VM,請使用 gcloud compute instances set-name 指令

    gcloud compute instances set-name VM_NAME \
        --new-name=NEW_VM_NAME \
        --project=PROJECT_ID \
        --zone=ZONE
    

    更改下列內容:

    • VM_NAME:現有 VM 的名稱。

    • NEW_VM_NAME:指定 VM 的新名稱。

    • PROJECT_ID:VM 所在的專案 ID。

    • ZONE:VM 所在的區域。

    重新命名 VM 最多可能需要一分鐘才能完成。

  3. 如有需要,請重新啟動 VM

REST

如要重新命名 VM,請按照下列步驟操作:

  1. 如果尚未停止 VM,請先停止 VM

  2. 如要重新命名 VM,請向 instances.setName 方法發出 POST 要求。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setName
    
    {
      "currentName": "VM_NAME",
      "name": "NEW_VM_NAME"
    }
    

    更改下列內容:

    • PROJECT_ID:VM 所在的專案 ID。

    • ZONE:VM 所在的區域。

    • VM_NAME:現有 VM 的名稱。

    • NEW_VM_NAME:指定 VM 的新名稱。

    重新命名 VM 最多可能需要一分鐘才能完成。如要監控重新命名作業的狀態,請輪詢重新命名 API 傳回的作業 ID。詳情請參閱「處理 API 回應」一文。

  3. 如有需要,請重新啟動 VM

後續步驟