Habilitar Link Privado em um cluster HDInsight

Neste artigo, você aprenderá a usar o Azure Private Link para se conectar a um cluster HDInsight de forma privada em redes através da rede de backbone da Microsoft. Este artigo é uma extensão do artigo Restringir conectividade de cluster no Azure HDInsight, que se concentra na restrição da conectividade pública. Se você quiser conectividade pública para ou dentro de seus clusters HDInsight e recursos dependentes, considere restringir a conectividade do cluster seguindo as diretrizes em Controlar tráfego de rede no Azure HDInsight.

O Private Link pode ser usado em cenários entre redes em que o emparelhamento de rede virtual não está disponível ou habilitado.

Nota

Restringir a conectividade pública é um pré-requisito para habilitar o Private Link e não deve ser considerado o mesmo recurso.

O uso do Private Link para se conectar a um cluster HDInsight é um recurso opcional e está desabilitado por padrão. O recurso está disponível somente quando a resourceProviderConnection propriedade de rede está definida como saída, conforme descrito no artigo Restringir conectividade de cluster no Azure HDInsight.

Quando privateLink é definido como habilitado, os SLBs (balanceadores de carga padrão internos) são criados e um serviço de Link Privado do Azure é provisionado para cada SLB. O serviço Private Link é o que permite acessar o cluster HDInsight a partir de pontos de extremidade privados.

A criação bem-sucedida de um cluster de Link Privado leva muitas etapas, por isso as descrevemos aqui. Siga cada uma das etapas abaixo para garantir que tudo esteja configurado corretamente.

Passo 1: Criar pré-requisitos

Para começar, implante os seguintes recursos se ainda não os tiver criado. Você precisa ter pelo menos um grupo de recursos, duas redes virtuais e um grupo de segurança de rede para se conectar à sub-rede onde o cluster HDInsight será implantado, conforme mostrado abaixo.

Type Nome Propósito
Grupo de recursos HDI-PrivLink-RG Usado para manter os recursos comuns juntos
Rede virtual hdi-privlink-cluster-vnet A VNET onde o cluster será implantado
Rede virtual hdi-privlink-cliente-vnet A VNET de onde os clientes se conectarão ao cluster a partir de
Grupo de segurança de rede hdi-privlink-cluster-vnet-nsg NSG padrão conforme necessário para implantação de cluster

Nota

O grupo de segurança de rede (NSG) pode simplesmente ser implantado, não precisamos modificar nenhuma regra NSG para implantação de cluster.

Passo 2: Configurar a sub-rede do HDInsight

  • Desative privateLinkServiceNetworkPolicies na sub-rede. Para escolher um endereço IP de origem para o seu serviço de Link Privado, é necessária uma configuração privateLinkServiceNetworkPolicies de desativação explícita na sub-rede. Siga as instruções aqui para desativar as políticas de rede para serviços Private Link.
  • Habilite os pontos de extremidade de serviço na sub-rede. Para uma implantação bem-sucedida de um cluster HDInsight de Link Privado, recomendamos que você adicione o Microsoft.SQL(s) ponto(s) de extremidade , Microsoft.Storagee Microsoft.KeyVault de serviço à sua sub-rede antes da implantação do cluster. Os pontos de extremidade de serviço roteiam o tráfego diretamente de sua rede virtual para o serviço na rede de backbone do Microsoft Azure. Manter o tráfego na rede backbone do Azure permite-lhe continuar a auditar e a monitorizar o tráfego de Internet de saída das suas redes virtuais através da imposição de túnel e sem afetar o tráfego de serviço.

Etapa 3: Implantar gateway NAT ou firewall

Os balanceadores de carga padrão não fornecem automaticamente NAT de saída pública como os balanceadores de carga básicos. Uma vez que Private Link clusters utilizam balanceadores de carga padrão, tem de fornecer a sua própria solução NAT, como um NAT gateway ou um NAT fornecido pela firewall, para ligar a dependências públicas de saída do HDInsight.

Implantar um gateway NAT (Opção 1)

Você pode optar por usar um gateway NAT se não quiser configurar um firewall ou um dispositivo virtual de rede (NVA) para NAT. Para começar, adicione um gateway NAT (com um novo endereço IP público na sua rede virtual) à sub-rede configurada da sua rede virtual. Este gateway é responsável por traduzir o seu endereço IP interno privado para endereços públicos quando o tráfego precisa sair da sua rede virtual.

Para uma configuração básica para começar:

  1. Procure 'Gateways NAT' no portal do Azure e clique em Criar.

  2. Use as seguintes configurações no gateway NAT. (Não estamos incluindo todas as configurações aqui, então você pode usar os valores padrão.)

    Configurar Value
    Nome do gateway NAT hdi-privlink-nat-gateway
    Prefixos de IP Públicos Criar um novo prefixo IP público
    Nome do prefixo IP público hdi-privlink-nat-gateway-prefixo
    Tamanho do prefixo IP público /28 (16 endereços)
    Rede virtual hdi-privlink-cluster-vnet
    Nome da sub-rede default
  3. Quando a implantação do NAT Gateway estiver concluída, você estará pronto para ir para a próxima etapa.

Configurar um firewall (Opção 2)

Para uma configuração básica para começar:

  1. Adicione uma nova sub-rede chamada AzureFirewallSubnet à sua rede virtual.
  2. Use a nova sub-rede para configurar um novo firewall e adicionar suas políticas de firewall.
  3. Use o endereço IP privado do novo firewall como o nextHopIpAddress valor em sua tabela de rotas.
  4. Adicione a tabela de rotas à sub-rede configurada da sua rede virtual.

Seu cluster HDInsight ainda precisa de acesso às suas dependências de saída. Se essas dependências de saída não forem permitidas, a criação do cluster poderá falhar. Para obter mais informações sobre como configurar um firewall, consulte Controlar o tráfego de rede no Azure HDInsight.

Etapa 4: Implantar cluster de link privado

Neste momento, todos os pré-requisitos devem ser tratados e está pronto para implementar o cluster Private Link. O diagrama a seguir mostra um exemplo da configuração de rede necessária antes de criar o cluster. Neste exemplo, todo o tráfego de saída é forçado ao Firewall do Azure por meio de uma rota definida pelo usuário. As dependências de saída necessárias devem ser permitidas no firewall antes da criação do cluster. Para clusters do Pacote de Segurança Empresarial, o emparelhamento de rede virtual pode fornecer a conectividade de rede aos Serviços de Domínio Microsoft Entra.

Diagrama do ambiente de Link Privado antes da criação do cluster.

Criar o cluster

O trecho de código JSON a seguir inclui as duas propriedades de rede que você deve configurar em seu modelo do Azure Resource Manager para criar um cluster HDInsight privado:

networkProperties: {
    "resourceProviderConnection": "Outbound",
    "privateLink": "Enabled"
}

Para obter um modelo completo com muitos dos recursos de segurança empresarial do HDInsight, incluindo o Private Link, consulte Modelo de segurança empresarial do HDInsight.

Para criar um cluster usando o PowerShell, consulte o exemplo.

Para criar um cluster usando a CLI do Azure, consulte o exemplo.

Passo 5: Criar pontos finais privados

O Azure cria automaticamente um serviço de Ligação privada para os balanceadores de carga do Ambari e SSH durante a implementação do cluster de Private Link. Após a implementação do cluster, tem de criar dois Pontos finais privados nas VNET(s) cliente, um para o Ambari e outro para o acesso SSH. Em seguida, ligue-os aos serviços de Ligação privada que foram criados como parte da implementação do cluster.

Para criar os pontos de extremidade privados:

  1. Abra o portal do Azure e procure por 'Link privado'.

  2. Nos resultados, clique no ícone Link privado.

  3. Clique em 'Criar ponto de extremidade privado' e use as seguintes configurações para configurar o ponto de extremidade privado do Ambari:

    Configurar Valor
    Nome hdi-privlink-cluster
    Tipo de recurso Microsoft.Network/privateLinkServices
    Recurso gateway-* (Esse valor deve corresponder ao ID de implantação do HDI do cluster, por exemplo, gateway-4eafe3a2a67e4cd88762c22a55fe4654)
    Rede virtual hdi-privlink-cliente-vnet
    Sub-rede default

    Diagrama da guia básica Link privado.Diagrama da guia de recurso Link privado.Diagrama da guia Rede virtual Link Privado.Diagrama da guia Ponto final dns Link Privado.Diagrama da guia Tag Link Privado.Diagrama da guia de revisão do Link Privado.

  4. Repita o processo para criar outro ponto de extremidade privado para acesso SSH usando as seguintes configurações:

    Configurar Valor
    Nome hdi-privlink-cluster-ssh
    Tipo de recurso Microsoft.Network/privateLinkServices
    Recurso headnode-* (Este valor deve corresponder ao ID de implantação do HDI do seu cluster, por exemplo, headnode-4eafe3a2a67e4cd88762c22a55fe4654)
    Rede virtual hdi-privlink-cliente-vnet
    Sub-rede default

Importante

Se você estiver usando o cluster KafkaRestProxy HDInsight, siga estas etapas adicionais para Habilitar pontos de extremidade privados.

Depois que os pontos de extremidade privados forem criados, você terminará essa fase da configuração. Se você não anotou os endereços IP privados atribuídos aos pontos de extremidade, siga as etapas abaixo:

  1. Abra a VNET do cliente no portal do Azure.
  2. Clique no separador 'Pontos finais privados'.
  3. Você deve ver as interfaces Ambari e ssh Network listadas.
  4. Clique em cada um deles e navegue até a folha 'Configuração de DNS' para ver o endereço IP privado.
  5. Anote esses endereços IP porque eles são necessários para se conectar ao cluster e configurar corretamente o DNS.

Passo 6: Configurar o DNS para ligar através de pontos finais privados

Para aceder a clusters privados, pode configurar a resolução DNS através de zonas DNS privadas. As entradas de Link Privado criadas na zona azurehdinsight.net DNS pública gerenciada pelo Azure são as seguintes:

<clustername>        CNAME    <clustername>.privatelink
<clustername>-int    CNAME    <clustername>-int.privatelink
<clustername>-ssh    CNAME    <clustername>-ssh.privatelink

A imagem a seguir mostra um exemplo das entradas DNS privadas configuradas para habilitar o acesso a um cluster a partir de uma rede virtual que não está emparelhada ou não tem uma linha de visão direta para o cluster. Você pode usar uma zona privada do DNS do Azure para substituir *.privatelink.azurehdinsight.net FQDNs (nomes de domínio totalmente qualificados) e resolver endereços IP de pontos de extremidade privados na rede do cliente. A configuração é apenas para <clustername>.azurehdinsight.net o exemplo, mas também se estende a outros pontos de extremidade de cluster.

Diagrama da arquitetura Private Link.

Para configurar a resolução DNS através de uma zona DNS privada:

  1. Crie uma zona DNS Privada do Azure. (Não estamos incluindo todas as configurações aqui, todas as outras configurações são deixadas em valores padrão)

    Configurar Valor
    Nome privatelink.azurehdinsight.net

    Diagrama da zona dns privada.

  2. Adicione um conjunto de Registros à zona DNS privada do Ambari.

    Configurar Valor
    Nome YourPrivateLinkClusterName
    Type A - Registro de alias para endereço IPv4
    TTL 1
    Unidade de TTL Horas
    Endereço IP IP privado do ponto de extremidade privado para acesso Ambari

    Diagrama de zona dns privada adicionar registro.

  3. Adicione um conjunto de Registros à zona DNS privada para SSH.

    Configurar Valor
    Nome YourPrivateLinkClusterName-ssh
    Type A - Registro de alias para endereço IPv4
    TTL 1
    Unidade de TTL Horas
    Endereço IP IP privado do ponto de extremidade privado para acesso SSH

    Diagrama da zona dns do link privado adicionar registro ssh.

Importante

Se você estiver usando o cluster KafkaRestProxy HDInsight, siga estas etapas adicionais para Configurar o DNS para se conectar pelo ponto de extremidade privado.

  1. Associe a zona DNS privada à VNET do cliente adicionando um Link de Rede Virtual.

    1. Abra a zona DNS privada no portal do Azure.
    2. Clique no separador 'Ligações de rede virtual'.
    3. Clique no botão 'Adicionar'.
    4. Preencha os detalhes: Nome do link, Assinatura e Rede Virtual (sua VNET cliente)
    5. Clique em Guardar.

    Diagrama de virtual-network-link.

Passo 7: Verificar a conectividade do cluster

A última etapa é testar a conectividade com o cluster. Uma vez que este cluster é isolado ou privado, não podemos aceder ao cluster com um IP público ou FQDN. Em vez disso, temos algumas opções:

  • Configurar o acesso VPN à VNET do cliente a partir da sua rede local
  • Implantar uma VM na VNET do cliente e acessar o cluster a partir dessa VM

Neste exemplo, implantaremos uma VM na VNET do cliente usando a seguinte configuração para testar a conectividade.

Configurar Value
Virtual machine name hdi-privlink-cliente-vm
Imagem Windows 10 Pro, Versão 2004 - Gen1
Portas de entrada públicas Permitir as portas selecionadas
Selecione as portas de entrada RDP (3389)
Confirmo que tenho uma licença elegível do Windows 10... Selecionado
Rede virtual hdi-privlink-cliente-vnet
Sub-rede default

Depois que a VM cliente for implantada, você poderá testar o acesso Ambari e SSH.

Para testar o acesso ao Ambari:

  1. Abra um navegador da Web na VM.
  2. Navegue até o FQDN regular do cluster: https://<clustername>.azurehdinsight.net
  3. Se a interface do usuário do Ambari for carregada, a configuração estará correta para o acesso do Ambari.

Para testar o acesso ssh:

  1. Abra um prompt de comando para obter uma janela do terminal.
  2. Na janela do terminal, tente conectar-se ao cluster com SSH: ssh sshuser@<clustername>.azurehdinsight.net (Substitua "sshuser" pelo usuário ssh que você criou para o cluster)
  3. Se você conseguir se conectar, a configuração estará correta para acesso SSH.

Gerenciar pontos de extremidade privados para o HDInsight

Você pode usar pontos de extremidade privados para seus clusters do Azure HDInsight para permitir que clientes em uma rede virtual acessem com segurança seu cluster por Link Privado. O tráfego de rede entre os clientes na rede virtual e o cluster HDInsight atravessa a rede de backbone da Microsoft, eliminando a exposição da Internet pública.

Diagrama da experiência de gerenciamento de endpoint privado.

Um consumidor de serviço de Link Privado (por exemplo, Azure Data Factory) pode escolher entre dois métodos de aprovação de conexão:

  • Automático: se o consumidor de serviço tiver permissões RBAC (controle de acesso baseado em função) do Azure no recurso HDInsight, poderá escolher o método de aprovação automática. Nesse caso, quando a solicitação chega ao recurso HDInsight, nenhuma ação é necessária do recurso HDInsight e a conexão é aprovada automaticamente.
  • Manual: se o consumidor de serviço não tiver permissões do Azure RBAC no recurso HDInsight, poderá escolher o método de aprovação manual. Nesse caso, a solicitação de conexão aparece nos recursos do HDInsight como Pendente. O recurso HDInsight precisa aprovar manualmente a solicitação antes que as conexões possam ser estabelecidas.

Para gerir pontos de extremidade privados, na vista de cluster no portal do Azure, aceda à secção Rede em Segurança + Rede. Aqui, você pode ver todas as conexões existentes, estados de conexão e detalhes de ponto de extremidade privado.

Você também pode aprovar, rejeitar ou remover conexões existentes. Ao criar uma conexão privada, você pode especificar a qual subrecurso do HDInsight (por exemplo, gateway ou nó principal) você também deseja se conectar.

A tabela a seguir mostra as várias ações de recursos do HDInsight e os estados de conexão resultantes para pontos de extremidade privados. Um recurso HDInsight também pode alterar o estado da conexão da conexão de ponto de extremidade privado posteriormente sem a intervenção do consumidor. A ação atualizará o estado do ponto de extremidade no lado do consumidor.

Ação do provedor de serviços Estado do ponto de extremidade privado do consumidor do serviço Description
None Pendente A conexão é criada manualmente e está pendente de aprovação pelo proprietário do recurso Private Link.
Aprovar Aprovado A conexão foi aprovada automática ou manualmente e está pronta para ser usada.
Rejeitar Rejeitado A conexão foi rejeitada pelo proprietário do recurso Link Privado.
Remover Desligado A conexão foi removida pelo proprietário do recurso Private Link. O ponto de extremidade privado torna-se informativo e deve ser excluído para limpeza.

Próximos passos