Tutorial: Como acessar o SQL Server local da VNET gerenciada do Data Factory usando o ponto de extremidade privado

Este tutorial mostra as etapas para usar o portal do Azure para configurar o Serviço de Link Privado e acessar o SQL Server local da rede virtual gerenciada usando o ponto de extremidade privado. O uso de uma rede virtual gerenciada garante que o tráfego de e para sua fonte SQL local passe por seu próprio ponto de extremidade privado, garantindo assim a exposição à nuvem pública com uma camada extra de segurança e isolamento. Os recursos necessários mencionados abaixo são necessários para dar suporte ao cenário.

Observação

A solução apresentada neste artigo descreve a conectividade do SQL Server, mas você pode usar uma abordagem semelhante para conectar e consultar outros conectores locais disponíveis com suporte no Azure Data Factory.

Captura de tela que mostra o modelo de acesso do SQL Server.

Pré-requisitos

  • Assinatura do Azure. Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
  • Rede Virtual. Se você não tem uma Rede Virtual, crie uma seguindo as etapas em Criar Rede Virtual.
  • Rede virtual para rede local. Crie uma conexão entre a rede virtual e a rede local usando o ExpressRoute ou a VPN. Se você preferir usar uma máquina virtual de nuvem em uma rede privada, também poderá fazer isso. Basta criar uma rede virtual para suas máquinas virtuais de nuvem e um link privado para a rede virtual e você poderá acessá-las como se fossem máquinas locais em sua rede privada, mesmo que elas estejam hospedadas na nuvem.
  • Data Factory com a VNET gerenciada habilitada. Se você não tem um Data Factory ou se a VNET gerenciada não está habilitada, siga o processo em Criar um Data Factory com uma VNET gerenciada.

Criar sub-redes para recursos

Use o portal para criar sub-redes na rede virtual.

Sub-rede Descrição
be-subnet sub-rede para servidores back-end
fe-subnet sub-rede para o Standard Load Balancer interno
pls-subnet Sub-rede para o serviço de link privado

Captura de tela que mostra as sub-redes.

Criar um balanceador de carga padrão

Use o portal para criar um balanceador de carga Standard interno.

  1. No canto superior esquerdo da tela, selecione Criar um recurso > Rede > Load Balancer.

  2. Na guia Informações Básicas da página Criar balanceador de carga, insira ou selecione as seguintes informações:

    Configuração Valor
    Subscription Selecione sua assinatura.
    Resource group Selecione o grupo de recursos.
    Nome Insira myLoadBalancer.
    Região Selecione Leste dos EUA.
    Type selecione Interno.
    SKU Selecione Padrão.
    Rede virtual Selecione sua rede virtual.
    Sub-rede Selecione a fe-subnet criada na etapa anterior.
    Atribuição de endereço IP selecione Dinâmico.
    Zona de disponibilidade Selecione Com redundância de zona.
  3. Aceite os padrões para as demais configurações e selecione Examinar + criar.

  4. Na guia Examinar + criar, selecione Criar.

    Captura de tela que mostra a etapa para criar o Standard Load Balancer.

Criar recursos do balanceador de carga

Crie um pool de back-end

Um pool de endereços de back-end contém os endereços IP das (NICs) virtuais conectadas ao balanceador de carga.

Crie o pool de endereços de back-end myBackendPool para incluir máquinas virtuais para balanceamento de carga de tráfego da Internet.

  1. Clique em Todos os serviços no menu à esquerda, selecione Todos os recursos e depois selecione myLoadBalancer na lista de recursos.
  2. Em Configurações, selecione Pools de back-end e, em seguida, Adicionar.
  3. Na página Adicionar um pool de back-end, insira myBackendPool como o nome para o pool de back-end e depois selecione Adicionar.

Criar uma investigação de integridade

O balanceador de carga monitora o status do seu aplicativo com uma investigação de integridade.

A investigação de integridade adiciona ou remove VMs do balanceador de carga com base na resposta às verificações de integridade.

Crie uma investigação de integridade chamada myHealthProbe para monitorar a integridade das VMs.

  1. Clique em Todos os serviços no menu à esquerda, selecione Todos os recursos e depois selecione myLoadBalancer na lista de recursos.

  2. Em Configurações, selecione Investigações de integridade e, em seguida, Adicionar.

    Configuração Valor
    Nome Insira myHealthProbe.
    Protocolo selecione TCP.
    Porta Insira 22.
    Intervalo Insira 15 para o número de Intervalo em segundos entre tentativas de investigação.
    Limite não íntegro Insira 2 para o número de Limite não íntegro ou falhas de investigação consecutivas que devem ocorrer antes que uma VM seja considerada não íntegra.
  3. Deixe o restante com os padrões e selecione OK.

Criar uma regra de balanceador de carga

Uma regra de balanceador de carga é usada para definir como o tráfego é distribuído para as VMs. Você define a configuração de IP de front-end para o tráfego de entrada e o pool de IPs de back-end para receber o tráfego. A porta de origem e de destino são definidas na regra.

Nesta seção, você criará uma regra de balanceador de carga:

  1. Clique em Todos os serviços no menu à esquerda, selecione Todos os recursos e depois selecione myLoadBalancer na lista de recursos.

  2. Em Configurações, selecione Regras de balanceamento de carga e Adicionar.

  3. Use estes valores para configurar a regra de balanceamento de carga:

    Configuração Valor
    Nome Insira myRule.
    Versão IP Selecione IPv4.
    Endereço IP de front-end Selecione LoadBalancerFrontEnd.
    Protocolo selecione TCP.
    Porta Insira 1433.
    Porta de back-end Insira 1433.
    Pool de back-end Selecione myBackendPool.
    Investigação de integridade Selecione myHealthProbe.
    Tempo limite de ociosidade (minutos) Mova o controle deslizante para 15 minutos.
    Redefinição de TCP Selecione Desabilitado.
  4. Deixe o restante dos padrões e selecione OK.

Nesta seção, você criará um serviço de Link Privado por trás de um balanceador de carga padrão.

  1. Na parte superior esquerda da página no portal do Azure, selecione Criar um recurso.

  2. Pesquise por Link Privado na caixa Pesquisar no Marketplace.

  3. Selecione Criar.

  4. Em Visão geral, em Centro de Link Privado, selecione o botão azul Criar serviço de link privado.

  5. Na guia Básico, em Criar serviço de link privado, insira ou selecione as seguintes informações:

    Configuração Valor
    Detalhes do projeto
    Subscription Selecione sua assinatura.
    Grupo de recursos Selecione o grupo de recursos.
    Detalhes da instância
    Nome Insira myPrivateLinkService.
    Região Selecione Leste dos EUA.
  6. Selecione a guia Configurações de saída ou selecione Avançar: Configurações adicionais na parte inferior da página.

  7. Na guia Configurações de saída, insira ou selecione as seguintes informações:

    Configuração Valor
    Balanceador de carga Selecione myLoadBalancer.
    Endereço IP de front-end do balanceador de carga Selecione LoadBalancerFrontEnd.
    Sub-rede da NAT de origem Selecione pls-subnet.
    Habilitar o proxy TCP V2 Mantenha o padrão Não.
    Configurações de endereço IP privado
    Deixe as configurações padrão.
  8. Selecione a guia Segurança de acesso ou selecione Avançar: Segurança de acesso na parte inferior da página.

  9. Deixe o padrão de Somente controle de acesso baseado em função na guia Segurança de acesso.

  10. Selecione a guia Marcas ou selecione Avançar: Marcas na parte inferior da página.

  11. Selecione a guia Examinar + criar ou selecione Avançar: Examinar + criar na parte inferior da página.

  12. Selecione Criar na guia Examinar + criar.

Criar servidores de back-end

  1. No canto superior esquerdo do portal, selecione Criar um recurso > Computação > Máquina virtual.

  2. Em Criar uma máquina virtual, digite ou selecione os valores na guia Informações Básicas:

    Configuração Valor
    Detalhes do projeto
    Subscription Selecione sua assinatura do Azure.
    Grupo de recursos Selecione o grupo de recursos.
    Detalhes da instância
    Nome da máquina virtual Insira myVM1.
    Região Selecione Leste dos EUA.
    Opções de disponibilidade Selecione Zonas de disponibilidade.
    Zona de disponibilidade Selecione 1.
    Imagem Selecione Ubuntu Server 22.04 LTS.
    Instância do Azure Spot Selecione Não.
    Tamanho Escolha o tamanho da VM ou use a configuração padrão.
    Conta de administrador
    Nome de Usuário Digite um nome de usuário.
    Origem de chave pública SSH Gere um novo par de chaves.
    Nome do par de chaves mySSHKey.
    Regras de porta de entrada
    Porta de entrada públicas Nenhum
  3. Selecione a guia Rede ou selecione Avançar: Discos, em seguida, Avançar: Rede.

  4. Na guia Rede, selecione ou insira:

    Configuração Valor
    Interface de rede
    Rede virtual Selecione sua rede virtual.
    Sub-rede be-subnet.
    IP público Selecione Nenhum.
    Grupo de segurança de rede da NIC Selecione Nenhum.
    Balanceamento de carga
    Colocar esta máquina virtual por trás de uma solução de balanceamento de carga existente? Selecione Sim na barra superior.
    Configurações de balanceamento de carga
    Opções de balanceamento de carga Selecione Balanceamento de carga do Azure.
    Selecionar um balanceador de carga Selecione myLoadBalancer.
    Selecionar um pool de back-end Selecione myBackendPool.
  5. Selecione Examinar + criar.

  6. Examine as configurações e selecione Criar.

  7. Repita as etapas de um a seis para definir mais de uma VM do servidor back-end com HA.

Como criar uma regra de encaminhamento para o ponto de extremidade

  1. Faça logon e copie o script ip_fwd.sh para as VMs do servidor back-end.

  2. Execute o script com as seguintes opções:

    sudo ./ip_fwd.sh -i eth0 -f 1433 -a <FQDN/IP> -b 1433
    

    Definir o espaço reservado <FQDN/IP> é o IP de SQL Server do seu destino.

    Observação

    O FQDN só funciona para o SQL Server local quando você adiciona um registro na zona DNS do Azure.

  3. Execute o comando abaixo e verifique as iptables nas VMs do servidor back-end. Há um registro em iptables com o IP de destino.

    sudo iptables -t nat -v -L PREROUTING -n --line-number**
    

    Captura de tela que mostra o registro do comando.

    Observação

    Se houver mais de um SQL Server ou mais de uma fonte de dados, você precisará definir as várias regras de balanceador de carga e registros de tabela de IP com portas diferentes. Caso contrário, haverá algum conflito. Por exemplo,

    Porta na regra do balanceador de carga Porta de back-end na regra de balanceamento de carga Execução de comando na VM do servidor back-end
    SQL Server 1 1433 1433 sudo ./ip_fwd.sh -i eth0 -f 1433 -a <FQDN/IP> -b 1433
    SQL Server 2 1434 1434 sudo ./ip_fwd.sh -i eth0 -f 1434 -a <FQDN/IP> -b 1433

    Observação

    É importante estar ciente de que a configuração dentro da máquina virtual (VM) não é permanente. Isso significa que sempre que a VM for reiniciada, ela exigirá reconfiguração.

  1. Clique em Todos os serviços no menu à esquerda, clique em Todos os recursos e depois selecione o data factory na lista de recursos.

  2. Clique em Criar e Monitorar para iniciar a IU do Azure Data Factory em uma guia separada.

  3. Acesse a guia Gerenciar e depois a seção Pontos de extremidade privados.

  4. Selecione + Novo em Pontos de extremidade privados gerenciados.

  5. Selecione o bloco Serviço de Link Privado na lista e escolha Continuar.

  6. Insira o nome do ponto de extremidade privado e selecione myPrivateLinkService na lista de serviços de link privado.

  7. Adicione <FQDN> do SQL Server local do seu destino.

    Captura de tela que mostra as configurações do ponto de extremidade privado.

    Observação

    Ao implantar seu SQL Server em uma máquina virtual dentro de uma rede virtual, é essencial aprimorar o FQDN acrescentando privatelink. Caso contrário, ele entrará em conflito com outros registros na configuração DNS. Por exemplo, você pode simplesmente modificar o FQDN do SQL Server de sqlserver.westus.cloudapp.azure.net para sqlserver.privatelink.westus.cloudapp.azure.net.

  8. Crie um ponto de extremidade privado.

Criar um serviço vinculado e testar a conexão

  1. Acesse a guia Gerenciar e vá para a seção Serviços vinculados.

  2. Selecione + Novo em Serviço Vinculado.

  3. Selecione o bloco do SQL Server na lista e escolha Continuar.

    Captura de tela que mostra a página de criação do serviço vinculado.

  4. Habilite a Criação Interativa.

    Captura de tela que mostra como habilitar a Criação Interativa.

  5. Insira o FQDN do SQL Server local, o nome de usuário e a senha.

  6. Depois, clique em Testar conexão.

    Captura de tela que mostra a página de criação do serviço vinculado do SQL Server.

    Observação

    Se você tiver mais de um SQL Server e precisar definir várias regras de balanceador de carga e registros de tabela IP com portas diferentes, certifique-se de adicionar explicitamente o nome da porta após o FQDN ao editar o Serviço Vinculado. A VM NAT lidará com a conversão de porta. Se ele não for especificado explicitamente, a conexão sempre atingirá o tempo limite.

Solução de problemas

Acesse a VM do servidor back-end e confirme se o telnet do SQL Server funciona: telnet <FQDN> 1433.

Prossiga para o próximo tutorial para saber como acessar a Instância Gerenciada de SQL do Microsoft Azure da VNET gerenciada do Data Factory usando o ponto de extremidade privado: