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é se utiliza una red virtual?

Los nodos de proceso de un grupo pueden comunicarse entre sí, por ejemplo, para ejecutar tareas de instancias múltiples, sin necesidad de una red virtual independiente. Sin embargo, de forma predeterminada, los nodos de un grupo no se pueden comunicar con las máquinas virtuales que están fuera del grupo, como los servidores de licencias o los servidores 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 de Azure.

Requisitos previos

  • Autenticación. Para usar una red virtual de Azure, la API de cliente de Batch debe usar la autenticación de Azure Active Directory (AD). La compatibilidad de Azure Batch con Azure AD se documenta en Autenticación de soluciones de servicio de Batch con Active Directory.

  • Una red virtual de Azure. Consulte la sección siguiente para conocer los requisitos de la red virtual y cómo configurarla. Para preparar una red virtual con una o varias subredes previamente, puede usar Azure Portal, Azure PowerShell, la interfaz de línea de comandos (CLI) de Azure 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.

Requisitos de la red virtual

Requisitos 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; esto es, la suma de 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.

  • Todos los servidores DNS personalizados que dan servicio a la red virtual deben resolver el punto 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.

Los requisitos adicionales de red virtual difieren en función de si el grupo de Batch se encuentra en la configuración de máquina virtual o en la de servicios en la nube. Para las nuevas implementaciones de grupo en una red virtual, se recomienda la configuración de máquina virtual.

Grupos en la configuración de máquina virtual

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 la red virtual.

Recursos de red adicionales: Batch crea automáticamente recursos de red adicionales 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: valor predeterminado de Batch

La subred debe permitir la comunicación de entrada desde el servicio Batch para poder programar tareas en los nodos de proceso y la de salida para comunicarse con Azure Storage u otros recursos, en función de lo que necesite la carga de trabajo. En cuanto a los grupos que hay en la configuración de la máquina virtual, Batch agrega grupos de seguridad de red a nivel de las interfaces de red (NIC) conectadas a los nodos de proceso. Estos grupos se configuran con las siguientes reglas adicionales:

  • 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.
  • Tráfico TCP de entrada en el puerto 22 (nodos de Linux) o el puerto 3389 (nodos de Windows) para permitir el acceso remoto. Para determinados tipos de tareas de instancias múltiples en Linux (como MPI), tendrá que permitir también el tráfico del puerto 22 de SSH para las direcciones IP en la subred que contiene los nodos de ejecución de Batch. Se puede bloquear por regla de grupo de seguridad de red del nivel de subred (véase a continuación).
  • Tráfico saliente en cualquier puerto para la red virtual. Se puede modificar por regla de grupo de seguridad de red del nivel de subred (véase a continuación).
  • Tráfico saliente en cualquier puerto para Internet. Se puede modificar por regla de grupo de seguridad de red del nivel de subred (véase a continuación).

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: especificación de grupos de nivel de subred

Si tiene un grupo de seguridad de red asociado a la subred en la que se implementan los nodos de ejecución de Batch o si desea aplicar reglas de NSG personalizadas que reemplacen a las reglas aplicadas de forma predeterminada, 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.

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. Si requiere que las tareas con varias instancias sean compatibles con ciertos runtimes de MPI, es posible que necesite habilitar las reglas del puerto 22 en Linux. Para que se puedan usar los nodos de ejecución del grupo no es obligatorio permitir el tráfico en estos puertos.

Advertencia

Las direcciones IP del servicio Batch pueden cambiar con el tiempo. Por lo tanto, se recomienda encarecidamente usar la etiqueta de servicio BatchNodeManagement (o una variante regional) 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

Direcciones IP de origen Etiqueta de servicio de origen Puertos de origen Destination Puertos de destino Protocolo Acción
N/D BatchNodeManagementEtiqueta de servicio (si usa una variante regional, en la misma región que su cuenta de Batch) * Any 29876-29877 TCP Allow
Las direcciones IP de origen de usuario para tener acceso remoto a los nodos de ejecución o la subred de nodo de ejecución para tareas de instancias múltiples de Linux, si es necesario. N/D * Any 3389 (Windows), 22 (Linux) TCP Allow

Reglas de seguridad de salida

Source Puertos de origen Destination Etiqueta de servicio de destino Puertos de destino Protocolo Acción
Any * Etiqueta de servicio Storage (si se usa una variante regional, en la misma región que la cuenta de Batch) 443 TCP Allow
Any * Etiqueta de servicio BatchNodeManagement (si se usa una variante regional, en la misma región que la cuenta de Batch) 443 TCP Allow

Para obtener más información sobre las reglas de seguridad de salida para la etiqueta de servicio BatchNodeManagement, 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.

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

La subred debe permitir las comunicaciones entrantes desde el servicio Batch para poder programar tareas en los nodos de proceso y 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 acción 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 esto requiere "permitir todo" realmente, 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.
* Any 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

Creación de un grupo con una red virtual en Azure Portal

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

  1. Vaya a la cuenta de Batch en Azure Portal. 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. En la ventana Configuración que aparece a la izquierda, seleccione el elemento de menú Grupos.
  3. En la ventana Grupos, seleccione Agregar.
  4. En la ventana Agregar grupo, seleccione la opción que desea utilizar en el menú desplegable Tipo de imagen.
  5. Seleccione el valor correcto de publicador/oferta/SKU para la imagen personalizada.
  6. Especifique los valores requeridos restantes, incluido el tamaño de nodo, los nodos dedicados de destino y los nodos de baja prioridad o de acceso puntual de destino, además de cualquier otro valor opcional que desee.
  7. En Virtual Network, seleccione la red virtual y la subred que desea usar.
  8. 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:

  • El servicio Batch debe comunicarse con los nodos para programar tareas. Para habilitar esta comunicación, agregue una ruta definida por el usuario para cada dirección IP usada por el servicio Batch en la región donde existe la cuenta de Batch. Las direcciones IP del servicio Batch se encuentran en la etiqueta de servicio BatchNodeManagement.<region>. Para obtener la lista de direcciones IP, consulte Etiquetas de servicio en un entorno local.

  • Asegúrese de que la red local no bloquee el tráfico TCP saliente al servicio Azure Batch en el puerto de destino 443. Estas direcciones IP de destino del servicio Azure Batch son las mismas que se encuentran en la etiqueta de servicio BatchNodeManagement.<region> que se usa para las rutas anteriores.

  • 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).

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

Cuando agregue una ruta definida por el usuario, defina la ruta de cada prefijo de dirección IP de Batch relacionado y establezca Tipo del próximo salto en Internet.

Advertencia

Las direcciones IP del servicio Batch pueden cambiar con el tiempo. Para evitar las interrupciones debidas a un cambio en las direcciones IP, cree un proceso para actualizar automáticamente las direcciones IP del servicio Batch y mantenerlas actualizadas en la tabla de enrutamiento.

Pasos siguientes