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.

Descripción general de

Las actualizaciones azul/verde ofrecen varias ventajas que las hacen ideales para los entornos de producción. Proporcionan un mínimo 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 permite volver rápidamente al entorno original en caso de que surjan problemas. Puede implementar una estrategia de transición progresiva verificando el rendimiento del nuevo entorno antes de cambiar por completo las 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 se decida su eliminación.

Cuando se requieren blue/green actualizaciones

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

  • cuando su entorno de computación utiliza una estrategia de asignación BEST_FIT (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 rol 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. Además, este método es ideal para validar las características y el comportamiento del rendimiento antes de realizar cambios por completo, ya que entrega confianza en el proceso de actualización.

Requisitos previos

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

  • Permisos de IAM adecuados para crear y administrar entornos de computación

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

  • Estrategias de reintento de trabajo que estén configuradas para las 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 computación. Puede ser:

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

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

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

      • Especificación de la información 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 de computación existente. Puede hacerlo utilizando el Consola de administración de AWS 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 computación anterior (azul), cualquier trabajo que se esté ejecutando ahora en esas instancias fallará porque las instancias se cancelarán. Configure las estrategias de reintento de tareas en las definiciones de tareas para gestionar estos errores de forma automática. 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 entorno de computación anterior.

  2. Espere a que se complete cualquier trabajo en ejecución en el entorno anterior.

  3. Elimine el entorno informático antiguo.

Performing blue/green updates using the Consola de administración de AWS
  1. Clone su entorno de computación actual.

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

    2. Seleccione su entorno de computación actual.

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

    4. En Nombre, ingrese un nombre único para el nuevo entorno de computación.

    5. Elija Siguiente.

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

      1. Expanda Configuración adicional.

      2. En Configuración de EC2, especifique el nuevo tipo de AMI en Tipo de imagen y el ID de AMI en el campo Anulación del ID de imagen.

    7. Elija Siguiente.

    8. En Configuración de red, seleccione Siguiente.

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

    10. Seleccione Crear entorno de computación.

    11. Espere a que el estado del nuevo entorno de comutación cambie a VALID.

  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 al entorno de computación actual.

    3. Elija Edit (Edición de).

    4. En Entorno de computación conectado, agregue el nuevo entorno de computación:

      • Agregue el nuevo entorno de computación 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 funcione según lo esperado.

    2. Una vez que confíe en el nuevo entorno:

      1. Edite la cola de trabajos para eliminar el entorno de computación anterior.

      2. Espere a que se complete cualquier trabajo 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 la salida como referencia al crear el nuevo entorno.

  2. Cree un nuevo entorno de computación con la configuración de su entorno existente, pero con la nueva AMI. A continuación, se muestra un ejemplo de la estructura del comando:

    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. Espera para que el nuevo entorno esté disponible:

    aws batch describe-compute-environments \ --compute-environments your-new-compute-environment-name \ --query 'computeEnvironments[].status'
  4. Agregue el entorno de computación a la 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. En cuanto lo verifique, vuelva a actualizarlo para que el nuevo entorno sea 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