Краткое руководство. Создание частной зоны Azure DNS с помощью Azure CLI
В этом кратком руководстве описывается создание первой частной зоны и записи DNS с помощью Azure CLI.
Зона DNS используется для размещения записей DNS для определенного домена. Чтобы разместить свой домен в Azure DNS, необходимо создать зону DNS для этого доменного имени. Каждая запись DNS для вашего домена создается внутри этой зоны DNS. Чтобы опубликовать частную зону DNS в виртуальную сеть, укажите список виртуальных сетей, которым разрешено разрешать записи в зоне. Они называются связанными виртуальными сетями. Когда автоматическая регистрация включена, Azure DNS также обновляет записи зоны при каждом создании виртуальной машины, изменении ее IP-адреса или удалении.
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
Необходимые компоненты
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.
Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.
Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
- Инструкции в этом кратком руководстве можно также выполнить с помощью Azure PowerShell.
Создание группы ресурсов
Сначала нужно создать группу ресурсов, которая будет включать зону DNS.
az group create --name MyAzureResourceGroup --location "East US"
Создание частной зоны DNS
В следующем примере создается виртуальная сеть с именем myAzureVNet. Затем создается зона DNS с именем private.contoso.com в группе ресурсов MyAzureResourceGroup, которая связывает зону DNS с виртуальной сетью MyAzureVnet и включает автоматическую регистрацию.
az network vnet create \
--name myAzureVNet \
--resource-group MyAzureResourceGroup \
--location eastus \
--address-prefix 10.2.0.0/16 \
--subnet-name backendSubnet \
--subnet-prefixes 10.2.0.0/24
az network private-dns zone create -g MyAzureResourceGroup \
-n private.contoso.com
az network private-dns link vnet create -g MyAzureResourceGroup -n MyDNSLink \
-z private.contoso.com -v myAzureVNet -e true
Если вы хотите создать зону только для разрешения имен (без автоматической регистрации имени узла), можно использовать параметр -e false
.
Список частных зон DNS
Чтобы перечислить зоны DNS, используйте az network private-dns zone list
. Чтобы получить справку, см. az network dns zone list --help
.
Если указать группу ресурсов, то будут перечислены только зоны в этой группе ресурсов.
az network private-dns zone list \
-g MyAzureResourceGroup
Если не указать группу ресурсов, то будут перечислены все зоны в подписке.
az network private-dns zone list
Создание тестовых виртуальных машин
Теперь создайте две виртуальные машины, чтобы иметь возможность проверить частную зону DNS.
az vm create \
-n myVM01 \
--admin-username AzureAdmin \
-g MyAzureResourceGroup \
-l eastus \
--subnet backendSubnet \
--vnet-name myAzureVnet \
--nsg NSG01 \
--nsg-rule RDP \
--image win2016datacenter
az vm create \
-n myVM02 \
--admin-username AzureAdmin \
-g MyAzureResourceGroup \
-l eastus \
--subnet backendSubnet \
--vnet-name myAzureVnet \
--nsg NSG01 \
--nsg-rule RDP \
--image win2016datacenter
Создание виртуальной машины займет несколько минут.
Создание дополнительной записи DNS
Чтобы создать запись DNS, используйте команду az network private-dns record-set [record type] add-record
. Чтобы получить справку, например по записям типа A, см. az network private-dns record-set A add-record --help
.
В следующем примере создается запись с относительным именем db в зоне DNS private.contoso.com в группе ресурсов MyAzureResourceGroup. Полное доменное имя набора записей — db.private.contoso.com. Тип записи — A, а ее IP-адрес — 10.2.0.4.
az network private-dns record-set a add-record \
-g MyAzureResourceGroup \
-z private.contoso.com \
-n db \
-a 10.2.0.4
Просмотр записей DNS
Чтобы просмотреть список записей DNS в зоне, используйте следующую команду:
az network private-dns record-set list \
-g MyAzureResourceGroup \
-z private.contoso.com
Проверка частной зоны
Теперь вы можете проверить разрешение имени для частной зоны private.contoso.com.
Настройка виртуальных машин для получения входящего ICMP-трафика
Можно воспользоваться командой проверки связи (ping) для проверки разрешения имени. Для этого настройте брандмауэр для обеих виртуальных машин, чтобы получать входящие пакеты ICMP.
Подключитесь к myVM01 и откройте окно Windows PowerShell с правами администратора.
Выполните следующую команду:
New-NetFirewallRule –DisplayName "Allow ICMPv4-In" –Protocol ICMPv4
Повторите действия для myVM02.
Проверка связи с виртуальными машинами по имени
В командной строке Windows PowerShell на виртуальной машине myVM02 проверьте связь с myVM01, используя автоматически зарегистрированное имя узла.
ping myVM01.private.contoso.com
Вы должны увидеть выходные данные, которые выглядят примерно так:
PS C:\> ping myvm01.private.contoso.com Pinging myvm01.private.contoso.com [10.2.0.4] with 32 bytes of data: Reply from 10.2.0.4: bytes=32 time<1ms TTL=128 Reply from 10.2.0.4: bytes=32 time=1ms TTL=128 Reply from 10.2.0.4: bytes=32 time<1ms TTL=128 Reply from 10.2.0.4: bytes=32 time<1ms TTL=128 Ping statistics for 10.2.0.4: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 1ms, Average = 0ms PS C:\>
Теперь проверьте связь с именем db, созданным ранее.
ping db.private.contoso.com
Вы должны увидеть выходные данные, которые выглядят примерно так:
PS C:\> ping db.private.contoso.com Pinging db.private.contoso.com [10.2.0.4] with 32 bytes of data: Reply from 10.2.0.4: bytes=32 time<1ms TTL=128 Reply from 10.2.0.4: bytes=32 time<1ms TTL=128 Reply from 10.2.0.4: bytes=32 time<1ms TTL=128 Reply from 10.2.0.4: bytes=32 time<1ms TTL=128 Ping statistics for 10.2.0.4: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms PS C:\>
Очистка ресурсов
Удалите группу ресурсов MyAzureResourceGroup, если ресурсы, созданные в этом руководстве, больше не нужны.
az group delete --name MyAzureResourceGroup