Configuración del tráfico de red saliente para clústeres de Azure HDInsight mediante Firewall
Este artículo proporciona los pasos para proteger el tráfico saliente del clúster de HDInsight con Azure Firewall. En los pasos siguientes se supone que va a configurar Azure Firewall para un clúster existente. Si va a implementar un nuevo clúster detrás de un firewall, cree primero el clúster de HDInsight y una subred. Después, siga los pasos de esta guía.
Información previa
Los clústeres de HDInsight se implementan normalmente en una red virtual. El clúster tiene dependencias en servicios que están fuera de esa red.
El tráfico entrante de administración no se puede enviar a través de un firewall. Puede usar etiquetas de servicio de NSG para el tráfico entrante, tal y como se documenta aquí.
Las dependencias del tráfico de salida de HDInsight aislado se definen casi por completo con nombres de dominio completos. Estos no tienen direcciones IP estáticas detrás. La falta de direcciones estáticas significa que los grupos de seguridad de red (NSG) no pueden bloquear el tráfico saliente de un clúster. Las direcciones IP cambian con tal frecuencia que no se pueden configurar reglas en función de la resolución de nombres y del uso actualmente.
Proteja las direcciones salientes mediante un firewall que controle el tráfico saliente en función de los nombres de dominio completo. Azure Firewall restringe el tráfico saliente en función del nombre de dominio completo del destino o las etiquetas de FQDN.
Configuración de Azure Firewall con HDInsight
A continuación, se proporciona un resumen de los pasos para bloquear la salida del clúster de HDInsight existente con Azure Firewall:
- Cree una subred.
- Cree un firewall.
- Reglas
Add application
para el firewall. - Agregue reglas de red al firewall.
- Cree una tabla de enrutamiento.
Creación de una subred
Cree una subred llamada AzureFirewallSubnet en la red virtual donde exista el clúster.
Creación de un nuevo firewall para el clúster
Cree un firewall llamado Test-FW01 mediante los pasos descritos en Implementación del firewall del Tutorial: Implementación y configuración de Azure Firewall mediante Azure Portal.
Configuración del firewall con reglas de aplicación
Cree una colección de reglas de aplicación que permita al clúster enviar y recibir comunicaciones importantes.
Seleccione el nuevo firewall Test-FW01 en Azure Portal.
Vaya a Configuración>Reglas>Recopilación de reglas de aplicación>+
Add application rule collection
.En la pantalla
Add application rule collection
, proporcione la siguiente información:Sección superior
Propiedad Valor Nombre FwAppRule Priority 200 Acción Allow Sección de etiquetas FQDN
Nombre Dirección de origen Etiqueta FQDN Notas Rule_1 * WindowsUpdate y HDInsight Necesario para los servicios de HDI Sección de FQDN de destino
Nombre Direcciones de origen Protocolo: Port FQDN de destino Notas Rule_2 * https:443 login.windows.net Permite la actividad de inicio de sesión de Windows Rule_3 * https:443 login.microsoftonline.com Permite la actividad de inicio de sesión de Windows Rule_4 * https:443 storage_account_name.blob.core.windows.net Reemplace storage_account_name
por el nombre de la cuenta de almacenamiento real. Asegúrese de que la opción "se requiere transferencia segura" esté habilitada en la cuenta de almacenamiento. Si usa un punto de conexión privado para acceder a cuentas de almacenamiento, este paso no es necesario y el tráfico de almacenamiento no se reenviará al firewall.Rule_5 * http:80 azure.archive.ubuntu.com Permite instalar actualizaciones de seguridad de Ubuntu en el clúster Rule_6 * https:433 pypi.org, pypi.python.org, files.pythonhosted.org Permite instalaciones de paquetes de Python para la supervisión de Azure Seleccione Agregar.
Configuración del firewall con reglas de red
Cree las reglas de red para configurar correctamente el clúster de HDInsight.
Siguiendo con el paso anterior, vaya a Recopilación de reglas de red>
+ Add network rule collection
.En la pantalla
Add network rule collection
, proporcione la siguiente información:Sección superior
Propiedad Valor Nombre FwNetRule Priority 200 Acción Allow Sección de etiquetas de servicio
Nombre Protocolo Direcciones de origen Etiquetas de servicio Puertos de destino Notas Rule_6 TCP * SQL 1433, 11000-11999 Si usa los servidores SQL Server predeterminados proporcionados por HDInsight, configure una regla de red en la sección de etiquetas de servicio para SQL que le permita registrar y auditar el tráfico de SQL. A menos que haya configurado los puntos de conexión de servicio para SQL Server en la subred de HDInsight, el firewall se omitirá. Si usa un servidor SQL personalizado para Ambari, Oozie, Ranger y metastore de Hive, solo tiene que permitir el tráfico para sus propios servidores SQL Server personalizados. Consulte Arquitectura de conectividad de Azure SQL Database y Azure Synapse Analytics para ver por qué también se necesita el intervalo de puertos de 11000 a 11999, además del 1433. Rule_7 TCP * Azure Monitor * (opcional) Los clientes que piensan usar la característica de escalado automático deben agregar esta regla. Seleccione Agregar.
Creación y configuración de una tabla de rutas
Cree una tabla de rutas con las siguientes entradas:
Todas las direcciones IP de los servicios de mantenimiento y administración con un tipo de próximo salto para Internet. Debe incluir 4 direcciones IP para las regiones genéricas y 2 direcciones IP para la región específica. Esta regla solo es necesaria si ResourceProviderConnection se establece en Inbound. Si ResourceProviderConnection se establece en Outbound, estas direcciones IP no son necesarias en el UDR.
Una ruta de aplicación virtual para la dirección IP 0.0.0.0/0 con el próximo salto establecido en la dirección IP privada de la instancia de Azure Firewall.
Por ejemplo, para configurar la tabla de rutas de un clúster creado en la región de Estados Unidos "Este de EE. UU.", use los pasos siguientes:
Seleccione el firewall de Azure Test-FW01. Copie la Dirección IP privada que aparece en la página Información general. En este ejemplo se usará la dirección de ejemplo 10.0.2.4.
A continuación, vaya a Todos los servicios>Redes>Tablas de rutas y Crear tabla de rutas.
En la nueva ruta, vaya a Configuración>Rutas>+ Agregar. Agregue las siguientes rutas:
Nombre de ruta | Prefijo de dirección | Tipo de próximo salto | Siguiente dirección de salto |
---|---|---|---|
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 | Internet | N/D |
0.0.0.0 | 0.0.0.0/0 | Aplicación virtual | 10.0.2.4 |
Complete la configuración de la tabla de rutas:
Asigne la tabla de rutas que ha creado a la subred de HDInsight; para ello, seleccione Subredes en Configuración.
Seleccione + Asociar.
En la pantalla Asociar subred, seleccione la red virtual en la que se creó el clúster. Además, seleccione la subred que usó para el clúster de HDInsight.
Seleccione Aceptar.
Nodo perimetral o tráfico de aplicación personalizado
Los pasos anteriores permitirán que el clúster funcione sin incidencias. Deberá configurar las dependencias para dar cabida a las aplicaciones personalizadas que se ejecutan en los nodos perimetrales, si procede.
Las dependencias de la aplicación se identificar y agregar a Azure Firewall o a la tabla de rutas.
Se deben crear rutas para el tráfico de la aplicación para evitar incidencias de enrutamiento asimétrico.
Si las aplicaciones tienen otras dependencias, deben agregarse a Azure Firewall. Crear reglas de aplicación para permitir el tráfico HTTP/HTTPS y reglas de red para todo lo demás.
Registro y escala
Azure Firewall puede enviar registros a algunos sistemas de almacenamiento diferentes. Para obtener instrucciones sobre la configuración del registro para el firewall, siga los pasos de Tutorial: Supervisión de métricas y registros de Azure Firewall.
Cuando haya completado la configuración del registro, si va a usar Log Analytics, puede ver el tráfico bloqueado con una consulta como la siguiente:
AzureDiagnostics | where msg_s contains "Deny" | where TimeGenerated >= ago(1h)
La integración de Azure Firewall con los registros de Azure Monitor resulta útil cuando una aplicación funciona por primera vez. En particular, cuando no conoce todas las dependencias de la aplicación. Puede obtener más información acerca de los registros de Azure Monitor en Análisis de datos de registro en Azure Monitor.
Para información sobre los límites de escala de Azure Firewall y los aumentos de solicitud, consulte este documento o las preguntas más frecuentes.
Acceso al clúster
Después de configurar correctamente el firewall, puede usar el punto de conexión interno (https://CLUSTERNAME-int.azurehdinsight.net
) para acceder a Ambari desde dentro de la red virtual.
Para usar el punto de conexión público (https://CLUSTERNAME.azurehdinsight.net
) o el punto de conexión de SSH (CLUSTERNAME-ssh.azurehdinsight.net
), asegúrese de que dispone de las rutas adecuadas en la tabla de rutas y las reglas del grupo de seguridad de red para evitar la incidencia de enrutamiento asimétrico que se explica aquí. En este caso concreto, debe permitir la dirección IP del cliente en las reglas del grupo de seguridad de red de entrada y también agregarla a la tabla de rutas definida por el usuario con el próximo salto establecido como internet
. Si el enrutamiento no se configura correctamente, verá un error de tiempo de espera.