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.
Etapas de implantação de link privado
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
eMicrosoft.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:
Procure 'gateways NAT' na portal do Azure e clique em criar.
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 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:
- Adicione uma nova sub-rede chamada AzureFirewallSubnet à rede virtual.
- Use essa sub-rede para configurar um novo firewall e adicionar suas políticas de firewall.
- Use o endereço IP privado do novo firewall como o valor
nextHopIpAddress
na tabela de rotas. - 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.
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:
Abra o portal do Azure e procure 'Link privado'.
Nos resultados, clique no ícone de Link privado.
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 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:
- Abra a VNET do cliente no portal do Azure.
- Clique na guia "Pontos de extremidade privados".
- Você deve ver as Interfaces da rede Ambari e ssh listadas.
- Clique em cada um deles e navegue até a folha de ‘Configuração de DNS’ para ver o endereço IP privado.
- 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.
Para configurar a resolução DNS por meio de uma zona de DNS Privado de dados:
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 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 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
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.
Associe a zona DNS privada à VNET do cliente adicionando um Link de Rede Virtual.
- Abra a zona DNS privada no portal do Azure.
- Clique na guia 'Links de rede virtual'.
- Clique no botão 'Adicionar'.
- Preencha os detalhes: Nome do link, Assinatura e Rede Virtual (seu cliente VNET)
- Clique em Save (Salvar).
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:
- Abra um navegador da Web na VM.
- Navegue até o FQDN regular do cluster:
https://<clustername>.azurehdinsight.net
- Se a interface do usuário do Ambari for carregada, a configuração será correta para acesso ao Ambari.
Para testar o acesso ssh:
- Abra um prompt de comando ou uma janela de terminal.
- 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) - 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.
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. |