Trabajar con configuraciones de implementación en CodeDeploy - AWS CodeDeploy

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.

Trabajar con configuraciones de implementación en CodeDeploy

Una configuración de despliegue es un conjunto de reglas y condiciones de éxito y fracaso que se utilizan CodeDeploy durante un despliegue. Estas reglas y condiciones son diferentes en función de si realiza la implementación en una plataforma de informática EC2/en las instalaciones, una plataforma de informática AWS Lambda o una plataforma de informática Amazon ECS.

Configuraciones de implementación en una plataforma de informática EC2/en las instalaciones

Cuando se realiza la implementación en una plataforma de computación EC2/en las instalaciones, la configuración de implementación especifica, a través de un valor mínimo de hosts en buen estado, el número o porcentaje de instancias que deben estar disponibles en cualquier momento durante una implementación.

Puede utilizar una de las tres configuraciones de despliegue predefinidas que proporciona AWS o crear una configuración de despliegue personalizada. Para obtener más información sobre la creación de configuraciones de implementación personalizadas, consulte Create a Deployment Configuration. Si no especifica una configuración de despliegue, CodeDeploy utiliza la CodeDeployDefault. OneAtConfiguración de despliegue aTime.

Para obtener más información sobre cómo CodeDeploy monitorea y evalúa el estado de la instancia durante una implementación, consulte. Instance Health Para ver una lista de las configuraciones de despliegue que ya están registradas en su AWS cuenta, consulteView Deployment Configuration Details.

Configuraciones de implementación predefinidas para una plataforma de informática EC2/en las instalaciones

La siguiente tabla muestra las configuraciones de implementación predefinidas.

nota

No hay configuraciones de implementación predefinidas que admitan la característica zonal configuration (que es la función que le permite especificar la cantidad de hosts en buen estado por zona de disponibilidad). Si desea utilizar esta característica, debe crear su propia configuración de implementación.

Configuración de implementación Descripción
CodeDeployDefault.AllAtOnce

Implementaciones in situ:

Intenta implementar una revisión de aplicación en tantas instancias a la vez como sea posible. El estado de la implementación global se muestra como Realizado correctamente cuando la revisión de la aplicación se haya implementado en una o más instancias. El estado de la implementación global se muestra como Error cuando la revisión de la aplicación no se ha implementado en ninguna instancia. Utilizando un ejemplo de nueve instancias, CodeDeployDefault. AllAtOnce intenta realizar la implementación en las nueve instancias a la vez. La implementación global tiene éxito si se realiza de forma correcta incluso la implementación en una sola instancia. Devuelve un error solo si se produce un error en las implementaciones de las nueve instancias.

Implementaciones azul/verde:

  • Implementación en un entorno de reemplazo: sigue las mismas reglas de implementación que CodeDeployDefault. AllAtOnce para despliegues in situ.

  • Redirección del tráfico: dirige el tráfico a todas las instancias del entorno de sustitución a la vez. Tiene éxito si el tráfico se dirige correctamente a al menos una instancia. Fracasa si la redirección del tráfico falla para todas las instancias.

CodeDeployDefault. HalfAtA Time

Implementaciones in situ:

Implementa hasta en la mitad de las instancias a la vez (redondeando a la baja). La implementación global tiene éxito si la revisión de la aplicación se implementa en al menos la mitad de las instancias (redondeando al alza). De lo contrario, la implementación produce un error. En el ejemplo de nueve instancias, se implementa hasta en cuatro instancias a la vez. La implementación global tiene éxito si la implementación es correcta en cinco o más instancias. De lo contrario, la implementación produce un error.

nota

Si está implementando en instancias de varios grupos de Auto Scaling, CodeDeploy implementará hasta la mitad de las instancias a la vez, independientemente del grupo de Auto Scaling en el que se encuentren. Por ejemplo, supongamos que tiene dos grupos de escalado automático, ASG1 y ASG2, cada uno con 10 instancias. En este escenario, CodeDeploy podría implementarse en 10 instancias en tan solo un momento ASG1 y considerarlo un éxito, ya que se ha implementado en al menos la mitad de las instancias.

Implementaciones azul/verde:

  • Implementación en un entorno de reemplazo: sigue las mismas reglas de implementación que CodeDeployDefault. HalfAtA Time para despliegues in situ.

  • Redirección del tráfico: dirige el tráfico hacia la mitad de las instancias del entorno de sustitución a la vez, como máximo. Tiene éxito si la redirección es correcta para al menos la mitad de las instancias. De lo contrario, da un error.

CodeDeployDefault. OneAtA Time

Implementaciones in situ:

Implementa la revisión de la aplicación en solo una instancia cada vez.

En el caso de grupos de implementaciones que contengan más de una instancia:

  • La implementación global tiene éxito si la revisión de la aplicación se implementa en todas las instancias. La excepción a esta regla se da cuando falla la implementación en la última instancia: la implementación global sigue teniendo éxito. Esto se debe a CodeDeploy que solo permite desconectar una instancia a la CodeDeployDefault vez con. OneAtUna configuración de tiempo.

  • La implementación global fracasa si la implementación de la revisión de la aplicación falla en cualquier instancia, salvo la última.

  • En el ejemplo con nueve instancias, la implementación se hace en una instancia cada vez. La implementación global tiene éxito si la implementación en las primeras ocho instancias se realiza de forma correcta. La implementación global genera un error si la implementación en alguna de las primeras ocho instancias devuelve un error.

En el caso de grupos de implementaciones que contengan una única instancia, la implementación global solo tiene éxito si la implementación en la única instancia es correcta.

Implementaciones azul/verde:

  • Implementación en un entorno de reemplazo: sigue las mismas reglas de implementación que CodeDeployDefault. OneAtA Time para despliegues in situ.

  • Redirección del tráfico: dirige el tráfico a una instancia del entorno de sustitución cada vez. Tiene éxito si el tráfico se redirige correctamente a todas las instancias de sustitución. Fracasa en cuanto la redirección falla. La excepción a esta regla se da cuando no puede registrarse la última instancia: la implementación global sigue teniendo éxito.

Configuraciones de implementación en una plataforma de informática de Amazon ECS

Cuando la implementación se realiza en una plataforma de informática de Amazon ECS, la configuración de implementación especifica cómo se desvía el tráfico al conjunto de tareas actualizado de Amazon ECS. Puede cambiar el tráfico mediante una configuración canaria, lineal o all-at-oncede despliegue. Para obtener más información, consulte Configuración de implementación.

También puede crear su propia configuración de implementación "canary" o "linear". Para obtener más información, consulte Create a Deployment Configuration.

Configuraciones de implementación predefinidas para una plataforma de informática de Amazon ECS

La siguiente tabla muestra las configuraciones predefinidas disponibles para implementaciones de Amazon ECS.

nota

Cuando se utiliza un Equilibrador de carga de red, solo se admite la configuración de implementación predefinida CodeDeployDefault.ECSAllAtOnce.

Configuración de implementación Descripción

CodeDeployDefault.ECS Linear 10 PercentEvery (1 minuto)

Desvía el 10 por ciento del tráfico cada minuto hasta que se desvía todo el tráfico.

CodeDeployDefault.ECS Linear 10 3 minutos PercentEvery

Desvía el 10 por ciento del tráfico cada tres minutos hasta que se desvía todo el tráfico.

CodeDeployDefault.ECS Canary 10 por ciento 5 minutos

Desvía el 10 por ciento del tráfico en el primer incremento. El 90 por ciento restante se implementa cinco minutos más tarde.

CodeDeployDefault.ECSCANARY 10 por ciento 15 minutos

Desvía el 10 por ciento del tráfico en el primer incremento. El 90 por ciento restante se implementa 15 minutos más tarde.

CodeDeployDefault.ECS AllAtOnce

Desvía todo el tráfico al contenedor de Amazon ECS actualizado a la vez.

Configuraciones de implementación para implementaciones azul/verde de AWS CloudFormation (Amazon ECS)

Cuando se implementa en una plataforma informática de Amazon ECS mediante implementaciones AWS CloudFormation azul/verde, la configuración de la implementación especifica cómo se traslada el tráfico al contenedor de Amazon ECS actualizado. Puede transferir el tráfico mediante una configuración canaria, lineal o all-at-oncede implementación. Para obtener más información, consulte Configuración de implementación.

Con las implementaciones AWS CloudFormation azules o verdes, no puede crear su propia configuración de implementación lineal o lineal personalizada. Para step-by-step obtener instrucciones sobre cómo administrar las implementaciones azul/verde de Amazon ECS, consulte Automatizar las implementaciones azul/verde de ECS mediante CodeDeploy el uso AWS CloudFormation en la Guía del usuario. AWS CloudFormationAWS CloudFormation

nota

La administración de las implementaciones azul/verde de Amazon ECS no AWS CloudFormation está disponible en las regiones de Europa (Milán), África (Ciudad del Cabo) y Asia Pacífico (Osaka).

Configuraciones de implementación en una plataforma de informática de AWS Lambda

Cuando se implementa en una plataforma de procesamiento AWS Lambda, la configuración de implementación especifica la forma en que el tráfico se traslada a las nuevas versiones de la función Lambda de la aplicación. Puede transferir el tráfico mediante una configuración canaria, lineal o de all-at-oncedespliegue. Para obtener más información, consulte Configuración de implementación.

También puede crear su propia configuración de implementación "canary" o "linear". Para obtener más información, consulte Create a Deployment Configuration.

Configuraciones de implementación predefinidas para una plataforma de AWS Lambda cómputo

La siguiente tabla muestra las configuraciones predefinidas disponibles para implementaciones de AWS Lambda .

Configuración de implementación Descripción

CodeDeployDefault. LambdaCanary10 por ciento, 5 minutos

Desvía el 10 por ciento del tráfico en el primer incremento. El 90 por ciento restante se implementa cinco minutos más tarde.

CodeDeployDefault. LambdaCanary10 por ciento, 10 minutos

Desvía el 10 por ciento del tráfico en el primer incremento. El 90 por ciento restante se implementa 10 minutos más tarde.

CodeDeployDefault. LambdaCanary10 por ciento 15 minutos

Desvía el 10 por ciento del tráfico en el primer incremento. El 90 por ciento restante se implementa 15 minutos más tarde.

CodeDeployDefault. LambdaCanary10 por ciento 30 minutos

Desvía el 10 por ciento del tráfico en el primer incremento. El 90 por ciento restante se implementa 30 minutos más tarde.

CodeDeployDefault. LambdaLinear10, PercentEvery 1 minuto

Desvía el 10 por ciento del tráfico cada minuto hasta que se desvía todo el tráfico.

CodeDeployDefault. LambdaLinear10 (PercentEvery2 minutos)

Desvía el 10 por ciento del tráfico cada dos minutos hasta que se desvía todo el tráfico.

CodeDeployDefault. LambdaLinear10 PercentEvery 3 minutos

Desvía el 10 por ciento del tráfico cada tres minutos hasta que se desvía todo el tráfico.

CodeDeployDefault. LambdaLinear10 PercentEvery 10 minutos Desvía el 10 por ciento del tráfico cada 10 minutos hasta que se desvía todo el tráfico.
CodeDeployDefault.LambdaAllAtOnce

Desvía todo el tráfico a las funciones Lambda actualizadas a la vez.

Temas