Resolver nomes de domínio privados na Instância Gerenciada de SQL do Azure
Aplica-se a: Instância Gerenciada de SQL do Azure
Neste artigo, saiba como a Instância Gerenciada de SQL do Azure resolve nomes de domínio privados.
Visão geral
Em determinadas situações, é necessário que o mecanismo de banco de dados do SQL Server resolva nomes de domínio que não existem em registros DNS públicos. Por exemplo, os seguintes cenários provavelmente envolvem nomes de domínio privados:
- Enviar emails usando Database Mail
- Acessar fontes de dados remotas usando servidores vinculados
- Replicar dados na nuvem usando o Link da Instância Gerenciada.
A Instância Gerenciada de SQL do Azure é implantada em uma rede virtual do Azure e usa a resolução de nomes fornecida pelo Azure por padrão para resolver endereços na Internet.
Para alterar o comportamento padrão de resolução de nomes e habilitar a resolução de nomes de domínio privado, você pode:
- Use zonas DNS privadas do Azure: O que é o DNS privado do Azure?
- Use um Servidor DNS personalizado: Resolução de nomes para recursos em redes virtuais do Azure
Importante
Ao alterar o servidor DNS de uma rede virtual do Azure para personalizado ou vice-versa, as Instâncias Gerenciadas do SQL nessa rede virtual também devem ser notificadas da alteração. Isso é descrito na seção Atualizar instâncias gerenciadas de SQL.
Você não precisa fazer isso apenas ao anexar ou atualizar zonas DNS privadas do Azure à rede virtual das instâncias gerenciadas. Essas alterações se propagam automaticamente para as instâncias gerenciadas.
Considerações
- Tenha cuidado para não substituir nem desabilitar a resolução de nomes de domínio que a Instância Gerenciada de SQL do Azure usa internamente, conforme listado em Restrições de rede. Sempre configure seu servidor DNS personalizado para que ele possa resolver nomes de domínio público.
- Sempre use um FQDN (nome de domínio totalmente qualificado) para os serviços que você deseja que a Instância Gerenciada de SQL do Azure resolva, como seu servidor de email ou uma instância local do SQL Server. Use FQDNs mesmo que esses serviços estejam dentro de sua zona DNS privada. Por exemplo, use
smtp.contoso.com
. A criação de um servidor vinculado ou configurar uma replicação que faz referência a VMs do SQL Server dentro da mesma rede virtual também requer um FQDN e um sufixo DNS padrão, por exemploSQLVM.internal.cloudapp.net
.
Atualizar Instâncias Gerenciadas de SQL
Se a configuração do servidor DNS for alterada em uma rede virtual com instâncias gerenciadas de SQL existentes, o cluster virtual que hospeda essas instâncias e os grupos de máquinas subjacentes precisarão ser sincronizados com as alterações na configuração do DNS. A atualização de um cluster virtual afeta todas as Instâncias Gerenciadas de SQL hospedadas nele.
Quando você atualiza as configurações do servidor DNS de um cluster virtual, os endereços IP do servidor DNS personalizados definidos na rede virtual tornam-se os servidores DNS preferenciais das instâncias nesse cluster. As instâncias ainda mantêm o endereço do resolvedor de DNS do Azure como backup, mas agora resolvem endereços usando primeiro os servidores DNS personalizados.
Use o portal do Azure para atualizar as configurações do servidor DNS de um cluster virtual existente.
- Abra o Portal do Azure.
- Abra o grupo de recursos com uma instância gerenciada na sub-rede que você está configurando e selecione a instância gerenciada SQL para a qual deseja atualizar as configurações do servidor DNS.
- Em Visão geral, selecione o cluster virtual ao qual a instância pertence.
- Selecione Sincronizar configurações do servidor DNS para atualizar o cluster.
Verificar a configuração
Depois de atualizar as configurações do servidor DNS no cluster virtual, você pode verificar se ele está em vigor para as instâncias gerenciadas nesse cluster. Uma maneira de fazer isso é criar e executar um trabalho do SQL Server Agent que gera uma lista de servidores DNS atualmente configurados na interface de rede.
Para exibir a lista de servidores DNS configurados na interface de rede da instância gerenciada:
- Inicie o SQL Server Management Studio.
- Conecte-se a uma instância gerenciada no cluster para o qual você atualizou as configurações de DNS.
- No Pesquisador de Objetos, expanda SQL Server Agent.
- Clique com o botão direito do mouse em Trabalhos e selecione Novo Trabalho.
- Em Geral, escreva o nome do trabalho, por exemplo, "Verificar configurações de DNS".
- Em Etapas, selecione Novo....
- Escreva o nome da etapa; por exemplo, "executar".
- Defina Tipo como PowerShell.
- Em Comando, cole o seguinte comando:
Get-DnsClientServerAddress
- Selecione OK e depois OK para fechar ambas as janelas de diálogo.
- No Pesquisador de Objetos, clique com o botão direito do mouse no trabalho criado e selecione Iniciar Trabalho na Etapa…. O trabalho será executado.
- Quando o trabalho terminar, clique com o botão direito do mouse nele novamente e selecione Exibir Histórico.
- Em Resumo do arquivo de log, expanda o trabalho e selecione sua primeira e única etapa abaixo dele.
- Em Detalhes da linha selecionada:, revise a saída do comando e confirme se ele contém os endereços IP dos servidores DNS.
Permissões
Um usuário que está sincronizando as configurações do servidor DNS em uma rede virtual:
- Deve ser um membro da função Colaborador de Assinatura ou
- Ter uma função personalizada com a permissão
Microsoft.Sql/virtualClusters/updateManagedInstanceDnsServers/action
.
Próximas etapas
- Para ter uma visão geral, confira O que é a Instância Gerenciada de SQL do Azure?
- Para obter informações sobre como a instância gerenciada resolve e direciona o tráfego, confira Arquitetura de conectividade para a Instância Gerenciada de SQL do Azure.
- Para saber mais, consulte Arquitetura do cluster virtual de instância gerenciada do SQL
- Para obter mais informações sobre a resolução de DNS nas redes virtuais do Azure, confira Resolução de nomes para recursos em redes virtuais do Azure.
- Para ver um tutorial de como criar uma instância gerenciada, confira Criar uma instância gerenciada.
- Para saber mais sobre como configurar uma rede virtual para uma instância gerenciada, confira Arquitetura de conectividade.