Configurar o reencaminhamento de DNS para Ficheiros do Azure

Ficheiros do Azure permite-lhe criar pontos finais privados para as contas de armazenamento que contêm as partilhas de ficheiros. Embora sejam úteis para muitas aplicações diferentes, os pontos finais privados são especialmente úteis para ligar às partilhas de ficheiros do Azure a partir da sua rede no local através de uma ligação VPN ou ExpressRoute através do peering privado.

Para que as ligações à sua conta de armazenamento passem pelo túnel de rede, o nome de domínio completamente qualificado (FQDN) da sua conta de armazenamento tem de ser resolvido para o endereço IP privado do ponto final privado. Para tal, tem de reencaminhar o sufixo de ponto final de armazenamento (core.windows.net para regiões de cloud pública) para o serviço DNS privado do Azure acessível a partir da sua rede virtual. Este guia irá mostrar como configurar o reencaminhamento de DNS para resolver corretamente o endereço IP do ponto final privado da sua conta de armazenamento.

Recomendamos vivamente que leia Planear uma implementação Ficheiros do Azure e Ficheiros do Azure considerações de rede antes de concluir os passos descritos neste artigo.

Aplica-se a

Tipo de partilhas de ficheiros SMB NFS
Partilhas de ficheiros Standard (GPv2), LRS/ZRS Yes No
Partilhas de ficheiros Standard (GPv2), GRS/GZRS Yes No
Partilhas de ficheiros Premium (FileStorage), LRS/ZRS Yes Yes

Descrição Geral

Ficheiros do Azure fornece os seguintes tipos de pontos finais para aceder a partilhas de ficheiros do Azure:

  • Pontos finais públicos, que têm um endereço IP público e podem ser acedidos a partir de qualquer parte do mundo.
  • Pontos finais privados, que existem numa rede virtual e têm um endereço IP privado a partir do espaço de endereços dessa rede virtual.
  • Pontos finais de serviço, que restringem o acesso ao ponto final público a redes virtuais específicas. Continua a aceder à conta de armazenamento através do endereço IP público, mas o acesso só é possível a partir das localizações que especificar na sua configuração.

Existem pontos finais públicos e privados na conta de armazenamento do Azure. Uma conta de armazenamento é uma construção de gestão que representa um conjunto partilhado de armazenamento no qual pode implementar várias partilhas de ficheiros, bem como outros recursos de armazenamento, como contentores de blobs ou filas.

Cada conta de armazenamento tem um nome de domínio completamente qualificado (FQDN). Para as regiões da cloud pública, este FQDN segue o padrão storageaccount.file.core.windows.net em que storageaccount é o nome da conta de armazenamento. Quando faz pedidos relativamente a este nome, como montar a partilha na sua estação de trabalho, o sistema operativo efetua uma pesquisa DNS para resolver o nome de domínio completamente qualificado para um endereço IP.

Por predefinição, storageaccount.file.core.windows.net resolve o endereço IP do ponto final público. O ponto final público de uma conta de armazenamento está alojado num cluster de armazenamento do Azure que aloja os pontos finais públicos de muitas outras contas de armazenamento. Quando cria um ponto final privado, uma zona DNS privada está ligada à rede virtual à qual foi adicionada, com um mapeamento storageaccount.file.core.windows.net de registo CNAME para uma entrada de registo A para o endereço IP privado do ponto final privado da sua conta de armazenamento. Isto permite-lhe utilizar storageaccount.file.core.windows.net o FQDN na rede virtual e resolvê-lo para o endereço IP do ponto final privado.

Uma vez que o nosso objetivo final é aceder às partilhas de ficheiros do Azure alojadas na conta de armazenamento a partir do local através de um túnel de rede, como uma ligação VPN ou ExpressRoute, tem de configurar os servidores DNS no local para reencaminhar pedidos feitos ao serviço de Ficheiros do Azure para o serviço DNS privado do Azure.

Pode configurar o reencaminhamento de DNS de uma de duas formas:

  • Utilizar VMs do servidor DNS: Configure o reencaminhamento condicional de *.core.windows.net (ou o sufixo de ponto final de armazenamento adequado para as clouds nacionais do Governo dos EUA, Alemanha ou China) para uma máquina virtual de servidor DNS alojada na sua rede virtual do Azure. Em seguida, este servidor DNS reencaminhará recursivamente o pedido para o serviço DNS privado do Azure, o que resolverá o FQDN da conta de armazenamento para o endereço IP privado adequado. Este é um passo único para todas as partilhas de ficheiros do Azure alojadas na sua rede virtual.

  • Utilizar a Resolução Privada do DNS do Azure: Se não quiser implementar um servidor DNS baseado em VM, pode realizar a mesma tarefa com o Azure DNS Private Resolver.

Além de Ficheiros do Azure, os pedidos de resolução de nomes DNS para outros serviços de armazenamento do Azure (armazenamento de Blobs do Azure, armazenamento de Tabelas do Azure, armazenamento de filas do Azure, etc.) serão reencaminhados para o serviço DNS privado do Azure. Pode adicionar pontos finais adicionais para outros serviços do Azure, se assim o desejar.

Pré-requisitos

Antes de poder configurar o reencaminhamento de DNS para Ficheiros do Azure, precisará do seguinte:

Configurar o reencaminhamento de DNS com VMs

Se já tiver servidores DNS implementados na sua rede virtual do Azure ou se preferir implementar as suas próprias VMs de servidor DNS através de qualquer metodologia que a sua organização utilize, pode configurar o DNS com os cmdlets do PowerShell do servidor DNS incorporados.

Diagrama a mostrar a topologia de rede para configurar o reencaminhamento D N S com máquinas virtuais no Azure.

Importante

Este guia pressupõe que está a utilizar o servidor DNS no Windows Server no seu ambiente no local. Todos os passos descritos aqui são possíveis com qualquer servidor DNS e não apenas com o Windows DNS Server.

Nos servidores DNS no local, crie um reencaminhador condicional com Add-DnsServerConditionalForwarderZone. Este reencaminhador condicional tem de ser implementado em todos os servidores DNS no local para poder reencaminhar corretamente o tráfego para o Azure. Lembre-se de substituir as <azure-dns-server-ip> entradas pelos endereços IP adequados para o seu ambiente.

$vnetDnsServers = "<azure-dns-server-ip>", "<azure-dns-server-ip>"

$storageAccountEndpoint = Get-AzContext | `
    Select-Object -ExpandProperty Environment | `
    Select-Object -ExpandProperty StorageEndpointSuffix

Add-DnsServerConditionalForwarderZone `
        -Name $storageAccountEndpoint `
        -MasterServers $vnetDnsServers

Nos servidores DNS na sua rede virtual do Azure, também terá de implementar um reencaminhador para que os pedidos para a zona DNS da conta de armazenamento sejam direcionados para o serviço DNS privado do Azure, que é apresentado pelo endereço 168.63.129.16IP reservado. (Lembre-se de preencher $storageAccountEndpoint se estiver a executar os comandos numa sessão diferente do PowerShell.)

Add-DnsServerConditionalForwarderZone `
        -Name $storageAccountEndpoint `
        -MasterServers "168.63.129.16"

Configurar o reencaminhamento de DNS com a Resolução Privada do DNS do Azure

Se preferir não implementar VMs de servidor DNS, pode realizar a mesma tarefa com o Azure DNS Private Resolver. Veja Criar uma Resolução Privada do DNS do Azure com o portal do Azure.

Diagrama a mostrar a topologia de rede para configurar o reencaminhamento D N S com o Azure D N S Private Resolver.

Não há diferença na forma como configura os servidores DNS no local, exceto que, em vez de apontar para os endereços IP dos servidores DNS no Azure, aponta para o endereço IP de ponto final de entrada da resolução. A resolução não requer qualquer configuração, uma vez que irá reencaminhar consultas para o servidor DNS privado do Azure por predefinição. Se uma zona DNS privada estiver ligada à VNet onde a resolução é implementada, a resolução poderá responder com registos dessa zona DNS.

Aviso

Ao configurar reencaminhadores para a zona de core.windows.net , todas as consultas para este domínio público serão reencaminhadas para a sua infraestrutura DNS do Azure. Isto causa um problema quando tenta aceder a uma conta de armazenamento de um inquilino diferente que tenha sido configurado com pontos finais privados, porque o DNS do Azure responderá à consulta do nome público da conta de armazenamento com um CNAME que não existe na sua zona DNS privada. Uma solução para este problema é criar um ponto final privado entre inquilinos no seu ambiente para ligar a essa conta de armazenamento.

Para configurar o reencaminhamento de DNS com a Resolução Privada do DNS do Azure, execute este script nos seus servidores DNS no local. Substitua <resolver-ip> pelo endereço IP do ponto final de entrada da resolução.

$privateResolver = "<resolver-ip>"

$storageAccountEndpoint = Get-AzContext | `
    Select-Object -ExpandProperty Environment | `
    Select-Object -ExpandProperty StorageEndpointSuffix

Add-DnsServerConditionalForwarderZone `
        -Name $storageAccountEndpoint `
        -MasterServers $privateResolver

Confirmar reencaminhadores DNS

Antes de testar para ver se os reencaminhadores DNS foram aplicados com êxito, recomendamos que limpe a cache DNS na estação de trabalho local com Clear-DnsClientCache. Para testar se consegue resolver com êxito o FQDN da sua conta de armazenamento, utilize Resolve-DnsName ou nslookup.

# Replace storageaccount.file.core.windows.net with the appropriate FQDN for your storage account.
# Note that the proper suffix (core.windows.net) depends on the cloud you're deployed in.
Resolve-DnsName -Name storageaccount.file.core.windows.net

Se a resolução de nomes for bem-sucedida, deverá ver que o endereço IP resolvido corresponde ao endereço IP da sua conta de armazenamento.

Name                              Type   TTL   Section    NameHost
----                              ----   ---   -------    --------
storageaccount.file.core.windows. CNAME  29    Answer     csostoracct.privatelink.file.core.windows.net
net

Name       : storageaccount.privatelink.file.core.windows.net
QueryType  : A
TTL        : 1769
Section    : Answer
IP4Address : 192.168.0.4

Se estiver a montar uma partilha de ficheiros SMB, também pode utilizar o Test-NetConnection comando para confirmar que uma ligação TCP pode ser efetuada com êxito na sua conta de armazenamento.

Test-NetConnection -ComputerName storageaccount.file.core.windows.net -CommonTCPPort SMB

Ver também