Habilitar o Link Privado em um cluster do HDInsight

Neste artigo, você aprenderá a usar o Link Privado do Azure para se conectar a um cluster do HDInsight de maneira privada em redes pela rede de backbone da Microsoft. Este artigo é uma extensão do artigo Restringir a conectividade do cluster no Azure HDInsight, que trata da restrição da conectividade pública. Para ter conectividade pública com clusters e recursos dependentes do HDInsight ou dentro deles, considere restringir a conectividade do cluster seguindo as diretrizes em Controlar o tráfego de rede no Azure HDInsight.

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

Observação

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

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

Quando privateLink for definido como habilitado, os SLBs (balanceadores de carga padrão) internos serão criados e um serviço de Link Privado do Azure será provisionado para cada um deles. O serviço Link Privado permite acessar o cluster do HDInsight de pontos de extremidade privados.

A criação bem-sucedida de um cluster de Link Privado executa várias etapas, portanto, os descrevemos aqui. Siga cada uma das etapas abaixo para garantir que tudo esteja configurado corretamente.

Etapa 1: criar pré-requisitos

Para começar, implante os recursos a seguir se você 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 anexar à sub-rede na qual o cluster do HDInsight será implantado, conforme mostrado abaixo.

Tipo Nome Finalidade
Resource group hdi-privlink-rg Usado para manter os recursos comuns juntos
Rede virtual hdi-privlink-cluster-vnet A VNET em que o cluster será implantado
Rede virtual hdi-privlink-client-vnet A VNET em que os clientes se conectarão ao cluster
Grupo de segurança de rede hdi-privlink-cluster-vnet-nsg Padrão NSG conforme necessário para implantação de cluster

Observação

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

Etapa 2: configurar a sub-rede do HDInsight

  • Desabilitar privateLinkServiceNetworkPolicies na sub-rede. Para escolher um endereço IP de origem para o serviço Link Privado, é necessária uma configuração de desabilitação explícita privateLinkServiceNetworkPolicies na sub-rede. Siga as instruções aqui para desabilitar as políticas de rede para serviços de Link Privado.
  • Habilitar Pontos de Extremidade de Serviço na sub-rede. Para a implantação bem-sucedida de um cluster do HDInsight do Link Privado, recomendamos que você adicione os pontos de extremidade de serviço Microsoft.SQL, Microsoft.Storage e Microsoft.KeyVault à sua sub-rede antes da implantação do cluster. Os pontos de extremidade roteiam o tráfego do serviço diretamente da sua rede virtual para o serviço na rede de backbone do Microsoft Azure. Manter o tráfego na rede do backbone do Azure permite que você continue auditando e monitorando o tráfego da Internet de saída das suas redes virtuais, por meio de túnel forçado, sem afetar o tráfego do serviço.

Etapa 3: implantar o gateway da NAT ou firewall

Os balanceadores de carga padrão não fornecem a NAT de saída pública automaticamente, como os balanceadores de carga básicos. Como os clusters de Link Privado usam balanceadores de carga padrão, você deve fornecer sua própria solução de NAT, como um gateway da NAT ou uma NAT fornecida por seu firewall, para se conectar às dependências públicas de saída do HDInsight.

Implantar um gateway da NAT (opção 1)

É possível usar um gateway da NAT para não configurar um firewall ou um NVA (dispositivo virtual de rede) para a NAT. Para começar, adicione um gateway da NAT (com um novo endereço IP público em sua rede virtual) à sub-rede configurada de sua rede virtual. Esse gateway será responsável por converter seu endereço IP interno privado em endereços públicos quando o tráfego precisar sair de sua rede virtual.

Para uma configuração básica inicial:

  1. Procure 'gateways NAT' na portal do Azure e clique em criar.

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

    Config Valor
    Nome do gateway da NAT hdi-privlink-nat-gateway
    Prefixos IP públicos Criar um prefixo IP
    Nome do prefixo IP público hdi-privlink-nat-gateway-prefix
    Tamanho do prefixo IP público /28 (16 endereços)
    Rede virtual hdi-privlink-cluster-vnet
    Nome da sub-rede padrão
  3. Depois que o Gateway da NAT terminar a implantação, você estará pronto para ir para a próxima etapa.

Configurar um firewall (opção 2)

Para uma configuração básica inicial:

  1. Adicione uma nova sub-rede chamada AzureFirewallSubnet à rede virtual.
  2. Use essa 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 valor nextHopIpAddress na tabela de rotas.
  4. Adicione a tabela de rotas à sub-rede configurada da rede virtual.

Seu cluster HDInsight ainda precisa acessar as dependências de saída. Se essas dependências de saída não forem permitidas, a criação do cluster poderá falhar. Para saber como configurar um firewall, confira Controlar o tráfego de rede no Azure HDInsight.

Etapa 4: implantar o cluster de link privado

Neste ponto, todos os pré-requisitos devem ser resolvidos e você estará pronto para implantar o cluster de Link Privado. O diagrama a seguir mostra um exemplo da configuração de rede necessária para criar o cluster. Neste exemplo, todo o tráfego de saída é forçado para o 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 Enterprise Security Package, o emparelhamento de rede virtual pode fornecer a conectividade de rede com o Microsoft Entra Domain Services.

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

Criar o cluster

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

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

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

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

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

Etapa 5: criar pontos de extremidade privados

O Azure cria automaticamente um serviço de Link privado para os balanceadores de carga Ambari e SSH durante a implantação do cluster de link privado. Depois que o cluster for implantado, você precisará criar dois pontos de extremidade privados nas VNETs do cliente, um para o Ambari e outro para acesso SSH. Em seguida, vincule-os aos serviços de vínculo privado que foram criados como parte da implantação do cluster.

Para criar os pontos de extremidade privados:

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

  2. Nos resultados, clique no ícone de 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:

    Config Valor
    Nome hdi-privlink-cluster
    Tipo de recurso Microsoft.Network/privateLinkServices
    Recurso gateway-* (este valor deve corresponder à ID de implantação do HDI do cluster, por exemplo gateway-4eafe3a2a67e4cd88762c22a55fe4654)
    Rede virtual hdi-privlink-client-vnet
    Sub-rede padrão

    Diagrama da guia básica do Link Privado.Diagrama da guia de recurso do Link Privado.Diagrama da guia de rede virtual do Link Privado.Diagrama da guia do ponto de extremidade do DNS do Link Privado.Diagrama da guia de marcas do 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:

    Config Valor
    Nome hdi-privlink-cluster-ssh
    Tipo de recurso Microsoft.Network/privateLinkServices
    Recurso headnode-* (este valor deve corresponder à ID de implantação do HDI do cluster, por exemplo, headnode-4eafe3a2a67e4cd88762c22a55fe4654)
    Rede virtual hdi-privlink-client-vnet
    Sub-rede padrão

Importante

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

Depois que os pontos de extremidade privados são criados, você termina com essa fase da instalação. Se você não anotar 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 na guia "Pontos de extremidade privados".
  3. Você deve ver as Interfaces da rede Ambari e ssh listadas.
  4. Clique em cada um deles e navegue até a folha de ‘Configuração de DNS’ para ver o endereço IP privado.
  5. Anote esses endereços IP porque eles precisam se conectar ao cluster e configurar o DNS corretamente.

Etapa 6: configurar o DNS para se conectar por pontos de extremidade privados

Para acessar clusters privados, você pode configurar a resolução de DNS por meio de zonas DNS privadas. As entradas do Link Privado criadas na zona DNS pública azurehdinsight.net gerenciada pelo Azure são como a seguir:

<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 que foram configuradas para permitir o acesso a um cluster de uma rede virtual que não está em emparelhamento ou não tem uma linha de visão direta do cluster. É possível usar uma zona DNS privada do Azure para substituir os FQDNs (nomes de domínio totalmente qualificados) de *.privatelink.azurehdinsight.net e resolver os endereços IP dos pontos de extremidade privados na rede do cliente. A configuração é apenas para <clustername>.azurehdinsight.net no exemplo, mas também se estende a outros pontos de extremidade do cluster.

Diagrama da arquitetura de Link Privado.

Para configurar a resolução DNS por meio de uma zona de DNS Privado de dados:

  1. Criar uma zona de DNS Privado do Azure. (Não estamos incluindo todas as configurações aqui, todas as outras configurações são deixadas com os valores padrão)

    Config Valor
    Nome privatelink.azurehdinsight.net

    Diagrama da zona DNS Privada.

  2. Adicione um Conjunto de registros à zona de DNS Privado para o Ambari.

    Config Valor
    Nome YourPrivateLinkClusterName
    Tipo 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 ao Ambari

    Diagrama do registro de adição da zona DNS Privada.

  3. Adicione um Conjunto de registros à zona de DNS Privado para SSH.

    Config Valor
    Nome YourPrivateLinkClusterName-ssh
    Tipo 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 de link privado adicionar registro ssh.

Importante

Se você estiver usando o cluster do HDInsight KafkaRestProxy, siga estas etapas extras 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 na guia 'Links de rede virtual'.
    3. Clique no botão 'Adicionar'.
    4. Preencha os detalhes: Nome do link, Assinatura e Rede Virtual (seu cliente VNET)
    5. Clique em Save (Salvar).

    Diagrama de link de rede virtual.

Etapa 7: verificar a conectividade do cluster

A última etapa é testar a conectividade com o cluster. Como esse cluster é isolado ou privado, não podemos acessar o cluster usando qualquer IP público ou FQDN. Em vez disso, temos algumas opções:

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

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

Config Valor
Nome da máquina virtual hdi-privlink-client-vm
Imagem Windows 10 Pro, Versão 2004 - Gen1
Porta de entrada públicas Permitir portas selecionadas
Selecione as portas de entrada RDP (3389)
Confirmo que tenho uma licença do Windows 10 qualificada. Verificado
Rede virtual hdi-privlink-client-vnet
Sub-rede padrão

Depois que a VM cliente for implantada, você poderá testar o acesso ao Ambari e ao 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 será correta para acesso ao Ambari.

Para testar o acesso ssh:

  1. Abra um prompt de comando ou uma janela de terminal.
  2. Na janela do terminal, tente se conectar 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 está correta para acesso SSH.

Gerenciar pontos de extremidade privados para o Azure HDInsight

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

Diagrama da experiência de gerenciamento do ponto de extremidade privado.

Um consumidor de serviço do Link Privado (por exemplo, o 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 do RBAC (controle de acesso baseado em função) do Azure no recurso do HDInsight, poderá escolher o método automático de aprovação. Nesse caso, quando a solicitação atinge o recurso de HDInsight, nenhuma ação é necessária do recurso de HDInsight, e a conexão é aprovada automaticamente.
  • Manual: se o consumidor de serviço não tiver permissões do RBAC do Azure no recurso do HDInsight, poderá escolher o método manual de aprovação. Nesse caso, a solicitação de conexão é exibida nos recursos do HDInsight como Pendente. A solicitação precisa ser aprovada manualmente pelo recurso do HDInsight para que as conexões possam ser estabelecidas.

Para gerenciar pontos de extremidade privados, na exibição do cluster no portal do Azure, acesse a seção Rede em Segurança + Rede. Aqui, é possível ver todas as conexões, estados de conexão e detalhes de pontos de extremidade privados existentes.

Também é possível aprovar, rejeitar ou remover conexões existentes. Ao criar uma conexão privada, é possível especificar a qual sub-recurso do HDInsight (por exemplo, gateway ou nó principal) você também deseja se conectar.

A tabela a seguir mostra as diversas ações do recurso do HDInsight e os estados de conexão resultantes para pontos de extremidade privados. Um recurso do HDInsight também pode alterar o estado da conexão do 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 de ponto de extremidade privado do consumidor do serviço Descrição
Nenhum Pendente A conexão é criada manualmente e está pendente de aprovação pelo proprietário do recurso de Link Privado.
Aprovar Aprovado A conexão foi aprovada automaticamente ou manualmente e está pronta para ser usada.
Rejeitar Rejeitado A conexão foi rejeitada pelo proprietário do recurso do Link Privado.
Remover Desconectado A conexão foi removida pelo proprietário do recurso do Link Privado. O ponto de extremidade privado se torna informativo e deve ser excluído para limpeza.

Próximas etapas