Rede virtual gerenciada do Azure Data Factory

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Dica

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma avaliação gratuita!

Este artigo explicará sobre a rede virtual gerenciada e os pontos de extremidade privados gerenciados no Azure Data Factory.

Rede virtual gerenciada

Quando você cria um Azure Integration Runtime na rede virtual gerenciada do Data Factory, o Integration Runtime é provisionado com a rede virtual gerenciada. Ele usa os pontos de extremidade privados para se conectar com segurança aos armazenamentos de dados com suporte.

A criação de um runtime de integração em uma rede virtual gerenciada garante que o processo de integração de dados seja isolado e seguro.

Benefícios de usar a rede virtual gerenciada:

  • Com uma rede virtual gerenciada, você pode facilitar o gerenciamento da rede virtual para o Data Factory. Não é necessário criar uma sub-rede para um runtime de integração que, eventualmente, usaria muitos IPs privados de sua rede virtual e exigiria um planejamento prévio de infraestrutura de rede.
  • Não é preciso ter um conhecimento aprofundado da rede do Azure para fazer integrações de dados com segurança. Em vez disso, começar com o ETL seguro é muito simplificado para engenheiros de dados.
  • A rede virtual gerenciada, juntamente com os pontos de extremidade privados gerenciados, protege contra a exfiltração dos dados.

Atualmente, a rede virtual gerenciada só tem suporte na mesma região que a do Data Factory.

Observação

Um runtime de integração global existente não pode alternar para um runtime de integração na rede virtual gerenciada de um Data Factory e vice-versa.

Diagram that shows Data Factory managed virtual network architecture.

Há duas maneiras de habilitar a rede virtual gerenciada no data factory:

  1. Habilite a rede virtual gerenciada durante a criação do data factory.

Screenshot of enabling managed virtual network during the creation of data factory.

  1. Habilite a rede virtual gerenciada no runtime de integração.

Screenshot of enabling managed virtual network in integration runtime

Pontos de extremidade privados gerenciados

Os pontos de extremidade privados gerenciados são pontos de extremidade privados criados na rede virtual gerenciada do Data Factory, que estabelecem um link privado para os recursos do Azure. O Data Factory gerencia para você esses pontos de extremidade privados.

O Data Factory dá suporte a links privados. Você pode usar link privado do Azure para acessar serviços de PaaS (plataforma como serviço) do Azure, como o Armazenamento do Microsoft Azure, o Microsoft Azure Cosmos DB e o Azure Synapse Analytics.

Quando você usa um link privado, o tráfego entre os armazenamentos de dados e a rede virtual gerenciada atravessa totalmente a rede de backbone da Microsoft. O link privado protege contra riscos de exfiltração dos dados. Você estabelece um link privado para um recurso criando um ponto de extremidade privado.

Um ponto de extremidade privado usa um endereço IP privado na rede virtual gerenciada para colocar efetivamente o serviço. Os pontos de extremidade privados são mapeados para um recurso específico no Azure e não para todo o serviço. Os clientes podem limitar a conectividade a um recurso específico aprovado por sua organização. Para mais informações, confira Pontos de extremidade privados e links privados.

Observação

O provedor de recursos Microsoft.Network deve estar registrado na assinatura.

  1. Habilite a rede virtual gerenciada no data factory.
  2. Crie um novo ponto de extremidade privado gerenciado no Hub de Gerenciamento.

Screenshot that shows new managed private endpoints.

  1. Uma conexão de ponto de extremidade privado é criada em um estado Pendente quando você cria um ponto de extremidade privado gerenciado no Data Factory. Um fluxo de trabalho de aprovação é iniciado. O proprietário do recurso de link privado é responsável por aprovar ou rejeitar a conexão.

Screenshot that shows the option Manage approvals in Azure portal.

  1. Se o proprietário aprova a conexão, o link privado é estabelecido. Caso contrário, o link privado não será estabelecido. Em ambos os casos, o ponto de extremidade privado gerenciado é atualizado com o status da conexão.

Screenshot that shows approving a managed private endpoint.

Somente um ponto de extremidade privado gerenciado em um estado aprovado pode enviar tráfego para um recurso de link privado específico.

Observação

Não há suporte para DNS personalizado na rede virtual gerenciada.

Criação interativa

As funcionalidades de criação interativa são usadas para ações como testar conectividade, procurar na lista de pastas e na lista de tabelas, obter de esquema e visualizar dados. Você pode habilitar a criação interativa ao criar ou editar um Azure Integration Runtime que esteja na rede virtual gerenciada do Azure Data Factory. O serviço de back-end irá pré-alocar a computação para funcionalidades de criação interativa. Caso contrário, a computação será alocada toda vez que qualquer operação interativa for executada, o que levará mais tempo. A TTL (tempo de vida útil) da criação interativa é de 60 minutos por padrão, o que significa que ela será desabilitada automaticamente após 60 minutos da última operação de criação interativa. Você pode alterar o valor de TTL de acordo com suas necessidades reais.

Screenshot that shows interactive authoring.

Vida útil

Atividade de cópia

Por padrão, cada atividade de cópia cria uma nova computação com base na configuração na atividade de cópia. Com a rede virtual gerenciada habilitada, o tempo de inicialização de computação esporádica leva alguns minutos e a movimentação de dados não pode ser iniciada até que ela seja concluída. Se seus pipelines contiverem várias atividades de cópia sequenciais ou você tiver muitas atividades de cópia no loop foreach e não puder executá-las todas em paralelo, você poderá habilitar um valor de TTL (tempo de vida útil) na configuração de runtime de integração do Azure. Especificar um valor de tempo dinâmico e números de DIU necessários para a atividade de cópia mantém as computações correspondentes ativas por um determinado período de tempo após a conclusão da execução. Se uma nova atividade de cópia for iniciada durante o tempo de vida útil, ela reutilizará as computações existente e o tempo de inicialização será muito reduzido. Após a segunda atividade de cópia for concluída, as computações permanecerão ativas novamente durante o tempo de vida útil. Você tem a flexibilidade de selecionar entre os tamanhos de computação predefinidos, variando de pequeno a médio a grande. Como alternativa, você também tem a opção de personalizar o tamanho da computação com base nos seus requisitos específicos e necessidades em tempo real.

Observação

A reconfiguração do número de DIU não afetará a execução atual da atividade de cópia.

Observação

A medida DIU (unidade de integração de dados) de 2 DIU não tem suporte para a atividade Copy em uma rede virtual gerenciada.

A DIU selecionada no TTL será usada para executar todas as atividades de cópia. O tamanho da DIU não será dimensionado automaticamente de acordo com as necessidades reais. Portanto, você precisa escolher DIUs suficientes.

Aviso

Selecionar algumas DIUs para executar muitas atividades fará com que muitas atividades fiquem pendentes na fila, o que afetará consideravelmente o desempenho geral.

Pipeline e atividade externa

Semelhante à cópia, você tem a capacidade de personalizar o tamanho da computação e a duração da TTL de acordo com seus requisitos específicos. No entanto, ao contrário da cópia, observe que o pipeline e o TTL externo não podem ser desabilitados.

Observação

O TTL (tempo de vida útil) só é aplicável à rede virtual gerenciada.

Screenshot that shows the TTL configuration.

Você pode utilizar a tabela abaixo como uma referência para determinar o número ideal de nós para executar pipelines e atividades externas.

Tipo de atividade Capacity
Atividade de pipeline Aproximadamente 50 por nó
Atividades de script e de pesquisa com SQL alwaysEncrypted tendem a consumir mais recursos em comparação com outras atividades de pipeline, sendo o número sugerido em torno de 10 por nó
Atividade externa Aproximadamente 800 por nó

Comparação de TTLs diferentes

A tabela a seguir lista as diferenças entre diferentes tipos de TTL:

Recurso Criação interativa Copiar escala de computação Pipeline & Escala de computação externa
Quando entrar em vigor Imediatamente após a habilitação Primeira execução da atividade Primeira execução da atividade
Pode ser desabilitado S Y N
A computação reservada é configurável N S S

Observação

Não é possível habilitar o TTL no runtime de integração do Azure padrão de resolução automática. Você pode criar um novo runtime de integração do Azure para ele.

Observação

Quando a TTL de escala de computação Externa/Cópia/Pipeline é ativada, a cobrança é determinada pelos recursos de computação reservados. Como resultado, a saída da atividade não inclui a billingReference, pois isso é exclusivamente relevante em cenários que não são de TTL.

Criar uma rede virtual gerenciada pelo Azure PowerShell

$subscriptionId = ""
$resourceGroupName = ""
$factoryName = ""
$managedPrivateEndpointName = ""
$integrationRuntimeName = ""
$apiVersion = "2018-06-01"
$privateLinkResourceId = ""

$vnetResourceId = "subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DataFactory/factories/${factoryName}/managedVirtualNetworks/default"
$privateEndpointResourceId = "subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DataFactory/factories/${factoryName}/managedVirtualNetworks/default/managedprivateendpoints/${managedPrivateEndpointName}"
$integrationRuntimeResourceId = "subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DataFactory/factories/${factoryName}/integrationRuntimes/${integrationRuntimeName}"

# Create managed Virtual Network resource
New-AzResource -ApiVersion "${apiVersion}" -ResourceId "${vnetResourceId}" -Properties @{}

# Create managed private endpoint resource
New-AzResource -ApiVersion "${apiVersion}" -ResourceId "${privateEndpointResourceId}" -Properties @{
        privateLinkResourceId = "${privateLinkResourceId}"
        groupId = "blob"
    }

# Create integration runtime resource enabled with virtual network
New-AzResource -ApiVersion "${apiVersion}" -ResourceId "${integrationRuntimeResourceId}" -Properties @{
        type = "Managed"
        typeProperties = @{
            computeProperties = @{
                location = "AutoResolve"
                dataFlowProperties = @{
                    computeType = "General"
                    coreCount = 8
                    timeToLive = 0
                }
            }
        }
        managedVirtualNetwork = @{
            type = "ManagedVirtualNetworkReference"
            referenceName = "default"
        }
    }

Observação

Você pode obter o groupId de outras fontes de dados em um recurso de link privado.

Conexão de saída

Fontes de dados e serviços com suporte

Os serviços a seguir têm suporte nativo a pontos de extremidade privados. Eles podem ser conectados por meio de um link privado de uma rede virtual gerenciada do Data Factory:

  • Azure Databricks
  • Azure Functions (plano Premium)
  • Cofre de Chave do Azure
  • Azure Machine Learning
  • Link Privado do Azure
  • Microsoft Purview

Para obter o suporte de fontes de dados, você pode conferir a Visão geral do conector. Você pode acessar todas as fontes de dados com suporte do Data Factory por meio de uma rede pública.

Fontes de dados locais

Para saber mais sobre como acessar fontes de dados locais por uma rede virtual gerenciada usando o ponto de extremidade privado, confira Acessar SQL Server local de uma rede virtual gerenciada do Data Factory usando um ponto de extremidade privado.

Comunicações de saída por meio do ponto de extremidade público de uma rede virtual gerenciada do Data Factory

Todas as portas são abertas para comunicações de saída.

Limitações e problemas conhecidos

Criação de serviço vinculado do Key Vault

Quando você cria um serviço vinculado do Key Vault, não há nenhuma referência ao runtime de integração. Portanto, não é possível criar pontos de extremidade privados durante a criação do serviço vinculado do Key Vault. Mas quando cria um serviço vinculado para armazenamentos de dados, que faz referência ao serviço vinculado do Key Vault que, por sua vez, faz referência a um runtime de integração com a rede virtual gerenciada habilitada, você pode criar um ponto de extremidade privado para o Key Vault durante a criação.

  • Testar a conexão: esta operação para serviço vinculado do Key Vault apenas valida o formato de URL, mas não faz nenhuma operação de rede.
  • Usar ponto de extremidade privado: esta coluna sempre será exibida em branco, mesmo se você criar um ponto de extremidade privado para o Key Vault.

Criação de serviço vinculado do Azure HDInsight

A coluna Usando ponto de extremidade privado sempre será mostrada como em branco mesmo se você criar um ponto de extremidade privado para HDInsight usando o serviço de link privado e um balanceador de carga com o encaminhamento de porta.

Screenshot that shows a private endpoint for Key Vault.

Nome de domínio totalmente qualificado (FQDN) do Azure HDInsight

Se você criou um serviço de link privado personalizado, o FQDN deverá terminar com azurehdinsight.net sem link privado à esquerda no nome de domínio ao criar um ponto de extremidade privado. Se você usar um link privado no nome de domínio, verifique se ele é válido e se é capaz de resolvê-lo.

Restrições de acesso na rede virtual gerenciada com pontos de extremidade privados

Você não consegue acessar cada recurso PaaS quando ambos os lados estão expostos ao Link Privado e a um ponto de extremidade privado. Esse problema é uma limitação conhecida do Link Privado do Azure e dos pontos de extremidade privados.

Por exemplo, você tem um ponto de extremidade privado gerenciado para a conta de armazenamento A. Você também pode acessar a conta de armazenamento B por meio da rede pública na mesma rede virtual gerenciada. Mas quando a conta de armazenamento B tem uma conexão de ponto de extremidade privado em outra rede virtual gerenciada ou rede virtual do cliente, você não pode acessar a conta de armazenamento B na rede virtual gerenciada por meio da rede pública.

Consulte os seguintes tutoriais: