遷移至 Cloud DNS

Cloud DNS 支援將現有 DNS 網域從其他 DNS 供應商遷移至 Cloud DNS。本程序會說明如何完成必要步驟:為網域建立代管區域、從現有供應商匯出 DNS 設定、將現有 DNS 設定匯入 Cloud DNS、更新註冊商的名稱伺服器記錄,然後驗證遷移作業。

事前準備

  1. 如果您尚未使用 Google Cloud CLI,請設定 gcloud CLI

  2. 如要指定專案名稱並透過 Google Cloud 控制台驗證,請執行下列指令:

    gcloud auth login
    

    您也可以在指令中指定 --project 參數,以在該叫用中操作不同的專案。

建立代管區域

如要遷移現有的網域,請先建立代管區域以包含您的 DNS 記錄。建立區域時,除非您更新網域註冊資料,將解析器指向該區域,或查詢其中一個區域的名稱伺服器,否則不會使用新區域。

gcloud

如要建立可用區,請執行 dns managed-zones create 指令:

gcloud dns managed-zones create --dns-name=example.com.
--description=A_ZONE EXAMPLE_ZONE_NAME

更改下列內容:

  • example.com.:DNS 名稱
  • A_ZONE:區域說明
  • EXAMPLE_ZONE_NAME:用於識別 DNS 區域的名稱

從現有的供應商匯出 DNS 設定

如要匯出區域檔案,請參閱供應商的說明文件。Cloud DNS 支援以 BIND 或 YAML 記錄格式匯入區域檔案。

例如:

匯入記錄集

從其他供應商處匯出檔案後,您就可以使用 gcloud 指令將該檔案匯入您的代管區域。

如要正確匯入記錄集,您必須移除頂層記錄,或使用 gcloud 分頁中所述的標記。

gcloud

如要匯入記錄集,請執行 dns record-sets import 指令。--zone-file-format 標記會告知 import 使用 BIND 區域格式檔案。如果您省略這個標記,import 會使用 YAML 格式記錄檔案:

gcloud dns record-sets import -z=EXAMPLE_ZONE_NAME
--zone-file-format path-to-example-zone-file

EXAMPLE_ZONE_NAME 替換為 DNS 區域的名稱。

驗證 DNS 傳播

如要監控並驗證 Cloud DNS 名稱伺服器是否已納入變更,您可以使用 Linux watchdig 指令。

gcloud 和 Linux

  1. 如要查詢區域的 Cloud DNS 名稱伺服器,請執行 dns managed-zones describe 指令:

    gcloud dns managed-zones describe EXAMPLE_ZONE_NAME
    

    EXAMPLE_ZONE_NAME 替換為 DNS 區域的名稱。

    輸出結果看起來會與下列內容相似:

    nameServers:
    - ns-cloud-a1.googledomains.com.
    - ns-cloud-a2.googledomains.com.
    - ns-cloud-a3.googledomains.com.
    - ns-cloud-a4.googledomains.com.
    

    在輸出內容中,名稱的 ns-cloud- 部分後方字母稱為名稱伺服器分割區。這類區塊共有五個 (字母 A 到 E)。如要進一步瞭解分割區,請參閱「名稱伺服器限制」。

  2. 檢查名稱伺服器是否有可用的記錄。

    watch dig example.com @ZONE_NAME_SERVER
    

    使用您在執行前一指令時傳回的其中一個名稱伺服器取代 ZONE_NAME_SERVER

  3. 看到變更後,按下 Ctrl+C 結束。

根據預設,watch 指令會每隔 2 秒執行一次 dig 指令。您可以使用這個指令來判斷權威名稱伺服器何時納入變更,變更應在 120 秒內完成。

更新註冊商的名稱伺服器記錄

登入註冊商供應商,並變更權威名稱伺服器,以指向您在步驟 1 中看到的名稱伺服器。同時,請記下您的註冊商設定的記錄存留時間 (TTL)。這個時間設定讓您知道在新的名稱伺服器開始使用前的等待時間。

等待變更,然後驗證

如要在網際網路上取得網域的權威名稱伺服器,請執行下列 Linux 指令:

dig +short NS example.com

如果輸出顯示所有變更均已傳播,表示變更成功。否則,您可以不定期檢查,或在等待名稱伺服器變更時,每隔 2 秒自動執行這個指令。如要這麼做,請執行下列指令:

watch dig +short NS example.com

Ctrl+C 可結束指令。

如果您不是使用 Linux,可以使用 nslookup 指令

後續步驟

  • 如要新增、刪除或更新記錄,請參閱管理記錄
  • 如要使用 JSON 格式建立 Cloud DNS 記錄類型,請參閱「記錄格式 (JSON)」。
  • 如要找出使用 Cloud DNS 時可能遇到的常見問題解決方案,請參閱「疑難排解」。
  • 如要瞭解 Cloud DNS 的總體概況,請參閱 Cloud DNS 總覽
  • 如需瞭解 Cloud DNS 指令列,請參閱 Google Cloud CLI 說明文件。