【手把手教學】透過 gcloud 指令一次設定 Cloud DNS

本文將介紹如何利用 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 指令列工具,方便您管理資源。

 


 

  1. 首先,我們在 Google Cloud Console 開啟 Cloud Shell。


    圖1: Google Cloud Console
    圖1: Google Cloud Console
    圖2: 開啟 Cloud Shell
    圖2: 開啟 Cloud Shell

     

  2. 接著,我們使用 gcloud 指令,在 Google Cloud DNS 建立 DNS 代管區域

    gcloud dns managed-zones create –dns-name=gcp.expert.com.
    –description=gcpexpert

     

    圖3: 建立 DNS 代管區域

     

  3. 建立「DNS 區域檔案」

    zone.txt

        300 IN A 104.155.232.168
  4. 接著,將「DNS 區域檔案」 zone.txt 拖曳上傳至 Cloud Shell 中。

    圖4: 上傳 zone.txt
    圖4: 上傳 zone.txt

     

  5. 將「DNS 區域檔案」匯入至 DNS 代管區域

    gcloud dns record-sets import -z=gcpexpert \
    –zone-file-format zone.txt
  6. 確認 DNS 代管區域中的記錄是否已經建立完成:

    圖5: 確認紀錄成功建立
    圖5: 確認紀錄成功建立

     

  7. 使用 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


連絡「GCP 專門家」