使用自訂主機名稱建立 VM 執行個體

當您建立 VM 執行個體時,Google Cloud Platform (GCP) 會利用執行個體名稱建立內部 DNS 名稱。除非您指定了自訂主機名稱,否則,GCP 會使用自動建立的內部 DNS 名稱做為主機名稱,並提供給 VM。

您可以指定任何完整的 DNS 名稱,使用自訂主機名稱建立 VM。自訂主機名稱可協助您維持慣例,或支援預期使用特定主機名稱之應用程式的需求。

限制

  • 您必須針對自訂主機名稱手動設定 DNS 記錄。自訂主機名稱無法依 Compute Engine 內部 DNS 提供的自動建立記錄來進行解析。您可以使用下列任何一項託管自訂主機名稱的 DNS 記錄:

  • 建立 VM 之後,就不能變更自訂主機名稱。

  • 即使您指定了自訂主機名稱,GCP 仍會建立 Compute Engine 內部 DNS 名稱。您仍可使用此自動建立的 DNS 記錄與 VM 聯絡。

需求條件

主機名稱必須符合 RFC 1035 要求,才算是有效主機名稱。為符合這項要求,主機名稱必須包含一系列與 [a-z]([-a-z0-9]*[a-z0-9])? 規則運算式相符的標籤,且每個標籤皆與一個點串連。每個標籤的長度可介於 1 到 63 個字元之間,且整個序列不得超過 253 個字元。

事前準備

使用自訂主機名稱建立 VM

Console

  1. 前往「Create instance」(建立執行個體) 頁面

    前往「Create instance」(建立執行個體) 頁面

  2. 展開 [Management, security, disks, networking, sole tenancy] (管理、安全性、磁碟、網路、單獨租用) 區段。
  3. 在「Networking」(網路) 分頁中的「Hostname」(主機名稱) 底下,設定自訂主機名稱。
  4. 繼續進行其餘的執行個體建立程序

gcloud

請按照相同的操作說明透過映像檔建立執行個體透過快照建立執行個體,新增 --hostname=[HOST_NAME] 旗標,然後使用 gcloud compute instances create 指令:

gcloud compute instances create [INSTANCE_NAME] \
    --hostname=[HOST_NAME]

其中:

  • [INSTANCE_NAME] 是執行個體的名稱。
  • [HOST_NAME] 是您要指派的完整網域主機名稱。

舉例來說,如要建立名為 myinstance 的執行個體,並使用 test.example.com 做為自訂主機名稱,您可以執行以下指令:

gcloud compute instances create myinstance \
    --hostname=test.example.com

API

按照 API 操作說明透過映像檔快照來建立執行個體,並在要求主體中指定 hostname 欄位。

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances

{
 "name": "[INSTANCE_NAME]",
 "hostname": "[HOST_NAME]",
 ...
}

其中:

  • [INSTANCE_NAME] 是執行個體的名稱。
  • [HOST_NAME] 是您要指派的完整網域主機名稱。
  • [ZONE] 是您要建立執行個體的區域

驗證自訂主機名稱

如果是 Linux VM 執行個體,您可以在 VM 執行個體上執行 hostname -f 指令來驗證自訂主機名稱。

您也可以使用 Google Cloud Platform Console 或 gcloud 指令列工具驗證自訂主機名稱。

Console

  1. 如要查看執行個體的自訂主機名稱,請前往「VM instances」(VM 執行個體) 頁面。

    前往「VM instances」(VM 執行個體) 頁面

  2. 按一下執行個體名稱,開啟「VM instance details」(VM 執行個體詳細資料) 頁面。
  3. 查看「Hostname」(主機名稱) 部分。

    顯示主機名稱的「VM instances」(VM 執行個體) 頁面螢幕擷圖

gcloud

如要使用 gcloud compute 查看執行個體的自訂主機名稱,請使用具有 --format 旗標的 instances describe 子指令來篩選輸出。

gcloud compute instances describe [INSTANCE_NAME] \
    --format='get(hostname)'

其中 [INSTANCE_NAME] 是執行個體的名稱。

舉例來說,如要查看名為 myinstance 的執行個體自訂主機名稱,請執行以下指令。

gcloud compute instances describe myinstance --format='get(hostname)'

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Compute Engine 說明文件