Configurar o tráfego de rede de saída para clusters do Azure HDInsight através da Firewall
Este artigo fornece as etapas para você proteger o tráfego de saída do cluster HDInsight usando o Firewall do Azure. As etapas abaixo pressupõem que você esteja configurando um Firewall do Azure para um cluster existente. Se você estiver implantando um novo cluster atrás de um firewall, crie primeiro o cluster e a sub-rede do HDInsight. Em seguida, siga as etapas neste guia.
Fundo
Normalmente, os clusters HDInsight são implantados em uma rede virtual. O cluster tem dependências em serviços fora dessa rede virtual.
O tráfego de gerenciamento de entrada não pode ser enviado por meio de um firewall. Você pode usar tags de serviço NSG para o tráfego de entrada, conforme documentado aqui.
As dependências de tráfego de saída do HDInsight são quase inteiramente definidas com FQDNs. Que não têm endereços IP estáticos por trás deles. A falta de endereços estáticos significa que os NSGs (Network Security Groups) não podem bloquear o tráfego de saída de um cluster. Os endereços IP mudam com frequência suficiente para que não seja possível configurar regras com base na resolução e uso de nomes atuais.
Proteja endereços de saída com um firewall que pode controlar o tráfego de saída com base em FQDNs. O Firewall do Azure restringe o tráfego de saída com base no FQDN das tags de destino ou FQDN.
Configurando o Firewall do Azure com o HDInsight
Um resumo das etapas para bloquear a saída do HDInsight existente com o Firewall do Azure são:
- Crie uma sub-rede.
- Crie um firewall.
Add application
regras para o firewall.- Adicione regras de rede ao firewall.
- Crie uma tabela de roteamento.
Criar nova sub-rede
Crie uma sub-rede chamada AzureFirewallSubnet na rede virtual onde o cluster existe.
Criar um novo firewall para o cluster
Crie um firewall chamado Test-FW01 usando as etapas em Implantar o firewall do Tutorial: Implantar e configurar o Firewall do Azure usando o portal do Azure.
Configurar o firewall com regras de aplicativo
Crie uma coleção de regras de aplicativo que permita que o cluster envie e receba comunicações importantes.
Selecione o novo firewall Test-FW01 no portal do Azure.
Navegue até Regras de Configurações>>Coleção>+
Add application rule collection
de regras do aplicativo.Add application rule collection
Na tela, forneça as seguintes informações:Secção superior
Property valor Nome FwAppRule Prioridade 200 Ação Permitir Seção de tags FQDN
Nome Endereço de origem Tag FQDN Notas Rule_1 * WindowsUpdate e HDInsight Necessário para serviços de IDH Seção FQDNs de destino
Nome Endereços de origem Protocolo: Porta FQDNS de destino Notas Rule_2 * https:443 login.windows.net Permite a atividade de login do Windows Rule_3 * https:443 login.microsoftonline.com Permite a atividade de login do Windows Rule_4 * https:443 storage_account_name.blob.core.windows.net Substitua storage_account_name
pelo nome real da sua conta de armazenamento. Certifique-se de que a opção "transferência segura necessária" está ativada na conta de armazenamento. Se você estiver usando o ponto de extremidade privado para acessar contas de armazenamento, essa etapa não será necessária e o tráfego de armazenamento não será encaminhado para o firewall.Rule_5 * http:80 azure.archive.ubuntu.com Permite que as atualizações de segurança do Ubuntu sejam instaladas no cluster Rule_6 * Disponível em: https:433 pypi.org, pypi.python.org files.pythonhosted.org Permite instalações de pacotes Python para monitoramento do Azure Selecione Adicionar.
Configurar o firewall com regras de rede
Crie as regras de rede para configurar corretamente o cluster HDInsight.
Continuando a partir da etapa anterior, navegue até Coleção>
+ Add network rule collection
de regras de rede.Add network rule collection
Na tela, forneça as seguintes informações:Secção superior
Property valor Nome FwNetRule Prioridade 200 Ação Permitir Secção Etiquetas de Serviço
Nome Protocolo Endereços de Origem Etiquetas de Serviço Portos de destino Notas Rule_6 TCP * SQL 1433, 11000-11999 Se você estiver usando os servidores SQL padrão fornecidos pelo HDInsight, configure uma regra de rede na seção Tags de Serviço para SQL que permitirá registrar e auditar o tráfego SQL. A menos que você tenha configurado Pontos de Extremidade de Serviço para SQL Server na sub-rede HDInsight, o que ignorará o firewall. Se você estiver usando um servidor SQL personalizado para metastore Ambari, Oozie, Ranger e Hive, só precisará permitir o tráfego para seus próprios SQL Servers personalizados. Consulte o Banco de Dados SQL do Azure e a arquitetura de conectividade do Azure Synapse Analytics para ver por que o intervalo de portas 11000-11999 também é necessário, além do 1433. Rule_7 TCP * Azure Monitor * (facultativo) Os clientes que planejam usar o recurso de dimensionamento automático devem adicionar essa regra. Selecione Adicionar.
Criar e configurar uma tabela de rotas
Crie uma tabela de rotas com as seguintes entradas:
Todos os endereços IP de serviços de integridade e gerenciamento com um tipo de Internet de salto seguinte. Ele deve incluir 4 IPs das regiões genéricas, bem como 2 IPs para sua região específica. Esta regra só é necessária se ResourceProviderConnection estiver definido como Inbound. Se o ResourceProviderConnection estiver definido como Outbound , esses IPs não serão necessários no UDR.
Uma rota de Dispositivo Virtual para o endereço IP 0.0.0.0/0 com o próximo salto sendo seu endereço IP privado do Firewall do Azure.
Por exemplo, para configurar a tabela de rotas para um cluster criado na região dos EUA de "Leste dos EUA", use as seguintes etapas:
Selecione seu firewall do Azure Test-FW01. Copie o endereço IP privado listado na página Visão geral . Para este exemplo, usaremos um endereço de exemplo de 10.0.2.4.
Em seguida, navegue até Todas as tabelas de rotas de rede>de serviços>e Criar tabela de rotas.
Na sua nova rota, navegue até Configurações>Rotas>+ Adicionar. Adicione as seguintes rotas:
Nome da rota | Prefixo de endereço | Tipo de salto seguinte | Endereço do próximo salto |
---|---|---|---|
168.61.49.99 | 168.61.49.99/32 | Internet | ND |
23.99.5.239 | 23.99.5.239/32 | Internet | ND |
168.61.48.131 | 168.61.48.131/32 | Internet | ND |
138.91.141.162 | 138.91.141.162/32 | Internet | ND |
13.82.225.233 | 13.82.225.233/32 | Internet | ND |
40.71.175.99 | 40.71.175.99/32 | Internet | ND |
0.0.0.0 | 0.0.0.0/0 | Aplicação virtual | 10.0.2.4 |
Conclua a configuração da tabela de rotas:
Atribua a tabela de rotas criada à sub-rede HDInsight selecionando Sub-redes em Configurações.
Selecione + Associado.
Na tela Associar sub-rede, selecione a rede virtual na qual o cluster foi criado. E a Sub-rede que utilizou para o cluster HDInsight.
Selecione OK.
Tráfego de nó de borda ou aplicativo personalizado
As etapas acima permitirão que o cluster opere sem problemas. Você ainda precisa configurar dependências para acomodar seus aplicativos personalizados em execução nos nós de borda, se aplicável.
As dependências do aplicativo devem ser identificadas e adicionadas ao Firewall do Azure ou à tabela de rotas.
As rotas devem ser criadas para o tráfego do aplicativo para evitar problemas de roteamento assimétrico.
Se seus aplicativos tiverem outras dependências, eles precisarão ser adicionados ao seu Firewall do Azure. Crie regras de aplicativo para permitir tráfego HTTP/HTTPS e regras de rede para todo o resto.
Registro em log e dimensionamento
O Firewall do Azure pode enviar logs para alguns sistemas de armazenamento diferentes. Para obter instruções sobre como configurar o log para seu firewall, siga as etapas em Tutorial: Monitorar logs e métricas do Firewall do Azure.
Depois de concluir a configuração do registo, se estiver a utilizar o Log Analytics, pode ver o tráfego bloqueado com uma consulta como:
AzureDiagnostics | where msg_s contains "Deny" | where TimeGenerated >= ago(1h)
A integração do Firewall do Azure com os logs do Azure Monitor é útil ao colocar um aplicativo em funcionamento pela primeira vez. Especialmente quando você não está ciente de todas as dependências do aplicativo. Você pode saber mais sobre os logs do Azure Monitor em Analisar dados de log no Azure Monitor
Para saber mais sobre os limites de escala do Firewall do Azure e os aumentos de solicitação, consulte este documento ou consulte as Perguntas frequentes.
Acesso ao cluster
Depois de ter o firewall configurado com êxito, você pode usar o ponto de extremidade interno (https://CLUSTERNAME-int.azurehdinsight.net
) para acessar o Ambari de dentro da rede virtual.
Para usar o ponto de extremidade público (https://CLUSTERNAME.azurehdinsight.net
) ou o ponto de extremidade ssh (CLUSTERNAME-ssh.azurehdinsight.net
), verifique se você tem as rotas corretas na tabela de rotas e nas regras do NSG para evitar o problema de roteamento assimétrico explicado aqui. Especificamente nesse caso, você precisa permitir o endereço IP do cliente nas regras do NSG de entrada e também adicioná-lo à tabela de rotas definida pelo usuário com o próximo salto definido como internet
. Se o roteamento não estiver configurado corretamente, você verá um erro de tempo limite.