Guia de início rápido: criar uma zona DNS privada do Azure usando a CLI do Azure

Este guia de início rápido orienta você pelas etapas para criar sua primeira zona DNS privada e registro usando a CLI do Azure.

Uma zona DNS é utilizada para alojar os registos DNS para um domínio particular. Para começar a alojar o seu domínio no DNS do Azure, tem de criar uma zona DNS para esse nome de domínio. Cada registo DNS para o seu domínio é então criado no interior desta zona DNS. Para publicar uma zona DNS privada na sua rede virtual, especifique a lista de redes virtuais permitidas para resolver registos na zona. São as chamadas redes virtuais ligadas . Quando o registro automático está habilitado, o DNS do Azure também atualiza os registros de zona sempre que uma máquina virtual é criada, altera seu endereço IP ou é excluída.

Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.

Pré-requisitos

  • Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.

  • Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.

    • Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.

    • Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.

    • Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.

Criar o grupo de recursos

Primeiro, crie um grupo de recursos para conter a zona DNS:

az group create --name MyAzureResourceGroup --location "East US"

Criar uma zona DNS privada

O exemplo a seguir cria uma rede virtual chamada myAzureVNet. Em seguida, ele cria uma zona DNS chamada private.contoso.com no grupo de recursos MyAzureResourceGroup, vincula a zona DNS à rede virtual MyAzureVnet e habilita o registro automático.

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

Se você quiser criar uma zona apenas para resolução de nomes (sem registro automático de nome de host), você pode usar o -e false parâmetro.

Listar as zonas DNS privadas

Para enumerar as zonas DNS, utilize az network private-dns zone list. Para obter ajuda, consulte az network dns zone list --help.

Especificar o grupo de recursos lista apenas essas zonas no grupo de recursos:

az network private-dns zone list \
  -g MyAzureResourceGroup

A omissão do grupo de recursos lista todas as zonas na subscrição:

az network private-dns zone list 

Criar as máquinas virtuais de teste

Agora, vai criar duas máquinas virtuais para testar a zona DNS privada:

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

A criação de uma máquina virtual levará alguns minutos para ser concluída.

Criar um registo DNS adicional

Para criar um registo DNS, utilize o comando az network private-dns record-set [record type] add-record. Para obter ajuda ao adicionar registos A, por exemplo, veja az network private-dns record-set A add-record --help.

O exemplo a seguir cria um registro com o nome relativo db no private.contoso.com Zona DNS, no grupo de recursos MyAzureResourceGroup. O nome totalmente qualificado do conjunto de registros é db.private.contoso.com. O tipo de registo é "A", com o endereço 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

Ver os registos DNS

Para listar os registos DNS na sua zona, execute:

az network private-dns record-set list \
  -g MyAzureResourceGroup \
  -z private.contoso.com

Testar a zona privada

Agora você pode testar a resolução de nomes para sua zona privada private.contoso.com .

Configurar as VMs para permitir ICMP de entrada

Pode utilizar o comando ping para testar a resolução de nomes. Assim, configure a firewall em ambas as máquinas virtuais para permitir pacotes ICMP de entrada.

  1. Ligue a myVM01 e abra uma janela do Windows PowerShell com privilégios de administrador.

  2. Execute o seguinte comando:

    New-NetFirewallRule –DisplayName "Allow ICMPv4-In" –Protocol ICMPv4
    

Repita para myVM02.

Enviar pings para as VMs por nome

  1. Na linha de comandos do Windows PowerShell para myVM02, envie um ping myVM01 com o nome de anfitrião registado automaticamente:

    ping myVM01.private.contoso.com
    

    Você deve ver uma saída semelhante ao que é mostrado abaixo:

    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:\>
    
  2. Agora, envie um ping para o nome db criado anteriormente:

    ping db.private.contoso.com
    

    Você deve ver uma saída semelhante ao que é mostrado abaixo:

    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:\>
    

Clean up resources (Limpar recursos)

Quando não for mais necessário, exclua o grupo de recursos MyAzureResourceGroup para excluir os recursos criados neste início rápido.

az group delete --name MyAzureResourceGroup

Próximos passos