Realice actualizaciones de infraestructura - 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.

Realice actualizaciones de infraestructura

Las actualizaciones de infraestructura sustituyen las instancias de su entorno informático por instancias nuevas que tienen una configuración actualizada. Esta estrategia de actualización lleva más tiempo que el escalado de las actualizaciones y requiere una configuración específica de las funciones de servicio y la estrategia de asignación. Las actualizaciones de infraestructura proporcionan una forma de modificar las configuraciones fundamentales del entorno informático y, al mismo tiempo, mantener la disponibilidad del servicio.

importante

Las actualizaciones de infraestructura requieren una función AWSServiceRoleForBatchvinculada al servicio y una estrategia de asignación de BEST_FIT_PROGRESSIVESPOT_CAPACITY_OPTIMIZED, o. SPOT_PRICE_CAPACITY_OPTIMIZED Si su entorno no cumple con estos requisitos, utilice blue/green actualizaciones en su lugar.

Cambios que desencadenan actualizaciones de infraestructura

Al modificar cualquiera de las siguientes configuraciones, AWS Batch realiza una actualización de la infraestructura. Las actualizaciones de 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 cómputo

  • allocationStrategy— Determina cómo AWS Batch selecciona los tipos de instancias.

  • instanceTypes— Especifica los tipos de EC2 instancias que se van a utilizar.

  • bidPercentage— Porcentaje máximo del precio bajo demanda para las instancias puntuales.

  • type— Tipo de entorno informático (EC2oSPOT).

AMI y configuración de lanzamiento

  • imageId— AMI específica para usar en las instancias.

  • ec2Configuration— EC2 configuración incluidaimageIdOverride.

  • launchTemplate— EC2 iniciar la configuración de la plantilla.

  • ec2KeyPair— Un par de claves SSH, por ejemplo, para el acceso.

  • updateToLatestImageVersion— Configuración de actualizaciones automáticas de AMI.

Redes y seguridad

  • subnets— Subredes de VPC donde se lanzan las instancias (para entornos de EC2 cómputo).

  • securityGroupIds— Grupos de seguridad para instancias (para entornos EC2 informáticos).

  • placementGroup— configuración EC2 de grupos de ubicación.

Otra configuración

  • instanceRole— Función de IAM para las EC2 instancias.

  • tags— Etiquetas aplicadas a las EC2 instancias.

importante

Si modifica alguna configuración de actualización de la infraestructura junto con la configuración de actualización de escala (por ejemplodesiredvCpus,maxvCpus, ominvCpus), AWS Batch realiza una actualización de la infraestructura. Las actualizaciones de infraestructura tardan más que las actualizaciones de escalado.

Selección de AMI durante las actualizaciones de infraestructura

Durante una actualización de infraestructura, el ID de AMI del entorno informático puede cambiar en función de si AMIs se especifica en alguna de estas tres configuraciones. AMIs se especifican en la plantilla imageId (incomputeResources), imageIdOverride (inec2Configuration) o de lanzamiento especificada enlaunchTemplate. Supongamos que no IDs se especifica ninguna AMI en ninguna de esas configuraciones y que la updateToLatestImageVersion configuración estrue. A continuación, la última AMI optimizada para Amazon ECS compatible con AWS Batch se utiliza para cualquier actualización de 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 la AMI IDs. 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 launchTemplateId o launchTemplateName. 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 updateToLatestImageVersion debe estar establecido en true.

Gestión de trabajos durante las actualizaciones

Configure el modo en que se gestionan los trabajos en ejecución durante una actualización de infraestructura mediante la política de actualización. Cuando se configuraterminateJobsOnUpdate=true, los trabajos en ejecución finalizan inmediatamente, se ignora la jobExecutionTimeoutMinutes configuración y la actualización se realiza en cuanto se pueden reemplazar las instancias. Si lo configurasterminateJobsOnUpdate=false, los trabajos en ejecución continúan durante el período 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 los trabajos que finalizan durante una actualización, configure una estrategia de reintento de trabajos. Para obtener más información, consulte Reintentos automáticos de trabajo.

Performing infrastructure updates using the AWS Management Console
  1. Abra la AWS Batch consola en. https://console.aws.amazon.com/batch/

  2. En el panel de navegación, seleccione Entornos y, a continuación, la pestaña Entornos de cómputo.

  3. Seleccione el entorno informático que desee actualizar.

  4. Elija Acciones y, a continuación, elija Editar.

  5. En la sección Actualizar el comportamiento, configure cómo se gestionan los trabajos en ejecución:

    • Elija Actualizar la AMI a la última versión para actualizar la AMI a la versión más reciente.

    • Elija Finalizar los trabajos inmediatamente después de la actualización para finalizar los trabajos cuando se ejecute el proceso de actualización.

    • En Tiempo de espera de ejecución de Job, introduzca el número de minutos que debe esperarse antes de iniciar el proceso de actualización.

  6. Modifique una o más de las configuraciones que requieren una actualización de la infraestructura. Por ejemplo:

    • Rol de instancia

    • Usa instancias EC2 puntuales

    • Tipos de instancias permitidos

    • Grupo de ubicación

    • EC2 par de claves

    • EC2 configuración

    • Plantillas de lanzamiento

    • Subredes

    • Grupos de seguridad

  7. Seleccione Save changes (Guardar cambios).

  8. Supervise el estado del entorno informático. El entorno se mostrará UPDATING durante el proceso de actualización.

Performing infrastructure updates using the AWS CLI

Utilice el update-compute-environment comando para cambiar una o más de las configuraciones que requieren una actualización de la infraestructura. Los tres ejemplos siguientes son operaciones de infraestructura comunes.

  • En este ejemplo, se actualizan los tipos de instancias y se configura la política de actualización:

    aws batch update-compute-environment \ --compute-environment your-compute-environment-name \ --compute-resources instanceTypes=default_x86_64 \ --update-policy terminateJobsOnUpdate=false,jobExecutionTimeoutMinutes=30
  • En este ejemplo, se actualizan las subredes y los grupos de seguridad de la VPC:

    aws batch update-compute-environment \ --compute-environment your-compute-environment-name \ --compute-resources subnets=subnet-abcd1234,subnet-efgh5678 securityGroupIds=sg-abcd1234 \ --update-policy terminateJobsOnUpdate=true
  • Este ejemplo habilita las actualizaciones automáticas de la última AMI optimizada para Amazon ECS:

    aws batch update-compute-environment \ --compute-environment your-compute-environment-name \ --compute-resources updateToLatestImageVersion=true \ --update-policy terminateJobsOnUpdate=false,jobExecutionTimeoutMinutes=60

Supervisión de las actualizaciones de la infraestructura

Supervise las actualizaciones de la infraestructura mediante la AWS Batch consola para observar cómo cambia el estado del entorno de procesamientoUPDATING, supervisar el progreso del reemplazo de las instancias y comprobar si hay algún error en las actualizaciones. La actualización se realiza correctamente una vez que se encuentra el estado del entorno de cómputoVAILD. También se puede utilizar CloudWatch para realizar un seguimiento de los eventos de finalización de la instancia y supervisar los estados de los trabajos durante la actualización. Con él AWS CLI, utilice el describe-compute-environments comando para comprobar el estado y supervisar los eventos del ciclo de vida de la instancia.