﻿# 如何批次匯出 Azure DNS 的區域檔(Zone)並移轉到 Cloudflare DNS 託管

上周把幾個掛在 Azure DNS 上面的 Zone 區域檔移轉到 Cloudflare DNS 託管，由於我的 Zone 檔有 81 筆記錄，一個一個搬實在太慢了，所以用一些技巧來快速移轉，這篇文章我就來分享我的作法。

![image](https://stwillblogassets.blob.core.windows.net/files/images/external/user-images.githubusercontent.com/09c87c3c4fbc434cb178-210132516-cb936cbd-8432-413f-94af-7a4187907614.png)

### 匯出 Zone 檔

1.  登入 Azure CLI
    
    ```bash
    az login
    ```
    
2.  選取訂用帳戶
    
    ```bash
    az account set -s '訂用帳戶名稱或ID'
    ```
    
3.  匯出完整的 Zone 檔內容
    
    ```bash
    az network dns zone export -g '資源群組名稱' -n 'miniasp.com' -f 'miniasp.com.zone'
    ```
    

### 匯入 Cloudflare DNS

1.  使用 Import and Export 功能拖曳 `miniasp.com.zone` 檔案上去
    
    ![Cloudflare > DNS > Import DNS records](https://stwillblogassets.blob.core.windows.net/files/images/external/user-images.githubusercontent.com/6cf626f81d25eb86e942-208943717-5f6af7f1-2a18-4a5a-9f37-f1d4345706dd.png)
    
    > 注意: 如果 DNS 記錄清單已經一堆現成的內容，建議全部手動刪除，刪除後再執行匯入動作。
    
2.  匯入之後，請再次檢視設定
    
    因為可能有許多 CNAME 紀錄不應該走 `Proxied` 模式，例如 Microsoft 365 相關的服務所需的 DNS 紀錄！
    

### 相關連結

-   [az network dns zone | Microsoft Learn](https://learn.microsoft.com/en-us/cli/azure/network/dns/zone?view=azure-cli-latest&WT.mc_id=DT-MVP-4015686)
-   [How to migrate from Azure DNS to Cloudflare](https://axell.dev/how-to-migrate-azure-dns-to-cloudflare/)
