Tutorial: Como aceder ao SQL Server no local a partir da VNet Gerida do Data Factory com um Ponto Final Privado

Este tutorial fornece etapas para usar o portal do Azure para configurar o Serviço de Link Privado e acessar o SQL Server local a partir de uma rede virtual gerenciada usando um ponto de extremidade privado. O uso de uma rede virtual gerenciada garante que o tráfego de e para sua fonte SQL local passe pelo 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.

Nota

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

  • Subscrição do Azure. Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
  • Rede Virtual. Se você não tiver uma Rede Virtual, crie uma a seguir Criar Rede Virtual.
  • Rede virtual para rede local. Crie uma conexão entre a rede virtual e a rede local usando a Rota Expressa ou VPN. Se preferir usar uma máquina virtual na nuvem em uma rede privada, você também pode fazer isso. Basta criar uma rede virtual para suas máquinas virtuais na nuvem e um link privado para a rede virtual e você pode acessá-las como se fossem máquinas locais em sua rede privada, mesmo que estejam hospedadas na nuvem.
  • Data Factory com VNet gerenciada habilitada. Se você não tiver um Data Factory ou uma VNet gerenciada não estiver habilitada, crie uma a seguir Criar Data Factory com VNet gerenciada.

Criar sub-redes para recursos

Use o portal para criar sub-redes em sua rede virtual.

Sub-rede Description
ser-sub-rede sub-rede para servidores back-end
fe-sub-rede sub-rede para balanceador de carga interno padrão
pls-sub-rede sub-rede para o Serviço de Link Privado

Captura de tela que mostra as sub-redes.

Criar um balanceador de carga standard

Use o portal para criar um balanceador de carga interno padrão.

  1. No canto superior esquerdo da tela, selecione Criar um Balanceador de Carga de Rede > de Recurso>.

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

    Definição Value
    Subscrição Selecione a sua subscrição.
    Grupo de recursos Selecione o seu grupo de recursos.
    Nome Digite myLoadBalancer.
    País/Região Selecione E.U.A. Leste.
    Type Selecione Interno.
    SKU selecione Standard.
    Rede virtual Selecione sua rede virtual.
    Sub-rede Selecione fe-subnet criado na etapa anterior.
    Atribuição de endereço IP Selecione Dinâmico.
    Availability zone Selecione Zona redundante.
  3. Aceite os padrões para as configurações restantes e selecione Revisar + criar.

  4. No separador Rever + criar, selecione Criar.

    Captura de tela que mostra a etapa para criar o balanceador de carga padrão.

Criar recursos do balanceador de carga

Criar um conjunto de back-ends

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

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

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

Criar uma sonda de estado de funcionamento

O balanceador de carga monitora o status do seu aplicativo com uma sonda de integridade.

O teste de integridade adiciona ou remove VMs do balanceador de carga com base em sua resposta às verificações de integridade.

Crie uma sonda de estado de funcionamento com o nome myHealthProbe, para monitorizar o estado de funcionamento das VMs.

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

  2. Em Definições, selecione Sondas de saúde e, em seguida, selecione Adicionar.

    Definição Valor
    Nome Digite myHealthProbe.
    Protocolo Selecione TCP.
    Porta Digite 22.
    Intervalo Digite 15 para o número de Intervalo em segundos entre as tentativas de sonda.
    Limiar com funcionamento incorreto Selecione 2 para o número de falhas de teste não íntegras ou de teste consecutivas que devem ocorrer antes que uma VM seja considerada não íntegra.
  3. Deixe o resto os padrões e selecione OK.

Criar uma regra do balanceador de carga

É utilizada uma regra de balanceador de carga para definir a forma como o tráfego é distribuído pelas VMs. Você define a configuração de IP de front-end para o tráfego de entrada e o pool de IP 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. Selecione Todos os serviços no menu à esquerda, selecione Todos os recursos e, em seguida, selecione myLoadBalancer na lista de recursos.

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

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

    Definição Valor
    Nome Digite myRule.
    Versão do IP Selecione IPv4.
    Endereço IP de front-end Selecione LoadBalancerFrontEnd.
    Protocolo Selecione TCP.
    Porta Digite 1433.
    Porta back-end Digite 1433.
    Conjunto de back-end Selecione myBackendPool.
    Sonda de estado de funcionamento Selecione myHealthProbe.
    Tempo limite de inatividade (minutos) Mova o controle deslizante para 15 minutos.
    Redefinição de TCP selecione Desativado.
  4. Deixe o restante dos padrões e selecione OK.

Nesta seção, você criará um serviço Private Link atrá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. Procure Link privado na caixa Pesquisar no Marketplace .

  3. Selecione Criar.

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

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

    Definição Value
    Detalhes do projeto
    Subscrição Selecione a sua subscrição.
    Grupo de Recursos Selecione o seu grupo de recursos.
    Detalhes da instância
    Nome Digite myPrivateLinkService.
    País/Região Selecione E.U.A. Leste.
  6. Selecione a guia Configurações de saída ou selecione Avançar: Configurações de saída na parte inferior da página.

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

    Definição Value
    Balanceador de carga Selecione myLoadBalancer.
    Endereço IP frontend do balanceador de carga Selecione LoadBalancerFrontEnd.
    Sub-rede NAT de origem Selecione pls-subnet.
    Ativar proxy TCP V2 Deixe o padrão de 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 Controle de acesso baseado em função somente na guia Segurança de acesso.

  10. Selecione a guia Tags ou selecione Next: Tags na parte inferior da página.

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

  12. Selecione Criar na guia Revisão + criação.

Criar servidores de back-end

  1. No canto superior esquerdo do portal, selecione Criar uma máquina virtual de computação > de recurso>.

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

    Definição Value
    Detalhes do projeto
    Subscrição Selecione a subscrição do Azure.
    Grupo de Recursos Selecione o seu grupo de recursos.
    Detalhes da instância
    Virtual machine name Digite myVM1.
    País/Região Selecione E.U.A. Leste.
    Opções de disponibilidade Selecione Zonas de disponibilidade.
    Availability zone Selecione 1.
    Imagem Selecione Ubuntu Server 22.04 LTS.
    Instância do Azure Spot Selecione Não.
    Tamanho Escolha o tamanho da VM ou assuma a configuração padrão.
    Conta de administrador
    Username Introduza um nome de utilizador.
    Origem da chave pública SSH Gere um novo par de chaves.
    Nome do par de chaves mySSHKey.
    Regras de porta de entrada
    Portas de entrada públicas Nenhuma
  3. Selecione a guia Rede ou selecione Avançar: Discos e, em seguida, Avançar: Rede.

  4. Na guia Rede, selecione ou digite:

    Definição Value
    Interface de Rede
    Rede virtual Selecione sua rede virtual.
    Sub-rede ser-sub-rede.
    IP público Selecione Nenhuma.
    Grupo de segurança de rede NIC Selecione Nenhuma.
    Balanceamento de carga
    Colocar essa máquina virtual atrás de uma solução de balanceamento de carga existente? Selecione Yes (Sim).
    Configurações de balanceamento de carga
    Opções de balanceamento de carga Selecione Balanceamento de carga do Azure.
    Selecione um balanceador de carga Selecione myLoadBalancer.
    Selecione um pool de back-end Selecione myBackendPool.
  5. Selecione Rever + criar.

  6. Reveja as definições e, em seguida, selecione Criar.

  7. Você pode repetir as etapas 1 a 6 para ter mais de 1 VM de servidor back-end para HA.

Criando regra de encaminhamento para o ponto de extremidade

  1. Faça login e copie ip_fwd.sh de script para suas VMs de 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
    

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

    Nota

    O FQDN não funciona para o SQL Server local, a menos que você adicione um registro na zona DNS do Azure.

  3. Execute o seguinte comando e verifique os iptables em suas VMs de servidor back-end. Você pode ver um registro em seu iptables com seu IP de destino.

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

    Captura de tela que mostra o registro de comando.

    Nota

    Se você tiver mais de um SQL Server ou fontes de dados, precisará definir várias regras de balanceador de carga e registros de tabela 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 Comando executado 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

    Nota

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

  1. Selecione Todos os serviços no menu à esquerda, selecione Todos os recursos e, em seguida, selecione o seu data factory na lista de recursos.

  2. Selecione Criar e Monitorizar para iniciar a IU do Data Factory num separador à parte.

  3. Vá para a guia Gerenciar e, em seguida, vá para a seção Pontos de extremidade privados gerenciados.

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

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

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

  7. Adicione o <FQDN> SQL Server local de destino.

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

    Nota

    Ao implantar seu SQL Server em uma máquina virtual dentro de uma rede virtual, é essencial aprimorar seu FQDN anexando 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. Vá para a guia Gerenciar e, em seguida, vá para a seção Serviços vinculados .

  2. Selecione + Novo em Serviço vinculado.

  3. Selecione o bloco SQL Server na lista e selecione 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, nome de usuário e senha.

  6. Em seguida, clique em Testar conexão.

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

    Nota

    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 tratará da tradução da porta. Se não for explicitamente especificado, a ligação atingirá sempre o tempo limite.

Resolução de Problemas

Vá para a VM do servidor back-end, confirme telnet o SQL Server funciona: telnet< FQDN> 1433.

Avance para o tutorial a seguir para saber como acessar a Instância Gerenciada SQL do Microsoft Azure a partir da VNet Gerenciada do Data Factory usando o Ponto de Extremidade Privado: