本文將介紹如何利用 Cloud Shell 寫指令,自動化設定 Google Cloud DNS 的區域設定檔。
開始之前先快速科普接下來會提到的 2 樣工具:
Cloud DNS
Cloud DNS 是 Google Cloud 提供之可擴充、高可用性的 DNS (domain name system) 代管服務,用戶可透過 Cloud DNS 創建 DNS 代管區域 (zone)。它具備域名解析服務、Anycast name server 服務等,用戶也能新增、編輯和刪除 DNS 記錄,使用像是 Google Cloud UI、gcloud 指令或 API 進行管理。
(延伸閱讀:不只是 DNS:確保混合雲網路環境的高度可用性)
Cloud Shell
Cloud Shell 是 Google Cloud 提供的、用戶在瀏覽器上,就可以使用的命令列介面,已預先載入 kubectl、gcloud 指令列工具,方便您管理資源。
- 首先,我們在 Google Cloud Console 開啟 Cloud Shell。
- 接著,我們使用 gcloud 指令,在 Google Cloud DNS 建立 DNS 代管區域
gcloud dns managed-zones create –dns-name=gcp.expert.com.
–description=gcpexpert - 建立「DNS 區域檔案」zone.txt
300 IN A 104.155.232.168 - 接著,將「DNS 區域檔案」 zone.txt 拖曳上傳至 Cloud Shell 中。
- 將「DNS 區域檔案」匯入至 DNS 代管區域
gcloud dns record-sets import -z=gcpexpert \
–zone-file-format zone.txt - 確認 DNS 代管區域中的記錄是否已經建立完成:
- 使用 nslookup 指令,來驗證 DNS 代管區域
$ nslookup
> server ns-cloud-e1.googledomains.com
Default server: ns-cloud-e1.googledomains.com
Address: 216.239.32.110#53
> set type=a
> gcp.expert.com
Server: ns-cloud-e1.googledomains.com
Address: 216.239.32.110#53
將您的網域註冊商裡的名稱伺服器 (name server) 設定指向 Google Cloud DNS,如下表所示。
ns-cloud-e1.googledomains.com. ns-cloud-e2.googledomains.com. ns-cloud-e3.googledomains.com. ns-cloud-e4.googledomains.com. |
結論
經過這幾次的測試,我們可以直接用 Google Cloud 所提供的官方網域名稱伺服器,以達到 100% 高可用性。
參考資料
https://cloud.google.com/dns/docs/update-name-servers
https://cloud.google.com/dns/docs/records
https://cloud.google.com/dns/docs/migrating