Rede virtual gerida do Azure Data Factory

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Tip

Data Factory em Microsoft Fabric é a próxima geração de Azure Data Factory, com uma arquitetura mais simples, IA incorporada e novas funcionalidades. Se és novo na integração de dados, começa pelo Fabric Data Factory. As cargas de trabalho existentes do ADF podem atualizar para o Fabric para aceder a novas capacidades em ciência de dados, análise em tempo real e relatórios.

Este artigo explica as redes virtuais geridas e os endpoints privados geridos no Azure Data Factory.

Rede virtual gerenciada

Quando cria um runtime de integração Azure dentro de uma rede virtual gerida pela Data Factory, o runtime de integração é provisionado com a rede virtual gerida. Utiliza endpoints privados para se ligar de forma segura a armazenamentos de dados suportados.

Criar um runtime de integração dentro de uma rede virtual gerida garante que o processo de integração de dados é isolado e seguro.

Benefícios de utilizar uma rede virtual gerida:

  • Com uma rede virtual gerida, pode transferir o encargo da gestão da rede virtual para a Data Factory. Não precisa de criar uma sub-rede para um runtime de integração que possa eventualmente usar muitos IPs privados da sua rede virtual e que exigiria planeamento prévio da infraestrutura de rede.
  • Não precisas de conhecimentos profundos de redes Azure para fazer integrações de dados de forma segura. Em vez disso, começar com extração, transformação e carregamento seguro (ETL) é muito mais simples para engenheiros de dados.
  • Uma rede virtual gerida juntamente com terminais privados geridos protege contra a exfiltração de dados.

A data factory suporta a rede virtual gerida apenas na mesma região da data factory.

Nota

Um runtime de integração global existente não pode mudar para um runtime de integração numa rede virtual gerida pela Data Factory e vice-versa.

Diagrama que mostra a arquitetura de rede virtual gerida pela Data Factory.

Existem duas formas de ativar uma rede virtual gerida na sua fábrica de dados:

  1. Ativar rede virtual gerida durante a criação do Data Factory.

Captura de ecrã da ativação da rede virtual gerida durante a criação da data factory.

  1. Ativar a rede virtual gerida no runtime de integração.

Captura de ecrã da ativação da rede virtual gerida em tempo de execução de integração.

Pontos finais privados geridos

Endpoints privados geridos são endpoints privados que se cria na rede virtual gerida pela Data Factory e que estabelecem uma ligação privada para os recursos do Azure. A Data Factory gere estes endpoints privados por si.

A Data Factory suporta ligações privadas. Pode usar o Azure Private Link para aceder a serviços da plataforma Azure as a service (PaaS) como Armazenamento do Azure, Azure Cosmos DB e Azure Synapse Analytics.

Quando utiliza um link privado, o tráfego entre os seus armazéns de dados e a rede virtual gerida atravessa inteiramente a rede dorsal da Microsoft. O link privado protege contra riscos de exfiltração de dados. Você estabelece um link privado para um recurso criando um ponto de extremidade privado.

Um endpoint privado utiliza um endereço IP privado na rede virtual gerida para trazer o serviço para ele. Os endpoints privados são mapeados para um recurso específico no Azure e não para todo o serviço. Pode limitar a conectividade a um recurso específico que a sua organização aprove. Para mais informações, consulte Ligações Privadas e Endpoints Privados.

Nota

O fornecedor de recursos Microsoft.Network deve estar registado à sua subscrição.

  1. Certifique-se de ativar a rede virtual gerida na sua fábrica de dados.

  2. Crie um novo endpoint privado gerido no Gerenciar hub.

    Captura de ecrã que mostra novos endpoints privados geridos.

  3. Quando crias um endpoint privado gerido no Data Factory, crias uma ligação privada num estado Pendente . Este estado inicia um fluxo de trabalho de aprovação. O proprietário do recurso de ligação privada é responsável por aprovar ou rejeitar a ligação.

    Captura de ecrã que mostra a opção Gerir aprovações no portal Azure.

  4. Se o proprietário aprovar a conexão, o link privado é estabelecido. Caso contrário, o link privado não é estabelecido. Em qualquer dos casos, o endpoint privado gerido é atualizado com o estado da ligação.

    Captura de ecrã que mostra a aprovação de um endpoint privado gerido.

Apenas um endpoint privado gerido num estado aprovado pode enviar tráfego para um recurso de ligação privada específico.

Nota

DNS personalizado não é suportado em rede virtual gerida.

Nota

Tanto a rede virtual gerida como o endpoint privado gerido estão sob subscrição da Microsoft.

Autoria interativa

As capacidades de autoria interativa suportam funcionalidades como ligação a testes, navegação por listas de pastas e listas de tabelas, obtenção de esquemas e pré-visualização de dados. Pode ativar a autoria interativa ao criar ou editar um runtime de integração com o Azure numa rede virtual gerida pelo Azure Data Factory. O serviço backend pré-aloca computação para funcionalidades de autoria interativa. Caso contrário, o cálculo é alocado sempre que realizas uma operação interativa, o que demora mais tempo. O tempo de vida (TTL) para a autoria interativa é de 60 minutos por defeito, o que significa que fica automaticamente desativado 60 minutos após a última operação de autoria interativa. Pode alterar o valor TTL de acordo com as suas necessidades.

Captura de ecrã que mostra autoria interativa.

Tempo de viver

atividade Copy

Por defeito, cada atividade de cópia inicia um novo cálculo com base na configuração da atividade de cópia. Com a rede virtual gerida ativada, o tempo de arranque do cold compute demora alguns minutos, e o movimento de dados não pode começar até estar concluído. Se os seus pipelines contêm múltiplas atividades de cópia sequencial, ou se tiver muitas atividades de cópia num ciclo foreach e não conseguir executá-las todas em paralelo, pode ativar um valor de tempo de vida (TTL) na configuração de integração do Azure. Especificar um valor TTL e os números das unidades de integração de dados (DIU) necessários para a atividade de cópia mantém os cálculos correspondentes ativos durante um período após a conclusão da execução. Se uma nova atividade de cópia começar durante o tempo TTL, reutiliza os cálculos existentes e o tempo de arranque é muito reduzido. Após a conclusão da segunda atividade de cópia, os cálculos mantêm-se ativos novamente durante o tempo TTL. Pode escolher entre os tamanhos de cálculo pré-definidos, que vão de pequenos a médios e grandes. Em alternativa, pode personalizar o tamanho do cálculo com base nos seus requisitos e necessidades em tempo real.

Nota

Reconfigurar o número DIU não afeta a execução atual da atividade de cópia.

Nota

A medida DIU de 2 DIU não é suportada para a atividade Copy numa rede virtual gerida.

O Data Factory usa o DIU que selecionas no TTL para executar todas as atividades de cópia. O tamanho do DIU não é escalado automaticamente de acordo com as necessidades reais, por isso tens de escolher DIUs suficientes.

Aviso

Selecionar demasiadas DIUs para executar muitas atividades faz com que muitas permaneçam pendentes na fila, o que afeta seriamente o desempenho global.

Oleoduto e atividade externa

Tal como no copy, podes adaptar o tamanho do cálculo e a duração TTL de acordo com os teus requisitos. No entanto, ao contrário do copy, não podes desativar o pipeline e o TTL externo.

Nota

O tempo de vida (TTL) só se aplica a redes virtuais geridas.

Captura de ecrã que mostra a configuração TTL.

Use a tabela seguinte como referência para determinar o número ótimo de nós para executar tanto pipelines como atividades externas.

Tipo de atividade Capacidade
Atividade de pipeline Aproximadamente 50 por nó
A atividade de scripts e a atividade de pesquisa com SQL alwaysEncrypted tendem a consumir mais recursos em comparação com outras atividades de pipeline, sendo o número sugerido cerca de 4 por nó
Atividade externa Aproximadamente 800 por nó

Comparação de diferentes TTL

A tabela seguinte lista as diferenças entre os tipos de TTL:

Funcionalidade Autoria interativa Escala de cálculo de cópia Escala de pipeline e 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 desativado Y Y N
Computação reservada é configurável N Y Y

Nota

Não pode ativar o TTL no runtime de integração padrão de auto-resolução do Azure. Podes criar um novo runtime de integração com o Azure para isso.

Nota

Quando Copy, Pipeline ou External compute scale TTL é ativado, os recursos de computação reservados determinam a faturação. Como resultado, a saída da atividade não inclui a BillingReference, pois este valor é exclusivamente relevante em cenários não TTL.

Criar uma rede virtual gerida via 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"
        }
    }

Nota

Podes obter o groupID de outras fontes de dados a partir de um recurso privado de links.

Nota

O referenceName só deve estar definido como "default" se criar através do comando PowerShell.

Ligação de saída

Fontes e serviços de dados suportados

Os seguintes serviços têm suporte de ponto final privado nativo. Podem ser ligados através de ligação privada a partir de uma rede virtual gerida pela Data Factory:

  • Azure Databricks
  • Funções do Azure (plano Premium)
  • Azure Key Vault
  • Azure Machine Learning
  • Azure Private Link
  • Microsoft Purview

Para o suporte das fontes de dados, consulte a visão geral do conector. Pode aceder a todas as fontes de dados suportadas pelo Data Factory através de uma rede pública.

Origens de dados no local

Para aprender como aceder a fontes de dados on-premises a partir de uma rede virtual gerida usando um endpoint privado, veja Access on-premises SQL Server de uma rede virtual gerida pela Data Factory usando um endpoint privado.

Comunicações de saída através de endpoint público a partir de uma rede virtual gerida pela Data Factory

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

Limitações e problemas conhecidos

Criação de serviços ligados para Key Vault

Quando crias um serviço ligado para o Key Vault, não há referência de runtime de integração. Portanto, não podes criar endpoints privados durante a criação de serviços ligados do Key Vault. Mas quando crias um serviço ligado para armazenamentos de dados que faz referência ao Key Vault, e este serviço ligado faz referência a um runtime de integração com rede virtual gerida ativada, podes criar um endpoint privado para o Key Vault durante a criação.

  • Testar ligação: Esta operação para um serviço ligado de Key Vault apenas valida o formato da URL, mas não realiza qualquer operação de rede.
  • Usando endpoint privado: Esta coluna sempre aparece em branco, mesmo que crie um endpoint privado para Key Vault.

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

A coluna Usar endpoint privado é sempre apresentada como vazia, mesmo que crie um endpoint privado para o HDInsight usando um serviço de Link Privado e um balanceador de carga com encaminhamento de portas.

Captura de ecrã que mostra um endpoint privado para Key Vault.

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

Se criaste um serviço personalizado de links privados, o FQDN deverá terminar com azurehdinsight.net sem abrir o privatelink no nome do domínio quando criares um endpoint privado. Se usares o privatelink no nome de domínio, certifica-te de que é válido e que consegues resolver.

Restrições de acesso em rede virtual gerida com endpoints privados

Não consegues aceder a cada recurso PaaS quando ambos os lados estão expostos a um link privado e a um endpoint privado. Este problema é uma limitação conhecida dos links privados e dos endpoints privados.

Por exemplo, tem um endpoint privado gerido para a conta de armazenamento A. Também pode aceder à conta de armazenamento B através da rede pública na mesma rede virtual gerida. Mas quando a conta de armazenamento B tem uma ligação privada a um endpoint de outra rede virtual gerida ou rede virtual de cliente, então não consegue aceder à conta B de armazenamento na sua rede virtual gerida através da rede pública.

Veja os tutoriais seguintes: