Configurare il traffico di rete in uscita per i cluster di Azure HDInsight tramite il firewall

Il presente articolo illustra la procedura per proteggere il traffico in uscita dal cluster HDInsight tramite Firewall di Azure. I passaggi seguenti presuppongono che si stia configurando un firewall di Azure per un cluster esistente. Se si sta distribuendo un nuovo cluster dietro a un firewall, è necessario creare prima il cluster HDInsight e la subnet, quindi seguire i passaggi descritti in questa guida.

Background

I cluster HDInsight vengono in genere distribuiti in una rete virtuale. Il cluster è associato a dipendenze da servizi esterni a tale rete virtuale.

Il traffico di gestione in ingresso non può essere inviato tramite un firewall. È possibile usare i tag del servizio NSG per il traffico in ingresso, come documentato qui.

Le dipendenze del traffico in uscita dal cluster HDInsight sono quasi completamente definite con FQDN, i quali non dispongono di indirizzi IP statici. La mancanza di indirizzi statici significa che i gruppi di sicurezza di rete non possono bloccare il traffico in uscita da un cluster. Gli indirizzi IP cambiano spesso abbastanza spesso non è possibile configurare regole in base alla risoluzione dei nomi corrente e all'uso.

Proteggere gli indirizzi in uscita con un firewall che può controllare il traffico in uscita in base ai nomi di dominio completi. Firewall di Azure limita il traffico in uscita in base all'FQDN della destinazione o ai tag FQDN.

Configurazione di Firewall di Azure con HDInsight

Di seguito, un riepilogo dei passaggi da seguire per bloccare i dati in uscita dal cluster HDInsight esistente con Firewall di Azure:

  1. Creare una subnet.
  2. Creare un firewall.
  3. Aggiungere regole dell'applicazione al firewall.
  4. Aggiungere le regole di rete al firewall.
  5. Creare una tabella di routing.

Creare una nuova subnet

Creare una subnet denominata AzureFirewallSubnet nella rete virtuale in cui si trova il cluster.

Creare un nuovo firewall per il cluster

Creare un firewall denominato Test-FW01 seguendo la procedura descritta in Distribuire il firewall da Esercitazione: Distribuire e configurare Firewall di Azure usando il portale di Azure.

Configurare il firewall con le regole dell'applicazione

Creare una raccolta di regole dell'applicazione che consenta al cluster di inviare e ricevere comunicazioni importanti.

  1. Selezionare il nuovo firewall Test-FW01 dal portale di Azure.

  2. Passare a Impostazioni>Regole>Raccolta regole dell'applicazione>+ Aggiungi raccolta regole dell'applicazione.

    Title: Add application rule collection.

  3. Nella schermata Aggiungi raccolta regole dell'applicazione, specificare le informazioni seguenti:

    Sezione superiore

    Proprietà valore
    Nome FwAppRule
    Priorità 200
    Azione Consenti

    Sezione Tag FQDN

    Nome Indirizzo di origine Tag FQDN Note
    Rule_1 * WindowsUpdate e HDInsight Obbligatorio per i servizi HDI

    Sezione FQDN di destinazione

    Nome Indirizzi di origine Protocollo:Porta FQDN di destinazione Note
    Rule_2 * https:443 login.windows.net Consente l'attività di accesso di Windows
    Rule_3 * https:443 login.microsoftonline.com Consente l'attività di accesso di Windows
    Rule_4 * https:443 storage_account_name.blob.core.windows.net Sostituire storage_account_name con il nome dell'account di archiviazione. Assicurarsi che l'opzione "trasferimento sicuro richiesto" sia abilitata nell'account di archiviazione. Se si usa l'endpoint privato per accedere agli account di archiviazione, questo passaggio non è necessario e il traffico di archiviazione non viene inoltrato al firewall.
    Rule_5 * http:80 azure.archive.ubuntu.com Consente l'installazione degli aggiornamenti della sicurezza di Ubuntu nel cluster

    Title: Enter application rule collection details.

  4. Selezionare Aggiungi.

Configurare il firewall con le regole di rete

Creare le regole di rete per configurare correttamente il cluster HDInsight.

  1. Proseguendo dal passaggio precedente, passare a Raccolta regole di rete>+ Aggiungi raccolta regole di rete.

  2. Nella schermata Aggiungi raccolta regole dell'applicazione, specificare le informazioni seguenti:

    Sezione superiore

    Proprietà valore
    Nome FwNetRule
    Priorità 200
    Azione Consenti

    Sezione Tag di servizio

    Nome Protocollo Indirizzi di origine Tag di servizio Porte di destinazione Note
    Rule_6 TCP * SQL 1433 , 11000-11999 Se si usano i server SQL predefiniti forniti da HDInsight, configurare una regola di rete nella sezione Tag di servizio per SQL che consentirà di registrare e controllare il traffico SQL. a meno che non siano stati configurati endpoint di servizio per SQL Server nella subnet HDInsight, che ignoreranno il firewall. Se si usa sql server personalizzato per I metastore Ambari, Oozie, Ranger e Hive, è sufficiente consentire il traffico ai propri server SQL personalizzati. Vedere database SQL di Azure e l'architettura di connettività di Azure Synapse Analytics per scoprire perché è necessario anche l'intervallo di porte 11000-11999 oltre a 1433.
    Rule_7 TCP * Monitoraggio di Azure * (Facoltativo) Si consiglia ai clienti che prevedono di usare la funzionalità di scalabilità automatica di aggiungere questa regola.

    Title: Enter application rule collection.

  3. Selezionare Aggiungi.

Creare e configurare tabelle di route

Creare una tabella di route con le voci seguenti:

  • Tutti gli indirizzi IP dei servizi di integrità e gestione con un tipo di hop successivo di Internet. Deve includere 4 INDIRIZZI IP delle aree generiche e 2 INDIRIZZI IP per l'area specifica. Questa regola è necessaria solo se ResourceProvider Connessione ion è impostato su Inbound. Se ResourceProvider Connessione ion è impostato su In uscita, questi indirizzi IP non sono necessari nella route definita dall'utente.

  • Una route di appliance virtuale per l'indirizzo IP 0.0.0.0/0 con hop successivo corrispondente all'indirizzo IP privato di Firewall di Azure.

Ad esempio, per configurare la tabella di route per un cluster creato nell'area Stati Uniti di "Stati Uniti orientali", seguire questi passaggi:

  1. Selezionare il firewall di Azure Test-FW01. Copiare l'Indirizzo IP privato elencato nella pagina Panoramica. In questo esempio viene usato l'indirizzo campione 10.0.2.4.

  2. Passare quindi a Tutti i servizi>Rete>Tabelle route e Crea tabella di route.

  3. Dalla nuova route, passare a Impostazioni>Route>+ Aggiungi. Aggiungere le route seguenti:

Nome route Prefisso indirizzo Tipo hop successivo Indirizzo hop successivo
168.61.49.99 168.61.49.99/32 Internet N/D
23.99.5.239 23.99.5.239/32 Internet N/D
168.61.48.131 168.61.48.131/32 Internet N/D
138.91.141.162 138.91.141.162/32 Internet N/D
13.82.225.233 13.82.225.233/32 Internet N/D
40.71.175.99 40,71,175,99/32...20, 24, 32 Internet N/D
0.0.0.0 0.0.0.0/0 Appliance virtuale 10.0.2.4

Completare la configurazione della tabella di route:

  1. Assegnare la tabella di route creata alla subnet HDInsight selezionando Subnet in Impostazioni.

  2. Selezionare + Associa.

  3. Nella schermata Associa subnet, selezionare la rete virtuale in cui è stato creato il cluster e la subnet usata per il cluster HDInsight.

  4. Seleziona OK.

Traffico dell'applicazione del nodo perimetrale o personalizzata

I passaggi precedenti consentiranno al cluster di operare senza problemi. È comunque necessario configurare le dipendenze per supportare le applicazioni personalizzate in esecuzione nei nodi perimetrali, ove applicabile.

Le dipendenze delle applicazioni devono essere identificate e aggiunte a Firewall di Azure o alla tabella di route.

È necessario creare route per il traffico delle applicazioni per evitare problemi di routing asimmetrico.

Se le applicazioni hanno altre dipendenze, è necessario aggiungerle a Firewall di Azure. Creare regole per le applicazioni per consentire il traffico HTTP/HTTPS e regole di rete per tutto il resto.

Registrazione e scalabilità

Firewall di Azure può inviare i log a diversi sistemi di archiviazione. Per istruzioni sulla configurazione della registrazione per il firewall, seguire la procedura descritta in Esercitazione: Monitorare Firewall di Azure log e metriche.

Dopo aver completato la configurazione della registrazione, se si usa Log Analytics è possibile visualizzare il traffico bloccato con una query, ad esempio:

AzureDiagnostics | where msg_s contains "Deny" | where TimeGenerated >= ago(1h)

L'integrazione di Firewall di Azure con i log di Monitoraggio di Azure è utile quando si avvia un'applicazione per la prima volta. In particolare, quando non si è a conoscenza di tutte le dipendenze dell'applicazione. Per altre informazioni sui log di Monitoraggio di Azure, vedere Analizzare i dati di log in Monitoraggio di Azure

Per informazioni sui limiti di scalabilità di Firewall di Azure e sugli aumenti delle richieste, vedere questo documento o consultare le domande frequenti .

Accesso al cluster

Dopo aver configurato correttamente il firewall, è possibile usare l'endpoint interno (https://CLUSTERNAME-int.azurehdinsight.net) per accedere ad Ambari dall'interno della rete virtuale.

Per usare l'endpoint pubblico (https://CLUSTERNAME.azurehdinsight.net) o l'endpoint SSH (CLUSTERNAME-ssh.azurehdinsight.net), assicurarsi di avere le route corrette nella tabella di route e le regole del gruppo di sicurezza di rete per evitare il problema di routing asimmetrico illustrato qui. In particolare, in questo caso, è necessario consentire l'indirizzo IP del client nelle regole del gruppo di sicurezza di rete in ingresso e aggiungerlo alla tabella di route definita dall'utente con l'hop successivo come internet. Se il routing non è configurato correttamente, verrà visualizzato un errore di timeout.

Passaggi successivi