使用內部 DNS 存取 VM

位於相同虛擬私有雲網路中的 VM 可以使用內部 DNS 名稱 (而非 IP 位址) 互相存取。

事前準備

  • 如果尚未設定驗證,請先完成設定。 驗證可確認您的身分,以便存取 Cloud de Confiance by S3NS 服務和 API。如要從本機開發環境執行程式碼或範例,您可以選取下列其中一個選項,向 Compute Engine 進行驗證:

    選取這個頁面上範例的預計用途分頁:

    控制台

    使用 Cloud de Confiance 控制台存取 Cloud de Confiance by S3NS 服務和 API 時,您不需要設定驗證機制。

    gcloud

    1. 安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。登入後,執行下列指令來初始化 Google Cloud CLI:

      gcloud init
  • 設定預設區域和可用區。
  • REST

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

      安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。

    詳情請參閱 Cloud de Confiance 驗證說明文件中的「使用 REST 進行驗證」。

判斷 VM 的內部 DNS 名稱

請按照下列程序,讀取指派給 VM 執行個體的內部 DNS 名稱。您可以查詢 hostname 中繼資料項目,取得內部 DNS 名稱。

  1. 連線至 VM。
  2. 查詢 hostname 中繼資料:

    Linux VM

    curl "http://metadata.google.internal/computeMetadata/v1/instance/hostname" \
      -H "Metadata-Flavor: Google"
    

    Windows VM

    Invoke-RestMethod `
      -Headers @{"Metadata-Flavor" = "Google"} `
      -Uri "http://metadata.google.internal/computeMetadata/v1/instance/hostname"
    

中繼資料伺服器會以其中一種格式傳回 VM 的主機名稱,顯示 VM 使用的內部 DNS 名稱類型:

  • 可用區 DNS:VM_NAME.ZONE.c.PROJECT_ID.internal
  • 全域 DNS:VM_NAME.c.PROJECT_ID.internal

在輸出內容中:

  • VM_NAME:VM 的名稱
  • ZONE:VM 所在的可用區
  • PROJECT_ID:VM 所屬的專案

透過內部 DNS 名稱存取 VM

如要存取 VM,請使用內部 DNS 名稱,而非 IP 位址。

以下範例使用 ping 與採用可用區 DNS 的 VM 聯絡。只要您已建立防火牆規則,允許傳送至執行個體的 ICMP 輸入流量,這個方法就適用。

$ ping VM_NAME.ZONE.c.PROJECT_ID.internal -c 1

PING VM_NAME.ZONE.c.PROJECT_ID.internal (10.240.0.17) 56(84) bytes of data.
64 bytes from VM_NAME.ZONE.c.PROJECT_ID.internal (10.240.0.17): icmp_seq=1 ttl=64 time=0.136 ms

更改下列內容:

  • VM_NAME:VM 的名稱
  • ZONE:VM 所在的可用區
  • PROJECT_ID:VM 所屬的專案

後續步驟