如何使用 Azure CLI 管理 Azure DNS 中的 DNS 区域
本文介绍如何使用跨平台 Azure CLI 管理 DNS 区域。 Azure CLI 适用于 Windows、Mac 和 Linux。 也可以使用 Azure PowerShell 或 Azure 门户管理 DNS 记区域。
本指南专门介绍公共 DNS 区域。 有关使用 Azure CLI 管理 Azure DNS 中专用区域的详细信息,请参阅使用 Azure CLI 开始使用 Azure DNS 专用区域。
简介
DNS 区域用来托管某个特定域的 DNS 记录。 若要开始在 Azure DNS 中托管域,需要为该域名创建 DNS 区域。 随后会在此 DNS 区域内为每个 DNS 记录创建域。
例如,域“contoso.com”可能包含几条 DNS 记录,如“mail.contoso.com”(用于邮件服务器)和“www.contoso.com”(用于网站)。
在 Azure DNS 中创建 DNS 区域时:
- 在资源组中,区域名称必须是唯一的,不能存在该域。 否则,操作会失败。
- 可在不同资源组或不同 Azure 订阅中重复使用同一区域名称。
- 当多个区域共享相同的名称时,将为每个实例分配不同的名称服务器地址。 使用域名注册机构仅可配置一组地址。
注意
不必拥有域名即可在 Azure DNS 中以该域名创建 DNS 区域。 但是,需要拥有域才能通过域名注册机构将 Azure DNS 名称服务器配置为域名的正确名称服务器。
有关详细信息,请参阅 向 Azure DNS 委派域。
设置适用于 Azure DNS 的 Azure CLI
准备阶段
在开始配置之前,请确保具备以下各项。
Azure 订阅。 如果还没有 Azure 订阅,可在开始前创建一个试用帐户。
安装最新版本的 Azure CLI(在 Windows、Linux 或 MAC 中可用)。 有关详细信息,请参阅安装 Azure CLI。
登录到 Azure 帐户
打开控制台窗口并使用凭据进行身份验证。 有关详细信息,请参见从 Azure CLI 登录 Azure
az login
选择订阅
检查该帐户的订阅。
az account list
选择要使用的 Azure 订阅。
az account set --subscription "subscription name"
可选:安装/使用 Azure DNS 专用区域功能
可通过 Azure CLI 的扩展使用 Azure DNS 专用区域功能。 安装“dns”Azure CLI 扩展
az extension add --name dns
创建资源组
Azure 资源管理器要求资源组具有指定的位置。 此位置将用作该资源组中所有资源的默认位置。 由于所有 DNS 资源都是全局资源,资源组位置的选择对 Azure DNS 没有影响。
如果使用现有资源组,可跳过此步骤。
az group create --name myresourcegroup --location "China East"
获取帮助
与 Azure DNS 相关的所有 Azure CLI 命令都以 az network dns
开头。 可使用 --help
选项(缩写形式 -h
)获取有关每个命令的帮助。 例如:
az network dns --help
az network dns zone --help
az network dns zone create --help
创建 DNS 区域
使用 az network dns zone create
命令创建 DNS 区域。 有关帮助,请参阅 az network dns zone create -h
。
以下示例在名为 MyResourceGroup 的资源组中创建名为 contoso.com 的 DNS 区域:
az network dns zone create --resource-group MyResourceGroup --name contoso.com
使用标记创建 DNS 区域
下面的示例演示如何通过 --tags
参数(缩写形式 -t
)使用两个 Azure 资源管理器标记、project = demo 和 env = test 创建 DNS 区域:
az network dns zone create --resource-group MyResourceGroup --name contoso.com --tags "project=demo" "env=test"
获取 DNS 区域
若要检索 DNS 区域,请使用 az network dns zone show
。 有关帮助,请参阅 az network dns zone show --help
。
以下示例从资源组 MyResourceGroup 返回 DNS 区域 contoso.com 及其关联数据。
az network dns zone show --resource-group myresourcegroup --name contoso.com
以下示例是响应。
{
"etag": "00000002-0000-0000-3d4d-64aa3689d201",
"id": "/subscriptions/147a22e9-2356-4e56-b3de-1f5842ae4a3b/resourceGroups/myresourcegroup/providers/Microsoft.Network/dnszones/contoso.com",
"location": "global",
"maxNumberOfRecordSets": 5000,
"name": "contoso.com",
"nameServers": [
"ns1-04.azure-dns.cn.",
"ns2-04.azure-dns.cn.",
"ns3-04.azure-dns.cn.",
"ns4-04.azure-dns.cn."
],
"numberOfRecordSets": 4,
"resourceGroup": "myresourcegroup",
"tags": {},
"type": "Microsoft.Network/dnszones"
}
若要列出 DNS 记录,请使用 az network dns record-set list
。
列出 DNS 区域
若要枚举 DNS 区域,请使用 az network dns zone list
。 有关帮助,请参阅 az network dns zone list --help
。
指定资源组仅列出资源组内的区域:
az network dns zone list --resource-group MyResourceGroup
省略资源组可列出订阅中的所有区域:
az network dns zone list
更新 DNS 区域
可以使用 az network dns zone update
对 DNS 区域资源进行更改。 有关帮助,请参阅 az network dns zone update --help
。
此命令不会更新区域中的任何 DNS 记录集(请参阅如何管理 DNS 记录)。 该操作仅可用于更新区域资源本身的属性。 这些属性当前仅限于区域资源的 Azure 资源管理器“标记”。
以下示例演示如何更新 DNS 区域上的标记。 现有标记替换为指定值。
az network dns zone update --resource-group myresourcegroup --name contoso.com --set tags.team=support
删除 DNS 区域
可以使用 az network dns zone delete
删除 DNS 区域。 有关帮助,请参阅 az network dns zone delete --help
。
注意
删除 DNS 区域也会删除该区域中的所有 DNS 记录。 无法撤消此操作。 如果 DNS 区域在使用中,则使用该区域的服务在区域删除后将无效。
若要防止意外删除区域,请参阅如何保护 DNS 区域和记录。
此命令提示用户进行确认。 可选的 --yes
开关禁止显示此提示。
以下示例演示如何从资源组 MyResourceGroup 中删除区域 contoso.com。
az network dns zone delete --resource-group myresourcegroup --name contoso.com
后续步骤
了解如何在 DNS 区域中管理记录集和记录。
了解如何将域委派给 Azure DNS。