重新命名 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 的 SKU 顯示 VM,而非名稱,因此您不會在帳單中看到 VM 的名稱。

限制

重新命名虛擬機器時,下列限制適用:

  • 自動命名的資源:

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

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

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

    • 變更執行個體名稱時,主機名稱也會隨之變更。在 Windows 上,主機名稱更新可能需要重新啟動。

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

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

  • 代管執行個體群組:

    • 您無法重新命名代管執行個體群組 (MIG) 中的執行個體,因為這些執行個體會自動且不可逆地從無狀態 MIG 的 base instance name 屬性繼承名稱。
  • 命名慣例:

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

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

  • VM 狀態:

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

事前準備

  • 請查看並視需要更新下列項目:
    • Cloud Monitoring 群組、圖表和快訊: 監控會比對字串,因此當您重新命名 VM 時,這些字串不會更新。如果您變更 VM 名稱,請更新監控規則,讓報表中包含已變更名稱的 VM。
    • 主控台網址:重新命名 VM 會變更其主控台網址。如果您重新命名 VM,請務必更新連結,例如參照 VM 控制台網址的瀏覽器書籤。
    • Identity and Access Management (IAM) 條件式角色繫結:條件式角色繫結可針對資源名稱授予權限。舉例來說,如果 VM 名稱以特定字串開頭,IAM 可能會將角色授予使用者。變更 VM 名稱時,系統不會更新這些繫結,因此您變更前置字元名稱適用的 VM 集合時,使用者對 VM 資源的存取權可能會受到影響。如果您重新命名 VM,請更新這些繫結。
    • 內部 DNS 服務快取:內部 DNS 服務會將內部 DNS 名稱指派給 VM,其中主機名稱的格式為 HOSTNAME.c.PROJECT_ID.internal (全域 DNS) 和 HOSTNAME.ZONE.c.PROJECT_ID.internal (區域 DNS)。變更 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. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.

    REST

    To use the REST API samples on this page in a local development environment, you use the credentials you provide to the gcloud CLI.

      After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    For more information, see Authenticate for using REST in the Google Cloud authentication documentation.

必要的角色

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

這個預先定義的角色包含 compute.instances.setName 權限,這是重新命名虛擬機時所需的權限。

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

重新命名 VM

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

主控台

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

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

    前往 VM 執行個體

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

  3. 如果您尚未停止 VM,請按照下列步驟操作:

    1. 按一下 「停止」

    2. 按一下「Stop」確認。

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

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

  6. 按一下 [儲存]

    重新命名虛擬機最多需要一分鐘才能完成。如果變更 VM 名稱後,您收到「找不到 VM」的錯誤訊息,請重新整理瀏覽器。 Google Cloud

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

gcloud

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

  1. 如果您尚未停止 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 所在區域。

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

  3. 視需要重新啟動 VM

REST

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

  1. 如果您尚未停止 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 的新名稱。

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

  3. 視需要重新啟動 VM

後續步驟