Creación de un grupo de comunicación de nodos simplificado sin direcciones IP públicas

Nota

Esto reemplaza la versión preliminar anterior del grupo de Azure Batch sin direcciones IP públicas. Esta nueva versión requiere el uso de la comunicación simplificada del nodo de ejecución.

Importante

La compatibilidad con grupos sin direcciones IP públicas en Azure Batch está disponible actualmente para algunas regiones.

Al crear un grupo de Azure Batch, puede aprovisionar el grupo de configuración de máquina virtual (VM) sin una dirección IP pública. En este artículo se explica cómo configurar un grupo de Batch sin direcciones IP públicas.

¿Por qué usar un grupo sin direcciones IP públicas?

De forma predeterminada, todos los nodos de ejecución de un grupo de configuración de VM de Azure Batch tienen asignada una dirección IP pública. El servicio Batch usa esta dirección para admitir el acceso saliente a Internet, así como el acceso entrante a los nodos de ejecución desde Internet.

Para restringir el acceso a estos nodos y reducir la detectabilidad de estos nodos desde Internet, puede aprovisionar el grupo sin direcciones IP públicas.

Requisitos previos

Importante

Los requisitos previos han cambiado desde la versión preliminar de esta característica. Asegúrese de revisar cada elemento para ver los cambios antes de continuar.

  • Use la comunicación simplificada de nodo de ejecución. Para más información, consulte Uso de la comunicación simplificada de nodo de ejecución.

  • La API de cliente de Batch debe usar la autenticación de Microsoft Entra. La compatibilidad de Azure Batch con Microsoft Entra ID se documenta en Autenticación de soluciones de servicios de Batch con Active Directory.

  • Cree el grupo en una red virtual (VNet) de Azure; siga estos requisitos y configuraciones. Para preparar una red virtual con una o varias subredes previamente, puede usar Azure Portal, Azure PowerShell, la interfaz de línea de comandos de Azure (CLI de Azure) u otros métodos.

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

    • Si tiene previsto usar un punto de conexión privado y la red virtual tiene habilitada la directiva de red de punto de conexión privado, asegúrese de que la conexión entrante con TCP/443 a la subred que hospeda el punto de conexión privado se permite desde la subred del grupo de Batch.

  • Habilite el acceso saliente para la administración de nodos de Batch. Un grupo sin direcciones IP públicas no tiene habilitado el acceso de salida a Internet de forma predeterminada. Elija una de las opciones siguientes para permitir que los nodos de ejecución accedan al servicio de administración de nodos de Batch (consulte Uso de la comunicación simplificada de nodo de proceso):

    • Use el punto de conexión privado nodeManagement con cuentas de Batch, que proporciona acceso privado al servicio de administración de nodos de Batch desde la red virtual. Esta solución es el método preferido.

    • Como alternativa, proporcione su propia compatibilidad con el acceso saliente a Internet (consulte Acceso saliente a Internet).

Importante

Hay dos subrecursos para puntos de conexión privados con cuentas de Batch. Use el punto de conexión privado nodeManagement para el grupo de Batch sin direcciones IP públicas. Para más información, consulte Uso de puntos de conexión privados con cuentas de Azure Batch.

Limitaciones actuales

  1. Los grupos sin direcciones IP públicas deben usar la configuración de máquina virtual y no la configuración de Cloud Services.
  2. La configuración de punto de conexión personalizado de los nodos de ejecución de Batch no funciona con los grupos sin direcciones IP públicas.
  3. Como no hay ninguna dirección IP pública, no puede usar sus propias direcciones IP públicas especificadas con este tipo de grupo.
  4. No se admite el token de autenticación de tareas para la tarea Batch. La solución consiste en usar el grupo de Batch con identidades administradas.

Creación de un grupo sin direcciones IP públicas en Azure Portal

  1. Si es necesario, cree un punto de conexión privado nodeManagement para la cuenta de Batch en la red virtual (consulte el requisito de acceso de salida en los requisitos previos).
  2. Vaya a la cuenta de Batch en Azure Portal.
  3. En la ventana Configuración que aparece a la izquierda, seleccione Grupos.
  4. En la ventana Grupos, seleccione Agregar.
  5. En la ventana Agregar grupo, seleccione la opción que desea utilizar en el menú desplegable Tipo de imagen.
  6. Seleccione el editor/la oferta/la SKU correspondiente de la imagen.
  7. Especifique los valores obligatorios restantes, incluido el tamaño de nodo, los nodos dedicados de destino y los nodos de baja prioridad o de acceso puntual de destino.
  8. En Modo de comunicación del nodo, seleccione Simplificado en Configuración opcional.
  9. Seleccione una red virtual y una subred que quiera usar. Esta red virtual tiene que estar en la misma ubicación que el grupo que está creando.
  10. En Tipo de aprovisionamiento de dirección IP, seleccione NoPublicIPAddresses.

En la captura de pantalla siguiente se muestran los elementos que se deben modificar para crear un grupo sin direcciones IP públicas.

Screenshot of the Add pool screen with NoPublicIPAddresses selected.

Uso de la API REST de Batch para crear un grupo sin direcciones IP públicas

En el siguiente ejemplo se muestra cómo usar la API REST de servicios de Batch para crear un grupo que use direcciones IP públicas.

URI DE LA API REST

POST {batchURL}/pools?api-version=2022-10-01.16.0
client-request-id: 00000000-0000-0000-0000-000000000000

Cuerpo de la solicitud

"pool": {
     "id": "pool-npip",
     "vmSize": "standard_d2s_v3",
     "virtualMachineConfiguration": {
          "imageReference": {
               "publisher": "Canonical",
               "offer": "0001-com-ubuntu-server-jammy",
               "sku": "22_04-lts"
          },
          "nodeAgentSKUId": "batch.node.ubuntu 22.04"
     },
     "networkConfiguration": {
          "subnetId": "/subscriptions/<your_subscription_id>/resourceGroups/<your_resource_group>/providers/Microsoft.Network/virtualNetworks/<your_vnet_name>/subnets/<your_subnet_name>",
          "publicIPAddressConfiguration": {
               "provision": "NoPublicIPAddresses"
          }
     },
     "resizeTimeout": "PT15M",
     "targetDedicatedNodes": 2,
     "targetLowPriorityNodes": 0,
     "taskSlotsPerNode": 1,
     "taskSchedulingPolicy": {
          "nodeFillType": "spread"
     },
     "enableAutoScale": false,
     "enableInterNodeCommunication": false,
     "targetNodeCommunicationMode": "simplified"
}

Creación de un grupo sin direcciones IP públicas mediante una plantilla de ARM

Puede usar esta plantilla de inicio rápido de Azure para crear un grupo sin direcciones IP públicas mediante la plantilla de Azure Resource Manager (ARM).

La plantilla implementará los siguientes recursos:

  • La cuenta de Azure Batch con firewall de IP configurado para bloquear el acceso de red pública al punto de conexión de administración de nodos de Batch
  • Red virtual con grupo de seguridad de red para bloquear el acceso saliente a Internet
  • Punto de conexión privado para acceder al punto de conexión de administración de nodos de Batch de la cuenta
  • Integración de DNS para el punto de conexión privado mediante una zona DNS privada vinculada a la red virtual
  • Grupo de Batch implementado en la red virtual y sin direcciones IP públicas

Si ya está familiarizado con el uso de plantillas de ARM, seleccione el botón Implementar en Azure. La plantilla se abrirá en Azure Portal.

Button to deploy the Resource Manager template to Azure.

Nota:

Si se produjo un error en la implementación del punto de conexión privado debido a un groupId "nodeManagement" no válido, compruebe si la región está en la lista de regiones admitidas para la comunicación simplificada del nodo de ejecución. Elija la región adecuada y vuelva a intentar la implementación.

Acceso de salida a Internet

En un grupo sin direcciones IP públicas, las máquinas virtuales no podrán acceder a Internet a menos que establezca la configuración de red correctamente, por ejemplo, mediante el uso de Virtual Network NAT. NAT solo permite el acceso de salida a Internet desde las máquinas virtuales de la red virtual. Los nodos de ejecución creados por Batch no serán accesibles públicamente, ya que no tienen asociadas direcciones IP públicas.

Otra manera de proporcionar conectividad de salida es usar una ruta definida por el usuario (UDR). Con este método se puede enrutar el tráfico a un equipo proxy que tenga acceso a Internet; por ejemplo, Azure Firewall.

Importante

No se crea ningún recurso de red adicional (equilibrador de carga, grupo de seguridad de red) para los grupos de comunicación de nodos simplificada sin direcciones IP públicas. Dado que los nodos de ejecución del grupo no están enlazados a ningún equilibrador de carga, Azure puede proporcionar el acceso de salida predeterminado. Sin embargo, el acceso saliente predeterminado no es adecuado para cargas de trabajo de producción y se retirará el 30 de septiembre de 2025 (consulte el anuncio oficial). Por lo tanto, si las cargas de trabajo requieren acceso saliente a Internet o el grupo no usa el punto de conexión privado para acceder al punto de conexión de administración de nodos de Batch, debe proporcionar su propia solución para habilitar el acceso saliente a Internet.

Solucionar problemas

Nodos de proceso no utilizables en un grupo de Batch

Si los nodos de proceso se ejecutan en un estado inutilizable en un grupo de Batch sin direcciones IP públicas, la primera y la comprobación más importante es comprobar el acceso saliente al servicio de administración de nodos de Batch. Debe configurarse correctamente para que los nodos de proceso puedan conectarse al servicio desde la red virtual.

Uso del punto de conexión privado nodeManagement

Si ha creado un punto de conexión privado de administración de nodos en la red virtual para su cuenta de Batch:

  • Compruebe si el punto de conexión privado se ha creado en la red virtual adecuada, en el estado Correcto del aprovisionamiento y también en el estado Aprobado.
  • Compruebe si la configuración de DNS está configurada correctamente para el punto de conexión de administración de nodos de la cuenta de Batch:
    • Si el punto de conexión privado se ha creado con la integración automática de la zona DNS privada, compruebe que el registro A de DNS está configurado correctamente en la zona DNS privada privatelink.batch.azure.com, y que la zona está vinculada a la red virtual.
    • Si usa su propia solución de DNS, asegúrese de que el registro de DNS del punto de conexión de administración de nodos de Batch esté configurado correctamente y apunte a la dirección IP del punto de conexión privado.
  • Compruebe la resolución DNS del punto de conexión de administración de nodos de Batch de su cuenta. Para confirmarlo, ejecute nslookup <nodeManagementEndpoint> desde dentro de la red virtual y el nombre DNS se debe resolver en la dirección IP del punto de conexión privado.
  • Si la red virtual tiene habilitada la directiva de red de punto de conexión privado, compruebe el NSG y el UDR en busca de subredes del grupo de Batch y del punto de conexión privado. La conexión entrante con TCP/443 a la subred que hospeda el punto de conexión privado debe permitirse desde la subred del grupo de Batch.
  • Desde la subred del grupo de Batch, ejecute un ping de TCP en el punto de conexión de administración de nodos mediante el puerto HTTPS predeterminado (443). Este sondeo puede indicar si la conexión de vínculo privado funciona según lo previsto.
# Windows
Test-TcpConnection -ComputeName <nodeManagementEndpoint> -Port 443
# Linux
nc -v <nodeManagementEndpoint> 443

Si se produce un error en el ping de TCP (por ejemplo, se agotó el tiempo de espera), normalmente es un problema con la conexión de vínculo privado y puede generar una incidencia de soporte técnico de Azure con este recurso de punto de conexión privado. De lo contrario, este problema inutilizable de nodo puede ser un problema como grupos normales de Batch y puede generar una incidencia de soporte técnico con su cuenta de Batch.

Uso de su propia solución de salida de Internet

Si usa su propia solución de salida de Internet en lugar de un punto de conexión privado, ejecute el ping de TCP en el punto de conexión de administración de nodos. Si no funciona, compruebe si el acceso saliente está configurado correctamente siguiendo los requisitos detallados para la comunicación simplificada de nodos de proceso.

Conexión a los nodos de proceso

No hay acceso entrante a Internet a los nodos de proceso del grupo de Batch sin direcciones IP públicas. Para acceder a los nodos de proceso para la depuración, deberá conectarse desde dentro de la red virtual:

  • Use la máquina jumpbox dentro de la red virtual y conéctese a los nodos de proceso desde allí.
  • O bien, pruebe a usar otras soluciones de conexión remota como Azure Bastion:
    • Cree Bastion en la red virtual con la conexión basada en IP habilitada.
    • Use Bastion para conectarse al nodo de proceso mediante su dirección IP.

Puede seguir la guía Conexión a nodos de proceso para obtener las credenciales de usuario y la dirección IP del nodo de proceso de destino en el grupo de Batch.

Migración desde la versión preliminar anterior de Sin grupos de direcciones IP públicas

En el caso de los grupos existentes que usan la versión preliminar anterior de Sin grupos de direcciones IP públicas de Azure Batch, solo es posible migrar los grupos creados en una red virtual.

  1. Cree un punto de conexión privado para la administración de nodos de Batch en la red virtual.
  2. Actualice el modo de comunicación de nodo del grupo como simplificado.
  3. Reduzca verticalmente el grupo a cero nodos.
  4. Vuelva a escalar horizontalmente el grupo. A continuación, el grupo se migra automáticamente a la nueva versión.

Pasos siguientes