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.
Cómo realizar actualizaciones de la infraestructura
Las actualizaciones de infraestructura sustituyen las instancias del entorno de computación por unas nuevas, ya que tienen una configuración actualizada. Esta estrategia de actualización tarda más que el escalado de las actualizaciones y requiere una configuración específica del rol de servicio y la estrategia de asignación. Las actualizaciones de infraestructura brindan una forma de modificar las configuraciones fundamentales del entorno de computación sin perder la disponibilidad del servicio.
importante
Las actualizaciones de infraestructura requieren el rol vinculado al servicio AWSServiceRoleForBatch y una estrategia de asignación de BEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZED o SPOT_PRICE_CAPACITY_OPTIMIZED. Si su entorno no cumple estos requisitos, utilice actualizaciones azul/verde en su lugar.
Cambios que activan las actualizaciones de la infraestructura
Cuando cualquiera de los siguientes ajustes se modifica, AWS Batch realiza una actualización de la infraestructura. Las actualizaciones de la infraestructura también se producen cuando se modifican estos ajustes junto con el escalado de los ajustes de actualización.
Los siguientes ajustes activan las actualizaciones de infraestructura:
Configuración de computación
-
allocationStrategy: Determina la forma en que AWS Batch selecciona los tipos de instancias -
instanceTypes: Especifica los tipos de instancias de EC2 que se deben utilizar -
bidPercentage: Porcentaje máximo del precio bajo demanda para las instancias de spot -
type: Tipo de entorno de computación (EC2oSPOT)
AMI y configuración de lanzamiento
-
imageId: AMI específica para utilizar en las instancias -
ec2Configuration: Configuración de EC2, comoimageIdOverride -
launchTemplate: Configuración de la plantilla de lanzamiento de EC2 -
ec2KeyPair: Par de claves SSH para el acceso a la instancia -
updateToLatestImageVersion: Configuración de actualizaciones automáticas de AMI
Redes y seguridad
-
subnets: Subredes de VPC donde se lanzan las instancias (para entornos de computación de EC2) -
securityGroupIds: Grupos de seguridad para instancias (para entornos de computación de EC2) -
placementGroup: Configuración de grupos de ubicación de EC2
Otra configuración
-
instanceRole: Rol de IAM para instancias de EC2 -
tags: Etiquetas aplicadas a instancias de EC2
importante
Si modifica alguna configuración de actualización de la infraestructura junto con la configuración de actualización de escala (por ejemplo desiredvCpus, maxvCpus, o minvCpus), AWS Batch realiza una actualización de la infraestructura. Las actualizaciones de la infraestructura tardan más tiempo que las actualizaciones de escalado.
Selección de AMI durante las actualizaciones de la infraestructura
Durante una actualización de la infraestructura, el ID de la AMI del entorno de computación puede cambiar en función de si las AMI se especifican en alguna de estas tres configuraciones. Las AMI se especifican en la imageId (en computeResources), imageIdOverride (en ec2Configuration), o de lanzamiento especificada en launchTemplate. Suponga que no se especifica ningún ID de AMI en ninguna de esas configuraciones y que la configuración updateToLatestImageVersion es true. A continuación, la última AMI optimizada de Amazon ECS compatible con AWS Batch se utiliza para cualquier actualización de la infraestructura.
Si se especifica una ID de AMI en al menos una de estas configuraciones, la actualización depende de la configuración proporcionada por la ID de AMI utilizada antes de la actualización. Al crear un entorno de computación, la prioridad a la hora de seleccionar un ID de AMI es primero la plantilla de lanzamiento, después la configuración imageId y, por último, la configuración imageIdOverride. Sin embargo, si el ID de la AMI que se utiliza proviene de la plantilla de lanzamiento, al actualizar la configuración imageId o imageIdOverride, no se actualiza el ID de la AMI. La única forma de actualizar un ID de AMI seleccionado en la plantilla de lanzamiento es actualizar la plantilla de lanzamiento. Si el parámetro de versión de la plantilla de lanzamiento es $Default o $Latest, se evalúa la versión por defecto o la más reciente de la plantilla de lanzamiento especificada. Si se selecciona un ID de AMI diferente de forma predeterminada o se selecciona la última versión de la plantilla de lanzamiento, ese ID de AMI se utiliza en la actualización.
Si la plantilla de lanzamiento no se usó para seleccionar el ID de AMI, se usa el ID de AMI que se especifica en los parámetros imageId o imageIdOverride. Si se especifican ambos, se utiliza el ID de AMI especificado en el parámetro imageIdOverride.
Supongamos que el entorno de computación utiliza un ID de AMI especificado por los parámetros imageId, imageIdOverride, o launchTemplate, y usted desea utilizar la última AMI optimizada para Amazon ECS compatible con AWS Batch. A continuación, la actualización debe eliminar la configuración que proporcionaba los ID de AMI. Para imageId, es necesario especificar una cadena vacía para ese parámetro. Para imageIdOverride, es necesario especificar una cadena vacía para el parámetro de ec2Configuration.
Si el ID de la AMI proviene de la plantilla de lanzamiento, puede cambiarlo AWS Batch por la última AMI optimizada para Amazon ECS que sea compatible con una de las siguientes formas:
-
Elimine la plantilla de lanzamiento especificando una cadena vacía para el parámetro
launchTemplateIdolaunchTemplateName. Esto elimina toda la plantilla de lanzamiento, en lugar de solo el ID de la AMI. -
Si la versión actualizada de la plantilla de lanzamiento no especifica un ID de AMI, el parámetro
updateToLatestImageVersiondebe estar establecido entrue.
Gestión de trabajos durante las actualizaciones
Configure el modo en que se gestionan los trabajos en ejecución durante una actualización de la infraestructura mediante la política de actualización. Cuando se configura terminateJobsOnUpdate=true, los trabajos en ejecución finalizan de inmediato, así como se ignora la configuración de jobExecutionTimeoutMinutes y la actualización se realiza en cuanto se puedan reemplazar las instancias. Si configura terminateJobsOnUpdate=false, los trabajos en ejecución continúan durante el periodo de espera especificado, con un tiempo de espera predeterminado de 30 minutos, y los trabajos se cancelan si superan el tiempo de espera.
nota
Para volver a intentar trabajos finalizados durante una actualización, configure una estrategia de reintento de trabajo. Para obtener más información, consulte Reintentos automáticos de trabajo.
Supervisión de las actualizaciones de la infraestructura
Supervise las actualizaciones de la infraestructura mediante la consola de AWS Batch para observar cómo el estado del entorno de computación cambia a UPDATING, para supervisar el progreso del reemplazo de las instancias y para comprobar si hay algún error en las actualizaciones. La actualización se realiza correctamente una vez que el estado del entorno de computación es VAILD. También puede utilizar CloudWatch para realizar un seguimiento de los eventos de finalización de instancias y supervisar los estados de los trabajos durante la actualización. Con la AWS CLI, utilice el comando describe-compute-environments para comprobar el estado y supervisar los eventos del ciclo de vida de la instancia.