AWS CodeDeploy のアイコン

AWS CodeDeploy Popular2014年〜

Un servicio completamente administrado que automatiza el despliegue de aplicaciones en EC2, Lambda y ECS

Qué hace

AWS CodeDeploy es un servicio de despliegue completamente administrado que automatiza los despliegues de aplicaciones en instancias EC2, funciones Lambda y servicios ECS. Soporta múltiples estrategias de despliegue como in-place, blue/green y canary, con rollback automático si se detectan errores durante el despliegue.

Casos de uso

Se utiliza para despliegues automatizados con tiempo de inactividad mínimo, despliegues blue/green para actualizaciones sin riesgo, despliegues canary para validación gradual, rollback automático basado en alarmas de CloudWatch, y como componente de despliegue en pipelines CI/CD.

Analogía cotidiana

Piensa en él como un equipo de mudanzas profesional. En lugar de mover todos los muebles (actualizar todos los servidores) de una vez arriesgándote a romper algo, el equipo (CodeDeploy) mueve gradualmente, verifica que todo esté bien, y si algo se rompe, devuelve todo a su lugar original automáticamente.

¿Qué es AWS CodeDeploy?

AWS CodeDeploy es un servicio que automatiza el despliegue de código en servidores EC2, funciones Lambda o servicios ECS. Elimina la necesidad de scripts de despliegue manuales propensos a errores y proporciona despliegues consistentes y repetibles con capacidad de rollback automático.

Estrategias de despliegue

CodeDeploy soporta varias estrategias. In-place actualiza las instancias existentes secuencialmente. Blue/green crea un nuevo conjunto de instancias, despliega en ellas y redirige el tráfico. Para Lambda, soporta despliegues canary (porcentaje gradual) y linear (incremento constante). Cada estrategia tiene diferentes perfiles de riesgo y tiempo de inactividad.

Hooks y rollback automático

El archivo AppSpec define los hooks del ciclo de vida del despliegue: scripts que se ejecutan antes y después de cada fase. Puedes ejecutar pruebas de validación, detener servicios, actualizar balanceadores de carga, etc. Si una alarma de CloudWatch se activa durante el despliegue, CodeDeploy puede revertir automáticamente al estado anterior. Para más detalles sobre hooks y rollback, los libros en Amazon son útiles.

Cómo empezar

Crea una aplicación y un grupo de despliegue en CodeDeploy, especificando las instancias destino (por tags o Auto Scaling group). Añade un archivo appspec.yml a tu código que define los hooks y la ubicación de los archivos. Crea un despliegue especificando la revisión (S3 o GitHub) y CodeDeploy se encarga del resto.

Aspectos a tener en cuenta

  • EC2 向けの CodeDeploy エージェントは各インスタンスにインストールが必要で、エージェントの更新管理も運用タスクに含まれる
  • Blue/Green デプロイでは新旧両方のインスタンスが一時的に稼働するため、デプロイ中のコストが一時的に増加する点に注意
共有するXB!