Partilhar via


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 auto-registo está ativado, o Azure DNS também atualiza os registos de zona sempre que uma máquina virtual é criada, altera o seu endereço IP ou é eliminada.

Diagrama de resumo da configuração de início rápido.

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

Pré-requisitos

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 vnet subnet create \
  --vnet-name myAzureVNet \
  --resource-group MyAzureResourceGroup \
  --name AzureBastionSubnet \
  --address-prefix 10.2.1.0/26

az network private-dns zone create \
  --resource-group MyAzureResourceGroup \
  --name private.contoso.com

az network private-dns link vnet create \
  --resource-group MyAzureResourceGroup \
  --name MyDNSLink \
  --zone-name private.contoso.com \
  --virtual-network myAzureVNet \
  --registration-enabled 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 --registration-enabled false parâmetro.

Listar as zonas DNS privadas

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

A especificação do grupo de recursos lista apenas as zonas dentro do grupo de recursos:

az network private-dns zone list \
  --resource-group MyAzureResourceGroup

Ao omitir o grupo de recursos, todas as zonas da assinatura são listadas.

az network private-dns zone list 

Implementar o Azure Bastion

O Azure Bastion utiliza o seu navegador para se conectar a máquinas virtuais na sua rede virtual, através de secure shell (SSH) ou do protocolo de ambiente de trabalho remoto (RDP), utilizando os seus endereços IP privados. As VMs não precisam de endereços IP públicos, software cliente ou configuração especial. Para obter mais informações sobre o Azure Bastion, consulte Azure Bastion.

Observação

A faturação horária inicia-se no momento em que o Bastion é implantado, independentemente do uso de dados enviados. Para obter mais informações, consulte Preços e SKUs. Se estiver a implementar o Bastion como parte de um tutorial ou teste, recomendamos que elimine este recurso após terminar de o utilizar.

Crie um endereço IP público para o host do Azure Bastion com az network public-ip create.

az network public-ip create \
  --resource-group MyAzureResourceGroup \
  --name public-ip-bastion \
  --location eastus \
  --allocation-method Static \
  --sku Standard

Crie um host do Azure Bastion com az network bastion create. O Azure Bastion é usado para se ligar de forma segura às máquinas virtuais sem as expor à internet pública.

az network bastion create \
  --resource-group MyAzureResourceGroup \
  --name bastion \
  --vnet-name myAzureVNet \
  --public-ip-address public-ip-bastion \
  --location eastus \
  --sku Basic \
  --no-wait

Criar as máquinas virtuais de teste

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

az vm create \
  --name myVM01 \
  --admin-username AzureAdmin \
  --resource-group MyAzureResourceGroup \
  --location eastus \
  --subnet backendSubnet \
  --vnet-name myAzureVnet \
  --image win2016datacenter \
  --public-ip-address ""
az vm create \
  --name myVM02 \
  --admin-username AzureAdmin \
  --resource-group MyAzureResourceGroup \
  --location eastus \
  --subnet backendSubnet \
  --vnet-name myAzureVnet \
  --image win2016datacenter \
  --public-ip-address ""

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

Criar um registo DNS adicional

Para criar um registro DNS, use o az network private-dns record-set [record type] add-record comando. Para obter ajuda com a adição de registros A, por exemplo, consulte az network private-dns record-set A add-record --help.

O exemplo a seguir cria um registo com o nome db relativo na Zona DNS private.contoso.com, 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 \
  --resource-group MyAzureResourceGroup \
  --zone-name private.contoso.com \
  --record-set-name db \
  --ipv4-address 10.2.0.4

Ver os registos DNS

Para listar os registos DNS na sua zona, execute:

az network private-dns record-set list \
  --resource-group MyAzureResourceGroup \
  --zone-name 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. No portal Azure, pesquise e selecione máquinas virtuais.

  2. Selecione myVM01.

  3. Na visão geral, selecione Ligar>Ligar via Bastion.

  4. Introduza o nome de utilizador e a palavra-passe que criou quando implementou a máquina virtual, depois selecione Conectar.

  5. Abra uma janela PowerShell do Windows e execute o seguinte comando:

    New-NetFirewallRule –DisplayName "Allow ICMPv4-In" –Protocol ICMPv4
    
  6. Feche a ligação Bastion ao myVM01 e repita os passos anteriores para ligar ao myVM02.

Enviar pings para as VMs por nome

  1. A partir da ligação myVM02 Bastion, abra um prompt de comandos PowerShell do Windows e faça ping ao myVM01 usando o nome de host 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:\>
    

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