Link Privado do Azure para Instância Gerenciada de SQL do Azure

Aplica-se a:Instância Gerenciada de SQL do Azure

Este artigo fornece uma visão geral do ponto de extremidade privado para Instância Gerenciada de SQL do Azure, bem como etapas para configurá-lo. Os pontos de extremidade privados estabelecem conectividade segura e isolada entre um serviço e várias redes virtuais sem expor toda a infraestrutura de rede do serviço.

Visão geral

Link Privado é a tecnologia do Azure que disponibiliza a Instância Gerenciada de SQL do Azure em uma rede virtual de sua escolha. Um administrador de rede pode estabelecer um ponto de extremidade privado para Instância Gerenciada de SQL do Azure em sua rede virtual, enquanto o administrador do SQL opta por aceitar ou rejeitar o ponto de extremidade antes que ele se torne ativo. Os pontos de extremidade privados estabelecem conectividade segura e isolada entre um serviço e várias redes virtuais sem expor toda a infraestrutura de rede do serviço.

Como os pontos de extremidade privados diferem dos pontos de extremidade locais da VNet

O ponto de extremidade local da VNet padrão implantado com cada Instância Gerenciada de SQL do Azure se comporta como se um computador que executa o serviço estivesse fisicamente conectado à sua rede virtual. Ele permite o controle de tráfego quase completo por meio de tabelas de rotas, grupos de segurança de rede, resolução de DNS, firewalls e mecanismos semelhantes. Você também pode usar esse ponto de extremidade para envolver sua instância em cenários que exigem conectividade em portas diferentes da 1433, como grupos de failover, transações distribuídas e Link de Instância Gerenciada. Embora o ponto de extremidade local da VNet forneça flexibilidade, ele adiciona complexidade ao configurar cenários específicos, especialmente aqueles que envolvem várias redes virtuais ou locatários.

Por outro lado, a configuração de um ponto de extremidade privado é como estender um cabo de rede físico de um computador que executa a Instância Gerenciada de SQL do Azure para outra rede virtual. Esse caminho de conectividade é estabelecido virtualmente por meio da tecnologia Link Privado do Azure. Ele só permite conexões em uma direção: do ponto de extremidade privado para a Instância Gerenciada de SQL do Azure, e só carrega o tráfego na porta 1433 (a porta de tráfego TDS padrão). Dessa forma, sua Instância Gerenciada de SQL do Azure fica disponível em uma rede virtual diferente, sem precisar configurar o emparelhamento de rede ou ativar o ponto de extremidade público da instância. Mesmo que você mova a instância para outra sub-rede, todos os pontos de extremidade privados estabelecidos continuarão a apontar para ela.

Para obter uma discussão mais detalhada sobre os diferentes tipos de pontos de extremidade compatíveis com a Instância Gerenciada de SQL do Azure, confira Visão geral de comunicação.

Quando usar pontos de extremidade privados

Os pontos de extremidade privados para Instância Gerenciada de SQL do Azure são mais seguros do que usar o ponto de extremidade local da VNet ou o ponto de extremidade público e simplificar a implementação de cenários de conectividade importantes. Esses cenários incluem:

  • Airlock. Os pontos de extremidade privados para a Instância Gerenciada de SQL do Azure são implantados em uma rede virtual com servidores de salto e um gateway do ExpressRoute, fornecendo segurança e isolamento entre recursos no local e na nuvem.
  • Topologia hub e spoke. Os pontos de extremidade privados em redes virtuais spoke conduzem o tráfego dos clientes e aplicativos SQL para as Instâncias Gerenciadas de SQL do Azure em uma rede virtual hub, estabelecendo um isolamento claro de rede e a separação de responsabilidade.
  • Publisher-consumer. O locatário do Publicador (por exemplo, um ISV) gerencia várias instâncias gerenciadas de SQL em suas redes virtuais. O editor cria os pontos de extremidade privados nas redes virtuais de outros locatários para disponibilizar as instâncias para os consumidores.
  • Integração dos serviços de PaaS e SaaS do Azure. Alguns serviços de PaaS e SaaS, como o Azure Data Factory, podem criar e gerenciar pontos de extremidade privados para a Instância Gerenciada de SQL do Azure.

Os benefícios de usar pontos de extremidade privados em um ponto de extremidade público ou local da VNet incluem:

  • Previsibilidade de endereço IP: um ponto de extremidade privado para a Instância Gerenciada de SQL do Azure recebe um endereço IP fixo do intervalo de endereços da sub-rede. Esse endereço IP permanece estático mesmo se os endereços IP dos pontos de extremidade públicos e locais da VNet forem alterados.
  • Acesso granular à rede: um ponto de extremidade privado só é visível dentro da rede virtual.
  • Isolamento de rede forte: em um cenário de emparelhamento, as redes virtuais emparelhadas estabelecem uma conectividade bidirecional, enquanto os pontos de extremidade privados são unidirecionais e não expõem os recursos de rede dentro da rede para a Instância Gerenciada de SQL do Azure.
  • Evitar a sobreposição de endereços: o emparelhamento de várias redes virtuais exige uma alocação cuidadosa de espaço IP e pode representar um problema quando os espaços de endereço se sobrepõem.
  • Preservar o espaço útil do endereço IP: um ponto de extremidade privado consome apenas um endereço IP do espaço de endereço da sub-rede.

Limitações

Criar um ponto de extremidade privado em uma rede virtual

Crie um ponto de extremidade privado usando o portal do Azure, Azure PowerShell ou a CLI do Azure:

Depois de criar um ponto de extremidade privado, talvez você também precise aprovar sua criação na rede virtual de destino; confira Examinar e aprovar uma solicitação para criar um ponto de extremidade privado.

Para tornar o ponto de extremidade privado para Instância Gerenciada de SQL e totalmente funcional, siga as instruções para configurar a resolução de nome de domínio para o ponto de extremidade privado.

Criar um ponto de extremidade privado em um serviço de PaaS ou SaaS

Alguns serviços de PaaS e SaaS do Azure podem usar pontos de extremidade privados para acessar seus dados de dentro de seus ambientes. O procedimento para configurar um ponto de extremidade privado nesse serviço (às vezes chamado de "ponto de extremidade privado gerenciado" ou "ponto de extremidade privado em uma rede virtual gerenciada") varia entre os serviços. Um administrador ainda precisa examinar e aprovar a solicitação na Instância Gerenciada de SQL do Azure, conforme descrito em Examinar e aprovar uma solicitação para criar um ponto de extremidade privado.

Observação

A Instância Gerenciada de SQL do Azure requer que a cadeia de conexão do cliente SQL tenha o nome da instância como o primeiro segmento do nome de domínio (por exemplo: <instance-name>.<dns-zone>.database.windows.net). Os serviços de PaaS e SaaS que tentam se conectar ao ponto de extremidade privado da Instância Gerenciada de SQL do Azure por meio de seu endereço IP não poderão se conectar.

Criar um ponto de extremidade privado entre locatário

Os pontos de extremidade privados para a Instância Gerenciada de SQL do Azure também podem ser criados em diferentes locatários do Azure. Para fazer isso, o administrador da rede virtual na qual o ponto de extremidade privado deve aparecer deve, primeiro, obter a ID do recurso completa da Instância Gerenciada de SQL do Azure da qual estão prestes a solicitar um ponto de extremidade privado. Com essas informações, um novo ponto de extremidade privado pode ser criado no Centro de Link Privado. Como antes, o administrador da Instância Gerenciada de SQL do Azure receberá uma solicitação que poderá analisar e aprovar ou rejeitar, conforme Analisar e aprovar uma solicitação para criar um ponto de extremidade privado.

Examinar e aprovar uma solicitação para criar um ponto de extremidade privado

Depois que uma solicitação para criar um ponto de extremidade privado for feita, o administrador do SQL poderá gerenciar a conexão de ponto de extremidade privado com a Instância Gerenciada de SQL do Azure. A primeira etapa para gerenciar uma nova conexão de ponto de extremidade privado é examinar e aprovar o ponto de extremidade privado. Essa etapa será automática se o usuário ou o serviço que cria o ponto de extremidade privado tiver permissões de RBAC do Azure suficientes no recurso Instância Gerenciada de SQL do Azure. Se o usuário não tiver permissões suficientes, a revisão e a aprovação do ponto de extremidade privado deverão ser feitas manualmente.

Para aprovar um ponto de extremidade privado, siga estas etapas:

  1. Acesse a Instância Gerenciada de SQL do Azure no portal do Azure.

  2. Em Segurança, escolha Conexões de ponto de extremidade privado.

    Screenshot of the Azure portal, private endpoint connections page showing two pending connections.

  3. Examine as conexões que têm um Estado pendente e marque a caixa para escolher uma ou mais conexões de ponto de extremidade privado para aprovar ou rejeitar.

    Screenshot of the Azure portal, one private endpoint connection selected for approval.

  4. Escolha Aprovar ou Rejeitar e selecione Sim na caixa de diálogo verificando sua ação.

    Screenshot of dialog prompting for a response message to accompany the approval of a connection.

  5. Depois de aprovar ou rejeitar uma conexão, a lista Conexão de Ponto de Extremidade Privado reflete o estado das conexões de ponto de extremidade privado atuais, bem como a mensagem Solicitação/Resposta.

    Screenshot of the Azure portal, private endpoint connections page showing one pending and one approved connection.

Configurar a resolução de nomes de domínio para o ponto de extremidade privado

Depois de criar um ponto de extremidade privado para a Instância Gerenciada de SQL do Azure, você precisará configurar a resolução de nome de domínio, pois, caso contrário, as tentativas de login falharão. O método a seguir funciona para redes virtuais que usam a resolução de DNS do Azure. Se sua rede virtual estiver configurada para usar um servidor DNS personalizado, ajuste as etapas adequadamente.

Para configurar a resolução de nome de domínio para um ponto de extremidade privado para uma instância cujo nome de domínio do VNet-local ponto de extremidade é <instance-name>.<dns-zone>.database.windows.net, siga um dos dois procedimentos abaixo, dependendo se a instância e seu ponto de extremidade privado estão na mesma rede virtual ou em diferentes redes virtuais.

Importante

Não altere como o nome de domínio do ponto de extremidade local da VNet da Instância Gerenciada de SQL do Azure é resolvido em sua rede virtual. Isso interrompe a capacidade da instância de executar operações de gerenciamento.

Siga estas etapas se o ponto de extremidade privado e a Instância Gerenciada de SQL do Azure estiverem em redes virtuais diferentes.

Depois de concluir essas etapas, os clientes SQL que se conectam ao <instance-name>.<dns-zone>.database.windows.net de dentro da rede virtual do ponto de extremidade serão roteados de forma transparente por meio do ponto de extremidade privado.

  1. Obtenha o endereço IP do ponto de extremidade privado acessando o Centro de Link Privado ou executando as seguintes etapas:

    1. Acesse a Instância Gerenciada de SQL do Azure no portal do Azure.

    2. Em Segurança, escolha Conexões de ponto de extremidade privado.

    3. Localize a conexão de ponto de extremidade privado na tabela e escolha o Nome do ponto de extremidade privado para a conexão escolhida.

      Screenshot of the Azure portal, private endpoint connections pane the private endpoint name highlighted.

    4. Na página *Visão geral, selecione a interface de rede.

      Screenshot of the Azure portal, private endpoint connection overview with a highlight on network interface.

    5. Na página Visão geral, marque Essentials para identificar e copiar o Endereço IP privado.

      Screenshot of the Azure portal, private endpoint connection's network interface with a highlight on its private IP address.

  2. Crie uma zona DNS privada do Azure chamada privatelink.<dns-zone>.database.windows.net.

  3. Vincule a zona DNS privada à rede virtual do ponto de extremidade.

  4. Na zona DNS, crie um novo conjunto de registros com os seguintes valores:

    • Nome: <instance-name>
    • Tipo: A
    • Endereço IP: endereço IP do ponto de extremidade privado obtido no conjunto anterior.

Próximas etapas