Creación de un grupo de Azure Batch en una red virtual

Al crear un grupo de Azure Batch, puede aprovisionarlo en una subred de una red virtual de Azure que especifique. En este artículo se explica cómo configurar un grupo de Batch en una red virtual.

¿Por qué usar una red virtual?

Los nodos de ejecución de un grupo pueden comunicarse entre sí, por ejemplo, para ejecutar tareas de varias instancias, sin necesidad de una red virtual independiente. Sin embargo, de forma predeterminada, los nodos de un grupo no pueden comunicarse con ninguna máquina virtual (VM) que esté fuera del grupo, como servidores de licencias o de archivos.

Para permitir que los nodos de proceso se comuniquen de manera segura con otras máquinas virtuales o con una red local, puede aprovisionar el grupo en una subred de una red virtual.

Requisitos previos

  • Autenticación. Para usar una instancia de Azure Virtual Network, la API de cliente de Batch debe usar la autenticación de Microsoft Entra. Para obtener más información, consulte Autenticación de soluciones de servicio de Batch con Active Directory.

  • Una red virtual de Azure. Para preparar una red virtual con una o varias subredes previamente, puede usar Azure Portal, Azure PowerShell, la CLI de Microsoft Azure (CLI) u otros métodos.

    • Para crear una red virtual basada en Azure Resource Manager, consulte Creación de una red virtual. Una red virtual basada en Resource Manager se recomienda para las implementaciones nuevas y solo se admite en los grupos que usen Configuración de máquina virtual.

    • Para crear una red virtual clásica, consulte Creación de una red virtual (clásica) con varias subredes. Una red virtual clásica solo se admite en los grupos que usen la configuración de Cloud Services.

      Importante

      Evite usar 172.17.0.0/16 para la red virtual del grupo de Azure Batch. Es el valor predeterminado para la red de puente de Docker y puede entrar en conflicto con otras redes que desea conectar a la red virtual. La creación de una red virtual para el grupo de Azure Batch requiere una planeación cuidadosa de la infraestructura de red.

Requisitos de red virtual generales

  • La red virtual debe estar en la misma región y suscripción que la cuenta de Batch que se utiliza para crear el grupo.

  • La subred especificada para el grupo debe tener suficientes direcciones IP sin asignar para acoger el número de VM destinadas al grupo; suficientes para dar cabida a las propiedades targetDedicatedNodes y targetLowPriorityNodes del grupo. Si la subred no tiene suficientes direcciones IP sin asignar, el grupo asigna parcialmente los nodos de proceso y se produce un error de cambio de tamaño.

  • Si no usa la comunicación simplificada de nodo de ejecución, necesita resolver los puntos de conexión de Azure Storage mediante cualquier servidor DNS personalizado que de servicio a la red virtual deben resolver los puntos de conexión de Azure Storage. En concreto, las direcciones URL del tipo <account>.table.core.windows.net, <account>.queue.core.windows.net y <account>.blob.core.windows.net deben poderse resolver.

  • Se pueden crear varios grupos en la misma red virtual o en la misma subred (siempre que tenga suficiente espacio de direcciones). No puede existir un solo grupo en varias redes virtuales o subredes.

Otros requisitos de red virtual varían en función de si el grupo de Batch se encuentra en VirtualMachineConfiguration o en CloudServiceConfiguration. Se recomienda VirtualMachineConfiguration para los grupos de Batch, puesto que los grupos CloudServiceConfiguration están en desuso.

Importante

Los grupos de Batch se pueden configurar en uno de los dos modos de comunicación de nodo. El modo de comunicación de nodo clásico es donde el servicio Batch inicia la comunicación con los nodos de proceso. El modo de comunicación de nodo simplificado es donde los nodos de proceso inician la comunicación con el servicio Batch.

  • Cualquier red virtual o red virtual emparejada que se usará para los grupos de Batch no debe tener intervalos de direcciones IP superpuestos con redes definidas por software o enrutamiento en nodos de proceso. Un origen común de conflictos procede del uso de un entorno de ejecución de contenedor, como Docker. Docker creará un puente de red predeterminado con un intervalo de subred definido de 172.17.0.0/16. Los servicios que se ejecutan dentro de una red virtual en ese espacio de direcciones IP predeterminados entran en conflicto con los servicios del nodo de proceso, como el acceso remoto a través de SSH.

Grupos en la configuración de máquina virtual

Requisitos:

  • Redes virtuales admitidas: solo redes virtuales basadas en Azure Resource Manager.
  • Id. de subred: al especificar la subred mediante las API de Batch, utilice el identificador de recurso de la subred. El identificador de subred tiene el formato:

/subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/virtualNetworks/{network}/subnets/{subnet}

  • Permisos: compruebe si sus directivas de seguridad o bloqueos del grupo de recursos o la suscripción de la red virtual restringen los permisos de un usuario para administrar las redes virtuales.
  • Recursos de red: Batch crea automáticamente más recursos de red en el grupo de recursos que contiene la red virtual.

Importante

Por cada cien nodos dedicados o de prioridad baja, Batch crea un grupo de seguridad de red, una dirección IP pública y un equilibrador de carga. Estos recursos están limitados por las cuotas de recursos de la suscripción. En el caso de los grupos grandes, es posible que deba solicitar un aumento de la cuota de uno o varios de estos recursos.

Grupos de seguridad de red para grupos de configuración de máquina virtual: valor predeterminado de Batch

Batch crea un grupo de seguridad de red (NSG) en el nivel de interfaz de red de cada implementación del conjunto de escalado de máquinas virtuales dentro de un grupo de Batch. En el caso de los grupos que no tienen direcciones IP públicas en la comunicación simplified de nodo de ejecución, no se crean grupos de seguridad de red.

Para proporcionar la comunicación necesaria entre los nodos de ejecución y el servicio Batch, estos grupos de seguridad de red se configuran de la siguiente forma:

  • Tráfico TCP de entrada en los puertos 29876 y 29877 desde las direcciones IP del servicio Batch que se corresponden con la etiqueta de servicio BatchNodeManagement.region. Esta regla solo se crea en el modo de comunicación del grupo classic.
  • Tráfico TCP entrante en el puerto 22 (nodos de Linux) o el puerto 3389 (nodos de Windows) para permitir el acceso remoto para SSH o RDP en puertos predeterminados, respectivamente. Para determinados tipos de tareas de instancias múltiples en Linux, como MPI, a lo mejor tiene que permitir el tráfico de SSH para las direcciones IP en la subred que contiene nodos de ejecución de Batch. Algunos entornos de ejecución de MPI pueden requerir el inicio a través de SSH, que normalmente se enruta en el espacio de direcciones IP privadas. Este tráfico puede bloquearse por reglas de grupo de seguridad de red del nivel de subred.
  • Todo tráfico saliente en el puerto 443 para las direcciones IP del servicio Batch que se corresponden con la etiqueta de servicio BatchNodeManagement.region.
  • Tráfico saliente en cualquier puerto para la red virtual. Esta regla se puede modificar por reglas de grupo de seguridad de red del nivel de subred.
  • Tráfico saliente en cualquier puerto para Internet. Esta regla se puede modificar por reglas de grupo de seguridad de red del nivel de subred.

Importante

Tenga cuidado si modifica reglas de entrada o salida en los grupos de seguridad de red configurados para Batch o las agrega a ellos. Si un grupo de seguridad de red deniega la comunicación con los nodos de ejecución en la subred especificada, el servicio Batch establecerá el estado de dichos nodos en No utilizable. Además, no se deben aplicar bloqueos de recursos a ningún recurso creado por Batch, ya que así se puede impedir la limpieza de recursos como consecuencia de las acciones iniciadas por el usuario, como la eliminación de un grupo.

Grupos de seguridad de red para grupos de configuración de máquina virtual: especificación de reglas de nivel de subred

Si tiene un grupo de seguridad de red asociado a la subred para los nodos de ejecución de Batch, debe configurar el grupo de seguridad de red, como mínimo, con las reglas de seguridad de entrada y de salida que se muestran en las tablas siguientes.

Advertencia

Las direcciones IP del servicio Batch pueden cambiar con el tiempo. Por lo tanto, debe usar la etiqueta de servicio BatchNodeManagement.region para las reglas de NSG que se indican en las tablas siguientes. Evite rellenar las reglas de NSG con direcciones IP específicas del servicio Batch.

Reglas de seguridad de entrada

Etiqueta de servicio de origen o direcciones IP Puertos de destino Protocolo Modo de comunicación del grupo Obligatorio
Etiqueta de servicio BatchNodeManagement.region 29876-29877 TCP Clásico
Direcciones IP de origen para tener acceso remoto a los nodos de ejecución 3389 (Windows), 22 (Linux) TCP Clásico o simplificado No

Configure el tráfico de entrada en los puertos 3389 (Windows) o 22 (Linux) solo si necesita permitir el acceso remoto a los nodos de ejecución del grupo desde orígenes externos en puertos predeterminados de SSH o RDP, respectivamente. Es posible que tenga que permitir el tráfico SSH en Linux si necesita compatibilidad con tareas de varias instancias con determinados entornos de ejecución de interfaz de paso de mensajes (MPI) en la subred que contiene los nodos de proceso de Batch, ya que el tráfico puede bloquearse por reglas de NSG de nivel de subred. El tráfico de MPI suele ser sobre el espacio de direcciones IP privadas, pero puede variar entre los entornos de ejecución de MPI y la configuración del entorno de ejecución. No es estrictamente necesario permitir el tráfico en estos puertos para que los nodos de ejecución del grupo puedan usarse. También puede deshabilitar el acceso remoto predeterminado en estos puertos mediante la configuración de puntos de conexión del grupo.

Reglas de seguridad de entrada

Etiqueta de servicio de destino Puertos de destino Protocolo Modo de comunicación del grupo Obligatorio
Etiqueta de servicio BatchNodeManagement.region 443 * Simplificado
Etiqueta de servicio Storage.region 443 TCP Clásico

La salida a la etiqueta de servicio BatchNodeManagement.region es necesaria en el modo de comunicación del grupo classic si se usan tareas del administrador de trabajos o si las tareas deben comunicarse de nuevo con el servicio Batch. Para la salida a BatchNodeManagement.region en el modo de comunicación del grupo simplified, el servicio Batch actualmente solo usa el protocolo TCP, pero es posible que se requiera UDP para compatibilidad futura. En el caso de los grupos sin direcciones IP públicas que usan el modo de comunicación simplified y con un punto de conexión privado de administración de nodos, no se necesita un grupo de seguridad de red. Para más información sobre las reglas de seguridad de salida para la etiqueta de servicio BatchNodeManagement.region, consulte Uso de la comunicación simplificada de nodo de ejecución.

Grupos de la configuración de servicios en la nube

Advertencia

Los grupos de configuración de Cloud Services están en desuso. En su lugar, utilice los grupos de configuración de máquina virtual.

Requisitos:

  • Redes virtuales admitidas: solo redes virtuales clásicas.

  • Id. de subred: al especificar la subred mediante las API de Batch, utilice el identificador de recurso de la subred. El identificador de subred tiene el formato:

    /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.ClassicNetwork/virtualNetworks/{network}/subnets/{subnet}

  • Permisos: la entidad de servicio Microsoft Azure Batch debe tener el rol Classic Virtual Machine Contributor de Azure para la red virtual especificada.

Grupos de seguridad de red para grupos de configuración de servicios en la nube

La subred debe permitir las comunicaciones entrantes desde el servicio Batch para poder programar tareas en los nodos de proceso y debe permitir la comunicación saliente para comunicarse con Azure Storage u otros recursos.

No es necesario especificar un grupo de seguridad de red, ya que Batch configura la comunicación de entrada únicamente de las direcciones IP de Batch a los nodos del grupo. Sin embargo, si la subred especificada tiene asociados grupos de seguridad de red o un firewall, configure las reglas de seguridad de entrada y salida como se muestra en las tablas siguientes. Si un grupo de seguridad de red deniega la comunicación con los nodos de ejecución en la subred especificada, el servicio Batch establece el estado de dichos nodos en No utilizable.

Configure el tráfico entrante en el puerto 3389 para Windows si tiene que permitir el RDP a los nodos del grupo. Esta regla no se requiere para que se puedan usar los nodos del grupo.

Reglas de seguridad de entrada

Direcciones IP de origen Puertos de origen Destination Puertos de destino Protocolo Acción
Any

Aunque esta regla requiere realmente permitir todo, el servicio Batch aplica una regla de lista de control de acceso a nivel de cada nodo que filtra todas las direcciones IP de servicio que no sean de Batch.
* Cualquiera 10100, 20100, 30100 TCP Allow
Opcional, para permitir el acceso RDP en nodos de ejecución. * Any 3389 TCP Allow

Reglas de seguridad de salida

Source Puertos de origen Destination Puertos de destino Protocolo Acción
Any * Any 443 Any Allow

Crear un grupo con una red virtual en Azure Portal

Una vez que haya creado una red virtual y le haya asignado una subred, puede crear un grupo de Batch con esa red virtual. Siga estos pasos para crear un grupo en Azure Portal:

  1. Busque y seleccione Azure AD B2C en la barra de búsqueda de la parte superior de Azure Portal. Seleccione la cuenta de Batch. Esta cuenta debe estar en la misma suscripción y región que el grupo de recursos que contiene la red virtual que pretende utilizar.

  2. Seleccione Grupos en el panel de navegación izquierdo.

  3. En la ventana Grupos, seleccione Agregar.

    Screenshot of the Pools page in a Batch account that highlights the Pools option in the left side navigation and add button on the Pools page.

  4. En la página Agregar grupo, seleccione las opciones y escriba la información del grupo. Para obtener más información sobre cómo crear grupos para la cuenta de Batch, consulte Crear un grupo de nodos de proceso. Tamaño de nodo, nodos dedicados de destino y nodos de baja prioridad o de acceso puntual de destino, además de cualquier otro valor opcional que desee.

  5. En Virtual Network, seleccione la red virtual y la subred que desea usar.

  6. Seleccione Aceptar para crear el grupo.

Importante

Si intenta eliminar una subred que está en uso por parte de un grupo, recibirá un mensaje de error. Todos los grupos que usan una subred deben eliminarse antes de eliminar esa subred.

Rutas definidas por el usuario para la tunelización forzada

Es posible que en su organización haya que redirigir (exigir) el tráfico vinculado con Internet desde la subred a la ubicación local para llevar a cabo la inspección y el registro. Además, es posible que haya habilitado la tunelización forzada para las subredes de la red virtual.

Si desea asegurarse de que los nodos del grupo funcionen en una red virtual con la tunelización forzada habilitada, debe agregar las siguientes rutas definidas por el usuario (UDR) para esa subred.

En el caso de los grupos de modo de comunicación clásico:

  • El servicio Batch debe comunicarse con los nodos para programar tareas. Para habilitar esta comunicación, añada una UDR correspondiente a la etiqueta de servicio BatchNodeManagement.region en la región donde existe la cuenta de Batch. Establezca el tipo de próximo salto en Internet.

  • Asegúrese de que la red local no bloquee el tráfico TCP saliente a Azure Storage en el puerto de destino 443 (en concreto, las direcciones URL con el formato *.table.core.windows.net, *.queue.core.windows.net y *.blob.core.windows.net).

En el caso de los grupos de modo de comunicación simplificado sin punto de conexión privado de administración de nodos:

  • Asegúrese de que la red local no bloquee el tráfico TCP/UDP saliente a la etiqueta de servicio BatchNodeManagement.region de Azure Batch en el puerto de destino 443. Actualmente solo se usa el protocolo TCP, pero es posible que se requiera UDP para compatibilidad futura.

En el caso de todos los grupos:

  • Si usa montajes de archivos virtuales, revise los requisitos de red y asegúrese de que no se bloquee el tráfico necesario.

Advertencia

Las direcciones IP del servicio Batch pueden cambiar con el tiempo. Para evitar interrupciones debido a cambios en la dirección IP del servicio de Batch, no especifique directamente las direcciones IP. En su lugar, use la etiqueta de servicio BatchNodeManagement.region.

Pasos siguientes