View a markdown version of this page

Entornos de computación administrados - AWS Batch

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Entornos de computación administrados

Puede utilizar un entorno informático gestionado para AWS Batch gestionar la capacidad y los tipos de instancia de los recursos informáticos del entorno. Esto se basa en la especificación del recurso de cálculo que usted defina al crear el entorno de computación. Puede optar por utilizar las instancias Amazon EC2 o On-Demand las instancias puntuales de Amazon EC2. O bien, también puede utilizar la capacidad de Fargate y Fargate Spot en su entorno de computación administrado. Si utiliza instancias de spot, también puede establecer un precio máximo. De esta forma, las instancias puntuales solo se lanzan cuando el precio de las instancias puntuales está por debajo de un porcentaje específico del On-Demand precio.

importante

Las instancias puntuales de Fargate no son compatibles con. Windows containers on AWS Fargate Se bloqueará una cola de trabajos si se envía un FargateWindows trabajo a una cola de trabajos que solo usa entornos informáticos de Fargate Spot.

importante

AWS Batch crea y administra varios AWS recursos en su nombre y dentro de su cuenta, incluidas las plantillas de lanzamiento de Amazon EC2, los grupos de Auto Scaling de Amazon EC2, las flotas de puntos de Amazon EC2 y los clústeres de Amazon ECS. Estos recursos administrados están configurados específicamente para garantizar un funcionamiento óptimo de AWS Batch . La modificación manual de estos recursos AWS Batch gestionados, a menos que se indique explícitamente en la AWS Batch documentación, puede provocar un comportamiento inesperado, como entornos INVALID informáticos, un comportamiento de escalado de instancias inferior al óptimo, un retraso en el procesamiento de las cargas de trabajo o costos inesperados. El servicio no puede admitir estas modificaciones manuales de forma determinista. AWS Batch Usa siempre las AWS Batch API compatibles o la AWS Batch consola para administrar tus entornos informáticos.

Entre las modificaciones manuales no admitidas se incluyen ejecutar sus propias tareas o servicios de Amazon ECS en AWS Batch clústeres de Amazon ECS administrados o iniciar procesos, demonios o servicios adicionales directamente en instancias administradas. AWS Batch AWS Batch asume el control total de los recursos informáticos de un entorno informático gestionado y puede terminar instancias, detener tareas o escalar el clúster en cualquier momento. Cualquier carga de trabajo que ejecutes fuera de la presentación de AWS Batch trabajos en estos recursos gestionados puede interrumpirse sin previo aviso. La ejecución de AWS Batch cargas que no son de trabajo en clústeres e instancias AWS Batch administrados también puede interferir con la programación de los AWS Batch trabajos y el escalado de las instancias.

En el caso de los entornos informáticos que utilizan Amazon ECS, no defina los valores de configuración de los agentes de Amazon ECS que AWS Batch gestionen los datos de usuario de su plantilla de lanzamiento. Para obtener una lista de los valores reservados, consulteValores de configuración de agentes de Amazon ECS reservados.

Los entornos de computación gestionados lanzan instancias de Amazon EC2 en la VPC y las subredes que especifique y, a continuación, las registran en un clúster de Amazon ECS. Las instancias de Amazon EC2 necesitan acceso de red externo para comunicarse con el punto de conexión de servicio de Amazon ECS. Algunas subredes no proporcionan direcciones IP públicas a las instancias de Amazon EC2. Si las instancias de Amazon EC2 no tienen una dirección IP pública, deberán utilizar traducción de direcciones de red (NAT) para obtener este acceso. Para obtener información, consulte Gateways NAT en la Guía del usuario de Amazon VPC. Para obtener más información acerca de cómo crear una VPC, consulte Creación de una nube virtual privada.

De forma predeterminada, los entornos informáticos AWS Batch gestionados utilizan una versión reciente y aprobada de la AMI optimizada de Amazon ECS para los recursos informáticos. Sin embargo, es posible que desee crear sus propias AMI para utilizarlas en sus entornos de computación administrados por varias razones. Para obtener más información, consulte AMI de recursos de computación.

nota

AWS Batch no actualiza automáticamente las AMI en un entorno informático una vez creado. Por ejemplo, no actualiza las AMI en su entorno de computación cuando se lanza una versión más nueva de la AMI optimizada de Amazon ECS. Usted es responsable de la administración del sistema operativo invitado. Esto incluye actualizaciones y parches de seguridad. También es el responsable de cualquier otra utilidad o software de aplicaciones que se instale en los recursos de computación. Hay dos maneras de usar una AMI nueva para sus AWS Batch trabajos. El método original consiste en completar estos pasos:

  1. Cree un nuevo entorno de computación con la nueva AMI.

  2. Añada el entorno de computación a una cola de trabajos existente.

  3. Quite el entorno de computación anterior de la cola de trabajos.

  4. Elimine el entorno de computación anterior.

En abril de 2022, AWS Batch se agregó un soporte mejorado para actualizar los entornos informáticos. Para obtener más información, consulte Actualizar un entorno informático en AWS Batch. Para usar la actualización mejorada de los entornos de computación para actualizar las AMI, siga estas reglas:

  • No definas el parámetro service role (serviceRole) o configúralo en el rol AWSServiceRoleForBatch vinculado al servicio.

  • Establezca el parámetro de estrategia de asignación (allocationStrategy) enBEST_FIT_PROGRESSIVE,BEST_FIT_PROGRESSIVE_ORDERED, SPOT_CAPACITY_OPTIMIZEDSPOT_PRICE_CAPACITY_OPTIMIZED, o. SPOT_CAPACITY_OPTIMIZED_PRIORITIZED

  • Defina el parámetro de actualización a la última versión de la imagen (updateToLatestImageVersion) en true.

  • No especifique un ID de AMI en imageId, imageIdOverride (en ec2Configuration) o en la plantilla de lanzamiento (launchTemplate). En ese caso, AWS Batch selecciona la AMI optimizada para Amazon ECS más reciente que sea compatible AWS Batch en el momento en que se inicie la actualización de la infraestructura. Como alternativa, puede especificar el ID de la AMI en los parámetros imageId o imageIdOverride, o la plantilla de lanzamiento identificada por las propiedades LaunchTemplate. El cambio de cualquiera de estas propiedades inicia una actualización de la infraestructura. Si el ID de AMI se especifica en la plantilla de lanzamiento, no se puede reemplazar especificando un ID de AMI en los parámetros imageId o imageIdOverride. Solo se puede reemplazar especificando una plantilla de lanzamiento diferente. O bien, si la versión de la plantilla de lanzamiento está configurada en $Default o $Latest, configurando una nueva versión predeterminada para la plantilla de lanzamiento (si es $Default) o añadiendo una nueva versión a la plantilla de lanzamiento (si es $Latest).

Si se siguen estas reglas, cualquier actualización que inicie una actualización de la infraestructura hará que se vuelva a seleccionar el ID de la AMI. Si la configuración version en la plantilla de lanzamiento (launchTemplate) toma el valor $Latest o $Default, se evaluará la versión más reciente o predeterminada de la plantilla de lanzamiento en el momento de la actualización de la infraestructura, incluso si launchTemplate no se ha actualizado.

Consideraciones a la hora de crear trabajos paralelos de varios nodos

AWS Batch recomienda crear entornos informáticos dedicados para ejecutar trabajos paralelos de varios nodos (MNP) y trabajos que no sean de MNP. Esto se debe a la forma en que se crea la capacidad informática en su entorno de computación administrado. Al crear un nuevo entorno de procesamiento administrado, si especificas un minvCpu valor mayor que cero, entonces AWS Batch creas un grupo de instancias para usarlo únicamente con trabajos que no sean de MNP. Si se envía un trabajo paralelo de varios nodos, AWS Batch crea una nueva capacidad de instancia para ejecutar los trabajos paralelos de varios nodos. En los casos en que haya trabajos paralelos de un solo nodo y de varios nodos que se ejecuten en el mismo entorno de procesamiento en el que se haya establecido un maxvCpus valor minvCpus o, si los recursos de procesamiento necesarios no están disponibles, AWS Batch esperará a que finalicen los trabajos actuales antes de crear los recursos de procesamiento necesarios para ejecutar los nuevos trabajos.