Cloud DNS 支援將現有 DNS 網域從其他 DNS 供應商遷移至 Cloud DNS。本程序會說明如何完成必要步驟:建立網域的代管區域、從現有供應商匯出 DNS 設定、將現有 DNS 設定匯入 Cloud DNS、更新註冊商的名稱伺服器記錄,然後驗證遷移作業。
事前準備
如果尚未使用 Google Cloud CLI,請設定 gcloud CLI。
如要指定專案名稱並透過 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 記錄格式匯入區域檔案。
例如:
如果是不支援匯出作業的 AWS Route 53,則可使用開放原始碼 cli53 工具。
匯入記錄集
從其他供應商處匯出檔案後,就能使用 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 watch 和 dig 指令。
gcloud 和 Linux
如要查詢區域的 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-部分後方的字母稱為名稱伺服器「shard」。這類 shard 共有五個 (字母 A 到 E)。如要進一步瞭解 shard,請參閱「名稱伺服器限制」。檢查名稱伺服器是否有可用的記錄。
watch dig example.com @ZONE_NAME_SERVER
將 ZONE_NAME_SERVER 替換為在執行前一指令時傳回的其中一個名稱伺服器。
看到變更後,按下
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 指令。
後續步驟
- 如要新增、刪除或更新記錄,請參閱「管理記錄」。
- 如要在 Cloud DNS 中使用 JSON 格式的記錄類型,請參閱「記錄格式 (JSON)」。
- 如要瞭解使用 Cloud DNS 時可能遇到的常見問題解決方案,請參閱「疑難排解」。
- 如要查看 Cloud DNS 總覽,請參閱這篇文章。
- 如要瞭解 Cloud DNS 指令列,請參閱「Google Cloud CLI」說明文件。