Realice blue/green actualizaciones para entornos de cómputo - 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 blue/green actualizaciones para entornos de cómputo

Una blue/green actualización es una estrategia de actualización que reduce el tiempo de inactividad y el riesgo mediante la creación de un nuevo entorno informático (verde) junto con el entorno informático existente (azul). Este enfoque le permite realizar la transición gradual de las cargas de trabajo al nuevo entorno y, al mismo tiempo, mantener operativo el entorno existente. Blue/green las actualizaciones proporcionan la ruta de actualización más segura y funcionan con cualquier tipo de función de servicio o estrategia de asignación.

Información general

Las actualizaciones azul/verde ofrecen varias ventajas que las hacen ideales para los entornos de producción. Proporcionan cero tiempo de inactividad al mantener sus cargas de trabajo en funcionamiento continuo durante el proceso de actualización. Este enfoque ofrece funciones de reversión sencillas, lo que le permite volver rápidamente al entorno original en caso de que surjan problemas. Puede implementar una estrategia de transición gradual, verificando el rendimiento del nuevo entorno antes de cambiar por completo sus cargas de trabajo de producción. Este método también proporciona una excelente mitigación de riesgos, ya que el entorno original permanece inalterado y operativo hasta que decida eliminarlo.

Cuando se requieren blue/green actualizaciones

Debe utilizar blue/green las actualizaciones en las siguientes situaciones:

  • Cuando su entorno informático utiliza una estrategia de BEST_FIT asignación (no admite actualizaciones de infraestructura)

  • Cuando su entorno informático no utiliza la función vinculada al AWSServiceRoleForBatchservicio

  • Cuando necesite realizar la transición entre distintos tipos de roles de servicio

Blue/green updates are particularly recommended for production environments where zero downtime is critical for your workloads. This approach works well when you need to test new configurations before transitioning production workloads, ensuring that changes meet your performance and reliability requirements. Choose blue/greense actualiza cuando la capacidad de reversión rápida es importante para sus operaciones, especialmente si está actualizando de forma personalizada AMIs con cambios importantes. Este método también es ideal si desea validar las características y el comportamiento del rendimiento antes de realizar cambios por completo, ya que proporciona confianza en el proceso de actualización.

Requisitos previos

Antes de realizar una blue/green actualización, asegúrese de que dispone de lo siguiente:

  • Los permisos de IAM adecuados para crear y administrar entornos de cómputo

  • Acceso para ver y modificar la configuración de la cola de trabajos

  • Estrategias de reintento de trabajo configuradas para sus definiciones de trabajo a fin de gestionar los posibles errores durante la transición. Para obtener más información, consulte Reintentos automáticos de trabajo.

  • El ID de AMI para el nuevo entorno de cómputo. Puede ser una de las siguientes opciones:

    • Una versión reciente y aprobada de la AMI optimizada para Amazon ECS (utilizada de forma predeterminada)

    • Una AMI personalizada que cumple con la especificación de la AMI de la instancia de contenedor de Amazon ECS. Cuando utilice una AMI personalizada, puede especificarla de una de las siguientes maneras:

      • Uso del campo de anulación del ID de imagen en la configuración EC2

      • Especificarlo en una plantilla de lanzamiento

      Para obtener más información sobre la creación de una personalización AMIs, consulteTutorial: creación de una AMI de recursos de computación.

Antes de crear el nuevo entorno, debe registrar la configuración del entorno informático existente. Puede hacerlo utilizando el AWS Management Console o el AWS CLI.

nota

Los siguientes procedimientos detallan cómo realizar una blue/green actualización que solo cambia la AMI. Puede actualizar otros ajustes para el nuevo entorno.

importante

Al eliminar el entorno de cómputo anterior (azul), cualquier trabajo que se esté ejecutando actualmente en esas instancias fallará porque las instancias se cancelarán. Configura estrategias de reintento de tareas en tus definiciones de tareas para gestionar estos errores automáticamente. Para obtener más información, consulte Reintentos automáticos de trabajo.

Una vez que confíe en el nuevo entorno:

  1. Edite la cola de trabajos para eliminar el antiguo entorno de cómputo.

  2. Espere a que se completen los trabajos en ejecución en el entorno anterior.

  3. Elimine el entorno informático antiguo.

Performing blue/green updates using the AWS Management Console
  1. Clona tu entorno de cómputo actual

    1. Abra la AWS Batch consola en https://console.aws.amazon.com/batch/.

    2. Seleccione su entorno de cómputo existente.

    3. Elija Acciones y, a continuación, Clonar.

    4. En Nombre, introduzca un nombre exclusivo para su nuevo entorno informático.

    5. Elija Siguiente.

    6. En la sección Configuración de instancias, actualice la configuración de la AMI:

      1. Expanda Configuración adicional.

      2. Para la EC2 configuración, especifique el nuevo tipo de AMI en Tipo de imagen y el ID de AMI en el campo de anulación de ID de imagen.

    7. Elija Siguiente.

    8. Para la configuración de red, seleccione Siguiente.

    9. Revise las demás configuraciones que se copian automáticamente de su entorno actual.

    10. Seleccione Crear entorno de cómputo.

    11. Espere a que se cambie el estado del nuevo entorno de cómputoVALID.

  2. Cambie el orden de la cola de trabajos

    1. En el panel de navegación, elija Colas de trabajos.

    2. Seleccione la cola de trabajos asociada a su entorno informático actual.

    3. Seleccione Editar.

    4. En Entorno informático conectado, añada el nuevo entorno informático:

      • Agregue el nuevo entorno de cómputo con un número de orden superior al del entorno existente para realizar la transición de la carga de trabajo.

      • Una vez que compruebe que el nuevo entorno funciona correctamente, puede convertirlo en el entorno principal asignándole un número de orden inferior.

    5. Seleccione Actualizar cola de trabajos.

  3. Limpieza

    1. Supervise la ejecución de los trabajos en el nuevo entorno para asegurarse de que todo funciona según lo esperado.

    2. Una vez que tenga confianza en el nuevo entorno:

      1. Edite la cola de trabajos para eliminar el antiguo entorno de cómputo.

      2. Espere a que se completen los trabajos en ejecución en el entorno anterior.

      3. Elimine el entorno informático antiguo.

Performing blue/green updates using the AWS CLI
  1. Para obtener la configuración mediante el AWS CLI, utilice el siguiente comando:

    aws batch describe-compute-environments \ --compute-environments your-compute-environment-name

    Guarde el resultado como referencia al crear el nuevo entorno.

  2. Cree un nuevo entorno de cómputo con la configuración de su entorno actual, pero con la nueva AMI. A continuación, se muestra un ejemplo de estructura de comandos:

    Sustituya los valores de ejemplo por la configuración actual del paso anterior:

    cat <<EOF > ./blue-green-compute-environment.json { "computeEnvironmentName": "your-new-compute-environment-name", "type": "MANAGED", "state": "ENABLED", "computeResources": { "instanceRole": "arn:aws:iam::012345678901:instance-profile/ecsInstanceRole", "type": "EC2", "minvCpus": 2, "desiredvCpus": 2, "maxvCpus": 256, "instanceTypes": [ "optimal" ], "allocationStrategy": "BEST_FIT_PROGRESSIVE", "ec2Configuration": [ { "imageType": "ECS_AL2023", "imageIdOverride": "ami-0abcdef1234567890" } ], "subnets": [, "subnet-0abcdef1234567890" ], "securityGroupIds": [ "sg-0abcdef1234567890" ] } } EOF
    $ aws batch create-compute-environment --cli-input-json file://./blue-green-compute-environment.json
  3. Espere a que el nuevo entorno esté disponible:

    aws batch describe-compute-environments \ --compute-environments your-new-compute-environment-name \ --query 'computeEnvironments[].status'
  4. Añada el nuevo entorno informático a su cola de trabajos:

    aws batch update-job-queue \ --job-queue your-job-queue \ --compute-environment-order order=1,computeEnvironment=your-existing-environment \ order=2,computeEnvironment=your-new-compute-environment-name
  5. Una vez verificado, vuelva a actualizarlo para que el nuevo entorno sea el principal:

    aws batch update-job-queue \ --job-queue your-job-queue \ --compute-environment-order order=1,computeEnvironment=your-new-compute-environment-name

    Una vez finalizados todos los trabajos en el entorno anterior, desactívelo y elimínelo:

    aws batch update-compute-environment \ --compute-environment your-existing-environment \ --state DISABLED
    aws batch delete-compute-environment \ --compute-environment your-existing-environment