View a markdown version of this page

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 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 AWSServiceRoleForBatchvinculada al servicio.

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

Recomendamos blue/green las actualizaciones para los entornos de producción en los que la ausencia de tiempo de inactividad es fundamental para las cargas de trabajo. Este enfoque funciona bien cuando se necesita probar nuevas configuraciones antes de realizar la transición de las cargas de trabajo de producción, lo que garantiza que los cambios cumplan los requisitos de rendimiento y fiabilidad. Elija blue/green las actualizaciones cuando la capacidad de reversión rápida sea importante para sus operaciones, especialmente si va a realizar actualizaciones personalizadas AMIs con cambios significativos. 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:

  • Los permisos de IAM adecuados para crear y gestionar entornos informáticos.

  • 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 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 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.

      • 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 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