aws codedeploy - guía del usuario

522
AWS CodeDeploy Guía del usuario Versión de API 2014-10-06

Upload: others

Post on 24-Jul-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AWS CodeDeploy - Guía del usuario

AWS CodeDeployGuiacutea del usuario

Versioacuten de API 2014-10-06

AWS CodeDeploy Guiacutea del usuario

AWS CodeDeploy Guiacutea del usuarioCopyright copy Amazon Web Services Inc andor its affiliates All rights reserved

Las marcas comerciales y la imagen comercial de Amazon no se pueden utilizar en relacioacuten con ninguacuten producto oservicio que no sea de Amazon de ninguna manera que pueda causar confusioacuten entre los clientes y que menosprecieo desacredite a Amazon Todas las demaacutes marcas comerciales que no sean propiedad de Amazon son propiedad desus respectivos propietarios que pueden o no estar afiliados conectados o patrocinados por Amazon

AWS CodeDeploy Guiacutea del usuario

Table of ContentsiquestQueacute es CodeDeploy 1

Ventajas de AWS CodeDeploy 2Descripcioacuten general de las plataformas informaacuteticas de CodeDeploy 2Introduccioacuten a los tipos de implementacioacuten de CodeDeploy 7

Descripcioacuten general de una implementacioacuten laquoin-placeraquo 8Descripcioacuten general de una implementacioacuten laquobluegreenraquo 9

Esperamos tener noticias suyas 12Componentes principales 12

Aplicacioacuten 12Plataforma de computacioacuten 13Configuracioacuten de implementacioacuten 13Grupo de implementaciones 14Tipo de implementacioacuten 14Tipo de implementacioacuten 15Revisioacuten 15Rol de servicio 15revisioacuten de destino 15Otros componentes 16

Implementaciones 16Implementaciones en unaAWSPlataforma de computacioacuten Lambda 16Implementaciones en una plataforma de computacioacuten Amazon ECS 19Implementaciones en una plataforma de computacioacuten EC2On-Premises 27

Archivos de especificacioacuten de aplicacioacuten 32Archivos AppSpec en una plataforma de computacioacuten Amazon ECS 33Archivos AppSpec en unAWS Lambdaplataforma de computacioacuten 33Archivos AppSpec en una plataforma de computacioacuten EC2On-Premises 33Coacutemo utiliza el agente de CodeDeploy el archivo AppSpec 34

Introduccioacuten 35Paso 1 Instalar o actualizar y a continuacioacuten configurar laAWS CLI 35Paso 2 Crear un rol de servicio 36

Creacioacuten de un rol de servicio de (consola) 37Creacioacuten de un rol de servicio de (CLI) 39Obtenga el ARN del rol de servicio (consola) 40Obtenga el ARN del rol de servicio (CLI) 41

Paso 3 Provisionar un usuario de IAM 41Paso 4 Crear un perfil de instancia de IAM 43

Crear un perfil de instancias de IAM para sus instancias Amazon EC2 (CLI) 43Crear un perfil de instancias de IAM para sus instancias Amazon EC2 (consola) 45

Integraciones de productos y servicios 48Integracioacuten con otros servicios de AWS 48

Amazon EC2 Auto Scaling 53Elastic Load Balancing 57

Integracioacuten a productos y servicios de socios 60GitHub 63

Ejemplos de integracioacuten de la comunidad 66Entradas de blogs 66

Tutoriales 68Tutorial Implementacioacuten de WordPress en una instancia sin Windows 68

Paso 1 Lance una instancia Amazon EC2 69Paso 2 Configurar el contenido de origen 70Paso 3 Cargar la aplicacioacuten en Amazon S3 74Paso 4 Implementar la aplicacioacuten 77Paso 5 Actualiza y vuelve a desplegar tu aplicacioacuten 82Paso 6 Eliminar recursos 85

Versioacuten de API 2014-10-06iii

AWS CodeDeploy Guiacutea del usuario

Tutorial Implementacioacuten de una aplicacioacuten Hello World en una instancia de Windows Server 87Paso 1 Lance una instancia Amazon EC2 88Paso 2 Configurar el contenido de origen 90Paso 3 Cargue su aplicacioacuten en Amazon S3 92Paso 4 Implementar la aplicacioacuten 95Paso 5 Actualiza y vuelve a desplegar tu aplicacioacuten 99Paso 6 Eliminar recursos 101

Tutorial Implementacioacuten de una aplicacioacuten en una instancia on-premises 103Requisitos previos 104Paso 1 Configuracioacuten de la instancia on-premises 104Paso 2 Creacioacuten de una revisioacuten de aplicacioacuten de muestra 104Paso 3 Agrupe y cargue la revisioacuten de la aplicacioacuten en Amazon S3 108Paso 4 Implementar la revisioacuten de la aplicacioacuten 108Paso 5 Verificacioacuten de la implementacioacuten 108Paso 6 Limpiar recursos 108

Tutorial Implementar en un grupo de Auto Scaling 110Requisitos previos 110Paso 1 Creacioacuten y configuracioacuten del grupo de Auto Scaling 111Paso 2 Implementar la aplicacioacuten en el grupo de Auto Scaling 115Paso 3 Compruebe sus resultados 121Paso 4 Aumente el nuacutemero de instancias de Amazon EC2 en el grupo de Auto Scaling 122Paso 5 Vuelve a comprobar los resultados 123Paso 6 Eliminar recursos 125

Tutorial Implementar una aplicacioacuten desde GitHub 127Requisitos previos 127Paso 1 Configure una cuenta de GitHub 127Paso 2 Creacioacuten de un repositorio de GitHub 128Paso 3 Cargue una aplicacioacuten de ejemplo en el repositorio GitHub 129Paso 4 Aprovisionar una instancia 132Paso 5 Crear una aplicacioacuten y un grupo de implementaciones 133Paso 6 Implementacioacuten de la aplicacioacuten en la instancia 134Paso 7 Supervisar y verificar la implementacioacuten 137Paso 8 Eliminar recursos 138

Tutorial Implementar un servicio de Amazon ECS 139Requisitos previos 141Paso 1 Actualice la aplicacioacuten de Amazon ECS 141Paso 2 Creacioacuten del archivo AppSpec 142Paso 3 Utilice la consola de CodeDeploy para implementar su servicio Amazon ECS 143Paso 4 Eliminar recursos 146

Tutorial Implementacioacuten de un servicio Amazon ECS con una prueba de validacioacuten 147Requisitos previos 149Paso 1 Crear un agente de escucha de prueba 149Paso 2 Actualice la aplicacioacuten de Amazon ECS 149Paso 3 Crear una funcioacuten Lambda de enlace de ciclo de vida 150Paso 4 Actualice el archivo AppSpec 151Paso 5 Utilice la consola de CodeDeploy para implementar su servicio Amazon ECS 153Paso 6 Visualice la salida de la funcioacuten de enlace de Lambda en CloudWatch Logs 154Paso 7 Eliminar recursos 155

Tutorial Implemente una funcioacuten Lambda medianteAWSSAM 156Requisitos previos 156Paso 1 Configurar la infraestructura 156Paso 2 Actualizacioacuten de la funcioacuten Lambda 167Paso 3 Implemente la funcioacuten de Lambda actualizada 168Paso 4 Consulte los resultados de la implementacioacuten 171Paso 5 Eliminar recursos 173

Trabajar con el agente de CodeDeploy 175Sistemas operativos compatibles con el agente de CodeDeploy 175

Versioacuten de API 2014-10-06iv

AWS CodeDeploy Guiacutea del usuario

Sistemas operativos AMI de Amazon EC2 compatibles 175Sistemas operativos locales compatibles 176

Protocolo de comunicacioacuten y puerto para el agente de CodeDeploy 176Historial de versiones del agente de CodeDeploy 176Revisioacuten de aplicaciones y limpieza de archivos de registro 183Archivos instalados por el agente de CodeDeploy 183Administracioacuten de operaciones del agente de CodeDeploy 186

Verifique que el agente de CodeDeploy esteacute en ejecucioacuten 186Determinar la versioacuten del agente de CodeDeploy 188Instalacioacuten del agente de CodeDeploy 189Actualizacioacuten del agente de CodeDeploy 198Desinstalacioacuten del agente de CodeDeploy 203SendCodeDeployRegistros de agentes de aCloudWatch 204

Trabajar con instancias 207Comparacioacuten de instancias de Amazon EC2 con instancias locales 207Tareas de instancia para CodeDeploy 208Etiquetado de instancias para implementaciones de CodeDeploy 209

Ejemplo 1 Grupo de etiquetas individuales etiqueta uacutenica 210Ejemplo 2 Grupo de etiquetas individuales etiquetas muacuteltiples 211Ejemplo 3 Varios grupos de etiquetas etiquetas individuales 212Ejemplo 4 Varios grupos de etiquetas varias etiquetas 214

Trabajar con instancias Amazon EC2 216Creacioacuten de una instancia de Amazon EC2 para CodeDeploy 217Crear una instancia Amazon EC2 (AWS CloudFormationplantilla) 221Configurar una instancia de Amazon EC2 228

Trabajar con instancias on-premises 230Requisitos previos para configurar una instancia on-premises 231Registro de una instancia on-premises 232Administracioacuten de operaciones de instancias on-premises 253

Visualizacioacuten de los detalles de la instancia 258Ver los detalles de la instancia (consola) 258Visualizacioacuten de los detalles de la instancia (CLI) 259

Estado de la instancia 259Estado 260Miacutenimo de instancias e implementaciones en buen estado 261

Uso de configuraciones de implementacioacuten 264Configuraciones de implementacioacuten en una plataforma de computacioacuten EC2On-Premises 264

Configuraciones de implementacioacuten predefinidas 264Configuraciones de implementacioacuten en una plataforma de computacioacuten Amazon ECS 267

Configuraciones de implementacioacuten predefinidas para Amazon ECS 267Configuraciones de implementacioacuten paraAWS CloudFormationImplementaciones bluegreen (AmazonECS) 267Configuraciones de implementacioacuten en unaAWS Lambdaplataforma de computacioacuten 268

Configuraciones de implementacioacuten predefinidas para Lambda 268 269

Crear una configuracioacuten de implementacioacuten 269Ver detalles de la configuracioacuten de implementacioacuten 270

Ver detalles de la configuracioacuten de implementacioacuten (consola) 270Visualizacioacuten de la configuracioacuten de implementacioacuten (CLI) 270

Eliminacioacuten de una configuracioacuten de implementacioacuten 271Trabajar con aplicaciones 272

Cree una aplicacioacuten 273Cree una aplicacioacuten para una implementacioacuten in situ (consola) 274Cree una aplicacioacuten para una implementacioacuten bluegreen (consola) 276Creacioacuten de una aplicacioacuten para una implementacioacuten de servicios de Amazon ECS (consola) 279Cree una aplicacioacuten para unaAWS Lambdaimplementacioacuten de funciones (consola) 281Crear una aplicacioacuten (CLI) 282

Versioacuten de API 2014-10-06v

AWS CodeDeploy Guiacutea del usuario

Ver los detalles de la aplicacioacuten 282Ver los detalles de la aplicacioacuten (consola) 282Ver los detalles de la aplicacioacuten (CLI) 283

Creacioacuten de una regla de notificacioacuten 283Cambiar el nombre de una aplicacioacuten 285Eliminar una aplicacioacuten 285

Eliminar una aplicacioacuten de (consola) 286Eliminar una aplicacioacuten (AWS CLI) 286

Trabajar con grupos de implementaciones 287Grupos de implementacioacuten en implementaciones de plataformas informaacuteticas de Amazon ECS 287Grupos de implementaciones enAWS Lambdaimplementaciones de plataformas de computacioacuten 287Grupos de implementaciones en implementaciones EC2On-Premises 287 288

Creacioacuten de un grupo de implementaciones 288Crear un grupo de implementaciones para una implementacioacuten in situ (consola) 289Crear un grupo de implementaciones para una implementacioacuten EC2On-Premises bluegreen(consola) 291Crear un grupo de implementacioacuten para una implementacioacuten de Amazon ECS (consola) 294Configurar un equilibrador de carga en Elastic Load Balancing para implementaciones deCodeDeploy Amazon EC2 295Configurar un equilibrador de carga grupos de destino y listeners para implementaciones deCodeDeploy Amazon ECS 296Creacioacuten de un grupo de implementaciones (CLI) 299

Ver detalles del grupo de implementacioacuten 300Ver detalles del grupo de implementaciones (consola) 300Ver detalles del grupo de implementaciones (CLI) 301

Cambiar la configuracioacuten del grupo de implementacioacuten 301Cambiar la configuracioacuten del grupo de implementaciones (consola) 302Cambiar la configuracioacuten del grupo de implementacioacuten (CLI) 302

Configuracioacuten de las opciones avanzadas de un grupo de implementaciones 303Eliminar un grupo de implementaciones 305

Eliminacioacuten de un grupo de implementaciones (consola) 306Eliminacioacuten de un grupo de implementaciones (CLI) 306

Gestioacuten de revisiones de aplicaciones 307Planear una revisioacuten 307Adicioacuten de un archivo AppSpec 308

Adicioacuten de un archivo AppSpec para una implementacioacuten de Amazon ECS 308Adicioacuten de un archivo AppSpec para unAWSImplementacioacuten de Lambda 310Adicioacuten de un archivo AppSpec para una implementacioacuten de EC2On-Premises 312

Eleccioacuten de un tipo de repositorio 314Enviar una revisioacuten 316

Impulsar una revisioacuten mediante elAWS CLI 317Ver detalles de una revisioacuten de aplicacioacuten 319

Ver detalles de una revisioacuten de aplicacioacuten (consola) 319Ver detalles de una revisioacuten de aplicacioacuten (CLI) 319

Registro de una revisioacuten de una aplicacioacuten 320Registro de una revisioacuten en Amazon S3 con CodeDeploy (CLI) 321Registro de una revisioacuten en GitHub con CodeDeploy (CLI) 321

Uso de las implementaciones 323Crear una implementacioacuten 324

Requisitos previos para la implementacioacuten 324Crear una implementacioacuten de Amazon ECS (consola) 327Creacioacuten de unAWSImplementacioacuten de Lambda Compute Platform (consola) 328Crear una implementacioacuten de Compute Platform (consola) de EC2On-Premises 329Crear una implementacioacuten de Amazon ECS Compute Platform (CLI) 333Creacioacuten de unAWSImplementacioacuten de Lambda Compute Platform (CLI) 334Crear una implementacioacuten de plataforma de computacioacuten EC2On-Premises (CLI) 335

Versioacuten de API 2014-10-06vi

AWS CodeDeploy Guiacutea del usuario

Cree una implementacioacuten bluegreen (azulverde) de Amazon ECS medianteAWSCloudFormation 337

Ver detalles de las implementaciones 340Ver los detalles de las implementaciones (consola) 341Ver los detalles de las implementaciones (CLI) 341

Ver datos del registro de implementacioacuten 342Ver los datos del archivo de registro en la consola de Amazon CloudWatch 342Ver archivos de registro de una instancia 342

Detener una implementacioacuten 344Detener una implementacioacuten (consola) 345Detener una implementacioacuten (CLI) 345

Reimplementa y reversioacuten de una implementacioacuten 345Restauraciones automaacuteticas 346Restauraciones manuales 346Flujo de trabajo de la restauracioacuten y reimplementacioacuten 346Comportamiento de reversioacuten con contenido existente 347

Implementar una aplicacioacuten en otroAWScuenta 349Paso 1 Creacioacuten de S3 Bucket en cualquiera de las cuentas 350Paso 2 Conceder permisos de bucket de Amazon S3 al perfil de instancia de IAM de la cuentade produccioacuten 350Paso 3 Creacioacuten de recursos y un rol entre cuentas en la cuenta de produccioacuten 351Paso 4 Cargue la revisioacuten de la aplicacioacuten en el bucket de Amazon S3 352Paso 5 Asumir el rol de acceso entre cuentas e implementar aplicaciones 352

Validar un paquete de implementacioacuten en una maacutequina local 352Requisitos previos 353Crear una implementacioacuten local 354Ejemplos 356

Monitorizar implementaciones 358Herramientas automatizadas 358Herramientas manuales 359Monitorizacioacuten de implementaciones con herramientas de Amazon CloudWatch 360

Monitorizacioacuten de implementaciones con alarmas de CloudWatch 360Monitoreo de implementaciones de mediante Amazon CloudWatch Events 362

Monitorizar implementaciones conAWS CloudTrail 364Informacioacuten de CodeDeploy en CloudTrail 364Descripcioacuten de las entradas de archivos log de CodeDeploy 364

Supervisioacuten de implementaciones con notificaciones de eventos de Amazon SNS 365Concesioacuten de permisos de Amazon SNS a un rol de servicio 366Creacioacuten de un disparador para un evento de CodeDeploy 367Edicioacuten de un desencadenador en un grupo de implementacioacuten 372Eliminar un desencadenador de un grupo de implementacioacuten 373Formatos de datos JSON para activadores 374

Seguridad 376Proteccioacuten de los datos 376

Privacidad del traacutefico entre redes 377Cifrado en reposo 377Cifrado en traacutensito 377Administracioacuten de claves de cifrado 378

Identity and Access Management 378Puacuteblico 378Autenticacioacuten con identidades 379Administracioacuten de acceso mediante poliacuteticas 381Coacutemo AWS CodeDeploy funciona con IAM 382AWSPoliacuteticas administradas por (predefinidas) para CodeDeploy 385Actualizaciones de CodeDeploy enAWSpoliacuteticas administradas 390Ejemplos de poliacuteticas basadas en identidad 390Solucioacuten de problemas 395

Versioacuten de API 2014-10-06vii

AWS CodeDeploy Guiacutea del usuario

Referencia de permisos de CodeDeploy 397Prevencioacuten del suplente confuso entre servicios 403

Respuesta frente a incidencias 404Auditoriacutea de todas las interacciones con CodeDeploy 404Administracioacuten de incidentes y alertas 404

Validacioacuten de conformidad 405Resiliencia 405Seguridad de infraestructuras 406

Referencia 407Referencia del archivo AppSpec 407

Archivos AppSpec en una plataforma de computacioacuten Amazon ECS 407Archivos AppSpec de unAWS Lambdaplataforma de computacioacuten 408Archivos AppSpec en una plataforma de computacioacuten EC2On-Premises 408Estructura de archivos AppSpec 408Ejemplo del archivo AppSpec 436Espaciado de archivos AppSpec 440Validar su ubicacioacuten de archivo y archivo de AppSpec 441

Referencia de configuracioacuten del agente 441Temas relacionados 444

AWS CloudFormationreferencia de plantillas 444Usar CodeDeploy con Amazon Virtual Private Cloud 446

Disponibilidad 447Crear puntos de enlace de la VPC para CodeDeploy 448Configuracioacuten del CodeDeploy permisos de agente e IAM 448

Referencia del kit de recursos 449Nombres de buckets del kit de recursos por regioacuten 449Contenido del kit de recursos 450Muestre una lista de los archivos del kit de recursos 452Descargue los archivos del kit de recursos 452

Liacutemites 454Aplicaciones 455Revisiones de aplicaciones 455Implementaciones 455Configuraciones de implementacioacuten 457Grupos de implementaciones 457Instancias 458

Solucioacuten de problemas 459Solucioacuten de problemas generales 459

Lista de comprobacioacuten de solucioacuten de problemas generales 459Los recursos de implementacioacuten de CodeDeploy solo se admiten en algunosAWSRegiones de 461Los procedimientos de esta guiacutea no sirven para la consola de CodeDeploy 461Los roles de IAM necesarios no estaacuten disponibles 461El uso de algunos editores de texto para crear archivos AppSpec y scripts del shell produce unerror en las implementaciones 461El uso de Finder en macOS para empaquetar una revisioacuten de la aplicacioacuten puede producir unerror en la implementacioacuten 462

Solucioacuten de problemas de implementacioacuten EC2On-premises 462El agente de CodeDeploy no se inicia en Windows 2016 463Error de falta de credenciales en el complemento CodeDeploy CommandPoller 464La implementacioacuten produce un error con el mensaje ldquoValidation of PKCS7 signed messagefailedrdquo 464La implementacioacuten o la reimplementacioacuten de los mismos archivos en la misma instanciaproducen el error The deployment failed because a specified file already exists at this location 464Los procesos de larga duracioacuten pueden producir un error en la implementacioacuten 466Solucioacuten de problemas AllowTraffic Evento de ciclo de vida sin ninguacuten error en los logs deimplementacioacuten 467

Versioacuten de API 2014-10-06viii

AWS CodeDeploy Guiacutea del usuario

Solucioacuten de problemas con un error ApplicationStop BeforeBlockTraffic o AfterBlockTrafficevento del ciclo de vida de la implementacioacuten 468Solucioacuten de problemas DownloadBundle evento de ciclo de vida de la implementacioacuten conUnknownError no abierto para lectura 469Solucioacuten de problemas cuando se omiten todos los eventos del ciclo de vida 469Windows PowerShell Los scripts no pueden utilizar la versioacuten de 64 bits de Windows PowerShellde forma predeterminada 471

SolucionarAWSProblemas de implementacioacuten de Lambda 471AWS LambdaLas implementaciones no se realizan correctamente si se detiene manualmenteuna implementacioacuten de Lambda que no tiene configuradas las reversiones 472

Solucioacuten de problemas de grupos de implementaciones 472Cuando se etiqueta una instancia como parte de un grupo de implementaciones no seimplementa automaacuteticamente la aplicacioacuten en la nueva instancia 472

Solucioacuten de problemas de instancias 472Las etiquetas deben estar configuradas correctamente 473AWS CodeDeployEl agente de debe estar instalado y ejecutaacutendose en las instancias 473Las implementaciones no producen error hasta una hora despueacutes cuando se termina unainstancia durante una implementacioacuten 473Anaacutelisis de archivos de registro para investigar los errores de implementacioacuten en instancias 473Creacioacuten de un nuevo CodeDeploy archivo log de si se ha eliminado por error 474Solucioacuten de errores de implementacioacuten ldquoInvalidSignatureException ndash Signature expired [hora] isnow earlier than [hora]rdquo 474

Solucionar GitHub Problemas con token 474Invalid (No vaacutelido) GitHub Token OAuth 474Nuacutemero maacuteximo de GitHub Se superaron los tokens OAuth 475

Solucioacuten de problemas de Amazon EC2 Auto Scaling 475Solucioacuten de problemas general de Amazon EC2 Auto Scaling 476laquoCodeDeployRole no le da permiso para realizar operaciones en las siguientesAWSservicio deError de AmazonAutoScalingraquo 476Las instancias de un grupo de Amazon EC2 Auto Scaling se aprovisionan y se terminanconstantemente antes de que pueda implementarse una revisioacuten 477La terminacioacuten o el reinicio de una instancia de Amazon EC2 Auto Scaling puede producir unerror en las implementaciones 477Evite asociar varios grupos de implementaciones a un uacutenico grupo de Amazon EC2 Auto Scaling 478Las instancias EC2 de un grupo de Amazon EC2 Auto Scaling no se pueden lanzar y aparece elerror laquoHeartbeat Timeoutraquo 479Los enlaces de ciclo de vida de Amazon EC2 Auto Scaling de Amazon EC2 podriacutean provocardetenciones o errores de las implementaciones automaacuteticas en grupos de Auto Scaling deAmazon EC2 480Error laquoLa implementacioacuten ha fallado porque no se han encontrado instancias para el grupo deimplementacioacutenraquo 481

Coacutedigos de error 486Temas relacionados 490

Recursos 491Guiacuteas de referencia y recursos de soporte 491Muestras 491Blogs 491AWSkits y herramientas de desarrollo de software 491

Historial de documentos 493Actualizaciones anteriores 497

Glosario de AWS 512 dxiii

Versioacuten de API 2014-10-06ix

AWS CodeDeploy Guiacutea del usuario

iquestQueacute es CodeDeployCodeDeploy es un servicio de implementacioacuten que automatiza la implementacioacuten de las aplicaciones eninstancias Amazon EC2 en instancias on-premises en funciones Lambda sin servidor o en servicios ECSde Amazon

Puede implementar una variedad de contenidos de aplicacioacuten praacutecticamente ilimitada entre las que seincluyen

bull Codebull Funciones AWS Lambda sin servidorbull Archivos de configuracioacuten y webbull Ejecutablesbull Paquetesbull Scriptsbull Archivos multimedia

CodeDeploy puede implementar contenido de aplicaciones que se ejecuta en un servidor y se almacenaen buckets de Amazon S3 repositorios de GitHub o repositorios de Bitbucket CodeDeploy tambieacuten puedeimplementar una funcioacuten de Lambda sin servidor No es necesario hacer cambios en el coacutedigo existentepara poder utilizar CodeDeploy

CodeDeploy le ayuda a

bull Lanzar raacutepidamente nuevas caracteriacutesticasbull Actualizar las versiones de las funciones de AWS Lambdabull Evitar tiempos de inactividad durante la implementacioacuten de las aplicacionesbull Gestionar el complejo proceso de actualizacioacuten de las aplicaciones evitando muchos de los riesgos

asociados a las implementaciones manuales que son susceptibles a errores

El servicio se adapta a su infraestructura por lo que puede implementar faacutecilmente en una sola instancia oen miles de ellas

CodeDeploy funciona con diversos sistemas de administracioacuten de configuracioacuten control de coacutedigofuenteintegracioacuten continuaentrega continuae implementacioacuten continua Para obtener maacutes informacioacutenconsulteIntegraciones de productos

La consola de CodeDeploy tambieacuten proporciona una forma raacutepida de buscar sus recursos comorepositorios proyectos de compilacioacuten aplicaciones de implementacioacuten y canalizaciones Elija Go toresource (Ir a recurso) o pulse la tecla y a continuacioacuten escriba el nombre del recurso Se muestrantodas las coincidencias en la lista En las buacutesquedas no se distingue entre mayuacutesculas y minuacutesculas Solopuede ver los recursos para los que tiene permiso Para obtener maacutes informacioacuten consulte Identity andAccess Management en AWS CodeDeploy (p 378)

Temasbull Ventajas de AWS CodeDeploy (p 2)bull Descripcioacuten general de las plataformas informaacuteticas de CodeDeploy (p 2)bull Introduccioacuten a los tipos de implementacioacuten de CodeDeploy (p 7)bull Esperamos tener noticias suyas (p 12)bull Componentes principales de CodeDeploy (p 12)bull Implementaciones de CodeDeploy (p 16)

Versioacuten de API 2014-10-061

AWS CodeDeploy Guiacutea del usuarioVentajas de AWS CodeDeploy

bull Archivos de especificacioacuten de aplicacioacuten CodeDeploy (AppSpec) (p 32)

Ventajas de AWS CodeDeployCodeDeploy ofrece las ventajas siguientes

bull Aplicaciones de servidor sin servidor y contenedor CodeDeploy le permite implementar tantoaplicaciones tradicionales basadas en servidores como aplicaciones que implementan un sistema de sinservidorAWS Lambdaversioacuten de funcioacuten o una aplicacioacuten de Amazon ECS

bull Implementaciones automatizadas CodeDeploy automatiza totalmente la implementacioacuten de lasaplicaciones en los entornos de desarrollo pruebas y produccioacuten CodeDeploy se adapta a suinfraestructura por lo que puede implementar en una sola instancia o en miles de ellas

bull Minimizar el tiempo de inactividad Si la aplicacioacuten utiliza la plataforma de computacioacuten EC2On-premises CodeDeploy ayuda a maximizar la disponibilidad de la aplicacioacuten En las implementacionesin situ CodeDeploy actualiza de forma continua en las instancias Amazon EC2 Es posible especificarel nuacutemero de instancias que se desactivan a la vez para efectuar las actualizaciones Durante unaimplementacioacuten bluegreen la uacuteltima revisioacuten de la aplicacioacuten se instala en las instancias de sustitucioacutenEl traacutefico se desviacutea a estas instancias en el momento que desee bien inmediatamente o cuando hayaterminado de probar el nuevo entorno En ambos tipos de implementacioacuten CodeDeploy supervisa elestado de la aplicacioacuten de acuerdo con las reglas que configure

bull Detencioacuten y reversioacuten En caso de que haya errores puede detener y revertir la implementacioacuten deforma automaacutetica o manual

bull Control centralizado Puede iniciar y controlar el estado de las implementaciones faacutecilmente a traveacutesde la consola de CodeDeploy o laAWS CLI Recibiraacute un informe que indica el momento en que seimplementoacute cada revisioacuten de la aplicacioacuten en cada instancia Amazon EC2

bull Facilidad de adopcioacuten CodeDeploy no depende de ninguna plataforma y funciona con cualquieraplicacioacuten Permite reutilizar faacutecilmente el coacutedigo de configuracioacuten CodeDeploy tambieacuten puedeintegrarse en procesos de publicacioacuten de software o cadenas de herramientas de entrega continua yaexistentes

bull Implementaciones simultaacuteneas Si tiene maacutes de una aplicacioacuten que utiliza la plataforma de computacioacutenEC2On-premises CodeDeploy puede implementarlas simultaacuteneamente en el mismo conjunto deinstancias

Descripcioacuten general de las plataformas informaacuteticasde CodeDeploy

CodeDeploy puede implementar aplicaciones en tres plataformas de computacioacuten

bull EC2On-Premises Describe las instancias de servidores fiacutesicos que pueden ser instancias en la nubede Amazon EC2 servidores on-premises o ambos Las aplicaciones creadas mediante la plataformade computacioacuten EC2On-premises pueden estar formadas por archivos ejecutables archivos deconfiguracioacuten imaacutegenes etc

Las implementaciones que utilizan la plataforma de computacioacuten EC2On-premises administran laforma en que el traacutefico se enviacutea a las instancias mediante un tipo de implementacioacuten laquoin-placeraquo olaquobluegreenraquo Para obtener maacutes informacioacuten consulte Introduccioacuten a los tipos de implementacioacuten deCodeDeploy (p 7)

bull AWSLambda Se utiliza para implementar aplicaciones que constan de una versioacuten actualizada deuna funcioacuten LambdaAWS Lambdaadministra la funcioacuten Lambda en un entorno de computacioacuten sinservidor formado por una estructura de computacioacuten de alta disponibilidad AWS Lambda se encarga

Versioacuten de API 2014-10-062

AWS CodeDeploy Guiacutea del usuarioDescripcioacuten general de las plataformas

informaacuteticas de CodeDeploy

de realizar toda la administracioacuten de los recursos de computacioacuten Para obtener maacutes informacioacutenconsulteInformaacutetica sin servidor y aplicaciones Para obtener maacutes informacioacuten acerca deAWSLambdafunciones de Lambda consulteAWS Lambda

Puede administrar la forma en que el traacutefico se desplaza a las versiones actualizadas de la funcioacutenLambda durante una implementacioacuten eligiendo una configuracioacuten controlada lineal o todo a la vez

bull Amazon ECS Se utiliza para implementar una aplicacioacuten en contenedores de Amazon ECS comoconjunto de tareas CodeDeploy realiza una implementacioacuten bluegreen instalando una versioacutenactualizada de la aplicacioacuten como un nuevo conjunto de tareas de sustitucioacuten CodeDeploy redirige eltraacutefico de produccioacuten del conjunto de tareas de la aplicacioacuten original al conjunto de tareas de sustitucioacutenCuando la implementacioacuten se realiza correctamente se termina el conjunto de tareas original Paraobtener maacutes informacioacuten acerca de Amazon ECS consulteAmazon Elastic Container Service

Puede administrar la forma en que el traacutefico se desplaza al conjunto de tareas actualizado durante unaimplementacioacuten eligiendo una configuracioacuten controlada lineal o todo a la vez

Note

Las implementaciones bluegreen (azulverde) de Amazon ECS se admiten con CodeDeployyAWS CloudFormation Los detalles de estas implementaciones se describen en seccionesposteriores

En la tabla siguiente se describe coacutemo se utilizan los componentes de CodeDeploy con cada plataforma decomputacioacuten Para obtener maacutes informacioacuten consulte

bull Trabajar con grupos de implementaciones en CodeDeploy (p 287)bull Uso de las implementaciones en CodeDeploy (p 323)bull Uso de configuraciones de implementacioacuten en CodeDeploy (p 264)bull Uso de revisiones de aplicaciones de CodeDeploy (p 307)bull Trabajar con aplicaciones en CodeDeploy (p 272)

Componente CodeDeploy EC2On-Premises AWS Lambda AmazonECS

Grupo de implementaciones Implementa una revisioacuten enun conjunto de instancias

Implementa una nuevaversioacuten de una funcioacutenLambda sin servidor en unainfraestructura informaacuteticade alta disponibilidad

Especificael serviciode AmazonECS con laaplicacioacuten encontenedorparaimplementarcomo unconjunto detareas unagente deescucha deproduccioacuteny de pruebaopcionalque seutiliza paraentregartraacutefico a laaplicacioacuten

Versioacuten de API 2014-10-063

AWS CodeDeploy Guiacutea del usuarioDescripcioacuten general de las plataformas

informaacuteticas de CodeDeploy

Componente CodeDeploy EC2On-Premises AWS Lambda AmazonECSimplementadacuaacutendoredirigir eltraacutefico yterminar elconjuntode tareasoriginal dela aplicacioacutenimplementadaydesencadenadoralarma yrestauracioacutenopcionalConfiguracioacutendel

Implementacioacuten Implementa una nuevarevisioacuten que consta de unaaplicacioacuten y un archivoAppSpec El archivoAppSpec especifica coacutemose implementa la aplicacioacutenen las instancias de ungrupo de implementaciones

Desviacutea el traacutefico deproduccioacuten desde unaversioacuten de una funcioacutenLambda a una nuevaversioacuten de la mismafuncioacuten El archivo AppSpecespecifica queacute versioacuten de lafuncioacuten de Lambda se debeimplementar

Implementauna versioacutenactualizadade unaaplicacioacutende encontenedorde AmazonECS comoun nuevoconjunto detareas desustitucioacutenCodeDeployredirige eltraacutefico deproduccioacutendesde elconjunto detareas conla versioacutenoriginalal nuevoconjunto detareas desustitucioacutencon laversioacutenactualizadaCuando secompleta laimplementacioacutense terminael conjuntode tareasoriginal

Versioacuten de API 2014-10-064

AWS CodeDeploy Guiacutea del usuarioDescripcioacuten general de las plataformas

informaacuteticas de CodeDeploy

Componente CodeDeploy EC2On-Premises AWS Lambda AmazonECS

Configuracioacuten deimplementacioacuten

Configuracioacuten quedetermina la velocidadde implementacioacuten yel nuacutemero miacutenimo deinstancias que deben estaren buen estado en cualquiermomento durante unaimplementacioacuten

Configuracioacuten quedetermina coacutemo se desviacuteael traacutefico a las versionesde la funcioacuten de Lambdaactualizadas

Configuracioacutenquedeterminacoacutemo sedesviacutea eltraacutefico alconjuntode tareasde AmazonECSactualizado

Versioacuten de API 2014-10-065

AWS CodeDeploy Guiacutea del usuarioDescripcioacuten general de las plataformas

informaacuteticas de CodeDeploy

Componente CodeDeploy EC2On-Premises AWS Lambda AmazonECS

Revisioacuten Combinacioacuten de un archivoAppSpec y de archivosde aplicacioacuten comoejecutables archivos deconfiguracioacuten etc

Un archivo AppSpecque especifica la funcioacutenLambda implementar ylas funciones Lambdaque ejecutan pruebas devalidacioacuten durante enlacesde eventos de ciclo de vidade implementacioacuten

Un archivode AppSpecqueespecifica

bull Ladefinicioacutendetareas deAmazonECS parael servicioAmazonECScon laaplicacioacutende encontenedorque seva aimplementar

bull Elcontenedoren elque seimplementalaaplicacioacutenactualizada

bull Un puertopara elcontenedordonde seredirige eltraacutefico deproduccioacuten

bull Ajustes deconfiguracioacutende redopcionalesyfuncionesLambdaquepuedenejecutarpruebasdevalidacioacutenduranteenlaces deeventosde ciclo

Versioacuten de API 2014-10-066

AWS CodeDeploy Guiacutea del usuarioIntroduccioacuten a los tipos de implementacioacuten de CodeDeploy

Componente CodeDeploy EC2On-Premises AWS Lambda AmazonECS

de vida deimplementacioacuten

Aplicacioacuten Coleccioacuten de gruposde implementaciones yrevisiones Una aplicacioacutenEC2On-Premises utiliza laplataforma de computacioacutenEC2On-Premises

Coleccioacuten de gruposde implementaciones yrevisiones Una aplicacioacutenque se utiliza para unaAWSLambdala implementacioacutenutiliza el sistema sinservidorAWSPlataforma decomputacioacuten de Lambda

Coleccioacuten degrupos deimplementacionesy revisionesUnaaplicacioacutenutilizadapara unaimplementacioacutende AmazonECS utilizala plataformainformaacuteticade AmazonECS

Introduccioacuten a los tipos de implementacioacuten deCodeDeploy

CodeDeploy ofrece dos opciones en cuanto al tipo de implementacioacuten

bull Implementacioacuten in situ La aplicacioacuten de cada instancia del grupo de implementacioacuten se para seinstala la uacuteltima revisioacuten de la aplicacioacuten y se inicia y valida la nueva versioacuten de la aplicacioacuten Puedeutilizar un balanceador de carga de modo que se cancele el registro de cada instancia durante suimplementacioacuten y a continuacioacuten vuelva a ponerse en servicio una vez completada la implementacioacutenSolo las implementaciones que usan la plataforma de computacioacuten EC2On-premises pueden utilizarimplementaciones laquoin-placeraquo Para obtener maacutes informacioacuten acerca de las implementaciones in-placeconsulte Descripcioacuten general de una implementacioacuten laquoin-placeraquo (p 8)

Note

AWSLas implementaciones de Lambda y Amazon ECS no pueden usar un tipo deimplementacioacuten laquoin-placeraquo

bull Implementacioacuten bluegreen El funcionamiento de la implementacioacuten depende de la plataforma decomputacioacuten que utilicebull Bluegreen en una plataforma de computacioacuten EC2On-Premises Las instancias de un grupo de

implementaciones (el entorno original) se sustituyen por otro conjunto de instancias (el entorno desustitucioacuten) siguiendo estos pasosbull Las instancias se aprovisionan para el entorno de sustitucioacutenbull La uacuteltima revisioacuten de la aplicacioacuten se instala en las instancias de sustitucioacutenbull Se produce un tiempo de espera opcional para actividades tales como pruebas de aplicaciones y

verificacioacuten del sistemabull Las instancias del entorno de sustitucioacuten se registran con un balanceador de carga de Elastic Load

Balancing lo que provoca que el traacutefico se dirija a ellas Las instancias del entorno original secancelan el registro y pueden terminarse o mantenerse en ejecucioacuten para otros usos

Versioacuten de API 2014-10-067

AWS CodeDeploy Guiacutea del usuarioDescripcioacuten general de una implementacioacuten laquoin-placeraquo

Note

Si utiliza una plataforma informaacutetica EC2local tenga en cuenta que las implementaciones enazul y verde funcionan uacutenicamente con instancias de Amazon EC2

bull Bluegreen en unAWS Lambdao plataforma de coacutemputo Amazon ECS El traacutefico se desviacutea enincrementos de acuerdo con unacanariolineal o bientodo a la vezconfiguracioacuten de implementacioacutenPara obtener maacutes informacioacuten consulte Configuracioacuten de implementacioacuten (p 13)

bull Implementaciones bluegreen (azul-verde) conAWS CloudFormation El traacutefico se desviacutea desde losrecursos actuales a los recursos actualizados como parte de unAWS CloudFormationactualizacioacuten depila de Actualmente solo se admiten implementaciones de ECS bluegreen (azulverde)

Para obtener maacutes informacioacuten acerca de las implementaciones bluegreen consulte Descripcioacuten generalde una implementacioacuten laquobluegreenraquo (p 9)

Note

Con el agente de CodeDeploy puede realizar una implementacioacuten en una instancia en la quehaya iniciado sesioacuten sin necesidad de una aplicacioacuten un grupo de implementaciones o ni siquieraunAWSaccount Para obtener informacioacuten consulte Usar el agente de CodeDeploy para validarun paquete de implementacioacuten en una maacutequina local (p 352)

Temasbull Descripcioacuten general de una implementacioacuten laquoin-placeraquo (p 8)bull Descripcioacuten general de una implementacioacuten laquobluegreenraquo (p 9)

Descripcioacuten general de una implementacioacuten laquoin-placeraquo

Note

AWSLas implementaciones de Lambda y Amazon ECS no pueden usar un tipo deimplementacioacuten laquoin-placeraquo

A continuacioacuten se explica coacutemo funciona una implementacioacuten laquoin-placeraquo

1 En primer lugar debe crear contenido implementable en su equipo de desarrollo local o un entornosimilar y a continuacioacuten debe agregar unarchivo de especificacioacuten de la aplicacioacuten(archivo AppSpec)El archivo AppSpec es exclusivo de CodeDeploy Define las acciones de implementacioacuten que debeejecutar CodeDeploy El contenido implementable y el archivo AppSpec se agrupan en un archivo dealmacenamiento y a continuacioacuten cargarlo en un bucket de Amazon S3 o un repositorio GitHub Estearchivo de almacenamiento se denomina revisioacuten de la aplicacioacuten (o simplemente revisioacuten)

2 A continuacioacuten debe proporcionar a CodeDeploy informacioacuten acerca de la implementacioacuten comoel bucket de Amazon S3 o el repositorio de GitHub del que debe tomar la revisioacuten y el conjunto deinstancias Amazon EC2 en que debe implementar el contenido CodeDeploy llama a un conjunto deinstancias de Amazon EC2grupo de implementacioacuten Un grupo de implementaciones contiene instanciasetiquetadas individualmente de Amazon EC2 instancias Amazon EC2 en grupos de Auto Scaling deAmazon EC2 o ambas

Cada vez que cargue correctamente una nueva revisioacuten de una aplicacioacuten que desee implementaren el grupo de implementaciones el paquete correspondiente se marca como revisioacuten de destinopara ese grupo de implementaciones En otras palabras la revisioacuten de la aplicacioacuten que debeimplementarse en cada momento es la revisioacuten de destino Tambieacuten es la revisioacuten que se extrae paralas implementaciones automaacuteticas

Versioacuten de API 2014-10-068

AWS CodeDeploy Guiacutea del usuarioDescripcioacuten general de una implementacioacuten laquobluegreenraquo

3 A continuacioacuten el agente de CodeDeploy de cada instancia sondea a CodeDeploy para determinar queacuteextraer del bucket de Amazon S3 o repositorio GitHub especificado y cuaacutendo hacerlo

4 Por uacuteltimo el agente de CodeDeploy de cada instancia extrae la revisioacuten de destino del bucket deAmazon S3 o repositorio GitHub y sigue las instrucciones del archivo AppSpec para implementar elcontenido en la instancia

CodeDeploy mantiene un registro de las implementaciones para proporcionarle informacioacuten tal como suestado y sus paraacutemetros de configuracioacuten de la implementacioacuten el estado de las instancias etc

Descripcioacuten general de una implementacioacuten laquobluegreenraquoSe utiliza una implementacioacuten bluegreen para actualizar las aplicaciones al tiempo que se minimizan lasinterrupciones causadas por los cambios de una nueva versioacuten de la aplicacioacuten CodeDeploy aprovisionala nueva versioacuten de la aplicacioacuten junto con la versioacuten anterior antes de reenrutar el traacutefico de produccioacuten

bull AWSLambda El traacutefico se desviacutea desde una versioacuten de una funcioacuten Lambda a una nueva versioacuten de lamisma funcioacuten Lambda

bull Amazon ECS El traacutefico se desviacutea desde un conjunto de tareas de su servicio de Amazon ECS a unconjunto de tareas actualizado de sustitucioacuten en el mismo servicio Amazon ECS

bull EC2On-Premises El traacutefico se desviacutea desde un conjunto de instancias en el entorno original a unconjunto de instancias de sustitucioacuten

TodosAWSLas implementaciones de Lambda y Amazon ECS son bluegreen Una implementacioacuten EC2On-Premises puede ser in situ o bluegreen Una implementacioacuten bluegreen ofrece diversas ventajas conrespecto a la implementacioacuten in situ

bull Puede instalar y probar una aplicacioacuten en el nuevo entorno de sustitucioacuten e implementarla en produccioacutencon solo redirigir el traacutefico

bull Si utiliza la plataforma de computacioacuten EC2On-premises es maacutes raacutepido y seguro volver a cambiar ala versioacuten maacutes reciente de una aplicacioacuten Esto se debe a que el traacutefico puede volver a dirigirse a lasinstancias originales siempre que no se hayan terminado Con una implementacioacuten in situ las versionesdeben revertirse a la versioacuten anterior de la aplicacioacuten

bull Si utiliza la plataforma de computacioacuten EC2On-premises se preparan instancias nuevas para unaimplementacioacuten bluegreen y reflejan las configuraciones maacutes actuales de los servidores Esto ayudaa evitar la clase de problemas que a veces aparecen en las instancias que llevan mucho tiempo enejecucioacuten

bull Si utiliza laAWSPlataforma de computacioacuten de Lambda puede controlar coacutemo se desviacutea el traacutefico de suoriginalAWSVersioacuten de funcioacuten de Lambda para su nuevoAWSVersioacuten de funcioacuten de Lambda

bull Si utiliza la plataforma de computacioacuten Amazon ECS puede controlar coacutemo se desviacutea el traacutefico delconjunto de tareas original al nuevo conjunto de tareas

Una implementacioacuten bluegreen (azulverde) con AWS CloudFormation puede utilizar uno de los siguientesmeacutetodos

bull AWS CloudFormationplantillas para implementaciones Al configurar implementacionesconAWS CloudFormationplantillas sus implementaciones se activan medianteAWSCloudFormationactualizaciones Cuando cambia un recurso y carga un cambio de plantilla unaactualizacioacuten de pila en AWS CloudFormation inicia la nueva implementacioacuten Para obtener unalista de los recursos que puede utilizar en las plantillas de AWS CloudFormation consulte AWSCloudFormationplantillas para referencia de CodeDeploy (p 444)

Versioacuten de API 2014-10-069

AWS CodeDeploy Guiacutea del usuarioDescripcioacuten general de una implementacioacuten laquobluegreenraquo

bull Implementaciones bluegreen (azul-verde) conAWS CloudFormation Puede usarAWSCloudFormationpara administrar sus implementaciones bluegreen (azulverde) a traveacutes deactualizaciones de pila Defina los recursos blue y green (azules y verdes) ademaacutes de especificar laconfiguracioacuten de enrutamiento y estabilizacioacuten del traacutefico dentro de la plantilla de pila A continuacioacutensi actualiza los recursos seleccionados durante una actualizacioacuten de pila AWS CloudFormationgenera todos los recursos green (verdes) necesarios desviacutea el traacutefico en funcioacuten de los paraacutemetrosde direccionamiento del traacutefico especificados y elimina los recursos blue (azules) Para obtener maacutesinformacioacuten consulteAutomatice las implementaciones bluegreen (azulverde) de Amazon ECS a traveacutesde CodeDeployAWS CloudFormationen laAWS CloudFormationGuiacutea del usuario de

Note

Solo se admite para implementaciones bluegreen (azulverde) de Amazon ECS

La forma de configurar una implementacioacuten bluegreen depende la plataforma de computacioacuten que utilicela implementacioacuten

Implementacioacuten bluegreen en unaAWS Lambdao plataforma decoacutemputo Amazon ECSSi utiliza laAWS Lambdao plataforma informaacutetica Amazon ECS debe indicar coacutemo se desplaza el traacuteficodel originalAWS Lambdafuncioacuten o conjunto de tareas de Amazon ECS en la nueva funcioacuten o conjunto detareas Para indicar coacutemo se desviacutea el traacutefico debe especificar una de las siguientes configuraciones deimplementacioacuten

bull canariobull linealbull todo a la vez

Para obtener maacutes informacioacuten sobre coacutemo se desviacutea el traacutefico en configuraciones de implementacionescanarias lineales o todo a la vez consulteConfiguracioacuten de implementacioacuten (p 13)

Para obtener maacutes informacioacuten sobre la configuracioacuten de implementacioacuten de Lambda consulteConfiguraciones de implementacioacuten en unaAWS Lambdaplataforma de computacioacuten (p 268)

Para obtener maacutes informacioacuten sobre la configuracioacuten de implementacioacuten de Amazon ECSconsulteConfiguraciones de implementacioacuten en una plataforma de computacioacuten Amazon ECS (p 267)

Implementacioacuten bluegreen en una plataforma de computacioacutenEC2On-Premises

Note

Debe utilizar instancias Amazon EC2 para implementaciones bluegreen en la plataformade computacioacuten EC2On-Premises No se admiten instancias on-premises para el tipo deimplementacioacuten bluegreen

Si utiliza la plataforma de computacioacuten EC2On-Premises tenga en cuenta lo siguiente

Debe disponer de una o varias instancias Amazon EC2 con identificacioacuten de etiquetas de Amazon EC2 oun grupo de Auto Scaling de Amazon EC2 Las instancias tambieacuten deben cumplir los requisitos siguientes

bull Cada instancia de Amazon EC2 debe tener asociado el perfil de instancia de IAM correctobull El agente de CodeDeploy debe estar instalado y en ejecucioacuten en cada instancia

Versioacuten de API 2014-10-0610

AWS CodeDeploy Guiacutea del usuarioDescripcioacuten general de una implementacioacuten laquobluegreenraquo

Note

Normalmente tambieacuten hay una revisioacuten de la aplicacioacuten ejecutaacutendose en las instancias delentorno original pero esto no es un requisito para una implementacioacuten bluegreen

Al crear un grupo de implementaciones para utilizarlo en implementaciones bluegreen puede elegir elmodo de especificar el entorno de sustitucioacuten

Copiar un grupo de Amazon EC2 Auto Scaling existente En las implementaciones bluegreen CodeDeploycrea las instancias del entorno de sustitucioacuten durante la implementacioacuten Con esta opcioacuten CodeDeployutiliza el grupo de Amazon EC2 Auto Scaling especificado como plantilla para el entorno de sustitucioacutenincluyendo el mismo nuacutemero de instancias en ejecucioacuten y muchas otras opciones de configuracioacuten

Elegir las instancias manualmente Puede especificar las instancias consideradas de sustitucioacuten medianteetiquetas de instancia Amazon EC2 nombres de grupo de Amazon EC2 Auto Scaling o ambos Si eligeesta opcioacuten no tendraacute que especificar las instancias del entorno de sustitucioacuten hasta el momento de crearuna implementacioacuten

Asiacute es como funciona

1 Ya cuenta con instancias o un grupo de Auto Scaling de Amazon EC2 que sirven como entorno originalLa primera vez que ejecute una implementacioacuten bluegreen normalmente usaraacute instancias que ya sehabraacuten utilizado en una implementacioacuten in situ

2 Para una aplicacioacuten de CodeDeploy ya existente debe crear un grupo de implementaciones bluegreenen el que ademaacutes de las opciones necesarias para una implementacioacuten in situ debe especificar losiguientebull El balanceador de carga que dirige el traacutefico del entorno original al entorno de sustitucioacuten durante el

proceso de implementacioacuten bluegreenbull Si el traacutefico debe dirigirse al entorno de sustitucioacuten de inmediato o esperar a que lo redirija

manualmentebull La velocidad con la que se dirige el traacutefico a las instancias de sustitucioacutenbull Si las instancias sustituidas deben terminarse o mantenerse en ejecucioacuten

3 Ahora crearaacute una implementacioacuten para este grupo de implementaciones en la que ocurriraacute lo siguientea Si decide copiar un grupo de Auto Scaling de Amazon EC2 se preparan instancias para el entorno de

sustitucioacutenb La revisioacuten de aplicacioacuten especificada para la implementacioacuten se instala en las instancias de

sustitucioacutenc Si ha especificado un tiempo de espera en la configuracioacuten del grupo de implementaciones la

implementacioacuten se pausa Este es el momento en el que puede realizar pruebas y verificaciones enel entorno de sustitucioacuten Si no redirige manualmente el traacutefico antes de que finalice el periodo deespera la implementacioacuten se detiene

d Las instancias del entorno de sustitucioacuten se registran con un balanceador de carga de Elastic LoadBalancing y el traacutefico comienza a dirigirse a ellas

e Las instancias del entorno original se borran del registro y se terminan o se mantienen en ejecucioacutenseguacuten lo que haya especificado para el grupo de implementaciones

Implementacioacuten bluegreen (azulAWS CloudFormationPuede administrar implementaciones bluegreen de CodeDeploy (azulverde) de CodeDeploy modelandosus recursos con unAWS CloudFormationplantilla de

Cuando modela los recursos bluegreen (azulverde) utilizando una plantilla de AWS CloudFormationcrea una actualizacioacuten de pila en AWS CloudFormation que actualiza el conjunto de tareas El traacutefico deproduccioacuten pasa del conjunto de tareas original del servicio a un conjunto de tareas de sustitucioacuten o bien

Versioacuten de API 2014-10-0611

AWS CodeDeploy Guiacutea del usuarioEsperamos tener noticias suyas

todo a la vez con implementaciones lineales y tiempos de procesamiento o bien con implementacionesde valores controlados La actualizacioacuten de la pila inicia una implementacioacuten en CodeDeploy Puedever el estado y el historial de la implementacioacuten en CodeDeploy pero no crea ni administra recursos deCodeDeploy de fuera de laAWS CloudFormationplantilla de

Note

Para implementaciones bluegreen (azulverde) a traveacutesAWS CloudFormation no se crea unaaplicacioacuten de CodeDeploy ni un grupo de implementacioacuten

Este meacutetodo solo admite implementaciones bluegreen (azulverde) de Amazon ECS Para obtener maacutesinformacioacuten acerca de las implementaciones bluegreen (azulverde) a traveacutes de AWS CloudFormationconsulte Cree una implementacioacuten bluegreen (azulverde) de Amazon ECS medianteAWSCloudFormation (p 337)

Esperamos tener noticias suyasAgradecemos sus comentarios Para ponerse en contacto con nosotros visiteforo de CodeDeploy

Temas

bull Primary Components (p 12)bull Deployments (p 16)bull Application Specification Files (p 32)

Componentes principales de CodeDeployAntes de empezar a trabajar con el servicio debe familiarizarse con los componentes principales delproceso de implementacioacuten de CodeDeploy

Temasbull Aplicacioacuten (p 12)bull Plataforma de computacioacuten (p 13)bull Configuracioacuten de implementacioacuten (p 13)bull Grupo de implementaciones (p 14)bull Tipo de implementacioacuten (p 14)bull Perfil de instancia IAM (p 15)bull Revisioacuten (p 15)bull Rol de servicio (p 15)bull revisioacuten de destino (p 15)bull Otros componentes (p 16)

AplicacioacutenUnaplicacioacutenes un nombre que identifica de forma exclusiva la aplicacioacuten que desea implementarCodeDeploy utiliza este nombre que actuacutea como contenedor para asegurar que se hace referencia a lacombinacioacuten correcta de revisioacuten configuracioacuten de implementacioacuten y grupo de implementacioacuten duranteuna implementacioacuten

Versioacuten de API 2014-10-0612

AWS CodeDeploy Guiacutea del usuarioPlataforma de computacioacuten

Plataforma de computacioacutenUNAplataforma de computacioacutenes una plataforma en la que CodeDeploy implementa una aplicacioacutenExisten tres plataformas de computacioacuten

bull EC2On-Premises Describe las instancias de servidores fiacutesicos que pueden ser instancias en la nube deAmazon EC2 servidores on-premises o ambas cosas Las aplicaciones creadas mediante la plataformade computacioacuten EC2On-Premises pueden estar formadas por archivos ejecutables archivos deconfiguracioacuten imaacutegenes etc

Las implementaciones que usan la plataforma de computacioacuten EC2On-Premises administran laforma en que el traacutefico se enviacutea a las instancias mediante un tipo de implementacioacuten laquoin-placeraquo olaquobluegreenraquo Para obtener maacutes informacioacuten consulte Introduccioacuten a los tipos de implementacioacuten deCodeDeploy (p 7)

bull AWSLambda Se utiliza para implementar aplicaciones que constan de una versioacuten actualizada deuna funcioacuten LambdaAWS Lambdaadministra la funcioacuten Lambda en un entorno de computacioacuten sinservidor formado por una estructura de computacioacuten de alta disponibilidad AWS Lambda se encargade realizar toda la administracioacuten de los recursos de computacioacuten Para obtener maacutes informacioacutenconsulteInformaacutetica sin servidor y aplicaciones Para obtener maacutes informacioacuten acerca deAWS Lambdaylas funciones Lambda consulteAWS Lambda

Puede administrar la forma en que el traacutefico se dirige a las versiones actualizadas de las funcionesLambda durante una implementacioacuten eligiendo una configuracioacuten controlada lineal o todo a la vez

bull Amazon ECS Se utiliza para implementar una aplicacioacuten en contenedor de Amazon ECS como conjuntode tareas CodeDeploy realiza una implementacioacuten bluegreen (azulverde) instalando una versioacutenactualizada de la aplicacioacuten como un nuevo conjunto de tareas de sustitucioacuten CodeDeploy redirige eltraacutefico de produccioacuten del conjunto de tareas de la aplicacioacuten original al conjunto de tareas de sustitucioacutenCuando la implementacioacuten se realiza correctamente se termina el conjunto de tareas original Paraobtener maacutes informacioacuten acerca de Amazon ECS consulteAmazon Elastic Container Service

Puede administrar la forma en que el traacutefico se desplaza al conjunto de tareas actualizado durante unaimplementacioacuten eligiendo una configuracioacuten controlada lineal o todo a la vez

Note

Las implementaciones bluegreen (azulverde) de Amazon ECS se admiten a traveacutes deCodeDeploy yAWS CloudFormation Los detalles de estas implementaciones se describen ensecciones posteriores

Configuracioacuten de implementacioacutenUNAconfiguracioacuten de implementacioacutenes un conjunto de reglas de implementacioacuten y condiciones de eacutexitoo fracaso que CodeDeploy utiliza durante una implementacioacuten Si su implementacioacuten usa la plataforma decomputacioacuten EC2On-Premises puede especificar el nuacutemero miacutenimo de instancias en buen estado parala implementacioacuten Si la implementacioacuten utiliza elAWS Lambdao la plataforma de computacioacuten AmazonECS puede especificar la forma en que el traacutefico se enviacutea a la funcioacuten Lambda actualizada o al conjuntode tareas ECS

Para obtener maacutes informacioacuten acerca de coacutemo especificar el nuacutemero miacutenimo de hosts en buen estadopara una implementacioacuten que usa la plataforma de computacioacuten EC2On-Premises consulteMiacutenimo deinstancias e implementaciones en buen estado (p 261)

En las siguientes configuraciones de implementacioacuten se especifica la forma en que el traacutefico se enviacuteadurante una implementacioacuten que usa Lambda o la plataforma de computacioacuten ECS

bull Canario El traacutefico se desviacutea en dos incrementos Puede elegir opciones laquocanaryraquo predefinidas queespecifiquen el porcentaje de traacutefico desviado a la funcioacuten Lambda actualizada o al conjunto de tareas

Versioacuten de API 2014-10-0613

AWS CodeDeploy Guiacutea del usuarioGrupo de implementaciones

ECS en el primer incremento y el intervalo en minutos antes de que el traacutefico restante se desviacutee en elsegundo incremento

bull Lineal El traacutefico se desviacutea en incrementos iguales con el mismo nuacutemero de minutos entre incrementosPuede elegir opciones lineales predefinidas que especifiquen el porcentaje de traacutefico desviado en cadaincremento y el nuacutemero de minutos entre cada incremento

bull Todo a la vez Todo el traacutefico se desviacutea de la funcioacuten Lambda original o el conjunto de tareas ECS a lafuncioacuten actualizada o conjunto de tareas a la vez

Grupo de implementacionesUNAgrupo de implementacioacutenes un conjunto de instancias individuales Un grupo de implementacioacutencontiene instancias etiquetadas individualmente instancias de Amazon EC2 en grupos de Amazon EC2Auto Scaling o ambos elementos Para obtener informacioacuten sobre las etiquetas de las instancias deAmazon EC2 consulteUso de etiquetas mediante la consola Para obtener maacutes informacioacuten acercade instancias on-premises consulte Working with On-Premises Instances (p 230) Para obtenerinformacioacuten sobre Amazon EC2 Auto Scaling consulteIntegracioacuten de CodeDeploy con Amazon EC2 AutoScaling (p 53)

Tipo de implementacioacutenUNAtipo de implementacioacutenes un meacutetodo utilizado para hacer que la uacuteltima revisioacuten de la aplicacioacuten esteacutedisponible en instancias de un grupo de implementacioacuten Existen dos tipos de implementaciones

bull Implementacioacuten in situ Se detiene la aplicacioacuten de cada instancia del grupo de implementacioacuten seinstala la uacuteltima revisioacuten de la aplicacioacuten y se inicia y valida la nueva versioacuten de la aplicacioacuten Puedeutilizar un balanceador de carga de modo que se cancele el registro de cada instancia durante suimplementacioacuten y a continuacioacuten vuelva a ponerse en servicio una vez completada la implementacioacutenSolo las implementaciones que usan la plataforma de computacioacuten EC2On-Premises pueden utilizarimplementaciones laquoin-placeraquo Para obtener maacutes informacioacuten acerca de las implementaciones in-placeconsulte Descripcioacuten general de una implementacioacuten laquoin-placeraquo (p 8)

bull Implementacioacuten bluegreen El funcionamiento de la implementacioacuten depende de la plataforma decomputacioacuten que utilicebull Bluegreen en una plataforma de computacioacuten EC2On-Premises Las instancias de un grupo de

implementacioacuten (el entorno original) se sustituyen por otro conjunto de instancias (el entorno desustitucioacuten) siguiendo estos pasosbull Las instancias se aprovisionan para el entorno de sustitucioacutenbull La uacuteltima revisioacuten de la aplicacioacuten se instala en las instancias de sustitucioacutenbull Se produce un tiempo de espera opcional para actividades tales como pruebas de aplicaciones y

verificacioacuten del sistemabull Las instancias del entorno de sustitucioacuten se registran con un balanceador de carga de Elastic Load

Balancing lo que hace que el traacutefico se desviacutee hacia ellas Las instancias del entorno original secancelan del registro y pueden terminarse o mantenerse en ejecucioacuten para otros usos

Note

Si utiliza una plataforma informaacutetica EC2local tenga en cuenta que las implementaciones enazul y verde funcionan uacutenicamente con instancias de Amazon EC2

bull Bluegreen en unAWS Lambdao plataforma de coacutemputo Amazon ECS El traacutefico se desviacutea enincrementos de acuerdo con uncanariolineal o bientodo a la vezconfiguracioacuten de implementacioacutenPara obtener maacutes informacioacuten consulte Configuracioacuten de implementacioacuten (p 13)

bull Implementaciones bluegreen (azul-verde) conAWS CloudFormation El traacutefico se desviacutea de losrecursos actuales a los recursos actualizados de como parte de unaAWS CloudFormationactualizacioacutende pila de Actualmente solo se admiten implementaciones de ECS bluegreen (azulverde)

Versioacuten de API 2014-10-0614

AWS CodeDeploy Guiacutea del usuarioTipo de implementacioacuten

Para obtener maacutes informacioacuten acerca de las implementaciones bluegreen consulte Descripcioacuten generalde una implementacioacuten laquobluegreenraquo (p 9)

Note

Las implementaciones bluegreen (azulverde) de Amazon ECS se admiten mediante CodeDeployyAWS CloudFormation Los detalles de estas implementaciones se describen en seccionesposteriores

Perfil de instancia IAMUnPerfil de instancia IAMes un rol de IAM que adjunta a las instancias de Amazon EC2 Este perfil incluyelos permisos necesarios para acceder a los buckets de Amazon S3 o a los repositorios GitHub en losque se encuentran las aplicaciones Para obtener maacutes informacioacuten consulte Paso 4 Crear un perfil deinstancias de IAM para sus instancias Amazon EC2 (p 43)

RevisioacutenUNArevisioacutenes una versioacuten de la aplicacioacuten UnAWSLa revisioacuten de implementacioacuten de Lambda es unarchivo con formato YAML o JSON que especifica informacioacuten sobre la funcioacuten Lambda que se va aimplementar Una revisioacuten de una implementacioacuten EC2On-Premises es un archivo de almacenamientoque incluye contenido de origen (coacutedigo fuente paacuteginas web archivos ejecutables y scripts deimplementacioacuten) y un archivo de especificacioacuten de la aplicacioacuten (archivo AppSpec)AWS Las revisionesLambda se pueden almacenar en buckets de Amazon S3 Las revisiones EC2On-Premises se almacenanen buckets de Amazon S3 o en repositorios GitHub En el caso de Amazon S3 una revisioacuten se identificade forma exclusiva mediante su clave de objeto de Amazon S3 y etiqueta electroacutenica de Amazon S3su versioacuten o ambos elementos Para GitHub una revisioacuten se identifica de forma exclusiva por su ID deconfirmacioacuten

Rol de servicioUNARol de servicio dees un rol de IAM que otorga permisos a unAWSservicio para que puedaaccederAWSde AWS Las poliacuteticas que adjuntas al rol de servicio determinan queacuteAWSrecursos a los quepuede acceder el servicio y las acciones que puede llevar a cabo con esos recursos Para CodeDeploy seutiliza un rol de servicio para lo siguiente

bull Para leer las etiquetas aplicadas a las instancias o los nombres de grupo de Amazon EC2 AutoScaling asociados a las instancias Esto permite a CodeDeploy identificar instancias en las que puedeimplementar aplicaciones

bull Para realizar operaciones en instancias grupos Auto Scaling de Amazon EC2 y balanceadores de cargade Elastic Load Balancing

bull Para publicar informacioacuten en temas de Amazon SNS para que se puedan enviar notificaciones cuandose produzcan eventos de instancia o implementacioacuten especificados

bull Para recuperar informacioacuten sobre las alarmas de CloudWatch para configurar la supervisioacuten de alarmaspara implementaciones

Para obtener maacutes informacioacuten consulte Paso 2 Creacioacuten de un rol de servicio paraCodeDeploy (p 36)

revisioacuten de destinoUNArevisioacuten de destinoes la versioacuten maacutes reciente de la revisioacuten de la aplicacioacuten que ha cargado en elrepositorio y desea implementar en las instancias de un grupo de implementacioacuten Es decir revisioacuten de la

Versioacuten de API 2014-10-0615

AWS CodeDeploy Guiacutea del usuarioOtros componentes

aplicacioacuten que se va a incluir en la implementacioacuten actual Tambieacuten es la revisioacuten que se extrae para lasimplementaciones automaacuteticas

Otros componentesPara obtener informacioacuten sobre otros componentes del flujo de trabajo de CodeDeploy consulte lossiguientes temas

bull Elija un tipo de repositorio de CodeDeploy (p 314)bull Deployments (p 16)bull Application Specification Files (p 32)bull Instance Health (p 259)bull Trabajar con el agente de CodeDeploy (p 175)bull Working with On-Premises Instances (p 230)

Implementaciones de CodeDeployEste tema proporciona informacioacuten sobre los componentes y el flujo de trabajo de las implementacionesen CodeDeploy El proceso de implementacioacuten variacutea seguacuten la plataforma de computacioacuten o el meacutetodode implementacioacuten (Lambda Amazon ECS EC2On-Premises o a traveacutes deAWS CloudFormation) queutilizas para tus implementaciones

Note

Las implementaciones en una plataforma de computacioacuten Amazon ECS no se admiten en laregioacuten Asia-Paciacutefico (Osaka)

Temasbull Implementaciones en unaAWSPlataforma de computacioacuten Lambda (p 16)bull Implementaciones en una plataforma de computacioacuten Amazon ECS (p 19)bull Implementaciones en una plataforma de computacioacuten EC2On-Premises (p 27)

Implementaciones en unaAWSPlataforma decomputacioacuten LambdaEste tema proporciona informacioacuten sobre los componentes y el flujo de trabajo de las implementaciones deCodeDeploy que utilizan laAWSPlataforma de computacioacuten Lambda

Temasbull Flujo de trabajo de implementacioacuten enAWS Lambdaplataforma de computacioacuten (p 17)bull Carga de la revisioacuten de la aplicacioacuten (p 18)bull Crear la aplicacioacuten de y los grupos de implementaciones (p 18)bull Implementacioacuten de la revisioacuten de la aplicacioacuten (p 18)bull Actualizacioacuten de la aplicacioacuten (p 18)bull Implementaciones detenidas y con error (p 18)bull Reimplementaciones y restauracioacuten de implementaciones (p 18)

Versioacuten de API 2014-10-0616

AWS CodeDeploy Guiacutea del usuarioImplementaciones en unaAWSPlataforma

de computacioacuten Lambda

Flujo de trabajo de implementacioacuten enAWS Lambdaplataformade computacioacutenEn el siguiente diagrama se muestran los principales pasos en la implementacioacuten de funciones AWSLambda nuevas y actualizadas

Estos pasos incluyen

1 Cree una aplicacioacuten y asiacutegnele un nombre que identifique las revisiones de la aplicacioacuten que deseaimplementar Para desplegar funciones Lambda elijaAWSPlataforma de computacioacuten Lambda alcrear la aplicacioacuten de CodeDeploy utiliza este nombre durante una implementacioacuten para asegurarsede que se haga referencia a los componentes correctos de la implementacioacuten como el grupo deimplementaciones la configuracioacuten de la implementacioacuten y la revisioacuten de la aplicacioacuten Para obtenermaacutes informacioacuten consulte Crear una aplicacioacuten con CodeDeploy (p 273)

2 Configure un grupo de implementaciones especificando el nombre del grupo3 Elija una configuracioacuten de implementacioacuten para especificar coacutemo se desviacutea el traacutefico desde el

originalAWS Lambdaversioacuten de funcioacuten a la nueva versioacuten de funcioacuten Lambda Para obtener maacutesinformacioacuten consulte View Deployment Configuration Details (p 270)

4 Carga de unarchivo de especificacioacuten de la aplicacioacuten(archivo de AppSpec) para Amazon S3 Enel archivo AppSpec se especifica una versioacuten de la funcioacuten de Lambda y las funciones de Lambdautilizadas para validar la implementacioacuten Si no desea crear un archivo AppSpec puede especificaruna versioacuten de la funcioacuten de Lambda y las funciones de validacioacuten de la implementacioacuten de Lambdadirectamente en la consola utilizando YAML o JSON Para obtener maacutes informacioacuten consulte Uso derevisiones de aplicaciones de CodeDeploy (p 307)

5 Implemente la revisioacuten de la aplicacioacuten en el grupo de implementacionesAWS CodeDeployimplementala revisioacuten de la funcioacuten de Lambda que ha especificado El traacutefico se desviacutea a la revisioacuten de la funcioacutende Lambda utilizando el archivo AppSpec de implementacioacuten que seleccionoacute al crear la aplicacioacuten Paraobtener maacutes informacioacuten consulte Cree una implementacioacuten con CodeDeploy (p 324)

6 Compruebe los resultados de la implementacioacuten Para obtener maacutes informacioacuten consulte Monitorizarimplementaciones en CodeDeploy (p 358)

Versioacuten de API 2014-10-0617

AWS CodeDeploy Guiacutea del usuarioImplementaciones en unaAWSPlataforma

de computacioacuten Lambda

Carga de la revisioacuten de la aplicacioacutenPonga un archivo AppSpec en Amazon S3 o introduacutezcalo directamente en la consola oAWS CLI Paraobtener maacutes informacioacuten consulte Application Specification Files (p 32)

Crear la aplicacioacuten de y los grupos de implementacionesUn grupo de implementaciones de CodeDeploy en unAWSLa plataforma de computacioacuten Lambdaidentifica una coleccioacuten de uno o varios archivos AppSpec Cada archivo de AppSpec puede implementaruna versioacuten de funcioacuten Lambda Un grupo de implementaciones tambieacuten define un conjunto de opcionesde configuracioacuten para implementaciones futuras como alarmas y configuraciones de restauracioacuten

Implementacioacuten de la revisioacuten de la aplicacioacutenAhora ya estaacute listo para implementar la revisioacuten de la funcioacuten especificada en el archivo AppSpecen el grupo de implementaciones Puede utilizar la consola de CodeDeploy o lacreate deploymentcreatecomando Hay paraacutemetros que puede especificar para controlar la implementacioacuten que incluyen larevisioacuten el grupo de implementaciones y la configuracioacuten de la implementacioacuten

Actualizacioacuten de la aplicacioacutenPuede llevar a cabo actualizaciones de su aplicacioacuten y a continuacioacuten utilizar la consola de CodeDeploy ollamar alcreate deployment createpara impulsar una revisioacuten

Implementaciones detenidas y con errorPuede utilizar la consola de CodeDeploy o ladetener el desplieguepara detener una implementacioacutenCuando se intenta detener la implementacioacuten sucede una de estas tres cosas

bull La implementacioacuten se detiene y la operacioacuten devuelve el estado ldquorealizada correctamenterdquo En estecaso no se ejecutan maacutes eventos del ciclo de vida de implementacioacuten en el grupo de implementacionespara la implementacioacuten detenida

bull La implementacioacuten no se detiene inmediatamente y la operacioacuten devuelve el estado ldquopendienterdquo En estecaso podriacutean seguir ejecutaacutendose algunos eventos del ciclo de vida de implementacioacuten en el grupo deimplementaciones Despueacutes de finalizada la operacioacuten pendiente las llamadas posteriores para detenerla implementacioacuten devuelven el estado ldquorealizada correctamenterdquo

bull La implementacioacuten no se puede detener y la operacioacuten devuelve un error Para obtener maacutes informacioacutenconsulteErrorInformationyErrores comunesen laAWS CodeDeployReferencia de la API de

Al igual que las implementaciones detenidas las implementaciones con errores pueden hacer que algunoseventos del ciclo de vida de implementacioacuten ya se hayan ejecutado Para saber por queacute se produjo unerror en una implementacioacuten puede utilizar la consola de CodeDeploy o analizar los datos del archivode registro de la implementacioacuten que dio error Para obtener maacutes informacioacuten consulte Revisioacuten deaplicaciones y limpieza de archivos de registro (p 183) y Ver datos de registro de las implementacionesde CodeDeploy EC2On-Premises (p 342)

Reimplementaciones y restauracioacuten de implementacionesCodeDeploy implementa restauraciones volviendo a implementar una revisioacuten implementada anteriormentecomo una nueva implementacioacuten

Puede configurar un grupo de implementaciones para que se restaure automaacuteticamente si se danciertas condiciones por ejemplo si falla una implementacioacuten o si se supera el umbral de monitorizacioacuten

Versioacuten de API 2014-10-0618

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataforma

de computacioacuten Amazon ECS

de alarmas Ademaacutes puede anular la configuracioacuten de restauracioacuten especificada para el grupo deimplementaciones en una implementacioacuten individual

Tambieacuten puede optar por restaurar una implementacioacuten que produjo error manualmente volviendo aimplementar una revisioacuten implementada anteriormente

En todos los casos a la implementacioacuten nueva o restaurada se le asigna su propio ID de implementacioacutenEn la lista de implementaciones que puede ver en la consola de CodeDeploy se muestra cuaacuteles son elresultado de una implementacioacuten automaacutetica

Para obtener maacutes informacioacuten consulte Redesplegar y deshacer una implementacioacuten conCodeDeploy (p 345)

Implementaciones en una plataforma de computacioacutenAmazon ECSEste tema proporciona informacioacuten sobre los componentes y el flujo de trabajo de las implementaciones deCodeDeploy que utilizan la plataforma de computacioacuten Amazon ECS

Temasbull Antes de iniciar una implementacioacuten de Amazon ECS (p 19)bull Flujo de trabajo de implementacioacuten (alto nivel) en una plataforma de computacioacuten Amazon

ECS (p 21)bull Queacute ocurre durante una implementacioacuten de Amazon ECS (p 22)bull Carga de la revisioacuten de la aplicacioacuten (p 26)bull Crear la aplicacioacuten de y los grupos de implementaciones (p 26)bull Implementacioacuten de la revisioacuten de la aplicacioacuten (p 26)bull Actualizacioacuten de la aplicacioacuten (p 26)bull Implementaciones detenidas y con error (p 26)bull Reimplementaciones y restauracioacuten de implementaciones (p 27)bull Implementaciones laquobluegreenraquo de Amazon ECS a traveacutes deAWS CloudFormation (p 27)

Antes de iniciar una implementacioacuten de Amazon ECSAntes de empezar una implementacioacuten de aplicacioacuten de Amazon ECS debe tener listo lo siguienteAlgunos requisitos se especifican al crear su grupo de implementaciones y algunos se especifican en elarchivo AppSpec

Requisito Donde se especifica

Cluacutester de Amazon ECS Grupo de implementaciones

Servicio de Amazon ECS Grupo de implementaciones

Application Load Balancer o Network LoadBalancer

Grupo de implementaciones

Agente de escucha de produccioacuten Grupo de implementaciones

Agente de escucha de prueba (opcional) Grupo de implementaciones

Dos grupos de destino Grupo de implementaciones

Definicioacuten de tarea de Amazon ECS archivo AppSpec

Versioacuten de API 2014-10-0619

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataforma

de computacioacuten Amazon ECS

Requisito Donde se especifica

Nombre de contenedor archivo AppSpec

Puerto del contenedor archivo AppSpec

Cluacutester de Amazon ECS

Un cluacutester de Amazon ECS es una agrupacioacuten loacutegica de tareas o servicios Especifique el cluacutester deAmazon ECS que contiene su servicio de Amazon ECS al crear el grupo de implementaciones de laaplicacioacuten CodeDeploy Para obtener maacutes informacioacuten consulteCluacutesteres de Amazon ECSen laGuiacuteadel usuario de Amazon Elastic

Servicio de Amazon ECS

Un Amazon ECSServicio demantiene y ejecuta instancias especificadas de una definicioacuten de tareaen un cluacutester de Amazon ECS El servicio Amazon ECS debe estar habilitado para CodeDeploy Deforma predeterminada un servicio Amazon ECS estaacute habilitado para implementaciones de AmazonECS Al crear su grupo de implementaciones puede elegir implementar un servicio de Amazon ECSque se encuentra en su cluacutester de Amazon ECS Para obtener maacutes informacioacuten consulteServicios deAmazon ECSen laGuiacutea del usuario de Amazon Elastic

Application Load Balancer o Network Load Balancer

Debe utilizar Elastic Load Balancing con el servicio Amazon ECS que desea actualizar con unaimplementacioacuten de Amazon ECS Puede utilizar un Application Load Balancer o un Network LoadBalancer Le recomendamos un Application Load Balancer para que pueda aprovechar caracteriacutesticastales como el mapeo de puertos dinaacutemico y el enrutamiento basado en rutas y las reglas de prioridadEspecifique el balanceador de carga al crear el grupo de implementaciones de la aplicacioacuten deCodeDeploy Para obtener maacutes informacioacuten consulteConfigurar un equilibrador de carga grupos dedestino y listeners para implementaciones de CodeDeploy Amazon ECS (p 296)yCreacioacuten de unbalanceador de cargaen laGuiacutea del usuario de Amazon Elastic

Uno o dos agentes de escucha

El balanceador de carga utiliza un agente de escucha para dirigir el traacutefico hacia los grupos dedestino Es obligatorio un agente de escucha de produccioacuten Puede especificar un segundo agentede escucha de prueba opcional que dirija el traacutefico hacia conjunto de tareas de sustitucioacuten mientrasejecuta las pruebas de validacioacuten Especifique uno o ambos agentes de escucha al crear su grupode implementaciones Si utiliza la consola de Amazon ECS para crear su servicio de Amazon ECSlos agentes de escucha se crean automaacuteticamente Para obtener maacutes informacioacuten consulteAgentesde escucha para balanceadores de carga de aplicacionesen laElastic Load Balancing Guiacutea delusuarioyCrear un servicioen laGuiacutea del usuario de Amazon Elastic

Dos grupos objetivo de Amazon ECS

Un grupo de destino se utiliza para dirigir el traacutefico a un destino registrado Una implementacioacutende Amazon ECS requiere dos grupos de destino uno para el conjunto de tareas original de laaplicacioacuten Amazon ECS y otro para su conjunto de tareas de sustitucioacuten Durante la implementacioacutenCodeDeploy crea un conjunto de tareas de sustitucioacuten y redirige el traacutefico desde el conjunto de tareasoriginal al nuevo Especifique los grupos de destino al crear el grupo de implementaciones de laaplicacioacuten de CodeDeploy

Durante una implementacioacuten CodeDeploy determina queacute grupo de destino estaacute asociado al conjuntode tareas del servicio Amazon ECS que tiene el estadoPRIMARY(este es el conjunto de tareas original)y le asocia un grupo de destino y a continuacioacuten asocia el otro grupo de destino al conjunto detareas de sustitucioacuten Si realiza otra implementacioacuten el grupo de destino asociado al conjunto detareas original de la implementacioacuten actual se asocia al siguiente conjunto de tareas de sustitucioacuten deimplementacioacuten Para obtener maacutes informacioacuten consulteGrupos de destino para los balanceadores decarga de aplicacionesen laElastic Load Balancing Guiacutea del usuario

Versioacuten de API 2014-10-0620

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataforma

de computacioacuten Amazon ECS

Una definicioacuten de tarea de Amazon ECS

UNAdefinicioacuten de tareaes necesario para ejecutar el contenedor Docker que contiene la aplicacioacutenAmazon ECS Especifique el ARN de su definicioacuten de tarea en el archivo AppSpec de la aplicacioacutenCodeDeploy Para obtener maacutes informacioacuten consulteDefiniciones de tareas de Amazon ECSen laGuiacuteadel usuario del servicio de Amazon Elasticy Seccioacuten laquoresourcesraquo de AppSpec para implementacionesde Amazon ECS (p 416)

Contenedor de la aplicacioacuten Amazon ECS

Un contenedor Docker es una unidad de software que empaqueta coacutedigo y sus dependencias paraque pueda ejecutarse su aplicacioacuten Un contenedor aiacutesla la aplicacioacuten por lo que se puede ejecutaren distintos entornos informaacuteticos El balanceador de carga dirige traacutefico a un contenedor del conjuntode tareas de la aplicacioacuten de Amazon ECS Especifique el nombre del contenedor en el archivoAppSpec de la aplicacioacuten CodeDeploy El contenedor especificado en su archivo AppSpec debe seruno de los contenedores especificados en la definicioacuten de tareas de Amazon ECS Para obtener maacutesinformacioacuten consulteiquestQueacute es Amazon Elastic Container Serviceen laGuiacutea del usuario de AmazonElasticy Seccioacuten laquoresourcesraquo de AppSpec para implementaciones de Amazon ECS (p 416)

Un puerto para su conjunto de tareas de sustitucioacuten

Durante la implementacioacuten de Amazon ECS el balanceador de carga dirige traacutefico hacia estepuertoenel contenedor especificado en el archivo AppSpec de la aplicacioacuten CodeDeploy Especifique el puertoen el archivo AppSpec de la aplicacioacuten CodeDeploy Para obtener maacutes informacioacuten consulte Seccioacutenlaquoresourcesraquo de AppSpec para implementaciones de Amazon ECS (p 416)

Flujo de trabajo de implementacioacuten (alto nivel) en una plataformade computacioacuten Amazon ECSEn el diagrama siguiente se muestran los principales pasos en la implementacioacuten de servicios de AmazonECS actualizados

Estos pasos incluyen

Versioacuten de API 2014-10-0621

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataforma

de computacioacuten Amazon ECS

1 Cree una aplicacioacuten de AWS CodeDeploy especificando un nombre que represente de forma exclusivalo que desea implementar Para implementar una aplicacioacuten Amazon ECS en suAWS CodeDeployelija la plataforma informaacutetica de Amazon ECS CodeDeploy utiliza una aplicacioacuten durante unaimplementacioacuten para hacer referencia a los componentes correctos de la implementacioacuten como elgrupo de implementaciones grupos de destino agentes de escucha y comportamiento de redireccioacutende traacutefico asiacute como revisioacuten de la aplicacioacuten Para obtener maacutes informacioacuten consulte Crear unaaplicacioacuten con CodeDeploy (p 273)

2 Configure un grupo de implementaciones especificandobull El nombre del grupo de implementacionesbull El nombre del servicio y el cluacutester de Amazon ECS El controlador de implementacioacuten del servicio de

Amazon ECS se debe establecer en CodeDeploybull El agente de escucha de produccioacuten un agente de escucha de prueba opcional y los grupos de

destino utilizados durante una implementacioacutenbull Configuracioacuten de implementacioacuten como por ejemplo cuaacutendo redirigir el traacutefico de produccioacuten al

conjunto de tareas Amazon ECS de sustitucioacuten en su servicio de Amazon ECS y cuaacutendo terminar elconjunto de tareas Amazon ECS original en su servicio de Amazon ECS

bull Las configuraciones opcionales como los desencadenadores alarmas y comportamiento derestauracioacuten

3 Especificar unarchivo de especificacioacuten de la aplicacioacuten(archivo AppSpec) Puede cargarlo en AmazonS3 introducirlo en la consola en formato YAML o JSON o especificarlo con laAWS CLIo SDK Elarchivo AppSpec especifica una definicioacuten de tareas de Amazon ECS para la implementacioacuten unnombre de contenedor y el mapeo de puertos utilizado para dirigir el traacutefico y funciones Lambdaejecutadas despueacutes de los enlaces de ciclo de vida de implementacioacuten El nombre del contenedor debeser un contenedor en la definicioacuten de tareas de Amazon ECS Para obtener maacutes informacioacuten consulteUso de revisiones de aplicaciones de CodeDeploy (p 307)

4 Implemente la revisioacuten de la aplicacioacutenAWS CodeDeployredirige el traacutefico desde la versioacuten original deun conjunto de tareas en su servicio de Amazon ECS a un nuevo conjunto de tareas de sustitucioacutenLos grupos de destino especificados en el grupo de implementaciones se utilizan para enviar traacutefico alos conjuntos de tareas original y de sustitucioacuten Cuando se completa la implementacioacuten se termina elconjunto de tareas original Puede especificar un agente de escucha de prueba opcional para enviartraacutefico de prueba a la versioacuten de sustitucioacuten antes de redirigir el traacutefico a la misma Para obtener maacutesinformacioacuten consulte Cree una implementacioacuten con CodeDeploy (p 324)

5 Compruebe los resultados de la implementacioacuten Para obtener maacutes informacioacuten consulte Monitorizarimplementaciones en CodeDeploy (p 358)

Queacute ocurre durante una implementacioacuten de Amazon ECSAntes de iniciar una implementacioacuten de Amazon ECS con un agente de escucha de prueba debeconfigurar sus componentes Para obtener maacutes informacioacuten consulte Antes de iniciar una implementacioacutende Amazon ECS (p 19)

En el siguiente diagrama se muestra la relacioacuten entre estos componentes cuando una implementacioacuten deAmazon ECS estaacute lista para comenzar

Versioacuten de API 2014-10-0622

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataforma

de computacioacuten Amazon ECS

Cuando comienza la implementacioacuten los eventos del ciclo de vida de la implementacioacuten empiezan aejecutarse uno tras otro Algunos eventos del ciclo de vida son enlaces que solo ejecutan las funcionesLambda especificadas en el archivo AppSpec Los eventos de ciclo de vida de la implementacioacuten de lasiguiente tabla se indican en el orden en el que se ejecutan Para obtener maacutes informacioacuten consulteSeccioacuten hooks de AppSpec para una implementacioacuten de Amazon ECS (p 422)

Evento del ciclo de vida Accioacuten de evento del ciclo de vida

BeforeInstall(un enlace para funcionesLambda)

Ejecute funciones Lambda

Instalar Configurar el conjunto de tareas de sustitucioacuten

AfterInstall(un enlace para funcionesLambda)

Ejecute funciones Lambda

AllowTestTraffic Dirigir el traacutefico del agente de prueba al grupo dedestino 2

AfterAllowTestTraffic(un enlace parafunciones Lambda)

Ejecute funciones Lambda

BeforeAllowTraffic(un enlace para funcionesLambda)

Ejecute funciones Lambda

AllowTraffic Dirigir el traacutefico desde el agente de escucha deproduccioacuten al grupo de destino 2

AfterAllowTraffic Ejecute funciones Lambda

Note

Las funciones de Lambda en un enlace son opcionales

1Ejecute todas las funciones Lambda especificadas en elBeforeInstallgancho en el archivoAppSpec

Versioacuten de API 2014-10-0623

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataforma

de computacioacuten Amazon ECS

2Durante el evento de ciclo de vida Install

a Se crea un conjunto de tareas de sustitucioacuten en el servicio Amazon ECSb La aplicacioacuten en contenedor actualizada se instala en el conjunto de tareas de sustitucioacutenc El segundo grupo de destino se asocia al conjunto de tareas de sustitucioacuten

En el siguiente diagrama se muestran los componentes de implementacioacuten con el nuevo conjuntode tareas de sustitucioacuten La aplicacioacuten en contenedor estaacute dentro del conjunto de tareas El conjuntode tareas se compone de tres tareas (Una aplicacioacuten puede tener cualquier nuacutemero de tareas) Elsegundo grupo de destino se asocia ahora al conjunto de tareas de sustitucioacuten

3Ejecute todas las funciones Lambda especificadas en elAfterInstallgancho en el archivoAppSpec

4Se invoca el evento AllowTestTraffic Durante este evento del ciclo de vida el agente de escuchade prueba dirige el traacutefico a la aplicacioacuten en contenedor actualizada

Versioacuten de API 2014-10-0624

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataforma

de computacioacuten Amazon ECS

5Ejecute todas las funciones Lambda especificadas en elAfterAllowTestTrafficgancho en elarchivo AppSpec Las funciones de Lambda pueden validar la implementacioacuten mediante traacuteficode prueba Por ejemplo una funcioacuten Lambda puede servir traacutefico al agente de escucha de pruebay realizar un seguimiento de las meacutetricas del conjunto de tareas de sustitucioacuten Si se configuranrestauraciones puede configurar una alarma de CloudWatch que active una restauracioacuten cuando nose supere la prueba de validacioacuten de la funcioacuten de Lambda

Una vez realizadas las pruebas de validacioacuten se produce una de las situaciones siguientes

bull Si no se supera la validacioacuten y se han configurado las restauraciones el estado de laimplementacioacuten se marca como Failed y los componentes vuelven al estado que teniacutean cuando seinicioacute la implementacioacuten

bull Si no se supera la validacioacuten y no se han configurado las restauraciones el estado de laimplementacioacuten se marca como Failed y los componentes permanecen en su estado actual

bull Si se supera la validacioacuten la implementacioacuten continuacutea hasta el enlace BeforeAllowTraffic

Para obtener maacutes informacioacuten consulte Supervisioacuten de implementaciones con alarmas deCloudWatch en CodeDeploy (p 360) Restauraciones automaacuteticas (p 346) y Configuracioacuten de lasopciones avanzadas de un grupo de implementaciones (p 303)

6Ejecute todas las funciones Lambda especificadas en elBeforeAllowTrafficgancho en el archivoAppSpec

7Se invoca el evento AllowTraffic El traacutefico se desviacutea del conjunto de tareas original al conjuntode tareas de sustitucioacuten En el siguiente diagrama se muestra el conjunto de tareas de sustitucioacutenrecibiendo traacutefico de produccioacuten

8Ejecute todas las funciones Lambda especificadas en elAfterAllowTrafficgancho en el archivoAppSpec

9Despueacutes de que todos los eventos se ejecuten correctamente el estado de la implementacioacuten seestablece en Succeeded y el conjunto de tareas original se elimina

Versioacuten de API 2014-10-0625

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataforma

de computacioacuten Amazon ECS

Carga de la revisioacuten de la aplicacioacutenPonga un archivo AppSpec en Amazon S3 o introduacutezcalo directamente en la consola oAWS CLI Paraobtener maacutes informacioacuten consulte Application Specification Files (p 32)

Crear la aplicacioacuten de y los grupos de implementacionesUn grupo de implementaciones de CodeDeploy en una plataforma de computacioacuten Amazon ECS identificaagentes de escucha para enviar traacutefico a la aplicacioacuten Amazon ECS actualizada y a dos grupos de destinoutilizados durante la implementacioacuten Un grupo de implementaciones tambieacuten define un conjunto deopciones de configuracioacuten como alarmas y configuraciones de restauracioacuten

Implementacioacuten de la revisioacuten de la aplicacioacutenAhora estaacute listo para implementar el servicio de Amazon ECS actualizado especificado en su grupo deimplementaciones Puede utilizar la consola de CodeDeploy o lacreate deployment createcomando Hayparaacutemetros que puede especificar para controlar la implementacioacuten que incluyen el grupo de revisioacuten y deimplementaciones

Actualizacioacuten de la aplicacioacutenPuede llevar a cabo actualizaciones de su aplicacioacuten y a continuacioacuten utilizar la consola de CodeDeploy ollamar alcreate deployment createpara impulsar una revisioacuten

Implementaciones detenidas y con errorPuede utilizar la consola de CodeDeploy o ladetener el desplieguepara detener una implementacioacutenCuando se intenta detener la implementacioacuten sucede una de estas tres cosas

bull La implementacioacuten se detiene y la operacioacuten devuelve el estado ldquorealizada correctamenterdquo En estecaso no se ejecutan maacutes eventos del ciclo de vida de implementacioacuten en el grupo de implementacionespara la implementacioacuten detenida

bull La implementacioacuten no se detiene inmediatamente y la operacioacuten devuelve el estado ldquopendienterdquo En estecaso podriacutean seguir ejecutaacutendose algunos eventos del ciclo de vida de implementacioacuten en el grupo de

Versioacuten de API 2014-10-0626

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataformade computacioacuten EC2On-Premises

implementaciones Despueacutes de finalizada la operacioacuten pendiente las llamadas posteriores para detenerla implementacioacuten devuelven el estado ldquorealizada correctamenterdquo

bull La implementacioacuten no se puede detener y la operacioacuten devuelve un error Para obtener maacutes informacioacutenconsulteInformacioacuten de erroresyErrores comunesen laAWS CodeDeployReferencia de la API de

Reimplementaciones y restauracioacuten de implementacionesCodeDeploy implementa restauraciones redirigiendo traacutefico desde el conjunto de tareas de sustitucioacuten alconjunto de tareas original

Puede configurar un grupo de implementaciones para que se restaure automaacuteticamente si se danciertas condiciones por ejemplo si falla una implementacioacuten o si se supera el umbral de monitorizacioacutende alarmas Ademaacutes puede anular la configuracioacuten de restauracioacuten especificada para el grupo deimplementaciones en una implementacioacuten individual

Tambieacuten puede optar por restaurar una implementacioacuten que produjo error manualmente volviendo aimplementar una revisioacuten implementada anteriormente

En todos los casos a la implementacioacuten nueva o restaurada se le asigna su propio ID de implementacioacutenEn la consola de CodeDeploy se muestra una lista de las implementaciones que son el resultado de unaimplementacioacuten automaacutetica

Si vuelve a realizar una implementacioacuten el grupo de destino asociado al conjunto de tareas originalde la implementacioacuten actual se asocia al siguiente conjunto de tareas de sustitucioacuten de la nuevaimplementacioacuten

Para obtener maacutes informacioacuten consulte Redesplegar y deshacer una implementacioacuten conCodeDeploy (p 345)

Implementaciones laquobluegreenraquo de Amazon ECS a traveacutesdeAWS CloudFormationPuede utilizarAWS CloudFormationpara administrar las implementaciones laquobluegreenraquo de Amazon ECS atraveacutes de CodeDeploy Para obtener maacutes informacioacuten consulte Cree una implementacioacuten bluegreen (azulverde) de Amazon ECS medianteAWS CloudFormation (p 337)

Note

Administracioacuten de implementaciones laquobluegreenraquo de Amazon ECS conAWS CloudFormationnoestaacute disponible en la regioacuten Asia-Paciacutefico (Osaka)

Implementaciones en una plataforma de computacioacutenEC2On-PremisesEste tema proporciona informacioacuten sobre los componentes y el flujo de trabajo de las implementacionesde CodeDeploy que utilizan la plataforma de computacioacuten EC2On-Premises Para obtener informacioacutensobre las implementaciones bluegreen consulte Descripcioacuten general de una implementacioacuten laquobluegreenraquo (p 9)

Temasbull Componentes de implementacioacuten en una plataforma de computacioacuten EC2On-Premises (p 28)bull Flujo de trabajo de implementacioacuten en una plataforma de computacioacuten EC2On-Premises (p 28)

Versioacuten de API 2014-10-0627

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataformade computacioacuten EC2On-Premises

bull Configuracioacuten de instancias (p 30)bull Carga de la revisioacuten de la aplicacioacuten (p 31)bull Crear la aplicacioacuten de y los grupos de implementaciones (p 31)bull Implementacioacuten de la revisioacuten de la aplicacioacuten (p 31)bull Actualizacioacuten de la aplicacioacuten (p 31)bull Implementaciones detenidas y con error (p 31)bull Reimplementaciones y restauracioacuten de implementaciones (p 32)

Componentes de implementacioacuten en una plataforma decomputacioacuten EC2On-PremisesEn el siguiente diagrama se muestran los componentes de una implementacioacuten de CodeDeploy en unaplataforma de computacioacuten EC2On-Premises

Flujo de trabajo de implementacioacuten en una plataforma decomputacioacuten EC2On-PremisesEn el diagrama siguiente se muestran los principales pasos en la implementacioacuten de revisiones deaplicaciones

Versioacuten de API 2014-10-0628

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataformade computacioacuten EC2On-Premises

Estos pasos incluyen

1 Cree una aplicacioacuten y asiacutegnele un nombre que identifique las revisiones de la aplicacioacuten que deseaimplementar y la plataforma de computacioacuten de la aplicacioacuten CodeDeploy utiliza este nombre duranteuna implementacioacuten para asegurarse de que se haga referencia a los componentes correctos dela implementacioacuten como el grupo de implementaciones la configuracioacuten de la implementacioacuteny la revisioacuten de la aplicacioacuten Para obtener maacutes informacioacuten consulte Crear una aplicacioacuten conCodeDeploy (p 273)

2 Configure un grupo de implementaciones especificando un tipo de implementacioacuten y las instanciasen las que desea implementar las revisiones de la aplicacioacuten Una implementacioacuten in situ actualizainstancias con la uacuteltima revisioacuten de la aplicacioacuten Una implementacioacuten bluegreen registra un conjuntode instancias de sustitucioacuten para el grupo de implementaciones con un balanceador de carga y cancelael registro de las instancias originales

Puede especificar las etiquetas aplicadas a las instancias los nombres de grupos de Amazon EC2 AutoScaling o ambos

Si especifica un grupo de etiquetas en un grupo de implementaciones CodeDeploy se implementa eninstancias que tienen al menos una de las etiquetas especificadas aplicadas Si especifica dos o maacutesgrupos de etiquetas CodeDeploy se implementa uacutenicamente en las instancias que cumplan los criteriosde cada uno de los grupos de etiquetas Para obtener maacutes informacioacuten consulte Tagging Instances forDeployments (p 209)

En todos los casos las instancias se deben configurar para utilizarse en una implementacioacuten (es decirdeben estar etiquetadas o pertenecer a un grupo de Amazon EC2 Auto Scaling) y tener el agente deCodeDeploy instalado y ejecutaacutendose

Le proporcionamos unAWS CloudFormationplantilla que puede utilizar para configurar raacutepidamente unainstancia Amazon EC2 en funcioacuten de Amazon Linux o Windows Server Tambieacuten proporcionamos unagente de CodeDeploy independiente para que pueda instalarlo en instancias Amazon Linux UbuntuServer Red Hat Enterprise Linux (RHEL) o Windows Server Para obtener maacutes informacioacuten consulteCreacioacuten de un grupo de implementaciones con CodeDeploy (p 288)

Tambieacuten puede especificar las siguientes opcionesbull Notificaciones de Amazon SNS Cree desencadenadores que enviacuteen notificaciones a los suscriptores

de un tema de Amazon SNS cuando ocurren eventos especiacuteficos como eventos de eacutexito o error en

Versioacuten de API 2014-10-0629

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataformade computacioacuten EC2On-Premises

las implementaciones e instancias Para obtener maacutes informacioacuten consulte Monitoring Deploymentswith Amazon SNS Event Notifications (p 365)

bull Administracioacuten de implementaciones basadas en alarmas Implemente la monitorizacioacuten de alarmasde Amazon CloudWatch para detener las implementaciones cuando las meacutetricas superan o caen pordebajo de los umbrales establecidos en CloudWatch

bull Restauraciones de implementaciones automaacuteticas Configure una implementacioacuten para que serestaure automaacuteticamente a la uacuteltima revisioacuten correcta conocida si se produce un error en unaimplementacioacuten o si se supera el umbral de la alarma

3 Especifique una configuracioacuten de implementacioacuten para indicar en cuaacutentas instancias se debenimplementar simultaacuteneamente las revisiones de la aplicacioacuten y describir las condiciones de eacutexito yfracaso de la implementacioacuten Para obtener maacutes informacioacuten consulte View Deployment ConfigurationDetails (p 270)

4 Cargue una revisioacuten de la aplicacioacuten a Amazon S3 o a GitHub Ademaacutes de los archivos que deseaimplementar y los scripts que desea ejecutar durante la implementacioacuten debe incluir unarchivode especificacioacuten de la aplicacioacuten(archivo AppSpec) Este archivo contiene las instrucciones deimplementacioacuten como por ejemplo doacutende se deben copiar los archivos en cada instancia y cuaacutendose deben ejecutar los scripts de implementacioacuten Para obtener maacutes informacioacuten consulte Uso derevisiones de aplicaciones de CodeDeploy (p 307)

5 Implemente la revisioacuten de la aplicacioacuten en el grupo de implementaciones El agente de CodeDeployde cada instancia del grupo de implementaciones copia la revisioacuten de la aplicacioacuten desde AmazonS3 o GitHub a la instancia A continuacioacuten el agente de CodeDeploy separa los paquetes de larevisioacuten y con el archivo AppSpec copia los archivos a las ubicaciones especificadas y ejecuta losscripts de implementacioacuten Para obtener maacutes informacioacuten consulte Cree una implementacioacuten conCodeDeploy (p 324)

6 Compruebe los resultados de la implementacioacuten Para obtener maacutes informacioacuten consulte Monitorizarimplementaciones en CodeDeploy (p 358)

7 Vuelva a implementar una revisioacuten Se recomienda hacer esto si se necesita corregir un error en elcontenido de origen o ejecutar los scripts de la implementacioacuten en un orden diferente o solucionar unaimplementacioacuten que dio error Para ello empaquete nuevamente el contenido de origen cualquier scriptde implementacioacuten y el archivo AppSpec en una revisioacuten nueva y a continuacioacuten cargue la revisioacuten albucket de Amazon S3 o al repositorio de GitHub Luego ejecute una nueva implementacioacuten en el mismogrupo de implementaciones con la nueva revisioacuten Para obtener maacutes informacioacuten consulte Cree unaimplementacioacuten con CodeDeploy (p 324)

Configuracioacuten de instanciasDebe configurar instancias antes de implementar revisiones en la aplicacioacuten por primera vez Si la revisioacutende una aplicacioacuten requiere tres servidores de produccioacuten y dos servidores de copia de seguridad lanzaraacute outilizaraacute cinco instancias

Para aprovisionar instancias manualmente

1 Instale el agente CodeDeploy en las instancias El agente CodeDeploy se puede instalar en instanciasde Amazon Linux Ubuntu Server RHEL y Windows Server

2 Habilite el etiquetado si estaacute utilizando etiquetas para identificar instancias en un grupo deimplementaciones CodeDeploy utiliza etiquetas para identificar y agrupar instancias en grupos deimplementaciones de CodeDeploy Si bien los tutoriales de Introduccioacuten utilizaron ambos puede usaruna clave o un valor para definir una etiqueta para un grupo de implementaciones

3 Lance instancias Amazon EC2 con un perfil de instancias de IAM adjunto Se deberaacute adjuntar el perfil dela instancia de IAM a una instancia Amazon EC2 al lanzarla para que el agente de CodeDeploy verifiquela identidad de la instancia

4 Cree un rol de servicio Conceda acceso al servicio para que CodeDeploy pueda expandir las etiquetasen elAWSaccount

Versioacuten de API 2014-10-0630

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataformade computacioacuten EC2On-Premises

Para una implementacioacuten inicial la plantilla de AWS CloudFormation hace todo esto de maneraautomaacutetica Crea y configura instancias Amazon EC2 nuevas y uacutenicas en funcioacuten de Amazon Linux oWindows Server con el agente de CodeDeploy instalado Para obtener maacutes informacioacuten consulte Trabajocon instancias para CodeDeploy (p 207)

Note

Para una implementacioacuten laquobluegreenraquo puede elegir entre utilizar las instancias que ya tiene parael entorno de sustitucioacuten o permitir que CodeDeploy aprovisione nuevas instancias como parte delproceso de implementacioacuten

Carga de la revisioacuten de la aplicacioacutenColoque un archivo AppSpec en la carpeta raiacutez de la estructura de carpetas del contenido de origen de laaplicacioacuten Para obtener maacutes informacioacuten consulte Application Specification Files (p 32)

Empaquete la estructura de carpetas del contenido de origen de la aplicacioacuten en un formato de archivo dealmacenamiento como zip tar o tar comprimido Cargue el archivo de almacenamiento (elrevisioacuten) a unbucket de Amazon S3 o repositorio de GitHub

Note

Los formatos de archivo tar y tar comprimido (tar y targz) no se admiten para las instancias deWindows Server

Crear la aplicacioacuten de y los grupos de implementacionesUn grupo de implementaciones de CodeDeploy identifica un conjunto de instancias en funcioacuten de susetiquetas nombres de grupo de Amazon EC2 Auto Scaling o ambos Se pueden implementar variasrevisiones de la aplicacioacuten en la misma instancia Una revisioacuten de la aplicacioacuten se puede implementar enmuacuteltiples instancias

Por ejemplo podriacutea agregar una etiqueta Prod a los tres servidores de produccioacuten y Backup a los dosservidores de backup Estas dos etiquetas se pueden utilizar para crear dos grupos de implementacionesdistintos en la aplicacioacuten CodeDeploy lo que permite elegir queacute conjunto de servidores (o ambos) deberiacuteanparticipar en una implementacioacuten

Puede utilizar varios grupos de etiquetas en un grupo de implementaciones para restringir lasimplementaciones con un conjunto maacutes pequentildeo de instancias Para obtener informacioacuten consulteTagging Instances for Deployments (p 209)

Implementacioacuten de la revisioacuten de la aplicacioacutenAhora ya estaacute listo para implementar la revisioacuten de la aplicacioacuten desde Amazon S3 o GitHub al grupo deimplementaciones Puede utilizar la consola de CodeDeploy o lacreate deployment createcomando Hayparaacutemetros que puede especificar para controlar la implementacioacuten que incluyen la revisioacuten el grupo deimplementaciones y la configuracioacuten de la implementacioacuten

Actualizacioacuten de la aplicacioacutenPuede llevar a cabo actualizaciones de su aplicacioacuten y a continuacioacuten utilizar la consola de CodeDeploy ollamar alcreate deployment createpara impulsar una revisioacuten

Implementaciones detenidas y con errorPuede utilizar la consola de CodeDeploy o ladetener el desplieguepara detener una implementacioacutenCuando se intenta detener la implementacioacuten sucede una de estas tres cosas

Versioacuten de API 2014-10-0631

AWS CodeDeploy Guiacutea del usuarioArchivos de especificacioacuten de aplicacioacuten

bull La implementacioacuten se detiene y la operacioacuten devuelve el estado ldquorealizada correctamenterdquo En estecaso no se ejecutan maacutes eventos del ciclo de vida de implementacioacuten en el grupo de implementacionespara la implementacioacuten detenida Es posible que algunos archivos se hayan copiado y que algunosscripts ya se hayan ejecutado en una o varias de las instancias del grupo de implementaciones

bull La implementacioacuten no se detiene inmediatamente y la operacioacuten devuelve el estado ldquopendienterdquo En estecaso podriacutean seguir ejecutaacutendose algunos eventos del ciclo de vida de implementacioacuten en el grupo deimplementaciones Es posible que algunos archivos se hayan copiado y que algunos scripts ya se hayanejecutado en una o varias de las instancias del grupo de implementaciones Despueacutes de finalizada laoperacioacuten pendiente las llamadas posteriores para detener la implementacioacuten devuelven el estadoldquorealizada correctamenterdquo

bull La implementacioacuten no se puede detener y la operacioacuten devuelve un error Para obtener maacutes informacioacutenconsulteErrorInformationyErrores comunesen laAWS CodeDeployReferencia de la API de

Al igual que las implementaciones detenidas las que dan error pueden dar lugar a que algunos eventosdel ciclo de vida de implementacioacuten ya se hayan ejecutado en una o varias de las instancias del grupode implementaciones Para averiguar por queacute no se ha realizado una implementacioacuten puede utilizarla consola de CodeDeploy llame alget-deployment-instanceo analice los datos del archivo de log deesa implementacioacuten Para obtener maacutes informacioacuten consulte Revisioacuten de aplicaciones y limpieza dearchivos de registro (p 183) y Ver datos de registro de las implementaciones de CodeDeploy EC2On-Premises (p 342)

Reimplementaciones y restauracioacuten de implementacionesCodeDeploy implementa restauraciones volviendo a implementar una revisioacuten implementada anteriormentecomo una nueva implementacioacuten

Puede configurar un grupo de implementaciones para que se restaure automaacuteticamente si se danciertas condiciones por ejemplo si falla una implementacioacuten o si se supera el umbral de monitorizacioacutende alarmas Ademaacutes puede anular la configuracioacuten de restauracioacuten especificada para el grupo deimplementaciones en una implementacioacuten individual

Tambieacuten puede optar por restaurar una implementacioacuten que produjo error manualmente volviendo aimplementar una revisioacuten implementada anteriormente

En todos los casos a la implementacioacuten nueva o restaurada se le asigna su propio ID de implementacioacutenEn la lista de implementaciones que puede ver en la consola de CodeDeploy se muestra cuaacuteles son elresultado de una implementacioacuten automaacutetica

Para obtener maacutes informacioacuten consulte Redesplegar y deshacer una implementacioacuten conCodeDeploy (p 345)

Archivos de especificacioacuten de aplicacioacutenCodeDeploy (AppSpec)

Un archivo de especificacioacuten de la aplicacioacuten (archivo AppSpec) que es exclusivo de CodeDeploy esunYAML-formateado oJSON-archivo formateado El archivo AppSpec se utiliza para administrar cadaimplementacioacuten como una serie de enlaces de eventos de ciclo de vida que se definen en el archivo

Para obtener informacioacuten acerca de coacutemo crear un archivo AppSpec con el formato correctoconsulteReferencia del archivo CodeDeploy AppSpec (p 407)

Temasbull Archivos AppSpec en una plataforma de computacioacuten Amazon ECS (p 33)

Versioacuten de API 2014-10-0632

AWS CodeDeploy Guiacutea del usuarioArchivos AppSpec en una plataforma

de computacioacuten Amazon ECS

bull Archivos AppSpec en unAWS Lambdaplataforma de computacioacuten (p 33)bull Archivos AppSpec en una plataforma de computacioacuten EC2On-Premises (p 33)bull Coacutemo utiliza el agente de CodeDeploy el archivo AppSpec (p 34)

Archivos AppSpec en una plataforma de computacioacutenAmazon ECSSi una aplicacioacuten utiliza la plataforma de computacioacuten Amazon ECS el archivo AppSpec puede tenerformato YAML o JSON Tambieacuten se puede escribir directamente en un editor en la consola El archivoAppSpec se utiliza para especificar lo siguiente

bull El nombre del servicio Amazon ECS y el nombre del contenedor y el puerto utilizado para dirigir el traacuteficohacia el nuevo conjunto de tareas

bull Las funciones que se van a usar como pruebas de validacioacuten

Puede ejecutar funciones de Lambda de validacioacuten despueacutes de los eventos del ciclo de vida deimplementacioacuten Para obtener maacutes informacioacuten consulte Seccioacuten hooks de AppSpec para unaimplementacioacuten de Amazon ECS (p 422) Estructura de archivos de AppSpec para implementacionesde Amazon ECS (p 409) y Ejemplo de archivo AppSpec para una implementacioacuten de Amazon ECS (p 436)

Archivos AppSpec en unAWS Lambdaplataforma decomputacioacutenSi una aplicacioacuten utiliza la aplicacioacutenAWSPlataforma de computacioacuten Lambda el archivo AppSpec puedetener formato YAML o JSON Tambieacuten se puede escribir directamente en un editor en la consola Elarchivo AppSpec se utiliza para especificar lo siguiente

bull La versioacuten de la funcioacuten de AWS Lambda que se debe implementarbull Las funciones que se van a usar como pruebas de validacioacuten

Puede ejecutar funciones de Lambda de validacioacuten despueacutes de los eventos del ciclo de vidade implementacioacuten Para obtener maacutes informacioacuten consulte Seccioacuten hooks de AppSpec paraunAWSImplementacioacuten de Lambda (p 426)

Archivos AppSpec en una plataforma de computacioacutenEC2On-PremisesSi una aplicacioacuten utiliza la plataforma de computacioacuten EC2On-Premises el archivo AppSpec siempre tieneel formato YAML El archivo AppSpec se utiliza para lo siguiente

bull Asignar los archivos de origen de la revisioacuten de la aplicacioacuten a sus destinos en la instanciabull Especificar permisos personalizados para los archivos implementadosbull Especificar los scripts que se van a ejecutar en cada instancia en las distintas fases del proceso de

implementacioacuten

Puede ejecutar scripts en una instancia despueacutes de muchos de los eventos individuales del ciclo de vidade implementacioacuten CodeDeploy solo ejecuta los scripts especificados en el archivo pero esos scriptspueden llamar a otros scripts en la instancia Puede ejecutar cualquier tipo de script siempre y cuando

Versioacuten de API 2014-10-0633

AWS CodeDeploy Guiacutea del usuarioCoacutemo utiliza el agente de CodeDeploy el archivo AppSpec

sea compatible con el sistema operativo que se ejecuta en las instancias Para obtener maacutes informacioacutenconsulte Seccioacuten hooks de AppSpec para una implementacioacuten EC2On-Premises (p 428)

Coacutemo utiliza el agente de CodeDeploy el archivoAppSpecDurante la implementacioacuten el agente de CodeDeploy busca el nombre del evento actual enlahooksseccioacuten del archivo AppSpec Si el evento no se encuentra el agente de CodeDeploy va alsiguiente paso Si el evento se encuentra el agente de CodeDeploy recupera la lista de scripts que hayque ejecutar Los scripts se ejecutan de forma secuencial en el orden en que aparecen en el archivo Elestado de cada script se registra en el archivo de registro del agente de CodeDeploy de la instancia

Si un script se ejecuta correctamente devuelve un coacutedigo de salida de 0 (cero)

Note

El agente CodeDeploy no se utiliza en unAWSLambda o una implementacioacuten de Amazon ECS

Durante laInstalar el agente de CodeDeploy utiliza las asignaciones definidas en elfilesdel archivoAppSpec para determinar las carpetas o los archivos que hay que copiar de la revisioacuten a la instancia

Si el agente de CodeDeploy instalado en el sistema operativo no coincide con lo que se indica en elarchivo AppSpec la implementacioacuten falla

Para obtener informacioacuten sobre los archivos de registro del agente de CodeDeploy consulteTrabajar con elagente de CodeDeploy (p 175)

Versioacuten de API 2014-10-0634

AWS CodeDeploy Guiacutea del usuarioPaso 1 Instalar o actualizar y a

continuacioacuten configurar laAWS CLI

Introduccioacuten a CodeDeployPara poder usar AWS CodeDeploy por primera vez debe completar los pasos de configuracioacuten

Para comenzar debe crear una cuenta en AWS Para crear una cuenta vaya ahttpsawsamazoncomyeligeCreacioacuten de unAWSCuenta

Entonces podraacute continuar con el resto de las tareas de configuracioacuten de esta seccioacuten

Temasbull Paso 1 Instalar o actualizar y a continuacioacuten configurar laAWS CLI (p 35)bull Paso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36)bull Paso 3 Provisionar un usuario de IAM (p 41)bull Paso 4 Crear un perfil de instancias de IAM para sus instancias Amazon EC2 (p 43)

Paso 1 Instalar o actualizar y a continuacioacutenconfigurar laAWS CLI

Para llamar a los comandos de CodeDeploy desde elAWS CLIen un equipo de desarrollo local debeinstalar laAWS CLI Los comandos de CodeDeploy estaacuten disponibles desde la versioacuten 161 de laAWS CLILos comandos de CodeDeploy para trabajar con instancias on-premises estaacuten disponibles desde la versioacuten1719 de laAWS CLI

Si tiene una versioacuten anterior de laAWS CLIinstalado debe actualizarlo para que esteacuten disponibles loscomandos de CodeDeploy Llame a aws --version para comprobar la versioacuten

Para instalar o actualizar la AWS CLI

1 Siga las instrucciones de Instalacioacuten de la AWS Command Line Interface para instalar o actualizar laAWS CLI

2 Para configurar laAWS CLI consulteConfiguracioacuten deAWS Command Line InterfaceyAdministracioacutende las claves de acceso de los usuarios de IAM

Important

Cuando configure la AWS CLI se le pediraacute que especifique una regioacuten de AWS Seleccioneuna de las regiones admitidas enumeradas enRegioacuten y puntos de enlaceen laAWSReferenciageneral de

3 Para verificar la instalacioacuten o actualizacioacuten llame al siguiente comando desde la AWS CLI

aws deploy help

Si se ejecuta correctamente este comando muestra una lista de los comandos de CodeDeploydisponibles

Versioacuten de API 2014-10-0635

AWS CodeDeploy Guiacutea del usuarioPaso 2 Crear un rol de servicio

Paso 2 Creacioacuten de un rol de servicio paraCodeDeploy

En AWS se utilizan roles de servicio para conceder permisos a un servicio de AWS de modo que tengaacceso a recursos de AWS Las poliacuteticas que se adjuntan al rol del servicio determinan a queacute recursospodraacute obtener acceso el servicio y queacute puede hacer con esos recursos

El rol de servicio que crea para CodeDeploy debe recibir los permisos necesarios para su plataformade procesamiento Para implementar en maacutes de una plataforma de computacioacuten cree un rol de serviciopara cada una Para agregar permisos asocie una o maacutes de las siguientes opcionesAWSpoliacuteticassuministradas por

En las implementaciones EC2On-Premises asocie elAWSCodeDeployRolepoliacutetica Proporciona lospermisos necesarios para que su rol de servicio

bull Lea las etiquetas en las instancias o identifique sus instancias de Amazon EC2 mediante nombres degrupo de Amazon EC2 Auto Scaling

bull Lea cree actualice y elimine grupos de Auto Scaling de Amazon EC2 enlaces de ciclo de vida ypoliacuteticas de escalado

bull Publique informacioacuten en los temas de Amazon SNSbull Permite recuperar informacioacuten sobre alarmas de CloudWatchbull Lea y actualice Elastic Load Balancing

Note

Si crea un grupo de Auto Scaling con una plantilla de inicio debe agregar los siguientespermisosbull ec2RunInstances

bull ec2CreateTags

bull iamPassRolePara obtener maacutes informacioacuten consultePaso 2 Crear un rol de servicio (p 36)Creacioacuten deuna plantilla de lanzamiento para un grupo de Auto Scaling yCompatibilidad con las plantillasde lanzamientoen laGuiacutea del usuario de Amazon EC2 Auto Scaling

En las implementaciones de Amazon ECS si desea obtener acceso total a los servicios de soporte teacutecnicoasocie elAWSCodeDeployRoleForECSpoliacutetica Proporciona los permisos necesarios para que su rol deservicio

bull Lea actualice y elimine conjuntos de tareas de Amazon ECSbull Actualice grupos de destino de Elastic Load Balancing agentes de escucha y reglas debull Invoque a funciones de AWS Lambdabull Acceda a archivos de revisioacuten en buckets de Amazon S3bull Permite recuperar informacioacuten sobre alarmas de CloudWatchbull Publique informacioacuten en los temas de Amazon SNS

En las implementaciones de Amazon ECS si desea obtener acceso limitado a los servicios de soporteteacutecnico asocie elAWSCodeDeployRoleForECSLimitedpoliacutetica Proporciona los permisos necesariospara que su rol de servicio

bull Lea actualice y elimine conjuntos de tareas de Amazon ECSbull Permite recuperar informacioacuten sobre alarmas de CloudWatch

Versioacuten de API 2014-10-0636

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de un rol de servicio de (consola)

bull Publique informacioacuten en los temas de Amazon SNS

ParaAWSLas implementaciones de Lambda si desea permitir la publicacioacuten en Amazon SNS asocieelAWSCodeDeployRoleForLambdapoliacutetica Proporciona los permisos necesarios para que su rol deservicio

bull Lea actualice e invoque funciones AWS Lambda y aliasbull Acceda a archivos de revisioacuten en buckets de Amazon S3bull Permite recuperar informacioacuten sobre alarmas de CloudWatchbull Publique informacioacuten en los temas de Amazon SNS

ParaAWSEn las implementaciones de Lambda si desea limitar el acceso a Amazon SNS asocieelAWSCodeDeployRoleForLambdaLimitedpoliacutetica Proporciona los permisos necesarios para que su rolde servicio

bull Lea actualice e invoque funciones AWS Lambda y aliasbull Acceda a archivos de revisioacuten en buckets de Amazon S3bull Permite recuperar informacioacuten sobre alarmas de CloudWatch

Como parte de la configuracioacuten del rol de servicio tambieacuten actualizaraacute su relacioacuten de confianza paraespecificar a queacute puntos de enlace desea concederle acceso

Puede crear un rol de servicio con la consola de IAM laAWS CLI o las API de IAM

Temasbull Creacioacuten de un rol de servicio de (consola) (p 37)bull Creacioacuten de un rol de servicio de (CLI) (p 39)bull Obtenga el ARN del rol de servicio (consola) (p 40)bull Obtenga el ARN del rol de servicio (CLI) (p 41)

Creacioacuten de un rol de servicio de (consola)1 Inicie sesioacuten en la AWS Management Console y abra la consola de IAM en https

consoleawsamazoncomiam2 En el panel de navegacioacuten seleccione Roles y luego seleccione Create role3 En la paacuteginaCreacioacuten de un rolpaacutegina elijaAWSServicio dey desde lasElija el servicio que utilizaraacute

este rollista elijaCodeDeploy4 En Select your use case (Seleccione su caso de uso) elija su caso de uso

bull En las implementaciones EC2On-Premises elijaCodeDeploybull Para las implementaciones de Amazon ECS elijaCodeDeploy - ECSbull ParaAWSImplementaciones de Lambda elijaCodeDeploy para Lambda

5 Seleccione Next (Siguiente) Permisos6 En la paacutegina Attached permissions policy (Poliacutetica de permisos asociada) se muestra la poliacutetica de

permisos Seleccione Next (Siguiente) Tags (Etiquetas)7 En la paacuteginaReview (Revisar)paacutegina enNombre del rol introduzca un nombre para el rol de servicio

de (por ejemploCodeDeployServiceRole) y luego elijaCreacioacuten de un rol

Tambieacuten puede introducir una descripcioacuten para este rol de servicio enDescripcioacuten del rol

Versioacuten de API 2014-10-0637

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de un rol de servicio de (consola)

8 Si desea que este rol de servicio tenga permiso de acceso a todos los puntos de enlace contempladosactualmente ya ha terminado con este procedimiento

Para restringir el acceso de este rol de servicio a algunos puntos de enlace en la lista de rolesexamine y elija el rol que ha creado y continuacutee en el paso siguiente

9 En la pestantildea Trust relationships (Relaciones de confianza) elija Edit trust relationship (Editar relacioacutende confianza)

10 Debe aparecer la siguiente poliacutetica que concede al rol de servicio el permiso de acceso a todos lospuntos de enlace compatibles

Version 2012-10-17 Statement [ Sid Effect Allow Principal Service [ codedeployamazonawscom ] Action stsAssumeRole ]

Para conceder acceso al rol de servicio a solo algunos puntos de enlace admitidos reemplace elcontenido del recuadro Policy Document (Documento de poliacutetica) con la poliacutetica siguiente Quite lasliacuteneas de los puntos de enlace a los que desea evitar el acceso y a continuacioacuten elija Update TrustPolicy (Actualizar poliacutetica de confianza)

Version 2012-10-17 Statement [ Sid Effect Allow Principal Service [ codedeployus-east-2amazonawscom codedeployus-east-1amazonawscom codedeployus-west-1amazonawscom codedeployus-west-2amazonawscom codedeployeu-west-3amazonawscom codedeployca-central-1amazonawscom codedeployeu-west-1amazonawscom codedeployeu-west-2amazonawscom codedeployeu-central-1amazonawscom codedeployap-east-1amazonawscom codedeployap-northeast-1amazonawscom codedeployap-northeast-2amazonawscom codedeployap-southeast-1amazonawscom codedeployap-southeast-2amazonawscom codedeployap-south-1amazonawscom codedeploysa-east-1amazonawscom ] Action stsAssumeRole ]

Versioacuten de API 2014-10-0638

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de un rol de servicio de (CLI)

Para obtener maacutes informacioacuten acerca de la creacioacuten de roles de servicio consulteCreacioacuten de un rol paradelegar permisos a unAWSServicio deen laIAM User Guide

Creacioacuten de un rol de servicio de (CLI)1 En el equipo de implementacioacuten crea un archivo de texto con un nombre como por ejemplo

CodeDeployDemo-Trustjson Este archivo se utiliza para permitir a CodeDeploy trabajar en sunombre

Realice alguna de las siguientes acciones

bull Para conceder acceso a todos los admitidosAWSRegions guarde el siguiente contenido en elarchivo

Version 2012-10-17 Statement [ Sid Effect Allow Principal Service [ codedeployamazonawscom ] Action stsAssumeRole ]

bull Para conceder acceso solo a algunas regiones escriba el siguiente contenido en el archivo yelimine las liacuteneas de las regiones a las que no desee conceder acceso

Version 2012-10-17 Statement [ Sid Effect Allow Principal Service [ codedeployus-east-2amazonawscom codedeployus-east-1amazonawscom codedeployus-west-1amazonawscom codedeployus-west-2amazonawscom codedeployeu-west-3amazonawscom codedeployca-central-1amazonawscom codedeployeu-west-1amazonawscom codedeployeu-west-2amazonawscom codedeployeu-central-1amazonawscom codedeployap-east-1amazonawscom codedeployap-northeast-1amazonawscom codedeployap-northeast-2amazonawscom codedeployap-southeast-1amazonawscom codedeployap-southeast-2amazonawscom codedeployap-south-1amazonawscom codedeploysa-east-1amazonawscom ] Action stsAssumeRole ]

Versioacuten de API 2014-10-0639

AWS CodeDeploy Guiacutea del usuarioObtenga el ARN del rol de servicio (consola)

Note

No incluya una coma despueacutes del uacuteltimo punto de enlace de la lista2 Desde el mismo directorio ejecute el comando create-role para crear un rol de servicio con el nombre

CodeDeployServiceRole basado en la informacioacuten del archivo de texto que acaba de crear

aws iam create-role --role-name CodeDeployServiceRole --assume-role-policy-document fileCodeDeployDemo-Trustjson

Important

Aseguacuterese de incluir file antes del nombre de archivo Es obligatorio en este comando

En la salida del comando anote el valor de la entrada Arn para el objeto Role Lo necesitaraacute maacutesadelante al crear grupos de implementaciones Si no recuerda el valor siga las instrucciones indicadasen Obtenga el ARN del rol de servicio (CLI) (p 41)

3 La poliacutetica administrada que utilice dependeraacute de la plataforma de computacioacuten

bull Para una implementacioacuten en una plataforma de computacioacuten EC2On-Premises

Llame a laattach-role-policypara asignar el rol de serviciodenominadoCodeDeployServiceRolelos permisos basados en la poliacutetica administrada de IAMdenominadaAWSCodeDeployRole Por ejemplo

aws iam attach-role-policy --role-name CodeDeployServiceRole --policy-arn arnawsiamawspolicyservice-roleAWSCodeDeployRole

bull Para una implementacioacuten en unaAWSPlataforma de computacioacuten Lambda

Llame a laattach-role-policypara asignar el rol de serviciodenominadoCodeDeployServiceRolelos permisos basados en la poliacutetica administrada de IAMdenominadaAWSCodeDeployRoleForLambdaoAWSCodeDeployRoleForLambdaLimited Porejemplo

aws iam attach-role-policy --role-name CodeDeployServiceRole --policy-arn arnawsiamawspolicyservice-roleAWSCodeDeployRoleForLambda

bull Para una implementacioacuten en una plataforma de computacioacuten Amazon ECS

Llame a laattach-role-policypara asignar el rol de serviciodenominadoCodeDeployServiceRolelos permisos basados en la poliacutetica administrada de IAMdenominadaAWSCodeDeployRoleForECSoAWSCodeDeployRoleForECSLimited Por ejemplo

aws iam attach-role-policy --role-name CodeDeployServiceRole --policy-arn arnawsiamawspolicyAWSCodeDeployRoleForECS

Para obtener maacutes informacioacuten acerca de la creacioacuten de roles de servicio consulteCreacioacuten de un rol paraunAWSServicio deen laIAM User Guide

Obtenga el ARN del rol de servicio (consola)Para obtener el ARN del rol de servicio con la consola de IAMVersioacuten de API 2014-10-06

40

AWS CodeDeploy Guiacutea del usuarioObtenga el ARN del rol de servicio (CLI)

1 Inicie sesioacuten en la AWS Management Console y abra la consola de IAM en httpsconsoleawsamazoncomiam

2 Seleccione Roles (Roles) en el panel de navegacioacuten3 En el cuadro Filter (Filtro) escriba CodeDeployServiceRole y a continuacioacuten pulse Intro4 Elija CodeDeployServiceRole5 Anote el valor del campo Role ARN (ARN de rol)

Obtenga el ARN del rol de servicio (CLI)Para obtener el ARN del rol de servicio con la AWS CLI ejecute el comando get-role para el rol de servicioCodeDeployServiceRole

aws iam get-role --role-name CodeDeployServiceRole --query RoleArn --output text

El valor devuelto es el ARN del rol de servicio

Paso 3 Provisionar un usuario de IAMSiga estas instrucciones para preparar a un usuario de IAM para que utilice CodeDeploy

1 Cree un usuario de IAM o utilice uno asociado a suAWSaccount Para obtener maacutes informacioacutenconsulteCreacioacuten de un usuario de IAMenIAM User Guide

2 Conceda al usuario de IAM acceso a CodeDeploy yAWSservicios y acciones de los que dependeCodeDeploy copie la siguiente poliacutetica y adjuacutentela al usuario de IAM

Version 2012-10-17 Statement [ Sid CodeDeployAccessPolicy Effect Allow Action [ autoscaling codedeploy ec2 lambda ecs elasticloadbalancing iamAddRoleToInstanceProfile iamAttachRolePolicy iamCreateInstanceProfile iamCreateRole iamDeleteInstanceProfile iamDeleteRole iamDeleteRolePolicy iamGetInstanceProfile iamGetRole iamGetRolePolicy iamListInstanceProfilesForRole iamListRolePolicies iamListRoles iamPutRolePolicy iamRemoveRoleFromInstanceProfile s3 ssm ] Resource

Versioacuten de API 2014-10-0641

AWS CodeDeploy Guiacutea del usuarioPaso 3 Provisionar un usuario de IAM

Sid CodeDeployRolePolicy Effect Allow Action [ iamPassRole ] Resource arnawsiamaccount-IDroleCodeDeployServiceRole ]

En la poliacutetica anterior sustituacuteyasearnawsiam account-idrolecodeDeployServiceRolecon el valor ARN del rol de servicio CodeDeploy de que ha creado enPaso 2 Creacioacuten de un rolde servicio para CodeDeploy (p 36) Puede encontrar el valor de ARN en la paacutegina de detalles delrol de servicio de la consola de IAM

La poliacutetica anterior concede al usuario de IAM para implementar unaAWSPlataforma de computacioacutenLambda una plataforma de computacioacuten EC2On-Premises y una plataforma de computacioacuten AmazonECS

Para obtener informacioacuten sobre coacutemo asociar una poliacutetica a un usuario de IAM consulteTrabajocon poliacuteticas Para obtener informacioacuten sobre coacutemo restringir a los usuarios de a un conjuntolimitado de acciones y recursos de CodeDeploy consulteIdentity and Access Management en AWSCodeDeploy (p 378)

Puede utilizar elAWS CloudFormationplantillas de que se incluyen en esta documentacioacutenpara lanzar las instancias de Amazon EC2 compatibles con CodeDeploy Para utilizarAWSCloudFormationplantillas de para crear aplicaciones grupos de implementaciones o configuracionesde implementacioacuten debe concederle acceso aAWS CloudFormationmdashyAWSservicios y accionesqueAWS CloudFormationdepende de asocie una poliacutetica adicional al usuario de IAM

Version 2012-10-17 Statement [ Effect Allow Action [ cloudformation ] Resource ]

Para obtener informacioacuten acerca de otros servicios de AWS mencionados en estas instruccionesconsulte

bull Informacioacuten general deAWS Identity and Access ManagementPoliacuteticas debull Control del acceso de los usuarios al balanceador de cargabull Control del acceso a los recursos de Auto Scalingbull ControlarAWS CloudFormationacceso a conAWS Identity and Access Management

Versioacuten de API 2014-10-0642

AWS CodeDeploy Guiacutea del usuarioPaso 4 Crear un perfil de instancia de IAM

Paso 4 Crear un perfil de instancias de IAM parasus instancias Amazon EC2

Note

Si utiliza Amazon ECS oAWSPlataforma de coacutemputo Lambda omita este paso Lasimplementaciones de Amazon ECS implementan un servicio Amazon ECS yAWSLasimplementaciones Lambda implementan una versioacuten de funcioacuten Lambda sin servidor por lo queno se requiere un perfil de instancia para las instancias Amazon EC2

Las instancias Amazon EC2 necesitan permiso de acceso a los buckets de Amazon S3 o a los repositoriosGitHub donde se encuentran las aplicaciones Para lanzar instancias Amazon EC2 compatibles conCodeDeploy debe crear un rol de IAM adicional unperfil de instancia Estas instrucciones le indicaraacutencoacutemo crear un perfil de instancia de IAM para asociarlo a las instancias Amazon EC2 Este rol concedea CodeDeploy permiso de acceso a los buckets de Amazon S3 o a los repositorios GitHub donde seencuentran las aplicaciones

Puede crear un perfil de instancia de IAM con elAWS CLI la consola de IAM o las API de IAMNote

Puede adjuntar un perfil de instancias de IAM a una instancia de EC2 en el momento de lanzarlao bien adjuntarlo a una instancia ya lanzada anteriormente Para obtener maacutes informacioacutenconsultePerfiles de instancias

Temasbull Crear un perfil de instancias de IAM para sus instancias Amazon EC2 (CLI) (p 43)bull Crear un perfil de instancias de IAM para sus instancias Amazon EC2 (consola) (p 45)

Crear un perfil de instancias de IAM para susinstancias Amazon EC2 (CLI)En estos pasos suponemos que ya ha seguido las instrucciones de los tres primeros pasos de Introduccioacutena CodeDeploy (p 35)

1 En el equipo de implementacioacuten crea un archivo de texto con el nombre CodeDeployDemo-EC2-Trustjson Pegue el contenido siguiente que permite a Amazon EC2 trabajar en su nombre

Version 2012-10-17 Statement [ Sid Effect Allow Principal Service ec2amazonawscom Action stsAssumeRole ]

2 En el mismo directorio crea un archivo de texto con el nombre CodeDeployDemo-EC2-Permissionsjson Pegue el siguiente contenido

Versioacuten de API 2014-10-0643

AWS CodeDeploy Guiacutea del usuarioCrear un perfil de instancias de IAM

para sus instancias Amazon EC2 (CLI)

Version 2012-10-17 Statement [ Action [ s3Get s3List ] Effect Allow Resource ]

Note

Le recomendamos que restrinja esta poliacutetica uacutenicamente a los buckets de Amazon S3 alos que las instancias Amazon EC2 deban tener acceso Aseguacuterese de conceder acceso alos buckets de Amazon S3 que contienen el agente de CodeDeploy De lo contrario podriacuteaproducirse un error cuando el agente de CodeDeploy se instale o actualice en las instanciasPara conceder al perfil de instancia de IAM acceso solo algunos buckets del kit de recursosde CodeDeploy en Amazon S3 utilice la poliacutetica siguiente pero elimine las liacuteneas de bucketsde a los que no desee conceder acceso

Version 2012-10-17 Statement [ Effect Allow Action [ s3Get s3List ] Resource [ arnawss3replace-with-your-s3-bucket-name arnawss3aws-codedeploy-us-east-2 arnawss3aws-codedeploy-us-east-1 arnawss3aws-codedeploy-us-west-1 arnawss3aws-codedeploy-us-west-2 arnawss3aws-codedeploy-ca-central-1 arnawss3aws-codedeploy-eu-west-1 arnawss3aws-codedeploy-eu-west-2 arnawss3aws-codedeploy-eu-west-3 arnawss3aws-codedeploy-eu-central-1 arnawss3aws-codedeploy-ap-east-1 arnawss3aws-codedeploy-ap-northeast-1 arnawss3aws-codedeploy-ap-northeast-2 arnawss3aws-codedeploy-ap-southeast-1 arnawss3aws-codedeploy-ap-southeast-2 arnawss3aws-codedeploy-ap-south-1 arnawss3aws-codedeploy-sa-east-1 ] ]

Note

Si desea utilizarAutorizacioacuten de IAMo puntos de enlace de Amazon Virtual Private Cloud(VPC) con CodeDeploy deberaacute agregar maacutes permisos ConsulteUso de CodeDeploy conAmazon Virtual Private Cloudpara obtener maacutes informacioacuten

Versioacuten de API 2014-10-0644

AWS CodeDeploy Guiacutea del usuarioCrear un perfil de instancias de IAM parasus instancias Amazon EC2 (consola)

3 Desde el mismo directorio llame alcreate-rolepara crear un rol de IAMdenominadoCodeDeployDemo-EC2-Instance-Profile basado en la informacioacuten del primerarchivo

Important

Aseguacuterese de incluir file antes del nombre de archivo Es obligatorio en este comando

aws iam create-role --role-name CodeDeployDemo-EC2-Instance-Profile --assume-role-policy-document fileCodeDeployDemo-EC2-Trustjson

4 Desde el mismo directorio llame al comando put-role-policy para conceder al rol CodeDeployDemo-EC2-Instance-Profile los permisos correspondientes a la informacioacuten del segundo archivo

Important

Aseguacuterese de incluir file antes del nombre de archivo Es obligatorio en este comando

aws iam put-role-policy --role-name CodeDeployDemo-EC2-Instance-Profile --policy-name CodeDeployDemo-EC2-Permissions --policy-document fileCodeDeployDemo-EC2-Permissionsjson

5 Llame a laattach-role-policypara otorgar al rol permisos de Amazon EC2 Systems Manager paraque SSM pueda instalar el agente de CodeDeploy Esta poliacutetica no es necesaria si tiene pensadoinstalar el agente desde el bucket de Amazon S3 puacuteblico con la liacutenea de comandos Maacutes informacioacutensobreinstalacioacuten del agente de CodeDeploy

aws iam attach-role-policy --policy-arn arnawsiamawspolicyAmazonSSMManagedInstanceCore --role-name CodeDeployDemo-EC2-Instance-Profile

6 Llame a lacreate-instance-profileseguida de laadd-role-to-instance-profilepara crear un perfil deinstancia de IAM denominadoCodeDeployDemo-EC2-Instance-Profile El perfil de instanciapermite a Amazon EC2 pasar el rol de IAM denominadoCodeDeployDemo-EC2-Instance-Profilea una instancia Amazon EC2 cuando se lanza la instancia por primera vez

aws iam create-instance-profile --instance-profile-name CodeDeployDemo-EC2-Instance-Profileaws iam add-role-to-instance-profile --instance-profile-name CodeDeployDemo-EC2-Instance-Profile --role-name CodeDeployDemo-EC2-Instance-Profile

Si necesita obtener el nombre del perfil de instancia de IAM consultelist-instance-perfiles-por-roleen laseccioacuten IAM delAWS CLIReferencia de de

Ya ha creado un perfil de instancia de IAM para asociarlo a las instancias Amazon EC2 Para obtener maacutesinformacioacuten consulteRoles de IAM para Amazon EC2en laGuiacutea del usuario de Amazon EC2

Crear un perfil de instancias de IAM para susinstancias Amazon EC2 (consola)1 Inicie sesioacuten en la AWS Management Console y abra la consola de IAM en https

consoleawsamazoncomiam2 En la consola de IAM en el panel de navegacioacuten elijaPoliacuteticasy luego seleccioneCrear poliacutetica Si

aparece el botoacuten Get Started (Empezar) eliacutejalo y a continuacioacuten elija Create Policy (Crear poliacutetica)3 En la paacutegina Create policy (Crear poliacutetica) pegue lo siguiente en la pestantildea JSON

Versioacuten de API 2014-10-0645

AWS CodeDeploy Guiacutea del usuarioCrear un perfil de instancias de IAM parasus instancias Amazon EC2 (consola)

Version 2012-10-17 Statement [ Action [ s3Get s3List ] Effect Allow Resource ]

Note

Le recomendamos que restrinja esta poliacutetica uacutenicamente a los buckets de Amazon S3 alos que las instancias Amazon EC2 deban tener acceso Aseguacuterese de conceder acceso alos buckets de Amazon S3 que contienen el agente de CodeDeploy De lo contrario podriacuteaproducirse un error cuando el agente de CodeDeploy se instale o actualice en las instanciasPara conceder al perfil de instancia de IAM acceso solo algunos buckets del kit de recursosde CodeDeploy en Amazon S3 utilice la poliacutetica siguiente pero elimine las liacuteneas de bucketsde a los que no desee conceder acceso

Version 2012-10-17 Statement [ Effect Allow Action [ s3Get s3List ] Resource [ arnawss3replace-with-your-s3-bucket-name arnawss3aws-codedeploy-us-east-2 arnawss3aws-codedeploy-us-east-1 arnawss3aws-codedeploy-us-west-1 arnawss3aws-codedeploy-us-west-2 arnawss3aws-codedeploy-ca-central-1 arnawss3aws-codedeploy-eu-west-1 arnawss3aws-codedeploy-eu-west-2 arnawss3aws-codedeploy-eu-west-3 arnawss3aws-codedeploy-eu-central-1 arnawss3aws-codedeploy-ap-east-1 arnawss3aws-codedeploy-ap-northeast-1 arnawss3aws-codedeploy-ap-northeast-2 arnawss3aws-codedeploy-ap-southeast-1 arnawss3aws-codedeploy-ap-southeast-2 arnawss3aws-codedeploy-ap-south-1 arnawss3aws-codedeploy-sa-east-1 ] ]

Note

Si desea utilizarAutorizacioacuten de IAMo puntos de enlace de Amazon Virtual Private Cloud(VPC) con CodeDeploy deberaacute agregar maacutes permisos ConsulteUso de CodeDeploy conAmazon Virtual Private Cloudpara obtener maacutes informacioacuten

4 Elija Review policy (Revisar poliacutetica)

Versioacuten de API 2014-10-0646

AWS CodeDeploy Guiacutea del usuarioCrear un perfil de instancias de IAM parasus instancias Amazon EC2 (consola)

5 En la paacutegina Create policy (Crear poliacutetica) escriba CodeDeployDemo-EC2-Permissions en elcuadro Policy Name (Nombre de la poliacutetica)

6 (Opcional) En Description (Descripcioacuten) escriba una descripcioacuten para la poliacutetica7 Elija Create Policy (Crear poliacutetica)8 En el panel de navegacioacuten seleccione Roles y luego seleccione Create role9 En la paacutegina Create role (Crear rol) seleccione AWS service (Servicio de) y en Choose the service

that will use this role (Seleccione el servicio que va a usar este rol) haga clic en EC210 En la lista Select your use case (Seleccionar caso de uso) elija EC211 Seleccione Next (Siguiente) Permisos12 En la lista de poliacuteticas seleccione la casilla de verificacioacuten situada junto a la poliacutetica que acaba de

crear (CodeDeployDemo-EC2-Permissions) Si es necesario utilice el cuadro de buacutesqueda paraencontrar la poliacutetica

13 Para utilizar Systems Manager para instalar o configurar el agente de CodeDeploy seleccione lacasilla situada junto a AmazonssmManagedInstanceCore Esta poliacutetica administrada por AWS permiteque una instancia utilice la funcionalidad baacutesica del servicio Systems Manager Si es necesario utiliceel cuadro de buacutesqueda para encontrar la poliacutetica Esta poliacutetica no es necesaria si tiene pensadoinstalar el agente desde el bucket de Amazon S3 puacuteblico con la liacutenea de comandos Maacutes informacioacutensobreinstalacioacuten del agente de CodeDeploy

14 Seleccione Next (Siguiente) Etiquetas15 Salir delAgregar etiquetas (opcional)paacutegina sin cambios y a continuacioacuten elijaSiguiente Consulte16 En la paacuteginaReview (Revisar)paacutegina enNombre del rol introduzca un nombre para el rol de servicio

(por ejemploCodeDeployDemo-EC2-Instance-Profile) y luego seleccioneCrear rol

Tambieacuten puede introducir una descripcioacuten para este rol de servicio enDescripcioacuten del rol

Ya ha creado un perfil de instancia de IAM para asociarlo a las instancias Amazon EC2 Para obtener maacutesinformacioacuten consulteRoles de IAM para Amazon EC2en laGuiacutea del usuario de Amazon EC2

Versioacuten de API 2014-10-0647

AWS CodeDeploy Guiacutea del usuarioIntegracioacuten con otros servicios de AWS

Integraciones de productos yservicios con CodeDeploy

De forma predeterminada CodeDeploy se integra con una serie deAWSservicios y productos y serviciosde socios La siguiente informacioacuten puede ayudarlo a configurar CodeDeploy para integrarlo con losproductos y los servicios que utilice

bull Integracioacuten con otros servicios de AWS (p 48)bull Integracioacuten a productos y servicios de socios (p 60)bull Ejemplos de integracioacuten de la comunidad (p 66)

Integracioacuten con otros servicios de AWSCodeDeploy se integra con lo siguienteAWSservicios de

Amazon CloudWatch Amazon CloudWatches un servicio de monitoreoparaAWSlos recursos de la nube y las aplicacionesen las que se ejecutaAWS Utilice AmazonCloudWatch para recopilar meacutetricas y realizar suseguimiento recopilar y monitorizar archivos deregistro y establecer alarmas CodeDeploy admitelas siguientes herramientas de CloudWatch

bull Alarmas de CloudWatchpara monitorizarlas implementaciones y detenerlas cuandolas meacutetricas de monitoreo especificadassuperen o caigan por debajo de los umbralesque especifique en una regla de alarma deCloudWatch Para utilizar la monitorizacioacuten dealarmas primero debe configurar una alarmaen CloudWatch y a continuacioacuten antildeadirla ala aplicacioacuten o al grupo de implementacionesde CodeDeploy a continuacioacuten antildeadirla a laaplicacioacuten o al grupo de implementaciones de

Maacutes informacioacutenbull Crear alarmas de CloudWatch Logs

bull Amazon CloudWatch Eventspara detectar yreaccionar a cambios de estado de una instanciao una implementacioacuten en las operaciones deCodeDeploy A continuacioacuten en funcioacuten de lasreglas que cree CloudWatch Events invoca auna o varias acciones de destino cuando unaimplementacioacuten o una instancia entra en elestado especificado en una regla

Maacutes informacioacutenbull Monitoreo de implementaciones de mediante

Amazon CloudWatch Events (p 362)

Versioacuten de API 2014-10-0648

AWS CodeDeploy Guiacutea del usuarioIntegracioacuten con otros servicios de AWS

bull Amazon CloudWatch Logspara monitorizarlos tres tipos de log creados por el agente deCodeDeploy sin necesidad de iniciar sesioacuten encada una de las instancias

Maacutes informacioacutenbull Ver registros de CodeDeploy en la consola de

CloudWatch Logs

Auto Scaling de Amazon EC2 Soporta CodeDeployAuto Scaling de Amazon EC2EsteAWSel servicio de puede lanzar instanciasAmazon EC2 automaacuteticamente en funcioacuten de loscriterios que especifique por ejemplo

bull Liacutemites superados para la utilizacioacuten de CPUespecificada

bull Lecturas o escrituras en discobull Traacutefico de red entrante o saliente durante un

intervalo de tiempo especificado

Puede escalar un grupo de instancias AmazonEC2 cuando las necesite y a continuacioacuten utilizarCodeDeploy implementar revisiones de aplicacioacutenautomaacuteticamente Amazon EC2 Auto Scalingtermina esas instancias de Amazon EC2 cuandodejan de ser necesarias

Maacutes informacioacuten

bull Integracioacuten de CodeDeploy con Amazon EC2Auto Scaling (p 53)

bull Tutorial UsarCodeDeploypara implementaruna aplicacioacuten en un grupo de AutoScaling (p 110)

bull Bajo el capoacute Integracioacuten de CodeDeploy y AutoScaling

Versioacuten de API 2014-10-0649

AWS CodeDeploy Guiacutea del usuarioIntegracioacuten con otros servicios de AWS

Amazon Elastic Container Service Puede utilizar CodeDeploy para implementaruna aplicacioacuten en contenedores de Amazon ECScomo conjunto de tareas CodeDeploy realizauna implementacioacuten bluegreen instalando unaversioacuten actualizada de la aplicacioacuten como un nuevoconjunto de tareas de sustitucioacuten CodeDeployredirige el traacutefico de produccioacuten del conjunto detareas de la aplicacioacuten original al conjunto detareas de sustitucioacuten Cuando la implementacioacutense realiza correctamente se termina el conjuntode tareas original Para obtener maacutes informacioacutenacerca de Amazon ECS consulteAmazon ElasticContainer Service

Puede administrar la forma en que el traacutefico sedesplaza al conjunto de tareas actualizado duranteuna implementacioacuten eligiendo una configuracioacutencontrolada lineal o todo a la vez Para obtener maacutesinformacioacuten acerca de las implementaciones deAmazon ECS consulteImplementaciones en unaplataforma de computacioacuten Amazon ECS

AWS CloudTrail CodeDeploy se integra conAWS CloudTrail Esteservicio captura las llamadas a la API realizadaspor CodeDeploy en nombre de CodeDeployen su nombreAWSy entrega los archivos logal bucket de Amazon S3 que se especifiqueCloudTrail captura las llamadas al API de laconsola de CodeDeploy desde los comandosde CodeDeploy a traveacutes de laAWS CLIo desdelas API de CodeDeploy directamente Mediantela informacioacuten recopilada por CloudTrail puededeterminar

bull La solicitud que se realizoacute a CodeDeploybull La direccioacuten IP de origen desde la que se realizoacute

la solicitudbull Quieacuten ha realizado la solicitudbull Cuando se realizoacute

Maacutes informacioacuten

bull Monitoring Deployments (p 364)

Versioacuten de API 2014-10-0650

AWS CodeDeploy Guiacutea del usuarioIntegracioacuten con otros servicios de AWS

AWS Cloud9 AWS Cloud9 es un entorno de desarrollo integrado(IDE) online basado en la nube que puede utilizarpara escribir ejecutar depurar e implementarcoacutedigo y solo necesita un navegador que esteacuteinstalado en una maacutequina con conexioacuten a InternetAWS Cloud9 cuenta con un editor de coacutedigo undepurador un terminal y herramientas esencialescomo AWS CLI y Git

bull Puede utilizar el IDE de AWS Cloud9 paraejecutar depurar y crear coacutedigo que esteacute enun repositorio de GitHub Puede ver modificary guardar el coacutedigo utilizando la ventanaEnvironment (Entorno) de su IDE y las pestantildeasdel editor Cuando haya terminado puedeutilizar Git en la sesioacuten de terminal de AWSCloud9 para insertar cambios en el coacutedigo ensu repositorio de GitHub y a continuacioacutenutilizar AWS CodeDeploy para implementar susactualizaciones Para obtener maacutes informacioacutenacerca del uso deAWS Cloud9con GitHubconsultaEjemplo de GitHub paraAWS Cloud9

bull Puede utilizar el IDE de AWS Cloud9 paraactualizar una funcioacuten de AWS Lambda Acontinuacioacuten puede utilizar AWS CodeDeploypara crear una implementacioacuten que desplacetraacutefico a la nueva versioacuten de su funcioacuten AWSLambda Para obtener maacutes informacioacutenconsulteUso deAWS Lambdafunciones delAWSCloud9Entorno de desarrollo integrado (IDE)

Para obtener maacutes informacioacuten acerca deAWSCloud9 consulteQueacute esAWS Cloud9yIntroduccioacutenalAWS Cloud9

Versioacuten de API 2014-10-0651

AWS CodeDeploy Guiacutea del usuarioIntegracioacuten con otros servicios de AWS

AWS CodePipeline AWS CodePipeline es un servicio de entregacontinua que permite modelar visualizar yautomatizar los pasos necesarios para lanzarsoftware en un proceso de entrega continua AWSCodePipeline le permite definir su propio procesode lanzamiento para que el servicio compilepruebe e implemente el coacutedigo cada vez quecambie Por ejemplo puede tener tres gruposde implementaciones para una aplicacioacuten BetaGamma y Prod Puede configurar una canalizacioacutenpara que cada vez que ocurra un cambio en elcoacutedigo fuente las actualizaciones se implementenen cada uno de los grupos

Puede configurarAWS CodePipelinepara utilizarCodeDeploy para desplegar

bull Coacutedigo en instancias Amazon EC2 instanciason-premises o ambas

bull Sin servidorAWSVersiones de la funcioacutenLambda

Puede crear la aplicacioacuten de CodeDeploy el grupode implementaciones para usarlo en una etapa dela accioacuten de implementacioacuten ya sea antes de crearla canalizacioacuten o en laCrear canalizacioacutenasistente

Maacutes informacioacuten

bull AWSpara DevOps informacioacuten acerca decoacutemo utilizar CodePipeline con CodeDeploypara entregar e implementar coacutedigo fuente derepositorios CodeCommit a instancias AmazonEC2 de forma continua

bull Tutorial de canalizacioacuten simple (Amazon S3Bucket)

bull Tutorial simple de canalizacioacuten (repositorioCodeCommit)

bull Tutorial de canalizacioacuten de cuatro etapas

AWSModelo de aplicacioacuten sin servidor de AWSModelo de aplicacioacuten sin servidor (AWSSAM)es un modelo para definir aplicaciones sin servidorSe extiendeAWS CloudFormationpara proporcionaruna forma simplificada de definirAWS LambdaAPI de Amazon API Gateway y tablas de AmazonDynamoDB necesarias para una aplicacioacutensin servidor Si ya usaAWSSAM puede antildeadirpreferencias de implementacioacuten para empezar autilizar CodeDeploy administrar la forma en que sedesviacutea el traacutefico durante unAWSImplementacioacuten deaplicaciones Lambda

Para obtener maacutes informacioacuten consultelaAWSModelo de aplicacioacuten sin servidor de

Versioacuten de API 2014-10-0652

AWS CodeDeploy Guiacutea del usuarioAmazon EC2 Auto Scaling

Elastic Load Balancing Soporta CodeDeployElastic Load Balancingun servicio que distribuye el traacutefico entrante deaplicaciones entre varias instancias Amazon EC2

Para las implementaciones de CodeDeploy losbalanceadores de carga impiden que el traacutefico deInternet se enrute a instancias cuando estas noesteacuten listas se estaacuten implementando objetos enellas o estas ya no se necesitan como parte de unentorno

Maacutes informacioacuten

bull Integrating CodeDeploy with Elastic LoadBalancing (p 57)

Temasbull Integracioacuten de CodeDeploy con Amazon EC2 Auto Scaling (p 53)bull Integracioacuten de CodeDeploy con Elastic Load Balancing (p 57)

Integracioacuten de CodeDeploy con Amazon EC2 AutoScalingCodeDeploy es compatible con Amazon EC2 Auto Scaling unAWSservicio que lanza automaacuteticamenteinstancias de Amazon EC2 de acuerdo con las condiciones que defina Estas condiciones pueden incluirque se supere un liacutemite de tiempo especiacutefico para el uso de la CPU que se lea o escriba el disco o eltraacutefico de red entrante y saliente Amazon EC2 Auto Scaling termina las instancias cuando dejan de sernecesarias Para obtener maacutes informacioacuten consulteiquestQueacute es Amazon EC2 Auto Scalingen laGuiacutea delusuario de Amazon EC2 Auto Scaling

Cuando se lanzan nuevas instancias Amazon EC2 como parte de un grupo de Amazon EC2 Auto ScalingCodeDeploy puede implementar automaacuteticamente las revisiones en las nuevas instancias Tambieacuten puedecoordinar las implementaciones en CodeDeploy con instancias de Amazon EC2 Auto Scaling registradascon balanceadores de carga de Elastic Load Balancing Para obtener maacutes informacioacuten consulte IntegratingCodeDeploy with Elastic Load Balancing (p 57) y Configurar un equilibrador de carga en Elastic LoadBalancing para implementaciones de CodeDeploy Amazon EC2 (p 295)

Note

Es posible que surjan problemas si asocia varios grupos de implementaciones con un uacutenico grupode Amazon EC2 Auto Scaling Por ejemplo si falla una implementacioacuten la instancia comenzaraacutea cerrarse pero el resto de las implementaciones en ejecucioacuten puede que tarden una hora enagotar el tiempo de espera Para obtener maacutes informacioacuten consulteEvite asociar varios gruposde implementaciones a un uacutenico grupo de Amazon EC2 Auto Scaling (p 478)yEntre bastidoresIntegracioacuten de CodeDeploy y Amazon EC2 Auto Scaling

Temasbull Implementacioacuten de aplicaciones CodeDeploy en grupos de Amazon EC2 Auto Scaling (p 54)bull Coacutemo funciona Amazon EC2 Auto Scaling con CodeDeploy (p 54)bull Uso de una AMI personalizada con CodeDeploy y Amazon EC2 Auto Scaling (p 57)

Versioacuten de API 2014-10-0653

AWS CodeDeploy Guiacutea del usuarioAmazon EC2 Auto Scaling

Implementacioacuten de aplicaciones CodeDeploy en grupos deAmazon EC2 Auto ScalingPara implementar una revisioacuten de la aplicacioacuten CodeDeploy en un grupo de Amazon EC2 Auto Scaling

1 Cree o localice un perfil de instancia de IAM que permita al grupo de Amazon EC2 Auto Scalingtrabajar con Amazon S3 Para obtener maacutes informacioacuten consulte Paso 4 Crear un perfil de instanciasde IAM para sus instancias Amazon EC2 (p 43)

Note

Tambieacuten puede usar CodeDeploy para implementar revisiones desde repositorios de GitHuben grupos de Amazon EC2 Auto Scaling Aunque las instancias de Amazon EC2 auacutennecesitaraacuten un perfil de instancia de IAM el perfil no requiere permisos adicionales paraimplementar desde un repositorio de GitHub

2 Cree o utilice un grupo de Amazon EC2 Auto Scaling especificando el perfil de instancia de IAM ensu configuracioacuten o plantilla de lanzamiento Para obtener maacutes informacioacuten consulteRol de IAM paraaplicaciones que se ejecuten en instancias de Amazon EC2

3 Cree o localice un rol de servicio que permita a CodeDeploy crear un grupo de implementaciones quecontiene el grupo de Amazon EC2 Auto Scaling

4 Cree un grupo de implementaciones mediante CodeDeploy especificando el rol de servicio y elnombre de grupo de Amazon EC2 Auto Scaling

5 Utilice CodeDeploy para implementar su revisioacuten en el grupo de implementaciones que contiene elgrupo de Amazon EC2 Auto Scaling

Para obtener maacutes informacioacuten consulte Tutorial UsarCodeDeploypara implementar una aplicacioacuten en ungrupo de Auto Scaling (p 110)

Coacutemo funciona Amazon EC2 Auto Scaling con CodeDeployPara que CodeDeploy implemente la revisioacuten de la aplicacioacuten en nuevas instancias de EC2 durante unevento de escalado horizontal de Auto Scaling CodeDeploy utiliza un gancho del ciclo de vida de AutoScaling El gancho del ciclo de vida notifica a CodeDeploy que hay un evento de escalabilidad horizontalde Auto Scaling en curso y que CodeDeploy debe implementar una revisioacuten de las instancias escaladas

Note

En esta seccioacuten los teacuterminos laquogancho del ciclo de vidaraquo y laquoganchoraquo hacen referencia al ganchoutilizado para integrar CodeDeploy con Auto Scaling Este gancho es diferente de los ganchosdescritos en elSeccioacuten hooks de AppSpec (p 422)

Temasbull iquestCoacutemo se crea e instala el gancho del ciclo de vida (p 54)bull Despueacutes de que CodeDeploy agregue el gancho del ciclo de vida iquestcoacutemo se utiliza (p 55)bull Coacutemo nombra CodeDeploy a los grupos de Amazon EC2 Auto Scaling (p 55)bull Orden de ejecucioacuten de eventos de enlace de ciclo de vida personalizados (p 55)bull Eventos de escalado horizontal durante una implementacioacuten (p 56)bull Orden de eventos enAWS CloudFormationscripts cfn-init (p 56)

iquestCoacutemo se crea e instala el gancho del ciclo de vidaAl crear o actualizar un grupo de implementacioacuten para incluir un grupo de Auto Scaling CodeDeployaccede al grupo Auto Scaling mediante el rol de servicio CodeDeploy y a continuacioacuten instala un ganchode ciclo de vida en el grupo Auto Scaling

Versioacuten de API 2014-10-0654

AWS CodeDeploy Guiacutea del usuarioAmazon EC2 Auto Scaling

Despueacutes de que CodeDeploy agregue el gancho del ciclo de vida iquestcoacutemo seutilizaUna vez instalado el gancho del ciclo de vida se utiliza durante los eventos de escalado horizontal Unevento de escalado horizontal se desarrolla de la siguiente manera

1 El servicio Auto Scaling (o simplemente Auto Scaling) determina que debe producirse un evento deescalado horizontal y se pone en contacto con el servicio EC2 para lanzar una nueva instancia de EC2

2 El servicio EC2 lanza una nueva instancia EC2 La instancia se traslada alPendingestado y luego enelPendingWaitestado

3 DurantePendingWait Auto Scaling ejecuta todos los ganchos del ciclo de vida asociados al grupoAuto Scaling incluido el gancho del ciclo de vida creado por CodeDeploy

4 El gancho del ciclo de vida enviacutea una notificacioacuten alCola de Amazon SQSque CodeDeploy sondea5 Tras recibir la notificacioacuten CodeDeploy analiza el mensaje realiza cierta validacioacuten y comienza a

implementar la aplicacioacuten en la nueva instancia de EC2 utilizando la uacuteltima revisioacuten correcta6 Mientras se ejecuta la implementacioacuten CodeDeploy enviacutea latidos cada cinco minutos a Auto Scaling

para informarle de que la instancia se sigue trabajando7 Hasta el momento la instancia EC2 sigue en elPendingWaitestado8 Cuando se completa la implementacioacuten CodeDeploy indica que Auto Scaling

seaCONTINUEoABANDONel proceso de lanzamiento de EC2 en funcioacuten de si la implementacioacuten se harealizado correctamente o nobull Si CodeDeploy indicaCONTINUE Auto Scaling continuacutea el proceso de lanzamiento ya sea

esperando a que se completen otros hooks o colocando la instancia en elPendingProceedy luegoelInServiceestado

bull Si CodeDeploy indicaABANDON Auto Scaling finaliza la instancia EC2 y reinicia el procedimiento delanzamiento si es necesario para cumplir el nuacutemero deseado de instancias tal como se define enAuto ScalingCapacidad deseadaconfiguracioacuten

Coacutemo nombra CodeDeploy a los grupos de Amazon EC2 Auto Scaling

Durante las implementaciones azulgreen en una plataforma informaacutetica local EC2 tiene dos opciones paraantildeadir instancias a su entorno de sustitucioacuten (verde)

bull Utilice instancias que ya existan o que cree manualmentebull Utilice la configuracioacuten de un grupo de Amazon EC2 Auto Scaling que especifique para definir y crear

instancias en un nuevo grupo de Amazon EC2 Auto Scaling

Si elige la segunda opcioacuten CodeDeploy aprovisiona por usted un nuevo grupo de Amazon EC2 AutoScaling Utiliza la siguiente convencioacuten para el nombre del grupo

CodeDeploy_deployment_group_name_deployment_id

Por ejemplo si una implementacioacuten con ID10implementa un grupo de implementacioacutendenominadoalpha-deployments el grupo de Amazon EC2 Auto Scaling aprovisionado sedenominaCodeDeploy_alpha-deployments_10 Para obtener maacutes informacioacuten consulte Crear ungrupo de implementaciones para una implementacioacuten EC2On-Premises bluegreen (consola) (p 291) yGreenFleetProvisioningOption

Orden de ejecucioacuten de eventos de enlace de ciclo de vida personalizadosPuede antildeadir sus propios enlaces de ciclo de vida a los grupos de Amazon EC2 Auto Scaling en losque implementa CodeDeploy Sin embargo el orden en que se ejecutan estos eventos de enlace deciclo de vida personalizados no se puede predeterminar en relacioacuten con los eventos de ciclo de vida de

Versioacuten de API 2014-10-0655

AWS CodeDeploy Guiacutea del usuarioAmazon EC2 Auto Scaling

implementacioacuten predeterminados de CodeDeploy Por ejemplo si agrega un gancho de ciclo de vidapersonalizado denominadoReadyForSoftwareInstalla un grupo de Amazon EC2 Auto Scaling nopuede saber de antemano si se ejecutaraacute antes del primer o despueacutes del uacuteltimo evento de ciclo de vidade implementacioacuten predeterminado de CodeDeploy

Para obtener informacioacuten sobre coacutemo antildeadir enlaces de ciclo de vida personalizados a un grupo deAmazon EC2 Auto Scaling consulteAdicioacuten de enlaces de ciclo de vidaen laGuiacutea del usuario de AmazonEC2 Auto Scaling

Eventos de escalado horizontal durante una implementacioacutenSi se produce un evento de escalado horizontal de Amazon EC2 Auto Scaling mientras estaacute en cursouna implementacioacuten las nuevas instancias se actualizaraacuten con la uacuteltima revisioacuten de la aplicacioacutenimplementada no con la revisioacuten de la aplicacioacuten que estaacute implementando actualmente Si laimplementacioacuten se realiza correctamente las instancias antiguas y las instancias recieacuten escaladas alojaraacutenrevisiones de la aplicacioacuten diferentes Para actualizar esas instancias CodeDeploy inicia automaacuteticamenteuna implementacioacuten de seguimiento (inmediatamente despueacutes de la primera) para actualizar cualquierinstancia obsoleta Si desea cambiar este comportamiento predeterminado para que las instancias EC2desactualizadas queden en la revisioacuten anterior consulteAutomatic updates to outdated instances

Si desea suspender los procesos de escalado horizontal de Amazon EC2 Auto Scaling mientrasse estaacuten llevando a cabo las implementaciones puede hacerlo mediante un paraacutemetro enelcommon_functionsshscript que se utiliza para equilibrar la carga con CodeDeploySiHANDLE_PROCS=true los siguientes eventos de Auto Scaling se suspenden automaacuteticamente duranteel proceso de implementacioacuten

bull AZRebalancebull AlarmNotificationbull ScheduledActionsbull ReplaceUnhealthy

Important

Solo la configuracioacuten de implementacioacuten CodeDeployDefaultOneATime es compatible con estafuncionalidad

Para obtener maacutes informacioacuten acerca del uso deHANDLE_PROCS=truepara evitar problemas deimplementacioacuten cuando se utiliza Amazon EC2 Auto Scaling consulteAviso importante sobre el manejo delos procesos AutoScalingenmuestras de aws-codedeploy-en GitHub

Orden de eventos enAWS CloudFormationscripts cfn-initSi utiliza cfn-init (o cloud-init) para ejecutar scripts en instancias basadas en Linux recieacutenaprovisionadas las implementaciones podriacutean fallar a menos que controle estrictamente el orden de loseventos que se producen despueacutes que se inicia la instancia

Ese orden debe ser

1 Se inicia la instancia recieacuten aprovisionada2 Se ejecutan todos los scripts de proceso de arranque cfn-init hasta su finalizacioacuten3 Se inicia el agente de CodeDeploy4 Se implementa la uacuteltima revisioacuten de la aplicacioacuten en la instancia

Si no se controla cuidadosamente el orden de los eventos el agente de CodeDeploy podriacutea comenzar unaimplementacioacuten antes de que termine la ejecucioacuten de todos los scripts

Para controlar el orden de los eventos utilice una de estas praacutecticas recomendadas

Versioacuten de API 2014-10-0656

AWS CodeDeploy Guiacutea del usuarioElastic Load Balancing

bull Instale el agente de CodeDeploy a traveacutes de uncfn-initscript colocaacutendolo despueacutes de todos losdemaacutes scripts

bull Incluya el agente de CodeDeploy en una AMI personalizada y utilice uncfn-initscript para iniciarlocolocaacutendolo despueacutes de todos los demaacutes scripts

Para obtener informacioacuten acerca del uso decfn-init consultecfn-initen laAWS CloudFormationGuiacutea delusuario de

Uso de una AMI personalizada con CodeDeploy y Amazon EC2Auto ScalingDispone de dos opciones para especificar la AMI base que se debe usar cuando se lancen nuevasinstancias Amazon EC2 en un grupo de Amazon EC2 Auto Scaling

bull Puede especificar una AMI personalizada base que ya tenga instalado el agente CodeDeploy Dado queel agente ya estaacute instalado esta opcioacuten lanza las nuevas instancias Amazon EC2 con mayor rapidez quela otra opcioacuten Sin embargo esta opcioacuten tiene mayor probabilidad de que fallen las implementacionesiniciales de instancias Amazon EC2 sobre todo si el agente de CodeDeploy estaacute obsoleto Si elige estaopcioacuten recomendamos que actualice el agente CodeDeploy con regularidad en su AMI personalizadabase

bull Puede especificar una AMI base que no tenga instalado el agente CodeDeploy e instalar dicho agentecuando se lance cada nueva instancia en un grupo de Amazon EC2 Auto Scaling Aunque esta opcioacutenlanza las nuevas instancias Amazon EC2 con mayor lentitud que la otra opcioacuten tiene mayor probabilidadde que las implementaciones iniciales de las instancias sean correctas Esta opcioacuten utiliza la versioacuten maacutesreciente del CodeDeploy de

Integracioacuten de CodeDeploy con Elastic LoadBalancingDurante las implementaciones de CodeDeploy un balanceador de carga impide que el traacutefico de Internetse enrute a instancias cuando estas no esteacuten listas se estaacuten implementando objetos en ellas o estas yano se necesitan como parte de un entorno Sin embargo el rol exacto que desempentildea el balanceador decarga depende de si se utiliza en una implementacioacuten bluegreen (azulverde) o una implementacioacuten insitu

Note

El uso de balanceadores de carga de Elastic Load Balancing es obligatorio en implementacionesbluegreen y opcional in situ

Tipos de Elastic Load BalancingElastic Load Balancing ofrece tres tipos de balanceadores de carga que se pueden utilizar en lasimplementaciones de CodeDeploy Balanceadores de carga claacutesicos Application Load Balancers yNetwork Load Balancers

Classic Load Balancer

Las rutas y los balanceadores de carga en la capa de transporte (TCPSSL) o la capa de aplicacioacuten(HTTPHTTPS) Admite EC2-Classic o una VPC

Application Load Balancer

Las rutas y los balanceadores de carga en la capa de la aplicacioacuten (HTTPHTTPS) y admite elenrutamiento basado en rutas Puede dirigir las solicitudes a puertos de cada instancia EC2 oinstancia de contenedor de su nube privada virtual (VPC)

Versioacuten de API 2014-10-0657

AWS CodeDeploy Guiacutea del usuarioElastic Load Balancing

Note

Los grupos de destino de Application Load Balancer de deben tener el tipo de destinodeinstancepara implementaciones en instancias EC2 yIPpara implementaciones deFargate Para obtener maacutes informacioacuten consulteTarget type (Tipo de objetivo)

Network Load Balancer

Rutea y balancea la carga en la capa de transporte (capa 4 de TCPUDP) basaacutendose en lainformacioacuten de las direcciones que extrae del encabezado del paquete TCP y no de su contenido Losbalanceadores de carga de red pueden atender raacutefagas de traacutefico conservar la IP de origen del clientey utilizar una IP fija mientras dura la vida uacutetil del balanceador de carga

Para obtener maacutes informacioacuten sobre los balanceadores de carga de Elastic Load Balancing consulte lostemas siguientes

bull iquestQueacute es Elastic Load Balancingbull iquestQueacute es un balanceador de carga claacutesicobull Queacute es un balanceador de carga de aplicacionesbull iquestQueacute es un balanceador de carga de red

Implementaciones bluegreen (azulverde)El reenrutamiento del traacutefico de instancias detraacutes de un balanceador de carga de Elastic Load Balancing esfundamental para las implementaciones bluegreen de CodeDeploy

Durante una implementacioacuten bluegreen (azulverde) el balanceador de carga permite dirigir el traacutefico alas nuevas instancias de un grupo de implementaciones en el que se haya implementado la uacuteltima revisioacutende la aplicacioacuten (el entorno de sustitucioacuten) de acuerdo con las reglas que especifique y a continuacioacutenbloquear el traacutefico de las instancias antiguas en las que se ejecutaba la revisioacuten de la aplicacioacuten previa(entorno original)

Una vez que las instancias de un entorno de sustitucioacuten se hayan registrado en un balanceador de cargase cancela el registro de las instancias del entorno original y si asiacute lo decide se terminan las instancias

Para una implementacioacuten azulverde puede especificar un Classic Load Balancer un Application LoadBalancer o un Network Load Balancer en el grupo de implementacioacuten Puede utilizar la consola deCodeDeploy oAWS CLIpara antildeadir el balanceador de carga a un grupo de implementaciones

Para obtener maacutes informacioacuten sobre los equilibradores de carga en las implementaciones bluegreen (azulverde) consulte los siguientes temas

bull Configurar un equilibrador de carga en Elastic Load Balancing para implementaciones de CodeDeployAmazon EC2 (p 295)

bull Cree una aplicacioacuten para una implementacioacuten bluegreen (consola) (p 276)bull Crear un grupo de implementaciones para una implementacioacuten EC2On-Premises bluegreen

(consola) (p 291)

Implementaciones in situDurante una implementacioacuten local el balanceador de carga impide que el traacutefico de Internet se dirija a lainstancia en la estaacute ocurriendo y la vuelve a poner a disposicioacuten una vez finalizada dicha implementacioacuten

Si no se utiliza un balanceador de carga durante una implementacioacuten local es posible que el traacutefico deInternet auacuten se dirija a una instancia durante el proceso de implementacioacuten Como resultado los clientes

Versioacuten de API 2014-10-0658

AWS CodeDeploy Guiacutea del usuarioElastic Load Balancing

podriacutean encontrarse con aplicaciones web dantildeadas incompletas o anticuadas Al utilizar un balanceadorde carga de Elastic Load Balancing con una implementacioacuten in situ se anula el registro de las instanciasde un grupo de implementaciones de un balanceador de carga estas se actualizan con la uacuteltima revisioacutende la aplicacioacuten y luego se vuelven a registrar en el balanceador de carga como parte del mismo grupo deimplementaciones despueacutes de que se realice la implementacioacuten exitoso CodeDeploy esperaraacute hasta 1hora para que la instancia se mantenga en buen estado detraacutes del equilibrador de carga Si el balanceadorde carga no marca la instancia como vaacutelida durante el periacuteodo de espera CodeDeploy pasa a la siguienteinstancia o falla la implementacioacuten seguacuten la configuracioacuten de la implementacioacuten

Para una implementacioacuten in situ puede especificar un Classic Load Balancer un Application LoadBalancer o un Network Load Balancer Puede especificar el balanceador de carga como parte de laconfiguracioacuten del grupo de implementaciones o utilizar un script proporcionado por CodeDeploy paraimplementar el balanceador de carga

Especificar el equilibrador de carga de implementacioacuten in situ mediante un grupode implementacioacutenPara antildeadir el balanceador de carga a un grupo de implementaciones se utiliza la consola de CodeDeployoAWS CLI Para obtener informacioacuten sobre coacutemo especificar un balanceador de carga en un grupo deimplementaciones para implementaciones in situ consulte los siguientes temas

bull Cree una aplicacioacuten para una implementacioacuten in situ (consola) (p 274)bull Crear un grupo de implementaciones para una implementacioacuten in situ (consola) (p 289)bull Configurar un equilibrador de carga en Elastic Load Balancing para implementaciones de CodeDeploy

Amazon EC2 (p 295)

Especificar el equilibrador de carga de implementacioacuten in situ mediante un script

Utilice los pasos que se indican en el siguiente procedimiento para usar scripts de ciclo de vida paraconfigurar el balanceo de carga para implementaciones locales

Note

Debe utilizar la configuracioacuten de la implementacioacuten CodeDeployDefaultOneAtATimesolo cuando se utiliza un script para configurar un balanceador de carga que se va ausar en una implementacioacuten in situ No se admiten las ejecuciones simultaacuteneas el ajusteCodeDeployDefaultOneAtATime garantiza la ejecucioacuten en serie de los scripts Para obtener maacutesinformacioacuten acerca de las configuraciones de implementacioacuten consulte Uso de configuracionesde implementacioacuten en CodeDeploy (p 264)

En el repositorio de ejemplos de CodeDeploy en GitHub proporcionamos instruccionesy ejemplos que puede adaptar para usar los balanceadores de carga de CodeDeployElastic Load Balancing de CodeDeploy Estos repositorios incluyen tres scripts deejemploregister_with_elbshderegister_from_elbsh ycommon_functionsshqueproporcionan todo el coacutedigo que necesita para empezar Solo tiene que editar los marcadores de posicioacutende estos tres scripts y despueacutes hacer referencia a estos scripts en el archivo appspecyml

Para configurar implementaciones in situ en CodeDeploy con instancias Amazon EC2 registradas conbalanceadores de carga de Elastic Load Balancing proceda del modo siguiente

1 Descargue los ejemplos del tipo de balanceador de carga que desea utilizar para una implementacioacutenin situ

bull Classic Load Balancerbull Balanceador de carga de aplicacioneso Network Load Balancer(se puede utilizar el mismo script

para cualquiera de estos tipos)2 Aseguacuterese de que cada una de sus instancias Amazon EC2 de destino tenga elAWS CLIinstalado

Versioacuten de API 2014-10-0659

AWS CodeDeploy Guiacutea del usuarioIntegracioacuten a productos y servicios de socios

3 Aseguacuterese de que cada una de sus instancias Amazon EC2 de destino tenga un perfil de instancia deIAM asociado con los permisos elasticloadbalancing y autoscaling como miacutenimo

4 En el directorio de coacutedigo fuente de la aplicacioacuten incluya los scripts de evento de ciclode vida de implementacioacuten (register_with_elbsh deregister_from_elbsh ycommon_functionssh)

5 En el navegadorappspecymlpara la revisioacuten de la aplicacioacuten proporcione instruccionespara que CodeDeploy ejecute elregister_with_elbshguioacuten durante elApplicationStartyelderegister_from_elbshguioacuten durante elApplicationStopevent

6 Si la instancia forma parte de un grupo de Amazon EC2 Auto Scaling puede omitir este paso

En el script common_functionssh

bull Si utiliza elClassic Load Balancer especifique los nombres de los balanceadores de carga de ElasticLoad Balancing enELB_LIST=y realice los cambios que necesite en el resto de la configuracioacutende la implementacioacuten en el archivo

bull Si utiliza elBalanceador de carga de aplicacioneso Network Load Balancer especifique los nombresde grupos de destino de Elastic Load Balancing enTARGET_GROUP_LIST=y realice los cambiosque necesite en el resto de la configuracioacuten de la implementacioacuten en el archivo

7 Empaquete el coacutedigo fuente de la aplicacioacuten el archivo appspecyml y los scripts de eventos deciclo de vida de la implementacioacuten en una revisioacuten de la aplicacioacuten y despueacutes cargue la revisioacutenImplemente la revisioacuten en las instancias Amazon EC2 Durante la implementacioacuten los scripts deeventos de ciclo de vida de la implementacioacuten cancelaraacuten el registro de la instancia Amazon EC2 conlos balanceadores de carga esperaraacuten a que se vaciacutee la conexioacuten y volveraacuten a registrar la instanciaAmazon EC2 con los balanceadores de carga una vez que se complete la implementacioacuten

Integracioacuten a productos y servicios de sociosCodeDeploy incluye capacidad de integracioacuten con los siguientes productos y servicios de socios

Ansible Si ya tiene un conjunto deAnsiblepero simplementenecesita un lugar donde ejecutarlo la plantilla deAnsible y CodeDeploy demuestra coacutemo un par desencillos enlaces de implementacioacuten aseguranque Ansible esteacute disponible en la instancia deimplementacioacuten local y ejecutan los PlaybooksSi ya dispone de un proceso de creacioacuten ymantenimiento de su inventario tambieacuten es posibleusar el moacutedulo de Ansible que hay disponible parainstalar y ejecutar el agente de CodeDeploy

Maacutes informacioacuten

bull Ansible y CodeDeploy

Atlassian mdash Bamboo and Bitbucket La tarea CodeDeploy paraBambuacutecomprime eldirectorio que contiene un archivo AppSpec enun archivo zip carga el archivo a Amazon S3 ydespueacutes comienza la implementacioacuten de acuerdocon la configuracioacuten proporcionada en la aplicacioacutenCodeDeploy

La compatibilidad de Atlassian Bitbucket conCodeDeploy permite enviar coacutedigo a instanciasAmazon EC2 directamente desde la interfaz

Versioacuten de API 2014-10-0660

AWS CodeDeploy Guiacutea del usuarioIntegracioacuten a productos y servicios de socios

de usuario de Bitbucket a cualquiera de losgrupos de implementaciones bajo demanda Estosignifica que despueacutes de actualizar coacutedigo en elrepositorio Bitbucket no necesita iniciar sesioacutenen la plataforma de integracioacuten continua (CI) o eninstancias Amazon EC2 para ejecutar un procesode implementacioacuten manual

Maacutes informacioacuten

bull Uso de la tarea CodeDeploy para Bamboobull Announcing Atlassian Bitbucket Support for

CodeDeploy

Chef AWSproporciona dos plantillas de ejemplo paraintegrarChefy CodeDeploy La primera es un librode recetas de Chef que instala e inicia el agentede CodeDeploy Esto permite seguir administrandola infraestructura de host con Chef al utilizarCodeDeploy La segunda plantilla muestra coacutemoutilizar CodeDeploy para organizar la ejecucioacuten delos libros de cocina y las recetas con chef-solo encada nodo

Maacutes informacioacuten

bull Chef and CodeDeploy

CircleCI CircleCI ofrece un conjunto de herramientasde prueba automatizada y de implementacioacutene integracioacuten continuas Despueacutes de crear unrol de IAM enAWSpara utilizar con CircleCI yconfigurar los paraacutemetros de implementacioacuten en elarchivo circleyml y a continuacioacuten utilice CircleCIcon CodeDeploy crear revisiones de aplicacioacutencargarlas en un bucket de Amazon S3 e iniciar ymonitorizar las implementaciones

Maacutes informacioacuten

bull Implementacioacuten continua con CodeDeploy

CloudBees Puede utilizar el complemento CodeDeployJenkins disponible enCloudBeesDEV cloudcomo accioacuten posterior a la compilacioacutenPor ejemplo puede utilizarlo al final de unacanalizacioacuten de entrega continua para implementaruna revisioacuten de aplicacioacuten en la flota de servidores

Maacutes informacioacuten

bull El complemento CodeDeploy Jenkins ya estaacutedisponible en DEV cloud

Versioacuten de API 2014-10-0661

AWS CodeDeploy Guiacutea del usuarioIntegracioacuten a productos y servicios de socios

Codeship Puede usarCodeshippara implementar revisionesde aplicacioacuten a traveacutes de CodeDeploy Tambieacutenpuede utilizar la interfaz de usuario de Codeshippara antildeadir CodeDeploy a una canalizacioacuten deimplementacioacuten de una ramificacioacuten

Maacutes informacioacuten

bull Implementacioacuten en CodeDeploybull Integracioacuten de CodeDeploy en CodeDeploy

GitHub Utilice CodeDeploy para implementar revisionesde la aplicacioacuten desdeGitHubrepositorios Tambieacutenpuede desencadenar una implementacioacuten de unrepositorio de GitHub cuando el coacutedigo fuente deese repositorio cambie

Maacutes informacioacuten

bull Integracioacuten de CodeDeploy conGitHub (p 63)

bull Tutorial Usa CodeDeploy para desplegar unaaplicacioacuten desde GitHub (p 127)

bull Despliegue automaacuteticamente desde GitHubutilizando CodeDeploy

HashiCorp Consul La herramienta de coacutedigo abierto HashiCorpConsul ayuda a garantizar la salud y estabilidaddel entorno de aplicacioacuten al implementaraplicaciones en CodeDeploy Utilice Consul pararegistrar las aplicaciones a descubrir durantela implementacioacuten cambiar las aplicaciones ylos nodos a modo de mantenimiento para quelas implementaciones los omitan y detener lasimplementaciones en caso de que las instancias dedestino no funcionen correctamente

Maacutes informacioacuten

bull Implementaciones de CodeDeploy conHashiCorp Consul

Jenkins CodeDeployJenkinsincluye un paso posterior ala compilacioacuten en proyectos de Jenkins Despueacutesde terminarse una compilacioacuten correctamentecomprime el espacio de trabajo carga en AmazonS3 e inicia una nueva implementacioacuten

Maacutes informacioacuten

bull Complemento Jenkins CodeDeploybull Configuracioacuten del complemento Jenkins para

CodeDeploy

Versioacuten de API 2014-10-0662

AWS CodeDeploy Guiacutea del usuarioGitHub

Puppet Labs AWSproporciona plantillas de ejemplo paraPuppetyCodeDeploy La primera es un moacutedulo Puppetque instala e inicia el agente de CodeDeploy Estopermite seguir administrando la infraestructurade host con Puppet al utilizar CodeDeployLa segunda plantilla muestra coacutemo utilizarCodeDeploy para organizar la ejecucioacuten demoacutedulos y manifiestos con un laquomasterless puppetraquoen cada nodo

Maacutes informacioacuten

bull Puppet and CodeDeploy

SaltStack Puede integrarSaltStackinfraestructura conCodeDeploy El moacutedulo CodeDeploy instala yejecuta el agente de CodeDeploy en los minionsTambieacuten puede usar CodeDeploy para organizar laejecucioacuten de los Salt States

Maacutes informacioacuten

bull SaltStack y CodeDeploy

TeamCity El complemento CodeDeploy Runner implementaaplicaciones directamente desde TeamCity Elcomplemento antildeade un paso de compilacioacuten deTeamCity que prepara y carga una revisioacuten deaplicacioacuten a un bucket de Amazon S3 registrala revisioacuten en una aplicacioacuten CodeDeploy silo prefiere espera a que la implementacioacuten setermine

Maacutes informacioacuten

bull CodeDeploy Runner (descarga)bull Complemento CodeDeploy Runner

(documentacioacuten)

Travis CI Puede configurarTravis CIpara activar unaimplementacioacuten en CodeDeploy despueacutes determinarse una compilacioacuten correctamente

Maacutes informacioacuten

bull Implementaciones de Travis CI y CodeDeploy

Temasbull Integracioacuten de CodeDeploy con GitHub (p 63)

Integracioacuten de CodeDeploy con GitHubCodeDeploy es compatibleGitHub un servicio de alojamiento y uso compartido de coacutedigo basado en webCodeDeploy puede implementar en instancias las revisiones de aplicaciones almacenadas en repositoriosGitHub o buckets de Amazon S3 CodeDeploy es compatible con GitHub solo para implementaciones deEC2On-Premises

Versioacuten de API 2014-10-0663

AWS CodeDeploy Guiacutea del usuarioGitHub

Temasbull Implementacioacuten de revisiones de CodeDeploy desde GitHub (p 64)bull Comportamientos de GitHub con CodeDeploy (p 64)

Implementacioacuten de revisiones de CodeDeploy desde GitHubPara implementar en instancias una revisioacuten de una aplicacioacuten desde un repositorio de GitHub

1 Cree una revisioacuten compatible con CodeDeploy y con el tipo de instancia Amazon EC2 en la que la va aimplementar

Para crear una revisioacuten compatible siga las instrucciones indicadas en Planear una revisioacuten paraCodeDeploy (p 307) y Agregar un archivo de especificacioacuten de aplicacioacuten a una revisioacuten deCodeDeploy (p 308)

2 Utilice una cuenta de GitHub para agregar la revisioacuten a un repositorio de GitHub

Para crear una cuenta de GitHub consulte Join GitHub Para crear un repositorio de GitHubconsulteCrear un repositorio

3 UsarCrear implementacioacutende la consola de CodeDeploy o de laAWS CLI create-deploymentparaimplementar la revisioacuten desde el repositorio de GitHub en las instancias de destino configuradas parasu uso en implementaciones de CodeDeploy

Si quieres llamar alcreate-deployment primero debe utilizar elCrear implementacioacutende la consolapara conceder a CodeDeploy permiso para interactuar con GitHub en nombre de la cuenta de GitHubque prefiera para la aplicacioacuten especificada Solamente es necesario hacerlo una vez para cadaaplicacioacuten

Para saber coacutemo usar la paacutegina Create deployment para implementar desde un repositorio de GitHubconsulte Cree una implementacioacuten con CodeDeploy (p 324)

Para saber coacutemo ejecutar el comando create-deployment para implementar desde un repositoriode GitHub consulte Crear una implementacioacuten de plataforma de computacioacuten EC2On-Premises(CLI) (p 335)

Para saber coacutemo preparar instancias para su uso en implementaciones de CodeDeployconsulteTrabajo con instancias para CodeDeploy (p 207)

Para obtener maacutes informacioacuten consulte Tutorial Usa CodeDeploy para desplegar una aplicacioacuten desdeGitHub (p 127)

Comportamientos de GitHub con CodeDeployTemas

bull Autenticacioacuten de GitHub con aplicaciones en CodeDeploy (p 64)bull Interaccioacuten de CodeDeploy con repositorios GitHub puacuteblicos y privados (p 66)bull Interaccioacuten de CodeDeploy con repositorios de GitHub administrados por la organizacioacuten (p 66)bull Implementacioacuten automaacutetica desde CodePipeline con CodeDeploy (p 66)

Autenticacioacuten de GitHub con aplicaciones en CodeDeploy

Una vez concedido a CodeDeploy permiso para interactuar con GitHub la asociacioacuten entre la cuenta deGitHub y la aplicacioacuten se almacena en CodeDeploy Es posible vincular la aplicacioacuten a otra cuenta deGitHub Tambieacuten se puede revocar el permiso para que CodeDeploy interactuacutee con GitHub

Versioacuten de API 2014-10-0664

AWS CodeDeploy Guiacutea del usuarioGitHub

Para vincular una cuenta de GitHub a una aplicacioacuten de CodeDeploy

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones3 Elija la aplicacioacuten que desea vincular a otra cuenta de GitHub4 Si la aplicacioacuten no tiene un grupo de implementaciones seleccioneCreacioacuten de un grupo de

implementacionespara crear uno Para obtener maacutes informacioacuten consulte Creacioacuten de un grupo deimplementaciones con CodeDeploy (p 288) Se requiere un grupo de implementaciones para elegirCreate deployment (Crear implementacioacuten) en el paso siguiente

5 En Deployments (Implementaciones) elija Create deployment (Crear implementacioacuten)

Note

No es necesario crear una nueva implementacioacuten Actualmente esta es la uacutenica forma devincular una cuenta de GitHub distinta a una aplicacioacuten

6 En Deployment settings (Configuracioacuten de implementacioacuten) para Revision type (Tipo de revisioacuten) elijaMy application is stored in GitHub (Mi aplicacioacuten estaacute almacenada en GitHub)

7 Realice alguna de las siguientes acciones

bull Para crear una conexioacuten entre aplicaciones de AWS CodeDeploy y una cuenta de GitHub cierrela sesioacuten de GitHub en otra pestantildea del navegador web En GitHub token name (Nombre detoken de GitHub) escriba el nombre para identificar esta conexioacuten y luego elija Connect to GitHub(Conectarse a GitHub) La paacutegina web le pediraacute que autorice a CodeDeploy para que interactuacutee conGitHub para la aplicacioacuten Continuacutee en el paso 10

bull Para utilizar una conexioacuten que haya creado previamente seleccione su nombre en GitHub tokenname (Nombre de token de GitHub) y a continuacioacuten elija Connect to GitHub (Conectarse aGitHub) Continuacutee en el paso 8

bull Para crear una conexioacuten con una cuenta de GitHub distinta cierre la sesioacuten de GitHub en otrapestantildea del navegador web En GitHub token name (Nombre de token de GitHub) escriba elnombre para identificar la conexioacuten y luego elija Connect to GitHub (Conectarse a GitHub) Lapaacutegina web le pediraacute que autorice a CodeDeploy para que interactuacutee con GitHub para la aplicacioacutenContinuacutee en el paso 10

8 Si todaviacutea no ha iniciado sesioacuten en GitHub siga las instrucciones de la paacutegina Sign in para iniciarsesioacuten con la cuenta de GitHub a la que desea enlazar la aplicacioacuten

9 Elija Authorize application GitHub asignaraacute a CodeDeploy permiso para interactuar en nombre de lacuenta con la que ha iniciado sesioacuten para la aplicacioacuten seleccionada

10 Si no desea crear una implementacioacuten elija Cancel

Para revocar el permiso para que CodeDeploy interactuacutee con GitHub

1 Inicie sesioacuten en GitHub utilizando las credenciales de la cuenta de GitHub cuyos permisos desearevocar a AWS CodeDeploy

2 Abra GitHubAplicacionespaacutegina localizarCodeDeployen la lista de aplicaciones autorizadas ydespueacutes siga el procedimiento de GitHub para revocar la autorizacioacuten para una aplicacioacuten

Versioacuten de API 2014-10-0665

AWS CodeDeploy Guiacutea del usuarioEjemplos de integracioacuten de la comunidad

Interaccioacuten de CodeDeploy con repositorios GitHub puacuteblicos y privadosCodeDeploy permite la implementacioacuten de aplicaciones desde repositorios GitHub puacuteblicos y privadosAl conceder a CodeDeploy permiso para acceder a GitHub en su nombre CodeDeploy tendraacute acceso delectura y escritura a todos los repositorios GitHub privados a los que su cuenta de GitHub tenga accesoSin embargo CodeDeploy solo lee en los repositorios GitHub No escribiraacute nada en ninguno de susrepositorios de GitHub privados

Interaccioacuten de CodeDeploy con repositorios de GitHub administrados por laorganizacioacutenDe forma predeterminada los repositorios GitHub administrados por una organizacioacuten (a diferencia de losrepositorios puacuteblicos o privados de su cuenta personal) no conceden acceso a aplicaciones de terceroscomo es el caso de CodeDeploy Si intenta implementar coacutedigo desde un repositorio de GitHub de unaorganizacioacuten y esta ha definido restricciones a las aplicaciones de terceros la operacioacuten fallaraacute Existendos maneras de resolver este problema

bull Como miembro de la organizacioacuten puede solicitar al responsable que apruebe el acceso a CodeDeployLos pasos para presentar esta solicitud dependen de si ya ha autorizado a CodeDeploy para su cuentaindividualbull Si ha autorizado el acceso de CodeDeploy en su cuenta consulteSolicitar la aprobacioacuten de la

organizacioacuten para sus solicitudes autorizadasbull Si auacuten no ha autorizado el acceso de CodeDeploy en su cuenta consulteSolicitud de la aprobacioacuten de

una organizacioacuten para aplicaciones de tercerosbull El responsable de la organizacioacuten puede deshabilitar todas las restricciones a las aplicaciones de

terceros Para obtener informacioacuten consulteDeshabilitar las restricciones de aplicaciones de terceros

Para obtener maacutes informacioacuten consulteSobre las restricciones de aplicaciones de terceros

Implementacioacuten automaacutetica desde CodePipeline con CodeDeployEs posible activar una implementacioacuten desde CodePipeline cada vez que cambie el coacutedigo fuente Paraobtener maacutes informacioacuten consulteCodePipeline

Ejemplos de integracioacuten de la comunidadEn las siguientes secciones se incluyen enlaces a entradas de blogs artiacuteculos y ejemplos proporcionadosen la comunidad

Note

Estos enlaces se ofrecen solo con fines informativos y no deben considerarse una lista completa ouna anotacioacuten del contenido de los ejemplos AWS no se hace responsable del contenido ni de laexactitud del contenido externo

Entradas de blogsbull Automatizacioacuten del aprovisionamiento de CodeDeploy enAWS CloudFormation

Aprenda a aprovisionar la implementacioacuten de una aplicacioacuten en CodeDeploy medianteAWSCloudFormation

Fecha de publicacioacuten enero de 2016bull AWS Toolkit for EclipseIntegracioacuten a CodeDeploy (primera parte)

Versioacuten de API 2014-10-0666

AWS CodeDeploy Guiacutea del usuarioEntradas de blogs

AWS Toolkit for EclipseIntegracioacuten a CodeDeploy (segunda parte)

AWS Toolkit for EclipseIntegracioacuten a CodeDeploy (tercera parte)

Descubra coacutemo los desarrolladores de Java pueden utilizar el complemento CodeDeploy para Eclipsepara implementar aplicaciones web enAWSdirectamente desde entornos de desarrollo de Eclipse

Fecha de publicacioacuten febrero de 2015bull Despliegue automaacuteticamente desde GitHub utilizando CodeDeploy

Aprenda a utilizar implementaciones automaacuteticas de GitHub para CodeDeploy para crear unacanalizacioacuten de extremo a extremo desde el control de origen a las pruebas o los entornos deproduccioacuten

Fecha de publicacioacuten diciembre de 2014

Versioacuten de API 2014-10-0667

AWS CodeDeploy Guiacutea del usuarioTutorial Implementacioacuten de WordPress

en una instancia sin Windows

Tutoriales CodeDeployEsta seccioacuten incluye algunos tutoriales que le ayudan a aprender a utilizar CodeDeploy

Los procedimientos de estos tutoriales proporcionan sugerencias sobre la ubicacioacuten en la que almacenarlos archivos (por ejemplo ctemp) y los nombres que asignar a los buckets subcarpetas o archivos (porejemplo codeDeploydemobucket HelloWorldApp y CodeDeployDemo-EC2-Trustjson respectivamente)pero no estaacuten obligados a utilizarlas Solo tiene que recordar sustituir sus nombres y ubicaciones dearchivos a medida que realiza los procedimientos

Temasbull Tutorial Implementar WordPress en una instancia de Amazon EC2 (Amazon Linux o Red Hat

Enterprise Linux y Linux macOS o Unix) (p 68)bull Tutorial Despliega un laquohola mundoraquo aplicacioacuten con CodeDeploy (Windows Server) (p 87)bull Tutorial Implementar una aplicacioacuten en una instancia local con CodeDeploy (Windows Server Ubuntu

Server o Red Hat Enterprise Linux) (p 103)bull Tutorial UsarCodeDeploypara implementar una aplicacioacuten en un grupo de Auto Scaling (p 110)bull Tutorial Usa CodeDeploy para desplegar una aplicacioacuten desde GitHub (p 127)bull Tutorial Implementar un servicio de Amazon ECS (p 139)bull Tutorial Implementacioacuten de un servicio Amazon ECS con una prueba de validacioacuten (p 147)bull Tutorial Implementar una funcioacuten Lambda actualizada con CodeDeploy y laAWSModelo de aplicacioacuten

sin servidor de (p 156)

Tutorial Implementar WordPress en una instanciade Amazon EC2 (Amazon Linux o Red HatEnterprise Linux y Linux macOS o Unix)

En este tutorial podraacute implementar WordPress una herramienta de blogs y sistema de gestioacuten decontenidos de coacutedigo abierto basado en PHP y MySQL en una uacutenica instancia Amazon EC2 con AmazonLinux o Red Hat Enterprise Linux (RHEL)

iquestNo es lo que estaacute buscando

bull Para practicar la implementacioacuten en una instancia Amazon EC2 que se ejecuta en Windows ServerconsulteTutorial Despliega un laquohola mundoraquo aplicacioacuten con CodeDeploy (Windows Server) (p 87)

bull Para practicar la implementacioacuten en una instancia on-premises en lugar de en una instancia AmazonEC2 consulteTutorial Implementar una aplicacioacuten en una instancia local con CodeDeploy (WindowsServer Ubuntu Server o Red Hat Enterprise Linux) (p 103)

Los pasos de este tutorial se presentan desde la perspectiva de un equipo de desarrollo local con LinuxmacOS o Unix Aunque puede completar la mayoriacutea de los pasos en un equipo local con Windows debeadaptar los pasos que utilizan comandos como chmod y wget las aplicaciones como sed y las rutas dedirectorio como tmp

Antes de empezar este tutorial debe completar los requisitos previos indicados en Introduccioacuten aCodeDeploy (p 35) Entre ellos se encuentran la configuracioacuten de su cuenta de usuario de IAM lainstalacioacuten o actualizacioacuten de laAWS CLIy crear un perfil de instancia de IAM y un rol de servicio de

Temas

Versioacuten de API 2014-10-0668

AWS CodeDeploy Guiacutea del usuarioPaso 1 Lance una instancia Amazon EC2

bull Paso 1 Lance y configure una instancia Amazon Linux o Red Hat Enterprise Linux AmazonEC2 (p 69)

bull Paso 2 Configurar el contenido de origen para implementarlo en la instancia Amazon Linux o Red HatEnterprise Linux Amazon EC2 (p 70)

bull Paso 3 Cargue su aplicacioacuten de WordPress en Amazon S3 (p 74)bull Paso 4 Implemente la aplicacioacuten de WordPress (p 77)bull Paso 5 Actualiza y vuelve a implementar tu aplicacioacuten WordPress (p 82)bull Paso 6 Limpia tu aplicacioacuten de WordPress y recursos relacionados (p 85)

Paso 1 Lance y configure una instancia Amazon Linuxo Red Hat Enterprise Linux Amazon EC2Para implementar la aplicacioacuten de WordPress con CodeDeploy necesitaraacute una instancia Amazon EC2 conAmazon Linux o Red Hat Enterprise Linux (RHEL) La instancia Amazon EC2 requiere una nueva regla deseguridad de entrada que permita las conexiones HTTP Esta regla es necesaria para poder ver la paacuteginade WordPress en un navegador una vez que se haya implementado

Siga las instrucciones en Creacioacuten de una instancia de Amazon EC2 para CodeDeploy (p 217) Al llegara las instrucciones sobre la asignacioacuten de una etiqueta de instancia Amazon EC2 a la instancia aseguacuteresede especificar la clave de etiquetaNamey el valor de etiqueta deCodeDeployDemo (Si especifica otra claveu otro valor de etiqueta las instrucciones de Paso 4 Implemente la aplicacioacuten de WordPress (p 77)pueden producir resultados inesperados)

Una vez completadas las instrucciones para lanzar la instancia Amazon EC2 vuelva a esta paacutegina ycontinuacutee con la seccioacuten siguiente No continuacutee enCrear una aplicacioacuten con CodeDeploy (p 273)comopaso siguiente

Connect con la instancia Amazon Linux o RHEL Amazon EC2Una vez lanzada la nueva instancia Amazon EC2 siga estas instrucciones para practicar la conexioacuten a lamisma

1 Usarsshcomando (o un emulador de terminal con la funcioacuten SSH comoPuTTY) para conectarsecon la instancia Amazon Linux o RHEL Amazon EC2 Necesitaraacute la direccioacuten DNS puacuteblica de lainstancia y la clave privada del key pair que utilizoacute al iniciar la instancia Amazon EC2 Para obtenermaacutes informacioacuten consulte Conectar con la instancia

Por ejemplo si la direccioacuten DNS puacuteblica esec2-01-234-567-890compute-1amazonawscomy el key pair de instancia Amazon EC2 para el acceso SSH se denominacodedeploydemopemdeberiacutea escribir

ssh -i pathtocodedeploydemopem ec2-userec2-01-234-567-890compute-1amazonawscom

Reemplazarpathtocodedeploydemopemcon el camino a supemy la direccioacuten DNS deejemplo con la direccioacuten de la instancia Amazon EC2 con Amazon Linux o RHEL

Note

Si aparece un mensaje de error indicando que los permisos del archivo de clave sondemasiado abiertos deberaacute restringirlos de modo que solo tenga acceso el usuario actual(usted) Por ejemplo con elchmoden Linux macOS o Unix escriba

chmod 400 pathtocodedeploydemopem

Versioacuten de API 2014-10-0669

AWS CodeDeploy Guiacutea del usuarioPaso 2 Configurar el contenido de origen

2 Una vez que haya iniciado sesioacuten veraacute el roacutetulo de AMI para la instancia Amazon EC2 Para AmazonLinux deberiacutea verse lo siguiente

__| __|_ ) _| ( Amazon Linux AMI ___|___|___|

3 Ahora ya puede cerrar la sesioacuten en la instancia Amazon EC2 en ejecucioacutenWarning

No interrumpa ni termine la instancia Amazon EC2 De lo contrario CodeDeploy no podraacuteimplementar en ella

Agregar una regla de entrada que permita el traacutefico HTTP a suinstancia de Amazon Linux o RHEL Amazon EC2El siguiente paso confirma que la instancia Amazon EC2 tiene un puerto HTTP abierto para que se puedaver la paacutegina de inicio de la aplicacioacuten de WordPress implementada en un navegador

1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2

2 ElegirInstanciasy a continuacioacuten elija su instancia3 En la paacuteginaDescripcioacutenpestantildea enGrupos de seguridad eligeVer reglas de entrada

Debe aparecer una lista de reglas en el grupo de seguridad como el siguiente

Security Groups associated with i-1234567890abcdef0 Ports Protocol Source launch-wizard-N 22 tcp 00000

4 UNDERGrupos de seguridad elija el grupo de seguridad para la instancia Amazon EC2 Podriacuteallamarselaunch-wizard-N La N del nombre es un nuacutemero asignado al grupo de seguridad cuandose creoacute la instancia

Elija la pestantildea Inbound (Reglas entrantes) Si el grupo de seguridad de la instancia estaacute configuradocorrectamente deberiacutea ver una regla con los siguientes valores

bull Type HTTPbull Protocolo TCPbull Rango de puertos 80bull Fuente 00000

5 Si no ve una regla con estos valores utilice los procedimientos descritos enAgregar reglas a un grupode seguridadpara antildeadirlos a una nueva regla de seguridad

Paso 2 Configurar el contenido de origen paraimplementarlo en la instancia Amazon Linux o Red HatEnterprise Linux Amazon EC2Ha llegado el momento de configurar el contenido de origen de su aplicacioacuten para tener algo queimplementar en la instancia

Versioacuten de API 2014-10-0670

AWS CodeDeploy Guiacutea del usuarioPaso 2 Configurar el contenido de origen

Temasbull Obtener el coacutedigo fuente (p 71)bull Crear scripts para ejecutar la aplicacioacuten (p 72)bull Agregar un archivo de especificacioacuten de la aplicacioacuten (p 73)

Obtener el coacutedigo fuenteEn este tutorial implementaraacute la plataforma de publicacioacuten de contenido WordPress desde su equipo dedesarrollo en la instancia Amazon EC2 de destino Para obtener el coacutedigo fuente de WordPress puedeutilizar llamadas a liacutenea de comandos integradas O bien si tiene instalado Git en su equipo de desarrollopuede utilizarlo en su lugar

Para estos pasos suponemos que ha descargado una copia del coacutedigo fuente de WordPress en eldirectorio tmp del equipo de desarrollo (Puede elegir cualquier directorio que desee pero no olvidesustituir la ubicacioacuten por tmp siempre que se especifique en estos pasos)

Elija una de las dos opciones siguientes para copiar los archivos de coacutedigo fuente de WordPress en elequipo de desarrollo La primera opcioacuten utiliza llamadas a liacutenea de comandos integradas La segundaopcioacuten utiliza Git

Temasbull Para obtener una copia del coacutedigo fuente de WordPress (llamadas a liacutenea de comandos

integradas) (p 71)bull Para obtener una copia del coacutedigo fuente de WordPress (Git) (p 72)

Para obtener una copia del coacutedigo fuente de WordPress (llamadas a liacutenea decomandos integradas)

1 Llame al comando wget para descargar una copia del coacutedigo fuente de WordPress como unarchivo zip en el directorio actual

wget httpsgithubcomWordPressWordPressarchivemasterzip

2 Ejecute los comandos unzip mkdir cp y rm para

bull Descomprimir el archivo zip master en el directorio (carpeta) tmpWordPress_Tempbull Copiar el contenido descomprimido en la carpeta de destino tmpWordPressbull Eliminar la carpeta temporal tmpWordPress_Temp y el archivo master

Ejecute los comandos de uno en uno

unzip master -d tmpWordPress_Temp

mkdir -p tmpWordPress

cp -paf tmpWordPress_TempWordPress-master tmpWordPress

rm -rf tmpWordPress_Temp

rm -f master

Versioacuten de API 2014-10-0671

AWS CodeDeploy Guiacutea del usuarioPaso 2 Configurar el contenido de origen

De este modo se queda con un conjunto de archivos de coacutedigo fuente de WordPress limpio en lacarpeta tmpWordPress

Para obtener una copia del coacutedigo fuente de WordPress (Git)

1 Descargue e instale Git en el equipo de desarrollo2 En la carpeta tmpWordPress ejecute el comando git init3 Ejecute el comando git clone para clonar el repositorio de WordPress puacuteblico creando su propia copia

de eacutel en la carpeta de destino tmpWordPress

git clone httpsgithubcomWordPressWordPressgit tmpWordPress

De este modo se queda con un conjunto de archivos de coacutedigo fuente de WordPress limpio en lacarpeta tmpWordPress

Crear scripts para ejecutar la aplicacioacutenA continuacioacuten cree una carpeta y scripts en el directorio CodeDeploy utiliza estos scripts para configurare implementar la revisioacuten de la aplicacioacuten en la instancia Amazon EC2 de destino Puede utilizar cualquiereditor de texto para crear los scripts

1 Cree un directorio de scripts en la copia del coacutedigo fuente de WordPress

mkdir -p tmpWordPressscripts

2 Cree un archivo install_dependenciessh en tmpWordPressscripts Antildeada las liacuteneassiguientes al archivo Este script install_dependenciessh instala Apache MySQL y PHPTambieacuten antildeade compatibilidad con MySQL a PHP

binbashsudo amazon-linux-extras install php74sudo yum install -y httpd mariadb-server php

3 Cree un archivo start_serversh en tmpWordPressscripts Antildeada las liacuteneas siguientes alarchivo Este script start_serversh inicia Apache y MySQL

binbashsystemctl start mariadbservicesystemctl start httpdservicesystemctl start php-fpmservice

4 Cree un archivo stop_serversh en tmpWordPressscripts Antildeada las liacuteneas siguientes alarchivo Este script stop_serversh detiene Apache y MySQL

binbashisExistApp=pgrep httpdif [[ -n $isExistApp ]] thensystemctl stop httpdservicefiisExistApp=pgrep mysqldif [[ -n $isExistApp ]] thensystemctl stop mariadbservice

Versioacuten de API 2014-10-0672

AWS CodeDeploy Guiacutea del usuarioPaso 2 Configurar el contenido de origen

fiisExistApp=pgrep php-fpmif [[ -n $isExistApp ]] thensystemctl stop php-fpmservice

fi

5 Cree un archivo create_test_dbsh en tmpWordPressscripts Antildeada las liacuteneas siguientesal archivo Este script create_test_dbsh utiliza MySQL para crear una base de datos test paraWordPress

binbashmysql -uroot ltltCREATE_TEST_DBCREATE DATABASE IF NOT EXISTS testCREATE_TEST_DB

6 Por uacuteltimo cree un script change_permissionssh en tmpWordPressscripts Esto se utilizapara cambiar los permisos de carpeta en Apache

Important

Este script ha actualizado los permisos de la carpeta tmpWordPress de modo quecualquiera pueda escribir en ella Esto es necesario para que WordPress pueda escribiren su base de datos durante Paso 5 Actualiza y vuelve a implementar tu aplicacioacutenWordPress (p 82) Una vez configurada la aplicacioacuten de WordPress ejecute el siguientecomando para actualizar los permisos con una configuracioacuten maacutes segura

chmod -R 755 varwwwhtmlWordPress

binbashchmod -R 777 varwwwhtmlWordPress

7 Conceda permisos ejecutables a todos los scripts En la liacutenea de comando escriba

chmod +x tmpWordPressscripts

Agregar un archivo de especificacioacuten de la aplicacioacutenA continuacioacuten agregue un archivo de especificacioacuten de la aplicacioacuten (archivo AppSpec) unYAMLarchivocon formato utilizado por CodeDeploy para

bull Asignar los archivos de origen de la revisioacuten de la aplicacioacuten a sus destinos en la instancia de AmazonEC2 de destino

bull Especificar permisos personalizados para los archivos implementadosbull Especifique los scripts a ejecutarse en la instancia de Amazon EC2 de destino durante la

implementacioacuten

El archivo AppSpec debe denominarseappspecyml Debe colocarse en el directorio raiacutez del coacutedigofuente de la aplicacioacuten En este tutorial el directorio raiacutez es tmpWordPress

Mediante su editor de texto cree un archivo denominado appspecyml Antildeada las liacuteneas siguientes alarchivo

Versioacuten de API 2014-10-0673

AWS CodeDeploy Guiacutea del usuarioPaso 3 Cargar la aplicacioacuten en Amazon S3

version 00os linuxfiles - source destination varwwwhtmlWordPresshooks BeforeInstall - location scriptsinstall_dependenciessh timeout 300 runas root AfterInstall - location scriptschange_permissionssh timeout 300 runas root ApplicationStart - location scriptsstart_serversh - location scriptscreate_test_dbsh timeout 300 runas root ApplicationStop - location scriptsstop_serversh timeout 300 runas root

CodeDeploy utiliza este archivo AppSpec para copiar todos los archivos en latmpWordPresscarpetade la maacutequina de desarrollo en elvarwwwhtmlWordPressen la instancia de Amazon EC2 dedestino Durante la implementacioacuten CodeDeploy ejecuta los scripts especificados comorootenlavarwwwhtmlWordPressscriptscarpeta en la instancia de Amazon EC2 de destinocuando se producen los eventos especificados durante el ciclo de vida de la implementacioacuten porejemploBeforeInstallyAfterInstall Si cualquiera de estos scripts tarda maacutes de 300 segundos (5minutos) en ejecutarse CodeDeploy detiene la implementacioacuten y la marca como erroacutenea

Para obtener maacutes informacioacuten sobre la configuracioacuten consulte Referencia del archivo CodeDeployAppSpec (p 407)

Important

Las ubicaciones y el nuacutemero de espacios entre cada uno de los elementos de este archivo sonimportantes Si el espaciado es incorrecto CodeDeploy genera un error que puede resultar difiacutecilde depurar Para obtener maacutes informacioacuten consulte Espaciado de archivos AppSpec (p 440)

Paso 3 Cargue su aplicacioacuten de WordPress enAmazon S3Ahora prepararaacute y cargaraacute el contenido de origen en una ubicacioacuten desde la que CodeDeploy puedaimplementarla Las siguientes instrucciones explican coacutemo aprovisionar un bucket de Amazon S3preparar los archivos de la revisioacuten de la aplicacioacuten para el bucket agrupar los archivos de la revisioacuten y acontinuacioacuten enviar la revisioacuten al bucket

Note

Aunque no se trata en este tutorial puede utilizar CodeDeploy para implementar aplicacionesdesde repositorios de GitHub en instancias Para obtener maacutes informacioacuten consulte Integracioacutende CodeDeploy con GitHub (p 63)

Temasbull Aprovisionar un bucket de Amazon S3 (p 75)bull Preparar los archivos de la aplicacioacuten para el depoacutesito (p 76)

Versioacuten de API 2014-10-0674

AWS CodeDeploy Guiacutea del usuarioPaso 3 Cargar la aplicacioacuten en Amazon S3

bull Agrupe los archivos de la aplicacioacuten en un uacutenico archivo de archivo e inserte el archivo dearchivo (p 77)

Aprovisionar un bucket de Amazon S3Cree un contenedor de almacenamiento obaldeen Amazon S3 o utilice un bucket existente Aseguacuteresede que puede cargar la revisioacuten en el bucket y que las instancias de Amazon EC2 utilizadas en lasimplementaciones pueden descargar la revisioacuten del bucket

Puede utilizar elAWS CLI la consola de Amazon S3 o las API de Amazon S3 para crear un bucket deAmazon S3 Despueacutes de crear el bucket aseguacuterese de que concede permisos de acceso al bucket y a suusuario de IAM

Note

Los nombres de bucket deben ser uacutenicos en Amazon S3 para todosAWScuentas Si nopuede utilizar codedeploydemobucket pruebe otro nombre de bucket por ejemplocodedeploydemobucket seguido de un guion y sus iniciales o alguacuten otro identificador uacutenicoA continuacioacuten cuando aparezca codedeploydemobucket en este tutorial aseguacuterese desustituirlo por el nombre de su bucketEl bucket de Amazon S3 debe crearse en el mismoAWSregioacuten en la que se lanzan las instanciasde Amazon EC2 de destino Por ejemplo si crea el bucket en la regioacuten EE UU Este (Norte deVirginia) las instancias de Amazon EC2 de destino deben lanzarse en la regioacuten EE UU Este(Norte de Virginia)

Temasbull Para crear un bucket de Amazon S3 (CLI) (p 75)bull Para crear un bucket de Amazon S3 (consola) (p 75)bull Conceder permisos al bucket de Amazon S3 y a su usuario de IAM (p 75)

Para crear un bucket de Amazon S3 (CLI)Llame a lambpara crear un bucket de Amazon S3 denominadocodedeploydemobucket

aws s3 mb s3codedeploydemobucket

Para crear un bucket de Amazon S3 (consola)

1 Abra la consola de Amazon S3 en httpsconsoleawsamazoncoms32 En la consola de Amazon S3 elijacrear un bucket3 En el cuadro Bucket name (Nombre del bucket) escriba un nombre para el bucket4 En la lista Region (Regioacuten) elija la regioacuten de destino y a continuacioacuten seleccione Create (Crear)

Conceder permisos al bucket de Amazon S3 y a su usuario de IAMDebe tener permisos para cargar en el bucket de Amazon S3 Puede especificar estos permisos medianteuna poliacutetica de bucket de Amazon S3 Por ejemplo en la siguiente poliacutetica de bucket de Amazon S3 el usodel caraacutecter comodiacuten () permiteAWScuenta111122223333para cargar archivos en cualquier directorio delbucket de Amazon S3 denominadocodedeploydemobucket

Statement [ Action [

Versioacuten de API 2014-10-0675

AWS CodeDeploy Guiacutea del usuarioPaso 3 Cargar la aplicacioacuten en Amazon S3

s3PutObject ] Effect Allow Resource arnawss3codedeploydemobucket Principal AWS [ 111122223333 ] ]

Para ver losAWSID de la cuenta consulteBuacutesqueda de suAWSID de la cuenta de

Ahora es un buen momento para verificar que el bucket de Amazon S3 permitiraacute las solicitudes dedescarga de cada instancia de Amazon EC2 participante Puede especificarla mediante una poliacutetica debucket de Amazon S3 Por ejemplo en la siguiente poliacutetica de bucket de Amazon S3 el uso del caraacutectercomodiacuten () permite cualquier instancia de Amazon EC2 con un perfil de instancia de IAM adjunto quecontenga el ARNarnawsiam444455556666roleCodeDeployDemopara descargar archivosdesde cualquier directorio del bucket de Amazon S3 denominadocodedeploydemobucket

Statement [ Action [ s3Get s3List ] Effect Allow Resource arnawss3codedeploydemobucket Principal AWS [ arnawsiam444455556666roleCodeDeployDemo ] ]

Para obtener informacioacuten acerca de coacutemo generar y asociar una poliacutetica de bucket de Amazon S3consulteEjemplos de poliacutetica de bucket

Para obtener informacioacuten acerca de coacutemo crear y asociar una poliacutetica de IAM consulteTrabajo conpoliacuteticas

Preparar los archivos de la aplicacioacuten para el depoacutesitoAseguacuterese de que los archivos de la aplicacioacuten de WordPress el archivo AppSpec y los scripts esteacutenorganizados en el equipo de desarrollo de manera similar a la siguiente

tmp |--WordPress |-- appspecyml |-- scripts | |-- change_permissionssh | |-- create_test_dbsh | |-- install_dependenciessh | |-- start_serversh | |-- stop_serversh |-- wp-admin

Versioacuten de API 2014-10-0676

AWS CodeDeploy Guiacutea del usuarioPaso 4 Implementar la aplicacioacuten

| |-- (various files) |-- wp-content | |-- (various files) |-- wp-includes | |-- (various files) |-- indexphp |-- licensetxt |-- readmehtml |-- (various files ending with php)

Agrupe los archivos de la aplicacioacuten en un uacutenico archivo dearchivo e inserte el archivo de archivoAgrupe los archivos de la aplicacioacuten de WordPress y el archivo de AppSpec en un archivo dealmacenamiento (lo que se conoce como una aplicacioacuten)revisioacuten)

Note

Es posible que se cobre por almacenar objetos en un bucket y por transferir revisiones de laaplicacioacuten dentro y fuera de un bucket Para obtener maacutes informacioacuten consulte Precios deAmazon S3

1 En el equipo de desarrollo cambie a la carpeta en la que se almacenan los archivos

cd tmpWordPress

Note

Si no cambia a esta carpeta la agrupacioacuten del archivo comenzaraacute en su carpeta actualPor ejemplo si la carpeta actual es tmp en lugar de tmpWordPress la agrupacioacutencomenzaraacute con los archivos y subcarpetas de la carpeta tmp lo que puede incluir algo maacutesque la subcarpeta WordPress

2 Ejecute el comando create-application para registrar una aplicacioacuten nueva denominadaWordPress_App

aws deploy create-application --application-name WordPress_App

3 Llame a CodeDeploypushpara agrupar los archivos cargar las revisiones en Amazon S3 y registra enCodeDeploy sobre la revisioacuten cargada todo con una accioacuten

aws deploy push --application-name WordPress_App --s3-location s3codedeploydemobucketWordPressAppzip --ignore-hidden-files

Este comando agrupa los archivos del directorio actual (excepto los archivos ocultos) en unuacutenico archivo de almacenamiento denominadoWordPressAppzip carga la revisioacuten enelcodedeploydemobuckety registra informacioacuten con CodeDeploy sobre la revisioacuten cargada

Paso 4 Implemente la aplicacioacuten de WordPressAhora implementaraacute la revisioacuten de aplicacioacuten de WordPress de ejemplo que cargoacute en Amazon S3 Puedeutilizar elAWS CLIo la consola de CodeDeploy para implementar la revisioacuten y monitorizar el progreso dela implementacioacuten Una vez implementada correctamente la revisioacuten de la aplicacioacuten comprobaraacute losresultados

Versioacuten de API 2014-10-0677

AWS CodeDeploy Guiacutea del usuarioPaso 4 Implementar la aplicacioacuten

Temasbull Implemente la revisioacuten de la aplicacioacuten con CodeDeploy (p 78)bull Monitorizacioacuten y solucioacuten de problemas de la implementacioacuten (p 80)bull Verificacioacuten de la implementacioacuten (p 81)

Implemente la revisioacuten de la aplicacioacuten con CodeDeployUtilice la AWS CLI o la consola para implementar la revisioacuten de la aplicacioacuten

Temasbull Para implementar la revisioacuten de la aplicacioacuten (CLI) (p 78)bull Para implementar la revisioacuten de la aplicacioacuten (consola) (p 79)

Para implementar la revisioacuten de la aplicacioacuten (CLI)

1 La implementacioacuten necesita un grupo de implementaciones Sin embargo para crear el grupo deimplementaciones primero necesita un ARN de rol de servicio Un rol de servicio es un rol de IAM queconcede a un servicio permiso para actuar en su nombre En este caso el rol de servicio concede aCodeDeploy permiso de acceso a sus instancias de Amazon EC2 para ampliar (leer) sus etiquetas deinstancia de Amazon EC2

Ya debe haber seguido las instrucciones de Creacioacuten de un rol de servicio de (CLI) (p 39) para crearun rol de servicio Para obtener el ARN del rol de servicio consulte Obtenga el ARN del rol de servicio(CLI) (p 41)

2 Ahora que tiene el rol de servicio ARN llame alcreate-deployment-grouppara crear ungrupo de implementaciones denominadoWordPress_DepGroup asociado a la aplicacioacutendenominadaWordPress_App utilizando la etiqueta de Amazon EC2 denominadaCodeDeployDemoyconfiguracioacuten de implementacioacuten denominadaCodeDeployDefaultOneAtATime

aws deploy create-deployment-group --application-name WordPress_App --deployment-group-name WordPress_DepGroup --deployment-config-name CodeDeployDefaultOneAtATime --ec2-tag-filters Key=NameValue=CodeDeployDemoType=KEY_AND_VALUE --service-role-arn serviceRoleARN

Note

Lacreate-deployment-groupproporciona soporte para crear activadores que dan comoresultado el enviacuteo de notificaciones de Amazon SNS a los suscriptores de temas sobreeventos especiacuteficos en implementaciones e instancias El comando tambieacuten admite opcionespara revertir automaacuteticamente implementaciones y configurar alarmas para detener lasimplementaciones cuando se cumplen los umbrales de supervisioacuten en alarmas de AmazonCloudWatch Los comandos de estas acciones no se incluyen en este tutorial

3 Antes de crear una implementacioacuten las instancias del grupo de implementacioacuten deben tener instaladoel agente de CodeDeploy instalado Puede instalar el agente desde la liacutenea de comandos con AWSSystems Manager mediante el comando siguiente

aws ssm create-association --name AWS-ConfigureAWSPackage --targets Key=tagNameValues=CodeDeployDemo --parameters action=Installname=AWSCodeDeployAgent --schedule-expression cron(0 2 SUN )

Versioacuten de API 2014-10-0678

AWS CodeDeploy Guiacutea del usuarioPaso 4 Implementar la aplicacioacuten

Este comando crea una asociacioacuten en Systems Manager State Manager que instalaraacute el agentede CodeDeploy y despueacutes intentaraacute actualizarlo todos los domingos por la mantildeana a las 200Para obtener maacutes informacioacuten sobre el agente de CodeDeploy consulteTrabajar con el agente deCodeDeploy Para obtener maacutes informacioacuten acerca de Systems Manager consulteiquestQueacute es AWSSystems Manager

4 Ejecute ahora el comando create-deployment para crear una implementacioacuten asociada a la aplicacioacutenWordPress_App la configuracioacuten de implementacioacuten CodeDeployDefaultOneAtATimey el grupo de implementaciones WordPress_DepGroup utilizando la revisioacuten de la aplicacioacutenWordPressAppzip del bucket codedeploydemobucket

aws deploy create-deployment --application-name WordPress_App --deployment-config-name CodeDeployDefaultOneAtATime --deployment-group-name WordPress_DepGroup --s3-location bucket=codedeploydemobucketbundleType=zipkey=WordPressAppzip

Para implementar la revisioacuten de la aplicacioacuten (consola)

1 Antes de utilizar la consola de CodeDeploy para implementar la revisioacuten de la aplicacioacuten necesita unARN de rol de servicio ARN Un rol de servicio es un rol de IAM que concede a un servicio permisopara actuar en su nombre En este caso el rol de servicio concede a CodeDeploy permiso de accesoa sus instancias de Amazon EC2 para ampliar (leer) sus etiquetas de instancia de Amazon EC2

Ya debe haber seguido las instrucciones de Creacioacuten de un rol de servicio de (consola) (p 37) paracrear un rol de servicio Para obtener el ARN del rol de servicio consulte Obtenga el ARN del rol deservicio (consola) (p 40)

2 Ahora que tiene el ARN use la consola de CodeDeploy para implementar la revisioacuten de la aplicacioacuten

Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

3 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones4 En la lista de aplicaciones elijaAplicacioacuten WordPress_5 En la pestantildea Deployment groups (Grupos de implementaciones) elija Create deployment group

(Crear grupo de implementaciones)6 En Deployment group name (Nombre de grupo de implementacioacuten) escriba WordPress_DepGroup7 En Deployment type elija In-place deployment8 EnConfiguracioacuten del entorno seleccioneInstancias de Amazon EC29 EnConfiguracioacuten del agente conAWS Systems Manager mantenga los valores predeterminados10 En Key (Clave) introduzca Name11 En Valor escriba CodeDeployDemo

Note

Despueacutes de escribirCodeDeployDemo un1debe aparecer enInstancias coincidpara confirmarque CodeDeploy ha encontrado una instancia de Amazon EC2 que coincida

12 EnConfiguracioacuten de implementacioacuten eligeCodeDeployDefaultOneAtATime13 En Service role ARN (ARN de rol de servicio) elija el ARN del rol de servicio y seleccione Create

deployment group (Crear grupo de implementacioacuten)

Versioacuten de API 2014-10-0679

AWS CodeDeploy Guiacutea del usuarioPaso 4 Implementar la aplicacioacuten

14 Elija Create deployment (Crear implementacioacuten)15 En Deployment group (Grupo de implementacioacuten) elija WordPress_DepGroup16 Junto aRepository type eligeMi aplicacioacuten se almacena en Amazon S3 EnUbicacioacuten de revisioacuten

introduzca la ubicacioacuten de la revisioacuten de aplicacioacuten de WordPress de ejemplo que cargoacute antes enAmazon S3 Para obtener la ubicacioacuten

a Abra la consola de Amazon S3 en httpsconsoleawsamazoncoms3b En la lista de buckets elijacodedeploydemobucket(o el nombre del bucket en el que cargoacute la

revisioacuten de la aplicacioacuten)c En la lista de objetos elijaWordPressAppzip que esd En la pestantildea Overview (Informacioacuten general) copie el valor del campo Link (Enlace) en el

portapapeles

Debe ser similar al siguiente

httpss3amazonawscomcodedeploydemobucketWordPressAppzip

e Regrese a la consola de CodeDeploy y enUbicacioacuten de revisioacuten pegue elViacutenculovalor de campo17 Si en la lista File type (Tipo de archivo) aparece un mensaje en el que se indica que no se ha podido

detectar el tipo de archivo seleccione zip18 (Opcional) Escriba un comentario en el cuadro Deployment description19 AmpliarAnulaciones de grupos de implementaciones y deConfiguracioacuten de implementacioacuten

eligeCodeDeployDefaultOneAtATime20 Elija Start deployment (Iniciar la implementacioacuten) En la paacutegina Deployments se mostraraacute informacioacuten

sobre la implementacioacuten que acaba de crear

Monitorizacioacuten y solucioacuten de problemas de la implementacioacutenUtilice la AWS CLI o la consola para monitorizar y resolver problemas de la implementacioacuten

Temasbull Para monitorizar y solucionar problemas en la implementacioacuten (CLI) (p 80)bull Para monitorizar y resolver problemas de la implementacioacuten (consola) (p 81)

Para monitorizar y solucionar problemas en la implementacioacuten (CLI)

1 Obtenga el ID de la implementacioacuten para ello ejecute el comando list-deployments para la aplicacioacutenWordPress_App y el grupo de implementaciones WordPress_DepGroup

aws deploy list-deployments --application-name WordPress_App --deployment-group-name WordPress_DepGroup --query deployments --output text

2 Llame al comando get-deployment con el ID de la implementacioacuten

aws deploy get-deployment --deployment-id deploymentID --query deploymentInfostatus --output text

3 El comando devuelve el estado general de la implementacioacuten Si todo sale bien el valor esSucceeded

Si el estado general esFailed puede llamar a comandos comoinstancias de implementacioacuten delistasyget-deployment-instancepara solucionar los problemas Si desea conocer maacutes opcionesde solucioacuten de problemas consulte Anaacutelisis de archivos de registro para investigar los errores deimplementacioacuten en instancias (p 473)

Versioacuten de API 2014-10-0680

AWS CodeDeploy Guiacutea del usuarioPaso 4 Implementar la aplicacioacuten

Para monitorizar y resolver problemas de la implementacioacuten (consola)

En la paacuteginaImplementacionesen la consola de CodeDeploy puede monitorizar el estado de laimplementacioacuten en laEstadocolumn

Para obtener maacutes informacioacuten acerca de la implementacioacuten sobre todo si el valor de la columna Statustiene un valor distinto de Succeeded

1 En la tabla Deployments (Implementaciones) elija el nombre de la implementacioacuten Cuando seproduce un error en una implementacioacuten aparece un mensaje que describe el motivo del error

2 En Actividad de instancia aparece maacutes informacioacuten sobre la implementacioacuten Cuando se unaimplementacioacuten falla es posible que pueda determinar las instancias de Amazon EC2 y el paso delproceso en el que se ha producido el error

3 Si desea continuar con la solucioacuten de problemas puede aplicar una teacutecnica como la descrita en ViewInstance Details (p 258) Tambieacuten puede analizar los archivos de log de la implementacioacuten en unainstancia de Amazon EC2 Para obtener maacutes informacioacuten consulte Anaacutelisis de archivos de registropara investigar los errores de implementacioacuten en instancias (p 473)

Verificacioacuten de la implementacioacutenUna vez efectuada con eacutexito la implementacioacuten puede comprobar que la instalacioacuten de WordPressfunciona Utilice la direccioacuten DNS puacuteblica de la instancia de Amazon EC2 seguida deWordPress paraver el sitio en un navegador web (Para obtener el valor de DNS puacuteblico en la consola de Amazon EC2elija la instancia de Amazon EC2 y enDescripcioacuten busque el valor deDNS puacuteblico)

Por ejemplo si la direccioacuten DNS puacuteblica de la instancia de Amazon EC2esec2-01-234-567-890compute-1amazonawscom usariacutea la siguiente direccioacuten URL

httpec2-01-234-567-890compute-1amazonawscomWordPress

Cuando vea el sitio en el navegador deberiacutea aparecer una paacutegina de bienvenida de WordPress que tieneun aspecto similar al siguiente

Versioacuten de API 2014-10-0681

AWS CodeDeploy Guiacutea del usuarioPaso 5 Actualiza y vuelve a desplegar tu aplicacioacuten

Si la instancia de Amazon EC2 no tiene ninguna regla entrante HTTP en su grupo de seguridad la paacuteginade bienvenida de WordPress no apareceraacute Si aparece un mensaje que indica que el servidor remotono responde aseguacuterese de que el grupo de seguridad de la instancia de Amazon EC2 tiene la regla deentrada Para obtener maacutes informacioacuten consulte Agregar una regla de entrada que permita el traacuteficoHTTP a su instancia de Amazon Linux o RHEL Amazon EC2 (p 70)

Paso 5 Actualiza y vuelve a implementar tu aplicacioacutenWordPressAhora que ha implementado correctamente la revisioacuten de la aplicacioacuten actualice el coacutedigo de WordPressen el equipo de desarrollo y a continuacioacuten utilice CodeDeploy para volver a implementar el sitioPosteriormente deberiacutea poder ver los cambios en el coacutedigo en la instancia de Amazon EC2

Temasbull Configurar el sitio de WordPress (p 82)bull Modificacioacuten del sitio (p 83)bull Volver a implementar el sitio (p 83)

Configurar el sitio de WordPressPara ver los efectos del cambio del coacutedigo termine de configurar el sitio de WordPress para tener unainstalacioacuten plenamente funcional

1 Escriba la URL del sitio web en el navegador web La URL es la direccioacuten DNS puacuteblicade la instancia Amazon EC2 con unaWordPress Para este sitio de WordPress de

Versioacuten de API 2014-10-0682

AWS CodeDeploy Guiacutea del usuarioPaso 5 Actualiza y vuelve a desplegar tu aplicacioacuten

ejemplo (y la direccioacuten DNS puacuteblica de la instancia Amazon EC2) la URL eshttpec2-01-234-567-890compute-1amazonawscomWordPress

2 Si no ha configurado el sitio todaviacutea aparece la paacutegina de bienvenida predeterminada de WordPressElija iexclVamos

3 En la paacutegina de configuracioacuten de la base de datos escriba los siguientes valores para utilizar la basede datos MySQL predeterminada

bull Database Name (Nombre de la base de datos) testbull User Name (Nombre del usuario) rootbull Contrasentildea Deje en blancobull Database Host (Host de base de datos) localhostbull Table Prefix (Prefijo de tabla) wp_

Elija Submit para configurar la base de datos4 Continuacutee con la configuracioacuten del sitio En la paacutegina Welcome rellene los valores deseados y luego

seleccione Install WordPress Cuando se haya completado la instalacioacuten puede iniciar sesioacuten en elpanel

Important

Durante la implementacioacuten de la aplicacioacuten de WordPress el script change_permissionsshha actualizado los permisos de la carpeta tmpWordPress de forma que cualquiera puedeescribir en ella Este es un buen momento para ejecutar el siguiente comando para restringir lospermisos de forma que solo usted el propietario pueda escribir en ella

chmod -R 755 varwwwhtmlWordPress

Modificacioacuten del sitioPara modificar el sitio de WordPress vaya a la carpeta de la aplicacioacuten en el equipo de desarrollo

cd tmpWordPress

Para modificar algunos colores del sitio en el archivo wp-contentthemestwentyfifteenstylecss utilice un editor de texto o sed para cambiar fff a 768331

En Linux u otros sistemas con sed GNU utilice

sed -i sfff768331g wp-contentthemestwentyfifteenstylecss

En macOS Unix u otros sistemas con sed BSD utilice

sed -i sfff768331g wp-contentthemestwentyfifteenstylecss

Volver a implementar el sitioAhora que ha modificado el coacutedigo del sitio utilice Amazon S3 y CodeDeploy para volver a implementar elsitio

Versioacuten de API 2014-10-0683

AWS CodeDeploy Guiacutea del usuarioPaso 5 Actualiza y vuelve a desplegar tu aplicacioacuten

Agrupe y cargue los cambios en Amazon S3 como se describe enAgrupe los archivos de la aplicacioacuten enun uacutenico archivo de archivo e inserte el archivo de archivo (p 77) (Cuando siga esas instruccionesrecuerde que no tiene que crear una aplicacioacuten) Asigne a la nueva revisioacuten la misma clave que antes(WordPressAppzip) Caacuterguela en el mismo bucket de Amazon S3 que creoacute anteriormente (porejemplocodedeploydemobucket)

UsarAWS CLI la consola de CodeDeploy o las API de CodeDeploy para volver a implementar el sitio

Temasbull Para volver implementar el sitio (CLI) (p 84)bull Para volver a implementar el sitio (consola) (p 84)

Para volver implementar el sitio (CLI)

Llame al comando create-deployment para crear una implementacioacuten basada en la revisioacutenrecieacuten cargada Utilice la aplicacioacuten WordPress_App la configuracioacuten de implementacioacutenCodeDeployDefaultOneAtATime el grupo de implementaciones WordPress_DepGroup y la revisioacutenWordPressAppzip del bucket codedeploydemobucket

aws deploy create-deployment --application-name WordPress_App --deployment-config-name CodeDeployDefaultOneAtATime --deployment-group-name WordPress_DepGroup --s3-location bucket=codedeploydemobucketbundleType=zipkey=WordPressAppzip

Puede comprobar el estado de la implementacioacuten como se describe en Monitorizacioacuten y solucioacuten deproblemas de la implementacioacuten (p 80)

Una vez que CodeDeploy ha vuelto a implementar el sitio visiacutetelo de nuevo en el navegador web paraverificar que los colores han cambiado (Puede que tenga que actualizar el navegador) Si los colores hancambiado iexclenhorabuena Ha modificado y vuelto a implementar correctamente su sitio

Para volver a implementar el sitio (consola)

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary a continuacioacuten elijaAplicaciones3 En la lista de aplicaciones elijaAplicacioacuten WordPress_4 En la pestantildea Deployment groups (Grupos de implementaciones) elija WordPress_DepGroup5 Elija Create deployment (Crear implementacioacuten)6 En la paacutegina Create deployment

a En Deployment group (Grupo de implementacioacuten) elija WordPress_DepGroupb En el navegadorRepository typearea elijaMi aplicacioacuten se almacena en Amazon S3y a

continuacioacuten copie el enlace de Amazon S3 de la revisioacuten en elUbicacioacuten de revisioacuten Paraencontrar el valor del enlace

i En una pestantildea diferente del navegador

Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon S3 en httpsconsoleawsamazoncoms3

Versioacuten de API 2014-10-0684

AWS CodeDeploy Guiacutea del usuarioPaso 6 Eliminar recursos

Vaya a y abracodedeploydemobuckety a continuacioacuten elija la revisioacutenWordPressAppzipii Si el archivo dePropiedadesno estaacute visible en la consola de Amazon S3 elija

laPropiedadesbotoacuteniii En el navegadorPropiedades copie el valor de laViacutenculoen el campoUbicacioacuten de revisioacutenen

la consola de CodeDeployc Si aparece un mensaje que indica que el tipo de archivo no se pudo detectar elija zipd Deje el cuadro Deployment description en blancoe AmpliarAnulaciones de grupos de implementacionesy deConfiguracioacuten de implementacioacuten

eligeCodeDeployDefaultOneAtATimef Elija Start deployment (Iniciar la implementacioacuten) En la paacutegina Deployments se mostraraacute

informacioacuten sobre la implementacioacuten que acaba de crearg Puede comprobar el estado de la implementacioacuten como se describe en Monitorizacioacuten y solucioacuten

de problemas de la implementacioacuten (p 80)

Una vez que CodeDeploy ha vuelto a implementar el sitio visiacutetelo de nuevo en el navegador webpara verificar que los colores han cambiado (Puede que tenga que actualizar el navegador) Silos colores han cambiado iexclenhorabuena Ha modificado y vuelto a implementar correctamente susitio

Paso 6 Limpia tu aplicacioacuten de WordPress y recursosrelacionadosHa actualizado correctamente el coacutedigo de WordPress y ha vuelto a implementar el sitio Para evitarcargos recurrentes por los recursos que ha creado para este tutorial debe eliminar

bull CualquierAWS CloudFormationpila (o finalizar todas las instancias Amazon EC2 si las ha creado fueradeAWS CloudFormation)

bull Todos los buckets de Amazon S3bull LaWordPress_Appaplicacioacuten en CodeDeploybull LaAWS Systems ManagerAsociacioacuten del Administrador de estados de para el agente de CodeDeploy

Puede utilizar elAWS CLI elAWS CloudFormation consolas Amazon S3 Amazon EC2 y CodeDeploy olas consolasAWSAPI para realizar la limpieza

Temasbull Para limpiar los recursos (CLI) (p 85)bull Para limpiar los recursos (consola) (p 86)bull Siguientes pasos (p 87)

Para limpiar los recursos (CLI)1 Si ha utilizado la plantilla de AWS CloudFormation para este tutorial ejecute el comando delete-stack

para la pila CodeDeployDemoStack Asiacute terminaraacute todas las instancias Amazon EC2 asociadas yeliminaraacute todos los roles de IAM que haya creado la pila

aws cloudformation delete-stack --stack-name CodeDeployDemoStack

2 Para eliminar el bucket de Amazon S3 llame alrmcomando con el--recursivecambiar contra eldepoacutesito llamadocodedeploydemobucket Asiacute eliminaraacute el bucket y todos los objetos que contiene

Versioacuten de API 2014-10-0685

AWS CodeDeploy Guiacutea del usuarioPaso 6 Eliminar recursos

aws s3 rm s3codedeploydemobucket --recursive

3 Para eliminar la aplicacioacuten WordPress_App realice una llamada al comando delete-application Estoeliminaraacute tambieacuten todos los registros de grupo de implementaciones asociados y los registros deimplementacioacuten de la aplicacioacuten

aws deploy delete-application --application-name WordPress_App

4 Para eliminar la asociacioacuten del Administrador de estado de Systems Manager llame aldelete-associationcomando

aws ssm delete-association --assocation-id association-id

Para obtener el valor de id-asociacioacuten llame al comando describe-association

aws ssm describe-association --name AWS-ConfigureAWSPackage --targets Key=tagNameValues=CodeDeployDemo

Si no has usado elAWS CloudFormationpila para este tutorial llame alterminate-instancespara finalizarcualquier instancia de Amazon EC2 que haya creado manualmente Indique el ID de la instancia AmazonEC2 para terminar

aws ec2 terminate-instances --instance-ids instanceId

Para limpiar los recursos (consola)Si ha utilizado la plantilla de AWS CloudFormation para este tutorial elimine la pila de AWSCloudFormation asociada

1 Inicie sesioacuten en la AWS Management Console y abra la consola de AWS CloudFormation en httpsconsoleawsamazoncomcloudformation

2 En el cuadro Filter (Filtro) escriba el nombre de la pila de AWS CloudFormation que creoacuteanteriormente (por ejemplo CodeDeployDemoStack)

3 Seleccione la casilla junto al nombre de la pila En el menuacute Actions (Acciones) elija Delete Stack(Eliminar pila)

AWS CloudFormationelimina la pila termina todas las instancias Amazon EC2 asociadas y eliminatodos los roles de IAM correspondientes

Para terminar las instancias Amazon EC2 que haya creado fuera de unAWS CloudFormationpila

1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2

2 En la lista INSTANCES elija Instances3 En el campo de buacutesqueda escriba el nombre de la instancia Amazon EC2 que desee eliminar (por

ejemploCodeDeployDemo) y a continuacioacuten pulse Intro4 Seleccione el nombre de la instancia Amazon EC25 En el menuacute Actions seleccione Instance State y elija Terminate Cuando se le pregunte elija Yes

Terminate

Repita estos pasos para cada instancia

Versioacuten de API 2014-10-0686

AWS CodeDeploy Guiacutea del usuarioTutorial Implementacioacuten de una aplicacioacuten Hello

World en una instancia de Windows Server

Para eliminar el bucket de Amazon S3

1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon S3 en httpsconsoleawsamazoncoms3

2 En la lista de buckets busque y elija el nombre del bucket de Amazon S3 que haya creadoanteriormente (por ejemplocodedeploydemobucket)

3 Para eliminar un bucket primero debe eliminar su contenido Seleccione todos los archivos delbucket como WordPressAppzip En el menuacute Actions elija Delete Cuando se le pida confirmar laeliminacioacuten elija OK

4 Una vez vaciacuteo puede eliminar el bucket En la lista de buckets elija la liacutenea del bucket (pero no sunombre) Elija Delete bucket y cuando se le pida que confirme seleccione OK

Para eliminar elWordPress_Appaplicacioacuten de CodeDeploy

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary despueacutes elijaAplicaciones3 En la lista de aplicaciones elijaAplicacioacuten WordPress_4 En la paacutegina Application details (Detalles de la aplicacioacuten) elija Delete application (Eliminar

aplicacioacuten)5 Cuando se le solicite introduzca el nombre de la aplicacioacuten para confirmar que desea eliminarla y

seleccione Delete (Eliminar)

Para eliminar la asociacioacuten del Administrador de estado de Systems Manager

1 Abra el iconoAWS Systems Managerconsola en httpsconsoleawsamazoncomsystems-manager2 En el panel de navegacioacuten elija Administrador de estados3 Elija la asociacioacuten que ha creado y despueacutes elija Eliminar

Siguientes pasosSi ha llegado hasta aquiacute iexclenhorabuena Ha completado correctamente una implementacioacuten deCodeDeploy a continuacioacuten ha actualizado el coacutedigo del sitio y lo ha aplicado de nuevo

Tutorial Despliega un laquohola mundoraquo aplicacioacutencon CodeDeploy (Windows Server)

En este tutorial implementa una uacutenica paacutegina web en una sola instancia Amazon EC2 de Windows Serverque ejecuta Internet Information Services (IIS) como servidor web Esta paacutegina web muestra un mensajelaquoHello Worldraquo message

iquestNo es lo que estaacute buscando

bull Para practicar la implementacioacuten en una instancia Amazon EC2 de Linux o Red Hat Enterprise Linux(RHEL) consulteTutorial Implementar WordPress en una instancia de Amazon EC2 (Amazon Linux oRed Hat Enterprise Linux y Linux macOS o Unix) (p 68)

Versioacuten de API 2014-10-0687

AWS CodeDeploy Guiacutea del usuarioPaso 1 Lance una instancia Amazon EC2

bull Para practicar la implementacioacuten en una instancia on-premises consulte Tutorial Implementar unaaplicacioacuten en una instancia local con CodeDeploy (Windows Server Ubuntu Server o Red Hat EnterpriseLinux) (p 103)

Los pasos de este tutorial se presentan desde una perspectiva de Windows Aunque puede completar lamayoriacutea de estos pasos en un equipo local que ejecuta Linux macOS o Unix debe adaptar los pasos enlos que se utilizan rutas de directorio basadas en Windows comoctemp Ademaacutes si desea conectarsea la instancia Amazon EC2 necesita una aplicacioacuten cliente que pueda conectarse mediante el Protocolode Escritorio remoto (RDP) a la instancia Amazon EC2 que ejecuta Windows Server (Windows incluye unaaplicacioacuten cliente de conexioacuten RDP de forma predeterminada)

Antes de comenzar este tutorial debe completar los requisitos previos indicados enIntroduccioacuten aCodeDeploy (p 35) incluida la configuracioacuten del usuario de IAM la instalacioacuten o la actualizacioacuten delAWSCLIy crear un perfil de instancia de IAM y un rol de servicio de

Temasbull Paso 1 Lance una instancia de Amazon EC2 de Windows Server (p 88)bull Paso 2 Configurar el contenido de origen para implementarlo en la instancia de Amazon EC2 de

Windows Server (p 90)bull Paso 3 Sube tu laquohola mundoraquo aplicacioacuten a Amazon S3 (p 92)bull Paso 4 Implemente su aplicacioacuten Hello World (p 95)bull Paso 5 Actualiza y vuelve a desplegar tu laquohola mundoraquo revisiones de (p 99)bull Paso 6 Limpia tu laquohola mundoraquo aplicaciones y recursos relacionados (p 101)

Paso 1 Lance una instancia de Amazon EC2 deWindows ServerPara implementar la aplicacioacuten Hello World con CodeDeploy necesita una instancia Amazon EC2 que seejecuta en Windows Server

Siga las instrucciones en Creacioacuten de una instancia de Amazon EC2 para CodeDeploy (p 217) Cuandoesteacute listo para asignar una etiqueta de instancia Amazon EC2 a la instancia aseguacuterese de especificar laclave de etiquetaNamey el valor de etiqueta deCodeDeployDemo (Si especifica otra clave u otro valor deetiqueta las instrucciones de Paso 4 Implemente su aplicacioacuten Hello World (p 95) pueden producirresultados inesperados)

Despueacutes de lanzar la instancia Amazon EC2 vuelva a esta paacutegina y continuacutee con la seccioacuten siguiente Nocontinuacutee en Crear una aplicacioacuten con CodeDeploy (p 273) como paso siguiente

Connect con la instancia Amazon EC2Una vez lanzada la instancia Amazon EC2 siga estas instrucciones para practicar la conexioacuten a ella

Note

En estas instrucciones se supone que estaacute trabajando con Windows y con la aplicacioacuten cliente deconexioacuten a escritorio de Windows Para obtener informacioacuten consulteConectarse a una instanciade Windows mediante RDP Es posible que necesite adaptar estas instrucciones para otrossistemas operativos u otras aplicaciones cliente de conexioacuten RDP

1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2

Versioacuten de API 2014-10-0688

AWS CodeDeploy Guiacutea del usuarioPaso 1 Lance una instancia Amazon EC2

2 En el panel de navegacioacuten bajo Instances elija Instances3 Busque su instancia de Windows Server en la lista y seleccioacutenela4 Elija Connect5 Elija Get Password (Obtener contrasentildea) y a continuacioacuten elija Choose File (Seleccionar archivo)6 Busque y seleccione el archivo de key pair de la instancia Amazon EC2 asociado a la instancia de

Amazon EC2 de Windows Server y a continuacioacuten elijaAbierto7 Elija Decrypt Password (Descifrar contrasentildea) Apunte la contrasentildea que se muestra La necesitaraacute en

el paso 108 Elija Download Remote Desktop File (Descargar archivo de escritorio remoto) y abra el archivo9 Si se le pide conectarse a pesar de que el editor de la conexioacuten remota no pueda identificarse haacutegalo10 Escriba la contrasentildea que ha anotado en el paso 7 y continuacutee (Si la aplicacioacuten cliente de conexioacuten

RDP solicita un nombre de usuario escriba Administrator)11 Si se le pide que se conecte a pesar de que la identidad del equipo remoto no pueda verificarse

haacutegalo12 Despueacutes de haberse conectado se muestra el escritorio de la instancia Amazon EC2 que se ejecuta

en Windows Server13 Ahora puede desconectar de la instancia Amazon EC2

Warning

No interrumpa ni termine la instancia De lo contrario CodeDeploy no podraacute implementarseen ella

Agregar una regla entrante que permita el traacutefico HTTP a suinstancia de Amazon EC2 de Windows ServerEl siguiente paso confirma que la instancia Amazon EC2 tiene un puerto HTTP abierto para que se puedaver la paacutegina web implementada en la instancia de Amazon EC2 de Windows Server en un navegador

1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2

2 ElegirInstanciasy a continuacioacuten elija su instancia3 En la paacuteginaDescripcioacutenpestantildea enGrupos de seguridad eligeVer reglas de entrada

Debe aparecer una lista de reglas en el grupo de seguridad como el siguiente

Security Groups associated with i-1234567890abcdef0 Ports Protocol Source launch-wizard-N 22 tcp 00000

4 UNDERGrupos de seguridad elija el grupo de seguridad de la instancia Amazon EC2 Podriacuteallamarselaunch-wizard-N La N del nombre es un nuacutemero asignado al grupo de seguridad cuandose creoacute la instancia

Elija la pestantildea Inbound (Reglas entrantes) Si el grupo de seguridad de la instancia estaacute configuradocorrectamente deberiacutea aparecer una regla con los siguientes valores

bull Type HTTPbull Protocolo TCPbull Rango de puertos 80bull Fuente 00000

Versioacuten de API 2014-10-0689

AWS CodeDeploy Guiacutea del usuarioPaso 2 Configurar el contenido de origen

5 Si no ve una regla con estos valores utilice los procedimientos descritos enAgregar reglas a un grupode seguridadpara antildeadirlos a una nueva regla de seguridad

Paso 2 Configurar el contenido de origen paraimplementarlo en la instancia de Amazon EC2 deWindows ServerHa llegado el momento de configurar el contenido de origen de la aplicacioacuten para tener algo queimplementar en la instancia de Amazon EC2 En este tutorial implementaraacute una uacutenica paacutegina web enla instancia de Amazon EC2 que ejecuta Windows Server que a su vez ejecutaraacute Internet InformationServices (IIS) como servidor web Esta paacutegina web mostraraacute un mensaje Hello World message

Temasbull Crear la paacutegina web (p 90)bull Crear un script para ejecutar la aplicacioacuten (p 91)bull Agregar un archivo de especificacioacuten de la aplicacioacuten (p 91)

Crear la paacutegina web1 Cree un subdirectorio (subcarpeta) denominado HelloWorldApp en su carpeta ctemp y a

continuacioacuten pase a esa carpeta

mkdir ctempHelloWorldAppcd ctempHelloWorldApp

Note

La ubicacioacuten de la carpeta no tiene por queacute ser ctemp ni el nombre de la subcarpetaHelloWorldApp Si utiliza otra ubicacioacuten u otro nombre de subcarpeta aseguacuterese deutilizarlos en este tutorial

2 Utilice un editor de texto para crear un archivo dentro de la carpeta Asigne el nombre indexhtml alarchivo

notepad indexhtml

3 Antildeada el siguiente coacutedigo HTML al archivo y guaacuterdelo

ltDOCTYPE html PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgtlthtmlgtltheadgt lttitlegtHello Worldlttitlegt ltstylegt body color ffffff background-color 0188cc font-family Arial sans-serif font-size14px ltstylegtltheadgtltbodygt ltdiv align=centergtlth1gtHello Worldlth1gtltdivgt

Versioacuten de API 2014-10-0690

AWS CodeDeploy Guiacutea del usuarioPaso 2 Configurar el contenido de origen

ltdiv align=centergtlth2gtYou have successfully deployed an application using CodeDeploylth2gtltdivgt ltdiv align=centergt ltpgtWhat to do next Take a look through the lta href=httpsawsamazoncomcodedeploygtCodeDeploy Documentationltagtltpgt ltdivgtltbodygtlthtmlgt

Crear un script para ejecutar la aplicacioacutenA continuacioacuten crearaacute un script que CodeDeploy utilizaraacute para configurar el servidor web de destino en lainstancia de Amazon EC2

1 En la misma subcarpeta donde se guarda el archivo indexhtml utilice un editor de texto para crearotro archivo Asigne el nombre before-installbat al archivo

notepad before-installbat

2 Antildeada el siguiente coacutedigo de script de procesamiento por lotes al archivo y a continuacioacuten guaacuterdelo

REM Install Internet Information Server (IIS)cWindowsSysnativeWindowsPowerShellv10powershellexe -Command Import-Module -Name ServerManagercWindowsSysnativeWindowsPowerShellv10powershellexe -Command Install-WindowsFeature Web-Server

Agregar un archivo de especificacioacuten de la aplicacioacutenA continuacioacuten antildeadiraacute un archivo de especificacioacuten de la aplicacioacuten (archivo AppSpec) ademaacutes de lapaacutegina web y el archivo con el script de procesamiento por lotes El archivo AppSpec es unYAML-archivocon formato utilizado por CodeDeploy para

bull Asignar los archivos de origen de la revisioacuten de la aplicacioacuten a sus destinos en la instanciabull Especificar los scripts que deben ejecutarse en la instancia durante la implementacioacuten

El archivo AppSpec debe denominarseappspecyml Debe ir en la carpeta raiacutez de coacutedigo fuente de laaplicacioacuten

1 Utilice un editor de texto para crear otro archivo en la misma carpeta en la que se encuentranindexhtml y before-installbat Asigne el nombre appspecyml al archivo

notepad appspecyml

2 Antildeada el siguiente coacutedigo YAML al archivo y guaacuterdelo

version 00os windowsfiles - source indexhtml destination cinetpubwwwroothooks BeforeInstall - location before-installbat timeout 900

Versioacuten de API 2014-10-0691

AWS CodeDeploy Guiacutea del usuarioPaso 3 Cargue su aplicacioacuten en Amazon S3

CodeDeploy utilizaraacute este archivo de AppSpec para copiar elindexhtmlen la carpeta raiacutez de coacutedigofuente de la aplicacioacuten a lacinetpubwwwrooten la instancia de Amazon EC2 de destino Durantela implementacioacuten CodeDeploy ejecutaraacute elbefore-installbatscript de procesamiento por lotesen la instancia de Amazon EC2 de destino durante elBeforeInstallevento del ciclo de vida de laimplementacioacuten Si este script tarda maacutes de 900 segundos (15 minutos) en ejecutarse CodeDeploydetendraacute la implementacioacuten en la instancia Amazon EC2 y la marcaraacute como erroacutenea

Para obtener maacutes informacioacuten sobre la configuracioacuten consulte Referencia del archivo CodeDeployAppSpec (p 407)

Important

Las ubicaciones y el nuacutemero de espacios entre cada uno de los elementos de este archivoson importantes Si el espaciado es incorrecto CodeDeploy generaraacute un error que puederesultar difiacutecil de depurar Para obtener maacutes informacioacuten consulte Espaciado de archivosAppSpec (p 440)

Paso 3 Sube tu laquohola mundoraquo aplicacioacuten a AmazonS3Ahora prepararaacute y cargaraacute su contenido de origen en una ubicacioacuten desde la que CodeDeploy puedaimplementarla Las siguientes instrucciones explican coacutemo aprovisionar un bucket de Amazon S3preparar los archivos de la revisioacuten de la aplicacioacuten para el bucket agrupar los archivos de la revisioacuten y acontinuacioacuten enviar la revisioacuten al bucket

Note

Aunque no se trata en este tutorial puede utilizar CodeDeploy para implementar aplicacionesdesde repositorios de GitHub en instancias Para obtener maacutes informacioacuten consulte Integracioacutende CodeDeploy con GitHub (p 63)

Temasbull Aprovisionar un bucket de Amazon S3 (p 92)bull Preparar los archivos de la aplicacioacuten para el depoacutesito (p 94)bull Agrupe los archivos de la aplicacioacuten en un uacutenico archivo de archivo e inserte el archivo de

archivo (p 94)

Aprovisionar un bucket de Amazon S3Cree un contenedor de almacenamiento obaldeen Amazon S3 o utilice un bucket existente Aseguacuteresede que puede cargar la revisioacuten en el bucket de y que las instancias de Amazon EC2 utilizadas en lasimplementaciones pueden descargar la revisioacuten del bucket

Puede utilizar elAWS CLI la consola de Amazon S3 o las API de Amazon S3 para crear un bucket deAmazon S3 Despueacutes de crear el bucket aseguacuterese de que concede permisos de acceso al bucket y a suusuario de IAM

Note

Los nombres de bucket deben ser uacutenicos en Amazon S3 para todosAWScuentas Si nopuede utilizar codedeploydemobucket pruebe otro nombre de bucket por ejemplocodedeploydemobucket seguido de un guion y sus iniciales o alguacuten otro identificador uacutenicoA continuacioacuten cuando aparezca codedeploydemobucket en este tutorial aseguacuterese desustituirlo por el nombre de su bucketEl bucket de Amazon S3 debe crearse en el mismoAWSregioacuten en la que se lanzan las instanciasde Amazon EC2 de destino Por ejemplo si crea el bucket en la regioacuten EE UU Este (Norte de

Versioacuten de API 2014-10-0692

AWS CodeDeploy Guiacutea del usuarioPaso 3 Cargue su aplicacioacuten en Amazon S3

Virginia) las instancias de Amazon EC2 de destino deben lanzarse en la regioacuten EE UU Este(Norte de Virginia)

Temasbull Para crear un bucket de Amazon S3 (CLI) (p 93)bull Para crear un bucket de Amazon S3 (consola) (p 93)bull Conceder permisos al bucket de Amazon S3 y a su usuario de IAM (p 93)

Para crear un bucket de Amazon S3 (CLI)

Llame a lambpara crear un bucket de Amazon S3 denominadocodedeploydemobucket

aws s3 mb s3codedeploydemobucket

Para crear un bucket de Amazon S3 (consola)

1 Abra la consola de Amazon S3 en httpsconsoleawsamazoncoms32 En la consola de Amazon S3 elijaCrear un bucket3 En el cuadro Bucket name (Nombre del bucket) escriba un nombre para el bucket4 En la lista Region (Regioacuten) elija la regioacuten de destino y a continuacioacuten seleccione Create (Crear)

Conceder permisos al bucket de Amazon S3 y a su usuario de IAM

Debe tener permisos para cargar en el bucket de Amazon S3 Puede especificar estos permisos a traveacutesde una poliacutetica de bucket de Amazon S3 Por ejemplo en la siguiente poliacutetica de bucket de Amazon S3el uso del caraacutecter comodiacuten () permiteAWScuenta111122223333para cargar archivos en cualquierdirectorio del bucket de Amazon S3 denominadocodedeploydemobucket

Statement [ Action [ s3PutObject ] Effect Allow Resource arnawss3codedeploydemobucket Principal AWS [ 111122223333 ] ]

Para ver losAWSID de cuenta consulteBuacutesqueda de suAWSID de la cuenta de

Ahora es un buen momento para verificar que el bucket de Amazon S3 permitiraacute las solicitudes dedescarga de cada instancia de Amazon EC2 participante Puede especificarlo a traveacutes de una poliacutetica debucket de Amazon S3 Por ejemplo en la siguiente poliacutetica de bucket de Amazon S3 el uso del caraacutectercomodiacuten () permite cualquier instancia de Amazon EC2 con un perfil de instancia de IAM adjunto quecontenga el ARNarnawsiam444455556666roleCodeDeployDemopara descargar archivosdesde cualquier directorio del bucket de Amazon S3 denominadocodedeploydemobucket

Versioacuten de API 2014-10-0693

AWS CodeDeploy Guiacutea del usuarioPaso 3 Cargue su aplicacioacuten en Amazon S3

Statement [ Action [ s3Get s3List ] Effect Allow Resource arnawss3codedeploydemobucket Principal AWS [ arnawsiam444455556666roleCodeDeployDemo ] ]

Para obtener informacioacuten acerca de coacutemo generar y asociar una poliacutetica de bucket de Amazon S3consulteEjemplos de poliacutetica de bucket

Su cuenta debe tener permiso para cargar la revisioacuten en el bucket de Amazon S3 Una forma deespecificarlo es a traveacutes de una poliacutetica de IAM La siguiente poliacutetica de IAM permite que el usuario de IAMcargue revisiones en cualquier lugar del bucket de Amazon S3 denominadocodedeploydemobucket

Version2012-10-17 Statement[ EffectAllow Action[s3PutObject] Resourcearnawss3codedeploydemobucket ]

Para obtener informacioacuten acerca de coacutemo crear y asociar una poliacutetica de IAM consulteTrabajo conpoliacuteticas

Preparar los archivos de la aplicacioacuten para el depoacutesitoAseguacuterese de que la paacutegina web el archivo de AppSpec y el script se organizan en su equipo dedesarrollo de este modo

c |-- temp |--HelloWorldApp |-- appspecyml |-- before-installbat |-- indexhtml

Agrupe los archivos de la aplicacioacuten en un uacutenico archivo dearchivo e inserte el archivo de archivoAgrupe los archivos en un archivo de almacenamiento (se denomina una revisioacuten de la aplicacioacuten)

Note

Es posible que se cobre por almacenar objetos en un bucket y por transferir revisiones de laaplicacioacuten dentro y fuera de un bucket Para obtener maacutes informacioacuten consulte Precios deAmazon S3

Versioacuten de API 2014-10-0694

AWS CodeDeploy Guiacutea del usuarioPaso 4 Implementar la aplicacioacuten

1 En el equipo de desarrollo cambie a la carpeta en la que se almacenan los archivos

cd ctempHelloWorldApp

Note

Si no cambia a esta carpeta la agrupacioacuten del archivo comenzaraacute en su carpeta actualPor ejemplo si la carpeta actual es ctemp en lugar de ctempHelloWorldApp laagrupacioacuten comenzaraacute con los archivos y subcarpetas de la carpeta ctemp lo que puedeincluir algo maacutes que la subcarpeta HelloWorldApp

2 Llame a lacreate-applicationpara registrar una aplicacioacuten nueva denominadaHelloWorld_AppconCodeDeploy

aws deploy create-application --application-name HelloWorld_App

3 Llame a CodeDeploypushpara agrupar los archivos cargar las revisiones en Amazon S3 y registra enCodeDeploy sobre la revisioacuten cargada todo con una accioacuten

aws deploy push --application-name HelloWorld_App --s3-location s3codedeploydemobucketHelloWorld_Appzip --ignore-hidden-files

Este comando agrupa los archivos del directorio actual (excepto los archivos ocultos) en unuacutenico archivo de almacenamiento denominadoHelloWorld_Appzip carga la revisioacuten enelcodedeploydemobuckety registra informacioacuten con CodeDeploy sobre la revisioacuten cargada

Paso 4 Implemente su aplicacioacuten Hello WorldAhora implementaraacute la revisioacuten de la aplicacioacuten Hello World de ejemplo que ha cargado en Amazon S3Utilizas elAWS CLIo la consola de CodeDeploy para implementar la revisioacuten y monitorizar el progresode la implementacioacuten Una vez implementada correctamente la revisioacuten de la aplicacioacuten comprobaraacute losresultados

Temasbull Implemente la revisioacuten de la aplicacioacuten con CodeDeploy (p 95)bull Monitorizacioacuten y solucioacuten de problemas de la implementacioacuten (p 97)bull Verificacioacuten de la implementacioacuten (p 98)

Implemente la revisioacuten de la aplicacioacuten con CodeDeployPuede implementar su aplicacioacuten con la CLI o la consola

Temasbull Para implementar la revisioacuten de la aplicacioacuten (CLI) (p 95)bull Para implementar la revisioacuten de la aplicacioacuten (consola) (p 96)

Para implementar la revisioacuten de la aplicacioacuten (CLI)

1 En primer lugar la implementacioacuten necesita un grupo de implementaciones Sin embargo para crearel grupo de implementaciones primero necesita un ARN de rol de servicio Un rol de servicio es un rolde IAM que concede a un servicio permiso para actuar en su nombre En este caso el rol de servicioconcede a CodeDeploy permiso de acceso a sus instancias de Amazon EC2 para ampliar (leer) susetiquetas de instancia Amazon EC2

Versioacuten de API 2014-10-0695

AWS CodeDeploy Guiacutea del usuarioPaso 4 Implementar la aplicacioacuten

Ya debe haber seguido las instrucciones de Creacioacuten de un rol de servicio de (CLI) (p 39) para crearun rol de servicio Para obtener el ARN del rol de servicio consulte Obtenga el ARN del rol de servicio(CLI) (p 41)

2 Ahora que tiene el ARN llame alcreate-deployment-grouppara crear un grupo de implementacionesdenominadoHelloWorld_DepGroup asociado a la aplicacioacuten denominadaHelloWorld_Apputilizando la etiqueta de instancia de Amazon EC2 denominadaCodeDeployDemoconfiguracioacuten deimplementacioacuten denominadaCodeDeployDefaultOneAtATime con el ARN del rol de servicio

aws deploy create-deployment-group --application-name HelloWorld_App --deployment-group-name HelloWorld_DepGroup --deployment-config-name CodeDeployDefaultOneAtATime --ec2-tag-filters Key=NameValue=CodeDeployDemoType=KEY_AND_VALUE --service-role-arn serviceRoleARN

Note

Lacreate-deployment-groupproporciona soporte para crear activadores que dan comoresultado el enviacuteo de notificaciones de Amazon SNS a los suscriptores de temas sobreeventos especiacuteficos en implementaciones e instancias El comando tambieacuten admite opcionespara revertir automaacuteticamente implementaciones y configurar alarmas para detener lasimplementaciones cuando se cumplen los umbrales de supervisioacuten en alarmas de AmazonCloudWatch Los comandos de estas acciones no se incluyen en este tutorial

3 Para crear una implementacioacuten las instancias del grupo de implementaciones deben tener instaladoel agente de CodeDeploy Puede instalar el agente desde la liacutenea de comandos con AWS SystemsManager mediante el comando siguiente

aws ssm create-association --name AWS-ConfigureAWSPackage --targets Key=tagNameValues=CodeDeployDemo --parameters action=Installname=AWSCodeDeployAgent --schedule-expression cron(0 2 SUN )

Este comando crea una asociacioacuten en Systems Manager de estados de que instalaraacute el agentede CodeDeploy y despueacutes intentaraacute actualizarlo todos los domingos por la mantildeana a las 200Para obtener maacutes informacioacuten sobre el agente de CodeDeploy consulteTrabajar con el agentede CodeDeploy Para obtener maacutes informacioacuten sobre Systems Manager consulteiquestQueacute es AWSSystems Manager

4 Ejecute ahora el comando create-deployment para crear una implementacioacuten asociada a la aplicacioacutenHelloWorld_App la configuracioacuten de implementacioacuten CodeDeployDefaultOneAtATimey el grupo de implementaciones HelloWorld_DepGroup utilizando la revisioacuten de la aplicacioacutenHelloWorld_Appzip del bucket codedeploydemobucket

aws deploy create-deployment --application-name HelloWorld_App --deployment-config-name CodeDeployDefaultOneAtATime --deployment-group-name HelloWorld_DepGroup --s3-location bucket=codedeploydemobucketbundleType=zipkey=HelloWorld_Appzip

Para implementar la revisioacuten de la aplicacioacuten (consola)

1 Para utilizar la consola de CodeDeploy para implementar la revisioacuten de la aplicacioacuten primero necesitaun ARN de rol de servicio ARN Un rol de servicio es un rol de IAM que concede a un servicio permisopara actuar en su nombre En este caso el rol de servicio concede a CodeDeploy permiso de accesoa sus instancias de Amazon EC2 para ampliar (leer) sus etiquetas de instancia Amazon EC2

Ya debe haber seguido las instrucciones de Creacioacuten de un rol de servicio de (consola) (p 37) paracrear un rol de servicio Para obtener el ARN del rol de servicio consulte Obtenga el ARN del rol deservicio (consola) (p 40)

Versioacuten de API 2014-10-0696

AWS CodeDeploy Guiacutea del usuarioPaso 4 Implementar la aplicacioacuten

2 Ahora que tiene el ARN puede utilizar la consola de CodeDeploy para implementar la revisioacuten de laaplicacioacuten

Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicia sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizasteenIntroduccioacuten a CodeDeploy (p 35)

3 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones4 Elija HelloWorld_App5 En la pestantildea Deployment groups (Grupos de implementaciones) elija Create deployment group

(Crear grupo de implementaciones)6 En Deployment group name (Nombre de grupo de implementacioacuten) escriba HelloWorld_DepGroup7 En Service Role (Rol de servicio) elija el nombre del rol de servicio8 En Deployment type (Tipo de implementacioacuten) elija In-place (In situ)9 EnConfiguracioacuten del entorno seleccioneInstancias de Amazon EC210 EnConfiguracioacuten del agente conAWS Systems Manager mantenga los valores predeterminados11 En Key (Clave) introduzca Name12 En Valor escriba CodeDeployDemo13 EnConfiguracioacuten de implementacioacuten eligeCodeDeployDefaultOneAtATime14 En Load Balancer (Balanceador de carga) anule la seleccioacuten de Enable load balancing (Habilitar

balanceo de carga)15 Elija Create deployment group16 Elija Create deployment (Crear implementacioacuten)17 En Deployment group (Grupo de implementacioacuten) elija HelloWorld_DepGroup18 EnTipo de revisioacuten eligeMi aplicacioacuten se almacena en Amazon S3 y luego enUbicacioacuten de

revisioacuten introduzca la ubicacioacuten de la revisioacuten de la aplicacioacuten Hello World de ejemplo que cargoacuteanteriormente en Amazon S3 Para obtener la ubicacioacuten

a Abra la consola de Amazon S3 en httpsconsoleawsamazoncoms3b En la lista de buckets seleccionecodedeploydemobucket(o el nombre del bucket en el que cargoacute

la revisioacuten de la aplicacioacuten)c En la lista de objetos elija HelloWorld_Appzipd En la pestantildea Overview (Informacioacuten general) elija Copy path (Ruta de copia)e Regrese a la consola de CodeDeploy y enUbicacioacuten de revisioacuten pegue elViacutenculovalor de campo

19 En Revision file type (Tipo de archivo de revisioacuten) elija zip20 (Opcional) Escriba un comentario en Deployment description (Descripcioacuten de implementacioacuten)21 Elija Create deployment (Crear implementacioacuten) En la paacutegina Deployments se mostraraacute informacioacuten

sobre la implementacioacuten que acaba de crear

Monitorizacioacuten y solucioacuten de problemas de la implementacioacutenUtilice la AWS CLI o la consola para monitorizar y resolver problemas de la implementacioacuten

Temasbull Para monitorizar y solucionar problemas en la implementacioacuten (CLI) (p 98)

Versioacuten de API 2014-10-0697

AWS CodeDeploy Guiacutea del usuarioPaso 4 Implementar la aplicacioacuten

bull Para monitorizar y resolver problemas de la implementacioacuten (consola) (p 98)

Para monitorizar y solucionar problemas en la implementacioacuten (CLI)

1 Obtenga el ID de la implementacioacuten para ello ejecute el comando list-deployments para la aplicacioacutenHelloWorld_App y el grupo de implementaciones HelloWorld_DepGroup

aws deploy list-deployments --application-name HelloWorld_App --deployment-group-name HelloWorld_DepGroup --query deployments --output text

2 Llame al comando get-deployment con el ID de la implementacioacuten

aws deploy get-deployment --deployment-id deploymentID --query deploymentInfostatus --output text

3 El comando devuelve el estado general de la implementacioacuten Si todo sale bien el valor esSucceeded

Si el estado general esFailed puede llamar a comandos comoinstancias de implementacioacuten-list-deployment-yget-deployment-instancepara solucionar los problemas Si desea conocer maacutes opcionesde solucioacuten de problemas consulte Anaacutelisis de archivos de registro para investigar los errores deimplementacioacuten en instancias (p 473)

Para monitorizar y resolver problemas de la implementacioacuten (consola)En la paacuteginaImplementacionesen la consola de CodeDeploy puede monitorizar el estado de laimplementacioacuten en laEstadocolumn

Para obtener maacutes informacioacuten acerca de la implementacioacuten sobre todo si el valor de la columna Statustiene un valor distinto de Succeeded

1 En la tabla Deployments (Implementaciones) elija el ID de implementacioacuten Cuando se produce unerror en una implementacioacuten aparece un mensaje que describe el motivo del error en la paacutegina dedetalles de la implementacioacuten

2 Aparece maacutes informacioacuten sobre las instancias de la implementacioacuten Cuando se una implementacioacutenfalla es posible que pueda determinar las instancias de Amazon EC2 y el paso del proceso en el quese ha producido el error

3 Si desea realizar maacutes resolucioacuten de problemas puede utilizar una teacutecnica como View InstanceDetails (p 258) Tambieacuten puede analizar los archivos de log de la implementacioacuten en una instanciade Amazon EC2 Para obtener maacutes informacioacuten consulte Anaacutelisis de archivos de registro parainvestigar los errores de implementacioacuten en instancias (p 473)

Verificacioacuten de la implementacioacutenDespueacutes que la implementacioacuten se realiza correctamente verifique que funciona la instalacioacuten Utilice ladireccioacuten DNS puacuteblica de la instancia de Amazon EC2 para ver la paacutegina web en un navegador web (Paraobtener el valor de DNS puacuteblico en la consola de Amazon EC2 seleccione la instancia de Amazon EC2 yen laDescripcioacuten busque el valor enDNS puacuteblico)

Por ejemplo si la direccioacuten DNS puacuteblica de la instancia de Amazon EC2esec2-01-234-567-890compute-1amazonawscom usariacutea la siguiente direccioacuten URL

httpec2-01-234-567-890compute-1amazonawscom

Si la operacioacuten se realiza correctamente deberiacutea ver una paacutegina web Hello World

Versioacuten de API 2014-10-0698

AWS CodeDeploy Guiacutea del usuarioPaso 5 Actualiza y vuelve a desplegar tu aplicacioacuten

Paso 5 Actualiza y vuelve a desplegar tu laquoholamundoraquo revisiones deAhora que ha implementado correctamente la revisioacuten de la aplicacioacuten actualice el coacutedigo de la paacuteginaweb en el equipo de desarrollo y a continuacioacuten utilice CodeDeploy para volver a implementar el sitioUna vez implementada nuevamente la revisioacuten debe poder ver los cambios en el coacutedigo en la instancia deAmazon EC2

Temasbull Modificar la paacutegina web (p 99)bull Nuevo implementacioacuten del sitio (p 99)

Modificar la paacutegina web1 Vaya a la subcarpeta ctempHelloWorldApp y use un editor de texto para modificar el archivo

indexhtml

cd ctempHelloWorldAppnotepad indexhtml

2 Revise el contenido del archivo indexhtml para cambiar el color de fondo y parte del texto de lapaacutegina web y a continuacioacuten guarde el archivo

ltDOCTYPE html PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgtlthtmlgtltheadgt lttitlegtHello Again Worldlttitlegt ltstylegt body color ffffff background-color 66cc00 font-family Arial sans-serif font-size14px ltstylegtltheadgtltbodygt ltdiv align=centergtlth1gtHello Again Worldlth1gtltdivgt ltdiv align=centergtlth2gtYou have successfully deployed a revision of an application using CodeDeploylth2gtltdivgt ltdiv align=centergt ltpgtWhat to do next Take a look through the lta href=httpsawsamazoncomcodedeploygtCodeDeploy Documentationltagtltpgt ltdivgtltbodygtlthtmlgt

Nuevo implementacioacuten del sitioAhora que ha modificado el coacutedigo utilice Amazon S3 y CodeDeploy para volver a implementar la paacuteginaweb

Agrupe y cargue los cambios en Amazon S3 como se describe enAgrupe los archivos de la aplicacioacuten enun uacutenico archivo de archivo e inserte el archivo de archivo (p 94) (Cuando siga esas instrucciones

Versioacuten de API 2014-10-0699

AWS CodeDeploy Guiacutea del usuarioPaso 5 Actualiza y vuelve a desplegar tu aplicacioacuten

recuerde que no tiene que crear una nueva aplicacioacuten) Asigne a la nueva revisioacuten la misma clave queantes (HelloWorld_Appzip) Caacuterguela en el mismo bucket de Amazon S3 que creoacute anteriormente (porejemplocodedeploydemobucket)

UsarAWS CLIo la consola de CodeDeploy para volver a implementar el sitio

Temasbull Para volver implementar el sitio (CLI) (p 100)bull Para volver a implementar el sitio (consola) (p 100)

Para volver implementar el sitio (CLI)

Ejecute el comando create-deployment para crear una implementacioacuten basada en la revisioacuten queha cargado utilizando tambieacuten la aplicacioacuten HelloWorld_App la configuracioacuten de implementacioacutenCodeDeployDefaultOneAtATime el grupo de implementaciones HelloWorld_DepGroup y larevisioacuten de la aplicacioacuten HelloWorld_Appzip del bucket codedeploydemobucket

aws deploy create-deployment --application-name HelloWorld_App --deployment-config-name CodeDeployDefaultOneAtATime --deployment-group-name HelloWorld_DepGroup --s3-location bucket=codedeploydemobucketbundleType=zipkey=HelloWorld_Appzip

Puede comprobar el estado de la nueva implementacioacuten como se describe en Monitorizacioacuten y solucioacuten deproblemas de la implementacioacuten (p 97)

Cuando CodeDeploy haya vuelto a implementar el sitio visite de nuevo el sitio en el navegador web paraverificar que el color de fondo y el texto de la paacutegina web han cambiado (Puede que tenga que actualizarel navegador) Si el color de fondo y el texto se han modificado iexclenhorabuena Ha modificado y ha vuelto aimplementar su sitio

Para volver a implementar el sitio (consola)

1 Inicie sesioacuten en elAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten elija Applications (Aplicaciones)3 En la lista Applications (Aplicaciones) elija HelloWorld_App4 En la pestantildea Deployments (Implementaciones) elija Create deployment (Crear implementacioacuten)

a En la lista Deployment group elija HelloWorld_DepGroupb EnUbicacioacuten de la revisioacuten introduzca el enlace de Amazon S3 para su revisioacuten

Para encontrar el valor del enlace

i Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon S3 en httpsconsoleawsamazoncoms3

Vaya a y abracodedeploydemobuckety luego elija la revisioacutenHelloWorld_Appzip en laconsola de Amazon S3

ii Si el archivo dePropiedadesno se muestra en la consola de Amazon S3 elijalaPropiedadesBotoacuten

iii En el panel Properties (Propiedades) copie el valor del campo Link (Enlace)Versioacuten de API 2014-10-06

100

AWS CodeDeploy Guiacutea del usuarioPaso 6 Eliminar recursos

iv Vuelva a la consola de CodeDeploy a continuacioacuten pegue el enlace enUbicacioacuten de larevisioacuten

vc En Revision file type (Tipo de archivo de revisioacuten) si aparece un mensaje en el que se indica que

no se ha podido detectar el tipo de archivo elija zipd Deje Deployment description (Descripcioacuten de implementacioacuten) en blancoe AmpliarAnulaciones de grupos de implementacionesEn el navegadorConfiguracioacuten de

implementacioacutenlista elijaCodeDeployDefaultOneAtATimey luego elijaCrear implementacioacuten

Puede comprobar el estado de la implementacioacuten como se describe en Monitorizacioacuten y solucioacutende problemas de la implementacioacuten (p 97)

Cuando CodeDeploy haya vuelto a implementar el sitio visite de nuevo el sitio en el navegadorweb para verificar que el color de fondo y el texto de la paacutegina web han cambiado (Puedeque tenga que actualizar el navegador) Si el color de fondo y el texto se han modificadoiexclenhorabuena Ha modificado y ha vuelto a implementar su sitio

Paso 6 Limpia tu laquohola mundoraquo aplicaciones yrecursos relacionadosHa actualizado el coacutedigo de Hello World correctamente e implementado de nuevo el sitio Para evitarcargos recurrentes por los recursos que ha creado para completar este tutorial debe eliminar

bull CualquierAWS CloudFormationapila (o terminar todas las instancias de Amazon EC2) si las ha creadofuera deAWS CloudFormation)

bull Todos los buckets de Amazon S3bull LaHelloWorld_Appaplicacioacuten en CodeDeploybull LaAWS Systems ManagerAsociacioacuten de Administrador de estados de para el agente de CodeDeploy

Puede utilizar elAWS CLI elAWS CloudFormation consolas Amazon S3 Amazon EC2 y CodeDeploy olas consolasAWSAPI para realizar la limpieza

Temasbull Para limpiar los recursos (CLI) (p 101)bull Para limpiar los recursos (consola) (p 102)bull Siguientes pasos (p 103)

Para limpiar los recursos (CLI)1 Si utilizoacute la pila de AWS CloudFormation para este tutorial elimiacutenela realizando una llamada al

comando delete-stack para la pila denominada CodeDeployDemoStack Esto termina todas lasinstancias de Amazon EC2 vinculadas y eliminaraacute todos los roles de IAM asociados y creadosoriginalmente por el stack

aws cloudformation delete-stack --stack-name CodeDeployDemoStack

2 Para eliminar el bucket de Amazon S3 llame alrmcomando con el--recursivecambiar contra eldepoacutesito llamadocodedeploydemobucket Asiacute elimina el bucket y todos los objetos que contiene

aws s3 rm s3codedeploydemobucket --recursive

Versioacuten de API 2014-10-06101

AWS CodeDeploy Guiacutea del usuarioPaso 6 Eliminar recursos

3 Para eliminar elHelloWorld_Appdesde CodeDeploy llame aldelete-applicationcomando Estoelimina todos los registros de grupo de implementaciones asociados y los registros de implementacioacutende la aplicacioacuten

aws deploy delete-application --application-name HelloWorld_App

4 Para eliminar la asociacioacuten del Administrador de estados de Systems Manager llame aldelete-associationcomando

aws ssm delete-association --assocation-id association-id

Para obtener el valor de id-asociacioacuten llame al comando describe-association

aws ssm describe-association --name AWS-ConfigureAWSPackage --targets Key=tagNameValues=CodeDeployDemo

5 Si no has usado elAWS CloudFormationpila para este tutorial llame alterminate-instancesparaterminar las instancias de Amazon EC2 que haya creado manualmente Indique el ID de la instanciaAmazon EC2 que desea terminar

aws ec2 terminate-instances --instance-ids instanceId

Para limpiar los recursos (consola)Si ha utilizado la plantilla de AWS CloudFormation para este tutorial elimine la pila de AWSCloudFormation asociada

1 Inicie sesioacuten en la AWS Management Console y abra la consola de AWS CloudFormation en httpsconsoleawsamazoncomcloudformation

2 En el campo de buacutesqueda escriba el nombre de la pila de AWS CloudFormation (por ejemploCodeDeployDemoStack)

3 Seleccione la casilla junto al nombre de la pila4 En el menuacute Actions (Acciones) elija Delete Stack (Eliminar pila) Esto elimina la pila terminaraacute todas

las instancias de Amazon EC2 asociadas y eliminaraacute todos los roles de IAM asociados

Para terminar las instancias de Amazon EC2 que haya creado fuera de unAWS CloudFormationpila

1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2

2 En el aacuterea Instances elija Instances3 En el campo de buacutesqueda escriba el nombre de la instancia Amazon EC2 que desee eliminar y a

continuacioacuten pulseEntrar4 Seleccione la instancia Amazon EC25 Elija Actions seleccione Instance State y elija Terminate Cuando se le pregunte elija Yes Terminate

Repita estos pasos para todas las instancias de Amazon EC2

Para eliminar el bucket de Amazon S3

1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon S3 en httpsconsoleawsamazoncoms3

2 En la lista de buckets busque y seleccione el nombre del bucket de Amazon S3 (porejemplocodedeploydemobucket)

Versioacuten de API 2014-10-06102

AWS CodeDeploy Guiacutea del usuarioTutorial Implementacioacuten de una

aplicacioacuten en una instancia on-premises

3 Para eliminar un bucket primero debe eliminar su contenido Seleccione todos los archivos del bucketcomo HelloWorld_Appzip En el menuacute Actions elija Delete Cuando se le pida confirmar laeliminacioacuten elija OK

4 Una vez vaciacuteo puede eliminar el bucket En la lista de buckets elija la liacutenea del bucket (pero no sunombre) Elija Delete bucket y cuando se le pida que confirme seleccione OK

Para eliminar elHelloWorld_Appaplicacioacuten de CodeDeploy

1 Inicie sesioacuten en elAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary a continuacioacuten seleccioneAplicaciones

3 Elija HelloWorld_App4 Seleccione Delete application (Eliminar aplicacioacuten)5 Cuando se le pregunte escriba Delete y a continuacioacuten elija Delete (Eliminar)

Para eliminar la asociacioacuten del Administrador de estados de Systems Manager

1 Abra el iconoAWS Systems Managerconsola en httpsconsoleawsamazoncomsystems-manager2 En el panel de navegacioacuten elija Administrador de estados3 Elija la asociacioacuten que ha creado y despueacutes elija Eliminar

Siguientes pasosSi ha llegado hasta aquiacute ha realizado correctamente una implementacioacuten con CodeDeploy iexclEnhorabuena

Tutorial Implementar una aplicacioacuten en unainstancia local con CodeDeploy (Windows ServerUbuntu Server o Red Hat Enterprise Linux)

Este tutorial le daraacute experiencia con CodeDeploy guiaacutendole por la implementacioacuten de una revisioacuten de unaaplicacioacuten en una uacutenica instancia on-premises es decir en un dispositivo fiacutesico que no es una instanciaAmazon EC2 con Windows Server Ubuntu Server o Red Hat Enterprise Linux (RHEL) Para obtener maacutesinformacioacuten sobre las instancias on-premises y coacutemo funcionan con CodeDeploy consulteWorking withOn-Premises Instances (p 230)

iquestNo es lo que estaacute buscando

bull Para practicar la implementacioacuten en una instancia Amazon EC2 que ejecuta Amazon Linux o RHELconsulteTutorial Implementar WordPress en una instancia de Amazon EC2 (Amazon Linux o Red HatEnterprise Linux y Linux macOS o Unix) (p 68)

bull Para practicar la implementacioacuten en una instancia Amazon EC2 que ejecuta Windows ServerconsulteTutorial Despliega un laquohola mundoraquo aplicacioacuten con CodeDeploy (Windows Server) (p 87)

Versioacuten de API 2014-10-06103

AWS CodeDeploy Guiacutea del usuarioRequisitos previos

Temasbull Requisitos previos (p 104)bull Paso 1 Configuracioacuten de la instancia on-premises (p 104)bull Paso 2 Creacioacuten de una revisioacuten de aplicacioacuten de muestra (p 104)bull Paso 3 Agrupe y cargue la revisioacuten de la aplicacioacuten en Amazon S3 (p 108)bull Paso 4 Implementar la revisioacuten de la aplicacioacuten (p 108)bull Paso 5 Verificacioacuten de la implementacioacuten (p 108)bull Paso 6 Limpiar recursos (p 108)

Requisitos previosAntes de comenzar este tutorial debe completar los requisitos previos enIntroduccioacuten aCodeDeploy (p 35) que incluyen configurar el usuario de IAM instalar o actualizar elAWS CLIy crear unrol de servicio No es necesario crear un perfil de instancia de IAM como se describe en los requisitosprevios Las instancias on-premises no utilizan perfiles de instancia de IAM

El dispositivo fiacutesico que configuraraacute como instancia on-premises debe emplear uno de los sistemasoperativos indicados en Sistemas operativos compatibles con el agente de CodeDeploy (p 175)

Paso 1 Configuracioacuten de la instancia on-premisesAntes de implementar en la instancia on-premises debe configurarla Siga las instrucciones de Workingwith On-Premises Instances (p 230) y a continuacioacuten vuelva a esta paacutegina

Instalacioacuten del agente de CodeDeployUna vez configurada la instancia on-premises siga los pasos para las instancias on-premises enInstalacioacutendel agente de CodeDeployy vuelva a esta paacutegina

Paso 2 Creacioacuten de una revisioacuten de aplicacioacuten demuestraEn este paso crearaacute una revisioacuten de aplicacioacuten de ejemplo para implementarla en la instancia en lasinstalaciones

Dado que es difiacutecil conocer el software y las caracteriacutesticas que ya estaacuten instalados -o que las poliacuteticasde su organizacioacuten permiten instalar- en la instancia on-premises la revisioacuten de aplicacioacuten de ejemploque incluimos aquiacute usa simplemente scripts por lotes (en Windows Server) o scripts shell (en UbuntuServer y RHEL) para escribir archivos de texto en una ubicacioacuten de la instancia on-premises Seescribe un archivo en cada uno de los eventos del ciclo de vida de la implementacioacuten de CodeDeploycomoInstalarAfterInstallApplicationStart yValidateService Durante el evento BeforeInstall del ciclode vida de la implementacioacuten se ejecutaraacute un script para eliminar los archivos antiguos escritos en lasimplementaciones anteriores de este ejemplo y crear una ubicacioacuten en la instancia on-premises en la queescribir los archivos nuevos

Note

La implementacioacuten de la revisioacuten de aplicacioacuten de ejemplo puede fallar si se da cualquiera de lassiguientes circunstancias

bull La cuenta de usuario que inicia el agente de CodeDeploy en la instancia on-premises no tienepermiso para ejecutar scripts

Versioacuten de API 2014-10-06104

AWS CodeDeploy Guiacutea del usuarioPaso 2 Creacioacuten de una revisioacuten de aplicacioacuten de muestra

bull La cuenta de usuario no tiene permiso para crear o eliminar carpetas en las ubicacionesindicadas en los scripts

bull La cuenta de usuario no tiene permiso para crear archivos de texto en las ubicaciones indicadasen los scripts

Note

Si ha configurado una instancia de Windows Server y desea implementar un ejemplo diferentepuede ser uacutetil usar el indicado enPaso 2 Configurar el contenido de origen para implementarloen la instancia de Amazon EC2 de Windows Server (p 90)en laTutorial Despliega un laquoholamundoraquo aplicacioacuten con CodeDeploy (Windows Server) (p 87)Hello WorldSi ha configurado una instancia de RHEL y desea implementar un ejemplo diferente puedeser uacutetil usar el indicado enPaso 2 Configurar el contenido de origen para implementarlo enla instancia Amazon Linux o Red Hat Enterprise Linux Amazon EC2 (p 70)en laTutorialImplementar WordPress en una instancia de Amazon EC2 (Amazon Linux o Red Hat EnterpriseLinux y Linux macOS o Unix) (p 68)Hello WorldEn la actualidad no hay ninguacuten ejemplo alternativo para Ubuntu Server

1 En el equipo de desarrollo cree un subdirectorio (subcarpeta) con el nombre CodeDeployDemo-OnPrem para almacenar los archivos de la revisioacuten de aplicacioacuten de ejemplo y a continuacioacuten situacuteeseen esa subcarpeta En este ejemplo se supone que usaraacute lactempcarpeta como carpeta raiacutez deWindows Server otmpcarpeta como carpeta raiacutez de Ubuntu Server y RHEL Si utiliza una carpetadiferente aseguacuterese de indicarla en lugar de la anterior en todo el tutorial

Para Windows

mkdir ctempCodeDeployDemo-OnPremcd ctempCodeDeployDemo-OnPrem

Para Linux macOS o Unix

mkdir tmpCodeDeployDemo-OnPremcd tmpCodeDeployDemo-OnPrem

2 En la raiacutez de la subcarpeta CodeDeployDemo-OnPrem utilice en editor de texto para crear dosarchivos con los nombres appspecyml e installtxt

appspecymlpara Windows Server

version 00os windowsfiles - source installtxt destination ctempCodeDeployExamplehooks BeforeInstall - location scriptsbefore-installbat timeout 900 AfterInstall - location scriptsafter-installbat timeout 900 ApplicationStart - location scriptsapplication-startbat timeout 900 ValidateService - location scriptsvalidate-servicebat timeout 900

Versioacuten de API 2014-10-06105

AWS CodeDeploy Guiacutea del usuarioPaso 2 Creacioacuten de una revisioacuten de aplicacioacuten de muestra

appspecymlpara Ubuntu Server y RHEL

version 00os linuxfiles - source installtxt destination tmpCodeDeployExamplehooks BeforeInstall - location scriptsbefore-installsh timeout 900 AfterInstall - location scriptsafter-installsh timeout 900 ApplicationStart - location scriptsapplication-startsh timeout 900 ValidateService - location scriptsvalidate-servicesh timeout 900

Para obtener maacutes informacioacuten acerca de los archivos de AppSpec consulte Agregar un archivode especificacioacuten de aplicacioacuten a una revisioacuten de CodeDeploy (p 308) y Referencia del archivoCodeDeploy AppSpec (p 407)

installtxt

The Install deployment lifecycle event successfully completed

3 En la raiacutez de la subcarpeta CodeDeployDemo-OnPrem cree una subcarpeta scripts y situacuteese enella

Para Windows

mkdir ctempCodeDeployDemo-OnPremscriptscd ctempCodeDeployDemo-OnPremscripts

Para Linux macOS o Unix

mkdir -p tmpCodeDeployDemo-OnPremscriptscd tmpCodeDeployDemo-OnPremscripts

4 En la raiacutez de lascriptssubcarpeta utilice un editor de texto para crear cuatro archivos con losnombresbefore-installbatafter-installbatapplication-startbat yvalidate-servicebatpara Windows Server obefore-installshafter-installshapplication-startsh yvalidate-serviceshpara Ubuntu Server y RHEL

Para Windows Server

before-installbat

set FOLDER=HOMEDRIVEtempCodeDeployExample

if exist FOLDER ( rd s q FOLDER)

mkdir FOLDER

Versioacuten de API 2014-10-06106

AWS CodeDeploy Guiacutea del usuarioPaso 2 Creacioacuten de una revisioacuten de aplicacioacuten de muestra

after-installbat

cd HOMEDRIVEtempCodeDeployExample

echo The AfterInstall deployment lifecycle event successfully completed gt after-installtxt

application-startbat

cd HOMEDRIVEtempCodeDeployExample

echo The ApplicationStart deployment lifecycle event successfully completed gt application-starttxt

validate-servicebat

cd HOMEDRIVEtempCodeDeployExample

echo The ValidateService deployment lifecycle event successfully completed gt validate-servicetxt

Para Ubuntu Server y RHEL

before-installsh

binbashexport FOLDER=tmpCodeDeployExample

if [ -d $FOLDER ]then rm -rf $FOLDERfi

mkdir -p $FOLDER

after-installsh

binbashcd tmpCodeDeployExample

echo The AfterInstall deployment lifecycle event successfully completed gt after-installtxt

application-startsh

binbashcd tmpCodeDeployExample

echo The ApplicationStart deployment lifecycle event successfully completed gt application-starttxt

validate-servicesh

binbashcd tmpCodeDeployExample

Versioacuten de API 2014-10-06107

AWS CodeDeploy Guiacutea del usuarioPaso 3 Agrupe y cargue la revisioacuten

de la aplicacioacuten en Amazon S3

echo The ValidateService deployment lifecycle event successfully completed gt validate-servicetxt

unset FOLDER

5 Solo para Ubuntu Server y RHEL aseguacuterese de que los cuatro scripts tengan permisos de ejecucioacuten

chmod +x scripts

Paso 3 Agrupe y cargue la revisioacuten de la aplicacioacuten enAmazon S3Para poder implementar la revisioacuten de la aplicacioacuten antes tiene que agrupar sus archivos y cargarel paquete en un bucket de Amazon S3 Siga las instrucciones en Crear una aplicacioacuten conCodeDeploy (p 273) y Enviar una revisioacuten de CodeDeploy en Amazon S3 (solo implementacionesde EC2locales) (p 316) (Aunque puede dar cualquier nombre a la aplicacioacuten y al grupo deimplementaciones le recomendamos especificar CodeDeploy-OnPrem-App como nombre para laaplicacioacuten y CodeDeploy-OnPrem-DG como nombre del grupo de implementaciones) Una vez que hayacompletado las instrucciones vuelve a esta paacutegina

Note

Como alternativa puede cargar el paquete de archivos en un repositorio de GitHub eimplementarlo desde alliacute Para obtener maacutes informacioacuten consulte Integracioacuten de CodeDeploy conGitHub (p 63)

Paso 4 Implementar la revisioacuten de la aplicacioacutenUna vez cargada la revisioacuten de la aplicacioacuten en un bucket de Amazon S3 intente implementarla en lainstancia on-premises Siga las instrucciones de Cree una implementacioacuten con CodeDeploy (p 324) y acontinuacioacuten vuelva a esta paacutegina

Paso 5 Verificacioacuten de la implementacioacutenPara comprobar si la implementacioacuten se ha realizado correctamente siga las instrucciones de Ver detallesde implementacioacuten de CodeDeploy (p 340) y a continuacioacuten vuelva a esta paacutegina

Si la implementacioacuten se ha realizado correctamente encontraraacute cuatro archivos de texto en lactempCodeDeployExamplecarpeta (para Windows Server) otmpCodeDeployExample(para UbuntuServer y RHEL)

Si la implementacioacuten ha fallado siga los pasos de resolucioacuten de problemas de View InstanceDetails (p 258) y Solucioacuten de problemas de instancias (p 472) Haga las correcciones necesariasvuelva a empaquetar y cargar la revisioacuten de la aplicacioacuten e intente implementarla de nuevo

Paso 6 Limpiar recursosPara evitar cargos recurrentes por los recursos que ha creado para este tutorial elimine el bucket deAmazon S3 si no va a utilizarlo Tambieacuten puede limpiar los recursos asociados como los registros de laaplicacioacuten y del grupo de implementaciones en CodeDeploy y la instancia on-premises

Puede utilizar elAWS CLIo una combinacioacuten de las consolas CodeDeploy y Amazon S3 yAWS CLIparalimpiar los recursos

Versioacuten de API 2014-10-06108

AWS CodeDeploy Guiacutea del usuarioPaso 6 Limpiar recursos

Limpieza de recursos (CLI)Para eliminar el bucket de Amazon S3

bull Ejecute el comando rm con el modificador --recursive para el bucket (por ejemplocodedeploydemobucket) El bucket y todos los objetos que contiene se eliminaraacuten

aws s3 rm s3your-bucket-name --recursive

Para eliminar los registros de la aplicacioacuten y el grupo de implementaciones en CodeDeploy

bull Llame a laeliminar aplicacioacutencomando contra la aplicacioacuten (por ejemploCodeDeploy-OnPrem-App)Los registros de la implementacioacuten y del grupo de implementaciones se eliminaraacuten

aws deploy delete-application --application-name your-application-name

Para cancelar el registro de la instancia on-premises y eliminar el usuario de IAM

bull Llame a laAnular registrocomando para la instancia on-premises y la regioacuten

aws deploy deregister --instance-name your-instance-name --delete-iam-user --region your-region

Note

Si no desea eliminar el usuario de IAM asociado a esta instancia on-premises utilice la--no-delete-iam-useropcioacuten en su lugar

Para desinstalar el agente de CodeDeploy y eliminar el archivo de configuracioacuten de la instanciaon-premises

bull Desde la instancia on-premises ejecute ladesinstalarcomando

aws deploy uninstall

Ha completado todos los pasos para limpiar los recursos utilizados en este tutorial

Limpieza de recursos (consola)Para eliminar el bucket de Amazon S3

1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon S3 en httpsconsoleawsamazoncoms3

2 Elija el icono junto al bucket que desea eliminar (por ejemplo codedeploydemobucket) pero noelija el bucket en siacute

3 Elija Acciones y a continuacioacuten elija Eliminar4 Cuando se le pida confirmacioacuten de que desea eliminar el bucket elija OK

Versioacuten de API 2014-10-06109

AWS CodeDeploy Guiacutea del usuarioTutorial Implementar en un grupo de Auto Scaling

Para eliminar los registros de la aplicacioacuten y el grupo de implementaciones en CodeDeploy

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten elija Applications (Aplicaciones)3 Elija el nombre de la aplicacioacuten que desea eliminar (por ejemplo CodeDeploy-OnPrem-App) y a

continuacioacuten elija Delete application (Eliminar aplicacioacuten)4 Cuando se le solicite introduzca el nombre de la aplicacioacuten para confirmar que desea eliminarla y

seleccione Delete (Eliminar)

No puede usar laAWS CodeDeploypara cancelar el registro de la instancia on-premises o para desinstalarel agente de CodeDeploy Siga las instrucciones en Para cancelar el registro de la instancia on-premises yeliminar el usuario de IAM (p 109)

Tutorial UsarCodeDeploypara implementar unaaplicacioacuten en un grupo de Auto Scaling

En este tutorial utilizaraacuteCodeDeployPara implementar una revisioacuten de una aplicacioacuten en un grupo de AutoScaling Amazon EC2 Auto Scaling lanza instancias de Amazon EC2 mediante condiciones predefinidasy a continuacioacuten termina esas instancias cuando ya no son necesarias Amazon EC2 Auto Scaling puedeayudarCodeDeployescalar garantizando que siempre cuenta con la cantidad correcta de instancias deAmazon EC2 disponibles para controlar la carga de implementaciones Para obtener informacioacuten acercade la integracioacuten de Amazon EC2 Auto Scaling conCodeDeploy consulteIntegracioacuten de CodeDeploy conAmazon EC2 Auto Scaling (p 53)

Temasbull Requisitos previos (p 110)bull Paso 1 Creacioacuten y configuracioacuten del grupo de Auto Scaling (p 111)bull Paso 2 Implementar la aplicacioacuten en el grupo de Auto Scaling (p 115)bull Paso 3 Compruebe sus resultados (p 121)bull Paso 4 Aumente el nuacutemero de instancias de Amazon EC2 en el grupo de Auto Scaling (p 122)bull Paso 5 Vuelve a comprobar los resultados (p 123)bull Paso 6 Eliminar recursos (p 125)

Requisitos previosPara seguir en este tutorial

bull Complete todos los pasos delIntroduccioacuten a CodeDeploy (p 35) incluida la configuracioacuten y configuracioacutendelAWS CLIy creacioacuten de un perfil de instancia de IAM (CodeDeployDemo-EC2-Instance-Profile)y un rol de servicio (CodeDeployDemo) UNARol de servicio dees un tipo especial de rol de IAM que daa un servicio permiso para actuar en nombre de un usuario

bull Si crea un grupo de Auto Scaling con una plantilla de lanzamiento debe agregar los siguientes permisosbull ec2RunInstances

bull ec2CreateTags

Versioacuten de API 2014-10-06110

AWS CodeDeploy Guiacutea del usuarioPaso 1 Creacioacuten y configuracioacuten del grupo de Auto Scaling

bull iamPassRole

Para obtener maacutes informacioacuten consultePaso 2 Crear un rol de servicio (p 36)Creacioacuten de una plantillade lanzamiento para un grupo de Auto Scaling yCompatibilidad con las plantillas de lanzamientoenlaGuiacutea del usuario de Amazon EC2 Auto Scaling

bull Cree y utilice una revisioacuten que sea compatible con una instancia de Ubuntu Server yCodeDeploy Parasu revisioacuten puede realizar una de las siguientes accionesbull Cree y utilice la revisioacuten de ejemplo en Paso 2 Creacioacuten de una revisioacuten de aplicacioacuten de

muestra (p 104) en el tutorial Tutorial Implementar una aplicacioacuten en una instancia local conCodeDeploy (Windows Server Ubuntu Server o Red Hat Enterprise Linux) (p 103)

bull Para crear su propia revisioacuten consulte Uso de revisiones de aplicaciones de CodeDeploy (p 307)bull Crear un grupo de seguridad denominadoCodeDeployDemo-AS-SGcon los siguientes ejemplos

deRegla de entradabull Type HTTPbull Origen Dondequiera

Esto es necesario para ver la aplicacioacuten y verificar el eacutexito de la implementacioacuten Para obtenerinformacioacuten sobre coacutemo crear un grupo de seguridad consulteCrear un grupo de seguridaden laGuiacutea delusuario de Amazon EC2

Paso 1 Creacioacuten y configuracioacuten del grupo de AutoScalingEn este paso crearaacute un grupo de Auto Scaling que contiene una uacutenica instancia Amazon EC2 de AmazonLinux RHEL o Windows Server En un paso posterior indicaraacute a Amazon EC2 Auto Scaling que antildeada otrainstancia de Amazon EC2 yCodeDeployimplementaraacute la revisioacuten en eacutel

Temasbull Para crear y configurar el grupo de Auto Scaling (CLI) (p 111)bull Para crear y configurar el grupo de Auto Scaling (consola) (p 114)

Para crear y configurar el grupo de Auto Scaling (CLI)1 Llame a lacreate-launch-templatepara crear una plantilla de lanzamiento de Amazon EC2

Antes de invocar este comando necesitaraacute el ID de una AMI adecuada para este tutorialrepresentado por el marcador de posicioacuten image-id Tambieacuten necesitaraacute el nombre de un key pairde instancia Amazon EC2 para permitir el acceso a la instancia de Amazon EC2 representado por elmarcador de posicioacutenNombre de clave

Para obtener el ID de una AMI adecuada para este tutorial

a Abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2b En el panel de navegacioacuten en Instances elija Instances y seleccione Launch Instancec En la paacuteginaQuick Start (Inicio raacutepido)Pestantildea dePaacutegina Choose an Amazon Machine Image

(Elegir una Amazon Machine Image) observe el ID de la AMI junto aAMI de Amazon Linux 2RedHat Enterprise Linux 71Ubuntu Server 1404 LTS o bienMicrosoft Windows Server 2012 R2

Note

Si dispone de una versioacuten personalizada de una AMI que sea compatible conCodeDeploy eliacutejala aquiacute en lugar de buscarla en la pestantildea Quick Start (Inicio raacutepido)

Versioacuten de API 2014-10-06111

AWS CodeDeploy Guiacutea del usuarioPaso 1 Creacioacuten y configuracioacuten del grupo de Auto Scaling

Para obtener informacioacuten sobre el uso de una AMI personalizada conCodeDeployyAmazon EC2 Auto Scaling consulteUso de una AMI personalizada con CodeDeploy yAmazon EC2 Auto Scaling (p 57)

Como key pair de la instancia de Amazon EC2 indique el nombre del key pair de su instancia deAmazon EC2

Ejecute el comando create-launch-template

En maacutequinas Linux macOS o Unix locales

aws ec2 create-launch-template --launch-template-name CodeDeployDemo-AS-Launch-Template --launch-template-data fileconfigjson

Contenido delconfigjsonfile

InstanceTypet1micro ImageIdimage-id IamInstanceProfile NameCodeDeployDemo-EC2-Instance-Profile KeyNamekey-name

En los equipos locales con Windows

aws ec2 create-launch-template --launch-template-name CodeDeployDemo-AS-Launch-Template --launch-template-data fileconfigjson

Contenido delconfigjsonfile

InstanceTypet1micro ImageIdimage-id IamInstanceProfile NameCodeDeployDemo-EC2-Instance-Profile KeyNamekey-name

Estos comandos junto con elconfigjson cree una plantilla de lanzamiento de Amazon EC2llamadaCodeDeployPlantilla de demostracioacuten como lanzamiento para su grupo de Auto Scalingque se crearaacute en un paso siguiente seguacuten el tipo de instancia t1micro Amazon EC2 Basado entus aportaciones paraImageIdIamInstanceProfile yKeyName la plantilla de lanzamientotambieacuten especifica el ID de AMI el nombre del perfil de instancia asociado con el rol de IAM que seva a transferir a las instancias en el lanzamiento y el key pair de Amazon EC2 que se va a utilizar alconectarse a las instancias

2 Llame a lacreate-auto-scaling-grouppara crear un grupo de Auto Scaling Necesitaraacute el nombre de unade las zonas de disponibilidad de una de las regiones enumeradas enRegioacuten y puntos de enlaceenlaAWSReferencia general de representado por el marcador de posicioacutenAvailability zone

Note

Para ver una lista de las zonas de disponibilidad de una regioacuten ejecute este comandoVersioacuten de API 2014-10-06

112

AWS CodeDeploy Guiacutea del usuarioPaso 1 Creacioacuten y configuracioacuten del grupo de Auto Scaling

aws ec2 describe-availability-zones --region region-name

Por ejemplo para ver una lista de zonas de disponibilidad de la regioacuten EE UU Oeste(Oregoacuten) ejecute el comando siguiente

aws ec2 describe-availability-zones --region us-west-2

Para obtener una lista de los identificadores de nombres de regioacuten consulte Nombres debuckets del kit de recursos por regioacuten (p 449)

En maacutequinas Linux macOS o Unix locales

aws autoscaling create-auto-scaling-group --auto-scaling-group-name CodeDeployDemo-AS-Group --launch-template CodeDeployDemo-AS-Launch-TemplateVersion=$Latest --min-size 1 --max-size 1 --desired-capacity 1 --availability-zones availability-zone --tags Key=NameValue=CodeDeployDemoPropagateAtLaunch=true

En los equipos locales con Windows

aws autoscaling create-auto-scaling-group --auto-scaling-group-name CodeDeployDemo-AS-Group --launch-template CodeDeployDemo-AS-Launch-TemplateVersion=$Latest --min-size 1 --max-size 1 --desired-capacity 1 --availability-zones availability-zone --tags Key=NameValue=CodeDeployDemoPropagateAtLaunch=true

Estos comandos crean un grupo de Auto Scaling denominadoCodeDeployDemo-AS-Groupbasadoen la plantilla de lanzamiento de Amazon EC2 denominadaCodeDeployDemo-AS-Launch-Template Este grupo de Auto Scaling tiene una uacutenica instancia de Amazon EC2 y se crea enla zona de disponibilidad especificada Cada instancia de este grupo de Auto Scaling tendraacute laetiquetaName=CodeDeployDemo La etiqueta se usaraacute al instalar el agente de CodeDeploy maacutesadelante

3 Ejecute el comando describe-auto-scaling-groups con CodeDeployDemo-AS-Group

aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names CodeDeployDemo-AS-Group --query AutoScalingGroups[0]Instances[][HealthStatus LifecycleState] --output text

No continuacutee hasta que los valores devueltos indiquen Healthy y InService4 Las instancias de un grupo de Auto Scaling deben tener laCodeDeployagente instalado para ser

utilizado enCodeDeployImplementaciones Instalacioacuten delCodeDeployagente llamando alcreate-associationcomando deAWS Systems Managercon las etiquetas que se agregaron al crear el grupo deAuto Scaling

aws ssm create-association --name AWS-ConfigureAWSPackage --targets Key=tagNameValues=CodeDeployDemo --parameters action=Install name=AWSCodeDeployAgent --schedule-expression cron(0 2 SUN )

Versioacuten de API 2014-10-06113

AWS CodeDeploy Guiacutea del usuarioPaso 1 Creacioacuten y configuracioacuten del grupo de Auto Scaling

Este comando crea una asociacioacuten en el Administrador de estado de Systems Manager que instalaraacuteelCodeDeployagente en todas las instancias del grupo de Auto Scaling y a continuacioacuten intenteactualizarla todos los domingos por la mantildeana a las 200 Para obtener maacutes informacioacuten acerca delaCodeDeployagente consulteUso delCodeDeployagente Para obtener maacutes informacioacuten acerca deSystems Manager consulteiquestQueacute es AWS Systems Manager

Para crear y configurar el grupo de Auto Scaling (consola)1 Abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec22 En la barra de navegacioacuten global aseguacuterese de que una de las regiones enumeradas enRegioacuten y

puntos de enlaceen laAWSReferencia general deestaacute seleccionado Los recursos de Amazon EC2Auto Scaling estaacuten asociados a la regioacuten especificada yCodeDeploysolo se admite en regionesseleccionadas

3 En la barra de navegacioacuten enInstancias eligePlantillas de lanzamiento4 Elija Create launch template (Crear plantilla de lanzamiento)5 En el navegadorNombre y descripcioacuten de la plantilla de lanzamiento paraNombre de la plantilla

de lanzamiento introduzcaCodeDeployDemo-AS-Launch-Template Mantenga los valorespredeterminados para el resto de los campos

6 En el navegadorImagen de maacutequina de Amazon (AMI) haz clic en el menuacute desplegable deAMI elijauna AMI adecuada para este tutorial

bull En la paacuteginaQuick Start (Inicio raacutepido)Pestantildea deAMIdesplegable elija una de las siguientesopciones AMI de Amazon Linux 2Red Hat Enterprise Linux 71Ubuntu Server 1404 LTS obienMicrosoft Windows Server 2012 R2

Note

Si dispone de una versioacuten personalizada de una AMI que sea compatible conCodeDeploy eliacutejala aquiacute en lugar de buscarla en la pestantildea Quick Start (Inicio raacutepido)Para obtener informacioacuten sobre el uso de una AMI personalizada conCodeDeployyAmazon EC2 Auto Scaling consulteUso de una AMI personalizada con CodeDeploy yAmazon EC2 Auto Scaling (p 57)

7 EnTipo de instancia selecciona el menuacute desplegable y eliget1micro Puede utilizar la barra debuacutesqueda para encontrarlo con maacutes rapidez

8 En el navegadorPar de claves (inicio de sesioacuten) seleccioneElija un key pair existente En elnavegadorSeleccionar un par de clavesElija el key pair de instancia de Amazon EC2 que ha creado ousado en los pasos anteriores

9 En el navegadorNetwork settings (Configuracioacuten de red) seleccioneVirtual Public Cloud (VPC)

En el navegadorGrupos de seguridadEn la lista desplegable elija el grupo de seguridad que ha creadoen laseccioacuten de requisitos previos del tutorial(CodeDeployDemo-AS-SG)

10 AmpliacuteeDetalles avanzadoscuadro de diaacutelogo En el navegadorPerfil de instancia IAMdesplegableseleccione el rol de IAM que ha creado anteriormente (CodeDeployDemo-EC2-Instance-Profile) enPerfil de instancia IAM

Deje el resto de las opciones predeterminadas11 Elija Create launch template (Crear plantilla de lanzamiento)12 En el navegadorPasos siguientes seleccioneCrear grupo de Auto Scaling13 En la paacuteginaElija la plantilla de lanzamiento o la configuracioacuten paraNombre de grupo de Auto Scaling

tipoCodeDeployDemo-AS-Group14 En el navegadorPlantilla de lanzamientocuadro de diaacutelogo la plantilla de lanzamiento

(CodeDeployDemo-AS-Launch-Template) debe rellenarse si no seleccioacutenela en el menuacutedesplegable Deje los valores predeterminados y elijaProacuteximo

Versioacuten de API 2014-10-06114

AWS CodeDeploy Guiacutea del usuarioPaso 2 Implementar la aplicacioacuten

en el grupo de Auto Scaling

15 En la paacuteginaPaacutegina Elegir opciones de lanzamiento de instancias en elRed paraVPC elija laVPC predeterminada A continuacioacuten paraZonas de disponibilidad y subredes elija una subredpredeterminada Debe crear una VPC si no puede elegir la predeterminada Para obtener maacutesinformacioacuten consulteIntroduccioacuten a Amazon VPC

16 En el navegadorNecesidades de tipo de instancia utilice la configuracioacuten predeterminada parasimplificar este paso (No anule la plantilla de lanzamiento) En este tutorial solo lanzaraacute instanciasbajo demanda con el tipo de instancia especificado en la plantilla de lanzamiento

17 Elija Next (Siguiente) para ir a la paacutegina Configure advanced options (Configuracioacuten de opcionesavanzadas)

18 Conserve los valores predeterminados y elijaProacuteximo19 En la paacuteginaConfigure el tamantildeo del grupo y las poliacuteticas de escalado conserve el valor

predeterminadoTamantildeo del grupovalores de 1 Elija Next( Siguiente)20 Omita el paso para configurar notificaciones y elijaProacuteximo21 En la paacuteginaAgregue etiquetas agregue una etiqueta para usarla al instalar elCodeDeployagente maacutes

tarde Elija Add tag

a En Key (Clave) introduzca Nameb En Valor escriba CodeDeployDemo

Elija Next( Siguiente)22 Revisar la informacioacuten del grupo de Auto Scaling enReview (Revisar)paacutegina y a continuacioacuten

eligeCrear grupo de Auto Scaling23 En la barra de navegacioacuten conGrupos de Auto Scalingseleccionado eligeCodeDeployDemo-

AS-Groupy luego elija laAdministracioacuten de instanciasPestantildea No continuacutee hasta que el valordeInServiceaparece en elCiclo de vidacolumna y el valor deSaludableaparece en elEstado demantenimiento decolumn

24 Instalacioacuten delCodeDeployagente siguiendo los pasos descritos enInstalacioacuten delCodeDeployagenteyutilizar elName=CodeDeployDemoEtiquetas de instancias

Paso 2 Implementar la aplicacioacuten en el grupo de AutoScalingEn este paso implementaraacute la revisioacuten en la uacutenica instancia Amazon EC2 del grupo de Auto Scaling

Temasbull Para crear la implementacioacuten (CLI) (p 115)bull Para crear la implementacioacuten (consola) (p 118)

Para crear la implementacioacuten (CLI)1 Ejecute el comando create-application para crear una aplicacioacuten denominada SimpleDemoApp

aws deploy create-application --application-name SimpleDemoApp

2 Ya debe haber creado un rol de servicio siguiendo las instrucciones del Paso 2 Creacioacuten de un rolde servicio para CodeDeploy (p 36) El rol de servicio daraacuteCodeDeploypermiso para acceder a susinstancias de Amazon EC2 y expandir (leer) sus etiquetas Necesitaraacute el rol de servicio ARN Paraobtener el rol de servicio ARN siga las instrucciones de Obtenga el ARN del rol de servicio (CLI) (p 41)

Versioacuten de API 2014-10-06115

AWS CodeDeploy Guiacutea del usuarioPaso 2 Implementar la aplicacioacuten

en el grupo de Auto Scaling

3 Ahora que tiene un ARN de rol de servicio llame alcreate-deployment-grouppara crearun grupo de implementaciones denominadoSimpleDemoDG asociada con la aplicacioacutendenominadaSimpleDemoApp mediante el grupo de Auto Scaling denominadoCodeDeployDemo-AS-Groupy configuracioacuten de implementacioacuten denominadaCodeDeployDefaultOneAtATime conel rol de servicio ARN especificado

Note

Lacreate-deployment-groupproporciona soporte para crear activadores que dan comoresultado el enviacuteo de notificaciones de Amazon SNS a los suscriptores de temas sobreeventos especiacuteficos en implementaciones e instancias El comando tambieacuten admite opcionespara revertir automaacuteticamente las implementaciones y configurar alarmas para detener lasimplementaciones al supervisar los umbrales en AmazonCloudWatchse cumplen las alarmasLos comandos de estas acciones no se incluyen en este tutorial

En maacutequinas Linux macOS o Unix locales

aws deploy create-deployment-group --application-name SimpleDemoApp --auto-scaling-groups CodeDeployDemo-AS-Group --deployment-group-name SimpleDemoDG --deployment-config-name CodeDeployDefaultOneAtATime --service-role-arn service-role-arn

En los equipos locales con Windows

aws deploy create-deployment-group --application-name SimpleDemoApp --auto-scaling-groups CodeDeployDemo-AS-Group --deployment-group-name SimpleDemoDG --deployment-config-name CodeDeployDefaultOneAtATime --service-role-arn service-role-arn

4 Ejecute el comando create-deployment para crear una implementacioacuten asociada a la aplicacioacutenSimpleDemoApp la configuracioacuten de implementacioacuten CodeDeployDefaultOneAtATime y elgrupo de implementaciones SimpleDemoDG utilizando la revisioacuten que se encuentra en el lugarespecificado

Para instancias Amazon Linux y RHEL Amazon EC2 llamadas desde maacutequinas Linux macOS o Unixlocales

aws deploy create-deployment --application-name SimpleDemoApp --deployment-config-name CodeDeployDefaultOneAtATime --deployment-group-name SimpleDemoDG --s3-location bucket=bucket-namebundleType=zipkey=sampleslatestSampleApp_Linuxzip

nombre-bucketes el nombre del bucket de Amazon S3 que contiene elCodeDeployArchivos delkit de recursos para su regioacuten Por ejemplo para la regioacuten EE UU Este (Ohio) sustituyanombre-bucketconaws-codedeploy-us-east-2 Para obtener una lista de los nombres de los bucketsconsulteNombres de buckets del kit de recursos por regioacuten (p 449)

Para instancias de Amazon EC2 y RHEL ejecutando desde equipos Windows locales

aws deploy create-deployment --application-name SimpleDemoApp --deployment-config-name CodeDeployDefaultOneAtATime --deployment-group-name SimpleDemoDG --s3-location bucket=bucket-namebundleType=zipkey=sampleslatestSampleApp_Linuxzip

Versioacuten de API 2014-10-06116

AWS CodeDeploy Guiacutea del usuarioPaso 2 Implementar la aplicacioacuten

en el grupo de Auto Scaling

nombre-bucketes el nombre del bucket de Amazon S3 que contiene elCodeDeployArchivos delkit de recursos para su regioacuten Por ejemplo para la regioacuten EE UU Este (Ohio) sustituyanombre-bucketconaws-codedeploy-us-east-2 Para obtener una lista de los nombres de los bucketsconsulteNombres de buckets del kit de recursos por regioacuten (p 449)

Para instancias de Amazon EC2 de Windows Server llamadas desde maacutequinas Linux macOS o Unixlocales

aws deploy create-deployment --application-name SimpleDemoApp --deployment-config-name CodeDeployDefaultOneAtATime --deployment-group-name SimpleDemoDG --s3-location bucket=bucket-namebundleType=zipkey=sampleslatestSampleApp_Windowszip

nombre-bucketes el nombre del bucket de Amazon S3 que contiene elCodeDeployArchivos delkit de recursos para su regioacuten Por ejemplo para la regioacuten EE UU Este (Ohio) sustituyanombre-bucketconaws-codedeploy-us-east-2 Para obtener una lista de los nombres de los bucketsconsulteNombres de buckets del kit de recursos por regioacuten (p 449)

Para instancias de Amazon EC2 de Windows Server ejecutando desde equipos Windows locales

aws deploy create-deployment --application-name SimpleDemoApp --deployment-config-name CodeDeployDefaultOneAtATime --deployment-group-name SimpleDemoDG --s3-location bucket=bucket-namebundleType=zipkey=sampleslatestSampleApp_Windowszip

nombre-bucketes el nombre del bucket de Amazon S3 que contiene elCodeDeployArchivos delkit de recursos para su regioacuten Por ejemplo para la regioacuten EE UU Este (Ohio) sustituyanombre-bucketconaws-codedeploy-us-east-2 Para obtener una lista de los nombres de los bucketsconsulteNombres de buckets del kit de recursos por regioacuten (p 449)

Note

En la actualidadCodeDeployNo ofrece una revisioacuten de ejemplo para implementar eninstancias de Amazon EC2 de Ubuntu Server Para crear su propia revisioacuten consulte Uso derevisiones de aplicaciones de CodeDeploy (p 307)

5 Ejecute el comando get-deployment para asegurarse de que la implementacioacuten se ha realizadocorrectamente

Antes de ejecutar este comando necesitaraacute el ID de la implementacioacuten que debe haberobtenido tras ejecutar el comando create-deployment Si necesita obtener de nuevo el ID de laimplementacioacuten ejecute el comando list-deployments para la aplicacioacuten SimpleDemoApp y el grupode implementaciones SimpleDemoDG

aws deploy list-deployments --application-name SimpleDemoApp --deployment-group-name SimpleDemoDG --query deployments --output text

Llame ahora al comando get-deployment utilizando el ID de la implementacioacuten

aws deploy get-deployment --deployment-id deployment-id --query deploymentInfostatus --output text

No continuacutee hasta que el valor devuelto sea Succeeded

Versioacuten de API 2014-10-06117

AWS CodeDeploy Guiacutea del usuarioPaso 2 Implementar la aplicacioacuten

en el grupo de Auto Scaling

Para crear la implementacioacuten (consola)1 Ya debe haber creado un rol de servicio siguiendo las instrucciones del Paso 2 Creacioacuten de un rol

de servicio para CodeDeploy (p 36) El rol de servicio daraacute a CodeDeploy permiso para accedera sus instancias y expandir (leer) sus etiquetas Antes de utilizar la consola de CodeDeploy paraimplementar la revisioacuten de la aplicacioacuten necesitaraacute el rol de servicio ARN Para obtener el rol deservicio ARN siga las instrucciones de Obtenga el ARN del rol de servicio (consola) (p 40)

2 Ahora que tiene el rol de servicio ARN puede utilizar la consola de CodeDeploy para implementar larevisioacuten de la aplicacioacuten

Inicie sesioacuten en laAWS Management Consoley abra elCodeDeployConsola de enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

3 En el panel de navegacioacuten expandaDesplegary luego seleccioneAplicaciones4 Elija Create application5 Elija Custom application (Aplicacioacuten personalizada)6 En Application name (Nombre de aplicacioacuten) escriba SimpleDemoApp7 En Compute platform (Plataforma de computacioacuten) elija EC2On-Premises8 Elija Create application9 En la pestantildea Deployment groups (Grupos de implementaciones) elija Create deployment group

(Crear grupo de implementaciones)10 En Deployment group name (Nombre de grupo de implementacioacuten) escriba SimpleDemoDG11 En Service Role (Rol de servicio) elija el nombre del rol de servicio12 En Deployment type (Tipo de implementacioacuten) elija In-place (In situ)13 EnConfiguracioacuten del entornoseleccionarGrupos de Auto Scalingy luego seleccioneCodeDeployDemo-

AS-Group14 EnConfiguracioacuten de implementacioacuten eligeCodeDeployPredeterminadaOneAtAhora15 Desactive Enable load balancing (Habilitar balanceo de carga)16 Elija Create deployment group17 En la paacutegina del grupo de implementaciones elija Create deployment (Crear implementacioacuten)18 EnTipo de revisioacuten eligeMi aplicacioacuten se almacena en Amazon S319 En Revision location (Ubicacioacuten de la revisioacuten) introduzca la ubicacioacuten de la aplicacioacuten de ejemplo

para el sistema operativo y la regioacuten

Para instancias Amazon Linux y RHEL Amazon EC2

Regioacuten Ubicacioacuten de aplicacioacuten de ejemplo

Regioacuten del este de EE UU (Ohio) https3-us-east-2amazonawscomaws-codedeploy-us-east-2sampleslatestSampleApp_Linuxzip

Regioacuten del este de EE UU (N Virginia) https3amazonawscomaws-codedeploy-us-east-1sampleslatestSampleApp_Linuxzip

Versioacuten de API 2014-10-06118

AWS CodeDeploy Guiacutea del usuarioPaso 2 Implementar la aplicacioacuten

en el grupo de Auto Scaling

Regioacuten Ubicacioacuten de aplicacioacuten de ejemplo

Regioacuten del oeste de EE UU (N California) https3-us-west-1amazonawscomaws-codedeploy-us-west-1sampleslatestSampleApp_Linuxzip

Regioacuten del oeste de EE UU (Oregon) https3-us-west-2amazonawscomaws-codedeploy-us-west-2sampleslatestSampleApp_Linuxzip

Canada (Central) Region https3-ca-central-1amazonawscomaws-codedeploy-ca-central-1sampleslatestSampleApp_Linuxzip

Europe (Ireland) Region https3-eu-west-1amazonawscomaws-codedeploy-eu-west-1sampleslatestSampleApp_Linuxzip

Europe (London) Region https3-eu-west-2amazonawscomaws-codedeploy-eu-west-2sampleslatestSampleApp_Linuxzip

Regioacuten de Europa (Pariacutes) https3-eu-west-3amazonawscomaws-codedeploy-eu-west-3sampleslatestSampleApp_Linuxzip

Europe (Frankfurt) Region https3-eu-central-1amazonawscomaws-codedeploy-eu-central-1sampleslatestSampleApp_Linuxzip

Regioacuten Asia Paciacutefico (Hong Kong) https3-ap-east-1amazonawscomaws-codedeploy-ap-east-1sampleslatestSampleApp_Linuxzip

Asia Pacific (Tokyo) Region https3-ap-northeast-1amazonawscomaws-codedeploy-ap-northeast-1sampleslatestSampleApp_Linuxzip

Asia Pacific (Seoul) Region https3-ap-northeast-2amazonawscomaws-codedeploy-ap-northeast-2sampleslatestSampleApp_Linuxzip

Asia Pacific (Singapore) Region https3-ap-southeast-1amazonawscomaws-codedeploy-ap-southeast-1sampleslatestSampleApp_Linuxzip

Asia Pacific (Sydney) Region https3-ap-southeast-2amazonawscomaws-codedeploy-ap-southeast-2sampleslatestSampleApp_Linuxzip

Regioacuten Asia-Paciacutefico (Mumbai) https3-ap-south-1amazonawscomaws-codedeploy-ap-south-1sampleslatestSampleApp_Linuxzip

Versioacuten de API 2014-10-06119

AWS CodeDeploy Guiacutea del usuarioPaso 2 Implementar la aplicacioacuten

en el grupo de Auto Scaling

Regioacuten Ubicacioacuten de aplicacioacuten de ejemplo

South America (Satildeo Paulo) Region https3-sa-east-1amazonawscomaws-codedeploy-sa-east-1sampleslatestSampleApp_Linuxzip

Para instancias Amazon EC2 de Windows Server

Regioacuten Ubicacioacuten de aplicacioacuten de ejemplo

Regioacuten del este de EE UU (Ohio) https3-us-east-2amazonawscomaws-codedeploy-us-east-2sampleslatestSampleApp_Windowszip

Regioacuten del este de EE UU (N Virginia) https3amazonawscomaws-codedeploy-us-east-1sampleslatestSampleApp_Windowszip

Regioacuten del oeste de EE UU (N California) https3-us-west-1amazonawscomaws-codedeploy-us-west-1sampleslatestSampleApp_Windowszip

Regioacuten del oeste de EE UU (Oregon) https3-us-west-2amazonawscomaws-codedeploy-us-west-2sampleslatestSampleApp_Windowszip

Canada (Central) Region https3-ca-central-1amazonawscomaws-codedeploy-ca-central-1sampleslatestSampleApp_Windowszip

Europe (Ireland) Region https3-eu-west-1amazonawscomaws-codedeploy-eu-west-1sampleslatestSampleApp_Windowszip

Europe (London) Region https3-eu-west-2amazonawscomaws-codedeploy-eu-west-2sampleslatestSampleApp_Windowszip

Regioacuten de Europa (Pariacutes) https3-eu-west-3amazonawscomaws-codedeploy-eu-west-3sampleslatestSampleApp_Windowszip

Europe (Frankfurt) Region https3-eu-central-1amazonawscomaws-codedeploy-eu-central-1sampleslatestSampleApp_Windowszip

Regioacuten Asia Paciacutefico (Hong Kong) https3-ap-east-1amazonawscomaws-codedeploy-ap-east-1sampleslatestSampleApp_Windowszip

Regioacuten Asia-Paciacutefico (Seuacutel) https3-ap-northeast-2amazonawscomaws-codedeploy-ap-northeast-2sampleslatestSampleApp_Windowszip

Versioacuten de API 2014-10-06120

AWS CodeDeploy Guiacutea del usuarioPaso 3 Compruebe sus resultados

Regioacuten Ubicacioacuten de aplicacioacuten de ejemplo

Asia Pacific (Singapore) Region https3-ap-southeast-1amazonawscomaws-codedeploy-ap-southeast-1sampleslatestSampleApp_Windowszip

Asia Pacific (Sydney) Region https3-ap-southeast-2amazonawscomaws-codedeploy-ap-southeast-2sampleslatestSampleApp_Windowszip

Regioacuten Asia-Paciacutefico (Mumbai) https3-ap-south-1amazonawscomaws-codedeploy-ap-south-1sampleslatestSampleApp_Windowszip

South America (Satildeo Paulo) Region https3-sa-east-1amazonawscomaws-codedeploy-sa-east-1sampleslatestSampleApp_Windowszip

Para instancias Amazon EC2 de Ubuntu Server

Escriba la ubicacioacuten de la revisioacuten de la aplicacioacuten personalizada almacenada en Amazon S320 Deje Deployment description (Descripcioacuten de implementacioacuten) en blanco21 Expanda Advanced (Avanzadas)22 Elija Create deployment (Crear implementacioacuten)

Note

Si aparece Failed (Error) en lugar de Succeeded (Correcto) puede ser convenienteprobar alguna de las teacutecnicas descritas en Monitorizacioacuten y solucioacuten de problemas de laimplementacioacuten (p 80) (utilizando SimpleDemoApp como nombre de la aplicacioacuten ySimpleDemoDG como nombre del grupo de implementaciones)

Paso 3 Compruebe sus resultadosEn este paso comprobaraacute queCodeDeployinstaloacute elSimpleDemoApprevisioacuten de la uacutenica instancia deAmazon EC2 en el grupo de Auto Scaling

Temasbull Para comprobar los resultados (CLI) (p 121)bull Para comprobar los resultados (consola) (p 122)

Para comprobar los resultados (CLI)En primer lugar necesitaraacute el DNS puacuteblico de la instancia de Amazon EC2

UsarAWS CLIPara obtener el DNS puacuteblico de la instancia de Amazon EC2 en el grupo de Auto Scalingejecutando eldescribe-instancescomando

Antes de ejecutar este comando necesitaraacute el ID de la instancia de Amazon EC2 Para obtener el IDejecute el comando describe-auto-scaling-groups con CodeDeployDemo-AS-Group igual que hizoanteriormente

Versioacuten de API 2014-10-06121

AWS CodeDeploy Guiacutea del usuarioPaso 4 Aumente el nuacutemero de instancias

de Amazon EC2 en el grupo de Auto Scaling

aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names CodeDeployDemo-AS-Group --query AutoScalingGroups[0]Instances[]InstanceId --output text

Llame ahora al comando describe-instances

aws ec2 describe-instances --instance-id instance-id --query Reservations[0]Instances[0]PublicDnsName --output text

El valor devuelto es el DNS puacuteblico de la instancia de Amazon EC2

Al usar un navegador web muestre elSimpleDemoRevisioacuten de la aplicacioacuten implementada en la instanciade Amazon EC2 utilizando una URL como la siguiente

httpec2-01-234-567-890compute-1amazonawscom

Si aparece la paacutegina de felicitacioacuten habraacute utilizado correctamenteCodeDeploypara implementar unarevisioacuten en una uacutenica instancia de Amazon EC2 en un grupo de Auto Scaling

A continuacioacuten antildeadiraacute una instancia de Amazon EC2 al grupo de Auto Scaling Despueacutes de que AmazonEC2 Auto Scaling haya antildeadido la instancia de Amazon EC2CodeDeployimplementaraacute la revisioacuten en lanueva instancia

Para comprobar los resultados (consola)En primer lugar necesitaraacute el DNS puacuteblico de la instancia de Amazon EC2

Abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2

En el panel de navegacioacuten de Amazon EC2 enAuto Scaling eligeGrupos de Auto Scalingy luegoseleccioneCodeDeployDemo-AS-Groupentrada

En la paacuteginaInstancias elija el ID de la instancia de Amazon EC2 en la lista

En la paacutegina Instances en la pestantildea Description tome nota del valor de Public DNS Debe tener unaspecto similar al siguiente ec2-01-234-567-890compute-1amazonawscom

Al usar un navegador web muestre elSimpleDemoRevisioacuten de la aplicacioacuten implementada en la instanciade Amazon EC2 utilizando una URL como la siguiente

httpec2-01-234-567-890compute-1amazonawscom

Si aparece la paacutegina de felicitacioacuten habraacute utilizado correctamenteCodeDeploypara implementar unarevisioacuten en una uacutenica instancia de Amazon EC2 en un grupo de Auto Scaling

A continuacioacuten antildeadiraacute una instancia de Amazon EC2 al grupo de Auto Scaling Despueacutes de que AmazonEC2 Auto Scaling haya antildeadido la instancia de Amazon EC2CodeDeployimplementaraacute la revisioacuten en lanueva instancia de Amazon EC2

Paso 4 Aumente el nuacutemero de instancias de AmazonEC2 en el grupo de Auto ScalingEn este paso indica al grupo de Auto Scaling que cree una instancia adicional de Amazon EC2 Despueacutesde que Amazon EC2 Auto Scaling cree la instanciaCodeDeployimplementa la revisioacuten en eacutel

Versioacuten de API 2014-10-06122

AWS CodeDeploy Guiacutea del usuarioPaso 5 Vuelve a comprobar los resultados

Temasbull Para reducir el nuacutemero de instancias de Amazon EC2 en el grupo de Auto Scaling (CLI) (p 123)bull Para reducir el nuacutemero de instancias de Amazon EC2 en el grupo de implementaciones

(consola) (p 123)

Para reducir el nuacutemero de instancias de Amazon EC2 en el grupode Auto Scaling (CLI)1 Llame a laupdate-auto-scaling-grouppara aumentar las instancias de Amazon EC2 en el grupo de

Auto Scaling denominadoCodeDeployDemo-AS-Groupde uno a dos

En maacutequinas Linux macOS o Unix locales

aws autoscaling update-auto-scaling-group --auto-scaling-group-name CodeDeployDemo-AS-Group --min-size 2 --max-size 2 --desired-capacity 2

En los equipos locales con Windows

aws autoscaling update-auto-scaling-group --auto-scaling-group-name CodeDeployDemo-AS-Group --min-size 2 --max-size 2 --desired-capacity 2

2 Aseguacuterese de que el grupo de Auto Scaling ahora tenga dos instancias de Amazon EC2 Ejecute elcomando describe-auto-scaling-groups con CodeDeployDemo-AS-Group

aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names CodeDeployDemo-AS-Group --query AutoScalingGroups[0]Instances[][HealthStatus LifecycleState] --output text

No continuacutee hasta que los dos valores devueltos indiquen Healthy y InService

Para reducir el nuacutemero de instancias de Amazon EC2 en el grupode implementaciones (consola)1 En la barra de navegacioacuten de Amazon EC2 enAuto Scaling eligeGrupos de Auto Scalingy luego

seleccioneCodeDeployDemo-AS-Group2 Seleccione Actions y luego Edit3 En la pestantildea Details (Detalles) en los cuadros Desired (Objetivos) Min (Miacutenimo) y Max (Maacuteximo)

escriba 2 y luego elija Save (Guardar)4 Seleccione la pestantildea Instances La nueva instancia de Amazon EC2 debe aparecer en la lista (Si la

instancia no aparece puede que tenga que pulsar el botoacuten Refresh varias veces) No continuacutee hastaque el valor deInServiceaparece en elCiclo de vidacolumna y el valor deSaludableaparece en elEstadode mantenimiento decolumn

Paso 5 Vuelve a comprobar los resultadosEn este paso comprobaraacute siCodeDeployinstaloacute elSimpleDemoRevisioacuten de la aplicacioacuten de la instancianueva del grupo de Auto Scaling

Versioacuten de API 2014-10-06123

AWS CodeDeploy Guiacutea del usuarioPaso 5 Vuelve a comprobar los resultados

Temasbull Para comprobar los resultados de la implementacioacuten automaacutetica (CLI) (p 124)bull Para comprobar los resultados de la implementacioacuten automaacutetica (consola) (p 124)

Para comprobar los resultados de la implementacioacuten automaacutetica(CLI)1 Antes de ejecutar el comando get-deployment necesitaraacute el ID de la implementacioacuten automaacutetica Para

obtener el ID ejecute el comando list-deployments con la aplicacioacuten SimpleDemoApp y el grupo deimplementaciones SimpleDemoDG

aws deploy list-deployments --application-name SimpleDemoApp --deployment-group-name SimpleDemoDG --query deployments --output text

Debe haber dos ID de implementacioacuten Utilice el que auacuten no haya empleado en una llamada alcomando get-deployment

aws deploy get-deployment --deployment-id deployment-id --query deploymentInfo[status creator] --output text

Ademaacutes del estado de la implementacioacuten debe verautoScalingen la salida del comando(autoScalingsignifica que Amazon EC2 Auto Scaling creoacute la implementacioacuten)

No continuacutee hasta que el estado de la implementacioacuten aparezca como Succeeded2 Antes de llamar aldescribe-instances necesitaraacute el ID de la nueva instancia de Amazon EC2 Para

obtener este ID ejecute de nuevo el comando describe-auto-scaling-groups con CodeDeployDemo-AS-Group

aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names CodeDeployDemo-AS-Group --query AutoScalingGroups[0]Instances[]InstanceId --output text

Ahora ejecute el comando describe-instances

aws ec2 describe-instances --instance-id instance-id --query Reservations[0]Instances[0]PublicDnsName --output text

En la salida dedescribe-instances observe el DNS puacuteblico de la nueva instancia de Amazon EC23 Al usar un navegador web muestre elSimpleDemoApprevisioacuten implementada en la instancia de

Amazon EC2 utilizando una URL como la siguiente

httpec2-01-234-567-890compute-1amazonawscom

Si aparece la paacutegina de felicitaciones has usadoCodeDeployPara implementar una revisioacuten en unainstancia de Amazon EC2 adicional en un grupo de Auto Scaling

Para comprobar los resultados de la implementacioacuten automaacutetica(consola)1 Inicie sesioacuten en laAWS Management Consoley abra elCodeDeployConsola de enhttps

consoleawsamazoncomcodedeployVersioacuten de API 2014-10-06

124

AWS CodeDeploy Guiacutea del usuarioPaso 6 Eliminar recursos

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary luego seleccioneImplementaciones

3 Elija el ID de la implementacioacuten que ha creado Amazon EC2 Auto Scaling

4 La paacutegina Deployment (Implementacioacuten) muestra informacioacuten sobre la implementacioacuten Normalmente

deberiacutea crear una implementacioacuten por su cuenta pero Amazon EC2 Auto Scaling ya ha creado unapor usted para implementar la revisioacuten en la nueva instancia de Amazon EC2

5 Cuando aparezca Succeeded (Correcto) en la parte superior de la paacutegina compruebe los resultadosen la instancia Primero debe obtener el DNS puacuteblico de la instancia

6 En el panel de navegacioacuten de Amazon EC2 enAuto Scaling eligeGrupos de Auto Scalingy luegoseleccioneCodeDeployDemo-AS-Groupentrada

7 En la paacuteginaInstancias elija el ID de la nueva instancia Amazon EC28 En la paacutegina Instances en la pestantildea Description tome nota del valor de Public DNS Debe tener un

aspecto similar al siguiente ec2-01-234-567-890compute-1amazonawscom

Muestre la SimpleDemoApp revisioacuten implementada en la instancia utilizando una URL como la siguiente

httpec2-01-234-567-890compute-1amazonawscom

Si aparece la paacutegina de felicitaciones has usadoCodeDeployPara implementar una revisioacuten en unainstancia de Amazon EC2 adicional en un grupo de Auto Scaling

Paso 6 Eliminar recursosEn este paso eliminaraacute el grupo de Auto Scaling para evitar cargos recurrentes por los recursosutilizados durante este tutorial Opcionalmente puede eliminar la configuracioacuten de Auto ScalingyCodeDeployregistros de componentes de implementacioacuten de

Temasbull Para limpiar los recursos (CLI) (p 125)bull Para limpiar los recursos (consola) (p 126)

Para limpiar los recursos (CLI)1 Eliminar el grupo de Auto Scaling llamando aldelete-auto-scaling-groupcomando

contraCodeDeployDemo-AS-Group Esto tambieacuten terminaraacute las instancias de Amazon EC2

aws autoscaling delete-auto-scaling-group --auto-scaling-group-name CodeDeployDemo-AS-Group --force-delete

2 Si lo desea elimine la plantilla de lanzamiento de Auto Scaling llamando aldelete-launch-templatecomando contra la configuracioacuten de lanzamiento denominadaCodeDeployDemo-AS-Launch-Template

aws ec2 delete-launch-template --launch-template-name CodeDeployDemo-AS-Launch-Template

Versioacuten de API 2014-10-06125

AWS CodeDeploy Guiacutea del usuarioPaso 6 Eliminar recursos

3 Si lo desea puede eliminar la aplicacioacuten de CodeDeploy ejecutando el comando delete-applicationcon la aplicacioacuten SimpleDemoApp Esto tambieacuten eliminaraacute los registros de implementacioacuten grupo deimplementaciones y revisioacuten asociados

aws deploy delete-application --application-name SimpleDemoApp

4 Para eliminar la asociacioacuten del Administrador de estado de Systems Manager ejecute ladelete-associationcomando

aws ssm delete-association --assocation-id association-id

Para obtener el valor de id-asociacioacuten llame al comando describe-association

aws ssm describe-association --name AWS-ConfigureAWSPackage --targets Key=tagNameValues=CodeDeployDemo

Para limpiar los recursos (consola)Para eliminar el grupo de Auto Scaling que tambieacuten termina las instancias de Amazon EC2

1Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2

2 En el panel de navegacioacuten de Amazon EC2 enAuto Scaling eligeGrupos de Auto Scalingy luego elijalaCodeDeployDemo-AS-Groupentrada

3 Elija Actions seleccione Delete y luego seleccione Yes Delete

(Opcional) Para eliminar la plantilla de lanzamiento

1 En la barra de navegacioacuten enAuto Scaling eligeConfiguraciones de lanzamientoy luegoseleccioneCodeDeployDemo-AS-Launch-Template

2 Elija Actions seleccione Delete launch configuration y luego seleccione Yes Delete

1 Opcionalmente puede eliminar la aplicacioacuten de CodeDeploy Esto tambieacuten eliminaraacute los registros deimplementacioacuten grupo de implementaciones y revisioacuten asociados Abra el iconoCodeDeployConsolade enhttpsconsoleawsamazoncomcodedeploy

2 Inicie sesioacuten en laAWS Management Consoley abra elCodeDeployConsola de enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

En el panel de navegacioacuten expandaDesplegary luego seleccioneAplicaciones

3 En la lista de aplicaciones elijaSimpleDemoApp4 En la paacutegina Application details (Detalles de la aplicacioacuten) elija Delete application (Eliminar

aplicacioacuten)5 Cuando se le pregunte escriba Delete y a continuacioacuten elija Delete (Eliminar)

Para eliminar la asociacioacuten del Administrador de estado de Systems Manager

Versioacuten de API 2014-10-06126

AWS CodeDeploy Guiacutea del usuarioTutorial Implementar una aplicacioacuten desde GitHub

1 Abra el iconoAWS Systems Managerconsola en httpsconsoleawsamazoncomsystems-manager2 En el panel de navegacioacuten elija Administrador de estados3 Elija la asociacioacuten que ha creado y despueacutes elija Eliminar

Tutorial Usa CodeDeploy para desplegar unaaplicacioacuten desde GitHub

En este tutorial usaraacute CodeDeploy para implementar una revisioacuten de aplicacioacuten de ejemplo desde GitHuba una sola instancia Amazon EC2 con Amazon Linux en una sola instancia de Red Hat Enterprise Linux(RHEL) o en una sola instancia de Windows Server Para obtener informacioacuten sobre la integracioacuten deGitHub con CodeDeploy consulteIntegracioacuten de CodeDeploy con GitHub (p 63)

Note

Tambieacuten puede utilizar CodeDeploy para implementar una revisioacuten de una aplicacioacuten desdeGitHub en una instancia de Ubuntu Server Puede utilizar la revisioacuten de ejemplo descritaenPaso 2 Creacioacuten de una revisioacuten de aplicacioacuten de muestra (p 104)enTutorial Implementaruna aplicacioacuten en una instancia local con CodeDeploy (Windows Server Ubuntu Server oRed Hat Enterprise Linux) (p 103)o bien crear una revisioacuten compatible con una instancia deUbuntu Server y CodeDeploy Para crear su propia revisioacuten consulte Planear una revisioacuten paraCodeDeploy (p 307) y Agregar un archivo de especificacioacuten de aplicacioacuten a una revisioacuten deCodeDeploy (p 308)

Temasbull Requisitos previos (p 127)bull Paso 1 Configure una cuenta de GitHub (p 127)bull Paso 2 Creacioacuten de un repositorio de GitHub (p 128)bull Paso 3 Cargue una aplicacioacuten de ejemplo en el repositorio GitHub (p 129)bull Paso 4 Aprovisionar una instancia (p 132)bull Paso 5 Crear una aplicacioacuten y un grupo de implementaciones (p 133)bull Paso 6 Implementacioacuten de la aplicacioacuten en la instancia (p 134)bull Paso 7 Supervisar y verificar la implementacioacuten (p 137)bull Paso 8 Eliminar recursos (p 138)

Requisitos previosAntes de empezar este tutorial haga lo siguiente

bull Instale Git en su equipo local Para instalar Git consulteGit (descargas)bull Complete los pasos indicados en Introduccioacuten a CodeDeploy (p 35) incluida la instalacioacuten y

configuracioacuten de la AWS CLI Esto es especialmente importante si desea utilizar la AWS CLI paraimplementar una revisioacuten desde GitHub en la instancia

Paso 1 Configure una cuenta de GitHubNecesitaraacute una cuenta de GitHub para crear un repositorio de GitHub en el que almacenar la revisioacuten Si yatiene una cuenta de GitHub continuacutee en Paso 2 Creacioacuten de un repositorio de GitHub (p 128)

Versioacuten de API 2014-10-06127

AWS CodeDeploy Guiacutea del usuarioPaso 2 Creacioacuten de un repositorio de GitHub

1 Vaya a httpsgithubcomjoin2 Escriba un nombre de usuario su direccioacuten de correo electroacutenico y una contrasentildea3 Elija Sign up for GitHub y siga las instrucciones

Paso 2 Creacioacuten de un repositorio de GitHubNecesitaraacute un repositorio de GitHub para almacenar la revisioacuten

Si ya tiene un repositorio de GitHub aseguacuterese de indicar su nombre donde aparezcaCodeDeployGitHubDemo en este tutorial y continuacutee en el Paso 3 Cargue una aplicacioacuten de ejemplo en elrepositorio GitHub (p 129)

1 En la paacutegina de inicio de GitHub lleve a cabo alguna de las siguientes operaciones

bull En Your repositories elija New repositorybull En la barra de navegacioacuten seleccione Create new (+) y luego elija New repository

2 En la paacutegina Create a new repository haga lo siguiente

bull En el cuadro Repository name (Nombre del repositorio) indique CodeDeployGitHubDemobull Seleccione Public

Note

La opcioacuten predeterminada Public implica que cualquiera puede ver el repositorio Puedeseleccionar la opcioacuten Private (Privado) para limitar quieacuten puede ver el repositorio yconfirmarlo

bull Desactive la casilla Initialize this repository with a README En su lugar crearaacute un archivoREADMEmd manualmente en el siguiente paso

bull Elija Create repository3 Siga las instrucciones correspondientes al tipo de su equipo local para crear el repositorio con la liacutenea

de comandos

Note

Si ha activado la autenticacioacuten de dos factores en GitHub y se le solicita una contrasentildeaaseguacuterese de introducir su token de acceso personal en lugar de su contrasentildea de inicio desesioacuten de GitHub Para obtener informacioacuten consulteProporcionar el coacutedigo de autenticacioacuten2FA

En los equipos locales con Linux macOS o Unix

1 Desde el terminal ejecute sucesivamente los comandos siguientes donde user-name es su nombrede usuario de GitHub

mkdir tmpCodeDeployGitHubDemo

cd tmpCodeDeployGitHubDemo

touch READMEmd

git init Versioacuten de API 2014-10-06128

AWS CodeDeploy Guiacutea del usuarioPaso 3 Cargue una aplicacioacuten deejemplo en el repositorio GitHub

git add READMEmd

git commit -m My first commit

git remote add origin httpsgithubcomuser-nameCodeDeployGitHubDemogit

git push -u origin master

2 Deje el terminal abierto en la ubicacioacuten tmpCodeDeployGitHubDemo

En los equipos locales con Windows

1 Desde el siacutembolo del sistema abierto como administrador ejecute sucesivamente los comandossiguientes

mkdir ctempCodeDeployGitHubDemo

cd ctempCodeDeployGitHubDemo

notepad READMEmd

2 En el Bloc de notas guarde el archivo READMEmd Cierre el Bloc de notas Ejecute sucesivamente loscomandos siguientes donde user-name es su nombre de usuario de GitHub

git init

git add READMEmd

git commit -m My first commit

git remote add origin httpsgithubcomuser-nameCodeDeployGitHubDemogit

git push -u origin master

3 Deje el siacutembolo del sistema abierto en la ubicacioacuten ctempCodeDeployGitHubDemo

Paso 3 Cargue una aplicacioacuten de ejemplo en elrepositorio GitHubEn este paso copiaraacute una revisioacuten de ejemplo de un bucket de Amazon S3 puacuteblico en el repositorioGitHub (Para simplificar las revisiones de ejemplo incluidas para este tutorial son paacuteginas webindividuales)

Note

Si en lugar de nuestro ejemplo utiliza una revisioacuten propia esta deberaacute

Versioacuten de API 2014-10-06129

AWS CodeDeploy Guiacutea del usuarioPaso 3 Cargue una aplicacioacuten deejemplo en el repositorio GitHub

bull Seguir las directrices de Planear una revisioacuten para CodeDeploy (p 307) y Agregar un archivode especificacioacuten de aplicacioacuten a una revisioacuten de CodeDeploy (p 308)

bull Funcionar con el tipo de instancia correspondientebull Ser accesible desde el panel de GitHub

Si su revisioacuten cumple estos requisitos continuacutee en Paso 5 Crear una aplicacioacuten y un grupo deimplementaciones (p 133)Si va a implementar en una instancia de Ubuntu Server tendraacute que cargar en el repositorioGitHub una revisioacuten compatible con una instancia de Ubuntu Server y CodeDeploy Para obtenermaacutes informacioacuten consulte Planear una revisioacuten para CodeDeploy (p 307) y Agregar un archivode especificacioacuten de aplicacioacuten a una revisioacuten de CodeDeploy (p 308)

Temasbull Enviacuteo de una revisioacuten de ejemplo desde un equipo local con Linux macOS o Unix (p 130)bull Enviacuteo de una revisioacuten de ejemplo desde un equipo local con Windows (p 131)

Enviacuteo de una revisioacuten de ejemplo desde un equipo local conLinux macOS o UnixCon el terminal auacuten abierto por ejemplo en la ubicacioacuten tmpCodeDeployGitHubDemo ejecutesucesivamente los comandos siguientes

Note

Si tiene previsto implementar en una instancia de Windows ServersustituyaSampleApp_WindowszipparaSampleApp_Linuxzipen los comandos

(Amazon S3 copy command)

unzip SampleApp_Linuxzip

rm SampleApp_Linuxzip

git add

git commit -m Added sample app

git push

Donde(comando de copia de Amazon S3)es una de las siguientes opciones

bull aws s3 cp s3aws-codedeploy-us-east-2sampleslatestSampleApp_Linuxzip --region us-east-2para la regioacuten EE UU Este (Ohio)

bull aws s3 cp s3aws-codedeploy-us-east-1sampleslatestSampleApp_Linuxzip --region us-east-1para la regioacuten EE UU Este (Norte de Virginia)

bull aws s3 cp s3aws-codedeploy-us-west-1sampleslatestSampleApp_Linuxzip --region us-west-1para la regioacuten EE UU Oeste (Norte de California)

bull aws s3 cp s3aws-codedeploy-us-west-2sampleslatestSampleApp_Linuxzip --region us-west-2para la regioacuten EE UU Oeste (Oregoacuten)

Versioacuten de API 2014-10-06130

AWS CodeDeploy Guiacutea del usuarioPaso 3 Cargue una aplicacioacuten deejemplo en el repositorio GitHub

bull aws s3 cp s3aws-codedeploy-ca-central-1sampleslatestSampleApp_Linuxzip --region ca-central-1para la regioacuten Canadaacute (Central)

bull aws s3 cp s3aws-codedeploy-eu-west-1sampleslatestSampleApp_Linuxzip --region eu-west-1para la regioacuten de Europa (Irlanda)

bull aws s3 cp s3aws-codedeploy-eu-west-2sampleslatestSampleApp_Linuxzip --region eu-west-2para la regioacuten de Europa (Londres)

bull aws s3 cp s3aws-codedeploy-eu-west-3sampleslatestSampleApp_Linuxzip --region eu-west-3para la regioacuten de Europa (Pariacutes)

bull aws s3 cp s3aws-codedeploy-eu-central-1sampleslatestSampleApp_Linuxzip --region eu-central-1para la regioacuten de Europa (Fraacutencfort)

bull aws s3 cp s3aws-codedeploy-ap-east-1sampleslatestSampleApp_Linuxzip --region ap-east-1para la regioacuten Asia Paciacutefico (Hong Kong)

bull aws s3 cp s3aws-codedeploy-ap-northeast-1sampleslatestSampleApp_Linuxzip --region ap-northeast-1para la regioacuten Asia Paciacutefico (Tokio)

bull aws s3 cp s3aws-codedeploy-ap-northeast-2sampleslatestSampleApp_Linuxzip --region ap-northeast-2para la regioacuten Asia Paciacutefico (Seuacutel)

bull aws s3 cp s3aws-codedeploy-ap-southeast-1sampleslatestSampleApp_Linuxzip --region ap-southeast-1para la regioacuten Asia Paciacutefico (Singapur)

bull aws s3 cp s3aws-codedeploy-ap-southeast-2sampleslatestSampleApp_Linuxzip --region ap-southeast-2para la regioacuten Asia Paciacutefico (Siacutedney)

bull aws s3 cp s3aws-codedeploy-ap-south-1sampleslatestSampleApp_Linuxzip --region ap-south-1para la regioacuten Asia Paciacutefico (Mumbai)

bull aws s3 cp s3aws-codedeploy-sa-east-1sampleslatestSampleApp_Linuxzip --region sa-east-1para la regioacuten Ameacuterica del Sur (Satildeo Paulo)

Enviacuteo de una revisioacuten de ejemplo desde un equipo local conWindowsCon el siacutembolo del sistema auacuten abierto por ejemplo en la ubicacioacuten ctempCodeDeployGitHubDemoejecute sucesivamente los comandos siguientes

Note

Si tiene previsto implementar en una instancia Amazon Linux o RHELsustituyaSampleApp_LinuxzipparaSampleApp_Windowszipen los comandos

(Amazon S3 copy command)

Descomprima el contenido the del archivo ZIP directamente en el directorio local (por ejemplo ctempCodeDeployGitHubDemo) no en un nuevo subdirectorio

git add

git commit -m Added sample app

git push

Donde(comando de copia de Amazon S3)es una de las siguientes opciones

bull aws s3 cp s3aws-codedeploy-us-east-2sampleslatestSampleApp_Windowszip --region us-east-2para la regioacuten EE UU Este (Ohio)

Versioacuten de API 2014-10-06131

AWS CodeDeploy Guiacutea del usuarioPaso 4 Aprovisionar una instancia

bull aws s3 cp s3aws-codedeploy-us-east-1sampleslatestSampleApp_Windowszip --region us-east-1para la regioacuten US East (N Virginia)

bull aws s3 cp s3aws-codedeploy-us-west-1sampleslatestSampleApp_Windowszip --region us-west-1para la regioacuten EE UU Oeste (Norte deCalifornia)

bull aws s3 cp s3aws-codedeploy-us-west-2sampleslatestSampleApp_Windowszip --region us-west-2para la regioacuten EE UU Oeste (Oregoacuten)

bull aws s3 cp s3aws-codedeploy-ca-central-1sampleslatestSampleApp_Windowszip --region ca-central-1para la regioacuten Canadaacute (Central)

bull aws s3 cp s3aws-codedeploy-eu-west-1sampleslatestSampleApp_Windowszip --region eu-west-1para la regioacuten de Europa (Irlanda)

bull aws s3 cp s3aws-codedeploy-eu-west-2sampleslatestSampleApp_Windowszip --region eu-west-2para la regioacuten de Europa (Londres)

bull aws s3 cp s3aws-codedeploy-eu-west-3sampleslatestSampleApp_Windowszip --region eu-west-3para la regioacuten de Europa (Pariacutes)

bull aws s3 cp s3aws-codedeploy-eu-central-1sampleslatestSampleApp_Windowszip --region eu-central-1para la regioacuten de Europa (Fraacutencfort)

bull aws s3 cp s3aws-codedeploy-ap-east-1sampleslatestSampleApp_Windowszip --region ap-east-1para la regioacuten Asia Paciacutefico (Hong Kong)

bull aws s3 cp s3aws-codedeploy-ap-northeast-1sampleslatestSampleApp_Windowszip --region ap-northeast-1para la regioacuten Asia Paciacutefico (Tokio)

bull aws s3 cp s3aws-codedeploy-ap-northeast-2sampleslatestSampleApp_Windowszip --region ap-northeast-2para la regioacuten Asia Paciacutefico (Seuacutel)

bull aws s3 cp s3aws-codedeploy-ap-southeast-1sampleslatestSampleApp_Windowszip --region ap-southeast-1para la regioacuten Asia Paciacutefico (Singapur)

bull aws s3 cp s3aws-codedeploy-ap-southeast-2sampleslatestSampleApp_Windowszip --region ap-southeast-2para la regioacuten Asia Paciacutefico (Siacutedney)

bull aws s3 cp s3aws-codedeploy-ap-south-1sampleslatestSampleApp_Windowszip --region ap-south-1para la regioacuten Asia Paciacutefico (Mumbai)

bull aws s3 cp s3aws-codedeploy-sa-east-1sampleslatestSampleApp_Windowszip --region sa-east-1para la regioacuten Ameacuterica del Sur (Satildeo Paulo)

Para enviar su propia revisioacuten a una instancia de Ubuntu Server copie la revisioacuten en el repositorio local ya continuacioacuten ejecute lo siguiente

git add git commit -m Added Ubuntu appgit push

Paso 4 Aprovisionar una instanciaEn este paso crearaacute o configuraraacute la instancia en la que va a implementar la aplicacioacuten de ejemploPuede implementar en una instancia Amazon EC2 o en una instancia on-premises basada en uno de lossistemas operativos compatibles con CodeDeploy Para obtener informacioacuten consulte Sistemas operativoscompatibles con el agente de CodeDeploy (p 175) (Si ya tiene una instancia configuradas para su usoen implementaciones de CodeDeploy continuacutee en el paso siguiente)

Para aprovisionar una instancia

1 Siga las instrucciones enLance una instancia de Amazon EC2 (consola) (p 217)para aprovisionaruna instancia

Versioacuten de API 2014-10-06132

AWS CodeDeploy Guiacutea del usuarioPaso 5 Crear una aplicacioacuten yun grupo de implementaciones

2 Al iniciar la instancia no se olvide de especificar una etiqueta en elAgregue etiquetas(Se ha creadoel certificado) Para obtener maacutes informacioacuten sobre coacutemo especificar la etiqueta consulteLance unainstancia de Amazon EC2 (consola) (p 217)

Para comprobar que el agente de CodeDeploy se estaacute ejecutando en la instancia

bull Siga las instrucciones enVerifique que el agente de CodeDeploy esteacute en ejecucioacuten (p 186)paracomprobar que el agente se estaacute ejecutando

Una vez abastecida la instancia y comprobado que el agente de CodeDeploy se estaacute ejecutando vaya alsiguiente paso

Paso 5 Crear una aplicacioacuten y un grupo deimplementacionesEn este paso utilizaraacute la consola de CodeDeploy o laAWS CLIPara crear una aplicacioacuten y un grupo deimplementaciones que despueacutes usaraacute para implementar la revisioacuten de ejemplo desde el repositorio GitHub

Creacioacuten de una aplicacioacuten y un grupo de implementaciones(consola)1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttps

consoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary luego elijaAplicaciones

3 Seleccione Create application (Crear aplicacioacuten) y a continuacioacuten seleccione Custom application(Aplicacioacuten personalizada)

4 En Application name (Nombre de aplicacioacuten) escriba CodeDeployGitHubDemo-App5 En Compute platform (Plataforma de computacioacuten) elija EC2On-Premises6 Elija Create application7 En la pestantildea Deployment groups (Grupos de implementaciones) elija Create deployment group

(Crear grupo de implementaciones)8 En Deployment group name (Nombre de grupo de implementacioacuten) escriba

CodeDeployGitHubDemo-DepGrp9 EnRol de servicio elija el nombre del rol de servicio CodeDeploy que creoacute enCrear un rol de servicio

para CodeDeploy (p 36)10 En Deployment type (Tipo de implementacioacuten) elija In-place (In situ)11 EnConfiguracioacuten del entorno en funcioacuten del tipo de instancia que utilice elijaInstancias de Amazon

EC2oInstancias on-premises En Key (Clave) y Value (Valor) escriba la clave y el valor de la etiquetade instancia que se aplicoacute a la instancia como parte de Paso 4 Aprovisionar una instancia (p 132)

12 En Deployment configuration (Configuracioacuten de implementacioacuten) elija CodeDeployDefaultAllatOnce13 En Load Balancer (Balanceador de carga) anule la seleccioacuten de Enable load balancing (Habilitar

balanceo de carga)14 Expanda Advanced (Avanzadas)

Versioacuten de API 2014-10-06133

AWS CodeDeploy Guiacutea del usuarioPaso 6 Implementacioacuten de la aplicacioacuten en la instancia

15 En Alarms (Alarmas) seleccione Ignore alarm configuration (Ignorar las alarmas)16 Elija Create deployment group (Crear grupo de implementaciones) y vaya al paso siguiente

Creacioacuten de una aplicacioacuten y un grupo de implementaciones(CLI)1 Llame acreate-applicationpara crear una aplicacioacuten en CodeDeploy

denominadaCodeDeployGitHubDemo-App

aws deploy create-application --application-name CodeDeployGitHubDemo-App

2 Ejecute el comando create-deployment-group para crear un grupo de implementaciones denominadoCodeDeployGitHubDemo-DepGrp

bull Si la implementacioacuten es en una instancia Amazon EC2ec2-clave-etiquetaes la clave de laetiqueta de instancia Amazon EC2 que se aplicoacute a la instancia Amazon EC2 como parte dePaso 4Aprovisionar una instancia (p 132)

bull Si la implementacioacuten es en una instancia Amazon EC2ec2-tag-valuees el valor de la etiqueta deinstancia Amazon EC2 que se aplicoacute a la instancia Amazon EC2 como parte dePaso 4 Aprovisionaruna instancia (p 132)

bull Si va a implementar en una instancia on-premises on-premises-tag-key es la clave de etiquetade instancia on-premises que se aplicoacute a la instancia on-premises en Paso 4 Aprovisionar unainstancia (p 132)

bull Si va a implementar en una instancia on-premises on-premises-tag-value es el valor deetiqueta de instancia on-premises que se aplicoacute a la instancia on-premises en Paso 4 Aprovisionaruna instancia (p 132)

bull service-role-arnes el ARN de rol de servicio para el rol de servicio que creoacute enCrear un rolde servicio para CodeDeploy (p 36) (Siga las instrucciones de Obtenga el ARN del rol de servicio(CLI) (p 41) para determinar el ARN del rol de servicio)

aws deploy create-deployment-group --application-name CodeDeployGitHubDemo-App --ec2-tag-filters Key=ec2-tag-keyType=KEY_AND_VALUEValue=ec2-tag-value --on-premises-tag-filters Key=on-premises-tag-keyType=KEY_AND_VALUEValue=on-premises-tag-value --deployment-group-name CodeDeployGitHubDemo-DepGrp --service-role-arn service-role-arn

Note

Lacreate-deployment-groupproporciona soporte para crear activadores que dan comoresultado el enviacuteo de notificaciones de Amazon SNS a los suscriptores de temas sobreeventos especiacuteficos en implementaciones e instancias El comando tambieacuten admite opcionespara revertir automaacuteticamente implementaciones y configurar alarmas para detener lasimplementaciones cuando se cumplen los umbrales de supervisioacuten en alarmas de AmazonCloudWatch Los comandos para estas acciones no se incluyen en este tutorial

Paso 6 Implementacioacuten de la aplicacioacuten en lainstanciaEn este paso debe utilizar la consola de CodeDeploy o laAWS CLIpara implementar la revisioacuten de ejemplodesde el repositorio GitHub en la instancia

Versioacuten de API 2014-10-06134

AWS CodeDeploy Guiacutea del usuarioPaso 6 Implementacioacuten de la aplicacioacuten en la instancia

Para implementar la revisioacuten (consola)1 En la paacutegina Deployment group details (Detalles del grupo de implementaciones) elija Create

deployment (Crear implementacioacuten)2 En Deployment group (Grupo de implementacioacuten) elija CodeDeployGitHubDemo-DepGrp3 En Revision type (Tipo de revisioacuten) elija GitHub4 En Connect to GitHub realice una de las siguientes acciones

bull Para crear una conexioacuten entre aplicaciones de CodeDeploy y una cuenta de GitHub cierre la sesioacutende GitHub en otra pestantildea del navegador web En GitHub account (Cuenta de GitHub) introduzcaun nombre para identificar esta conexioacuten y luego elija Connect to GitHub (Conectar a GitHub) Lapaacutegina web le pediraacute que autorice a CodeDeploy para interactuar con GitHub para la aplicacioacutendenominadaCodeDeployGitHubDemo-App Continuacutee en el paso 5

bull Para utilizar una conexioacuten que haya creado previamente seleccione su nombre en GitHub accounty a continuacioacuten elija Connect to GitHub Continuacutee en el paso 7

bull Para crear una conexioacuten con una cuenta de GitHub distinta cierre la sesioacuten de GitHub en otrapestantildea del navegador web Elija Connect to a different GitHub account y a continuacioacuten elijaConnect to GitHub Continuacutee en el paso 5

5 Siga las instrucciones de la paacutegina Sign in para iniciar sesioacuten con su cuenta de GitHub6 En la paacutegina Authorize application elija Authorize application7 En CodeDeployCrear implementacioacutenpaacutegina enNombre del repositorio introduce el nombre de

usuario de GitHub que utilizaste para iniciar sesioacuten seguido de una barra diagonal () seguido delnombre del repositorio en el que se insertoacute la revisioacuten de la aplicacioacuten (por ejemplomy-github-user-nameCodeDeployGitHubDemo)

Si no estaacute seguro del valor que debe introducir o si desea especificar un repositorio diferente

a En otra pestantildea del navegador web abra el Panel de GitHubb En Your repositories pase el cursor sobre el nombre del repositorio de destino Apareceraacute un

mensaje informativo con el nombre de usuario de GitHub o el nombre de la organizacioacuten seguidode una barra inclinada () y del nombre del repositorio Escriba este valor en Repository name(Nombre del repositorio)

Note

Si el nombre de repositorio de destino no se muestra en Your repositories (Susrepositorios) use el cuadro Search GitHub (Buscar GitHub) para buscar el repositorio deGitHub de destino y el nombre de usuario o nombre de organizacioacuten de GitHub

8 En el cuadro Commit ID (ID de confirmacioacuten) introduzca el ID de la confirmacioacuten asociada alalmacenamiento de la revisioacuten de la aplicacioacuten en GitHub

Si no estaacute seguro del valor que debe introducir

a En otra pestantildea del navegador web abra el Panel de GitHubb EnTus repositorios eligeDemo de GitHub de implementacioacuten de coacutedigoc En la lista de confirmaciones encuentre y copie el ID de la confirmacioacuten asociada al

almacenamiento de la revisioacuten de la aplicacioacuten en GitHub Este ID suele tener 40 caracteres y secompone de letras y nuacutemeros (No utilice la versioacuten corta del ID de confirmacioacuten que suele ser losprimeros 10 caracteres de la versioacuten larga)

d Pegue el ID de confirmacioacuten en el cuadro Commit ID9 Elija Deploy y continuacutee con el paso siguiente

Versioacuten de API 2014-10-06135

AWS CodeDeploy Guiacutea del usuarioPaso 6 Implementacioacuten de la aplicacioacuten en la instancia

Para implementar la revisioacuten (CLI)Antes de que puedas llamar a cualquierAWS CLIcomandos que interactuacutean con GitHub (como elcreate-deployment que ejecutaraacute a continuacioacuten) antes debe conceder a CodeDeploy permiso para utilizar sucuenta de usuario de GitHub para interactuar con GitHub para laCodeDeployGitHubDemo-Apprevisionesde Actualmente esto debe hacerse en la consola de CodeDeploy

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary luego elijaAplicaciones

3 ElegirAplicacioacuten de CodeDeployGitHub4 En la pestantildea Deployments (Implementaciones) elija Create deployment (Crear implementacioacuten)

Note

No va a crear una nueva implementacioacuten Actualmente esta es la uacutenica manera de concedera CodeDeploy el permiso para interactuar con GitHub en nombre de su cuenta de usuario deGitHub

5 DesdeGrupo de implementaciones eligeImplementacioacuten de coacutedigo GitHub Demo - DepGRP6 En Revision type (Tipo de revisioacuten) elija GitHub7 En Connect to GitHub realice una de las siguientes acciones

bull Para crear una conexioacuten entre aplicaciones de CodeDeploy y una cuenta de GitHub cierre lasesioacuten de GitHub en otra pestantildea del navegador web En GitHub account escriba el nombre paraidentificar esta conexioacuten y luego elija Connect to GitHub La paacutegina web le pediraacute que autorice aCodeDeploy para interactuar con GitHub para la aplicacioacuten denominadaCodeDeployGitHubDemo-App Continuacutee en el paso 8

bull Para utilizar una conexioacuten que haya creado previamente seleccione su nombre en GitHub accounty a continuacioacuten elija Connect to GitHub Continuacutee en el paso 10

bull Para crear una conexioacuten con una cuenta de GitHub distinta cierre la sesioacuten de GitHub en otrapestantildea del navegador web Elija Connect to a different GitHub account y a continuacioacuten elijaConnect to GitHub Continuacutee en el paso 8

8 Siga las instrucciones de la paacutegina Sign in para iniciar sesioacuten con su nombre de usuario de GitHub osu direccioacuten de correo electroacutenico y la contrasentildea correspondiente

9 En la paacutegina Authorize application elija Authorize application10 En CodeDeployCrear implementacioacutenpaacutegina elijaCancelar11 Ejecute el comando create-deployment para implementar la revisioacuten en la instancia desde el

repositorio de GitHub donde

bull repository es el nombre de cuenta de GitHub seguido de una barra inclinada () y delnombre del repositorio (CodeDeployGitHubDemo) por ejemplo MyGitHubUserNameCodeDeployGitHubDemo

Si no estaacute seguro del valor que debe indicar o si desea especificar un repositorio diferente

1 En otra pestantildea del navegador web abra el Panel de GitHub2 En Your repositories pase el cursor sobre el nombre del repositorio de destino Apareceraacute

un mensaje informativo con el nombre de usuario de GitHub o el nombre de la organizacioacutenseguido de una barra inclinada () y del nombre del repositorio Este es el valor que debe usar

Versioacuten de API 2014-10-06136

AWS CodeDeploy Guiacutea del usuarioPaso 7 Supervisar y verificar la implementacioacuten

Note

Si el nombre de repositorio de destino no aparece en Your repositories use el cuadroSearch GitHub para buscar repositorio de GitHub de destino y el nombre de usuario onombre de organizacioacuten de GitHub correspondiente

bull commit-id es la confirmacioacuten asociada al almacenamiento de la versioacuten de la revisioacuten de laaplicacioacuten en el repositorio (por ejemplo f835159a528eb76f)

Si no estaacute seguro del valor que debe usar

1 En otra pestantildea del navegador web abra el Panel de GitHub2 EnTus repositorios eligeDemo de GitHub de implementacioacuten de coacutedigo3 En la lista de confirmaciones busque el ID de la confirmacioacuten asociada al almacenamiento de

la revisioacuten de la aplicacioacuten en GitHub Este ID suele tener 40 caracteres y se compone de letrasy nuacutemeros (No utilice la versioacuten corta del ID de confirmacioacuten que suele ser los primeros 10caracteres de la versioacuten larga) Utilice este valor

Si se encuentra en un equipo local con Linux macOS o Unix

aws deploy create-deployment --application-name CodeDeployGitHubDemo-App --deployment-config-name CodeDeployDefaultOneAtATime --deployment-group-name CodeDeployGitHubDemo-DepGrp --description My GitHub deployment demo --github-location repository=repositorycommitId=commit-id

Si se encuentra en un equipo local con Windows

aws deploy create-deployment --application-name CodeDeployGitHubDemo-App --deployment-config-name CodeDeployDefaultOneAtATime --deployment-group-name CodeDeployGitHubDemo-DepGrp --description My GitHub deployment demo --github-location repository=repositorycommitId=commit-id

Paso 7 Supervisar y verificar la implementacioacutenEn este paso utilizaraacute la consola de CodeDeploy o laAWS CLIpara comprobar el eacutexito de laimplementacioacuten Utilizaraacute el navegador web para ver la paacutegina implementada en la instancia que ha creadoo configurado

Note

Si se trata de una implementacioacuten en una instancia de Ubuntu Server utilice su propia estrategiade pruebas para determinar si la revisioacuten implementada funciona seguacuten lo previsto en la instanciay a continuacioacuten continuacutee en el paso siguiente

Para monitorizar y comprobar la implementacioacuten (consola)

1 En el panel de navegacioacuten expandaDesplegary despueacutesImplementaciones

2 En la lista de implementaciones busque la fila cuyoAplicacioacutenValor deAplicacioacuten deCodeDeployGitHuby unGrupo de implementacionesValor deImplementacioacuten de coacutedigo GitHubDemo - DepGRP Si no aparece Succeeded o Failed en la columna Status pulse el botoacuten Refreshperioacutedicamente

3 Si aparece Failed en la columna Status siga las instrucciones de Ver los detalles de la instancia(consola) (p 258) para resolver los problemas de la implementacioacuten

Versioacuten de API 2014-10-06137

AWS CodeDeploy Guiacutea del usuarioPaso 8 Eliminar recursos

4 Si aparece Succeeded en la columna Status ya puede comprobar la implementacioacuten en elnavegador web Nuestra revisioacuten de ejemplo implementa una uacutenica paacutegina web en la instancia Si laimplementacioacuten es en una instancia Amazon EC2 en el navegador web vaya ahttppublic-dnspor ejemplo (por ejemplohttpec2-01-234-567-890compute-1amazonawscom)

5 Si puede ver la paacutegina web iexclenhorabuena Ahora que ha conseguido implementar una revisioacuten desdeGitHub con AWS CodeDeploy puede ir directamente al Paso 8 Eliminar recursos (p 138)

Para monitorizar y comprobar la implementacioacuten (CLI)

1 Para obtener el ID de implementacioacuten ejecute el comando list-deployments con la aplicacioacutenCodeDeployGitHubDemo-App y el grupo de implementaciones CodeDeployGitHubDemo-DepGrp

aws deploy list-deployments --application-name CodeDeployGitHubDemo-App --deployment-group-name CodeDeployGitHubDemo-DepGrp --query deployments --output text

2 Ejecute el comando get-deployment indicando el ID de la implementacioacuten obtenido en la salida delcomando list-deployments

aws deploy get-deployment --deployment-id deployment-id --query deploymentInfo[status creator] --output text

3 Si el resultado es Failed siga las instrucciones de Ver los detalles de la instancia (consola) (p 258)para resolver los problemas de la implementacioacuten

4 Si el resultado es Succeeded ya puede comprobar la implementacioacuten en el navegadorweb Nuestra revisioacuten de ejemplo implementa una uacutenica paacutegina web en la instancia Si laimplementacioacuten es en una instancia Amazon EC2 puede ver la paacutegina en el navegadorweb enhttppublic-dnspara la instancia Amazon EC2 (por ejemplohttpec2-01-234-567-890compute-1amazonawscom)

5 Si puede ver la paacutegina web iexclenhorabuena Ha conseguido implementar con AWS CodeDeploy desdeun repositorio de GitHub

Paso 8 Eliminar recursosPara evitar cargos adicionales por los recursos que ha utilizado en este tutorial debe terminar lainstancia Amazon EC2 y sus recursos asociados De forma opcional puede eliminar los registros de loscomponentes de implementacioacuten de CodeDeploy asociados a este tutorial Si el repositorio de GitHub erasolo para este tutorial puede eliminarlo ahora tambieacuten

Para eliminar unAWS CloudFormationstack (si utilizaste elAWSCloudFormationplantilla para crear una instancia Amazon EC2)1 Inicie sesioacuten en la AWS Management Console y abra la consola de AWS CloudFormation en https

consoleawsamazoncomcloudformation2 En la columna Stacks (Pilas) elija la pila que comience por CodeDeploySampleStack3 Elija Delete (Eliminar)4 Cuando se le solicite elija Delete stack (Eliminar pila) Se eliminaraacute la instancia Amazon EC2 y el perfil

de instancia de IAM y el rol de servicio asociados

Versioacuten de API 2014-10-06138

AWS CodeDeploy Guiacutea del usuarioTutorial Implementar un servicio de Amazon ECS

Para anular el registro y limpiar manualmente una instancia on-premises (si ha aprovisionado una instancia on-premises)1 UsarAWS CLIpara llamar aAnular registropara la instancia on-premises representada aquiacute porsu

nombre de instanciay la regioacuten asociada porsu regioacuten

aws deploy deregister --instance-name your-instance-name --no-delete-iam-user --region your-region

2 Desde la instancia on-premises ejecute eldesinstalarcomando

aws deploy uninstall

Para terminar manualmente una instancia Amazon EC2 (si hainiciado manualmente una instancia Amazon EC2)1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon EC2 en https

consoleawsamazoncomec22 En el panel de navegacioacuten bajo Instances elija Instances3 Seleccione la casilla junto a la instancia Amazon EC2 que desea terminar En el menuacute Actions

seleccione Instance State y elija Terminate4 Cuando se le pregunte elija Yes Terminate

Para eliminar los registros de los componentes deimplementacioacuten de CodeDeploy1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttps

consoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary luego elijaAplicaciones

3 ElegirAplicacioacuten de CodeDeployGitHub4 Seleccione Delete application (Eliminar aplicacioacuten)5 Cuando se le pregunte escriba Delete y a continuacioacuten elija Delete (Eliminar)

Para eliminar el repositorio de GitHubConsulteEliminacioacuten de un repositorioenAyuda de GitHub

Tutorial Implementar un servicio de Amazon ECSEn este tutorial aprenderaacute a implementar una aplicacioacuten de Amazon ECS Comience con una aplicacioacutende Amazon ECS que ya creoacute El primer paso consiste en actualizar la aplicacioacuten modificando su archivo

Versioacuten de API 2014-10-06139

AWS CodeDeploy Guiacutea del usuarioTutorial Implementar un servicio de Amazon ECS

de definicioacuten de tareas con una nueva etiqueta A continuacioacuten utilice CodeDeploy para implementar laactualizacioacuten Durante la implementacioacuten CodeDeploy instala la actualizacioacuten en un nuevo conjunto detareas de sustitucioacuten A continuacioacuten desviacutea el traacutefico de produccioacuten de la versioacuten original del servicio deAmazon ECS que se encuentra en su conjunto de tareas original a la versioacuten actualizada del conjunto detareas de sustitucioacuten

Durante una implementacioacuten de Amazon ECS CodeDeploy utiliza un balanceador de carga configuradocon dos grupos de destino y un agente de escucha de traacutefico de produccioacuten En el siguiente diagramase muestra coacutemo estaacuten relacionados el balanceador de carga el agente de escucha de produccioacuten losgrupos de destino y la aplicacioacuten de Amazon ECS antes de que comience la implementacioacuten En estetutorial se utiliza un balanceador de carga de aplicaciones Tambieacuten puede utilizar un Network LoadBalancer

Despueacutes de una implementacioacuten correcta el agente de escucha de traacutefico de produccioacuten ofrece el traacuteficoal nuevo conjunto de tareas de sustitucioacuten y se termina el conjunto de tareas original En el siguientediagrama se muestra coacutemo estaacuten relacionados los recursos despueacutes de una implementacioacuten correctaPara obtener maacutes informacioacuten consulte Queacute ocurre durante una implementacioacuten de Amazon ECS (p 22)

Para obtener informacioacuten acerca de coacutemo utilizar laAWS CLIPara implementar un servicio de AmazonECS consulteTutorial Creacioacuten de un servicio mediante una implementacioacuten laquobluegreenraquo Para obtener

Versioacuten de API 2014-10-06140

AWS CodeDeploy Guiacutea del usuarioRequisitos previos

informacioacuten acerca de coacutemo utilizar CodePipeline para detectar e implementar automaacuteticamente cambiosen un servicio de Amazon ECS con CodeDeploy consulteTutorial Creacioacuten de una canalizacioacuten con unorigen de Amazon ECR y la implementacioacuten de ECS-to-CodeDeploy

Despueacutes de completar este tutorial puede utilizar la aplicacioacuten de CodeDeploy y el grupo deimplementaciones que creoacute para antildeadir una prueba de validacioacuten de implementacioacuten enTutorialImplementacioacuten de un servicio Amazon ECS con una prueba de validacioacuten (p 147)

Temasbull Requisitos previos (p 141)bull Paso 1 Actualice la aplicacioacuten de Amazon ECS (p 141)bull Paso 2 Creacioacuten del archivo AppSpec (p 142)bull Paso 3 Utilice la consola de CodeDeploy para implementar su servicio Amazon ECS (p 143)bull Paso 4 Eliminar recursos (p 146)

Requisitos previosPara completar este tutorial primero debe realizar el siguiente procedimiento

bull Realice los pasos 2 y 3 de Introduccioacuten a CodeDeploy (p 35)bull Cree un Application Load Balancer configurado con dos grupos de destino y un agente de escucha Para

obtener informacioacuten sobre la creacioacuten un balanceador de carga mediante la consola consulte Configurarun equilibrador de carga grupos de destino y listeners para implementaciones de CodeDeploy AmazonECS (p 296) Para obtener informacioacuten acerca de la creacioacuten de un balanceador de carga mediantelaAWS CLI consultePaso 1 Creacioacuten de un Application Load Balanceren laGuiacutea del usuario AmazonElastic Container Cuando cree el balanceador de carga anote lo siguiente para este tutorialbull Nombre del balanceador de cargabull Los nombres de los grupos de destinobull El puerto utilizado por el agente de escucha del balanceador de carga

bull Cree un servicio y cluacutester de Amazon ECS Para obtener maacutes informacioacuten consulte los pasos 2 3 y 4enTutorial Creacioacuten de un servicio mediante una implementacioacuten laquobluegreenraquoen laGuiacutea del usuarioAmazon Elastic Container Anote lo siguiente para este tutorialbull El nombre del cluacutester de Amazon ECSbull El ARN de la definicioacuten de tarea utilizada por el servicio de Amazon ECSbull El nombre del contenedor utilizado por el servicio de Amazon ECS

bull Cree un bucket de Amazon S3 para su archivo AppSpec

Paso 1 Actualice la aplicacioacuten de Amazon ECSEn esta seccioacuten actualizaraacute la aplicacioacuten de Amazon ECS con una nueva revisioacuten de su definicioacuten detarea La revisioacuten actualizada antildeade un nuevo par de claves y etiquetas En Paso 3 Utilice la consola deCodeDeploy para implementar su servicio Amazon ECS (p 143) implemente la versioacuten actualizada de laaplicacioacuten de Amazon ECS

Para actualizar la definicioacuten de tarea realice el siguiente procedimiento

1 Abra la consola de Amazon ECS en httpsconsoleawsamazoncomecs2 En el panel de navegacioacuten elija Task Definitions3 Seleccione la casilla de verificacioacuten de la definicioacuten de tarea utilizada por el servicio de Amazon ECS4 Elija Create new revision (Crear nueva revisioacuten)

Versioacuten de API 2014-10-06141

AWS CodeDeploy Guiacutea del usuarioPaso 2 Creacioacuten del archivo AppSpec

5 En este tutorial realice una pequentildea actualizacioacuten de la definicioacuten de la tarea antildeadiendo una etiquetaEn la parte inferior de la paacutegina en Tags (Etiquetas) cree una nueva etiqueta escribiendo un nuevopar de clave y valor

6 Elija Create (Crear) Deberiacutea ver que el nuacutemero de revisioacuten de la definicioacuten de la tarea se haincrementado en uno

7 Seleccione la pestantildea JSON Anote lo siguiente ya que necesitaraacute esa informacioacuten en el siguientepaso

bull El valor de taskDefinitionArn Su formato es el siguiente arnawsecsaws-regionaccount-idtask-definitiontask-definition-familytask-definition-revision Este es el ARN de la definicioacuten de tarea actualizada

bull En el elemento containerDefinitions el valor de name Este es el nombre del contenedorbull En el elemento portMappings el valor de containerPort Este es el puerto del contenedor

Paso 2 Creacioacuten del archivo AppSpecEn esta seccioacuten crearaacute su archivo AppSpec y lo cargaraacute en el bucket de Amazon S3 que creoacute enlaRequisitos previos (p 141)seccioacuten El archivo AppSpec de una implementacioacuten de Amazon ECSespecifica la definicioacuten de tarea de el nombre del contenedor y el puerto del contenedor Para obtener maacutesinformacioacuten consulte Ejemplo de archivo AppSpec para una implementacioacuten de Amazon ECS (p 436) ySeccioacuten laquoresourcesraquo de AppSpec para implementaciones de Amazon ECS (p 416)

Para crear su archivo AppSpec

1 Si desea crear su archivo AppSpec mediante YAML cree un archivo denominadoappspecyml Sidesea crear su archivo AppSpec mediante JSON cree un archivo denominadoappspecjson

2 Elija la pestantildea adecuada en funcioacuten de si utiliza YAML o JSON para su archivo AppSpec y copie sucontenido en el archivo AppSpec que acaba de crear Para la propiedad TaskDefinition utiliceel ARN de definicioacuten de tarea que anotoacute en la seccioacuten Paso 1 Actualice la aplicacioacuten de AmazonECS (p 141)

JSON AppSpec

version 00 Resources [ TargetService Type AWSECSService Properties TaskDefinition arnawsecsaws-region-idaws-account-idtask-definitionecs-demo-task-definitionrevision-number LoadBalancerInfo ContainerName your-container-name ContainerPort your-container-port ]

YAML AppSpec

version 00Resources - TargetService

Versioacuten de API 2014-10-06142

AWS CodeDeploy Guiacutea del usuarioPaso 3 Utilice la consola de CodeDeploy

para implementar su servicio Amazon ECS

Type AWSECSService Properties TaskDefinition arnawsecsaws-region-idaws-account-idtask-definitionecs-demo-task-definitionrevision-number LoadBalancerInfo ContainerName your-container-name ContainerPort your-container-port

Note

El conjunto de tareas de sustitucioacuten hereda la subred el grupo de seguridad la versioacutende la plataforma y los valores de IP puacuteblicas asignados del conjunto de tareas originalPuede anular estos valores para el conjunto de tareas de sustitucioacuten estableciendo suspropiedades opcionales en el archivo AppSpec Para obtener maacutes informacioacuten consulte Seccioacuten laquoresourcesraquo de AppSpec para implementaciones de Amazon ECS (p 416) y Ejemplo de archivo AppSpec para una implementacioacuten de Amazon ECS (p 436)

3 Cargue su archivo AppSpec en el bucket de S3 que ha creado como requisito previo para este tutorial

Paso 3 Utilice la consola de CodeDeploy paraimplementar su servicio Amazon ECSEn esta seccioacuten crearaacute una aplicacioacuten de CodeDeploy y un grupo de implementaciones para implementarla aplicacioacuten de Amazon ECS actualizada Durante la implementacioacuten CodeDeploy desviacutea el traacuteficode produccioacuten de la aplicacioacuten de Amazon ECS a su nueva versioacuten en un nuevo conjunto de tareas desustitucioacuten Para completar este ejemplo necesita lo siguiente

bull El nombre del cluacutester de Amazon ECSbull El nombre del servicio de Amazon ECSbull El nombre del Application Load Balancerbull El puerto del agente de escucha de produccioacutenbull Los nombres de grupo de destinobull El nombre del bucket de S3 que creoacute

Para crear una aplicacioacuten CodeDeploy

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

2 Elija Create application3 En Application name (Nombre de aplicacioacuten) escriba ecs-demo-codedeploy-app4 En Compute platform (Plataforma de computacioacuten) elija Amazon ECS5 Elija Create application

Para crear un grupo de implementaciones de CodeDeploy

1 En la pestantildea Deployment groups (Grupos de implementaciones) de la paacutegina de la aplicacioacuten elijaCreate deployment group (Crear grupo de implementaciones)

2 En Deployment group name (Nombre de grupo de implementacioacuten) escriba ecs-demo-dg3 EnRol de servicio elija un rol de servicio que conceda a CodeDeploy acceso a Amazon ECS Para

obtener maacutes informacioacuten consulte Identity and Access Management en AWS CodeDeploy (p 378)4 EnConfiguracioacuten del entorno elija el nombre del cluacutester de Amazon ECS y el nombre del servicio

Versioacuten de API 2014-10-06143

AWS CodeDeploy Guiacutea del usuarioPaso 3 Utilice la consola de CodeDeploy

para implementar su servicio Amazon ECS

5 DesdeBalanceadores de carga elija el nombre del balanceador de carga que sirve el traacutefico a suservicio de Amazon ECS

6 DesdePuerto del agente de escucha de produccioacuten elija el puerto y el protocolo del agente deescucha que sirve el traacutefico de produccioacuten a su servicio de Amazon ECS (por ejemploHTTP 80) Estetutorial no incluye un agente de escucha de prueba opcional por lo que no elija un puerto en Testlistener port (Puerto de agente de escucha de prueba)

7 En Target group 1 name (Nombre de grupo de destino 1) y Target group 2 name (Nombre de grupode destino 2) elija dos grupos de destino diferentes para dirigir el traacutefico durante su implementacioacutenAseguacuterese de que se trata de los grupos de destino que ha creado para el balanceador de carga Noimporta el que se utilice para el grupo de destino 1 y el que se utilice para el grupo de destino 2

8 Elija Reroute traffic immediately (Redirigir el traacutefico de forma inmediata)9 En Original revision termination (Terminacioacuten de revisioacuten original) elija 0 days (0 diacuteas) 0 hours (0

horas) y 5 minutes (5 minutos) Esto le permite ver que la implementacioacuten se completa maacutes raacutepido quesi utiliza el valor predeterminado (1 hora)

Versioacuten de API 2014-10-06144

AWS CodeDeploy Guiacutea del usuarioPaso 3 Utilice la consola de CodeDeploy

para implementar su servicio Amazon ECS

Versioacuten de API 2014-10-06145

AWS CodeDeploy Guiacutea del usuarioPaso 4 Eliminar recursos

10 Elija Create deployment group

Para implementar la aplicacioacuten de Amazon ECS

1 En la paacutegina de la consola del grupo de implementaciones elija Create deployment (Crearimplementacioacuten)

2 En Deployment group (Grupo de implementaciones) elija ecs-demo-dg3 En Revision type (Tipo de revisioacuten) elija My application is stored in Amazon S3 (Mi aplicacioacuten estaacute

almacenada en Amazon S3) En Revision location (Ubicacioacuten de la revisioacuten) escriba el nombre de subucket de S3

4 En Revision file type (Tipo de archivo de revisioacuten) elija json o yaml seguacuten corresponda5 En el cuadro Deployment description (Descripcioacuten de la implementacioacuten) especifique una descripcioacuten

para la implementacioacuten (opcional)6 Elija Create deployment (Crear implementacioacuten)7 En Deployment status (Estado de implementacioacuten) puede monitorizar la implementacioacuten Despueacutes

de que el 100 del traacutefico de produccioacuten se dirija al conjunto de tareas de sustitucioacuten y antes deque transcurra el tiempo de espera de cinco minutos puede elegirFinalizar conjunto de tareasoriginalPara terminar inmediatamente el conjunto de tareas original Si no elige Terminate originaltask set (Terminar conjunto de tareas original) el conjunto de tareas original termina despueacutes de quetranscurra el tiempo de espera de cinco minutos especificado

Paso 4 Eliminar recursosEl proacuteximo tutorialTutorial Implementacioacuten de un servicio Amazon ECS con una prueba devalidacioacuten (p 147) se basa en este tutorial y utiliza la aplicacioacuten de CodeDeploy y el grupo deimplementaciones de que ha creado Si desea seguir los pasos de ese tutorial omita este paso y noelimine los recursos que ha creado

Versioacuten de API 2014-10-06146

AWS CodeDeploy Guiacutea del usuarioTutorial Implementacioacuten de un servicio

Amazon ECS con una prueba de validacioacuten

Note

SusAWSLa cuenta de no genera gastos por los recursos de CodeDeploy que ha creado

Los nombres de recursos de estos pasos son los nombres sugeridos en este tutorial (por ejemploecs-demo-codedeploy-apppara obtener el nombre de la aplicacioacuten de CodeDeploy) Si utilizoacute nombresdiferentes aseguacuterese de usarlos en el borrado

1 Utilice el comando delete-deployment-group para eliminar el grupo de implementacioacuten deCodeDeploy

aws deploy delete-deployment-group --application-name ecs-demo-codedeploy-app --deployment-group-name ecs-demo-dg --region aws-region-id

2 Utilice el comando delete-application para eliminar la aplicacioacuten de CodeDeploy

aws deploy delete-application --application-name ecs-demo-codedeploy-app --region aws-region-id

Tutorial Implementacioacuten de un servicio AmazonECS con una prueba de validacioacuten

En este tutorial aprenderaacute a utilizar una funcioacuten de Lambda para validar parte de la implementacioacuten deuna aplicacioacuten de Amazon ECS de actualizada En este tutorial se utiliza la aplicacioacuten de CodeDeployel grupo de implementaciones de CodeDeploy y la aplicacioacuten de Amazon ECS de que utilizoacute enTutorialImplementar un servicio de Amazon ECS (p 139) Complete ese tutorial antes de comenzar este

Para antildeadir una prueba de validacioacuten primero debe implementar la prueba en una funcioacuten LambdaA continuacioacuten en el archivo AppSpec de implementacioacuten debe especificar la funcioacuten Lambda parael enlace de ciclo de vida que desee probar Si se produce un error en una prueba de validacioacuten laimplementacioacuten se detiene se revisa y se marca como erroacutenea Si la prueba se realiza correctamente laimplementacioacuten continuacutea con el siguiente evento o enlace del ciclo de vida de la implementacioacuten

Durante una implementacioacuten de Amazon ECS con pruebas de validacioacuten CodeDeploy utiliza unbalanceador de carga configurado con dos grupos de destino un agente de escucha de traacutefico deproduccioacuten y un agente de escucha de traacutefico de prueba En el siguiente diagrama se muestra coacutemo estaacutenrelacionados el balanceador de carga los agentes de escucha de produccioacuten y prueba los grupos dedestino y la aplicacioacuten de Amazon ECS antes de que comience la implementacioacuten En este tutorial seutiliza un balanceador de carga de aplicaciones Tambieacuten puede utilizar un Network Load Balancer

Versioacuten de API 2014-10-06147

AWS CodeDeploy Guiacutea del usuarioTutorial Implementacioacuten de un servicio

Amazon ECS con una prueba de validacioacuten

Durante una implementacioacuten de Amazon ECS existen cinco enlaces de ciclo de vida para pruebas Eneste tutorial se implementa una prueba durante el tercer enlace de implementacioacuten de ciclo de vidaAfterAllowTestTraffic Para obtener maacutes informacioacuten consulte Lista de ganchos de eventos delciclo de vida de una implementacioacuten de Amazon ECS (p 423) Despueacutes de una implementacioacuten correctael agente de escucha de traacutefico de produccioacuten ofrece el traacutefico al nuevo conjunto de tareas de sustitucioacuteny se termina el conjunto de tareas original En el siguiente diagrama se muestra coacutemo estaacuten relacionadoslos recursos despueacutes de una implementacioacuten correcta Para obtener maacutes informacioacuten consulte Queacute ocurredurante una implementacioacuten de Amazon ECS (p 22)

Note

El uso de este tutorial puede producir cargos en su cuenta de AWS Entre ellos se incluyenposibles cargos por CodeDeployAWS Lambday CloudWatch Para obtener maacutes informacioacutenconsulteAWS CodeDeployde IPAMAWS Lambdade IPAM yPrecios de Amazon CloudWatch

Temasbull Requisitos previos (p 149)bull Paso 1 Crear un agente de escucha de prueba (p 149)bull Paso 2 Actualice la aplicacioacuten de Amazon ECS (p 149)

Versioacuten de API 2014-10-06148

AWS CodeDeploy Guiacutea del usuarioRequisitos previos

bull Paso 3 Crear una funcioacuten Lambda de enlace de ciclo de vida (p 150)bull Paso 4 Actualice el archivo AppSpec (p 151)bull Paso 5 Utilice la consola de CodeDeploy para implementar su servicio Amazon ECS (p 153)bull Paso 6 Visualice la salida de la funcioacuten de enlace de Lambda en CloudWatch Logs (p 154)bull Paso 7 Eliminar recursos (p 155)

Requisitos previosPara completar correctamente este tutorial primero debe realizar el siguiente procedimiento

bull Cumpla los requisitos previos de Requisitos previos (p 141) para Tutorial Implementar un servicio deAmazon ECS (p 139)

bull Realice los pasos que se indican en Tutorial Implementar un servicio de Amazon ECS (p 139) Anotelo siguientebull Nombre del balanceador de cargabull Los nombres de los grupos de destinobull El puerto utilizado por el agente de escucha del balanceador de cargabull El ARN del balanceador de carga Puede utilizarlo para crear un nuevo agente de escuchabull El ARN de uno de los grupos de destino Puede utilizarlo para crear un nuevo agente de escuchabull La aplicacioacuten CodeDeploy y el grupo de implementacioacuten que creebull El archivo de AppSpec que crea que utiliza la implementacioacuten de CodeDeploy Puede editar este

archivo en este tutorial

Paso 1 Crear un agente de escucha de pruebaUna implementacioacuten de Amazon ECS con pruebas de validacioacuten requiere un segundo agente deescucha Este agente de escucha se utiliza para servir traacutefico de prueba en la aplicacioacuten de Amazon ECSactualizada en un conjunto de tareas de sustitucioacuten Las pruebas de validacioacuten se ejecutan en el traacutefico deprueba

El agente de escucha del traacutefico de prueba puede utilizar cualquiera de los grupos de destino Usarcreate-agente de escucha AWS CLIpara crear un segundo agente de escucha con una regla predeterminada quereenviacutee el traacutefico de prueba al puerto 8080 Utilice el ARN del balanceador de carga y el ARN de uno de losgrupos de destino

aws elbv2 create-listener --load-balancer-arn your-load-balancer-arn --protocol HTTP --port 8080 --default-actions Type=forwardTargetGroupArn=your-target-group-arn --region your-aws-region

Paso 2 Actualice la aplicacioacuten de Amazon ECSEn esta seccioacuten actualizaraacute la aplicacioacuten de Amazon ECS para que utilice una nueva revisioacuten de sudefinicioacuten de tarea Puede crear la nueva revisioacuten y antildeadirle una actualizacioacuten secundaria antildeadiendo unaetiqueta

Para actualizar la definicioacuten de tarea realice el siguiente procedimiento

1 Abra la consola de Amazon ECS en httpsconsoleawsamazoncomecs2 En el panel de navegacioacuten elija Task Definitions

Versioacuten de API 2014-10-06149

AWS CodeDeploy Guiacutea del usuarioPaso 3 Crear una funcioacuten

Lambda de enlace de ciclo de vida

3 Seleccione la casilla de verificacioacuten de la definicioacuten de tarea utilizada por el servicio de Amazon ECS4 Elija Create new revision (Crear nueva revisioacuten)5 Realice una pequentildea actualizacioacuten de la definicioacuten de la tarea antildeadiendo una etiqueta En la parte

inferior de la paacutegina en Tags (Etiquetas) cree una nueva etiqueta escribiendo un nuevo par de clave yvalor

6 Elija Create (Crear) Deberiacutea ver que el nuacutemero de revisioacuten de la definicioacuten de la tarea se haincrementado en uno

7 Seleccione la pestantildea JSON Anote el valor de taskDefinitionArn Su formato es el siguientearnawsecsaws-region account-idtask-definitiontask-definition-familytask-definition-revision Este es el ARN de la definicioacuten de tarea actualizada

Paso 3 Crear una funcioacuten Lambda de enlace de ciclode vidaEn esta seccioacuten implementaraacute una funcioacuten Lambda para la implementacioacuten de AmazonECSAfterAllowTestTrafficenlace La funcioacuten Lambda ejecuta una prueba de validacioacutenantes de instalar la aplicacioacuten de Amazon ECS actualizada En este tutorial la funcioacuten LambdadevuelveSucceeded Durante una implementacioacuten real las pruebas de validacioacuten devuelvenSucceeded o Failed en funcioacuten del resultado de la prueba de validacioacuten Tambieacuten durante unaimplementacioacuten real puede implementar una funcioacuten de prueba de Lambda para uno o variosde los demaacutes enlaces de eventos del ciclo de vida de la implementacioacuten de Amazon ECS de(BeforeInstallAfterInstallBeforeAllowTraffic yAfterAllowTraffic) Para obtener maacutesinformacioacuten consulte Lista de ganchos de eventos del ciclo de vida de una implementacioacuten de AmazonECS (p 423)

Se requiere un rol de IAM para crear la funcioacuten de Lambda El rol concede a la funcioacuten de Lambda permisopara escribir en CloudWatch Logs y establecer el estado de un enlace de ciclo de vida de CodeDeploy

Para crear un rol de IAM

1 Abra la consola de IAM en httpsconsoleawsamazoncomiam2 En el panel de navegacioacuten seleccione Roles y a continuacioacuten Create role (Crear rol)3 Cree un rol con las propiedades siguientes

bull Trusted entity (Entidad de confianza) AWS Lambdabull Permisos AWSLambdaBasicExecutionRole Esto concede a la funcioacuten de Lambda permiso para

escribir en CloudWatch Logsbull Role name (Nombre de rol) lambda-cli-hook-role

Para obtener maacutes informacioacuten consulteCreacioacuten de unAWS LambdaRol de ejecucioacuten de4 Asocie el permiso codedeployPutLifecycleEventHookExecutionStatus al rol que ha

creado Esto concede a las funciones de Lambda permiso para establecer el estado de un enlacede ciclo de vida de CodeDeploy durante una implementacioacuten Para obtener maacutes informacioacutenconsulteAdicioacuten de permisos de identidad de IAMen laAWS Identity and Access ManagementGuiacutea delusuario deyPutLifecycleEventHookExecutionStatusen laReferencia de la API CodeDeploy

Para crear unAfterAllowTestTrafficFuncioacuten de enlace Lambda

1 Cree un archivo denominado AfterAllowTestTrafficjs con el siguiente contenido

use strict

Versioacuten de API 2014-10-06150

AWS CodeDeploy Guiacutea del usuarioPaso 4 Actualice el archivo AppSpec

const AWS = require(aws-sdk) const codedeploy = new AWSCodeDeploy(apiVersion 2014-10-06) exportshandler = (event context callback) =gt consolelog(Entering AfterAllowTestTraffic hook) Read the DeploymentId and LifecycleEventHookExecutionId from the event payload var deploymentId = eventDeploymentId var lifecycleEventHookExecutionId = eventLifecycleEventHookExecutionId var validationTestResult = Failed Perform AfterAllowTestTraffic validation tests here Set the test result to Succeeded for this tutorial consolelog(This is where AfterAllowTestTraffic validation tests happen) validationTestResult = Succeeded Complete the AfterAllowTestTraffic hook by sending CodeDeploy the validation status var params = deploymentId deploymentId lifecycleEventHookExecutionId lifecycleEventHookExecutionId status validationTestResult status can be Succeeded or Failed Pass CodeDeploy the prepared validation test results codedeployputLifecycleEventHookExecutionStatus(params function(err data) if (err) Validation failed consolelog(AfterAllowTestTraffic validation tests failed) consolelog(err errstack) callback(CodeDeploy Status update failed) else Validation succeeded consolelog(AfterAllowTestTraffic validation tests succeeded) callback(null AfterAllowTestTraffic validation tests succeeded) )

2 Cree un paquete de implementacioacuten de Lambda

zip AfterAllowTestTrafficzip AfterAllowTestTrafficjs

3 Usarcreate-functionpara crear una funcioacuten Lambda para suAfterAllowTestTrafficenlace

aws lambda create-function --function-name AfterAllowTestTraffic --zip-file filebAfterAllowTestTrafficzip --handler AfterAllowTestTraffichandler --runtime nodejs10x --role arnawsiamaws-account-idrolelambda-cli-hook-role

4 Anote el ARN de la funcioacuten de Lambda en lacreate-functionrespuesta Utilice este ARN cuandoactualice en el archivo AppSpec de la implementacioacuten de CodeDeploy en el siguiente paso

Paso 4 Actualice el archivo AppSpecEn esta seccioacuten actualizaraacute el archivo AppSpec con unHooksseccioacuten En el navegadorHooks debeespecificar una funcioacuten Lambda para laAfterAllowTestTrafficenlace de ciclo de vida

Versioacuten de API 2014-10-06151

AWS CodeDeploy Guiacutea del usuarioPaso 4 Actualice el archivo AppSpec

Para actualizar el archivo AppSpec

1 Abra el archivo de archivo AppSpec que creoacute en Paso 2 Creacioacuten del archivo AppSpec (p 142)delTutorial Implementar un servicio de Amazon ECS (p 139)

2 Actualice la propiedad TaskDefinition con el ARN de definicioacuten de tarea que anotoacute en Paso 2Actualice la aplicacioacuten de Amazon ECS (p 149)

3 Copie y pegue elHooksen el archivo de archivo de AppSpec Actualizar el ARNdespueacutesAfterAllowTestTrafficcon el ARN de la funcioacuten Lambda que anotoacute enPaso 3 Crear unafuncioacuten Lambda de enlace de ciclo de vida (p 150)

JSON AppSpec

version 00 Resources [ TargetService Type AWSECSService Properties TaskDefinition arnawsecsaws-region-idaws-account-idtask-definitionecs-demo-task-definitionrevision-number LoadBalancerInfo ContainerName sample-website ContainerPort 80 ] Hooks [ AfterAllowTestTraffic arnawslambdaaws-region-idaws-account-idfunctionAfterAllowTestTraffic ]

YAML AppSpec

version 00Resources - TargetService Type AWSECSService Properties TaskDefinition arnawsecsaws-region-idaws-account-idtask-definitionecs-demo-task-definitionrevision-number LoadBalancerInfo ContainerName sample-website ContainerPort 80Hooks - AfterAllowTestTraffic arnawslambdaaws-region-idaws-account-idfunctionAfterAllowTestTraffic

4 Guarde el archivo AppSpec y caacuterguelo en su bucket de S3

Versioacuten de API 2014-10-06152

AWS CodeDeploy Guiacutea del usuarioPaso 5 Utilice la consola de CodeDeploy

para implementar su servicio Amazon ECS

Paso 5 Utilice la consola de CodeDeploy paraimplementar su servicio Amazon ECSEn esta seccioacuten debe actualizar el grupo de implementaciones especificando el puerto para el agentede escucha de prueba Este es el agente de escucha que creoacute en Paso 1 Crear un agente de escuchade prueba (p 149) Durante la implementacioacuten CodeDeploy ejecuta la prueba de validacioacuten duranteelAfterAllowTestTrafficenlace de ciclo de vida de la implementacioacuten mediante el traacutefico de pruebaservido al conjunto de tareas de sustitucioacuten mediante el agente de escucha de prueba La prueba devalidacioacuten devuelve el resultado Succeeded por lo que la implementacioacuten avanza con el siguiente eventodel ciclo de vida de la implementacioacuten En un escenario real la funcioacuten de prueba devuelve Succeeded oFailed

Para antildeadir un agente de escucha de prueba a su grupo de implementaciones realice el siguienteprocedimiento

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

2 En el panel de navegacioacuten elija Applications (Aplicaciones)3 Elija la aplicacioacuten que ha creado en Tutorial Implementar un servicio de Amazon ECS (p 139) Si

utilizoacute el nombre sugerido es ecs-demo-codedeploy-app4 En Deployment groups (Grupos de implementaciones) elija el grupo de implementaciones que creoacute

en Tutorial Implementar un servicio de Amazon ECS (p 139) Si utilizoacute el nombre recomendado esecs-demo-dg

5 Elija Edit (Editar)6 En Test listener port (Puerto de agente de escucha de prueba) elija el puerto y el protocolo del agente

de escucha de prueba que creoacute anteriormente en este tutorial Esto deberiacutea serHTTP 80807 Elija Save changes (Guardar cambios)

Para implementar la aplicacioacuten de Amazon ECS

1 En la paacutegina de la consola del grupo de implementaciones elija Create deployment (Crearimplementacioacuten)

2 En Deployment group (Grupo de implementaciones) elija ecs-demo-dg3 En Revision type (Tipo de revisioacuten) elija My application is stored in Amazon S3 (Mi aplicacioacuten estaacute

almacenada en Amazon S3) EnUbicacioacuten de la revisioacutenEspecifique el nombre de su bucket de S3 ydel archivo AppSpec (por ejemplos3my-s3-bucketappspecjson)

4 En Revision file type (Tipo de archivo de revisioacuten) elija json o yaml seguacuten corresponda5 En el cuadro Deployment description (Descripcioacuten de la implementacioacuten) especifique una descripcioacuten

para la implementacioacuten (opcional)6 Elija Create deployment (Crear implementacioacuten)

Puede monitorizar la implementacioacuten en Deployment status (Estado de implementacioacuten) Despueacutes deque el 100 del traacutefico de produccioacuten se dirija al conjunto de tareas de sustitucioacuten puede elegirFinalizarconjunto de tareas originalPara terminar inmediatamente el conjunto de tareas original Si no eligeTerminate original task set (Terminar conjunto de tareas original) el conjunto de tareas original terminadespueacutes de la duracioacuten especificada al crear el grupo de implementaciones

Versioacuten de API 2014-10-06153

AWS CodeDeploy Guiacutea del usuarioPaso 6 Visualice la salida de la funcioacuten de

enlace de Lambda en CloudWatch Logs

Paso 6 Visualice la salida de la funcioacuten de enlace deLambda en CloudWatch LogsSi la implementacioacuten de CodeDeploy se realiza correctamente las pruebas de validacioacuten de las funcionesde enlace de Lambda tambieacuten se realizan correctamente Puede confirmarlo consultando el registro de lafuncioacuten de enlace de en CloudWatch Logs

1 Abra la consola de CloudWatch en httpsconsoleawsamazoncomcloudwatch2 En el panel de navegacioacuten elija Logs (Registros) Deberiacutea ver un nuevo grupo de registros para la

funcioacuten de enlace de Lambda que especificoacute en el archivo AppSpec

3 Elija el nuevo grupo de registros Debe ser awslambdaAfterAllowTestTrafficHook4 Elija el flujo de registros Si ve maacutes de un flujo de registros elija el que tenga la fecha y la hora maacutes

recientes en Last Event Time (Hora del uacuteltimo evento)5 Expanda los eventos de la secuencia de registros para confirmar que la funcioacuten de enlace de Lambda

escribioacute mensajes de eacutexito en el registro El ejemplo siguiente muestra laAfterAllowTrafficLafuncioacuten de enlace de Lambda fue exitosa

Versioacuten de API 2014-10-06154

AWS CodeDeploy Guiacutea del usuarioPaso 7 Eliminar recursos

Paso 7 Eliminar recursosCuando termine este tutorial debe limpiar los recursos asociados para evitar incurrir en cargos porrecursos que no estaacute utilizando Los nombres de recursos de este paso son los nombres sugeridos en estetutorial (por ejemploecs-demo-codedeploy-apppara el nombre de la aplicacioacuten CodeDeploy) Si utilizoacutenombres diferentes aseguacuterese de usarlos en el borrado

Para borrar los recursos del tutorial realice el siguiente procedimiento

1 Utilice el comando delete-deployment-group para eliminar el grupo de implementacioacuten deCodeDeploy

aws deploy delete-deployment-group --application-name ecs-demo-deployment-group --deployment-group-name ecs-demo-dg --region aws-region-id

2 Utilice el comando delete-application para eliminar la aplicacioacuten de CodeDeploy

aws deploy delete-application --application-name ecs-demo-deployment-group --region aws-region-id

3 Usardelete-functionpara eliminar la funcioacuten de enlace de Lambda

aws lambda delete-function --function-name AfterAllowTestTraffic

4 Usardelete-log-grouppara eliminar el grupo de registros de CloudWatch

aws logs delete-log-group --log-group-name awslambdaAfterAllowTestTraffic

Versioacuten de API 2014-10-06155

AWS CodeDeploy Guiacutea del usuarioTutorial Implemente una funcioacuten

Lambda medianteAWSSAM

Tutorial Implementar una funcioacuten Lambdaactualizada con CodeDeploy y laAWSModelo deaplicacioacuten sin servidor de

AWSSAM es un marco de coacutedigo abierto para crear aplicaciones sin servidor Transforma y ampliacutea lasintaxis YAML en unAWS SAMplantilla enAWS CloudFormationpara crear aplicaciones sin servidor comouna funcioacuten Lambda Para obtener maacutes informacioacuten consulteiquestQueacute es AWSiquestModelo de aplicacioacuten sinservidor de

En este tutorial utilizaraacuteAWSSAM para crear una solucioacuten que realizaraacute los siguientes procedimientos

bull Crea la funcioacuten de Lambdabull Crea la aplicacioacuten CodeDeploy y el grupo de implementacionesbull Crea dos funciones Lambda que ejecutan pruebas de validacioacuten de la implementacioacuten durante los

enlaces de ciclo de vida de CodeDeploybull Detecta cuaacutendo se actualiza la funcioacuten Lambda La actualizacioacuten de la funcioacuten Lambda activa una

implementacioacuten de CodeDeploy que desviacutea de forma incremental el traacutefico de produccioacuten de la versioacutenoriginal de la funcioacuten de Lambda a la versioacuten actualizada

Note

Este tutorial requiere que cree recursos de que podriacutean dar lugar a cargos en su cuenta de AWSEstos incluyen posibles cargos por CodeDeploy Amazon CloudWatch yAWS Lambda Paraobtener maacutes informacioacuten consultePrecios de CodeDeployPrecios de Amazon CloudWatchyAWS Lambdade IPAM

Temasbull Requisitos previos (p 156)bull Paso 1 Configurar la infraestructura (p 156)bull Paso 2 Actualizacioacuten de la funcioacuten Lambda (p 167)bull Paso 3 Implemente la funcioacuten de Lambda actualizada (p 168)bull Paso 4 Consulte los resultados de la implementacioacuten (p 171)bull Paso 5 Eliminar recursos (p 173)

Requisitos previosPara completar este tutorial primero debe realizar el siguiente procedimiento

bull Realice los pasos que se indican en Introduccioacuten a CodeDeploy (p 35)bull Instale la CLI de AWS Serverless Application Model Para obtener informacioacuten consulteInstalacioacuten

delAWSCLIP DE SAMbull Cree un bucket de S3AWS SAM carga los artefactos a los que se hace referencia en suAWSSAM

template (Plantilla de SAM)en este cubo

Paso 1 Configurar la infraestructuraEn este tema se muestra coacutemo utilizarAWS SAMpara crear archivos para suAWS SAMplantilla yfunciones Lambda A continuacioacuten utilice los comandos AWS SAM package y deploy para generar

Versioacuten de API 2014-10-06156

AWS CodeDeploy Guiacutea del usuarioPaso 1 Configurar la infraestructura

los componentes en su infraestructura Cuando la infraestructura esteacute lista dispondraacute de una aplicacioacutenCodeDeploy y un grupo de implementaciones la funcioacuten Lambda que se va a actualizar e implementary dos funciones Lambda que contienen pruebas de validacioacuten que se ejecutan al implementar la funcioacutenLambda Cuando haya terminado puede utilizarAWS CloudFormationpara ver los componentes y laconsola Lambda o laAWS CLIPara probar la funcioacuten de Lambda

Temasbull Creacioacuten de archivos (p 157)bull Empaque elAWSAplicacioacuten SAM (p 164)bull Implementar elAWSAplicacioacuten SAM (p 165)bull (Opcional) inspeccionar y probar su infraestructura (p 165)

Creacioacuten de archivosPara crear su infraestructura debe crear los siguientes archivos

bull templateyml

bull myDateTimeFunctionjs

bull beforeAllowTrafficjs

bull afterAllowTrafficjs

Temasbull Cree suAWSSAM template (Plantilla de SAM) (p 157)bull Creacioacuten de un archivo para la funcioacuten de Lambda (p 160)bull Cree un archivo para su funcioacuten BeforeAllowTraffic Lambda (p 162)bull Cree un archivo para la funcioacuten AfterAllowTraffic Lambda (p 163)

Cree suAWSSAM template (Plantilla de SAM)Creacioacuten de unAWSArchivo de plantilla SAM que especifica los componentes de la infraestructura

Para crear su realice el siguiente procedimientoAWSSAM template (Plantilla de SAM)

1 Cree un directorio llamado SAM-Tutorial2 En el directorio SAM-Tutorial cree un archivo denominado templateyml3 Copie el coacutedigo YAML siguiente en templateyml Esta es la plantilla de AWS SAM

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Description A sample SAM template for deploying Lambda functions

Resources Details about the myDateTimeFunction Lambda function myDateTimeFunction Type AWSServerlessFunction Properties Handler myDateTimeFunctionhandler Runtime nodejs10x Instructs your myDateTimeFunction is published to an alias named live AutoPublishAlias live Grants this function permission to call lambdaInvokeFunction Policies - Version 2012-10-17 Statement

Versioacuten de API 2014-10-06157

AWS CodeDeploy Guiacutea del usuarioPaso 1 Configurar la infraestructura

- Effect Allow Action - lambdaInvokeFunction Resource DeploymentPreference Specifies the deployment configuration Type Linear10PercentEvery1Minute Specifies Lambda functions for deployment lifecycle hooks Hooks PreTraffic Ref beforeAllowTraffic PostTraffic Ref afterAllowTraffic Specifies the BeforeAllowTraffic lifecycle hook Lambda function beforeAllowTraffic Type AWSServerlessFunction Properties Handler beforeAllowTraffichandler Policies - Version 2012-10-17 Grants this function permission to call codedeployPutLifecycleEventHookExecutionStatus Statement - Effect Allow Action - codedeployPutLifecycleEventHookExecutionStatus Resource Sub arnawscodedeploy$AWSRegion$AWSAccountIddeploymentgroup$ServerlessDeploymentApplication - Version 2012-10-17 Grants this function permission to call lambdaInvokeFunction Statement - Effect Allow Action - lambdaInvokeFunction Resource Ref myDateTimeFunctionVersion Runtime nodejs10x Specifies the name of the Lambda hook function FunctionName CodeDeployHook_beforeAllowTraffic DeploymentPreference Enabled false Timeout 5 Environment Variables NewVersion Ref myDateTimeFunctionVersion Specifies the AfterAllowTraffic lifecycle hook Lambda function afterAllowTraffic Type AWSServerlessFunction Properties Handler afterAllowTraffichandler Policies - Version 2012-10-17 Statement Grants this function permission to call codedeployPutLifecycleEventHookExecutionStatus - Effect Allow Action - codedeployPutLifecycleEventHookExecutionStatus Resource Sub arnawscodedeploy$AWSRegion$AWSAccountIddeploymentgroup$ServerlessDeploymentApplication - Version 2012-10-17 Statement Grants this function permission to call lambdaInvokeFunction - Effect Allow Action

Versioacuten de API 2014-10-06158

AWS CodeDeploy Guiacutea del usuarioPaso 1 Configurar la infraestructura

- lambdaInvokeFunction Resource Ref myDateTimeFunctionVersion Runtime nodejs10x Specifies the name of the Lambda hook function FunctionName CodeDeployHook_afterAllowTraffic DeploymentPreference Enabled false Timeout 5 Environment Variables NewVersion Ref myDateTimeFunctionVersion

Esta plantilla especifica lo siguiente Para obtener maacutes informacioacuten consulteAWS SAMconceptos deplantilla

Una funcioacuten Lambda llamadamyDateTimeFunction

Cuando se publica esta funcioacuten Lambda elAutoPublishAliasliacutenea de la plantilla la vincula a unalias denominadolive Maacutes adelante en este tutorial una actualizacioacuten de esta funcioacuten desencadenauna implementacioacuten de AWS CodeDeploy que desviacutea gradualmente el traacutefico de produccioacuten de laversioacuten original a la versioacuten actualizada

Dos funciones de validacioacuten de implementacioacuten Lambda

Las siguientes funciones Lambda se ejecutan durante los enlaces de ciclo de vida de CodeDeployLas funciones contienen coacutedigo que valida la implementacioacuten de myDateTimeFunctionactualizado El resultado de las pruebas de validacioacuten se transfiere a CodeDeploy utilizandosuPutLifecycleEventHookExecutionStatusMeacutetodo de API Si la prueba de validacioacuten falla seproduce un error en la implementacioacuten y se revisabull CodeDeployHook_beforeAllowTraffic se ejecuta durante el enlace deBeforeAllowTraffic

bull CodeDeployHook_afterAllowTraffic se ejecuta durante el enlace de AfterAllowTraffic

El nombre de ambas funciones comienza por CodeDeployHook_LaCodeDeployRoleForLambdapermite llamadas al Lambdainvokemeacutetodo de soloen funciones Lambda con nombres que comienzan con este prefijo Para obtener maacutesinformacioacuten consulteSeccioacuten hooks de AppSpec para unAWSImplementacioacuten deLambda (p 426)yPutLifecycleEventHookExecutionStatusen laReferencia de la API CodeDeploy

Deteccioacuten automaacutetica de una funcioacuten de Lambda actualizada

El teacutermino AutoPublishAlias indica al marco de trabajo que detecte cuaacutendo cambia la funcioacuten demyDateTimeFunction y a continuacioacuten la implementa con el alias live

Una configuracioacuten de implementacioacuten

La configuracioacuten de implementacioacuten determina la velocidad a la que la aplicacioacuten CodeDeploy cambiael traacutefico de la versioacuten original de la funcioacuten de Lambda a la nueva versioacuten Esta plantilla especifica laconfiguracioacuten de implementacioacuten predefinida Linear10PercentEvery1Minute

Note

No puede especificar una configuracioacuten de implementacioacuten personalizada enunAWSPlantilla de SAM Para obtener maacutes informacioacuten consulte Create a DeploymentConfiguration (p 269)

Funciones de enlace de ciclo de vida de implementacioacuten

La seccioacuten Hooks especifica las funciones que se van a ejecutar durante los enlaces deeventos del ciclo de vida PreTraffic especifica la funcioacuten que se ejecuta durante el enlaceBeforeAllowTraffic PostTraffic especifica la funcioacuten que se ejecuta durante el enlaceAfterAllowTraffic

Versioacuten de API 2014-10-06159

AWS CodeDeploy Guiacutea del usuarioPaso 1 Configurar la infraestructura

Permisos para que Lambda invoque otra funcioacuten Lambda

El especificadolambdaInvokeFunctionel permiso concede al rol utilizado porelAWSPermiso de aplicacioacuten SAM para invocar una funcioacuten Lambda Esto es obligatorio cuandolaCodeDeployHook_beforeAllowTrafficyCodeDeployHook_afterAllowTrafficinvocan lafuncioacuten Lambda implementada durante las pruebas de validacioacuten

Creacioacuten de un archivo para la funcioacuten de LambdaCree el archivo para la funcioacuten que actualizaraacute e implementaraacute maacutes adelante en este tutorial

Note

Una funcioacuten Lambda puede utilizar cualquier tiempo de ejecucioacuten admitido porAWS Lambda Paraobtener maacutes informacioacuten consulte Tiempos de ejecucioacuten de AWS Lambda

Para crear la funcioacuten de Lambda

1 Cree un archivo de texto y guaacuterdelo como myDateTimeFunctionjs en el directorio SAM-Tutorial

2 Copie el siguiente coacutedigo Nodejs en myDateTimeFunctionjs

use strict exportshandler = function(event context callback) if (eventbody) event = JSONparse(eventbody) var sc Status code var result = Response payload switch(eventoption) case date switch(eventperiod) case yesterday result = setDateResult(yesterday) sc = 200 break case today result = setDateResult() sc = 200 break case tomorrow result = setDateResult(tomorrow) sc = 200 break default result = error Must specify yesterday today or tomorrow sc = 400 break break Later in this tutorial you update this function by uncommenting this section The framework created by AWS SAM detects the update and triggers a deployment by CodeDeploy The deployment shifts production traffic to the updated version of this function

Versioacuten de API 2014-10-06160

AWS CodeDeploy Guiacutea del usuarioPaso 1 Configurar la infraestructura

case time var d = new Date() var h = dgetHours() var mi = dgetMinutes() var s = dgetSeconds() result = hour h minute mi second s sc = 200 break default result = error Must specify date or time sc = 400 break const response = statusCode sc headers Content-type applicationjson body JSONstringify( result ) callback(null response) function setDateResult(option) var d = new Date() Today var mo Month var da Day var y Year switch(option) case yesterday dsetDate(dgetDate() - 1) break case tomorrow dsetDate(dgetDate() + 1) default break mo = dgetMonth() + 1 Months are zero offset (0-11) da = dgetDate() y = dgetFullYear() result = month mo day da year y return result

La funcioacuten Lambda devuelve el diacutea el mes y el antildeo de ayer hoy o mantildeana Maacutes adelante en este tutorialquite el comentario del coacutedigo que actualiza la funcioacuten para devolver informacioacuten sobre el diacutea o la hora que

Versioacuten de API 2014-10-06161

AWS CodeDeploy Guiacutea del usuarioPaso 1 Configurar la infraestructura

especifique (por ejemplo el diacutea el mes y el antildeo o la hora minuto y segundo actuales) El marco de trabajocreado por AWS SAM detecta e implementa la versioacuten actualizada de la funcioacuten

Note

Esta funcioacuten Lambda tambieacuten se utiliza en unAWS Cloud9Hello WorldAWS Cloud9es unentorno de desarrollo integrado basado en la nube Para obtener informacioacuten sobre coacutemo crearejecutar actualizar y depurar esta funcioacuten enAWS Cloud9consulteAWS Lambdatutorial paraAWSCloud9

Cree un archivo para su funcioacuten BeforeAllowTraffic Lambda

Cree el archivo para subeforeAllowTrafficgancho funcioacuten Lambda

1 Cree un archivo de texto y guaacuterdelo como beforeAllowTrafficjs en el directorio SAM-Tutorial

2 Copie el siguiente coacutedigo Nodejs en beforeAllowTrafficjs Esta funcioacuten se ejecuta durante elenlace BeforeAllowTraffic de la implementacioacuten

use strict const AWS = require(aws-sdk) const codedeploy = new AWSCodeDeploy(apiVersion 2014-10-06) var lambda = new AWSLambda() exportshandler = (event context callback) =gt consolelog(Entering PreTraffic Hook) Read the DeploymentId and LifecycleEventHookExecutionId from the event payload var deploymentId = eventDeploymentId var lifecycleEventHookExecutionId = eventLifecycleEventHookExecutionId var functionToTest = processenvNewVersion consolelog(BeforeAllowTraffic hook tests started) consolelog(Testing new function version + functionToTest) Create parameters to pass to the updated Lambda function that include the newly added time option If the function did not update then the time option is invalid and function returns a statusCode of 400 indicating it failed var lambdaParams = FunctionName functionToTest Payload option time InvocationType RequestResponse var lambdaResult = Failed Invoke the updated Lambda function lambdainvoke(lambdaParams function(err data) if (err) an error occurred consolelog(err errstack) lambdaResult = Failed else successful response var result = JSONparse(dataPayload) consolelog(Result + JSONstringify(result)) consolelog(statusCode + resultstatusCode) Check if the status code returned by the updated function is 400 If it is then it failed If is not then it succeeded if (resultstatusCode = 400)

Versioacuten de API 2014-10-06162

AWS CodeDeploy Guiacutea del usuarioPaso 1 Configurar la infraestructura

consolelog(Validation succeeded) lambdaResult = Succeeded else consolelog(Validation failed) Complete the PreTraffic Hook by sending CodeDeploy the validation status var params = deploymentId deploymentId lifecycleEventHookExecutionId lifecycleEventHookExecutionId status lambdaResult status can be Succeeded or Failed Pass CodeDeploy the prepared validation test results codedeployputLifecycleEventHookExecutionStatus(params function(err data) if (err) Validation failed consolelog(CodeDeploy Status update failed) consolelog(err errstack) callback(CodeDeploy Status update failed) else Validation succeeded consolelog(CodeDeploy status updated successfully) callback(null CodeDeploy status updated successfully) ) )

Cree un archivo para la funcioacuten AfterAllowTraffic Lambda

Cree el archivo para suafterAllowTrafficgancho funcioacuten Lambda

1 Cree un archivo de texto y guaacuterdelo como afterAllowTrafficjs en el directorio SAM-Tutorial2 Copie el siguiente coacutedigo Nodejs en afterAllowTrafficjs Esta funcioacuten se ejecuta durante el

enlace AfterAllowTraffic de la implementacioacuten

use strict const AWS = require(aws-sdk) const codedeploy = new AWSCodeDeploy(apiVersion 2014-10-06) var lambda = new AWSLambda() exportshandler = (event context callback) =gt consolelog(Entering PostTraffic Hook) Read the DeploymentId and LifecycleEventHookExecutionId from the event payload var deploymentId = eventDeploymentId var lifecycleEventHookExecutionId = eventLifecycleEventHookExecutionId var functionToTest = processenvNewVersion consolelog(AfterAllowTraffic hook tests started) consolelog(Testing new function version + functionToTest) Create parameters to pass to the updated Lambda function that include the original date parameter If the function did not update as expected then the date option might be invalid If the parameter is invalid the function returns a statusCode of 400 indicating it failed

Versioacuten de API 2014-10-06163

AWS CodeDeploy Guiacutea del usuarioPaso 1 Configurar la infraestructura

var lambdaParams = FunctionName functionToTest Payload option date period today InvocationType RequestResponse var lambdaResult = Failed Invoke the updated Lambda function lambdainvoke(lambdaParams function(err data) if (err) an error occurred consolelog(err errstack) lambdaResult = Failed else successful response var result = JSONparse(dataPayload) consolelog(Result + JSONstringify(result)) consolelog(statusCode + resultstatusCode) Check if the status code returned by the updated function is 400 If it is then it failed If is not then it succeeded if (resultstatusCode = 400) consolelog(Validation of time parameter succeeded) lambdaResult = Succeeded else consolelog(Validation failed) Complete the PostTraffic Hook by sending CodeDeploy the validation status var params = deploymentId deploymentId lifecycleEventHookExecutionId lifecycleEventHookExecutionId status lambdaResult status can be Succeeded or Failed Pass CodeDeploy the prepared validation test results codedeployputLifecycleEventHookExecutionStatus(params function(err data) if (err) Validation failed consolelog(CodeDeploy Status update failed) consolelog(err errstack) callback(CodeDeploy Status update failed) else Validation succeeded consolelog(CodeDeploy status updated successfully) callback(null CodeDeploy status updated successfully) ) )

Empaque elAWSAplicacioacuten SAMAhora deberiacutea tener cuatro archivos en su directorio SAM-Tutorial

bull beforeAllowTrafficjs

bull afterAllowTrafficjs

bull myDateTimeFunctionjs

bull templateyml

Versioacuten de API 2014-10-06164

AWS CodeDeploy Guiacutea del usuarioPaso 1 Configurar la infraestructura

Ahora estaacute preparado para utilizar elAWSSAMsam packagepara crear y empaquetar artefactos para lasfunciones Lambda y la aplicacioacuten CodeDeploy Los artefactos se cargan en un bucket de S3 El resultadodel comando es un nuevo archivo llamado packageyml Este archivo lo utiliza elAWSSAMsam deployenel paso siguiente

Note

Para obtener maacutes informacioacuten sobre lasam packagecomando consulteAWS SAMReferencia decomandos de la CLIen laAWS Serverless Application ModelGuiacutea para desarrolladores

En el directorio SAM-Tutorial ejecute el siguiente elemento

sam package --template-file templateyml --output-template-file packageyml --s3-bucket your-S3-bucket

Para el registros3-bucketespecifique el bucket de Amazon S3 que ha creado como requisito previopara este tutorial Laoutput-template-fileespecifica el nombre del nuevo archivo que utilizaelAWSSAMsam deploycomando

Implementar elAWSAplicacioacuten SAMUsarAWSSAMsam deploycomando con elpackageymlpara crear las funciones Lambda y la aplicacioacutenCodeDeploy y el grupo de implementaciones medianteAWS CloudFormation

Note

Para obtener maacutes informacioacuten sobre lasam deploycomando consulteAWS SAMReferencia decomandos de la CLIen laAWS Serverless Application ModelGuiacutea para desarrolladores

En el directorio SAM-Tutorial ejecute el siguiente comando

sam deploy --template-file packageyml --stack-name my-date-time-app --capabilities CAPABILITY_IAM

La--capabilities CAPABILITY_IAMpara autorizar realice el siguiente procedimientoAWSCloudFormationPara crear roles de IAM

(Opcional) inspeccionar y probar su infraestructuraEn este tema se muestra coacutemo ver los componentes de la infraestructura y probar la funcioacuten Lambda

Para ver el resultado de la pila despueacutes de ejecutar sam deploy realice el siguienteprocedimiento

1 Abra la consola de AWS CloudFormation en httpsconsoleawsamazoncomcloudformation2 En el panel de navegacioacuten seleccione Stacks (Pilas) La pila my-date-time-app aparece en la

parte superior3 Elija la pestantildea Events (Eventos) para ver queacute eventos se han completado Puede ver los eventos

mientras la creacioacuten de la pila estaacute en curso Cuando se haya completado la creacioacuten de la pila podraacutever todos los eventos de creacioacuten esta

4 Con la pila seleccionada elija Resources (Recursos) En el navegadorTipo puede ver lasfunciones LambdamyDateTimeFunctionCodeDeployHook_beforeAllowTraffic

Versioacuten de API 2014-10-06165

AWS CodeDeploy Guiacutea del usuarioPaso 1 Configurar la infraestructura

yCodeDeployHook_afterAllowTraffic LaID fiacutesicosde cada una de las funciones Lambdacontiene un enlace para ver las funciones en la consola de Lambda

Note

El nombre delmyDateTimeFunctionLa funcioacuten Lambda va antepuesta al nombre de laAWSCloudFormationpila y tiene un identificador antildeadido por lo que parecemy-date-time-app-myDateTimeFunction-123456ABCDEF

5 Abra la consola de CodeDeploy en httpsconsoleawsamazoncomcodedeploy6 En el panel de navegacioacuten expanda Deploy (Implementar) y despueacutes elija Applications (Aplicaciones)7 Deberiacutea ver una nueva aplicacioacuten CodeDeploy creada porAWS CloudFormationcon un nombre que

empieza pormy-date-time-app-ServerlessDeploymentApplication Elija esta aplicacioacuten8 Deberiacutea ver un grupo de implementaciones con un nombre que comienza por my-date-time-app-

myDateTimeFunctionDeploymentGroup Elija este grupo de implementaciones

En Deployment configuration (Configuracioacuten de implementacioacuten) deberiacutea verCodeDeployDefaultLambdaLinear10PercentEvery1Minute

Para probar la funcioacuten (consola) (opcional) realice el siguiente procedimiento

1 Abra la consola de AWS Lambda en httpsconsoleawsamazoncomlambda2 En el panel de navegacioacuten elija la funcioacuten my-date-time-app-myDateTimeFunction En la

consola su nombre contiene un identificador por lo que tendraacute un aspecto similar a my-date-time-app-myDateTimeFunction-123456ABCDEF

3 Seleccione Test (Probar)4 En Event name (Nombre del evento) escriba un nombre para el evento de prueba5 Escriba lo siguiente para el evento de prueba y a continuacioacuten elija Create (Crear)

option date period today

6 Seleccione Test (Probar) Solo deberiacutea ver el evento de prueba en la lista de eventos de prueba

En Execution result (Resultado de ejecucioacuten) deberiacutea ver succeeded (correcto)7 En Execution result (Resultado de ejecucioacuten) expanda Details (Detalles) para ver los resultados

Deberiacutea ver el mes diacutea y antildeo actuales

Para probar la funcioacuten (opcional) realice el siguiente procedimientoAWS CLI)

1 Localice el ARN de la funcioacuten de Lambda Aparece en la parte superior de la consola Lambda cuandose visualiza la funcioacuten de

2 Ejecute el siguiente comando de Sustituya your-function-arn por el ARN de la funcioacuten

aws lambda invoke --function your-function-arn --cli-binary-format raw-in-base64-out --payload option date period today outtxt

3 Abra outtxt para confirmar que el resultado contiene el mes el diacutea y el antildeo actuales

Versioacuten de API 2014-10-06166

AWS CodeDeploy Guiacutea del usuarioPaso 2 Actualizacioacuten de la funcioacuten Lambda

Paso 2 Actualizacioacuten de la funcioacuten LambdaEn este tema actualizaraacute el archivo myDateTimeFunctionjs En el siguiente paso utilizaraacute el archivopara implementar la funcioacuten actualizada Esto activa CodeDeploy para que lo implemente cambiando eltraacutefico de produccioacuten de la versioacuten actual de la funcioacuten Lambda a la versioacuten actualizada

Para actualizar la funcioacuten Lambda

1 Abrir myDateTimeFunctionjs2 Elimine los dos marcadores de comentario ( y ) y el texto explicativo al principio y al final del

case denominado time en el bloque switch

El coacutedigo sin comentarios le permite transferir un nuevo paraacutemetro time a la funcioacuten Si pasa time ala funcioacuten actualizada devuelve el valor actual hour minute y second

3 Guarde myDateTimeFunctionjs Debe parecerse a lo siguiente

use strict

exportshandler = function(event context callback)

if (eventbody) event = JSONparse(eventbody)

var sc Status code var result = Response payload

switch(eventoption) case date switch(eventperiod) case yesterday result = setDateResult(yesterday) sc = 200 break case today result = setDateResult() sc = 200 break case tomorrow result = setDateResult(tomorrow) sc = 200 break default result = error Must specify yesterday today or tomorrow sc = 400 break break case time var d = new Date() var h = dgetHours() var mi = dgetMinutes() var s = dgetSeconds()

result = hour h minute mi second s sc = 200

Versioacuten de API 2014-10-06167

AWS CodeDeploy Guiacutea del usuarioPaso 3 Implemente la funcioacuten de Lambda actualizada

break

default result = error Must specify date or time sc = 400 break

const response = statusCode sc headers Content-type applicationjson body JSONstringify( result )

callback(null response)

function setDateResult(option)

var d = new Date() Today var mo Month var da Day var y Year

switch(option) case yesterday dsetDate(dgetDate() - 1) break case tomorrow dsetDate(dgetDate() + 1) default break

mo = dgetMonth() + 1 Months are zero offset (0-11) da = dgetDate() y = dgetFullYear()

result = month mo day da year y

return result

Paso 3 Implemente la funcioacuten de Lambda actualizadaEn este paso utilizaraacute el actualizadomyDateTimeFunctionjspara actualizar e iniciar la implementacioacutende la funcioacuten Lambda Puede monitorizar el progreso de la implementacioacuten en CodeDeploy oAWSLambdaconsola de

La liacutenea de AutoPublishAlias live de la plantilla de AWS SAM hace que la infraestructuradetecte actualizaciones en funciones que utilizan el alias live La actualizacioacuten de la funcioacuten activa unaimplementacioacuten de CodeDeploy que desviacutea el traacutefico de produccioacuten de la versioacuten original de la funcioacuten de ala versioacuten actualizada

Versioacuten de API 2014-10-06168

AWS CodeDeploy Guiacutea del usuarioPaso 3 Implemente la funcioacuten de Lambda actualizada

Lasam packageysam deployse utilizan para actualizar y activar la implementacioacuten de la funcioacutenLambda Ha ejecutado estos comandos en Empaque elAWSAplicacioacuten SAM (p 164) y ImplementarelAWSAplicacioacuten SAM (p 165)

Para implementar la funcioacuten Lambda actualizada realice el siguiente procedimiento

1 En el directorio SAM-Tutorial ejecute el siguiente comando

sam package --template-file templateyml --output-template-file packageyml --s3-bucket your-S3-bucket

Esto crea un nuevo conjunto de artefactos que hacen referencia a la funcioacuten de Lambda actualizadaen el bucket de S3

2 En el directorio SAM-Tutorial ejecute el siguiente comando

sam deploy --template-file packageyml --stack-name my-date-time-app --capabilities CAPABILITY_IAM

Dado que el nombre de la pila sigue siendo my-date-time-app AWS CloudFormation reconoceque se trata de una actualizacioacuten de la pila Para ver la pila actualizada devuelva la consola de AWSCloudFormation y en el panel de navegacioacuten elija Stacks (Pilas)

Para ver el traacutefico durante una implementacioacuten (consola CodeDeploy) (opcional) realice elsiguiente procedimiento

1 Abra la consola de CodeDeploy en httpsconsoleawsamazoncomcodedeploy2 En el panel de navegacioacuten expanda Applications (Aplicaciones) y a continuacioacuten elija la aplicacioacuten

my-date-time-app-ServerlessDeploymentApplication3 En Deployment groups (Grupos de implementaciones) elija el grupo de implementaciones de la

aplicacioacuten Su estado debe ser In progress (En curso)4 En Deployment group history (Historial de grupos de implementaciones) elija la implementacioacuten que

estaacute en curso

La barra de progreso Traffic shifting (Desviacuteo de traacutefico) y los porcentajes de los cuadros Original yReplacement (Sustitucioacuten) de esta paacutegina muestran su progreso

Versioacuten de API 2014-10-06169

AWS CodeDeploy Guiacutea del usuarioPaso 3 Implemente la funcioacuten de Lambda actualizada

Para ver el traacutefico durante una implementacioacuten (consola Lambda) (opcional) realice el siguienteprocedimiento

1 Abra la consola de AWS Lambda en httpsconsoleawsamazoncomlambda2 En el panel de navegacioacuten elija la funcioacuten my-date-time-app-myDateTimeFunction En la

consola su nombre contiene un identificador por lo que tendraacute un aspecto similar a my-date-time-app-myDateTimeFunction-123456ABCDEF

3 ElegirAlias dey luego seleccionevivir

Las ponderaciones situadas junto a la versioacuten original de la funcioacuten (versioacuten 1) y la versioacuten actualizadade la funcioacuten (versioacuten 2) muestran la cantidad de traacutefico que se ofrece a cada versioacuten en el momento enque se cargoacute esta paacutegina de la consola de AWS Lambda La paacutegina no actualiza las ponderaciones con elpaso del tiempo Si actualiza la paacutegina una vez al minuto la ponderacioacuten de la versioacuten 1 disminuye en un10 por ciento y la ponderacioacuten de la versioacuten 2 aumenta en un 10 por ciento hasta que la ponderacioacuten de laversioacuten 2 es 100

Versioacuten de API 2014-10-06170

AWS CodeDeploy Guiacutea del usuarioPaso 4 Consulte los resultados de la implementacioacuten

Paso 4 Consulte los resultados de la implementacioacutenEn este paso podraacute ver los resultados de la implementacioacuten Si la implementacioacuten se realizacorrectamente puede confirmar que la funcioacuten de Lambda actualizada recibe traacutefico de produccioacuten Si laimplementacioacuten falla puede utilizar CloudWatch Logs para ver el resultado de las pruebas de validacioacuten enla funcioacuten Lambda que se ejecutan durante los enlaces de ciclo de vida de la implementacioacuten

Temasbull Comprobacioacuten de la funcioacuten de implementada (p 171)bull Ver eventos de enlace en CloudWatch Logs (p 172)

Comprobacioacuten de la funcioacuten de implementadaLasam deployactualiza el comandomy-date-time-app-myDateTimeFunctionFuncioacuten Lambda Laversioacuten de la funcioacuten se actualiza a 2 y se antildeade al alias live

Para ver la actualizacioacuten en la consola de Lambda

1 Abra la consola de AWS Lambda en httpsconsoleawsamazoncomlambda2 En el panel de navegacioacuten elija la funcioacuten my-date-time-app-myDateTimeFunction En la

consola su nombre contiene un identificador por lo que tendraacute un aspecto similar a my-date-time-app-myDateTimeFunction-123456ABCDEF

3 Elija Qualifiers (Cualificadores) y a continuacioacuten Aliases (Alias) Una vez completada laimplementacioacuten (aproximadamente 10 minutos) para ellivealias deberiacuteas verVersioacuten 2

Versioacuten de API 2014-10-06171

AWS CodeDeploy Guiacutea del usuarioPaso 4 Consulte los resultados de la implementacioacuten

4 En Function code (Coacutedigo de funcioacuten) consulte el coacutedigo fuente de la funcioacuten Deben aparecer loscambios

5 Puede utilizar las instrucciones de prueba de Paso 2 Actualizacioacuten de la funcioacuten Lambda (p 167)para probar la funcioacuten actualizada (opcional) Cree un nuevo evento de prueba con la siguiente cargay a continuacioacuten confirme que el resultado contiene la hora el minuto y el segundo actuales

option time

Para utilizar la AWS CLI para probar la funcioacuten actualizada ejecute el siguiente comando y acontinuacioacuten abra outtxt para confirmar que el resultado contiene la hora el minuto y el segundoactuales

aws lambda invoke --function your-function-arn --payload option time outtxt

Note

Si utiliza la AWS CLI para probar la funcioacuten antes de que se complete la implementacioacutenes posible que reciba resultados inesperados Esto se debe a que CodeDeploy desviacuteade forma incremental el 10 por ciento del traacutefico a la versioacuten actualizada cada minutoDurante la implementacioacuten parte del traacutefico sigue apuntando a la versioacuten original por loque aws lambda invoke podriacutea utilizar la versioacuten original Despueacutes de 10 minutos laimplementacioacuten se ha completado y todo el traacutefico apunta a la nueva versioacuten de la funcioacuten

Ver eventos de enlace en CloudWatch LogsDurante elBeforeAllowTraffichook CodeDeploy ejecutasuCodeDeployHook_beforeAllowTrafficFuncioacuten Lambda Durante elAfterAllowTraffichookCodeDeploy ejecuta suCodeDeployHook_afterAllowTrafficFuncioacuten Lambda Cada funcioacutenejecuta una prueba de validacioacuten que invoca la versioacuten actualizada de la funcioacuten mediante el nuevoparaacutemetro time Si la actualizacioacuten de la funcioacuten Lambda se realiza correctamente eltimeno provocaun error y la validacioacuten se realiza correctamente Si la funcioacuten no se ha actualizado el paraacutemetro noreconocido provoca un error y la validacioacuten falla Estas pruebas de validacioacuten son solo para fines dedemostracioacuten Puede escribir sus propias pruebas para validar la implementacioacuten Puede utilizar la consolade CloudWatch Logs para ver las pruebas de validacioacuten

Para ver los eventos de enlace de CodeDeploy

1 Abra la consola de CloudWatch en httpsconsoleawsamazoncomcloudwatch2 En el panel de navegacioacuten elija Logs (Registros)

Versioacuten de API 2014-10-06172

AWS CodeDeploy Guiacutea del usuarioPaso 5 Eliminar recursos

3 En la lista de grupos de registros elija awslambdaCodeDeployHook_beforeAllowTraffic o awslambdaCodeDeployHook_afterAllowTraffic

4 Elija el flujo de registros Debe ver solo uno5 Expanda los eventos para ver sus detalles

Paso 5 Eliminar recursosPara evitar cargos adicionales por los recursos que ha utilizado en este tutorial elimine los recursoscreados por elAWS SAMla plantilla y los registros de CloudWatch creados por las funciones de validacioacutende Lambda

Para eliminar la pila de AWS CloudFormation

1 Inicie sesioacuten en la AWS Management Console y abra la consola de AWS CloudFormation en httpsconsoleawsamazoncomcloudformation

2 En la columna Stacks (Pilas) elija la pila de my-date-time-app y a continuacioacuten elija Delete(Eliminar)

3 Cuando se le solicite elija Delete stack (Eliminar pila) Las funciones Lambda la aplicacioacutenCodeDeploy y los roles de IAM creados porAWS SAMse eliminan

Para eliminar los registros en CloudWatch Logs

1 Abra la consola de CloudWatch en httpsconsoleawsamazoncomcloudwatch2 En el panel de navegacioacuten elija Logs (Registros)

Versioacuten de API 2014-10-06173

AWS CodeDeploy Guiacutea del usuarioPaso 5 Eliminar recursos

3 En la lista de grupos de registros elija el botoacuten situado junto a awslambdaCodeDeployHook_beforeAllowTraffic

4 En Actions (Acciones) elija Delete log group (Eliminar grupo de registros) y a continuacioacuten YesDelete (Siacute eliminar)

5 En la lista de grupos de registros elija el botoacuten situado junto a awslambdaCodeDeployHook_afterAllowTraffic

6 En Actions (Acciones) elija Delete log group (Eliminar grupo de registros) y a continuacioacuten YesDelete (Siacute eliminar)

Versioacuten de API 2014-10-06174

AWS CodeDeploy Guiacutea del usuarioSistemas operativos compatibles

con el agente de CodeDeploy

Trabajar con el agente deCodeDeploy

El agente de CodeDeploy es un paquete de software que una vez instalado y configurado en unainstancia permite utilizar dicha instancia en implementaciones de CodeDeploy

Important

La versioacuten miacutenima admitida del agente de CodeDeploy es la 110 El uso de un agente deCodeDeploy anterior podriacutea producir un error en las implementacionesNote

El agente de CodeDeploy solo es necesario si se realiza la implementacioacuten en una plataforma decomputacioacuten EC2On-Premises El agente no es necesario para las implementaciones que utilizanAmazon ECS oAWSPlataforma informaacutetica de Lambda

Un archivo de configuracioacuten se coloca en la instancia cuando se instala el agente Este archivo se utilizapara especificar coacutemo funciona el agente Este archivo de configuracioacuten especifica las rutas de directorioy otros ajustes que AWS CodeDeploy usa cuando interactuacutea con la instancia Puede cambiar algunasde las opciones de configuracioacuten en el archivo Para obtener informacioacuten sobre coacutemo trabajar con elarchivo de configuracioacuten del agente de CodeDeploy consulteReferencia de configuracioacuten del agenteCodeDeploy (p 441)

Para obtener maacutes informacioacuten sobre coacutemo usar el agente de CodeDeploy (por ejemplo los pasospara instalar actualizar y verificar versiones) consulteAdministracioacuten de operaciones del agente deCodeDeploy (p 186)

Temasbull Sistemas operativos compatibles con el agente de CodeDeploy (p 175)bull Protocolo de comunicacioacuten y puerto para el agente de CodeDeploy (p 176)bull Historial de versiones del agente de CodeDeploy (p 176)bull Revisioacuten de aplicaciones y limpieza de archivos de registro (p 183)bull Archivos instalados por el agente de CodeDeploy (p 183)bull Administracioacuten de operaciones del agente de CodeDeploy (p 186)

Sistemas operativos compatibles con el agente deCodeDeploy

Sistemas operativos AMI de Amazon EC2 compatiblesEl agente de CodeDeploy se ha probado en los siguientes sistemas operativos de AMI de Amazon EC2

bull Amazon Linux 201803x 201703x 201609x 201603x y 201409xbull Amazon Linux 2 (ARM x86)bull Ubuntu Server 2010 2004 LTS 1804 LTS 1604 LTS y 1404 LTSbull Microsoft Windows Server 2019 2016 2012 R2 y 2008 R2bull Red Hat Enterprise Linux (RHEL) 7x

Versioacuten de API 2014-10-06175

AWS CodeDeploy Guiacutea del usuarioSistemas operativos locales compatibles

El agente de CodeDeploy estaacute disponible como coacutedigo abierto para que pueda adaptarlo a susnecesidades Se puede utilizar con otros sistemas operativos de AMI de Amazon EC2 Para obtener maacutesinformacioacuten consulte laAgente de CodeDeployrepositorio en GitHub

Sistemas operativos locales compatiblesEl agente de CodeDeploy se ha probado en los siguientes sistemas operativos on-premises

bull Ubuntu Server 2010 2004 LTS 1804 LTS 1604 LTS y 1404 LTSbull Microsoft Windows Server 2019 2016 2012 R2 y 2008 R2bull Red Hat Enterprise Linux (RHEL) 7x

El agente de CodeDeploy estaacute disponible como coacutedigo abierto para que pueda adaptarlo a susnecesidades Se puede utilizar con otros sistemas operativos de instancias on-premises Para obtener maacutesinformacioacuten consulte laAgente de CodeDeployrepositorio en GitHub

Protocolo de comunicacioacuten y puerto para el agentede CodeDeploy

El agente de CodeDeploy se comunica con el exterior a traveacutes de HTTPS sobre el puerto 443

Cuando el agente de CodeDeploy se ejecuta en una instancia de EC2 utilizaraacute elMetadatos deEC2endpoint para recuperar informacioacuten relacionada con las instancias Obtenga maacutes informacioacuten sobre lalimitacioacuten y la concesioacuten de acceso al servicio de metadatos de instancia

Historial de versiones del agente de CodeDeploySus instancias se deben ejecutar en una versioacuten compatible del agente de CodeDeploy La versioacuten maacutesantigua compatible es la 110 Si ejecuta una versioacuten anterior las implementaciones en las instanciaspodriacutean producir un error

En la siguiente tabla se muestran todas las versiones del agente de CodeDeploy y las caracteriacutesticas ymejoras incluidas con cada versioacuten

Versioacuten Fecha delanzamiento de lanueva versioacuten

Detalles

132 6 de mayo de 2021 Important

CodeDeploy agent 132direccionesCVE-2018-1000201que afecta a los hostsde Windows que ejecutan el agente El CVE cita ruby-ffi que es una dependencia del agente de CodeDeploySi su agente se instaloacute con Amazon EC2 SystemsManager (SSM) y estaacute configurado para actualizarseautomaacuteticamente no se requiere ninguna accioacuten Delo contrario se requiere una accioacuten para actualizarmanualmente el agente Para actualizar el agente sigalas instrucciones que se describen enActualizar el agentede CodeDeploy en Windows Server

Versioacuten de API 2014-10-06176

AWS CodeDeploy Guiacutea del usuarioHistorial de versiones del agente de CodeDeploy

Versioacuten Fecha delanzamiento de lanueva versioacuten

Detalles

Fixed Problema al instalar el agente CodeDeploy en Ubuntu 2004y versiones posteriores

Fixed Problema intermitente que se produjo al extraer archivoscomprimidos porque las rutas relativas no se manejabancorrectamente

Se ha antildeadido Compatibilidad conAWS PrivateLinky los puntosde enlace de la VPCpara instancias de Windows

Se ha antildeadido Support Ubuntu 2010

Se ha antildeadido Mejoras en los archivos de AppSpec como sedescribe a continuacioacuten

bull Ahora puede especificar un nombre de archivo personalizadopara el archivo AppSpec al crear una implementacioacutenlocal Para obtener maacutes informacioacuten consulte Crear unaimplementacioacuten local (p 354)

bull El archivo de AppSpec ahora puede tener unyamlextensioacuten dearchivo

bull Ahora puede sobrescribir los archivos desplegados utilizandoun nuevo opcionalfile_exists_behaviorconfiguracioacuten enel archivo AppSpec Para obtener maacutes informacioacuten consulteSeccioacuten files de AppSpec (solo para implementaciones EC2On-Premises) (p 411)

Actualizado CodeDeploy utiliza ahora elAWSSDK for Ruby 30

131 22 de diciembre de2020

Fixed 130 que impidioacute que se iniciaran instancias locales

130 10 de noviembre de2020

Important

Esta versioacuten estaacute obsoleta

Fixed Se ha eliminado un certificado caducado que ya no seutilizoacute

Fixed Se ha eliminado el mensaje de solicitud del script dedesinstalacioacuten del agente utilizado porAWS Systems Manager loque facilita la degradacioacuten de un host o flota a una versioacuten anteriordel agente

Versioacuten de API 2014-10-06177

AWS CodeDeploy Guiacutea del usuarioHistorial de versiones del agente de CodeDeploy

Versioacuten Fecha delanzamiento de lanueva versioacuten

Detalles

121 23 de septiembre de2020

de modificacioacuten ActualizadoAWS SDK for Rubydependencia dev2 a v3

Se ha antildeadido Support para IMDSv2 Incluye un respaldosilencioso a IMDSv1 si las solicitudes http de IMDSv2 fallan

de modificacioacuten Se han actualizado las dependencias de Rake yRubyzip para los parches de seguridad

Fixed Aseguacuterese de que un archivo PID vaciacuteo devuelva el estadodeNo CodeDeploy Agent Runningy limpie el archivo PID aliniciar el agente

112 4 de agosto de 2020 Se ha antildeadido Support Ubuntu Server 1910 y 2004

Nota La versioacuten 1910 llegoacute a su fecha de fin de vida uacutetil y ya noes compatible con Ubuntu ni CodeDeploy

Se ha antildeadido Mejoras en la eficiencia de la memoria para Linuxy Ubuntu para liberar la memoria reservada maacutes oportunamente

Se ha antildeadido Compatibilidad con la laquolimpieza silenciosaraquo deWindows Server que provocaba que el agente no respondiera enalgunos casos

Se ha antildeadido Ignorar los directorios no vaciacuteos durante lalimpieza para evitar errores en la implementacioacuten

Se ha antildeadido Compatibilidad conAWSZona local en Los Aacutengeles(LA)

Se ha antildeadido Extraer AZ de metadatos de instancia paraproporcionar compatibilidad paraAWSLocal Zones

Se ha antildeadido Los usuarios ahora pueden proporcionar suarchivo en subdirectorios y no estaacuten obligados a almacenarlo en eldirectorio raiacutez

Se ha antildeadido Se ha detectado un problema con Rubyzip quepodriacutea provocar fugas de memoria Se ha actualizado el comandounzip para intentar utilizar primero una utilidad de descompresioacuteninstalada en el sistema antes de utilizar Rubyzip

Se ha antildeadidoenable_auth_policycomo configuracioacuten deagente

de modificacioacuten Las advertencias de descompresioacuten ahora seignoran para que las implementaciones continuacuteen

Versioacuten de API 2014-10-06178

AWS CodeDeploy Guiacutea del usuarioHistorial de versiones del agente de CodeDeploy

Versioacuten Fecha delanzamiento de lanueva versioacuten

Detalles

110 30 de junio de 2020 de modificacioacuten El control de versiones del agente deCodeDeploy sigue ahora la convencioacuten de control de versionesestaacutendar de Ruby

Se ha antildeadido Nuevo paraacutemetro del comando de instalacioacuten yactualizacioacuten para permitir la instalacioacuten de una versioacuten especiacuteficadel agente desde la liacutenea de comandos

Eliminaciones Se ha eliminado el actualizador automaacutetico delagente de CodeDeploy para Linux y Ubuntu Para configurarlas actualizaciones automaacuteticas del agente de CodeDeployconsulteInstale el agente de CodeDeploy medianteAWS SystemsManager

1011597 15 de noviembre de2018

Important

La versioacuten miacutenima admitida del agente de CodeDeployes la 110 El uso de un agente de CodeDeploy anteriorpodriacutea producir un error en las implementaciones

Mejora CodeDeploy admite Ubuntu 1804

Mejora CodeDeploy admite Ruby 25

Mejora CodeDeploy admite puntos de enlace de FIPS Paraobtener maacutes informacioacuten sobre los puntos de enlace de FIPSconsulte Informacioacuten general sobre FIPS 140-2 Para obtenerinformacioacuten sobre los puntos de enlace que se pueden utilizar conCodeBuild consulteRegiones y puntos de enlace de CodeDeploy

1011518 12 de junio de 2018 Mejora Se ha corregido un problema que provocada un error alcerrar el agente de CodeDeploy mientras aceptaba solicitudes desondeo

Mejora Se antildeadioacute una caracteriacutestica de seguimiento deimplementacioacuten que evita que el agente de CodeDeploy se cierrecuando una implementacioacuten estaacute en curso

Mejora Se mejoroacute el desempentildeo al eliminar archivos

1011458 6 de marzo de 2018 Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Mejora Se han mejorado las validaciones certificado para admitirmaacutes autoridades de confianza

Mejora Se corrigioacute un problema que provocaba que lainterfaz de comandos (CLI) local devolviera un error duranteuna implementacioacuten que incluiacutea un evento de ciclo de vidaBeforeInstall

Mejora Se ha corregido un problema que podriacutea provocar el errorde una implementacioacuten activa cuando se actualiza el agente deCodeDeploy

Versioacuten de API 2014-10-06179

AWS CodeDeploy Guiacutea del usuarioHistorial de versiones del agente de CodeDeploy

Versioacuten Fecha delanzamiento de lanueva versioacuten

Detalles

1011352 16 de noviembre de2017

Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Caracteriacutestica Se ha incluido una nueva funcioacuten para probar ydepurar una implementacioacuten de EC2local en una instancia oequipo local en el que esteacute instalado el agente de CodeDeploy

1011106 16 de mayo de 2017 Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Caracteriacutestica Se ha incluido nueva compatibilidad para eltratamiento de contenido en una ubicacioacuten de destino que noformaba parte de la revisioacuten de la aplicacioacuten de la implementacioacutencorrecta maacutes reciente Las opciones de implementacioacuten parael contenido existente incluyen ahora conservar el contenidosobrescribir el contenido o hacer fracasar la implementacioacuten

Mejora El agente de CodeDeploy ahora es compatible con laversioacuten 292 delAWS SDK for Ruby(aws-sdk-core 292)

1011095 29 de marzo de 2017 Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Mejora Se ha introducido compatibilidad para el agente deCodeDeploy en la regioacuten China (Pekiacuten)

Mejora Se puede ejecutar Puppet en instancias de WindowsServer cuando las invoca un enlace de evento de ciclo de vida

Mejora Se ha mejorado el tratamiento deuntaroperaciones

1011067 6 de enero de 2017 Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Mejora Se han revisado muchos mensajes de error para incluirmaacutes causas especiacuteficas para los errores de implementacioacuten

Mejora Se ha resuelto un problema que impediacutea al agente deCodeDeploy identificar la revisioacuten de la aplicacioacuten correcta que sedebe implementar durante algunas implementaciones

Mejora Se ha revertido el uso depushdypopdantes y despueacutesdeluntar

1011045 21 de noviembre de2016

Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Mejora El agente de CodeDeploy ahora es compatible con laversioacuten 2611 delAWS SDK for Ruby(aws-sdk-core 2611)

Versioacuten de API 2014-10-06180

AWS CodeDeploy Guiacutea del usuarioHistorial de versiones del agente de CodeDeploy

Versioacuten Fecha delanzamiento de lanueva versioacuten

Detalles

1011037 19 de octubre de2016

Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

El agente de CodeDeploy para las instancias de Amazon LinuxRHEL y Ubuntu Server se ha actualizado con el siguiente cambioPara las instancias de Windows Server la uacuteltima versioacuten siguesiendo 101998

Mejora El agente puede determinar ahora queacute versioacuten deRuby estaacute instalada en una instancia para que pueda invocarelcodedeploy-agentscript utilizando esa versioacuten

10110111 17 de agosto de2016

Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Mejora Se han eliminado los cambios introducidos por la versioacuten1011011 debido a problemas de compatibilidad con el shellEsta versioacuten del agente es funcionalmente equivalente a la versioacuten101998 publicada el 11 de julio de 2016

1011011 15 de agosto de2016

Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

El agente de CodeDeploy para las instancias de Amazon LinuxRHEL y Ubuntu Server se ha actualizado con los siguientescambios Para las instancias de Windows Server la uacuteltima versioacutensigue siendo 101998

Caracteriacutestica Se ha antildeadido compatibilidad para invocar elagente de CodeDeploy mediante el shell bash en sistemasoperativos en los que se usa el sistema systemd initMejora Admite compatibilidad para todas las versiones de Ruby2x en el agente de CodeDeploy y en el actualizador del agentede CodeDeploy Los agentes de CodeDeploy actualizados ya nodependen solo de Ruby 20 (Ruby 20 sigue siendo necesariopara las versiones deb y rpm del instalador del agente deCodeDeploy)

101998 11 de julio de 2016 Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Mejora Se ha corregido la compatibilidad para ejecutar elagente de CodeDeploy con perfiles de usuario distintosdenodo raiacutez La variable denominada USER se ha sustituidopor CODEDEPLOY_USER para evitar conflictos con variables delentorno

Versioacuten de API 2014-10-06181

AWS CodeDeploy Guiacutea del usuarioHistorial de versiones del agente de CodeDeploy

Versioacuten Fecha delanzamiento de lanueva versioacuten

Detalles

101966 16 de junio de 2016 Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Caracteriacutestica Se ha introducido compatibilidad para ejecutar elagente de CodeDeploy con perfiles de usuario distintos denodoraiacutez

Mejora Se ha corregido la compatibilidad para especificar elnuacutemero de revisiones de aplicacioacuten que desea que el agente deCodeDeploy archive para un grupo de implementaciones

Mejora El agente de CodeDeploy ahora es compatible con laversioacuten 23 delAWS SDK for Ruby(aws-sdk-core 23)

Mejora Se han corregido los problemas con la codificacioacuten UTF-8durante las implementaciones

Mejora Se ha mejorado la precisioacuten al identificar nombres deproceso

101950 24 de marzo de 2016 Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Caracteriacutestica Se ha antildeadido compatibilidad con el proxy deinstalacioacuten

Mejora Se ha actualizado el script de instalacioacuten para que nodescargue el agente de CodeDeploy si la uacuteltima versioacuten ya estaacuteinstalada

101934 11 de febrero de2016

Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Caracteriacutestica Se ha antildeadido compatibilidad para especificar elnuacutemero de revisiones de aplicacioacuten que desea que el agente deCodeDeploy archive para un grupo de implementaciones

101880 11 de enero de 2016 Nota Esta versioacuten ya no se admite y podriacutea producir un error enlas implementaciones

Mejora El agente de CodeDeploy ahora es compatible con laversioacuten 22 delAWS SDK for Ruby(aws-sdk-core 22) La versioacuten212 sigue siendo compatible

Versioacuten de API 2014-10-06182

AWS CodeDeploy Guiacutea del usuarioRevisioacuten de aplicaciones y limpieza de archivos de registro

Versioacuten Fecha delanzamiento de lanueva versioacuten

Detalles

101854 17 de noviembre de2015

Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Caracteriacutestica Se ha introducido compatibilidad con el algoritmohash SHA-256

Caracteriacutestica Se presentoacute compatibilidad con el seguimiento deversiones enversionarchivos

Caracteriacutestica El ID del grupo de implementaciones ahora estaacutedisponible mediante el uso de una variable de entorno

Mejora Se ha antildeadido compatibilidad para supervisar los registrosdel agente de CodeDeploy medianteAmazon CloudWatch Logs

Para obtener informacioacuten relacionada consulte los siguientes temas

bull Determinar la versioacuten del agente de CodeDeploy (p 188)bull Instalacioacuten del agente de CodeDeploy (p 189)

Para ver un historial de versiones del agente de CodeDeploy consulte laRelease repository on GitHub

Revisioacuten de aplicaciones y limpieza de archivos deregistro

El agente de CodeDeploy archiva las revisiones y los archivos log en instancias El agente de CodeDeploylimpia estos artefactos para ahorrar espacio en disco

Registros de implementacioacuten de revisiones de Puede utilizar elmax_revisionsen el archivo deconfiguracioacuten del agente para especificar el nuacutemero de revisiones de aplicacioacuten que se deben archivarintroduciendo un nuacutemero entero positivo CodeDeploy archiva tambieacuten los archivos log de esas revisionesEl resto se elimina a excepcioacuten del archivo log de la uacuteltima implementacioacuten correcta Este archivo logse conserva siempre aunque el nuacutemero de implementaciones que han producido un error sea superioral nuacutemero de revisiones conservadas Si no se especifica ninguacuten valor CodeDeploy conserva las cincorevisiones maacutes recientes ademaacutes de la revisioacuten implementada en la actualidad

Registros CodeDeploy Para las instancias de Amazon Linux Ubuntu Server y RHEL el agente deCodeDeploy rota los archivos log en elvarlogawscodedeploy-agentfolder El archivo log rota alas 000000 (hora de la instancia) cada diacutea Los archivos log se eliminan al cabo de siete diacuteas El patroacutende nomenclatura para los archivos log movidos es codedeploy-agentYYYYMMDDlog

Archivos instalados por el agente de CodeDeployEl agente de CodeDeploy almacena las revisiones el historial de implementacioacuten y los scripts deimplementacioacuten en su directorio raiacutez en una instancia El nombre predeterminado y la ubicacioacuten de estedirectorio es

Versioacuten de API 2014-10-06183

AWS CodeDeploy Guiacutea del usuarioArchivos instalados por el agente de CodeDeploy

optcodedeploy-agentdeployment-rootpara instancias de Amazon Linux Ubuntu Server yRHEL

CProgramDataAmazonCodeDeploypara instancias de Windows Server

Puede utilizar elroot_diren el archivo de configuracioacuten del agente de CodeDeploy para configurar el nombrey la ubicacioacuten del directorio Para obtener maacutes informacioacuten consulte Referencia de configuracioacuten delagente CodeDeploy (p 441)

A continuacioacuten se muestra un ejemplo del archivo y de la estructura de directorios bajo el directorio raiacutezLa estructura supone que hay un nuacutemero N de grupos de implementacioacuten y cada grupo de implementacioacutencontiene un nuacutemero N de implementaciones

|--deployment-root|-- deployment group 1 ID | |-- deployment 1 ID | | |-- Contents and logs of the deployments revision| |-- deployment 2 ID| | |-- Contents and logs of the deployments revision| |-- deployment N ID| | |-- Contents and logs of the deployments revision|-- deployment group 2 ID| |-- deployment 1 ID| | |-- bundletar| | |-- deployment-archive| | | | -- contents of the deployments revision| | |-- logs| | | | -- scriptslog | |-- deployment 2 ID| | |-- bundletar| | |-- deployment-archive| | | | -- contents of the deployments revision| | |-- logs| | | | -- scriptslog | |-- deployment N ID| | |-- bundletar| | |-- deployment-archive| | | | -- contents of the deployments revision| | |-- logs| | | | -- scriptslog |-- deployment group N ID| |-- deployment 1 ID| | |-- Contents and logs of the deployments revision| |-- deployment 2 ID| | |-- Contents and logs of the deployments revision| |-- deployment N ID| | |-- Contents and logs of the deployments revision|-- deployment-instructions| |-- [deployment group 1 ID]_cleanup| |-- [deployment group 2 ID]_cleanup| |-- [deployment group N ID]_cleanup| |-- [deployment group 1 ID]_installjson| |-- [deployment group 2 ID]_installjson| |-- [deployment group N ID]_installjson| |-- [deployment group 1 ID]_last_successful_install| |-- [deployment group 2 ID]_last_successful_install| |-- [deployment group N ID]_last_successful_install| |-- [deployment group 1 ID]_most_recent_install| |-- [deployment group 2 ID]_most_recent_install| |-- [deployment group N ID]_most_recent_install|-- deployment-logs| |-- codedeploy-agent-deploymentslog

Versioacuten de API 2014-10-06184

AWS CodeDeploy Guiacutea del usuarioArchivos instalados por el agente de CodeDeploy

bull Las carpetas Deployment Group ID (ID de grupo de implementaciones) representan cada uno desus grupos de implementaciones El nombre de un directorio de grupo de implementaciones es suID (por ejemplo acde1916-9099-7caf-fd21-012345abcdef) Cada directorio de grupo deimplementaciones contiene un subdirectorio para cada implementacioacuten que se ha intentado en dichogrupo de implementaciones

Puede utilizar elbatch-get-Deploymentspara buscar un ID de grupo de implementacionesbull Las carpetas Deployment ID (ID de implementacioacuten) representan cada implementacioacuten en un grupo de

implementaciones El nombre de cada directorio de implementacioacuten es su ID Cada carpeta contienebull bundletar un archivo comprimido con el contenido de la revisioacuten de la implementacioacuten Utilice una

utilidad de descompresioacuten zip si desea ver la revisioacutenbull deployment-archive un directorio que contiene el contenido de la revisioacuten de la implementacioacutenbull logs un directorio que contiene un archivo scriptslog Este archivo indica el resultado de todos

los scripts especificados en el archivo AppSpec de la implementacioacuten

Si desea buscar la carpeta para una implementacioacuten pero no conoce su ID de implementacioacuten o IDde grupo de implementaciones puede utilizar la consola de AWS CodeDeploy o la AWS CLI parabuscarlas Para obtener maacutes informacioacuten consulte Ver detalles de implementacioacuten de CodeDeploy (p 340)

El nuacutemero maacuteximo predeterminado de las implementaciones que se pueden archivar en un grupo deimplementaciones es de cinco Cuando se alcanza ese nuacutemero se archivan las implementacionesfuturas y se elimina el archivo maacutes antiguo Puede utilizar elmax_revisionsen el archivo de configuracioacutendel agente de CodeDeploy para cambiar el valor predeterminado Para obtener maacutes informacioacutenconsulte Referencia de configuracioacuten del agente CodeDeploy (p 441)

Note

Si desea recuperar el espacio en disco duro utilizado por las implementaciones archivadasactualice el valor max_revisions a un nuacutemero bajo como por ejemplo 1 o 2 La siguienteimplementacioacuten elimina las implementaciones archivadas de modo que el nuacutemero sea igual alespecificado

bull deployment-instructions contiene cuatro archivos de texto para cada grupo de implementacionesbull [ID grupo de implementaciones]-cleanup un archivo de texto con una versioacuten deshacer de cada

comando que se ejecuta durante una implementacioacuten Un nombre de archivo de ejemplo esacde1916-9099-7caf-fd21-012345abcdef-cleanup

bull [ID de grupo de implementaciones]-installjson un archivo JSON creado durante la implementacioacutenmaacutes reciente Contiene los comandos que se ejecutan durante la implementacioacuten Un nombre dearchivo de ejemplo es acde1916-9099-7caf-fd21-012345abcdef-installjson

bull [ID de grupo de implementaciones]_last_successfull_install un archivo de texto que muestrael directorio de archivos de la uacuteltima implementacioacuten correcta Este archivo se crea cuando elagente de CodeDeploy ha copiado todos los archivos en la aplicacioacuten de implementacioacuten a lainstancia Lo utiliza el agente de CodeDeploy durante la siguiente implementacioacuten para determinarqueacuteApplicationStopyBeforeInstallscripts que se ejecutaraacuten Un nombre de archivo de ejemploes acde1916-9099-7caf-fd21-012345abcdef_last_successfull_install

bull [ID de grupo de implementaciones]_most_recent_install un archivo de texto que muestra elnombre del directorio de archivos de la implementacioacuten maacutes reciente Este archivo se creacuando los archivos de la implementacioacuten se han descargado correctamente El archivo [ID degrupo de implementaciones]_last_successfull_install se crea despueacutes de este archivo cuandolos archivos descargados se copian en su destino final Un nombre de archivo de ejemplo esacde1916-9099-7caf-fd21-012345abcdef_most_recent_install

bull deployment-logs contiene los archivos de registro siguientesbull Los archivos codedeploy-agentaaaammddlog se crean para cada diacutea que hay una implementacioacuten

Cada archivo de registro contiene informacioacuten acerca de las implementaciones del diacutea Estos archivosde registro podriacutean ser uacutetiles para depurar problemas como un problema de permisos El archivo deVersioacuten de API 2014-10-06

185

AWS CodeDeploy Guiacutea del usuarioAdministracioacuten de operaciones del agente de CodeDeploy

registro se denomina inicialmente codedeploy-agentlog Al diacutea siguiente se inserta la fechade sus implementaciones en el nombre del archivo Por ejemplo si hoy es 3 de enero de 2018puede ver informacioacuten acerca de todas las implementaciones de hoy en codedeploy-agentlogMantildeana 4 de enero de 2018 se cambia el nombre del archivo de registro a codedeploy-agent20180103log

bull codedeploy-agent-deploymentslog compila el contenido de los archivos scriptslog paracada implementacioacuten Los archivos scriptslog se encuentran en la subcarpeta logs debajode cada carpeta Deployment ID Las entradas de este archivo van precedidas de un ID deimplementacioacuten Por ejemplo [d-ABCDEF123]LifecycleEvent - BeforeInstall podriacuteahaberse escrito durante una implementacioacuten con un ID de d-ABCDEF123 Cuandocodedeploy-agent-deploymentslogalcanza el tamantildeo maacuteximo el agente de CodeDeploy sigue escribiendoen eacutel mientras elimina el contenido antiguo

Administracioacuten de operaciones del agente deCodeDeploy

Las instrucciones de esta seccioacuten indican coacutemo instalar desinstalar reinstalar o actualizar el agente deCodeDeploy y coacutemo comprobar que el agente de CodeDeploy se estaacute ejecutando

Important

La versioacuten miacutenima admitida del agente de CodeDeploy es la 110 El uso de un agente deCodeDeploy anterior podriacutea producir un error en las implementaciones

Temasbull Verifique que el agente de CodeDeploy esteacute en ejecucioacuten (p 186)bull Determinar la versioacuten del agente de CodeDeploy (p 188)bull Instalacioacuten del agente de CodeDeploy (p 189)bull Actualizacioacuten del agente de CodeDeploy (p 198)bull Desinstalacioacuten del agente de CodeDeploy (p 203)bull SendCodeDeployRegistros de agentes de aCloudWatch (p 204)

Verifique que el agente de CodeDeploy esteacute enejecucioacutenEsta seccioacuten describe los comandos que pueden ejecutarse cuando se sospecha que el agente deCodeDeploy ha dejado de ejecutarse en una instancia

Temasbull Verifique que el agente de CodeDeploy para Amazon Linux o RHEL se esteacute ejecutando (p 186)bull Verifique que el agente de CodeDeploy para Ubuntu Server se esteacute ejecutando (p 187)bull Verifique que el agente de CodeDeploy para Windows Server se estaacute ejecutando (p 187)

Verifique que el agente de CodeDeploy para Amazon Linux oRHEL se esteacute ejecutandoPara saber si el agente de CodeDeploy estaacute instalado y se estaacute ejecutando inicie sesioacuten en la instancia yejecute el comando siguiente

Versioacuten de API 2014-10-06186

AWS CodeDeploy Guiacutea del usuarioVerifique que el agente de CodeDeploy esteacute en ejecucioacuten

sudo service codedeploy-agent status

Si el comando devuelve un error el agente de CodeDeploy no estaacute instalado Instaacutelelo como se describeen Instale el agente CodeDeploy para Amazon Linux o RHEL (p 191)

Si el agente de CodeDeploy estaacute instalado y se estaacute ejecutando veraacute el mensajeThe AWS CodeDeployagent is running

Si ve el mensaje error No AWS CodeDeploy agent running inicie el servicio y ejecute uno poruno los dos comandos siguientes

sudo service codedeploy-agent start

sudo service codedeploy-agent status

Verifique que el agente de CodeDeploy para Ubuntu Server seesteacute ejecutandoPara saber si el agente de CodeDeploy estaacute instalado y se estaacute ejecutando inicie sesioacuten en la instancia yejecute el comando siguiente

sudo service codedeploy-agent status

Si el comando devuelve un error el agente de CodeDeploy no estaacute instalado Instaacutelelo como se describeen Instale el agente de CodeDeploy para Ubuntu Server (p 192)

Si el agente de CodeDeploy estaacute instalado y se estaacute ejecutando veraacute el mensajeThe AWS CodeDeployagent is running

Si ve el mensaje error No AWS CodeDeploy agent running inicie el servicio y ejecute uno poruno los dos comandos siguientes

sudo service codedeploy-agent start

sudo service codedeploy-agent status

Verifique que el agente de CodeDeploy para Windows Server seestaacute ejecutandoPara saber si el agente de CodeDeploy estaacute instalado y se estaacute ejecutando inicie sesioacuten en la instancia yejecute el comando siguiente

powershellexe -Command Get-Service -Name codedeployagent

Deberiacutea ver un resultado similar a este

Status Name DisplayName------ ---- -----------Running codedeployagent CodeDeploy Host Agent Service

Si el comando devuelve un error el agente de CodeDeploy no estaacute instalado Instaacutelelo como se describeen Instale el agente de CodeDeploy para Windows Server (p 193)

Versioacuten de API 2014-10-06187

AWS CodeDeploy Guiacutea del usuarioDeterminar la versioacuten del agente de CodeDeploy

Si Status muestra algo distinto de Running inicie el servicio con el comando siguiente

powershellexe -Command Start-Service -Name codedeployagent

Puede reiniciar el servicio con el comando siguiente

powershellexe -Command Restart-Service -Name codedeployagent

Puede detener el servicio con el comando siguiente

powershellexe -Command Stop-Service -Name codedeployagent

Determinar la versioacuten del agente de CodeDeployPara determinar la versioacuten del agente de CodeDeploy que se estaacute ejecutando en una instancia puedeproceder de dos maneras

Important

La versioacuten miacutenima admitida del agente de CodeDeploy es la 110 El uso de un agente deCodeDeploy anterior podriacutea producir un error en las implementaciones

La primera posible a partir de la versioacuten 101854 del agente de CodeDeploy consiste en observar elnuacutemero de versioacuten en unversionen la instancia La tabla siguiente muestra la ubicacioacuten y un ejemplo decadena de versioacuten para los distintos sistemas operativos compatibles

Sistema operativo Ubicacioacuten del archivo Ejemplo de cadenaagent_version

Amazon Linux y Red HatEnterprise Linux (RHEL)

optcodedeploy-agentversion

OFFICIAL_101854_rpm

Servidor Ubuntu optcodedeploy-agentversion

OFFICIAL_101854_deb

Windows Server CProgramDataAmazonCodeDeployversion

OFFICIAL_101854_msi

En segundo lugar puede ejecutar un comando en una instancia para determinar la versioacuten del agente deCodeDeploy

Temasbull Determinar la versioacuten en Amazon Linux o RHEL (p 188)bull Determinacioacuten de la versioacuten en Ubuntu Server (p 189)bull Determinar la versioacuten en Windows Server (p 189)

Determinar la versioacuten en Amazon Linux o RHELInicie sesioacuten en la instancia y ejecute el comando siguiente

sudo yum info codedeploy-agent

Versioacuten de API 2014-10-06188

AWS CodeDeploy Guiacutea del usuarioInstalacioacuten del agente de CodeDeploy

Determinacioacuten de la versioacuten en Ubuntu ServerInicie sesioacuten en la instancia y ejecute el comando siguiente

sudo dpkg -s codedeploy-agent

Determinar la versioacuten en Windows ServerInicie sesioacuten en la instancia y ejecute el comando siguiente

sc qdescription codedeployagent

Instalacioacuten del agente de CodeDeployPara utilizar CodeDeploy en las instancias EC2 o los servidores en las instalaciones primero debeinstalarse el agente de CodeDeploy Recomendamos instalar y actualizar el agente de CodeDeployconAWS Systems Manager para obtener maacutes informacioacuten acerca de Systems Manager consulteiquestQueacutees AWS Systems Manager Puede configurar la instalacioacuten y las actualizaciones programadas del agentede CodeDeploy con Systems Manager en la consola al crear los grupos de implementacioacuten

Tambieacuten puede instalar el agente de CodeDeploy directamente desde un bucket de S3 con la liacutenea decomandos

Temasbull Instale el agente de CodeDeploy medianteAWS Systems Manager (p 189)bull Instalacioacuten del agente de CodeDeploy con la liacutenea de comandos (p 190)

Instale el agente de CodeDeploy medianteAWS SystemsManagerPuede utilizar elAWS Management Consoleo elAWS CLIPara instalar el agente de CodeDeploy en susinstancias de Amazon EC2 o en las instalaciones conAWS Systems Manager Puede elegir entre instalaruna versioacuten especiacutefica o instalar siempre la uacuteltima versioacuten del agente Para obtener maacutes informacioacutenacerca de AWS Systems Manager consulte iquestQueacute es AWS Systems Manager

Uso deAWS Systems Manageres el meacutetodo recomendado para instalar y actualizar el agente deCodeDeploy Tambieacuten puede instalar el agente de CodeDeploy desde un bucket de Amazon S3 Paraobtener maacutes informacioacuten acerca del uso del enlace de descarga de Amazon S3 consulte Instalacioacuten delagente de CodeDeploy con la liacutenea de comandos (p 190)

Temasbull Requisitos previos (p 189)bull Instalacioacuten del agente de CodeDeploy (p 190)

Requisitos previosSiga los pasos deIntroduccioacuten a CodeDeploy (p 35)para configurar los permisos de IAM y elAWS CLI

Si instala el agente de CodeDeploy en un servidor en las instalaciones con Systems Managerdebe registrar el servidor local en Amazon EC2 Systems Manager Para obtener maacutes informacioacutenconsulteConfiguracioacuten de Systems Manager en entornos hiacutebridosen laAWS Systems ManagerGuiacutea delusuario de

Versioacuten de API 2014-10-06189

AWS CodeDeploy Guiacutea del usuarioInstalacioacuten del agente de CodeDeploy

Instalacioacuten del agente de CodeDeploy

Antes de utilizar Systems Manager para instalar el agente de CodeDeploy debe asegurarse de que lainstancia esteacute configurada correctamente para Systems Manager

Instalacioacuten o actualizacioacuten del agente de SSM

En una instancia de Amazon EC2 el agente de CodeDeploy requiere que la instancia ejecute la versioacuten232740 o posterior Antes de instalar el agente de CodeDeploy actualice o instale el agente de SSM enla instancia si auacuten no lo ha hecho

Las AMI de Amazon EC2 siguientes vienen con el agente de SSM preinstalado

bull AMI de Windows Server 2008-2012 R2 publicadas en noviembre de 2016 o posteriormentebull Windows Server 2016 y 2019bull Amazon Linux y Amazon Linux 2bull Ubuntu Server 1604 y 1804bull Optimizado para Amazon ECS

Para obtener informacioacuten sobre coacutemo instalar o actualizar el agente de SSM en una instancia conLinux consulteInstalacioacuten y configuracioacuten del agente de SSM en instancias de Linuxen laAWS SystemsManagerGuiacutea del usuario de

Para obtener informacioacuten acerca de la instalacioacuten o actualizacioacuten del agente de SSM en una instancia conWindows Server consulteInstalacioacuten y configuracioacuten del agente SSM en instancias de Windowsen laAWSSystems ManagerGuiacutea del usuario de

(Opcional) Verifique los prerrequisitos de Systems Manager

Antes de utilizar Run Command de Systems Manager para instalar el agente de CodeDeploy verifiqueque las instancias cumplen los requisitos miacutenimos de Systems Manager Para obtener maacutes informacioacutenconsulteConfiguracioacuten deAWS Systems Manageren laAWS Systems ManagerGuiacutea del usuario de

Instalacioacuten del agente de CodeDeploy

Con SSM puede instalar CodeDeploy una vez o configurar una programacioacuten para instalar nuevasversiones

Para instalar el agente de CodeDeploy elija laAWSCodeDeployAgentpaquete mientras sigues los pasosdeInstalacioacuten o actualizacioacuten de paquetes conAWS Systems Managerdistribuidor

Instalacioacuten del agente de CodeDeploy con la liacutenea de comandosNote

Le recomendamos que instale el agente de CodeDeploy conAWS Systems Managerpara poderconfigurar las actualizaciones programadas del agente Para obtener maacutes informacioacuten consulteInstale el agente de CodeDeploy medianteAWS Systems Manager (p 189)

Utilice los siguientes temas para instalar y ejecutar el agente de CodeDeploy mediante la liacutenea decomandos

Temasbull Instale el agente CodeDeploy para Amazon Linux o RHEL (p 191)bull Instale el agente de CodeDeploy para Ubuntu Server (p 192)bull Instale el agente de CodeDeploy para Windows Server (p 193)

Versioacuten de API 2014-10-06190

AWS CodeDeploy Guiacutea del usuarioInstalacioacuten del agente de CodeDeploy

Instale el agente CodeDeploy para Amazon Linux o RHELInicie sesioacuten en la instancia y ejecute uno a uno los comandos siguientes Ejecucioacuten del comandosudoyum updateprimero se considera una praacutectica recomendada cuando se utilizayumPara instalar paquetespero puede omitirlo si no desea actualizar todos sus paquetes

Note

En el cuarto comandohomeec2-userrepresenta el nombre de usuario predeterminadopara una instancia de Amazon Linux o RHEL Amazon EC2 Si la instancia se creoacute con unaAMI personalizada el propietario de la AMI puede haber especificado otro nombre de usuariopredeterminado

sudo yum update

sudo yum install ruby

sudo yum install wget

Para limpiar la AMI de cualquier informacioacuten de almacenamiento en cacheacute del agente anterior ejecute elsiguiente script

binbashCODEDEPLOY_BIN=optcodedeploy-agentbincodedeploy-agent$CODEDEPLOY_BIN stopyum erase codedeploy-agent -y

cd homeec2-user

wget httpsbucket-names3region-identifieramazonawscomlatestinstall

nombre-bucketes el nombre del bucket de Amazon S3 que contiene los archivos del kit de recursosde CodeDeploy de su regioacutenIdentificador de la regioacutenes el identificador de tu regioacuten Porejemplo para la regioacuten EE UU Este (Ohio) sustituyanombre-bucketconaws-codedeploy-us-east-2y sustituirIdentificador de la regioacutenconus-east-2 Para obtener una lista de losnombres de los buckets y los identificadores de regioacuten consulteNombres de buckets del kit de recursos porregioacuten (p 449)

chmod +x install

Para instalar la uacuteltima versioacuten del agente de CodeDeploy

bullsudo install auto

Para instalar una versioacuten especiacutefica del agente de CodeDeploy

bullsudo install auto -v releasescodedeploy-agent-rpm

Para comprobar que el servicio se estaacute ejecutando ejecute el siguiente comando

sudo service codedeploy-agent status

Versioacuten de API 2014-10-06191

AWS CodeDeploy Guiacutea del usuarioInstalacioacuten del agente de CodeDeploy

Si el agente de CodeDeploy estaacute instalado y se estaacute ejecutando veraacute el mensajeThe AWS CodeDeployagent is running

Si ve el mensaje error No AWS CodeDeploy agent running inicie el servicio y ejecute uno poruno los dos comandos siguientes

sudo service codedeploy-agent start

sudo service codedeploy-agent status

Instale el agente de CodeDeploy para Ubuntu ServerNote

Le recomendamos que instale el agente de CodeDeploy conAWS Systems Managerpara poderconfigurar las actualizaciones programadas del agente Para obtener maacutes informacioacuten consulteInstale el agente de CodeDeploy medianteAWS Systems Manager (p 189)

Para instalar el agente de CodeDeploy en Ubuntu Server

1 Inicie sesioacuten en la instancia2 Lleve a cabo una de las siguientes acciones en funcioacuten de la versioacuten de Ubuntu Server

bull En Ubuntu Server 1404 introduzca los siguientes comandos uno tras otro

sudo apt-get update

sudo apt-get install ruby20

sudo apt-get install wget

bull En Ubuntu Server 1604 y versiones posteriores introduzca los siguientes comandos uno tras otro

sudo apt update

sudo apt install ruby-full

sudo apt install wget

3 Escriba el siguiente comando

cd homeubuntu

homeubunturepresenta el nombre de usuario predeterminado para una instancia de UbuntuServer Si la instancia se creoacute con una AMI personalizada el propietario de la AMI puede haberespecificado otro nombre de usuario predeterminado

4 Escriba el siguiente comando

wget httpsbucket-names3region-identifieramazonawscomlatestinstall

nombre-bucketes el nombre del bucket de Amazon S3 que contiene los archivos del kit de recursosde CodeDeploy de su regioacutenIdentificador de la regioacutenes el identificador de tu regioacuten Porejemplo para la regioacuten EE UU Este (Ohio) sustituyanombre-bucketconaws-codedeploy-

Versioacuten de API 2014-10-06192

AWS CodeDeploy Guiacutea del usuarioInstalacioacuten del agente de CodeDeploy

us-east-2y sustituirIdentificador de la regioacutenconus-east-2 Para obtener una lista delos nombres de los buckets y los identificadores de regioacuten consulteNombres de buckets del kit derecursos por regioacuten (p 449)

5 Escriba el siguiente comando

chmod +x install

6 Realice alguna de las siguientes acciones

bull Para instalar la uacuteltima versioacuten del agente de CodeDeploy en Ubuntu 1404 1604 y 1804

sudo install auto

bull Para instalar la uacuteltima versioacuten del agente de CodeDeploy en Ubuntu 2004Note

Escribir la salida en un archivo de registro temporal es una solucioacuten alternativa que debeutilizarse mientras abordamos un error conocido con elinstallscript en Ubuntu 2004

sudo install auto gt tmplogfile

bull Para instalar una versioacuten especiacutefica del agente de CodeDeploy en Ubuntu 1404 1604 y 1804

sudo install auto -v releasescodedeploy-agent-deb

bull Para instalar una versioacuten especiacutefica del agente de CodeDeploy en Ubuntu 2004Note

Escribir la salida en un archivo de registro temporal es una solucioacuten alternativa que debeutilizarse mientras abordamos un error conocido con elinstallscript en Ubuntu 2004

sudo install auto -v releasescodedeploy-agent-deb gt tmplogfile

Para comprobar que el servicio se estaacute ejecutando

1 Escriba el siguiente comando

sudo service codedeploy-agent status

Si el agente de CodeDeploy estaacute instalado y se estaacute ejecutando veraacute el mensajeThe AWSCodeDeploy agent is running

2 Si ve el mensaje error No AWS CodeDeploy agent running inicie el servicio y ejecute unopor uno los dos comandos siguientes

sudo service codedeploy-agent start

sudo service codedeploy-agent status

Instale el agente de CodeDeploy para Windows ServerEn las instancias de Windows Server puede utilizar uno de estos meacutetodos para descargar e instalar elagente de CodeDeploy

Versioacuten de API 2014-10-06193

AWS CodeDeploy Guiacutea del usuarioInstalacioacuten del agente de CodeDeploy

bull UsarAWS Systems Manager(recomendado)bull Ejecutar una serie de comandos de Windows PowerShellbull Elegir un enlace de descarga directabull Ejecute un comando de copia de Amazon S3

Note

La carpeta en la que estaacute instalado el agente de CodeDeploy esCProgram DataAmazonCodeDeploy Aseguacuterese de que no haya cruces de directorios ni enlaces simboacutelicos en estaruta

Temasbull Utilizar Systems Manager (p 194)bull Usar Windows PowerShell (p 194)bull Usar un enlace directo (p 195)bull Utilizar un comando de copia de Amazon S3 (p 196)

Utilizar Systems Manager

Siga las instrucciones enInstale el agente de CodeDeploy medianteAWS Systems Manager (p 189)parainstalar el agente de CodeDeploy

Usar Windows PowerShell

Inicie sesioacuten en la instancia y ejecute los comandos siguientes en Windows PowerShell

1 Es necesario que todos los scripts y archivos de configuracioacuten que se hayan descargado de Internetesteacuten firmados por un editor de confianza Si se le pide que cambie la poliacutetica de ejecucioacuten escribaY

Set-ExecutionPolicy RemoteSigned

2 Cargue AWS Tools for Windows PowerShell

Import-Module AWSPowerShell

3 Cree un directorio donde se pueda descargar el archivo de instalacioacuten del agente de CodeDeploy

New-Item -Path ctemp -ItemType directory -Force

4 ConfigurarAWScredenciales que utilizan laSet-AWSCredentialyInitialize-AWSDefaultConfigurationcommands Para obtener maacutes informacioacuten consulteUsodeAWScredencialesen laAWSherramientas para la Guiacutea del usuario de PowerShell

5 Descargue el archivo de instalacioacuten del agente de CodeDeploy

Para instalar la uacuteltima versioacuten del agente de CodeDeploy

bullpowershellexe -Command Read-S3Object -BucketName bucket-name -Key latestcodedeploy-agentmsi -File ctempcodedeploy-agentmsi

Para instalar una versioacuten especiacutefica del agente de CodeDeploy

Versioacuten de API 2014-10-06194

AWS CodeDeploy Guiacutea del usuarioInstalacioacuten del agente de CodeDeploy

bullpowershellexe -Command Read-S3Object -BucketName bucket-name -Key releasescodedeploy-agent-msi -File ctempcodedeploy-agentmsi

nombre-bucketes el nombre del bucket de Amazon S3 que contiene los archivos del kit de recursosde CodeDeploy para su regioacuten Por ejemplo para la regioacuten EE UU Este (Ohio) sustituyanombre-bucketconaws-codedeploy-us-east-2 Para obtener una lista de los nombres de los bucketsconsulteNombres de buckets del kit de recursos por regioacuten (p 449)

6 Ejecute el archivo de instalacioacuten del agente de CodeDeploy

ctempcodedeploy-agentmsi quiet l ctemphost-agent-install-logtxt

Para comprobar que el servicio se estaacute ejecutando ejecute el siguiente comando

powershellexe -Command Get-Service -Name codedeployagent

Si el agente de CodeDeploy se acaba de instalar y no se ha iniciado despueacutes de ejecutar laGet-Servicecomando enEstado deberiacuteas verStart

Status Name DisplayName------ ---- -----------Start codedeployagent CodeDeploy Host Agent Service

Si el agente de CodeDeploy ya se estaacute ejecutando despueacutes de ejecutar laGet-Servicecomando enEstadodeberiacuteas verRunning

Status Name DisplayName------ ---- -----------Running codedeployagent CodeDeploy Host Agent Service

Usar un enlace directo

Si la configuracioacuten de seguridad del navegador en la instancia de Windows Server proporciona lospermisos (por ejemplo parahttps3amazonawscom) puede utilizar un enlace directo de suregioacuten para descargar el agente de CodeDeploy y luego ejecutar el instalador manualmente

Nombre de la regioacuten de Enlace de descarga

EE UU Este (Ohio) httpsaws-codedeploy-us-east-2s3amazonawscomlatestcodedeploy-agentmsi

EEUU Este (Norte de Virginia) httpsaws-codedeploy-us-east-1s3amazonawscomlatestcodedeploy-agentmsi

EEUU Oeste (Norte de California) httpsaws-codedeploy-us-west-1s3amazonawscomlatestcodedeploy-agentmsi

Versioacuten de API 2014-10-06195

AWS CodeDeploy Guiacutea del usuarioInstalacioacuten del agente de CodeDeploy

Nombre de la regioacuten de Enlace de descarga

EE UU Oeste (Oregoacuten) httpsaws-codedeploy-us-west-2s3amazonawscomlatestcodedeploy-agentmsi

Canadaacute (Central) httpsaws-codedeploy-ca-central-1s3amazonawscomlatestcodedeploy-agentmsi

Europa (Irlanda) httpsaws-codedeploy-eu-west-1s3amazonawscomlatestcodedeploy-agentmsi

Europe (London) httpsaws-codedeploy-eu-west-2s3amazonawscomlatestcodedeploy-agentmsi

Europa (Pariacutes) httpsaws-codedeploy-eu-west-3s3amazonawscomlatestcodedeploy-agentmsi

Europa (Fraacutencfort) httpsaws-codedeploy-eu-central-1s3amazonawscomlatestcodedeploy-agentmsi

Asia-Paciacutefico (Hong Kong) httpsaws-codedeploy-ap-east-1s3ap-east-1amazonawscomlatestcodedeploy-agentmsi

Asia-Paciacutefico (Tokio) httpsaws-codedeploy-ap-northeast-1s3amazonawscomlatestcodedeploy-agentmsi

Asia-Paciacutefico (Seuacutel) httpsaws-codedeploy-ap-northeast-2s3amazonawscomlatestcodedeploy-agentmsi

Asia Paciacutefico (Singapur) httpsaws-codedeploy-ap-southeast-1s3amazonawscomlatestcodedeploy-agentmsi

Asia-Paciacutefico (Siacutedney) httpsaws-codedeploy-ap-southeast-2s3amazonawscomlatestcodedeploy-agentmsi

Asia-Paciacutefico (Mumbai) httpsaws-codedeploy-ap-south-1s3amazonawscomlatestcodedeploy-agentmsi

Ameacuterica del Sur (Satildeo Paulo) httpsaws-codedeploy-sa-east-1s3amazonawscomlatestcodedeploy-agentmsi

Utilizar un comando de copia de Amazon S3

Si el archivo deAWS CLIestaacute instalado en la instancia puede utilizar Amazon S3CPPara descargar elagente de CodeDeploy y luego ejecutar el instalador manualmente Para obtener informacioacuten consulteInstalacioacuten de la AWS Command Line Interface en Microsoft Windows

Versioacuten de API 2014-10-06196

AWS CodeDeploy Guiacutea del usuarioInstalacioacuten del agente de CodeDeploy

Nombre de la regioacuten de Comando de copia de Amazon S3

EE UU Este (Ohio)aws s3 cp s3aws-codedeploy-us-east-2latestcodedeploy-agentmsi codedeploy-agentmsi

EEUU Este (Norte de Virginia)aws s3 cp s3aws-codedeploy-us-east-1latestcodedeploy-agentmsi codedeploy-agentmsi

EEUU Oeste (Norte de California)aws s3 cp s3aws-codedeploy-us-west-1latestcodedeploy-agentmsi codedeploy-agentmsi

EE UU Oeste (Oregoacuten)aws s3 cp s3aws-codedeploy-us-west-2latestcodedeploy-agentmsi codedeploy-agentmsi

Canadaacute (Central)aws s3 cp s3aws-codedeploy-ca-central-1latestcodedeploy-agentmsi codedeploy-agentmsi

Europa (Irlanda)aws s3 cp s3aws-codedeploy-eu-west-1latestcodedeploy-agentmsi codedeploy-agentmsi

Europe (London)aws s3 cp s3aws-codedeploy-eu-west-2latestcodedeploy-agentmsi codedeploy-agentmsi

Europa (Pariacutes)aws s3 cp s3aws-codedeploy-eu-west-3latestcodedeploy-agentmsi codedeploy-agentmsi

Europa (Fraacutencfort)aws s3 cp s3aws-codedeploy-eu-central-1latestcodedeploy-agentmsi codedeploy-agentmsi

Asia-Paciacutefico (Hong Kong)aws s3 cp s3aws-codedeploy-ap-east-1latestcodedeploy-agentmsi codedeploy-agentmsi

Asia-Paciacutefico (Tokio)aws s3 cp s3aws-codedeploy-ap-northeast-1latestcodedeploy-agentmsi codedeploy-agentmsi

Asia-Paciacutefico (Seuacutel)aws s3 cp s3aws-codedeploy-ap-northeast-2latestcodedeploy-agentmsi codedeploy-agentmsi

Versioacuten de API 2014-10-06197

AWS CodeDeploy Guiacutea del usuarioActualizacioacuten del agente de CodeDeploy

Nombre de la regioacuten de Comando de copia de Amazon S3

Asia Paciacutefico (Singapur)aws s3 cp s3aws-codedeploy-ap-southeast-1latestcodedeploy-agentmsi codedeploy-agentmsi

Asia-Paciacutefico (Siacutedney)aws s3 cp s3aws-codedeploy-ap-southeast-2latestcodedeploy-agentmsi codedeploy-agentmsi

Asia-Paciacutefico (Mumbai)aws s3 cp s3aws-codedeploy-ap-south-1latestcodedeploy-agentmsi codedeploy-agentmsi

Ameacuterica del Sur (Satildeo Paulo)aws s3 cp s3aws-codedeploy-sa-east-1latestcodedeploy-agentmsi codedeploy-agentmsi

Actualizacioacuten del agente de CodeDeployPuede configurar actualizaciones automaacuteticas programadas del agente de CodeDeploy en todoslos sistemas operativos compatibles medianteAWS Systems Manager Tambieacuten puede forzar lasactualizaciones en todos los sistemas operativos compatibles ejecutando un comando en una instancia

Temasbull Actualizar el agente de CodeDeploy en Amazon Linux o RHEL (p 198)bull Actualizar el agente de CodeDeploy en Ubuntu Server (p 198)bull Actualizar el agente de CodeDeploy en Windows Server (p 199)

Actualizar el agente de CodeDeploy en Amazon Linux o RHELPara configurar actualizaciones automaacuteticas programadas del agente de CodeDeploy medianteAWSSystems Manager siga los pasos que se indican enInstale el agente de CodeDeploy conAWS SystemsManager

Si desea forzar una actualizacioacuten del agente de CodeDeploy inicie sesioacuten en la instancia y ejecute elcomando siguiente

sudo optcodedeploy-agentbininstall auto

Actualizar el agente de CodeDeploy en Ubuntu ServerPara configurar actualizaciones automaacuteticas programadas del agente de CodeDeploy medianteAWSSystems Manager siga los pasos que se indican enInstale el agente de CodeDeploy conAWS SystemsManager

Si desea forzar una actualizacioacuten del agente de CodeDeploy inicie sesioacuten en la instancia y ejecute elcomando siguiente

sudo optcodedeploy-agentbininstall auto

Versioacuten de API 2014-10-06198

AWS CodeDeploy Guiacutea del usuarioActualizacioacuten del agente de CodeDeploy

Actualizar el agente de CodeDeploy en Windows ServerPuede habilitar las actualizaciones automaacuteticas del agente de CodeDeploy conAWS Systems ManagerCon Systems Manager puede configurar una programacioacuten de actualizacioacuten de sus instancias de AmazonEC2 o en las instalaciones mediante la creacioacuten de una asociacioacuten con Systems Manager State ManagerTambieacuten puede actualizar el agente de CodeDeploy mediante la desinstalacioacuten de la versioacuten actual einstala una maacutes reciente

Temasbull Configuracioacuten de la actualizacioacuten automaacutetica del agente de CodeDeploy conAWS Systems

Manager (p 199)bull Actualizar manualmente el agente de CodeDeploy (p 199)bull (Obsolado) Actualizacioacuten del agente de CodeDeploy con Windows Server Updater (p 199)

Configuracioacuten de la actualizacioacuten automaacutetica del agente de CodeDeploy conAWSSystems Manager

Para configurar Systems Manager y habilitar las actualizaciones automaacuteticas del agente de CodeDeploysiga las instrucciones deInstale el agente de CodeDeploy medianteAWS Systems Manager

Actualizar manualmente el agente de CodeDeploy

Para actualizar el agente de CodeDeploy manualmente puede instalar la versioacuten maacutes reciente desdela CLI o utilizar Systems Manager Siga las instrucciones enInstalacioacuten del agente de CodeDeploy Serecomienda desinstalar las versiones anteriores del agente de CodeDeploy siguiendo las instruccionesdeDesinstalacioacuten del agente de CodeDeploy

(Obsolado) Actualizacioacuten del agente de CodeDeploy con Windows Server UpdaterNote

El actualizador del agente de CodeDeploy para Windows Server estaacute obsoleto y no se actualizaraacutea ninguna versioacuten posterior a la 10111597

Para habilitar la actualizacioacuten automaacutetica del agente de CodeDeploy instale el actualizador del agente deCodeDeploy para Windows Server en las instancias nuevas o ya existentes El actualizador compruebaperioacutedicamente si existen versiones nuevas Cuando detecta una versioacuten nueva del agente el actualizadordesinstala la versioacuten actual si la hay antes de instalar la uacuteltima versioacuten

Si una implementacioacuten ya estaacute en curso cuando el actualizador detecta una nueva versioacuten continuaraacutehasta su finalizacioacuten Si se intenta iniciar una implementacioacuten durante el proceso de actualizacioacuten laimplementacioacuten falla

Si desea forzar una actualizacioacuten del agente de CodeDeploy siga las instrucciones deInstale el agente deCodeDeploy para Windows Server (p 193)

En las instancias de Windows Server puede descargar e instalar el actualizador del agente deCodeDeploy mediante la ejecucioacuten de comandos de Windows PowerShell utilizando un enlace dedescarga directa o ejecutando un comando copy de Amazon S3

Temasbull Usar Windows PowerShell (p 200)bull Usar un enlace directo (p 200)bull Utilizar un comando de copia de Amazon S3 (p 201)

Versioacuten de API 2014-10-06199

AWS CodeDeploy Guiacutea del usuarioActualizacioacuten del agente de CodeDeploy

Usar Windows PowerShell

Inicie sesioacuten en la instancia y ejecute uno por uno los comandos siguientes en Windows PowerShell

Set-ExecutionPolicy RemoteSigned

Si se le pide que cambie la poliacutetica de ejecucioacuten elija Y para que Windows PowerShell requiera que todoslos scripts y archivos de configuracioacuten descargados de Internet esteacuten firmados por un editor de confianza

Import-Module AWSPowerShell

New-Item -Path ctemp -ItemType directory -Force

powershellexe -Command Read-S3Object -BucketName bucket-name -Key latestcodedeploy-agent-updatermsi -File ctempcodedeploy-agent-updatermsi

ctempcodedeploy-agent-updatermsi quiet l ctemphost-agent-updater-logtxt

powershellexe -Command Get-Service -Name codedeployagent

nombre-bucketes el nombre del bucket de Amazon S3 que contiene los archivos del kit de recursosde CodeDeploy de su regioacuten Por ejemplo para la regioacuten EE UU Este (Ohio) sustituyanombre-bucketconaws-codedeploy-us-east-2 Para obtener una lista de los nombres de los bucketsconsulteNombres de buckets del kit de recursos por regioacuten (p 449)

Si desea averiguar un error en el proceso de actualizacioacuten escriba el comando siguiente para abrir elarchivo de registro del actualizador del agente de CodeDeploy

notepad CProgramDataAmazonCodeDeployUpdaterlogcodedeploy-agentupdaterlog

Usar un enlace directo

Si la configuracioacuten de seguridad del navegador en la instancia de Windows Server proporciona lospermisos necesarios (por ejemplo para https3amazonawscom ) puede utilizar un enlacedirecto para descargar el actualizador del agente de CodeDeploy Escriba la siguiente informacioacuten en labarra de direcciones del navegador y a continuacioacuten descargue y ejecute el instalador manualmente

Nombre de la regioacuten de Enlace de descarga

EE UU Este (Ohio) httpsaws-codedeploy-us-east-2s3amazonawscomlatestcodedeploy-agent-updatermsi

EEUU Este (Norte de Virginia) httpsaws-codedeploy-us-east-1s3amazonawscomlatestcodedeploy-agent-updatermsi

EEUU Oeste (Norte de California) httpsaws-codedeploy-us-west-1s3amazonawscomlatestcodedeploy-agent-updatermsi

EE UU Oeste (Oregoacuten) httpsaws-codedeploy-us-west-2s3amazonawscomlatestcodedeploy-agent-updatermsi

Versioacuten de API 2014-10-06200

AWS CodeDeploy Guiacutea del usuarioActualizacioacuten del agente de CodeDeploy

Nombre de la regioacuten de Enlace de descarga

Canadaacute (Central) httpsaws-codedeploy-ca-central-1s3amazonawscomlatestcodedeploy-agent-updatermsi

Europa (Irlanda) httpsaws-codedeploy-eu-west-1s3amazonawscomlatestcodedeploy-agent-updatermsi

Europe (London) httpsaws-codedeploy-eu-west-2s3amazonawscomlatestcodedeploy-agent-updatermsi

Europa (Pariacutes) httpsaws-codedeploy-eu-west-3s3amazonawscomlatestcodedeploy-agent-updatermsi

Europa (Fraacutencfort) httpsaws-codedeploy-eu-central-1s3amazonawscomlatestcodedeploy-agent-updatermsi

Asia-Paciacutefico (Hong Kong) httpsaws-codedeploy-ap-east-1s3amazonawscomlatestcodedeploy-agent-updatermsi

Asia-Paciacutefico (Tokio) httpsaws-codedeploy-ap-northeast-1s3amazonawscomlatestcodedeploy-agent-updatermsi

Asia-Paciacutefico (Seuacutel) httpsaws-codedeploy-ap-northeast-2s3amazonawscomlatestcodedeploy-agent-updatermsi

Asia Paciacutefico (Singapur) httpsaws-codedeploy-ap-southeast-1s3amazonawscomlatestcodedeploy-agent-updatermsi

Asia-Paciacutefico (Siacutedney) httpsaws-codedeploy-ap-southeast-2s3amazonawscomlatestcodedeploy-agent-updatermsi

Asia-Paciacutefico (Mumbai) httpsaws-codedeploy-ap-south-1s3amazonawscomlatestcodedeploy-agent-updatermsi

Ameacuterica del Sur (Satildeo Paulo) httpsaws-codedeploy-sa-east-1s3amazonawscomlatestcodedeploy-agent-updatermsi

Utilizar un comando de copia de Amazon S3

Si el archivo deAWS CLIestaacute instalado en la instancia puede utilizar Amazon S3CPPara descargarel actualizador del agente de CodeDeploy y luego ejecutar el instalador manualmente Para obtenerinformacioacuten consulte Instalacioacuten de la AWS Command Line Interface en Microsoft Windows

Versioacuten de API 2014-10-06201

AWS CodeDeploy Guiacutea del usuarioActualizacioacuten del agente de CodeDeploy

Nombre de la regioacuten de Comando de copia de Amazon S3

EE UU Este (Ohio)aws s3 cp s3aws-codedeploy-us-east-2latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

EEUU Este (Norte de Virginia)aws s3 cp s3aws-codedeploy-us-east-1latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

EEUU Oeste (Norte de California)aws s3 cp s3aws-codedeploy-us-west-1latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

EE UU Oeste (Oregoacuten)aws s3 cp s3aws-codedeploy-us-west-2latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Canadaacute (Central)aws s3 cp s3aws-codedeploy-ca-central-1latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Europa (Irlanda)aws s3 cp s3aws-codedeploy-eu-west-1latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Europe (London)aws s3 cp s3aws-codedeploy-eu-west-2latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Europa (Pariacutes)aws s3 cp s3aws-codedeploy-eu-west-3latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Europa (Fraacutencfort)aws s3 cp s3aws-codedeploy-eu-central-1latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Asia-Paciacutefico (Hong Kong)aws s3 cp s3aws-codedeploy-ap-east-1latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Asia-Paciacutefico (Tokio)aws s3 cp s3aws-codedeploy-ap-northeast-1latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Asia-Paciacutefico (Seuacutel)aws s3 cp s3aws-codedeploy-ap-northeast-2latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Versioacuten de API 2014-10-06202

AWS CodeDeploy Guiacutea del usuarioDesinstalacioacuten del agente de CodeDeploy

Nombre de la regioacuten de Comando de copia de Amazon S3

Asia Paciacutefico (Singapur)aws s3 cp s3aws-codedeploy-ap-southeast-1latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Asia-Paciacutefico (Siacutedney)aws s3 cp s3aws-codedeploy-ap-southeast-2latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Asia-Paciacutefico (Mumbai)aws s3 cp s3aws-codedeploy-ap-south-1latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Ameacuterica del Sur (Satildeo Paulo)aws s3 cp s3aws-codedeploy-sa-east-1latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Desinstalacioacuten del agente de CodeDeployPuede eliminar el agente de CodeDeploy de las instancias en las que ya no sea necesario o cuandodesee realizar una instalacioacuten desde cero

Desinstale el agente CodeDeploy de Amazon Linux o RHELPara desinstalar el agente de CodeDeploy inicie sesioacuten en la instancia y ejecute el comando siguiente

sudo yum erase codedeploy-agent

Desinstalacioacuten del agente de CodeDeploy de Ubuntu ServerPara desinstalar el agente de CodeDeploy inicie sesioacuten en la instancia y ejecute el comando siguiente

sudo dpkg --purge codedeploy-agent

Desinstalar el agente de CodeDeploy de Windows ServerPara desinstalar el agente de CodeDeploy inicie sesioacuten en la instancia y ejecute uno por uno los trescomandos siguientes

wmic

product where name=CodeDeploy Host Agent call uninstall nointeractive

exit

Tambieacuten puede iniciar sesioacuten en la instancia y en el Panel de control abra Programas y caracteriacutesticaselija CodeDeploy Host Agent y seleccione Desinstalar

Versioacuten de API 2014-10-06203

AWS CodeDeploy Guiacutea del usuarioSendCodeDeployRegistros de agentes de aCloudWatch

SendCodeDeployRegistros de agentes deaCloudWatchPuede enviarCodeDeploymeacutetrica de agente y datos de registro enCloudWatchUtilizandoelunificadoCloudWatchagente o maacutes sencillamente elCloudWatchagente

Utilice las siguientes instrucciones para instalar elCloudWatchagente y configurarlo para usarloconCodeDeployagentes

Requisitos previosAntes de empezar complete las siguientes tareas

bull Instalacioacuten delCodeDeployagente y aseguacuterate de que se esteacute ejecutando Para obtener maacutesinformacioacuten consulte Instalacioacuten del agente de CodeDeploy (p 189) y Verifique que el agente deCodeDeploy esteacute en ejecucioacuten (p 186)

bull Instalacioacuten delCloudWatchagente Para obtener maacutes informacioacuten consulteInstalacioacutendeCloudWatchagente

bull Antildeada los siguientes permisos a laCodeDeployPerfil de instancia IAMbull CloudWatchLogsFullAccesobull CloudWatchAgentServerPoliacutetica de

Para obtener maacutes informacioacuten sobre elCodeDeployperfil de instancia consultePaso 4 Crear un perfil deinstancias de IAM para sus instancias Amazon EC2 (p 43)deIntroduccioacuten a CodeDeploy (p 35)

Configuracioacuten delCloudWatchagente pararecopilarCodeDeployRegistros dePuede configurar elCloudWatchagente mediante un paso a paso por un asistente o creando o editandomanualmente un archivo de configuracioacuten

Para configurar laCloudWatchagente mediante el asistente (Linux)

1 Ejecute el asistente tal y como se describe enEjecute laCloudWatchasistente de configuracioacuten delagente de

2 En el asistente cuando se le preguntaDo you want to monitor any log filesentrar13 Especifique laCodeDeployarchivo de registro de agente seguacuten se indica a continuacioacuten

1 ParaLog file pathintroduzca la ruta de acceso para elCodeDeployarchivo de registro porejemplovarlogawscodedeploy-agentcodedeploy-agentlog

2 ParaLog group nameEscriba un nombre de grupo de registros por ejemplocodedeploy-agent-log

3 ParaLog stream nameEscriba un nombre de secuencia de registros porejemploinstance_id-codedeploy-agent-log

4 Cuando se le preguntoacuteDo you want to specify any additional log files introduzca15 Especifique laCodeDeployregistros de despliegue de agentes seguacuten se indica a continuacioacuten

1 ParaLog file pathintroduzca la ruta de acceso para elCodeDeployarchivo de registro dedespliegue por ejemplooptcodedeploy-agentdeployment-rootdeployment-logscodedeploy-agent-deploymentslog

2 ParaLog group nameEscriba un nombre de grupo de registros por ejemplocodedeploy-agent-deployment-log

Versioacuten de API 2014-10-06204

AWS CodeDeploy Guiacutea del usuarioSendCodeDeployRegistros de agentes de aCloudWatch

3 ParaLog stream nameEscriba un nombre de secuencia de registros porejemploinstance_id-codedeploy-agent-deployment-log

6 Cuando se le preguntoacuteDo you want to specify any additional log files introduzca17 Especifique laCodeDeployregistros de agente actualizador de la siguiente manera

1 ParaLog file pathintroduzca la ruta de acceso para elCodeDeployarchivo de registro delactualizador por ejemplotmpcodedeploy-agentupdatelog

2 ParaLog group nameEscriba un nombre de grupo de registros por ejemplocodedeploy-agent-updater-log

3 ParaLog stream nameEscriba un nombre de secuencia de registros porejemploinstance_id-codedeploy-agent-updater-log

Para configurar laCloudWatchagente mediante el asistente (Windows)

1 Ejecute el asistente tal y como se describe enEjecute laCloudWatchasistente de configuracioacuten delagente de

2 En el asistente cuando se le preguntaDo you want to monitor any customized logfilesentrar1

3 Especifique laCodeDeployarchivo de registro de la siguiente manera

1 ParaLog file pathintroduzca la ruta o elCodeDeployarchivo de registro de agente porejemploCProgramDataAmazonCodeDeploylogcodedeploy-agent-windows-logtxt

2 ParaLog group nameEscriba un nombre de grupo de registros por ejemplocodedeploy-agent-windows-log

3 ParaLog stream nameEscriba un nombre de secuencia de registros porejemploinstance_id-codedeploy-agent-windows-log

4 Cuando se le preguntoacuteDo you want to specify any additional log files introduzca15 Especifique laCodeDeployregistros de despliegue de agentes seguacuten se indica a continuacioacuten

1 ParaLog file pathintroduzca la ruta de accesoCodeDeployarchivo de registro de desplieguepor ejemploCProgramDataAmazonCodeDeploydeployment-logscodedeploy-agent-windows-deploymentslog

2 ParaLog group nameEscriba un nombre de grupo de registros por ejemplocodedeploy-agent-windows-deployment-log

3 ParaLog stream nameEscriba un nombre de secuencia de registros porejemploinstance_id-codedeploy-agent-windows-deployment-log

Para configurar laCloudWatchagente creando o editando manualmente un archivo deconfiguracioacuten (Linux)

1 Cree o edite elCloudWatcharchivo de configuracioacuten del agente tal como se describe enCree o edite deforma manual elCloudWatcharchivo de configuracioacuten del agente de

2 Aseguacuterese de que el archivo se llamaoptawsamazon-cloudwatch-agentetcamazon-cloudwatch-agentjsony que contiene el coacutedigo siguiente

logs logs_collected files collect_list [ file_path varlogawscodedeploy-agentcodedeploy-agentlog

Versioacuten de API 2014-10-06205

AWS CodeDeploy Guiacutea del usuarioSendCodeDeployRegistros de agentes de aCloudWatch

log_group_name codedeploy-agent-log log_stream_name instance_id-agent-log file_path optcodedeploy-agentdeployment-rootdeployment-logscodedeploy-agent-deploymentslog log_group_name codedeploy-agent-deployment-log log_stream_name instance_id-codedeploy-agent-deployment-log file_path tmpcodedeploy-agentupdatelog log_group_name codedeploy-agent-updater-log log_stream_name instance_id-codedeploy-agent-updater-log ]

Para configurar laCloudWatchagente creando o editando manualmente un archivo deconfiguracioacuten (Windows)

1 Cree o edite elCloudWatcharchivo de configuracioacuten del agente tal como se describe enCree o edite deforma manual elCloudWatcharchivo de configuracioacuten del agente de

2 Aseguacuterese de que el archivo se llamaCProgramDataAmazonAmazonCloudWatchAgentamazon-cloudwatch-agentjsony que contiene el coacutedigo siguiente

logs logs_collected files collect_list [ file_path CProgramDataAmazonCodeDeploylogcodedeploy-agent-windows-logtxt log_group_name codedeploy-agent-windows-log log_stream_name instance_id-codedeploy-agent-windows-log file_path CProgramDataAmazonCodeDeploydeployment-logscodedeploy-agent-windows-deploymentslog log_group_name codedeploy-agent-windows-deployment-log log_stream_name instance_id-codedeploy-agent-windows-deployment-log ]

Restablecer elCloudWatchagenteDespueacutes de realizar los cambios reinicie laCloudWatchagente tal y como se describe enComenzarelCloudWatchagente

Versioacuten de API 2014-10-06206

AWS CodeDeploy Guiacutea del usuarioComparacioacuten de instancias de

Amazon EC2 con instancias locales

Trabajo con instancias paraCodeDeploy

CodeDeploy admite implementaciones en instancias que ejecutan Amazon Linux Ubuntu Server Red HatEnterprise Linux (RHEL) y Windows Server

Puede utilizar CodeDeploy para implementar tanto instancias Amazon EC2 y como instancias on-premisesUna instancia on-premises es cualquier dispositivo fiacutesico que no es una instancia Amazon EC2 y quepuede ejecutar el agente de CodeDeploy y conectarse al servicio de puacuteblicosAWSPuntos de enlace deservicio de Puede utilizar CodeDeploy para implementar simultaacuteneamente una aplicacioacuten en instanciasAmazon EC2 en la nube y en equipos de sobremesa en su oficina o en servidores de su propio centro dedatos

Comparacioacuten de instancias de Amazon EC2 coninstancias locales

La siguiente tabla compara las instancias Amazon EC2 y las instancias on-premises

Asunto Instancias de Amazon EC2 Instancias on-premises

Es necesario instalar y ejecutaruna versioacuten del agente deCodeDeploy que sea compatiblecon el sistema operativo que seejecuta en la instancia

Siacute Siacute

La instancia debe poderconectarse a CodeDeploy

Siacute Siacute

Es necesario adjuntar un perfil deinstancias de IAM a la instanciaEl perfil de instancia de IAM debetener permisos para participaren las implementaciones deCodeDeploy Para obtenerinformacioacuten consulte Paso 4Crear un perfil de instancias deIAM para sus instancias AmazonEC2 (p 43)

Siacute No

Es necesario realizar uno delos siguientes procedimientospara autenticar y registrar lasinstancias

bull Crear un usuario de IAM paracada instancia y almacenar

No Siacute

Versioacuten de API 2014-10-06207

AWS CodeDeploy Guiacutea del usuarioTareas de instancia para CodeDeploy

Asunto Instancias de Amazon EC2 Instancias on-premiseslas credenciales de la cuentade usuario de IAM en texto sinformato en la instancia

bull Crear un rol de IAM quepueda asumir un usuario deIAM en cada instancia pararecuperar las credencialestemporales que se actualizanperioacutedicamente generadas atraveacutes deAWS Security TokenService

Es necesario registrar cadainstancia en CodeDeploy parapoder implementarla

No Siacute

Es necesario etiquetar cadainstancia para que CodeDeploypueda implementarla

Siacute Siacute

Puede participar en escenariosde Amazon EC2 Auto Scalingy Elastic Load Balancing comoparte de las implementaciones deCodeDeploy

Siacute No

Se pueden implementar a partirde buckets de Amazon S3 yrepositorios de GitHub

Siacute Siacute

Admiten disparadoresque solicitan el enviacuteo denotificaciones de correoelectroacutenico o SMS cuando seproducen eventos especificadosen las implementaciones oinstancias

Siacute Siacute

Se pueden facturar paraimplementaciones asociadas

No Siacute

Tareas de instancia para CodeDeployPara lanzar o configurar instancias para su uso en implementaciones elija entre las siguientesinstrucciones

Quiero lanzar una nueva instancia Amazon EC2para Amazon Linux o Windows Server

Para lanzar la instancia Amazon EC2 conel miacutenimo esfuerzo consulteCrear unainstancia Amazon EC2 para CodeDeploy (AWSCloudFormationplantilla) (p 221)

Para lanzar la instancia Amazon EC2 por sucuenta consulteCreacioacuten de una instancia de

Versioacuten de API 2014-10-06208

AWS CodeDeploy Guiacutea del usuarioEtiquetado de instancias para

implementaciones de CodeDeploy

Amazon EC2 para CodeDeploy (AWS CLIoconsola de Amazon EC2) (p 217)

Quiero lanzar una nueva instancia de UbuntuServer o RHEL Amazon EC2

Consulte Creacioacuten de una instancia de AmazonEC2 para CodeDeploy (AWS CLIo consola deAmazon EC2) (p 217)

Quiero configurar una instancia de Amazon LinuxWindows Server Ubuntu Server o RHEL AmazonEC2

Consulte Configurar una instancia de Amazon EC2para que funcione con CodeDeploy (p 228)

Quiero configurar una instancia on-premises(dispositivos fiacutesicos que no son instancias AmazonEC2) para Windows Server Ubuntu Server oRHEL

Consulte Working with On-PremisesInstances (p 230)

Quiero que CodeDeploy aprovisione unaflota de instancias de sustitucioacuten durante unaimplementacioacuten bluegreen

Consulte Uso de las implementaciones enCodeDeploy (p 323)

Para preparar instancias Amazon EC2 en grupos de Amazon EC2 Auto Scaling debe seguir algunospasos adicionales Para obtener maacutes informacioacuten consulte Integracioacuten de CodeDeploy con Amazon EC2Auto Scaling (p 53)

Temas

bull Tagging Instances for Deployments (p 209)bull Working with Amazon EC2 Instances (p 216)bull Working with On-Premises Instances (p 230)bull View Instance Details (p 258)bull Instance Health (p 259)

Etiquetado de instancias para grupos deimplementacioacuten en CodeDeploy

Para ayudar a administrar las instancias de Amazon EC2 y las instancias on-premises puede usaretiquetas para asignar sus propios metadatos a cada recurso Las etiquetas le permiten clasificar lasinstancias de diversas maneras por ejemplo seguacuten su finalidad propietario o entorno Esto es uacutetil cuandodispone de muchas instancias Puede identificar raacutepidamente una instancia o grupo de instancias enfuncioacuten de las etiquetas que haya asignado a ellos Cada etiqueta estaacute formada por una clave y un valoropcional ambos definidos por el usuario Para obtener maacutes informacioacuten consulteEtiquetado de losrecursos de Amazon EC2

Para especificar queacute instancias se incluyen en un grupo de implementaciones de CodeDeploy debeespecificar etiquetas en uno o variosgrupos de etiquetas Las instancias que cumplan sus criterios deetiqueta son las instancias en las que estaacute instalada la uacuteltima versioacuten de la aplicacioacuten en el momento decreacioacuten de la implementacioacuten de ese grupo de implementaciones

Note

Tambieacuten puede incluir grupos de Amazon EC2 Auto Scaling en grupos de implementaciones peroestos se identifican por sus nombres y no por las etiquetas que se aplican a las instancias Paraobtener informacioacuten consulte Integracioacuten de CodeDeploy con Amazon EC2 Auto Scaling (p 53)

Versioacuten de API 2014-10-06209

AWS CodeDeploy Guiacutea del usuarioEjemplo 1 Grupo de etiquetas individuales etiqueta uacutenica

Los criterios de las instancias en un grupo de implementaciones pueden ser tan sencillos como una uacutenicaetiqueta en un solo grupo de etiquetas Puede ser tan complejo como 10 etiquetas cada una en un maacuteximode tres grupos de etiquetas

Si utiliza un uacutenico grupo de etiquetas cualquier instancia que se identifique mediante al menos unaetiqueta del grupo se incluye en el grupo de implementaciones Si utiliza varios grupos de etiquetas solose incluyen las instancias que se identifican por al menos una etiqueta en cada uno de los grupos deetiquetas

En los siguientes ejemplos se muestra coacutemo las etiquetas y los grupos de etiquetas se pueden utilizar paraseleccionar las instancias de un grupo de implementaciones

Temasbull Ejemplo 1 Grupo de etiquetas individuales etiqueta uacutenica (p 210)bull Ejemplo 2 Grupo de etiquetas individuales etiquetas muacuteltiples (p 211)bull Ejemplo 3 Varios grupos de etiquetas etiquetas individuales (p 212)bull Ejemplo 4 Varios grupos de etiquetas varias etiquetas (p 214)

Ejemplo 1 Grupo de etiquetas individuales etiquetauacutenicaPuede especificar una uacutenica etiqueta en un uacutenico grupo de etiquetas

Grupo de etiquetas 1

Clave Valor

Nombre AppVersion-ABC

Cada instancia que se etiqueta con Name=AppVersion-ABC forma parte del grupo de implementacionesincluso si tiene otras etiquetas aplicadas

Vista de configuracioacuten de la consola de CodeDeploy

Estructura JSON

ec2TagSet ec2TagSetList [ [

Versioacuten de API 2014-10-06210

AWS CodeDeploy Guiacutea del usuarioEjemplo 2 Grupo de etiquetas

individuales etiquetas muacuteltiples

Type KEY_AND_VALUE Key Name Value AppVersion-ABC ] ]

Ejemplo 2 Grupo de etiquetas individuales etiquetasmuacuteltiplesTambieacuten puede especificar varias etiquetas en un uacutenico grupo de etiquetas

Grupo de etiquetas 1

Clave Valor

Regioacuten North

Regioacuten South

Regioacuten East

Una instancia que se etiqueta con cualquiera de estas tres etiquetas forma parte del grupo deimplementaciones incluso si tiene otras etiquetas aplicadas Si por ejemplo teniacutea otras instanciasetiquetadas Region=West estas no se incluiriacutean en el grupo de implementaciones

Vista de configuracioacuten de la consola de CodeDeploy

Estructura JSON

ec2TagSet ec2TagSetList [ [ Type KEY_AND_VALUE Key Region Value North

Versioacuten de API 2014-10-06211

AWS CodeDeploy Guiacutea del usuarioEjemplo 3 Varios grupos de etiquetas etiquetas individuales

Type KEY_AND_VALUE Key Region Value South Type KEY_AND_VALUE Key Region Value East ] ]

Ejemplo 3 Varios grupos de etiquetas etiquetasindividualesTambieacuten puede utilizar varios conjuntos de grupos de etiquetas con un uacutenico par de clave-valor en cadauno para especificar los criterios de las instancias de un grupo de implementaciones Cuando utiliza variosgrupos de etiquetas en un grupo de implementaciones solo las instancias identificadas por todos losgrupos de etiquetas se incluyen en el grupo de implementaciones

Grupo de etiquetas 1

Clave Valor

Nombre AppVersion-ABC

Grupo de etiquetas 2

Clave Valor

Regioacuten North

Grupo de etiquetas 3

Clave Valor

Tipo t2medium

Puede tener instancias en varias regiones y distintos tipos de instancia etiquetados conName=AppVersion-ABC En este ejemplo solo las instancias tambieacuten etiquetadas con Region=North yType=t2medium forman parte del grupo de implementaciones

Vista de configuracioacuten de la consola de CodeDeploy

Versioacuten de API 2014-10-06212

AWS CodeDeploy Guiacutea del usuarioEjemplo 3 Varios grupos de etiquetas etiquetas individuales

Estructura JSON

ec2TagSet ec2TagSetList [ [ Type KEY_AND_VALUE Key Name Value AppVersion-ABC ] [ Type KEY_AND_VALUE Key Region Value North ] [ Type KEY_AND_VALUE Key Type Value t2medium ] ]

Versioacuten de API 2014-10-06213

AWS CodeDeploy Guiacutea del usuarioEjemplo 4 Varios grupos de etiquetas varias etiquetas

Ejemplo 4 Varios grupos de etiquetas variasetiquetasAl utilizar varios grupos de etiquetas con varias etiquetas en uno o maacutes grupos una instancia debecoincidir con al menos una de las etiquetas de cada uno de los grupos

Grupo de etiquetas 1

Clave Valor

Entorno Beta

Entorno Staging

Grupo de etiquetas 2

Clave Valor

Regioacuten North

Regioacuten South

Regioacuten East

Grupo de etiquetas 3

Clave Valor

Tipo t2medium

Tipo t2large

En este ejemplo para que se incluya en el grupo de implementaciones una instancia debe ser etiquetadacon (1) Environment=Beta o Environment=Staging (2) Region=North Region=SouthoRegion=East y (3) Type=t2medium o Type=t2large

En modo de ilustracioacuten las instancias con los siguientes grupos de etiquetas estariacutean entre las que seincluyen en el grupo de implementaciones

bull Environment=Beta Region=NorthType=t2mediumbull Environment=StagingRegion=EastType=t2largebull Environment=StagingRegion=SouthType=t2large

Las instancias con los siguientes grupos de etiquetas no estariacutean entre las que se incluyen en el grupo deimplementaciones Los valores de clave resaltados hacen que las instancias que se excluyan

bull Environment=Beta Region=WestType=t2mediumbull Environment=StagingRegion=EastType=t2microbull Environment=ProductionRegion=SouthType=t2large

Vista de configuracioacuten de la consola de CodeDeploy

Versioacuten de API 2014-10-06214

AWS CodeDeploy Guiacutea del usuarioEjemplo 4 Varios grupos de etiquetas varias etiquetas

Estructura JSON

ec2TagSet ec2TagSetList [ [ Type KEY_AND_VALUE Key Environment Value Beta Type KEY_AND_VALUE Key Environment Value Staging

Versioacuten de API 2014-10-06215

AWS CodeDeploy Guiacutea del usuarioTrabajar con instancias Amazon EC2

] [ Type KEY_AND_VALUE Key Region Value North Type KEY_AND_VALUE Key Region Value South Type KEY_AND_VALUE Key Region Value East ] [ Type KEY_AND_VALUE Key Type Value t2medium Type KEY_AND_VALUE Key Type Value t2large ] ]

Trabajar con instancias Amazon EC2 paraCodeDeploy

Una instancia Amazon EC2 es un entorno de informaacutetica virtual que se crea y configura medianteAmazon Elastic Compute Cloud Amazon EC2 proporciona capacidad informaacutetica escalable en la nubede AWS Puede utilizar Amazon EC2 para lanzar tantos servidores virtuales como necesite para susimplementaciones de CodeDeploy de

Para obtener maacutes informacioacuten acerca de Amazon EC2 consulteGuiacutea de introduccioacuten a Amazon EC2

Las instrucciones de esta seccioacuten explican coacutemo crear y configurar instancias Amazon EC2 para utilizarlasen sus implementaciones de CodeDeploy de

Temasbull Creacioacuten de una instancia de Amazon EC2 para CodeDeploy (AWS CLIo consola de Amazon

EC2) (p 217)bull Crear una instancia Amazon EC2 para CodeDeploy (AWS CloudFormationplantilla) (p 221)bull Configurar una instancia de Amazon EC2 para que funcione con CodeDeploy (p 228)

Versioacuten de API 2014-10-06216

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de una instancia de

Amazon EC2 para CodeDeploy

Creacioacuten de una instancia de Amazon EC2 paraCodeDeploy (AWS CLIo consola de Amazon EC2)Estas instrucciones explican coacutemo lanzar una nueva instancia Amazon EC2 configurada para su uso enimplementaciones de CodeDeploy

Puedes utilizar nuestraAWS CloudFormationplantilla para lanzar una instancia Amazon EC2 queejecuta Amazon Linux o Windows Server que ya estaacute configurada para su uso en implementacionesde CodeDeploy No proporcionamos unAWS CloudFormationplantilla para instancias Amazon EC2 queejecutan Ubuntu Server o Red Hat Enterprise Linux (RHEL) Si desea conocer otras alternativas al uso dela plantilla consulte Trabajo con instancias para CodeDeploy (p 207)

Puede utilizar la consola de Amazon EC2AWS CLIo API de Amazon EC2 para lanzar una instancia deAmazon EC2

Lance una instancia de Amazon EC2 (consola)Requisitos previos

Si auacuten no lo ha hecho siga las instrucciones que figuran enIntroduccioacuten a CodeDeploy (p 35)para instalary configurar laAWS CLIy cree un perfil de instancia de IAM

Lance una instancia de Amazon EC2

1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2

2 En el panel de navegacioacuten elija Instances (Instancias) y seleccione Launch Instance (Lanzarinstancia)

3 En la paacuteginaPaso 1 Elegir una imagen de maacutequina de Amazon (AMI)paacutegina desde laQuickStart (Inicio raacutepido) busque el sistema operativo y la versioacuten que quiera utilizar y a continuacioacutenelijaSelect Debe elegir un sistema operativo de AMI de Amazon EC2 compatible con CodeDeployPara obtener maacutes informacioacuten consulte Sistemas operativos compatibles con el agente deCodeDeploy (p 175)

4 En la paacuteginaPaso 2 Paacutegina Choose an Instance Type elija cualquier tipo de instancia Amazon EC2disponible y a continuacioacuten elijaSiguiente Paacutegina Configure Instance Details (Configurar los detallesde la instancia)

5 En la paacuteginaPaso 3 Paacutegina Configure Instance Details (Configurar los detalles de la instancia)EnlaRol de IAMlista elija el rol de instancia de IAM que creoacute enPaso 4 Crear un perfil de instanciasde IAM para sus instancias Amazon EC2 (p 43) Si ha utilizado el nombre de rol sugerido elijaCodeDeployDemo-EC2-Instance-Profile Si ha creado su propio nombre de rol seleccioacutenelo

Note

SiLanzamiento a EC2-Classico una nube virtual privada (VPC) predeterminada no semuestra en laRedy no puede elegir un tipo de instancia Amazon EC2 distinto que admita ellanzamiento en EC2-Classic debe elegir o crear una VPC de Amazon y subred Elija Createnew VPC (Crear nueva VPC) o Create new subnet (Crear nueva subred) o ambas opcionesPara obtener maacutes informacioacuten consulteSu VPC y subredes

6 Seleccione Next (Siguiente) Add Storage (Agregar almacenamiento)7 Salir delPaso 4 Adicioacuten de almacenamientosin cambios y elijaSiguiente Antildeadir etiquetas8 En la paacuteginaPaso 5 Antildeadir etiquetaspaacutegina elijaAgregue etiqueta9 En el cuadro Key (Clave) escriba Name En el cuadro Value (Valor) escriba CodeDeployDemo

Versioacuten de API 2014-10-06217

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de una instancia de

Amazon EC2 para CodeDeploy

Important

El contenido de los cuadros Key (Clave) y Value (Valor) distingue entre mayuacutesculas yminuacutesculas

10 Seleccione Next (Siguiente) Configure Security Group (Configurar grupo de seguridad)11 En la paacuteginaPaso 6 Paacutegina Configure Security Group (Configurar grupo de seguridad) salga de

laCrear un nuevo grupo de seguridadopcioacuten seleccionada

Se configura un rol de SSH predeterminado para instancias Amazon EC2 que ejecutan Amazon LinuxUbuntu Server o RHEL Se configura un rol de RDP predeterminado para instancias de Amazon EC2que ejecutan Windows Server

12 Si desea abrir el puerto HTTP elija el botoacuten Add Rule (Antildeadir regla) y en la lista desplegableType (Tipo) elija HTTP Acepte el valor Source (Origen) predeterminado de Custom 00000(Personalizado 00000) y luego elija Review and Launch (Revisar y lanzar)

Note

En un entorno de produccioacuten recomendamos restringir el acceso a los puertos SSHRDP y HTTP en lugar de especificarEn cualquier lugar 0000 CodeDeploy no requiereacceso ilimitado a los puertos y no requiere acceso HTTP Para obtener maacutes informacioacutenconsulteSugerencias para proteger la instancia de Amazon EC2

Si aparece el cuadro de diaacutelogo Boot from General Purpose (SSD) (Arrancar desde uso general[SSD]) siga las instrucciones y luego seleccione Next (Siguiente)

13 Salir delPaso 7 Paacutegina Review Instance Launch (Revisar lanzamiento de instancia)sin cambios yelijaLanzamiento

14 En el cuadro de diaacutelogo Select an existing key pair or create a new key pair (Seleccionar par de clavesexistentes o crear nuevo par de claves) elija Choose an existing key pair (Elegir un par de clavesexistente) o Create a new key pair (Crear un nuevo par de claves) Si ya ha configurado un par declaves de la instancia de Amazon EC2 puede elegirlo aquiacute

Si auacuten no tiene un par de claves de instancia de Amazon EC2 elija Create a new key pair (Crear unnuevo par de claves) y asiacutegnele un nombre faacutecil de reconocer ElegirDescargar Par de clavesparadescargar el key pair de la instancia de Amazon EC2 en su equipo

Important

Debe disponer de un key pair si desea obtener acceso a su instancia Amazon EC2 con SSHo RDP

15 Elija Launch Instances16 Seleccione el ID de la instancia de Amazon EC2 No continuacutee hasta que la instancia se haya lanzado y

haya superado todas las comprobaciones

Instalacioacuten del agente de CodeDeploy

El agente de CodeDeploy debe instalarse en la instancia Amazon EC2 antes de usarlo enimplementaciones de CodeDeploy Para obtener maacutes informacioacuten consulte Instalacioacuten del agente deCodeDeploy (p 189)

Note

Puede configurar la instalacioacuten y las actualizaciones automaacuteticas del agente de CodeDeploy alcrear el grupo de implementacioacuten en la consola

Versioacuten de API 2014-10-06218

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de una instancia de

Amazon EC2 para CodeDeploy

Lance una instancia de Amazon EC2 (CLI)

Requisitos previos

Si auacuten no lo ha hecho siga las instrucciones que figuran enIntroduccioacuten a CodeDeploy (p 35)para instalary configurar laAWS CLIy cree un perfil de instancia de IAM

Lance una instancia de Amazon EC2

1 Solo para Windows ServerSi va a crear una instancia Amazon EC2 que ejecuta Windows Serverllame alcreate-security-groupyauthorize-security-group-ingresscomandos para crear un grupo deseguridad que permita el acceso RDP (que no se permite de forma predeterminada) y en su casoel acceso HTTP Por ejemplo para crear un grupo de seguridad denominadoDemostracioacuten deCodeDeploy-Windows-Security-Group ejecute los siguientes comandos uno a la vez

aws ec2 create-security-group --group-name CodeDeployDemo-Windows-Security-Group --description For launching Windows Server images for use with CodeDeploy

aws ec2 authorize-security-group-ingress --group-name CodeDeployDemo-Windows-Security-Group --to-port 3389 --ip-protocol tcp --cidr-ip 00000 --from-port 3389

aws ec2 authorize-security-group-ingress --group-name CodeDeployDemo-Windows-Security-Group --to-port 80 --ip-protocol tcp --cidr-ip 00000 --from-port 80

Note

Para fines de demostracioacuten estos comandos crean un grupo de seguridad que permiteacceso ilimitado a RDP a traveacutes del puerto 3389 y en su caso a HTTP a traveacutes del puerto80 Es recomendable que restrinja el acceso a los puertos HTTP y RDP CodeDeploy norequiere acceso ilimitado a los puertos y no requiere acceso HTTP Para obtener maacutesinformacioacuten consulteSugerencias para proteger la instancia de Amazon EC2

2 Llame arun-instancespara crear y lanzar la instancia de Amazon EC2

Antes de llamar a este comando debe recopilar lo siguiente

bull El ID de una imagen de maacutequina de Amazon (AMI) (id-ami) que utiliza para la instancia Paraobtener el ID consulteBuacutesqueda de una AMI de Linux

bull El nombre del tipo de instancia de Amazon EC2 (tipo de instancia) que creescomot1micro Para ver una lista consulteTipos de instancias de Amazon EC2

bull El nombre de un perfil de instancia de IAM con permiso para acceder al bucket de Amazon S3 en elque se almacenan los archivos de instalacioacuten del agente de CodeDeploy para la regioacuten

Para obtener informacioacuten sobre la creacioacuten de un perfil de instancia de IAM consultePaso 4 Crearun perfil de instancias de IAM para sus instancias Amazon EC2 (p 43)

bull El nombre de un key pair de instancia de Amazon EC2 (nombre-clave) para permitir el accesoSSH a una instancia Amazon EC2 que ejecuta Amazon Linux Ubuntu Server RHEL o RDP a unainstancia de Amazon EC2 que ejecuta Windows Server

Important

Escriba solo el nombre del par de claves no la extensioacuten de archivo del par de claves Porejemplo my-keypair no my-keypairpem

Versioacuten de API 2014-10-06219

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de una instancia de

Amazon EC2 para CodeDeploy

Para encontrar el nombre de un key pair abra la consola de Amazon EC2 enhttpsconsoleawsamazoncomec2 En el panel de navegacioacuten en Network amp Security (Red yseguridad) elija Key Pairs (Pares de claves) y anote el nombre del par de claves de la lista

Para generar un key pair consulteCreacioacuten de un key pair con Amazon EC2 Compruebe quecrea el key pair en una de las regiones que se encuentran en la lista deRegiones y puntos deenlaceenAWSReferencia general de De lo contrario no podraacute utilizar el key pair de la instanciaAmazon EC2 con CodeDeploy

Para Amazon Linux RHEL y Ubuntu Server

Para llamar arun-instancespara lanzar una instancia Amazon EC2 que ejecute Amazon Linux UbuntuServer o RHEL y adjuntar el perfil de instancia de IAM que creoacute enPaso 4 Crear un perfil de instanciasde IAM para sus instancias Amazon EC2 (p 43) Por ejemplo

aws ec2 run-instances --image-id ami-id --key-name key-name --count 1 --instance-type instance-type --iam-instance-profile Name=iam-instance-profile

Note

Este comando crea un grupo de seguridad predeterminado para la instancia Amazon EC2que permite el acceso a varios puertos incluido acceso ilimitado a SSH a traveacutes del puerto 22y en su caso a HTTP a traveacutes del puerto 80 Es recomendable que restrinja el acceso a lospuertos HTTP y SSH uacutenicamente CodeDeploy no requiere acceso ilimitado a los puertos yno requiere acceso a los puertos HTTP Para obtener maacutes informacioacuten consulteSugerenciaspara proteger la instancia de Amazon EC2

Para Windows Server

Para llamar arun-instancespara lanzar una instancia Amazon EC2 que ejecuta Windows Server yadjuntar el perfil de instancia de IAM que creoacute enPaso 4 Crear un perfil de instancias de IAM para susinstancias Amazon EC2 (p 43)y especifique el nombre del grupo de seguridad que creoacute en el Paso 1Por ejemplo

aws ec2 run-instances --image-id ami-id --key-name key-name --count 1 --instance-type instance-type --iam-instance-profile Name=iam-instance-profile --security-groups CodeDeploy-Windows-Security-Group

Estos comandos lanzan una sola instancia Amazon EC2 con la AMI el key pair y el tipo de instanciaespecificados con el perfil de instancia de IAM indicado y ejecutan el script especificado durante ellanzamiento

3 Anote el valor de InstanceID en la salida Si olvida este valor puede obtenerlo maacutes tarde si llamaadescribe-instancescontra el key pair de instancia de Amazon EC2

aws ec2 describe-instances --filters Name=key-nameValues=keyName --query Reservations[]Instances[][InstanceId] --output text

Utilice el ID de instancia para llamar alcreate-tags que etiqueta la instancia Amazon EC2 para queCodeDeploy pueda encontrarla maacutes adelante durante una implementacioacuten En el ejemplo siguientela etiqueta se denominaCodeDeployDemo pero puede especificar cualquier etiqueta de instancia deAmazon EC2 que desee

Versioacuten de API 2014-10-06220

AWS CodeDeploy Guiacutea del usuarioCrear una instancia Amazon EC2

(AWS CloudFormationplantilla)

aws ec2 create-tags --resources instance-id --tags Key=NameValue=CodeDeployDemo

Puede aplicar varias etiquetas a una instancia al mismo tiempo Por ejemplo

aws ec2 create-tags --resources instance-id --tags Key=NameValue=testInstance Key=RegionValue=West Key=EnvironmentValue=Beta

Para verificar que la instancia Amazon EC2 se ha lanzado y ha superado todas las comprobacionesutilice el ID de instancia para llamar aldescribe-instance-statuscomando

aws ec2 describe-instance-status --instance-ids instance-id --query InstanceStatuses[]InstanceStatus[Status] --output text

Si la instancia se ha lanzado y ha superado todas las comprobaciones aparece ok en la salida

Instalacioacuten del agente de CodeDeploy

El agente de CodeDeploy debe instalarse en la instancia Amazon EC2 antes de usarlo enimplementaciones de CodeDeploy Para obtener maacutes informacioacuten consulte Instalacioacuten del agente deCodeDeploy (p 189)

Note

Puede configurar la instalacioacuten y las actualizaciones automaacuteticas del agente de CodeDeploy alcrear el grupo de implementacioacuten en la consola

Crear una instancia Amazon EC2 para CodeDeploy(AWS CloudFormationplantilla)Puedes utilizar nuestraAWS CloudFormationplantilla para lanzar raacutepidamente una instancia AmazonEC2 que ejecute Amazon Linux o Windows Server Puede utilizar elAWS CLI la consola de CodeDeployo laAWSAPI para lanzar la instancia con la plantilla Ademaacutes de lanzar la instancia la plantilla hace losiguiente

bull Indica aAWS CloudFormationPara conceder permiso a la instancia para participar en lasimplementaciones de CodeDeploy

bull Etiqueta la instancia para que CodeDeploy pueda encontrarla durante una implementacioacutenbull Instala y ejecuta el agente de CodeDeploy en la instancia

No tiene que usar nuestroAWS CloudFormationpara configurar una instancia Amazon EC2 Si deseaconocer otras alternativas consulte Trabajo con instancias para CodeDeploy (p 207)

No proporcionamos unAWS CloudFormationplantilla para instancias Amazon EC2 que ejecutan UbuntuServer o Red Hat Enterprise Linux (RHEL)

Temasbull Antes de empezar (p 222)bull Lance una instancia Amazon EC2 con elAWS CloudFormationtemplate (consola) (p 222)bull Lance una instancia Amazon EC2 con elAWS CloudFormationplantilla (AWS CLI) (p 225)

Versioacuten de API 2014-10-06221

AWS CodeDeploy Guiacutea del usuarioCrear una instancia Amazon EC2

(AWS CloudFormationplantilla)

Antes de empezarAntes de poder utilizar elAWS CloudFormationplantilla para lanzar instancias Amazon EC2 aseguacuterese dehaber seguido los pasos siguientes

1 Aseguacuterese de realizar los pasos que se indican en Paso 3 Provisionar un usuario de IAM (p 41)Compruebe que la poliacutetica asignada al usuario de IAM tiene los siguientes permisos miacutenimos yagregue cualquiera que no esteacute presente

bull nube de formacioacuten bull codedeploybull ec2bull Iam Antildeadir rol al perfil de instanciabull IAM Crear perfil de instanciabull iamCreateRolebull IAM eliminar perfil de instanciabull iamDeleteRolebull iamDeleteRolePolicybull iamGetRolebull iamDeleteRolePolicybull iamPutRolePolicybull IAM Eliminar rol del perfil de instancia

2 Aseguacuterese de disponer de un key pair de instancia para permitir el acceso SSH a la instancia AmazonEC2 que ejecuta Amazon Linux o el acceso RDP a la instancia que ejecuta Windows Server

Para encontrar el nombre de un key pair abra la consola Amazon EC2 enhttpsconsoleawsamazoncomec2 En el panel de navegacioacuten en Network amp Security (Red y seguridad)elija Key Pairs (Pares de claves) y anote el nombre del par de claves de la lista

Para generar un key pair nuevo consulteCreacioacuten del key pair mediante Amazon EC2 Aseguacuteresede que crea el key pair en una de las regiones que se encuentran en la lista deRegiones y puntos deenlaceenAWSReferencia general de De lo contrario no puede utilizar el key pair de instancia conCodeDeploy

Lance una instancia Amazon EC2 con elAWSCloudFormationtemplate (consola)1 Inicie sesioacuten en la AWS Management Console y abra la consola de AWS CloudFormation en https

consoleawsamazoncomcloudformation

Important

Inicie sesioacuten en la AWS Management Console con la misma cuenta que utilizoacute enIntroduccioacuten a CodeDeploy (p 35) En la barra de navegacioacuten en el selector de regioneselija una de las regiones enumeradas enRegiones y puntos de enlaceenAWSReferenciageneral de CodeDeploy solo es compatible con estas regiones

2 Elija Create Stack3 EnChoose a template (Elegir una plantilla) eligeEspecificacioacuten de una URL de plantilla de Amazon

S3 En el cuadro escriba la ubicacioacuten de la plantilla de AWS CloudFormation para su regioacuten y acontinuacioacuten elija Next (Siguiente)

Versioacuten de API 2014-10-06222

AWS CodeDeploy Guiacutea del usuarioCrear una instancia Amazon EC2

(AWS CloudFormationplantilla)

Regioacuten Location ofAWS CloudFormationplantilla

Regioacuten del este de EE UU (Ohio) https3-us-east-2amazonawscomaws-codedeploy-us-east-2templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten del este de EE UU (N Virginia) https3amazonawscomaws-codedeploy-us-east-1templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten del oeste de EE UU (N California) https3-us-west-1amazonawscomaws-codedeploy-us-west-1templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten del oeste de EE UU (Oregon) https3-us-west-2amazonawscomaws-codedeploy-us-west-2templateslatestCodeDeploy_SampleCF_Templatejson

Canada (Central) Region https3-ca-central-1amazonawscomaws-codedeploy-ca-central-1templateslatestCodeDeploy_SampleCF_Templatejson

Europe (Ireland) Region https3-eu-west-1amazonawscomaws-codedeploy-eu-west-1templateslatestCodeDeploy_SampleCF_Templatejson

Europe (London) Region https3-eu-west-2amazonawscomaws-codedeploy-eu-west-2templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten de Europa (Pariacutes) https3-eu-west-3amazonawscomaws-codedeploy-eu-west-3templateslatestCodeDeploy_SampleCF_Templatejson

Europe (Frankfurt) Region https3-eu-central-1amazonawscomaws-codedeploy-eu-central-1templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten Asia Paciacutefico (Hong Kong) https3-ap-east-1amazonawscomaws-codedeploy-ap-east-1templateslatestCodeDeploy_SampleCF_Templatejson

Versioacuten de API 2014-10-06223

AWS CodeDeploy Guiacutea del usuarioCrear una instancia Amazon EC2

(AWS CloudFormationplantilla)

Regioacuten Location ofAWS CloudFormationplantilla

Asia Pacific (Tokyo) Region https3-ap-northeast-1amazonawscomaws-codedeploy-ap-northeast-1templateslatestCodeDeploy_SampleCF_Templatejson

Asia Pacific (Seoul) Region https3-ap-northeast-2amazonawscomaws-codedeploy-ap-northeast-2templateslatestCodeDeploy_SampleCF_Templatejson

Asia Pacific (Singapore) Region https3-ap-southeast-1amazonawscomaws-codedeploy-ap-southeast-1templateslatestCodeDeploy_SampleCF_Templatejson

Asia Pacific (Sydney) Region https3-ap-southeast-2amazonawscomaws-codedeploy-ap-southeast-2templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten Asia-Paciacutefico (Mumbai) https3-ap-south-1amazonawscomaws-codedeploy-ap-south-1templateslatestCodeDeploy_SampleCF_Templatejson

South America (Satildeo Paulo) Region aws-codedeploy-ap-northeast-1s3ap-east-1amazonawscomtemplateslatestCodeDeploy_SampleCF_Templatejson

4 En el cuadro Stack name (Nombre de la pila) escriba un nombre para la pila (por ejemploCodeDeployDemoStack)

5 En Parameters (Paraacutemetros) escriba lo siguiente y seleccione Next (Siguiente)

bull En InstanceCount escriba el nuacutemero de instancias que desea lanzar (Le recomendamos que dejeel valor predeterminado 1)

bull En InstanceType escriba el tipo de instancia que desea lanzar (o deje el valor predeterminadot1micro)

bull ParaKeyPairName escriba el nombre del key pair de instancia Escriba solo el nombre del par declaves no la extensioacuten de archivo del par de claves

bull ParaOperatingSystemcaja escribaWindowspara lanzar instancias que ejecutan Windows Server (odeje el valor predeterminado) deLinux)

bull En SSHLocation escriba el rango de direcciones IP que desea utilizar para conectarse a la instanciacon SSH o RDP (o deje el valor predeterminado 00000)

Important

El valor predeterminado es00000se proporciona uacutenicamente con fines ilustrativosCodeDeployno requiere instancias Amazon EC2 para tener acceso ilimitado a los puertosEs recomendable que restrinja el acceso a los puertos SSH (y HTTP) Para obtener maacutesinformacioacuten consulteConsejos para proteger la instancia Amazon EC2

Versioacuten de API 2014-10-06224

AWS CodeDeploy Guiacutea del usuarioCrear una instancia Amazon EC2

(AWS CloudFormationplantilla)

bull ParaTagKey escriba la clave de etiqueta de instancia que CodeDeploya utilizaraacute para identificar lasinstancias durante la implementacioacuten (o deje el valor predeterminadoNombre)

bull ParaTagValue escriba el valor de etiqueta de instancia que CodeDeploya utilizaraacute para identificarlas instancias durante la implementacioacuten (o deje el valor predeterminadoCodeDeployDemo)

6 En la paacutegina Options (Opciones) deje las casillas de opcioacuten vaciacuteas y elija Next (Siguiente)

Important

AWS CloudFormationlas etiquetas de son distintas de las etiquetas de CodeDeployAWSCloudFormationutiliza etiquetas para simplificar la administracioacuten de la infraestructuraCodeDeploy utiliza etiquetas para identificar instancias Amazon EC2 Ha especificadoetiquetas de CodeDeploy en elEspecificacioacuten de paraacutemetros(Se ha creado el certificado)

7 En la paacuteginaReview (Revisar) enCapacidades seleccione elReconozco queAWSCloudFormationpodriacutea crear recursos de IAMy a continuacioacuten elijaCrear

DespueacutesAWS CloudFormationha creado la pila y lanzado las instancias Amazon EC2 en elAWSCloudFormationconsolaCREATE_COMPLETEse mostraraacute en elEstadocolumn Este proceso puedetardar varios minutos

Para verificar que el agente de CodeDeployse estaacute ejecutando en las instancias Amazon EC2consulteAdministracioacuten de operaciones del agente de CodeDeploy (p 186)y a continuacioacuten vaya aCrearuna aplicacioacuten con CodeDeploy (p 273)

Lance una instancia Amazon EC2 con elAWSCloudFormationplantilla (AWS CLI)1 Utilice nuestra plantilla de AWS CloudFormation en una llamada al comando create-stack Esta pila

lanzaraacute en una nueva instancia Amazon EC2 con el agente de CodeDeploy instalado

Para lanzar una instancia Amazon EC2 que ejecute Amazon Linux

aws cloudformation create-stack --stack-name CodeDeployDemoStack --template-url templateURL --parameters ParameterKey=InstanceCountParameterValue=1 ParameterKey=InstanceTypeParameterValue=t1micro ParameterKey=KeyPairNameParameterValue=keyName ParameterKey=OperatingSystemParameterValue=Linux ParameterKey=SSHLocationParameterValue=00000 ParameterKey=TagKeyParameterValue=Name ParameterKey=TagValueParameterValue=CodeDeployDemo --capabilities CAPABILITY_IAM

Para lanzar una instancia Amazon EC2 que ejecute Windows Server

aws cloudformation create-stack --stack-name CodeDeployDemoStack --template-url template-url --parameters ParameterKey=InstanceCountParameterValue=1 ParameterKey=InstanceTypeParameterValue=t1micro ParameterKey=KeyPairNameParameterValue=keyName ParameterKey=OperatingSystemParameterValue=Windows ParameterKey=SSHLocationParameterValue=00000 ParameterKey=TagKeyParameterValue=Name ParameterKey=TagValueParameterValue=CodeDeployDemo --capabilities CAPABILITY_IAM

claveName (Nombre)es el nombre del key pair de instancia Escriba solo el nombre del par declaves no la extensioacuten de archivo del par de claves

Versioacuten de API 2014-10-06225

AWS CodeDeploy Guiacutea del usuarioCrear una instancia Amazon EC2

(AWS CloudFormationplantilla)

template-url es la ubicacioacuten de la plantilla de AWS CloudFormation para su regioacuten

Regioacuten Location ofAWS CloudFormationplantilla

Regioacuten del este de EE UU (Ohio) https3-us-east-2amazonawscomaws-codedeploy-us-east-2templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten del este de EE UU (N Virginia) https3amazonawscomaws-codedeploy-us-east-1templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten del oeste de EE UU (N California) https3-us-west-1amazonawscomaws-codedeploy-us-west-1templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten del oeste de EE UU (Oregon) https3-us-west-2amazonawscomaws-codedeploy-us-west-2templateslatestCodeDeploy_SampleCF_Templatejson

Canada (Central) Region https3-ca-central-1amazonawscomaws-codedeploy-ca-central-1templateslatestCodeDeploy_SampleCF_Templatejson

Europe (Ireland) Region https3-eu-west-1amazonawscomaws-codedeploy-eu-west-1templateslatestCodeDeploy_SampleCF_Templatejson

Europe (London) Region https3-eu-west-2amazonawscomaws-codedeploy-eu-west-2templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten de Europa (Pariacutes) https3-eu-west-3amazonawscomaws-codedeploy-eu-west-3templateslatestCodeDeploy_SampleCF_Templatejson

Europe (Frankfurt) Region https3-eu-central-1amazonawscomaws-codedeploy-eu-central-1templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten Asia Paciacutefico (Hong Kong) https3-ap-east-1amazonawscomaws-codedeploy-ap-east-1templateslatestCodeDeploy_SampleCF_Templatejson

Versioacuten de API 2014-10-06226

AWS CodeDeploy Guiacutea del usuarioCrear una instancia Amazon EC2

(AWS CloudFormationplantilla)

Regioacuten Location ofAWS CloudFormationplantilla

Asia Pacific (Tokyo) Region https3-ap-northeast-1amazonawscomaws-codedeploy-ap-northeast-1templateslatestCodeDeploy_SampleCF_Templatejson

Asia Pacific (Seoul) Region https3-ap-northeast-2amazonawscomaws-codedeploy-ap-northeast-2templateslatestCodeDeploy_SampleCF_Templatejson

Asia Pacific (Singapore) Region https3-ap-southeast-1amazonawscomaws-codedeploy-ap-southeast-1templateslatestCodeDeploy_SampleCF_Templatejson

Asia Pacific (Sydney) Region https3-ap-southeast-2amazonawscomaws-codedeploy-ap-southeast-2templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten Asia-Paciacutefico (Mumbai) https3-ap-south-1amazonawscomaws-codedeploy-ap-south-1templateslatestCodeDeploy_SampleCF_Templatejson

South America (Satildeo Paulo) Region aws-codedeploy-ap-northeast-1s3ap-east-1amazonawscomtemplateslatestCodeDeploy_SampleCF_Templatejson

Este comando crea unAWS CloudFormationpila llamadaCodeDeployDemoStack utilizandoelAWS CloudFormationen el bucket de Amazon S3 especificado La instancia Amazon EC2 sebasa en el tipo de instancia t1micro pero puede utilizar cualquier tipo Estaacute etiquetada con el valorCodeDeployDemo pero se puede etiquetar con cualquier valor Se le ha aplicado el par de claves deinstancia especificado

2 Ejecute el comando describe-stacks para comprobar que la pila de AWS CloudFormation denominadaCodeDeployDemoStack se ha creado correctamente

aws cloudformation describe-stacks --stack-name CodeDeployDemoStack --query Stacks[0]StackStatus --output text

No continuacutee hasta que se devuelva el valor CREATE_COMPLETE

Para comprobar que el agente de CodeDeploy se estaacute ejecutando en la instancia Amazon EC2consulteAdministracioacuten de operaciones del agente de CodeDeploy (p 186)y a continuacioacuten vaya aCrearuna aplicacioacuten con CodeDeploy (p 273)

Versioacuten de API 2014-10-06227

AWS CodeDeploy Guiacutea del usuarioConfigurar una instancia de Amazon EC2

Configurar una instancia de Amazon EC2 para quefuncione con CodeDeployEn estas instrucciones se muestra coacutemo configurar una instancia de Amazon EC2 que ejecutaAmazon Linux Ubuntu Server Red Hat Enterprise Linux (RHEL) o Windows Server para utilizarla enimplementaciones de CodeDeploy

Note

Si no tiene una instancia de Amazon EC2 puede utilizar elAWS CloudFormationplantilla paralanzar una que ejecute Amazon Linux o Windows Server No proporcionamos una plantilla paraUbuntu Server o RHEL

Paso 1 Verifique que el perfil de instancia de IAM esteacute adjuntadoa su instancia de Amazon EC21 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon EC2 en https

consoleawsamazoncomec22 En el panel de navegacioacuten bajo Instances elija Instances3 Busque su instancia de Amazon EC2 en la lista y seleccioacutenela4 En el panel de detalles en elDescripcioacuten observe el valor de en laRol de IAMy a continuacioacuten pase a

la siguiente seccioacuten

Si el campo estaacute vaciacuteo puede asociar a la instancia un perfil de instancia de IAM Para obtenerinformacioacuten consulteAsociar un rol de IAM a una instancia

Paso 2 Verifique que el perfil de instancia de IAM adjunto tengalos permisos de acceso correctos1 Abra la consola de IAM en httpsconsoleawsamazoncomiam2 Seleccione Roles (Roles) en el panel de navegacioacuten3 Busque y elija el nombre de rol de IAM que observoacute en el paso 4 de la seccioacuten anterior

Note

Si desea utilizar el rol de servicio generado por la plantilla de AWS CloudFormation en lugardel que creoacute siguiendo las instrucciones de Paso 2 Creacioacuten de un rol de servicio paraCodeDeploy (p 36) tenga en cuenta lo siguienteEn algunas versiones de nuestraAWS CloudFormation el nombre de visualizacioacuten delperfil de instancia de IAM generado y adjuntado a las instancias de Amazon EC2 no esel mismo que el nombre de visualizacioacuten en la consola de IAM Por ejemplo el perfil deinstancia de IAM podriacutea tener un nombre para mostrar deCodeDeploySampleStack-expnyi6-InstanceRoleInstanceProfile-IK8J8A9123EX mientras queel perfil de instancia de IAM en la consola de IAM podriacutea tener el nombre devisualizacioacutenCodeDeploySampleStack-expnyi6-InstanceRole-C5P33V1L64EXPara ayudarle a identificar el perfil de instancia en la consola de IAM veraacute el prefijodeCodeDeploySampleStack-expnyi6-InstanceRolees el mismo para ambos Paraobtener informacioacuten acerca de por queacute estos nombres de visualizacioacuten podriacutean ser diferentesconsultePerfiles de instancias

4 Seleccione la pestantildea Trust Relationships Si no hay entrada enLas entidades de confianzaque diceElproveedor (s) de identidad ec2amazonawscom no puede utilizar esta instancia de Amazon EC2

Versioacuten de API 2014-10-06228

AWS CodeDeploy Guiacutea del usuarioConfigurar una instancia de Amazon EC2

Deteacutengase y cree una instancia de Amazon EC2 con la informacioacuten deTrabajo con instancias paraCodeDeploy (p 207)

Si hay una entrada que digaEl proveedor (s) de identidad ec2amazonawscomy solamentealmacenaraacute sus aplicaciones en repositorios de GitHub y a continuacioacuten pase directamente aPaso 3Etiquetar la instancia de Amazon EC2 (p 230)

Si hay una entrada que digaEl proveedor (s) de identidad ec2amazonawscomy estaacute almacenandosus aplicaciones en buckets de Amazon S3 elija elPermisospestantildea

5 Si hay una poliacutetica en el aacuterea Permissions policies (Poliacuteticas de permisos) ampliacutee la poliacutetica y acontinuacioacuten elija Edit policy (Editar poliacutetica)

6 Seleccione la pestantildea JSON Si estaacute almacenando sus aplicaciones en buckets de Amazon S3aseguacuterese des3Getys3Listse encuentran en la lista de acciones especificadas

Puede tener un aspecto similar al siguiente

Statement[ResourceAction[ Some actions may already be listed here s3Gets3List Some more actions may already be listed here ]EffectAllow]

O puede tener un aspecto similar al siguiente

Version 2012-10-17 Statement [ Action [ Some actions may already be listed here s3Get s3List Some more actions may already be listed here ] ]

Si ni s3Get ni s3List figuran en la lista de acciones especificadas elija Edit (Editar)para antildeadirlas y a continuacioacuten elija Save (Guardar) (Si ni s3Get ni s3List es la uacuteltimaaccioacuten de la lista aseguacuterese de antildeadir una coma despueacutes de la accioacuten por lo tanto se valida eldocumento de la poliacutetica)

Note

Le recomendamos que restrinja esta poliacutetica uacutenicamente a los buckets de Amazon S3 a losque las instancias de Amazon EC2 deban tener acceso Aseguacuterese de conceder acceso alos buckets de Amazon S3 que contienen el agente de CodeDeploy De lo contrario podriacuteaproducirse un error cuando el agente de CodeDeploy se instale o actualice en las instanciasPara conceder al perfil de instancia de IAM acceso solo algunos buckets del kit de recursosde CodeDeploy en Amazon S3 utilice la poliacutetica siguiente pero elimine las liacuteneas de bucketsa los que no desee conceder acceso

Version 2012-10-17 Statement [ Effect AllowVersioacuten de API 2014-10-06

229

AWS CodeDeploy Guiacutea del usuarioTrabajar con instancias on-premises

Action [ s3Get s3List ] Resource [ arnawss3replace-with-your-s3-bucket-name arnawss3aws-codedeploy-us-east-2 arnawss3aws-codedeploy-us-east-1 arnawss3aws-codedeploy-us-west-1 arnawss3aws-codedeploy-us-west-2 arnawss3aws-codedeploy-ca-central-1 arnawss3aws-codedeploy-eu-west-1 arnawss3aws-codedeploy-eu-west-2 arnawss3aws-codedeploy-eu-west-3 arnawss3aws-codedeploy-eu-central-1 arnawss3aws-codedeploy-ap-east-1 arnawss3aws-codedeploy-ap-northeast-1 arnawss3aws-codedeploy-ap-northeast-2 arnawss3aws-codedeploy-ap-southeast-1 arnawss3aws-codedeploy-ap-southeast-2 arnawss3aws-codedeploy-ap-south-1 arnawss3aws-codedeploy-sa-east-1 ] ]

Paso 3 Etiquetar la instancia de Amazon EC2Para obtener instrucciones acerca de coacutemo etiquetar la instancia de Amazon EC2 para que CodeDeploypueda encontrarla durante una implementacioacuten consulteUso de etiquetas en la consolay a continuacioacutenvuelva a esta paacutegina

Note

Puede etiquetar la instancia de Amazon EC2 con la clave y el valor que desee Pero aseguacuterese deespecificar esta clave y valor cuando realice una implementacioacuten en ella

Paso 4 Instalacioacuten delAWS CodeDeployagente en la instanciade Amazon EC2Para obtener instrucciones acerca de coacutemo instalar el agente de CodeDeploy en la instancia deAmazon EC2 y verificar que se estaacute ejecutando consulteAdministracioacuten de operaciones del agente deCodeDeploy (p 186)y a continuacioacuten vaya aCrear una aplicacioacuten con CodeDeploy (p 273)

Trabajar con instancias on-premises paraCodeDeploy

Una instancia on-premises es cualquier dispositivo fiacutesico que no es una instancia Amazon EC2 y quepuede ejecutar el agente de CodeDeploy y conectarse a puacuteblicosAWSPuntos de enlace de servicio de

La implementacioacuten de una revisioacuten de la aplicacioacuten de CodeDeploy en una instancia on-premises implicados pasos principales

bull Paso 1 configurar cada instancia on-premises registrarla en CodeDeploy a continuacioacuten etiquetarla

Versioacuten de API 2014-10-06230

AWS CodeDeploy Guiacutea del usuarioRequisitos previos para configurar

una instancia on-premises

bull Paso 2 implementar revisiones de la aplicacioacuten de en la instancia on-premises

Note

Para experimentar con la creacioacuten e implementacioacuten de una revisioacuten de la aplicacioacuten demuestra en una instancia on-premises correctamente configurada y registrada consulteTutorial Implementar una aplicacioacuten en una instancia local con CodeDeploy (Windows ServerUbuntu Server o Red Hat Enterprise Linux) (p 103) Para obtener maacutes informacioacuten sobre lasinstancias on-premises y coacutemo funcionan con CodeDeploy consulteWorking with On-PremisesInstances (p 230)

Si ya no desea utilizar una instancia on-premises en las implementaciones puede eliminar las etiquetasde la instancia on-premises de los grupos de implementaciones Para utilizar un meacutetodo maacutes eficazelimine las etiquetas de la instancia on-premises de la instancia Tambieacuten puede anular el registro de unainstancia on-premises de forma expliacutecita para que ya no se pueda utilizar en ninguna implementacioacutenPara obtener maacutes informacioacuten consulte Administracioacuten de operaciones de instancias on-premises enCodeDeploy (p 253)

Las instrucciones de esta seccioacuten explican coacutemo configurar una instancia on-premises y a continuacioacutenregistrarla y etiquetarla en CodeDeploy para que se pueda utilizar en las implementaciones Esta seccioacutentambieacuten describe coacutemo utilizar CodeDeploy para obtener informacioacuten acerca de las instancias on-premisesy coacutemo anular el registro de una instancia on-premises si ya no piensa implementarla

Temasbull Requisitos previos para configurar una instancia on-premises (p 231)bull Registro de una instancia on-premises en CodeDeploy (p 232)bull Administracioacuten de operaciones de instancias on-premises en CodeDeploy (p 253)

Requisitos previos para configurar una instancia on-premisesSe deben cumplir los siguientes requisitos previos para poder registrar una instancia on-premise

Important

Si utiliza elinstancias de registro en localesy actualice perioacutedicamente las credenciales temporalesgeneradas con elAWS Security Token Service(AWS STS) existen otros requisitos previos Paraobtener informacioacuten consulte Requisitos previos de registro ARN de sesioacuten de IAM (p 247)

Requisitos de los dispositivos

El dispositivo que desea preparar registrar y etiquetar como una instancia on-premises con CodeDeploydebe ejecutarse en un sistema operativo compatible Para ver una lista consulte Sistemas operativoscompatibles con el agente de CodeDeploy (p 175)

Si su sistema operativo no es compatible el agente CodeDeploy estaacute disponible como coacutedigo abierto paraque pueda adaptarlo a sus necesidades Para obtener maacutes informacioacuten consulte laCodeDeployrepositorioen GitHub

Comunicacioacuten saliente

La instancia on-premises debe poder conectarse al puacuteblicoAWSendpoints de servicio para comunicarsecon CodeDeploy

El agente CodeDeploy se comunica con el exterior a traveacutes de HTTPS sobre el puerto 443

Versioacuten de API 2014-10-06231

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

Control administrativo

La cuenta local o de red utilizada en la instancia on-premises para configurar dicha debe poder ejecutarsecomosudooroot(para Ubuntu Server) o como administrador (para Windows Server)

Permisos de IAM

La identidad de IAM que utiliza para registrar la instancia on-premises debe tener permisos para completarel registro (y para anular el registro de la instancia on-premise seguacuten sea necesario)

Ademaacutes de la poliacutetica descrita enIntroduccioacuten a CodeDeploy (p 35) aseguacuterese de que la identidad de IAMde llamada tambieacuten tiene adjunta la siguiente poliacutetica adicional Para obtener informacioacuten acerca de coacutemoadjuntar directivas de IAM consulte Administracioacuten de directivas de IAM

Version 2012-10-17 Statement [ Effect Allow Action [ iamCreateAccessKey iamCreateUser iamDeleteAccessKey iamDeleteUser iamDeleteUserPolicy iamListAccessKeys iamListUserPolicies iamPutUserPolicy iamGetUser ] Resource ]

Registro de una instancia on-premises en CodeDeployPara registrar una instancia on-premise debe utilizar una identidad de IAM para autenticar las solicitudesPuede elegir entre las siguientes opciones para la identidad de IAM y el meacutetodo de registro que utilice

bull Utilice un ARN de usuario de IAM para autenticar las solicitudesbull Usarregistradorpara el proceso de registro maacutes automatizado Es el maacutes adecuado para registrar una

instancia on-premises individual Para obtener informacioacuten consulte Utilice el comando register (ARNde usuario de IAM) para registrar una instancia on-premises (p 233)

bull Usarinstancias de registro en localespara configurar manualmente la mayoriacutea de las opciones deregistro Es adecuado para registrar un pequentildeo nuacutemero de instancias on-premises Para obtenerinformacioacuten consulte Utilice el comando register-on-premises-instance (ARN de usuario de IAM) pararegistrar una instancia on-premises (p 237)

bull Utilice un ARN de rol de IAM para autenticar las solicitudesbull Usarinstancias de registro en localescomando y actualice perioacutedicamente las credenciales temporales

generadas conAWS Security Token Service(AWS STS) para configurar manualmente la mayoriacuteade las opciones de registro Es el maacutes adecuado para registrar un gran nuacutemero de instancias on-premises Para obtener informacioacuten consulte Utilice el comando register-on-premises-instance (ARNde sesioacuten de IAM) para registrar una instancia on-premises (p 246)

Temasbull Utilice el comando register (ARN de usuario de IAM) para registrar una instancia on-

premises (p 233)

Versioacuten de API 2014-10-06232

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

bull Utilice el comando register-on-premises-instance (ARN de usuario de IAM) para registrar una instanciaon-premises (p 237)

bull Utilice el comando register-on-premises-instance (ARN de sesioacuten de IAM) para registrar una instanciaon-premises (p 246)

Utilice el comando register (ARN de usuario de IAM) pararegistrar una instancia on-premisesEsta seccioacuten describe coacutemo configurar una instancia on-premises y coacutemo registrarla y etiquetarla enCodeDeploy con el miacutenimo esfuerzo El comando register resulta especialmente uacutetil cuando se trabaja conuna sola flota o con flotas pequentildeas de instancias on-premises Puede utilizar elregisterSoacutelo cuando utilizaun ARN de usuario de IAM para autenticar una instancia No puede utilizar elregistercon un ARN de sesioacutende IAM para la autenticacioacuten

Cuando utiliza elregister puede permitir que CodeDeploy haga lo siguiente

bull Crear un usuario de IAM enAWS Identity and Access Managementpara la instancia on-premises si noespecifica uno en particular con el comando

bull Guarde las credenciales del usuario de IAM en un archivo de configuracioacuten de la instancia on-premisesbull Registre la instancia on-premises en CodeDeploybull Antildeadir etiquetas a la instancia on-premises si las especifica como parte del comando

Note

Lainstancias de registro en localeses una alternativa alregistradorcomando Utiliza elregister-on-premises-instancesi desea configurar una instancia on-premises y registrarla y etiquetarla enCodeDeploy por su cuenta Laregister-on-premises-instanceTambieacuten le da la opcioacuten de utilizarun ARN de sesioacuten de IAM para registrar instancias en lugar de un ARN de usuario de IAMEste enfoque proporciona una gran ventaja si tiene grandes flotas de instancias on-premisesEspeciacuteficamente puede utilizar un solo ARN de sesioacuten de IAM para autenticar muacuteltiples instanciasen lugar de tener que crear un usuario de IAM para cada instancia on-premises a la vez Paraobtener maacutes informacioacuten consulte Utilice el comando register-on-premises-instance (ARNde usuario de IAM) para registrar una instancia on-premises (p 237) y Utilice el comandoregister-on-premises-instance (ARN de sesioacuten de IAM) para registrar una instancia on-premises (p 246)

Temasbull Paso 1 Instalacioacuten y configuracioacuten deAWS CLIen la instancia on-premises (p 233)bull Paso 2 Realice una llamada al comando register (p 235)bull Paso 3 Ejecute el comando de instalacioacuten (p 236)bull Paso 4 Implementar revisiones de la aplicacioacuten en la instancia on-premises (p 237)bull Paso 5 Seguimiento de las implementaciones en la instancia local (p 237)

Paso 1 Instalacioacuten y configuracioacuten deAWS CLIen la instancia on-premises

1 Instale la AWS CLI en la instancia on-premises Siga las instrucciones enConfiguracioacuten inicial delaAWS CLIen laAWS Command Line InterfaceGuiacutea del usuario de

Note

Los comandos de CodeDeploy para trabajar con instancias on-premises estaacuten disponiblesenAWS CLIversioacuten 1719 y posteriores Si ya tiene instalada la AWS CLI llame a aws --version para comprobar su versioacuten

Versioacuten de API 2014-10-06233

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

2 Configure la AWS CLI en la instancia on-premises Siga las instrucciones enConfiguracioacuten deAWSCLIenAWS Command Line InterfaceGuiacutea del usuario de

Important

A medida que configura elAWS CLI(por ejemplo llamando alaws configurecomando)aseguacuterese de especificar el ID de clave secreta y la clave de acceso secreta de un usuario deIAM que tenga como miacutenimo lo siguienteAWSpermisos de acceso ademaacutes de los permisosespecificados enRequisitos previos para configurar una instancia on-premises (p 231) Estole permite descargar e instalar el agente de CodeDeploy en la instancia on-premises Lospermisos de acceso podriacutean tener un aspecto similar a este

Version 2012-10-17 Statement [ Effect Allow Action [ codedeploy iamCreateAccessKey iamCreateUser iamDeleteAccessKey iamDeleteUser iamDeleteUserPolicy iamListAccessKeys iamListUserPolicies iamPutUserPolicy iamGetUser taggetTagKeys taggetTagValues tagGetResources ] Resource Effect Allow Action [ s3Get s3List ] Resource [ arnawss3aws-codedeploy-us-east-2 arnawss3aws-codedeploy-us-east-1 arnawss3aws-codedeploy-us-west-1 arnawss3aws-codedeploy-us-west-2 arnawss3aws-codedeploy-ca-central-1 arnawss3aws-codedeploy-eu-west-1 arnawss3aws-codedeploy-eu-west-2 arnawss3aws-codedeploy-eu-west-3 arnawss3aws-codedeploy-eu-central-1 arnawss3aws-codedeploy-ap-east-1 arnawss3aws-codedeploy-ap-northeast-1 arnawss3aws-codedeploy-ap-northeast-2 arnawss3aws-codedeploy-ap-southeast-1 arnawss3aws-codedeploy-ap-southeast-2 arnawss3aws-codedeploy-ap-south-1 arnawss3aws-codedeploy-sa-east-1 ] ]

Versioacuten de API 2014-10-06234

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

Paso 2 Realice una llamada al comando register

Para este paso se da por sentado que va a registrar la instancia on-premises desde la propia instancia on-premises Tambieacuten puede registrar una instancia on-premises desde un dispositivo o instancia diferenteque tenga la AWS CLI instalada y configurada como se describe en el paso anterior

UsarAWS CLIpara llamar aregistradorcomando especificando

bull Un nombre que identifique de manera uacutenica la instancia on-premises a CodeDeploy (con el--instance-nameopcioacuten)

Important

Para ayudarle a identificar la instancia on-premises en otro momento especialmente a efectosde depuracioacuten recomendamos encarecidamente que utilice un nombre que se asigne a algunascaracteriacutesticas exclusivas de la instancia on-premises (por ejemplo el nuacutemero de serie o alguacutenidentificador uacutenico de recurso interno si procede) Si especifica una direccioacuten MAC para unnombre debe tener en cuenta que las direcciones MAC contienen caracteres que CodeDeployno permite como los dos puntos () Para obtener una lista de los caracteres permitidosconsulte liacutemites de CodeDeploy (p 454)

bull Si lo desea el ARN de un usuario de IAM existente que desea asociar a esta instancia on-premises(con el--iam-user-arnopcioacuten) Para obtener el ARN de un usuario de IAM ejecute elget-usero elijael nombre de usuario de IAM en elUsuarios dede la consola de IAM y a continuacioacuten busque laARN deusuarioValor de laResumenseccioacuten Si no se especifica esta opcioacuten CodeDeploy crearaacute un usuario deIAM en su nombre en suAWSy asociarlo a la instancia on-premises

Important

Si especifica la opcioacuten --iam-user-arn ademaacutes debe crear manualmente el archivo deconfiguracioacuten de la instancia on-premises como se describe en Paso 4 Agregar un archivo deconfiguracioacuten a la instancia on-premises (p 242)Puede asociar un solo usuario de IAM a una sola instancia on-premises Intentar asociarun solo usuario de IAM a muacuteltiples instancias on-premises puede producir erroresimplementaciones fallidas en dichas instancias on-premises o implementaciones en dichasinstancias on-premises que permanecen en estado pendiente perpetuo

bull Si lo desea un conjunto de etiquetas de instancias on-premises (con el--tags) que CodeDeployutilizaraacute para identificar el conjunto de instancias Amazon EC2 en el que se implementaraacute Especifiquecada etiqueta con Key=tag-keyValue=tag-value (por ejemplo Key=NameValue=BetaKey=NameValue=WestRegion) Si no se especifica esta opcioacuten no se registraraacuten etiquetas Pararegistrar etiquetas en otro momento llame acomplementos de a instancias on-premisescomando

bull Opcionalmente elAWSregioacuten de en la que se registraraacute la instancia on-premises en CodeDeploy(con el--regionopcioacuten) Esta debe ser alguna de las regiones admitidas que se encuentran en lalista deRegiones y puntos de enlaceenAWSReferencia general de(por ejemplous-west-2) Si no seespecifica esta opcioacuten el valor predeterminadoAWSSe utilizaraacute la regioacuten asociada al usuario de IAM querealiza la llamada

Por ejemplo

aws deploy register --instance-name AssetTag12010298EX --iam-user-arn arnawsiam444455556666userCodeDeployUser-OnPrem --tags Key=NameValue=CodeDeployDemo-OnPrem --region us-west-2

El comando register hace lo siguiente

1 Si no se especifica un usuario de IAM existente lo crea le adjunta los permisos necesarios y generala clave secreta y la clave de acceso secreta correspondientes La instancia on-premises utilizaraacute esteusuario de IAM y sus permisos y credenciales para la autenticacioacuten e interaccioacuten con CodeDeploy

Versioacuten de API 2014-10-06235

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

2 Registra la instancia on-premises en CodeDeploy3 Si se especifica asocia en CodeDeploy las etiquetas que se especifican en el--tagscon el nombre de

la instancia on-premises registrada4 Si el usuario de IAM se creoacute tambieacuten crea el archivo de configuracioacuten requerido en el mismo directorio

desde el cual elregisterse llamoacute al comando

Si este comando encuentra alguacuten error aparece un mensaje en el que se describe coacutemo realizarmanualmente los pasos faltantes En caso contrario aparece un mensaje de confirmacioacuten en el que sedescribe coacutemo ejecutar el comando install seguacuten se indica en el siguiente paso

Paso 3 Ejecute el comando de instalacioacuten

Utilice la en la instancia on-premisesAWS CLIpara llamar ainstalarcomando especificando

bull La ruta al archivo de configuracioacuten (con la opcioacuten --config-file)bull Si lo desea si se reemplazaraacute el archivo de configuracioacuten que ya existe en la instancia on-premises

(con la opcioacuten --override-config) Si no se especifica no se sustituiraacute el archivo de configuracioacutenexistente

bull Opcionalmente elAWSregioacuten de en la que se registraraacute la instancia on-premises en CodeDeploy(con el--regionopcioacuten) Esta debe ser alguna de las regiones admitidas que se encuentran en lalista deRegiones y puntos de enlaceenAWSReferencia general de(por ejemplous-west-2) Si no seespecifica esta opcioacuten el valor predeterminadoAWSSe utilizaraacute la regioacuten asociada al usuario de IAM querealiza la llamada

bull Si lo desea una ubicacioacuten personalizada desde la que se instalaraacute el agente de CodeDeploy (con el--agent-installeropcioacuten) Esta opcioacuten sirve para instalar una versioacuten personalizada del agente deCodeDeploy con el que CodeDeploy no es oficialmente compatible (como la versioacuten personalizadabasada en elAgente de CodeDeployrepositorio en GitHub) El valor debe ser la ruta a un bucket deAmazon S3 que contenga cualquiera de los siguientesbull Un script de instalacioacuten del agente de CodeDeploy (para sistemas operativos basados en Linux o en

Unix similar al archivo de instalacioacuten delAgente de CodeDeployrepositorio en GitHub)bull Un archivo del paquete de instalacioacuten (msi) del agente de CodeDeploy (para sistemas operativos

basados en Windows)

Si no se especifica esta opcioacuten CodeDeploy intentaraacute instalar desde su propia ubicacioacuten una versioacutenoficialmente compatible del agente de CodeDeploy que sea compatible con el sistema operativo de lainstancia on-premises

Por ejemplo

aws deploy install --override-config --config-file tmpcodedeployonpremisesyml --region us-west-2 --agent-installer s3aws-codedeploy-us-west-2latestcodedeploy-agentmsi

El comando install hace lo siguiente

1 Comprueba si la instancia on-premises es una instancia Amazon EC2 Si lo es aparece un mensaje deerror

2 Copia el archivo de configuracioacuten de las instancias on-premises desde la ubicacioacuten especificada en lainstancia a la ubicacioacuten donde el agente de CodeDeploy espera encontrarlo siempre que el archivo yano esteacute en esa ubicacioacuten

Para Ubuntu Server y Red Hat Enterprise Linux (RHEL)) esto esetccodedeploy-agentconfcodedeployonpremisesyml

Para Windows Server esto esCProgramDataAmazonCodeDeployconfonpremisesyml

Versioacuten de API 2014-10-06236

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

Si se especificoacute la opcioacuten --override-config crea o sobrescribe el archivo3 Instala el agente de CodeDeploy en la instancia on-premises y a continuacioacuten lo inicia

Paso 4 Implementar revisiones de la aplicacioacuten en la instancia on-premises

Ahora estaacute listo para implementar revisiones de aplicaciones en la instancia on-premises registrada yetiquetada

La implementacioacuten de revisiones de aplicaciones en instancias on-premises es similar a la implementacioacutende revisiones de aplicaciones en instancias Amazon EC2 Para obtener instrucciones consulte Creeuna implementacioacuten con CodeDeploy (p 324) Estas instrucciones incluyen un enlace a los requisitosprevios incluida la creacioacuten de una aplicacioacuten la creacioacuten de un grupo de implementaciones y lapreparacioacuten de la revisioacuten de una aplicacioacuten Si necesita una revisioacuten de una aplicacioacuten sencilla paraimplementar puede crear la que se describe en Paso 2 Creacioacuten de una revisioacuten de aplicacioacuten demuestra (p 104) en el Tutorial Implementar una aplicacioacuten en una instancia local con CodeDeploy(Windows Server Ubuntu Server o Red Hat Enterprise Linux) (p 103)

Important

Si reutiliza un rol de servicio de CodeDeploy existente como parte de la creacioacuten deun grupo de implementaciones que tiene como destino instancias on-premises debeincluirTaggetalActionparte de la declaracioacuten de poliacutetica del rol de servicio Para obtener maacutesinformacioacuten consulte Paso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36)

Paso 5 Seguimiento de las implementaciones en la instancia local

Despueacutes de implementar una revisioacuten de una aplicacioacuten en instancias on-premises registradas yetiquetadas puede hacer un seguimiento del progreso de la implementacioacuten

El seguimiento de las implementaciones en instancias on-premises es similar al seguimiento de lasimplementaciones en instancias Amazon EC2 Para obtener instrucciones consulte Ver detalles deimplementacioacuten de CodeDeploy (p 340)

Para obtener maacutes opciones consulte Administracioacuten de operaciones de instancias on-premises enCodeDeploy (p 253)

Utilice el comando register-on-premises-instance (ARN deusuario de IAM) para registrar una instancia on-premisesSiga estas instrucciones para configurar una instancia on-premises registrarla y etiquetarla conCodeDeploy principalmente por su cuenta utilizando las credenciales estaacuteticas de un usuario de IAM parala autenticacioacuten

Temasbull Paso 1 Creacioacuten de un usuario de IAM para la instancia on-premises (p 238)bull Paso 2 Asignar permisos al usuario de IAM (p 238)bull Paso 3 Obtenga las credenciales de usuario de IAM (p 240)bull Paso 4 Agregar un archivo de configuracioacuten a la instancia on-premises (p 242)bull Paso 5 Instalacioacuten y configuracioacuten de AWS CLI (p 243)bull Paso 6 Establecer la variable de entorno AWS_REGION (solo Ubuntu Server y RHEL) (p 244)bull Paso 7 Instalacioacuten del agente de CodeDeploy (p 244)bull Paso 8 Registre la instancia on-premises en CodeDeploy (p 244)bull Paso 9 Etiquetado de la instancia on-premises (p 245)

Versioacuten de API 2014-10-06237

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

bull Paso 10 Implementar revisiones de aplicaciones en la instancia on-premises (p 246)bull Paso 11 Seguimiento de las implementaciones en la instancia local (p 246)

Paso 1 Creacioacuten de un usuario de IAM para la instancia on-premises

Cree un usuario de IAM que la instancia on-premises utilizaraacute para la autenticacioacuten e interaccioacuten conCodeDeploy

Important

Debe crear un usuario de IAM diferente para cada instancia on-premises que emplee Si intentareutilizar un usuario individual de IAM para varias instancias on-premises es posible que nopueda registrar o etiquetar correctamente esas instancias on-premises con CodeDeploy Lasimplementaciones en esas instancias on-premises pueden quedarse bloqueadas en un estadopendiente perpetuo o producir errores

Le recomendamos que asigne al usuario de IAM un nombre que identifique su finalidad comoCodeDeployUser-OnPrem

Puede utilizar elAWS CLIo la consola de IAM para crear un usuario de IAM Para obtener informacioacutenconsulteCreacioacuten de un usuario de IAM en suAWScuenta

Important

Si utilizas elAWS CLIo la consola de IAM para crear un nuevo usuario de IAM anote el ARNproporcionado para el usuario Necesitaraacute esta informacioacuten maacutes tarde en Paso 4 Agregar unarchivo de configuracioacuten a la instancia on-premises (p 242) y Paso 8 Registre la instancia on-premises en CodeDeploy (p 244)

Paso 2 Asignar permisos al usuario de IAM

Si su instancia on-premises va a implementar revisiones de aplicaciones desde buckets de Amazon S3debe asignar al usuario de IAM los permisos necesarios para interactuar con esos buckets Puede utilizarelAWS CLIo la consola de IAM para asignar permisos

Note

Si va a implementar revisiones de aplicaciones uacutenicamente desde repositorios de GitHub omitaeste paso y vaya directamente a Paso 3 Obtenga las credenciales de usuario de IAM (p 240)(Tambieacuten necesitaraacute informacioacuten acerca del usuario de IAM que creoacute enPaso 1 Creacioacuten de unusuario de IAM para la instancia on-premises (p 238) Se utilizaraacute en pasos posteriores)

Para asignar permisos (CLI)

1 Cree un archivo con el siguiente contenido de poliacutetica en la instancia o el dispositivo de Amazon EC2que va a utilizar para llamar a laAWS CLI Asigne al archivo un nombre como CodeDeploy-OnPrem-Permissionsjson y a continuacioacuten guaacuterdelo

Version 2012-10-17 Statement [ Action [ s3Get s3List ] Effect Allow Resource ]

Versioacuten de API 2014-10-06238

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

Note

Le recomendamos que restrinja esta poliacutetica uacutenicamente a los buckets de Amazon S3a los que su instancia on-premises necesite tener acceso Si restringe esta poliacuteticaaseguacuterese de conceder acceso tambieacuten a los buckets de Amazon S3 que contienen laAWSCodeDeployagente de De lo contrario podriacutea producirse un error siempre que el agente deCodeDeploy se instale o actualice en la instancia on-premises asociadaPor ejemplo

Version 2012-10-17 Statement [ Effect Allow Action [ s3Get s3List ] Resource [ arnawss3replace-with-your-s3-bucket-name arnawss3aws-codedeploy-us-east-2 arnawss3aws-codedeploy-us-east-1 arnawss3aws-codedeploy-us-west-1 arnawss3aws-codedeploy-us-west-2 arnawss3aws-codedeploy-ca-central-1 arnawss3aws-codedeploy-eu-west-1 arnawss3aws-codedeploy-eu-west-2 arnawss3aws-codedeploy-eu-west-3 arnawss3aws-codedeploy-eu-central-1 arnawss3aws-codedeploy-ap-east-1 arnawss3aws-codedeploy-ap-northeast-1 arnawss3aws-codedeploy-ap-northeast-2 arnawss3aws-codedeploy-ap-southeast-1 arnawss3aws-codedeploy-ap-southeast-2 arnawss3aws-codedeploy-ap-south-1 arnawss3aws-codedeploy-sa-east-1 ] ]

2 Llame a laput-user-policy especificando el nombre del usuario de IAM (con--user-name(opcioacuten)un nombre de la poliacutetica (con--policy-name) y la ruta al documento de poliacutetica recieacuten creado (conla--policy-documentopcioacuten) Por ejemplo suponiendo que el archivo CodeDeploy-OnPrem-Permissionsjson estaacute en el mismo directorio (carpeta) desde el que llama a este comando

Important

Aseguacuterese de incluir file antes del nombre de archivo Es obligatorio en este comando

aws iam put-user-policy --user-name CodeDeployUser-OnPrem --policy-name CodeDeploy-OnPrem-Permissions --policy-document fileCodeDeploy-OnPrem-Permissionsjson

Para asignar permisos (consola)

1 Abra la consola de IAM en httpsconsoleawsamazoncomiam2 En el panel de navegacioacuten seleccione Policies y a continuacioacuten seleccione Create Policy Si aparece

el botoacuten Get Started (Empezar) eliacutejalo y a continuacioacuten elija Create Policy (Crear poliacutetica)Versioacuten de API 2014-10-06

239

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

3 Junto a Create Your Own Policy seleccione Select4 En el cuadro Policy Name (Nombre de la poliacutetica) escriba un nombre para esta poliacutetica (por ejemplo

CodeDeploy-OnPrem-Permissions)5 En el navegadorPolicy Document escriba o pegue la siguiente expresioacuten de permisos que

permiteAWS CodeDeploypara implementar revisiones de aplicaciones desde cualquier bucket deAmazon S3 especificado en la poliacutetica en la instancia on-premises en nombre de la cuenta de usuariode IAM

Version 2012-10-17 Statement [ Action [ s3Get s3List ] Effect Allow Resource ]

6 Elija Create Policy (Crear poliacutetica)7 En el panel de navegacioacuten seleccione Users (Usuarios)8 En la lista de usuarios busque y elija el nombre del usuario de IAM que creoacute enPaso 1 Creacioacuten de

un usuario de IAM para la instancia on-premises (p 238)9 En la pestantildea Permissions en Managed Policies seleccione Attach Policy10 Seleccione la poliacutetica denominada CodeDeploy-OnPrem-Permissions y a continuacioacuten elija

Attach Policy (Asociar poliacutetica)

Paso 3 Obtenga las credenciales de usuario de IAMObtenga el ID de la clave secreta y la clave de acceso secreta para el usuario de IAM Los necesitaraacute paraPaso 4 Agregar un archivo de configuracioacuten a la instancia on-premises (p 242) Puede utilizar elAWSCLIo la consola de IAM para obtener el ID de clave secreta y la clave de acceso secreta

Note

Si ya tiene el ID de la clave secreta y la clave de acceso secreta omita este paso y vayadirectamente a Paso 4 Agregar un archivo de configuracioacuten a la instancia on-premises (p 242)

Para obtener las credenciales (CLI)

1 Llame a laclaves de acceso a listas especificando el nombre del usuario de IAM (con--user-name) yconsultar solo los ID de clave de acceso (con la--queryy--outputopciones) Por ejemplo

aws iam list-access-keys --user-name CodeDeployUser-OnPrem --query AccessKeyMetadata[]AccessKeyId --output text

2 Si en la salida no aparece ninguna clave o aparece informacioacuten acerca de una uacutenica clave llame alacreate-access-key especificando el nombre del usuario de IAM (con--user-nameopcioacuten)

aws iam create-access-key --user-name CodeDeployUser-OnPrem

En la salida de la llamada al comando create-access-key anote el valor de los campos AccessKeyIdy SecretAccessKey Necesitaraacute esta informacioacuten en Paso 4 Agregar un archivo de configuracioacuten ala instancia on-premises (p 242)

Versioacuten de API 2014-10-06240

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

Important

Esta seraacute la uacutenica vez que tendraacute acceso a la clave de acceso secreta Si olvida o pierde elacceso a esta clave de acceso secreta tendraacute que generar una nueva siguiendo los pasos dePaso 3 Obtenga las credenciales de usuario de IAM (p 240)

3 Si ya se muestran dos claves de acceso debe eliminar una de ellas llamando a ladelete-access-keyespecificando el nombre del usuario de IAM (con--user-name) y el ID de la clave de acceso que seva a eliminar (con la--access-key-idopcioacuten) A continuacioacuten llame al comando create-access-key como se ha descrito anteriormente en este paso A continuacioacuten se muestra un ejemplo de coacutemollamar al comando delete-access-key

aws iam delete-access-key --user-name CodeDeployUser-OnPrem --access-key-id access-key-ID

Important

Si llamas aldelete-access-keypara eliminar una de estas claves de acceso y una instanciaon-premises ya estaacute utilizando esta clave de acceso como se describe enPaso 4 Agregarun archivo de configuracioacuten a la instancia on-premises (p 242) deberaacute seguir lasinstrucciones que se indican enPaso 4 Agregar un archivo de configuracioacuten a la instancia on-premises (p 242)nuevamente para especificar otro ID de clave de acceso y otra clave deacceso secreta asociados a este usuario de IAM De lo contrario todas las implementacionesde esa instancia on-premises pueden quedarse bloqueadas en un estado pendiente perpetuoo producir errores

Para obtener las credenciales (consola)

1 a Abra la consola de IAM en httpsconsoleawsamazoncomiamb Si la lista de usuarios no se muestra en el panel de navegacioacuten elija Usersc En la lista de usuarios busque y elija el nombre del usuario de IAM que creoacute enPaso 1 Creacioacuten

de un usuario de IAM para la instancia on-premises (p 238)2 En la pestantildea Security credentials si en la lista no figura ninguna clave o si figura una sola una clave

seleccione Create access key

Si se muestran dos claves de acceso debe eliminar una de ellas Elija Delete junto a una de las clavesde acceso y luego seleccione Create access key

Important

Si eligeBorrarjunto a una de estas claves de acceso y una instancia on-premises yaestaacute utilizando esta clave de acceso como se describe enPaso 4 Agregar un archivode configuracioacuten a la instancia on-premises (p 242) deberaacute seguir las instruccionesque se indican enPaso 4 Agregar un archivo de configuracioacuten a la instancia on-premises (p 242)nuevamente para especificar otro ID de clave de acceso y otra clave deacceso secreta asociados a este usuario de IAM De lo contrario las implementaciones deesa instancia on-premises pueden quedarse bloqueadas en un estado pendiente perpetuo oproducir errores

3 Elija Show y anote el ID de la clave de acceso y la clave de acceso secreta Necesitaraacute estainformacioacuten para el siguiente paso Como alternativa puede elegir Download csv file para guardaruna copia del ID de la clave de acceso y la clave de acceso secreta

Important

A menos que anote o descargue las credenciales esta seraacute la uacutenica vez que tendraacute accesoa la clave de acceso secreta Si olvida o pierde el acceso a esta clave de acceso secretaVersioacuten de API 2014-10-06

241

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

tendraacute que generar una nueva siguiendo los pasos de Paso 3 Obtenga las credenciales deusuario de IAM (p 240)

4 Seleccione Close para volver a la paacutegina Users gt IAM User Name

Paso 4 Agregar un archivo de configuracioacuten a la instancia on-premises

Antildeada un archivo de configuracioacuten a la instancia on-premises utilizando los permisos raiacutez o deadministrador Este archivo de configuracioacuten se utilizaraacute para declarar las credenciales de usuario deIAM y el destino de destinoAWSregioacuten que se utilizaraacute para CodeDeploy El archivo debe antildeadirse a unaubicacioacuten especiacutefica de la instancia on-premises El archivo debe incluir el ARN el ID de la clave secretala clave de acceso secreta y el destino de destino del usuario de IAMAWSregion Este archivo debe seguirun formato especiacutefico

1 Cree un archivo denominadocodedeployonpremisesyml(para una instancia local de UbuntuServer o RHEL) oconfonpremisesyml(si se trata de una instancia on-premises de WindowsServer) en la siguiente ubicacioacuten de la instancia on-premises

bull Para Ubuntu Serveretccodedeploy-agentconfbull Para Windows ServerCProgramDataAmazonCodeDeploy

2 Utilice un editor de texto para antildeadir la siguiente informacioacuten al archivocodedeployonpremisesyml o confonpremisesyml recieacuten creado

---aws_access_key_id secret-key-idaws_secret_access_key secret-access-keyiam_user_arn iam-user-arnregion supported-region

Donde

bull secret-keyy-ides el ID de la clave secreta del usuario de IAM correspondiente que anotoacuteenPaso 1 Creacioacuten de un usuario de IAM para la instancia on-premises (p 238)oPaso 3 Obtengalas credenciales de usuario de IAM (p 240)

bull clave de acceso secretaes la clave de acceso secreta del usuario de IAMcorrespondiente que anotoacute enPaso 1 Creacioacuten de un usuario de IAM para la instancia on-premises (p 238)oPaso 3 Obtenga las credenciales de usuario de IAM (p 240)

bull iam-user-arn es el ARN del usuario de IAM que anotoacute anteriormente en Paso 1 Creacioacuten de unusuario de IAM para la instancia on-premises (p 238)

bull regioacuten admitidaes el identificador de una regioacuten admitida por CodeDeploy en la que seencuentran sus aplicaciones grupos de implementaciones y revisiones de aplicaciones deCodeDeploy (por ejemplous-west-2) Para obtener una lista de regiones consulteRegiones ypuntos de enlaceen laAWSReferencia general de

Important

Si eligioacuteBorrarjunto a una de las claves de acceso dePaso 3 Obtenga las credenciales deusuario de IAM (p 240) y su instancia on-premises ya estaacute utilizando el ID de clave deacceso y la clave de acceso secreta asociados tendraacute que seguir las instrucciones dePaso 4Agregar un archivo de configuracioacuten a la instancia on-premises (p 242)para especificarotro ID de clave de acceso y otra clave de acceso secreta asociados a este usuario de IAMDe lo contrario todas las implementaciones de su instancia on-premises pueden quedarsebloqueadas en un estado pendiente perpetuo o producir errores

Versioacuten de API 2014-10-06242

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

Paso 5 Instalacioacuten y configuracioacuten de AWS CLI

Instale y configure la AWS CLI en la instancia on-premises (ElAWS CLIse utilizaraacute enPaso 7 Instalacioacutendel agente de CodeDeploy (p 244)para descargar e instalar el agente de CodeDeploy en la instanciaon-premises)

1 Para instalar elAWS CLIen la instancia on-premises siga las instrucciones que se indicanenConfiguracioacuten inicial de laAWS CLIen laAWS Command Line InterfaceGuiacutea del usuario de

Note

Los comandos de CodeDeploy para trabajar con instancias on-premises estaacuten disponiblesdesde la versioacuten 1719 de laAWS CLI Si ya tiene instalada una versioacuten de la AWS CLIpuede llamar a aws --version para comprobar la versioacuten

2 Para configurar laAWS CLIen la instancia on-premises siga las instrucciones que se indicanenConfiguracioacuten deAWS CLIen laAWS Command Line InterfaceGuiacutea del usuario de

Important

Al configurar laAWS CLI(por ejemplo llamando alaws configure) aseguacuterese de especificarel ID de clave secreta y la clave de acceso secreta de un usuario de IAM que tengacomo miacutenimo lo siguienteAWSpermisos de acceso ademaacutes de los permisos de accesoespecificados en elRequisitos previos para configurar una instancia on-premises (p 231)Esto le permite descargar e instalar el agente de CodeDeploy en la instancia on-premises

Version 2012-10-17 Statement [ Effect Allow Action [ codedeploy ] Resource Effect Allow Action [ s3Get s3List ] Resource [ arnawss3aws-codedeploy-us-east-2 arnawss3aws-codedeploy-us-east-1 arnawss3aws-codedeploy-us-west-1 arnawss3aws-codedeploy-us-west-2 arnawss3aws-codedeploy-ca-central-1 arnawss3aws-codedeploy-eu-west-1 arnawss3aws-codedeploy-eu-west-2 arnawss3aws-codedeploy-eu-west-3 arnawss3aws-codedeploy-eu-central-1 arnawss3aws-codedeploy-ap-east-1 arnawss3aws-codedeploy-ap-northeast-1 arnawss3aws-codedeploy-ap-northeast-2 arnawss3aws-codedeploy-ap-southeast-1 arnawss3aws-codedeploy-ap-southeast-2 arnawss3aws-codedeploy-ap-south-1 arnawss3aws-codedeploy-sa-east-1 ] ]

Versioacuten de API 2014-10-06243

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

Estos permisos de acceso se pueden asignar al usuario de IAM que creoacute enPaso 1 Creacioacutende un usuario de IAM para la instancia on-premises (p 238)o a otro usuario de IAM Paraasignar estos permisos a un usuario de IAM siga las instrucciones dePaso 1 Creacioacuten de unusuario de IAM para la instancia on-premises (p 238) utilizando estos permisos de accesoen lugar de los indicados en ese paso

Paso 6 Establecer la variable de entorno AWS_REGION (solo Ubuntu Server yRHEL)

Si no ejecuta Ubuntu Server o RHEL en su instancia on-premises omita este paso y vaya directamenteaPaso 7 Instalacioacuten del agente de CodeDeploy (p 244)

Instale el agente de CodeDeploy en una instancia on-premises de Ubuntu Server o RHEL y permitaque la instancia actualice el agente de CodeDeploy siempre que haya disponible una nueva versioacutenPara ello establezca laAWS_REGIONvariable de entorno de la instancia al identificador de una de lasregiones admitidas por CodeDeploy Le recomendamos que establezca el valor en la regioacuten en la que seencuentran sus aplicaciones grupos de implementaciones y revisiones de aplicaciones de CodeDeploy(por ejemplous-west-2) Para obtener una lista de regiones consulteRegiones y puntos de enlaceenlaAWSReferencia general de

Para establecer la variable de entorno llame al siguiente comando desde el terminal

export AWS_REGION=supported-region

Donde supported-region es el identificador de regioacuten (por ejemplo us-west-2)

Paso 7 Instalacioacuten del agente de CodeDeploy

Instale el agente de CodeDeploy en la instancia on-premises

bull Si se trata de una instancia on-premises de Ubuntu Server siga las instrucciones deInstale el agente deCodeDeploy para Ubuntu Server (p 192)y a continuacioacuten vuelva a esta paacutegina

bull Si se trata de una instancia on-premises de RHEL siga las instrucciones que se indican enInstale elagente CodeDeploy para Amazon Linux o RHEL (p 191)y a continuacioacuten vuelva a esta paacutegina

bull Si se trata de una instancia on-premises de Windows Server siga las instrucciones deInstale el agentede CodeDeploy para Windows Server (p 193)y a continuacioacuten vuelva a esta paacutegina

Paso 8 Registre la instancia on-premises en CodeDeploy

En las instrucciones de este paso se da por supuesto que va a registrar la instancia on-premises desdela propia instancia on-premises Puede registrar una instancia on-premises desde un dispositivo ouna instancia diferente que tenga la AWS CLI instalada y configurada como se describe en el Paso 5Instalacioacuten y configuracioacuten de AWS CLI (p 243)

UsarAWS CLIpara registrar la instancia on-premises con CodeDeploy de manera que pueda utilizarse enlas implementaciones

1 Antes de poder utilizar laAWS CLI necesitaraacute el ARN del usuario de IAM que creoacute enPaso 1 Creacioacutende un usuario de IAM para la instancia on-premises (p 238) Si auacuten no tiene el ARN del usuario dellame aget-user especificando el nombre del usuario de IAM (con--user-nameopcioacuten) y consultassolo para el ARN de usuario (con la--queryy--outputopciones)

aws iam get-user --user-name CodeDeployUser-OnPrem --query UserArn --output text

Versioacuten de API 2014-10-06244

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

2 Llame a laregister-on-premies-instancia especificando

bull Un nombre que identifique de manera uacutenica la instancia on-premises (con la opcioacuten --instance-name)

Important

Para ayudarle a identificar la instancia on-premises especialmente a efectos dedepuracioacuten recomendamos encarecidamente que especifique un nombre que se asignea algunas caracteriacutesticas exclusivas de la instancia on-premises (por ejemplo el nuacutemerode serie o un identificador de recurso interno si procede) Si especifica una direccioacuten MACcomo nombre debe tener en cuenta que las direcciones MAC contienen caracteres queCodeDeploy no permite como los dos puntos () Para obtener una lista de los caracterespermitidos consulte liacutemites de CodeDeploy (p 454)

bull El ARN del usuario de IAM que creoacute enPaso 1 Creacioacuten de un usuario de IAM para la instancia on-premises (p 238)(con el--iam-user-arnopcioacuten)

Por ejemplo

aws deploy register-on-premises-instance --instance-name AssetTag12010298EX --iam-user-arn arnawsiam444455556666userCodeDeployUser-OnPrem

Paso 9 Etiquetado de la instancia on-premisesPuede utilizar laAWS CLIo la consola de CodeDeploy para etiquetar la instancia on-premises (CodeDeployutiliza etiquetas de instancias on-premises para identificar los destinos de implementacioacuten durante unaimplementacioacuten)

Para etiquetar la instancia on-premises (CLI)

bull Llame a lacomplementos de en instancias on-premises especificando

bull El nombre que identifica de manera uacutenica la instancia on-premises (con la opcioacuten --instance-names)

bull El nombre de la clave de etiqueta y el valor de etiqueta de la instancia on-premises que deseautilizar (con la opcioacuten --tags) Debe especificar tanto el nombre como el valor CodeDeploy nopermite etiquetas de instancias on-premises que solo tengan valores

Por ejemplo

aws deploy add-tags-to-on-premises-instances --instance-names AssetTag12010298EX --tags Key=NameValue=CodeDeployDemo-OnPrem

Para etiquetar la instancia on-premises (consola)

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el menuacute de CodeDeploy elijaInstancias on-premises3 En la lista de instancias on-premises elija la flecha situada junto a la instancia on-premises que desea

etiquetar

Versioacuten de API 2014-10-06245

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

4 En la lista de etiquetas seleccione o introduzca la clave y el valor que desee para la etiqueta Cuandointroduzca la clave y el valor de la etiqueta apareceraacute otra fila Puede repetir esta accioacuten para un

maacuteximo de 10 etiquetas Para quitar una etiqueta elija el icono de eliminacioacuten ( )5 Despueacutes de antildeadir las etiquetas seleccione Update Tags

Paso 10 Implementar revisiones de aplicaciones en la instancia on-premisesAhora estaacute listo para implementar revisiones de aplicaciones en la instancia on-premises registrada yetiquetada

La implementacioacuten de revisiones de aplicaciones en instancias on-premises es similar a la implementacioacutende revisiones de aplicaciones en instancias on-premises de Amazon EC2 Para obtener instruccionesconsulte Cree una implementacioacuten con CodeDeploy (p 324) Estas instrucciones incluyen un enlace alos requisitos previos incluida la creacioacuten de una aplicacioacuten la creacioacuten de un grupo de implementacionesy la preparacioacuten de la revisioacuten de una aplicacioacuten Si necesita una revisioacuten de una aplicacioacuten sencillapara implementar puede crear la que se describe en Paso 2 Creacioacuten de una revisioacuten de aplicacioacutende muestra (p 104) en el Tutorial Implementar una aplicacioacuten en una instancia local con CodeDeploy(Windows Server Ubuntu Server o Red Hat Enterprise Linux) (p 103)

Important

Si reutiliza un rol de servicio de CodeDeploy como parte de la creacioacuten de ungrupo de implementaciones que tiene como destino instancias on-premises debeincluirTaggetalActionparte de la declaracioacuten de poliacutetica del rol de servicio Para obtener maacutesinformacioacuten consulte Paso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36)

Paso 11 Seguimiento de las implementaciones en la instancia localDespueacutes de implementar una revisioacuten de una aplicacioacuten en instancias on-premises registradas yetiquetadas puede hacer un seguimiento del progreso de la implementacioacuten

El seguimiento de las implementaciones en instancias on-premises es similar al seguimiento de lasimplementaciones en instancias on-premises de Amazon EC2 Para obtener instrucciones consulte Verdetalles de implementacioacuten de CodeDeploy (p 340)

Utilice el comando register-on-premises-instance (ARN de sesioacutende IAM) para registrar una instancia on-premisesPara tener el maacuteximo control sobre la autenticacioacuten y el registro de las instancias on-premises puedeutilizar lainstancias de registro en localesy actualice perioacutedicamente las credenciales temporalesgeneradas con laAWS Security Token Service(AWS STS) Un rol de IAM estaacutetico para la instancia asumeel rol de estas actualizadasAWS STScredenciales para realizar operaciones de implementacioacuten deCodeDeploy

Este meacutetodo es muy uacutetil cuando necesita registrar un gran nuacutemero de instancias Le permite automatizarel proceso de registro con CodeDeploy Puede utilizar su propio sistema de identidad y autenticacioacutenpara autenticar instancias on-premises y distribuir credenciales de sesioacuten de IAM desde el servicio a lasinstancias que se van a usar con CodeDeploy

Note

Tambieacuten puede utilizar un usuario de IAM compartido distribuido a todas las instancias on-premises para llamar a la API AWS STSAssumeRole de con el fin de recuperar las credencialesde sesioacuten de las instancias on-premises Este meacutetodo es menos seguro y no se recomienda paraentornos de produccioacuten o criacuteticos

Utilice la informacioacuten de los siguientes temas para configurar una instancia on-premises con credencialesde seguridad temporales generadas con AWS STS

Versioacuten de API 2014-10-06246

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

Temasbull Requisitos previos de registro ARN de sesioacuten de IAM (p 247)bull Paso 1 Cree el rol de IAM que asumiraacuten las instancias locales (p 247)bull Paso 2 Generar credenciales temporales para una instancia individual medianteAWS STS (p 248)bull Paso 3 Antildeada un archivo de configuracioacuten a la instancia on-premises (p 249)bull Paso 4 Preparar una instancia on-premises para las implementaciones de CodeDeploy (p 250)bull Paso 5 Registre la instancia on-premises con CodeDeploy (p 251)bull Paso 6 Etiquetado de la instancia on-premises (p 252)bull Paso 7 Implementar revisiones de las aplicaciones en la instancia on-premises (p 252)bull Paso 8 Seguimiento de las implementaciones en la instancia local (p 253)

Requisitos previos de registro ARN de sesioacuten de IAMAdemaacutes de los requisitos previos indicados en Requisitos previos para configurar una instancia on-premises (p 231) deben cumplirse los siguientes requisitos adicionales

Permisos de IAM

La identidad de IAM que se utiliza para registrar una instancia on-premises debe tener permisos pararealizar operaciones de CodeDeploy Aseguacuterese de que laAWSCodeDeployFullAccessLa poliacuteticaadministrada estaacute asociada a la identidad de IAM Para obtener informacioacuten consulteAWSpoliacuteticasadministradasen laIAM User Guide

Sistema para actualizar las credenciales temporales

Si utiliza un ARN de sesioacuten de IAM para registrar instancias on-premises debe disponer de un sistemapara actualizar perioacutedicamente las credenciales temporales Las credenciales temporales caducandespueacutes de una hora o antes si se especifica un periodo maacutes corto cuando se generan las credencialesExisten dos meacutetodos para actualizar las credenciales

bull Meacutetodo 1 Utilice el sistema de identidad y autenticacioacuten de su red corporativa con un script CRON quesondee perioacutedicamente el sistema de identidad y autenticacioacuten y copie las credenciales de la uacuteltimasesioacuten en la instancia Esto le permite integrar su estructura de autenticacioacuten e identidad conAWSsinnecesidad de realizar cambios en el agente o en el servicio de CodeDeploy para permitir los tipos deautenticacioacuten que utiliza en la organizacioacuten

bull Meacutetodo 2 Ejecute perioacutedicamente un trabajo CRON en la instancia para llamar alAWS STSAssumeRoley escriba las credenciales de la sesioacuten en un archivo al que el agente de CodeDeploy tengaacceso Este meacutetodo requiere igualmente utilizar un usuario de IAM y copiar las credenciales en lainstancia on-premises pero puede volver a utilizar el mismo usuario de IAM y las mismas credencialesen toda la flota de instancias on-premises

Para obtener maacutes informacioacuten acerca de coacutemo crear y trabajar conAWS STScredenciales consulteAWSSecurity Token ServiceReferencia de la APIyUso de credenciales de seguridad temporales para solicitaracceso aAWSrecursos

Paso 1 Cree el rol de IAM que asumiraacuten las instancias localesPuede utilizar elAWS CLIo la consola de IAM para crear el rol de IAM que utilizaraacuten sus instancias on-premises para autenticar e interactuar con CodeDeploy

Solo tiene que crear un uacutenico rol de IAM Cada una de las instancias on-premises puede asumir este rolpara recuperar las credenciales de seguridad temporales que proporcionan los permisos concedidos a esterol

El rol que cree requeriraacute los siguientes permisos para tener acceso a los archivos necesarios para instalarel agente de CodeDeploy

Versioacuten de API 2014-10-06247

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

Version 2012-10-17 Statement [ Action [ s3Get s3List ] Effect Allow Resource ]

Le recomendamos que restrinja esta poliacutetica uacutenicamente a los buckets de Amazon S3 a los que suinstancia on-premises necesite tener acceso Si restringe esta poliacutetica aseguacuterese de conceder accesoa los buckets de Amazon S3 que contienen el agente de CodeDeploy De lo contrario podriacutea producirseun error siempre que el agente de CodeDeploy se instale o actualice en la instancia on-premisesPara obtener maacutes informacioacuten acerca de coacutemo controlar el acceso a los buckets de Amazon S3consulteAdministracioacuten de los permisos de acceso a los recursos de Amazon S3

Para crear el rol de IAM

1 Llame al comando create-role usando la opcioacuten --role-name para especificar un nombre parael rol de IAM (por ejemplo CodeDeployInstanceRole) y la opcioacuten --assume-role-policy-document para proporcionar los permisos

Cuando cree el rol de IAM para esta instancia puede asignarle el nombreCodeDeployInstanceRole e incluir los permisos necesarios en un archivo denominadoCodeDeployRolePolicyjson

aws iam create-role --role-name CodeDeployInstanceRole --assume-role-policy-document fileCodeDeployRolePolicyjson

2 En la salida de la llamada al comando create-role anote el valor del campo ARN Por ejemplo

arnawsiam123456789012roleCodeDeployInstanceRole

Necesitaraacute el ARN del rol cuando utilice la API AWS STSAssumeRole de para generar credencialestemporales para cada instancia

Para obtener maacutes informacioacuten acerca de la creacioacuten de roles de IAM consulteCreacioacuten de un rol paradelegar permisos a unAWSServicio deenIAM User Guide

Para obtener maacutes informacioacuten acerca de la asignacioacuten de permisos a un rol existente consulteput-role-policyenAWS CLIReferencia de los comandos

Paso 2 Generar credenciales temporales para una instancia individualmedianteAWS STS

Antes de generar las credenciales temporales que se utilizaraacuten para registrar una instancia on-premisesdebe crear o elegir la identidad de IAM (usuario o rol) para la que se generaraacuten las credencialestemporales El permiso stsAssumeRole debe estar incluido en la configuracioacuten de poliacutetica de estaidentidad de IAM

Para obtener informacioacuten sobre la concesioacutenstsAssumeRolepermisos para una identidad de IAMconsulteCreacioacuten de un rol para delegar permisos a unAWSServicio deyAssumeRole

Versioacuten de API 2014-10-06248

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

Hay dos formas de generar credenciales temporales

bull Usarasumir rolcomando con elAWS CLI Por ejemplo

aws sts assume-role --role-arn arnawsiam12345ACCOUNTrolerole-arn --role-session-name session-name

Dondebull 12345ACCOUNT es el nuacutemero de cuenta de 12 diacutegitos de su organizacioacutenbull role-arn es el ARN del rol que se va a asumir que generoacute en Paso 1 Cree el rol de IAM que

asumiraacuten las instancias locales (p 247)bull session-name es el nombre que desea asignar a la sesioacuten del rol que va a crear ahora

Note

Si utiliza un script CRON que sondea perioacutedicamente el sistema de identidad y autenticacioacuteny copia las credenciales de la uacuteltima sesioacuten en la instancia (meacutetodo 1) para actualizarcredenciales temporales descrito enRequisitos previos de registro ARN de sesioacuten deIAM (p 247)) puedes usar cualquier soporteAWSSDK para llamarAssumeRole

bull Utilice una herramienta proporcionada porAWS

La herramienta aws-codedeploy-session-helper genera credenciales de AWS STS y las escribe enun archivo que usted coloca en la instancia Esta herramienta es adecuada para el meacutetodo 2 deactualizacioacuten de credenciales temporales que se describe en Requisitos previos de registro ARN desesioacuten de IAM (p 247) En este meacutetodo la herramienta aws-codedeploy-session-helper se instala encada instancia y ejecuta el comando usando los permisos del usuario de IAM Cada instancia utiliza lasmismas credenciales de usuario de IAM junto con esta herramienta

Para obtener maacutes informacioacuten consulte aws-codedeploy-session-helper en el repositorio de GitHub

Note

Una vez que haya creado las credenciales de inicio de sesioacuten de IAM coloacutequelas en cualquierubicacioacuten de la instancia on-premises En el siguiente paso configuraraacute el agente deCodeDeploy para obtener acceso a las credenciales de esta ubicacioacuten

Antes de continuar aseguacuterese de que el sistema que se utilizaraacute para actualizar perioacutedicamentelas credenciales temporales estaacute instalado Si las credenciales temporales no se actualizan lasimplementaciones en la instancia on-premises produciraacuten un error Para obtener maacutes informacioacuten consulteSistema para actualizar las credenciales temporales en Requisitos previos de registro ARN de sesioacuten deIAM (p 247)

Paso 3 Antildeada un archivo de configuracioacuten a la instancia on-premises

Antildeada un archivo de configuracioacuten a la instancia on-premises utilizando los permisos raiacutez o deadministrador Este archivo de configuracioacuten se utilizaraacute para declarar las credenciales de IAM y eldestinoAWSregioacuten que se utilizaraacute para CodeDeploy El archivo debe antildeadirse a una ubicacioacuten especiacuteficade la instancia on-premises El archivo debe incluir el ARN de sesioacuten temporal de IAM su ID de clavesecreta y clave de acceso secreta y el destinoAWSregion

Para antildeadir un archivo de configuracioacuten

1 Cree un archivo denominadocodedeployonpremisesyml(para una instancia local de UbuntuServer o RHEL) oconfonpremisesyml(si se trata de una instancia on-premises de WindowsServer) en la siguiente ubicacioacuten de la instancia on-premises

bull Para Ubuntu Serveretccodedeploy-agentconfVersioacuten de API 2014-10-06

249

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

bull Para Windows ServerCProgramDataAmazonCodeDeploy2 Utilice un editor de texto para antildeadir la siguiente informacioacuten al archivo

codedeployonpremisesyml o confonpremisesyml recieacuten creado

---iam_session_arn iam-session-arnaws_credentials_file credentials-fileregion supported-region

Donde

bull iam-session-arn es el ARN de la sesioacuten de IAM que anotoacute en Paso 2 Generar credencialestemporales para una instancia individual medianteAWS STS (p 248)

bull credentials-file es la ubicacioacuten del archivo de credenciales del ARN de sesioacuten temporalanotado en Paso 2 Generar credenciales temporales para una instancia individual medianteAWSSTS (p 248)

bull Regiones admitidases una de las regiones admitidas por CodeDeploy tal como se indicaenRegiones y puntos de enlaceenAWSReferencia general de

Paso 4 Preparar una instancia on-premises para las implementaciones deCodeDeploy

Instalacioacuten y configuracioacuten deAWS CLI

Instale y configure la AWS CLI en la instancia on-premises (ElAWS CLIse utilizaraacute para descargar einstalar el agente de CodeDeploy en la instancia on-premises)

1 Para instalar elAWS CLIen la instancia on-premises siga las instrucciones que se indicanenConfiguracioacuten inicial de laAWS CLIen laAWS Command Line InterfaceGuiacutea del usuario de

Note

Los comandos de CodeDeploy para trabajar con instancias on-premises estaacuten disponiblesdesde la versioacuten 1719 de laAWS CLI Si ya tiene instalada una versioacuten de la AWS CLI puedellamar a aws --version para comprobar la versioacuten

2 Para configurar laAWS CLIen la instancia on-premises siga las instrucciones que se indicanenConfiguracioacuten deAWS CLIen laAWS Command Line InterfaceGuiacutea del usuario de

Important

A medida que configure laAWS CLI(por ejemplo llamando alaws configure) aseguacuterese deespecificar el ID de clave secreta y la clave de acceso secreta de un usuario de IAM que tengacomo miacutenimo los permisos que se describen enRequisitos previos de registro ARN de sesioacutende IAM (p 247)

Establecer la variable de entorno AWS_REGION (solo Ubuntu Server y RHEL)

Si no va a ejecutar Ubuntu Server o RHEL en su instancia on-premises omita este paso y vayadirectamente a laquoInstalar el agente de CodeDeployraquo

Instale el agente de CodeDeploy en una instancia on-premises de Ubuntu o RHEL y permita que lainstancia actualice el agente de CodeDeploy siempre que haya disponible una nueva versioacuten Para elloestablezca laAWS_REGIONvariable de entorno de la instancia al identificador de una de las regionesadmitidas por CodeDeploy Le recomendamos que establezca el valor en la regioacuten en la que seencuentran sus aplicaciones grupos de implementaciones y revisiones de aplicaciones de CodeDeploy

Versioacuten de API 2014-10-06250

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

(por ejemplous-west-2) Para obtener una lista de las regiones consulteRegiones y puntos de enlaceenlaAWSReferencia general de

Para establecer la variable de entorno llame al siguiente comando desde el terminal

export AWS_REGION=supported-region

Donde supported-region es el identificador de regioacuten (por ejemplo us-west-2)

Instalacioacuten del agente de CodeDeploy

bull Si se trata de una instancia on-premises de Ubuntu Server siga las instrucciones que se indicanenInstale el agente de CodeDeploy para Ubuntu Server (p 192)y a continuacioacuten vuelva a esta paacutegina

bull Si se trata de una instancia on-premises de RHEL siga las instrucciones que se indican enInstale elagente CodeDeploy para Amazon Linux o RHEL (p 191)y a continuacioacuten vuelva a esta paacutegina

bull Si se trata de una instancia on-premises de Windows Server siga las instrucciones que se indicanenInstale el agente de CodeDeploy para Windows Server (p 193)y a continuacioacuten vuelva a estapaacutegina

Paso 5 Registre la instancia on-premises con CodeDeployEn las instrucciones de este paso se da por supuesto que va a registrar la instancia on-premises desde lapropia instancia on-premises Puede registrar una instancia on-premises desde un dispositivo o instanciadiferente que tenga la AWS CLI instalada y configurada

UsarAWS CLIpara registrar la instancia on-premises con CodeDeploy de manera que pueda utilizarse enlas implementaciones

Para poder utilizar la AWS CLI necesitaraacute el ARN de las credenciales de sesioacuten temporales que ha creadoen Paso 3 Antildeada un archivo de configuracioacuten a la instancia on-premises (p 249) Por ejemplo en elcaso de una instancia que identifique como AssetTag12010298EX

arnstsiam123456789012assumed-roleCodeDeployInstanceRoleAssetTag12010298EX

Llame a lainstancias de registro en locales especificando

bull Un nombre que identifique de manera uacutenica la instancia on-premises (con la opcioacuten --instance-name)

Important

Para ayudar a identificar la instancia on-premises especialmente a efectos de depuracioacuten esabsolutamente recomendable que especifique un nombre que se corresponda con algunascaracteriacutesticas exclusivas de la instancia on-premises (por ejemplo el nombre de sesioacuten de lascredenciales de STS y el nuacutemero de serie de un identificador de recurso interno si procede)Si especifica una direccioacuten MAC como nombre debe tener en cuenta que las direcciones MACcontienen caracteres que CodeDeploy no permite como los dos puntos () Para obtener unalista de los caracteres permitidos consulte liacutemites de CodeDeploy (p 454)

bull El ARN de sesioacuten de IAM que configura para autenticar varias instancias on-premises en Paso 1 Cree elrol de IAM que asumiraacuten las instancias locales (p 247)

Por ejemplo

aws deploy register-on-premises-instance --instance-name name-of-instance --iam-session-arn arnawsstsaccount-idassumed-rolerole-to-assumesession-name

Versioacuten de API 2014-10-06251

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

Donde

bull name-of-instance es el nombre que se utiliza para identificar la instancia on-premises como porejemplo AssetTag12010298EX

bull account-id es el ID de cuenta de 12 diacutegitos de su organizacioacuten como 111222333444bull role-to-assume es el nombre del rol de IAM que ha creado para la instancia comoCodeDeployInstanceRole

bull session-name es el nombre del rol de la sesioacuten que especificoacute en Paso 2 Generar credencialestemporales para una instancia individual medianteAWS STS (p 248)

Paso 6 Etiquetado de la instancia on-premises

Puede utilizar o bien laAWS CLIo la consola de CodeDeploy para etiquetar la instancia on-premises(CodeDeploy utiliza etiquetas de instancias on-premises para identificar los destinos de implementacioacutendurante una implementacioacuten)

Para etiquetar la instancia on-premises (CLI)

bull Llame a laComplementos a instancias on-premises especificando

bull El nombre que identifica de manera uacutenica la instancia on-premises (con la opcioacuten --instance-names)

bull El nombre de la clave de etiqueta y el valor de etiqueta de la instancia on-premises que deseautilizar (con la opcioacuten --tags) Debe especificar tanto el nombre como el valor CodeDeploy nopermite etiquetas de instancias on-premises que solo tengan valores

Por ejemplo

aws deploy add-tags-to-on-premises-instances --instance-names AssetTag12010298EX --tags Key=NameValue=CodeDeployDemo-OnPrem

Para etiquetar la instancia on-premises (consola)

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegar y elijaInstancias on-premises3 En la lista de instancias on-premises elija el nombre de la instancia on-premises que desea etiquetar4 En la lista de etiquetas seleccione o introduzca la clave y el valor que desee para la etiqueta Cuando

introduzca la clave y el valor de la etiqueta apareceraacute otra fila Puede repetir esta accioacuten para unmaacuteximo de 10 etiquetas Para quitar una etiqueta elija Remove (Quitar)

5 Despueacutes de antildeadir las etiquetas seleccione Update Tags

Paso 7 Implementar revisiones de las aplicaciones en la instancia on-premises

Ahora estaacute listo para implementar revisiones de aplicaciones en la instancia on-premises registrada yetiquetada

La implementacioacuten de revisiones de aplicaciones en instancias on-premises es similar a la implementacioacutende revisiones de aplicaciones en instancias Amazon EC2 Para obtener instrucciones consulte Cree

Versioacuten de API 2014-10-06252

AWS CodeDeploy Guiacutea del usuarioAdministracioacuten de operaciones de instancias on-premises

una implementacioacuten con CodeDeploy (p 324) Estas instrucciones incluyen un enlace a los requisitosprevios incluida la creacioacuten de una aplicacioacuten la creacioacuten de un grupo de implementaciones y lapreparacioacuten de la revisioacuten de una aplicacioacuten Si necesita una revisioacuten de una aplicacioacuten sencilla paraimplementar puede crear la que se describe en Paso 2 Creacioacuten de una revisioacuten de aplicacioacuten demuestra (p 104) en el Tutorial Implementar una aplicacioacuten en una instancia local con CodeDeploy(Windows Server Ubuntu Server o Red Hat Enterprise Linux) (p 103)

Important

Si reutiliza un rol de servicio de CodeDeploy como parte de la creacioacuten de ungrupo de implementaciones que tiene como destino instancias on-premises debeincluirTaggetalActionparte de la declaracioacuten de poliacutetica del rol de servicio Para obtener maacutesinformacioacuten consulte Paso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36)

Paso 8 Seguimiento de las implementaciones en la instancia local

Despueacutes de implementar una revisioacuten de una aplicacioacuten en instancias on-premises registradas yetiquetadas puede hacer un seguimiento del progreso de la implementacioacuten

El seguimiento de las implementaciones en instancias on-premises es similar al seguimiento de lasimplementaciones en instancias Amazon EC2 Para obtener instrucciones consulte Ver detalles deimplementacioacuten de CodeDeploy (p 340)

Administracioacuten de operaciones de instancias on-premises en CodeDeployLas instrucciones en esta seccioacuten explican coacutemo administrar operaciones en sus instancias on-premisesdespueacutes de haberlas registrado con CodeDeploy por ejemplo obtener maacutes informacioacuten acerca de dichasinstancias eliminar sus etiquetas y desinstalarlas y anular sus registros

Temasbull Obtiene informacioacuten acerca de una instancia local individual (p 253)bull Obtiene informacioacuten acerca de varias instancias on-premises (p 254)bull Eliminacioacuten manual de etiquetas de instancias on-premises de una instancia on-premises (p 255)bull Desinstale automaacuteticamente el agente de CodeDeploy y elimine el archivo de configuracioacuten de la

instancia on-premises (p 256)bull Anular registro automaacutetico de una instancia on-premises (p 256)bull Anular registro manual de una instancia on-premises (p 257)

Obtiene informacioacuten acerca de una instancia local individualEn las instrucciones de Ver detalles de implementacioacuten de CodeDeploy (p 340) se describe coacutemoobtener informacioacuten acerca de una instancia on-premises individual Puede utilizar elAWS CLIo la consolade CodeDeploy para obtener maacutes informacioacuten acerca de una instancia local individual

Para obtener informacioacuten acerca de una instancia on-premises individual (CLI)

bull Llame aget-on-premises-instance especificando el nombre que identifica la instancia on-premises deforma exclusiva con el--instance-nameopcioacuten)

aws deploy get-on-premises-instance --instance-name AssetTag12010298EX

Versioacuten de API 2014-10-06253

AWS CodeDeploy Guiacutea del usuarioAdministracioacuten de operaciones de instancias on-premises

Para obtener informacioacuten acerca de una instancia on-premises individual (consola)

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegar y elijaInstancias on-premises3 En la lista de instancias on-premises elija el nombre de una instancia on-premises para ver sus

detalles

Obtiene informacioacuten acerca de varias instancias on-premisesEn las instrucciones de Ver detalles de implementacioacuten de CodeDeploy (p 340) se describe coacutemoobtener informacioacuten acerca de instancias on-premises Puede utilizar elAWS CLIo la consola deCodeDeploy para obtener maacutes informacioacuten acerca de instancias on-premises

Para obtener informacioacuten acerca de varias instancias on-premises (CLI)

1 Para obtener una lista de nombres de instancias on-premises realice una llamada ainstancias de list-on-localcomando especificando

bull Si obtener informacioacuten acerca de todas instancias on-premises registradas o cuyos registros sehayan anulado con las opciones --registration-status y Registered o Deregisteredrespectivamente Si omite este paso se devolveraacuten tanto los nombres de instancias on-premisesregistrados como aquellos cuyos registros se hayan anulado

bull Si obtener solo informacioacuten acerca de las instancias on-premises con etiquetas especiacuteficas deinstancia on-premises con la opcioacuten --tag-filters Especifique Key Valuey Type que deberaacuteser KEY_AND_VALUE para cada etiqueta de instancia on-premises Separe las etiquetas de lasinstancias on-premises con espacios entre cada conjunto de Key Valuey Type

Por ejemplo

aws deploy list-on-premises-instances --registration-status Registered --tag-filters Key=NameValue=CodeDeployDemo-OnPremType=KEY_AND_VALUE Key=NameValue=CodeDeployDemo-OnPrem-BetaType=KEY_AND_VALUE

2 Para obtener informacioacuten maacutes detallada realice una llamada ainstancias de obtencioacuten por lotes enlocales con los nombres de las instancias on-premises (con--instance-namesopcioacuten)

aws deploy batch-get-on-premises-instances --instance-names AssetTag12010298EX AssetTag09920444EX

Para obtener informacioacuten acerca de varias instancias on-premises (consola)

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegar y elijaInstancias on-premises

Versioacuten de API 2014-10-06254

AWS CodeDeploy Guiacutea del usuarioAdministracioacuten de operaciones de instancias on-premises

Se mostraraacute Informacioacuten acerca de las instancias on-premises

Eliminacioacuten manual de etiquetas de instancias on-premises deuna instancia on-premisesPor lo general una etiqueta de instancia on-premises se elimina de dicha instancia cuando deja de usarseo en caso de querer eliminar la instancia on-premises del grupo de implementaciones que la utiliza Utilicela AWS CLI o la consola de AWS CodeDeploy para eliminar las etiquetas de las instancias locales dedichas instancias

No necesita eliminar las etiquetas de instancias on-premises desde una instancia on-premises antes anularsu registro

Eliminar las etiquetas de instancias on-premises de una instancia on-premises no anula su registro nidesinstala el agente de CodeDeploy de la instancia No elimina el archivo de configuracioacuten de la instanciani elimina el usuario de IAM asociado a la instancia

Para anular el registro de una instancia on-premises automaacuteticamente consulte Anular registro automaacuteticode una instancia on-premises (p 256)

Para anular el registro de una instancia on-premises manualmente consulte Anular registro manual de unainstancia on-premises (p 257)

Para desinstalar el agente de CodeDeploy automaacuteticamente y eliminar el archivo de configuracioacuten de lainstancia on-premises consulteDesinstale automaacuteticamente el agente de CodeDeploy y elimine el archivode configuracioacuten de la instancia on-premises (p 256)

Para desinstalar manualmente el agente de CodeDeploy de la instancia on-premisesconsulteAdministracioacuten de operaciones del agente de CodeDeploy (p 186)

Para eliminar manualmente el usuario de IAM asociado consulteEliminacioacuten de un usuario de IAMdeAWScuenta

Para eliminar etiquetas de instancias on-premises de una instancia on-premises (CLI)

bull Llame aremove-tags-from-on-premises-instances especificando

bull Los nombres que identifican de manera uacutenica las instancias on-premises con la opcioacuten --instance-names

bull Los nombres y valores de las etiquetas que desea quitar con la opcioacuten --tags

Por ejemplo

aws deploy remove-tags-from-on-premises-instances --instance-names AssetTag12010298EX --tags Key=NameValue=CodeDeployDemo-OnPrem

Para eliminar etiquetas de instancias on-premises de una instancia on-premises (consola)

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

Versioacuten de API 2014-10-06255

AWS CodeDeploy Guiacutea del usuarioAdministracioacuten de operaciones de instancias on-premises

2 En el panel de navegacioacuten expandaDesplegar y elijaInstancias on-premises3 En la lista de instancias on-premises elija el nombre de la instancia on-premises cuyas etiquetas

desea eliminar4 En la seccioacuten Tags (Etiquetas) elija Remove (Quitar) junto a cada etiqueta que desee quitar5 Despueacutes de eliminar las etiquetas seleccione Update tags

Desinstale automaacuteticamente el agente de CodeDeploy y elimineel archivo de configuracioacuten de la instancia on-premisesPor lo general si ya no tiene pensado implementar el agente de CodeDeploy lo desinstala y elimina elarchivo de configuracioacuten de la instancia on-premises

Note

Desinstalar automaacuteticamente el agente de CodeDeploy y eliminar el archivo de configuracioacuten dela instancia on-premises no cancela el registro de dicha instancia Tampoco desvincula ningunaetiqueta de instancia on-premises asociada a la instancia on-premises ni elimina el usuario deIAM asociado a la instancia on-premisesPara anular el registro de una instancia on-premises automaacuteticamente consulte Anular registroautomaacutetico de una instancia on-premises (p 256)Para anular el registro de una instancia on-premises manualmente consulte Anular registromanual de una instancia on-premises (p 257)Para desvincular etiquetas asociadas a una instancia on-premises manualmenteconsulte Eliminacioacuten manual de etiquetas de instancias on-premises de una instancia on-premises (p 255)Para desinstalar manualmente el agente de CodeDeploy de la instancia on-premisesconsulteAdministracioacuten de operaciones del agente de CodeDeploy (p 186)Para eliminar manualmente el usuario de IAM asociado consulteEliminacioacuten de un usuario deIAM deAWScuenta

Utilice la en la instancia on-premisesAWS CLIpara llamar adesinstalarcomando

Por ejemplo

aws deploy uninstall

El comando uninstall hace lo siguiente

1 Detiene la ejecucioacuten del agente de CodeDeploy en la instancia on-premises2 Desinstala el agente de CodeDeploy de la instancia on-premises3 Elimina el archivo de configuracioacuten de la instancia on-premises (Para Ubuntu Server y RHEL esto es

etccodedeploy-agentconfcodedeployonpremisesyml Para Windows Server esto esCProgramDataAmazonCodeDeployconfonpremisesyml)

Anular registro automaacutetico de una instancia on-premisesPor lo general si ya no tiene pensado implementar la instancia on-premises debe anular su registroAl anular el registro de una instancia on-premises dicha instancia deja de incluirse en cualquierimplementacioacuten incluso si forma parte de las etiquetas de instancias on-premises de un grupo deimplementaciones Puede utilizar la AWS CLI para anular el registro de las instancias on-premises

Note

No es posible utilizar la consola de CodeDeploy para cancelar el registro de una instancia on-premises Ademaacutes la anulacioacuten del registro de una instancia on-premises elimina aquellas

Versioacuten de API 2014-10-06256

AWS CodeDeploy Guiacutea del usuarioAdministracioacuten de operaciones de instancias on-premises

etiquetas que esteacuten asociadas a la instancia on-premises ni desinstala el agente de CodeDeployde la instancia on-premises ni elimina el archivo de configuracioacuten de instancia on-premises dedicha instanciaPara realizar parte de las actividades descritas en esta seccioacuten (no todas) desde la consola deCodeDeploy consulte la seccioacuten correspondiente enAnular registro manual de una instancia on-premises (p 257)Para desvincular etiquetas asociadas a una instancia on-premises manualmenteconsulte Eliminacioacuten manual de etiquetas de instancias on-premises de una instancia on-premises (p 255)Para desinstalar el agente de CodeDeploy automaacuteticamente y eliminar el archivo de configuracioacutende la instancia on-premises consulteDesinstale automaacuteticamente el agente de CodeDeploy yelimine el archivo de configuracioacuten de la instancia on-premises (p 256)Para desinstalar manualmente solo el agente de CodeDeploy de la instancia on-premisesconsulteAdministracioacuten de operaciones del agente de CodeDeploy (p 186)

UsarAWS CLIpara llamar aAnular registrocomando especificando

bull El nombre que identifica de manera uacutenica la instancia on-premises en CodeDeploy (con--instance-nameopcioacuten)

bull De manera opcional si desea eliminar el usuario de IAM asociado a la instancia on-premises Elcomportamiento predeterminado es eliminar al usuario de IAM Si no desea eliminar el usuario de IAMasociado a la instancia on-premises especifique la opcioacuten --no-delete-iam-user en el comando

bull Opcionalmente elAWSregioacuten en la que se registroacute la instancia on-premises con CodeDeploy (con--regionopcioacuten) Debe ser una de las regiones admitidas que se encuentran enRegiones y puntos deenlaceen laAWSReferencia general de(por ejemplous-west-2) Si no se especifica esta opcioacuten elvalor predeterminadoAWSSe utilizaraacute una regioacuten asociada al usuario de IAM que realiza la llamada

Ejemplo que anula el registro de una instancia y elimina al usuario

aws deploy deregister --instance-name AssetTag12010298EX --region us-west-2

Ejemplo que anula el registro de una instancia y no elimina al usuario

aws deploy deregister --instance-name AssetTag12010298EX --no-delete-iam-user --region us-west-2

El comando deregister hace lo siguiente

1 Anular el registro de la instancia on-premises con CodeDeploy2 Si se especifica elimina el usuario de IAM asociado a la instancia on-premises

Despueacutes de cancelar el registro de una instancia on-premises

bull Deja de aparecer en la consola inmediatamentebull Puede crear otra instancia con el mismo nombre inmediatamente

Si este comando encuentra alguacuten error aparece un mensaje en el que se describe coacutemo realizarmanualmente los pasos faltantes En caso contrario aparece un mensaje de confirmacioacuten en el que sedescribe coacutemo realizar una llamada al comando uninstall

Anular registro manual de una instancia on-premisesPor lo general si ya no tiene pensado implementar la instancia on-premises debe anular su registroUtilice la AWS CLI para anular el registro de instancias on-premises

Versioacuten de API 2014-10-06257

AWS CodeDeploy Guiacutea del usuarioVisualizacioacuten de los detalles de la instancia

Cancelar el registro de una instancia on-premises manualmente no desinstala el agente de CodeDeployNo elimina el archivo de configuracioacuten de la instancia ni elimina el usuario de IAM asociado a la instanciani elimina etiquetas asociadas a la instancia

Para desinstalar el agente de CodeDeploy automaacuteticamente y eliminar el archivo de configuracioacuten de lainstancia on-premises consulteDesinstale automaacuteticamente el agente de CodeDeploy y elimine el archivode configuracioacuten de la instancia on-premises (p 256)

Para desinstalar solo el agente de CodeDeploy manualmente consulteAdministracioacuten de operaciones delagente de CodeDeploy (p 186)

Para eliminar manualmente el usuario de IAM asociado consulteEliminacioacuten de un usuario de IAMdeAWScuenta

Para eliminar manualmente solo las etiquetas de instancias on-premises asociadas consulte Eliminacioacutenmanual de etiquetas de instancias on-premises de una instancia on-premises (p 255)

bull Llame aanular registro en la instancia local especificando el nombre que identifica la instancia on-premises de forma exclusiva con el--instance-nameopcioacuten)

aws deploy deregister-on-premises-instance --instance-name AssetTag12010298EX

Despueacutes de cancelar el registro de una instancia on-premises

bull Deja de aparecer en la consola inmediatamentebull Puede crear otra instancia con el mismo nombre inmediatamente

Ver los detalles de la instancia con CodeDeployPuede utilizar la consola de CodeDeploy laAWS CLIo las API de CodeDeploy para ver detalles sobre lasinstancias que se utilizan en una implementacioacuten

Para obtener maacutes informacioacuten sobre el uso de las acciones de la API de CodeDeploy para verinstanciasGetDeploymentInstanceListDeploymentInstances yListOnPremisesInstances

Temasbull Ver los detalles de la instancia (consola) (p 258)bull Visualizacioacuten de los detalles de la instancia (CLI) (p 259)

Ver los detalles de la instancia (consola)Para ver los detalles de la instancia

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicia sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizasteenIntroduccioacuten a CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary luego elijaImplementacionesNote

Si no se muestran entradas aseguacuterese de que se ha seleccionado la regioacuten correcta Enla barra de navegacioacuten en el selector de regiones elija una de las regiones enumeradas

Versioacuten de API 2014-10-06258

AWS CodeDeploy Guiacutea del usuarioVisualizacioacuten de los detalles de la instancia (CLI)

enRegiones y puntos de enlaceen laAWSReferencia general de CodeDeploy solo se admite enestas regiones

3 Para ver los detalles de la implementacioacuten elija el ID de implementacioacuten para la instancia4 Puede ver todas las instancias en la seccioacuten Instance activity (Actividad de instancia) de la paacutegina de la

implementacioacuten5 Para ver informacioacuten acerca de los eventos del ciclo de vida de la implementacioacuten individual de una

instancia en la paacutegina de detalles de la implementacioacuten en la columna Events elija View events

Note

Si se muestra Failed en cualquiera de los eventos del ciclo de vida en la paacutegina de detallesde la instancia elija View logs View in EC2 o ambas opciones Puede encontrar consejos desolucioacuten de problemas en Solucioacuten de problemas de instancias (p 472)

6 Si desea ver maacutes informacioacuten sobre una instancia de Amazon EC2 elija el ID de la instancia en laID deinstancia decolumn

Visualizacioacuten de los detalles de la instancia (CLI)Si desea utilizar la AWS CLI para ver los detalles de la instancia ejecute el comando get-deployment-instance o al comando list-deployment-instances

Para ver los detalles de una sola instancia ejecute elget-deployment-instancecomando especificando

bull El ID de implementacioacuten uacutenico Para obtener el ID de implementacioacuten ejecute elimplementaciones delistascomando

bull El ID de instancia uacutenico Para obtener el ID de instancia ejecute elinstancias de implementacioacuten-list-deployment-comando

Para ver una lista de los ID de instancias que se utilizan en una implementacioacuten ejecute elinstancias deimplementacioacuten-list-deployment-comando especificando

bull El ID de implementacioacuten uacutenico Para obtener el ID de implementacioacuten ejecute elimplementaciones delistascomando

bull Si lo prefiere puede incluir uacutenicamente los ID de instancia especiacuteficos por su estado de implementacioacuten(Si no se especifican se enumeraraacuten todos los ID de instancia coincidentes independientemente de suestado de implementacioacuten)

Estado de instancia de CodeDeployCodeDeploy monitoriza el estado de las instancias en un grupo de implementaciones Produce un erroren las implementaciones si el nuacutemero de instancias en buen estado es inferior al nuacutemero de instancias enbuen estado que se han especificado para el grupo de implementaciones durante una implementacioacuten Porejemplo si el 85 de las instancias deben estar en buen estado durante una implementacioacuten y el grupode implementaciones contiene 10 instancias toda la implementacioacuten daraacute un error aunque solo una uacutenicainstancia produzca un error Esto se debe a que cuando se desconecta una instancia para que se puedainstalar la uacuteltima revisioacuten de la aplicacioacuten el nuacutemero de instancias en buen estado ya estaacute al 90 Al haberuna instancia con error y otra instancia desconectada solo el 80 de las instancias se encuentran en buenestado y disponibles CodeDeploy produciraacute un error en toda la implementacioacuten

Es importante recordar que debe cumplirse lo siguiente para que la implementacioacuten global tenga eacutexito

bull CodeDeploy puede implementarse en cada instancia de la implementacioacuten

Versioacuten de API 2014-10-06259

AWS CodeDeploy Guiacutea del usuarioEstado

bull La implementacioacuten debe tener eacutexito en una instancia como miacutenimo Esto significa que aunque elvalor miacutenimo de hosts en buen estado sea 0 la implementacioacuten debe realizarse correctamente enuna instancia como miacutenimo (es decir al menos una instancia debe estar en buen estado) para que laimplementacioacuten global se realice correctamente

El nuacutemero miacutenimo de instancias en buen estado necesarias se define como parte de la configuracioacuten deuna implementacioacuten

Important

Durante una implementacioacuten bluegreen la configuracioacuten de la implementacioacuten y el valor miacutenimode hosts en buen estado se aplican a las instancias del entorno de sustitucioacuten y no a las delentorno original Sin embargo cuando se cancela el registro de las instancias del entorno originalen el balanceador de carga toda la implementacioacuten se marca como erroacutenea aunque solo hayauna instancia original cuyo registro no se haya podido cancelar correctamente

CodeDeploy ofrece tres configuraciones de implementacioacuten predeterminadas que tienen valores miacutenimosde hosts en buen estado usados comuacutenmente

Nombre de configuracioacuten de la implementacioacutenpredeterminada

Valor miacutenimo de hosts en buen estado predefinido

CodeDeployDefaultOneAtATime 99

CodeDeployDefaultHalfAtATime 50

CodeDeployDefaultAllAtOnce 0

Encontraraacute maacutes informacioacuten acerca de las configuraciones de implementacioacuten predeterminadas en Uso deconfiguraciones de implementacioacuten en CodeDeploy (p 264)

Puede crear configuraciones de implementacioacuten personalizadas en CodeDeploy para definir sus propiosvalores miacutenimos de hosts en buen estado Puede definir estos valores como nuacutemeros enteros o comoporcentajes mediante las siguientes operaciones

bull Comominimum-healthy-hostscuando utilizas elcreate-deployment-configcomando en elAWS CLIbull ComoValueen laMinimumHealthyHoststipo de datos en la API de CodeDeploybull Como MinimumHealthyHosts cuando utiliza AWSCodeDeployDeploymentConfig en una plantilla de

AWS CloudFormation

Temasbull Estado (p 260)bull Miacutenimo de instancias e implementaciones en buen estado (p 261)

EstadoCodeDeploy asigna dos valores de estado de mantenimiento a cada instanciaEstado de revisioacutenyestadode una instancia

Estado de revisioacuten

El estado de revisioacuten se basa en la revisioacuten de aplicacioacuten instalada actualmente en la instancia Tienelos siguientes valores de estado

Versioacuten de API 2014-10-06260

AWS CodeDeploy Guiacutea del usuarioMiacutenimo de instancias e implementaciones en buen estado

bull Current La revisioacuten instalada en la instancia coincide con la revisioacuten de la uacuteltima implementacioacutencorrecta del grupo de implementaciones

bull Antiguo La revisioacuten instalada en la instancia coincide con una versioacuten anterior de la aplicacioacutenbull Unknown La revisioacuten de la aplicacioacuten no se ha instalado correctamente en la instancia

Estado de la instancia

El estado de la instancia se basa en si las implementaciones en una instancia se han realizadocorrectamente Tiene los siguientes valoresbull Healthy La uacuteltima implementacioacuten en la instancia se realizoacute correctamentebull Unhealthy El intento de implementar una revisioacuten en la instancia dio un error o auacuten no se ha

implementado una revisioacuten en la instancia

CodeDeploy utiliza el estado de revisioacuten y el estado de la instancia para programar la implementacioacuten enlas instancias del grupo de implementaciones en el orden que se indica a continuacioacuten

1 Estado de la instancia Unhealthy2 Estado de revisioacuten Unknown3 Estado de revisioacuten Old4 Estado de revisioacuten Current

Si toda la implementacioacuten se realiza correctamente la revisioacuten se actualiza y los valores de estado delgrupo de implementaciones se actualizan para reflejar la uacuteltima implementacioacuten

bull Todas las instancias actuales que teniacutean una implementacioacuten satisfactoria siguen vigentes De locontrario pasan a tener el estado Unknown

bull Todas las instancias Old o Unknown que teniacutean una implementacioacuten satisfactoria siguen vigentes De locontrario pasan a tener el estado Old o Unknown

bull Todas las instancias Healthy que teniacutean una implementacioacuten satisfactoria siguen en buen estado De locontrario pasan a tener el estado Unhealthy

bull Todas las instancias Unhealthy que teniacutean una implementacioacuten satisfactoria pasan a tener el estadoHealthy De lo contrario permanecen con el estado Unhealthy

Si se produce un error en toda la implementacioacuten o si se detiene la implementacioacuten

bull Todas las instancias en las que CodeDeploy intentoacute implementar la revisioacuten de la aplicacioacuten tienesu propio estado de instancia establecido en Healthy o Unhealthy en funcioacuten de si el intento deimplementacioacuten para esa instancia se produjo correctamente o dio un error

bull Todas las instancias en las que CodeDeploy no intentoacute implementar la revisioacuten de la aplicacioacutenconservan su valor de estado de instancia actual

bull La revisioacuten del grupo de implementaciones sigue siendo la misma

Miacutenimo de instancias e implementaciones en buenestadoCodeDeploy permite especificar un nuacutemero miacutenimo de instancias en buen estado para la implementacioacutencon dos propoacutesitos principales

bull Para determinar si la implementacioacuten global se realizoacute correctamente o dio un error La implementacioacutense realiza correctamente si la revisioacuten de la aplicacioacuten se implementoacute satisfactoriamente en al menos elnuacutemero miacutenimo de instancias en buen estado

Versioacuten de API 2014-10-06261

AWS CodeDeploy Guiacutea del usuarioMiacutenimo de instancias e implementaciones en buen estado

bull Para determinar el nuacutemero de instancias que deben estar en buen estado durante una implementacioacutenpara que la implementacioacuten se pueda realizar correctamente

Puede especificar el nuacutemero miacutenimo de instancias en buen estado para su grupo de implementacionescomo un nuacutemero de instancias o como un porcentaje del total de instancias Si especifica un porcentaje alcomienzo de la implementacioacuten CodeDeploy convierte el porcentaje al nuacutemero equivalente de instanciasredondeando todas las fracciones de instancias

CodeDeploy realiza un seguimiento del estado de las instancias del grupo de implementaciones duranteel proceso de implementacioacuten y utiliza el nuacutemero miacutenimo de instancias en buen estado especificado enla implementacioacuten para determinar si debe continuar con la implementacioacuten El principio baacutesico es queuna implementacioacuten no debe provocar nunca que el nuacutemero de instancias en buen estado sea inferior alnuacutemero miacutenimo especificado La uacutenica excepcioacuten a esta regla es cuando un grupo de implementacionestiene inicialmente menos instancias en buen estado que el nuacutemero miacutenimo especificado En ese caso elproceso de implementacioacuten no reduce el nuacutemero de instancias en buen estado

Note

CodeDeploy intentaraacute realizar la implementacioacuten en todas las instancias de un grupo deimplementaciones incluso en aquellas que tengan actualmente el estado Stopped En el caacutelculode hosts miacutenimos en buen estado una instancia detenida tiene el mismo efecto que una instanciaerroacutenea Para resolver los errores de implementacioacuten debido a demasiadas instancias detenidasreinicie las instancias o cambie sus etiquetas para excluirlas del grupo de implementaciones

CodeDeploy comienza el proceso de implementacioacuten intentando implementar la revisioacuten de la aplicacioacutenen las instancias en mal estado del grupo de implementaciones Para cada implementacioacuten satisfactoriaCodeDeploy cambia el estado de la instancia a Healthy y la antildeade a las instancias en buen estado delgrupo de implementaciones A continuacioacuten CodeDeploy compara el nuacutemero actual de instancias en buenestado con el nuacutemero miacutenimo especificado de instancias en buen estado

bull Si el nuacutemero de instancias en buen estado es menor o igual que el nuacutemero miacutenimo especificado deinstancias en buen estado CodeDeploy cancela la implementacioacuten para garantizar que el nuacutemero deinstancias en buen estado no se reduzca con maacutes implementaciones

bull Si el nuacutemero de instancias en buen estado es mayor que el nuacutemero miacutenimo especificado de instanciasen buen estado en al menos una CodeDeploy implementa la revisioacuten de la aplicacioacuten en el conjuntooriginal de instancias en buen estado

Si una implementacioacuten en una instancia en buen estado da un error CodeDeploy cambia el estado de lainstancia a Unhealthy A medida que avanza la implementacioacuten CodeDeploy actualiza el nuacutemero actualde instancias en buen estado actual y lo compara con el nuacutemero miacutenimo especificado de instancias enbuen estado Si el nuacutemero de instancias en buen estado cae por debajo del nuacutemero miacutenimo especificadoen alguacuten momento del proceso de implementacioacuten CodeDeploy detiene la implementacioacuten De este modose impide la posibilidad de que la proacutexima implementacioacuten produzca un error haciendo que el nuacutemero deinstancias en buen estado sea inferior al nuacutemero miacutenimo especificado

Note

Aseguacuterese de que el nuacutemero miacutenimo de instancias en buen estado que especifique sea inferior alnuacutemero total de instancias del grupo de implementaciones Si especifica un valor de porcentajerecuerde que se redondearaacute De lo contrario cuando comience la implementacioacuten el nuacutemerode instancias en buen estado ya seraacute inferior o igual que el nuacutemero miacutenimo especificadode instancias en buen estado y CodeDeploy produciraacute inmediatamente un error en toda laimplementacioacuten

CodeDeploy usa tambieacuten el nuacutemero miacutenimo especificado de instancias en buen estado y el nuacutemeroreal de instancias en buen estado para determinar si y coacutemo implementar la revisioacuten de la aplicacioacutenen varias instancias De forma predeterminada CodeDeploy implementa la revisioacuten de la aplicacioacuten en

Versioacuten de API 2014-10-06262

AWS CodeDeploy Guiacutea del usuarioMiacutenimo de instancias e implementaciones en buen estado

tantas instancias como puede sin que exista el riesgo de que el nuacutemero de instancias en buen estadoespecificado caiga por debajo del nuacutemero miacutenimo especificado de instancias en buen estado Por ejemplo

bull Si su grupo de implementaciones tiene 10 instancias y establece el nuacutemero miacutenimo de instancias enbuen estado en 9 CodeDeploy realiza la implementacioacuten en una instancia cada vez

bull Si su grupo de implementaciones tiene 10 instancias y establece el nuacutemero miacutenimo de instancias enbuen estado en 0 CodeDeploy realiza la implementacioacuten en todas las instancias a la vez

Ejemplos

En los siguientes ejemplos se presupone que existe un grupo de implementaciones con 10 instancias

Miacutenimo de instancias en 95

CodeDeploy redondea el nuacutemero miacutenimo de instancias en buen estado miacutenimo a 10 instancias lo queequivale al nuacutemero de instancias en buen estado Toda la implementacioacuten produce inmediatamente unerror sin que se implemente la revisioacuten en ninguna de las instancias

Miacutenimo de instancias en 9

CodeDeploy implementa la revisioacuten en una instancia cada vez Si se produce un error deimplementacioacuten en alguna instancia CodeDeploy produce inmediatamente un error en toda laimplementacioacuten ya que el nuacutemero de instancias en buen estado es igual al nuacutemero miacutenimo deinstancias en buen estado La excepcioacuten a esta regla es que si se produce un error en la uacuteltimainstancia la implementacioacuten se realiza correctamente

CodeDeploy continuacutea la implementacioacuten una instancia cada vez hasta que se produzca un error enalguna implementacioacuten o hasta que se complete toda la implementacioacuten Si las 10 implementacionesse realizan correctamente el grupo de implementaciones tendraacute ahora 10 instancias en buen estado

Miacutenimo de instancias en 8

CodeDeploy implementa la revisioacuten en dos instancias a la vez Si dos de estas implementaciones danun error CodeDeploy produce inmediatamente un error en toda la implementacioacuten La excepcioacuten aesta regla es que si la uacuteltima instancia es la segunda instancia que da error la implementacioacuten serealiza correctamente

Miacutenimo de instancias en 0

CodeDeploy implementa la revisioacuten en todo el grupo de implementaciones a la vez La implementacioacutendebe realizarse correctamente al menos en una instancia para que la implementacioacuten global se realicecorrectamente Si hay 0 instancias en buen estado la implementacioacuten no se realiza correctamenteEsto se debe al requisito de que para considerar que una implementacioacuten global se ha realizadocorrectamente al menos una instancia debe estar en buen estado cuando finalice la implementacioacutenglobal incluso si el valor miacutenimo de instancias en buen estado es 0

Versioacuten de API 2014-10-06263

AWS CodeDeploy Guiacutea del usuarioConfiguraciones de implementacioacuten en una

plataforma de computacioacuten EC2On-Premises

Uso de configuraciones deimplementacioacuten en CodeDeploy

Una configuracioacuten de implementacioacuten es un conjunto de reglas y condiciones de eacutexito o fracaso queCodeDeploy utiliza durante una implementacioacuten Estas reglas y condiciones variacutean en funcioacuten de sila implementacioacuten se realiza en una plataforma de computacioacuten EC2On-PremisesAWSPlataformainformaacutetica Lambda o plataforma informaacutetica Amazon ECS

Configuraciones de implementacioacuten en unaplataforma de computacioacuten EC2On-Premises

Cuando se realiza la implementacioacuten en una plataforma de computacioacuten EC2On-Premises laconfiguracioacuten de implementacioacuten especifica a traveacutes de un valor miacutenimo de hosts en buen estadoel nuacutemero o porcentaje de instancias que deben estar disponibles en cualquier momento de laimplementacioacuten

Puede utilizar una de las tres configuraciones de implementacioacuten predefinidas proporcionada por AWSo bien crear una configuracioacuten de implementacioacuten personalizada Para obtener maacutes informacioacuten acercade la creacioacuten de configuraciones de implementacioacuten personalizadas consulteCreate a DeploymentConfiguration (p 269) Si no especifica una configuracioacuten de implementacioacuten CodeDeploy usaraacuteCodeDeployDefaultOneAtATime

Para obtener maacutes informacioacuten acerca de la monitorizacioacuten y evaluacioacuten que CodeDeploy hace del estadode las instancias durante la implementacioacuten consulteInstance Health (p 259) Para ver una lista de lasconfiguraciones de implementacioacuten ya registradas en su cuenta de AWS consulte View DeploymentConfiguration Details (p 270)

Configuraciones de implementacioacuten predefinidas parauna plataforma de computacioacuten EC2On-PremisesLa siguiente tabla muestra las configuraciones de implementacioacuten predefinidas

Configuracioacuten de implementacioacuten Descripcioacuten

CodeDeployDefaultAllAtOnce Implementaciones in situIntenta implementar una revisioacuten de aplicacioacuten entantas instancias a la vez como sea posible Elestado de la implementacioacuten global se muestracomo Realizado correctamente cuando la revisioacutende la aplicacioacuten se haya implementado en una omaacutes instancias El estado de la implementacioacutenglobal se muestra como Error cuando la revisioacutende la aplicacioacuten no se ha implementado enninguna instancia Tomando como ejemplonueve instancias CodeDeployDefaultAllAtOnceintenta implementar en las nueve a la vez Laimplementacioacuten global tiene eacutexito si se realiza

Versioacuten de API 2014-10-06264

AWS CodeDeploy Guiacutea del usuarioConfiguraciones de implementacioacuten predefinidas

Configuracioacuten de implementacioacuten Descripcioacutende forma correcta incluso la implementacioacuten enuna sola instancia Devuelve un error solo si seproduce un error en las implementaciones de lasnueve instancias

Implementaciones bluegreen

bull Implementacioacuten en entorno dereemplazo Sigue las mismas reglas queCodeDeployDefaultAllAtOnce para lasimplementaciones in situ

bull Redireccioacuten del traacutefico Desviacutea el traacutefico a todaslas instancias del entorno de sustitucioacuten a la vezTiene eacutexito si el traacutefico se dirige correctamente aal menos una instancia Fracasa si la redireccioacutendel traacutefico falla para todas las instancias

CodeDeployDefaultHalfAtATime Implementaciones in situ

Implementa hasta en la mitad de las instancias ala vez (redondeando a la baja) La implementacioacutenglobal tiene eacutexito si la revisioacuten de la aplicacioacutense implementa en al menos la mitad de lasinstancias (redondeando al alza) De lo contrario laimplementacioacuten produce un error En el ejemplo denueve instancias se implementa hasta en cuatroinstancias a la vez La implementacioacuten global tieneeacutexito si la implementacioacuten es correcta en cinco omaacutes instancias De lo contrario la implementacioacutenproduce un error

Implementaciones bluegreen

bull Implementacioacuten en entorno dereemplazo Sigue las mismas reglas queCodeDeployDefaultHalfAtATime para lasimplementaciones in situ

bull Redireccioacuten del traacutefico Desviacutea el traacutefico haciala mitad de las instancias del entorno desustitucioacuten cada vez Tiene eacutexito si la redireccioacutenes correcta para al menos la mitad de lasinstancias De lo contrario da un error

Versioacuten de API 2014-10-06265

AWS CodeDeploy Guiacutea del usuarioConfiguraciones de implementacioacuten predefinidas

Configuracioacuten de implementacioacuten Descripcioacuten

CodeDeployDefaultOneAtATime Implementaciones in situ

Implementa la revisioacuten de la aplicacioacuten en solo unainstancia cada vez

En el caso de grupos de implementaciones quecontengan maacutes de una instancia

bull La implementacioacuten global tiene eacutexito si larevisioacuten de la aplicacioacuten se implementa entodas las instancias La excepcioacuten a esta reglase da cuando falla la implementacioacuten en lauacuteltima instancia la implementacioacuten global sigueteniendo eacutexito Esto se debe a que con laconfiguracioacuten CodeDeployDefaultOneAtATimeCodeDeployDefaultOneAtATime

bull La implementacioacuten global fracasa si laimplementacioacuten de la revisioacuten de la aplicacioacutenfalla en cualquier instancia salvo la uacuteltima

bull En el ejemplo con nueve instancias laimplementacioacuten se hace en una instancia cadavez La implementacioacuten global tiene eacutexito si laimplementacioacuten en las primeras ocho instanciasse realiza de forma correcta La implementacioacutenglobal genera un error si la implementacioacuten enalguna de las primeras ocho instancias devuelveun error

En el caso de grupos de implementaciones quecontengan una uacutenica instancia la implementacioacutenglobal solo tiene eacutexito si la implementacioacuten en lauacutenica instancia es correcta

Implementaciones bluegreen

bull Implementacioacuten en entorno dereemplazo Sigue las mismas reglas queCodeDeployDefaultOneAtATime para lasimplementaciones in situ

bull Redireccioacuten del traacutefico Desviacutea el traacutefico a unainstancia del entorno de sustitucioacuten cada vezTiene eacutexito si el traacutefico se redirige correctamentea todas las instancias de sustitucioacuten Fracasaen cuanto la redireccioacuten falla La excepcioacuten aesta regla se da cuando no puede registrarse lauacuteltima instancia la implementacioacuten global sigueteniendo eacutexito

Versioacuten de API 2014-10-06266

AWS CodeDeploy Guiacutea del usuarioConfiguraciones de implementacioacuten en unaplataforma de computacioacuten Amazon ECS

Configuraciones de implementacioacuten en unaplataforma de computacioacuten Amazon ECS

Cuando se realiza la implementacioacuten en una plataforma de computacioacuten Amazon ECS la configuracioacuten deimplementacioacuten especifica coacutemo se desviacutea el traacutefico al conjunto de tareas de Amazon ECS actualizado dePuede cambiar el traacutefico mediante uncanariolineal o bientodo a la vezconfiguracioacuten de implementacioacutenPara obtener maacutes informacioacuten consulte Configuracioacuten de implementacioacuten (p 13)

Tambieacuten puede crear su propia configuracioacuten de implementacioacuten canary o linear Para obtener maacutesinformacioacuten consulte Create a Deployment Configuration (p 269)

Configuraciones de implementacioacuten predefinidas parauna plataforma informaacutetica de Amazon ECSLa siguiente tabla muestra las configuraciones predefinidas disponibles para implementaciones AmazonECS

Configuracioacuten de implementacioacuten Descripcioacuten

CodeDeployDefaultECSLinear10PercentEvery1MinutesDesviacutea el 10 por ciento del traacutefico cada minutohasta que se desviacutea todo el traacutefico

CodeDeployDefaultECSLinear10PercentEvery3MinutesDesviacutea el 10 por ciento del traacutefico cada tresminutos hasta que se desviacutea todo el traacutefico

CodeDeployDefaultECSCanary10Percent5Minutes Desviacutea el 10 por ciento del traacutefico en el primerincremento El 90 por ciento restante seimplementa cinco minutos maacutes tarde

CodeDeployDefaultECSCanary10Percent15Minutes Desviacutea el 10 por ciento del traacutefico en el primerincremento El 90 por ciento restante seimplementa 15 minutos maacutes tarde

CodeDeployDefaultECSAllAtOnce Desviacutea todo el traacutefico al contenedor de AmazonECS actualizado a la vez

Configuraciones de implementacioacuten paraAWSCloudFormationImplementaciones bluegreen(Amazon ECS)

Cuando se implementa en una plataforma informaacutetica de Amazon ECS a traveacutes deAWSCloudFormationImplementaciones bluegreen (azulverde) la configuracioacuten de implementacioacuten especificacoacutemo se desviacutea el traacutefico al contenedor de Amazon ECS de actualizado Puede cambiar el traacutefico medianteuncanariolineal o bientodo a la vezconfiguracioacuten de implementacioacuten Para obtener maacutes informacioacutenconsulte Configuracioacuten de implementacioacuten (p 13)

conAWS CloudFormationImplementaciones bluegreen no puede crear su propia configuracioacuten deimplementacioacuten laquocanaryraquo o laquolinearraquo personalizada Para obtener instrucciones paso a pasoAWSCloudFormationpara gestionar las implementaciones bluegreen (azulverde) de Amazon ECS

Versioacuten de API 2014-10-06267

AWS CodeDeploy Guiacutea del usuarioConfiguraciones de implementacioacuten en

unaAWS Lambdaplataforma de computacioacuten

consulteAutomatice las implementaciones laquobluegreenraquo de ECS a traveacutes de CodeDeploy usandoAWSCloudFormationen laAWS CloudFormationGuiacutea del usuario de

Note

Gestioacuten de implementaciones bluegreen (azulverde) de Amazon ECS conAWSCloudFormationNo estaacute disponible en las regiones Europa (Milaacuten) Aacutefrica (Ciudad del Cabo) yAsia-Paciacutefico (Osaka)

Configuraciones de implementacioacuten en unaAWSLambdaplataforma de computacioacuten

Cuando se despliega en unAWSPlataforma de computacioacuten Lambda la configuracioacuten de implementacioacutenespecifica el modo en que se desviacutea el traacutefico a las nuevas versiones de funciones Lambda en laaplicacioacuten Puede cambiar el traacutefico mediante uncanariolineal o bientodo a la vezconfiguracioacuten deimplementacioacuten Para obtener maacutes informacioacuten consulte Configuracioacuten de implementacioacuten (p 13)

Tambieacuten puede crear su propia configuracioacuten de implementacioacuten canary o linear Para obtener maacutesinformacioacuten consulte Create a Deployment Configuration (p 269)

Configuraciones de implementacioacuten predefinidas paraunAWS Lambdaplataforma de computacioacutenLa siguiente tabla muestra las configuraciones predefinidas disponibles para implementaciones AWSLambda

Configuracioacuten de implementacioacuten Descripcioacuten

CodeDeployDefaultLambdaCanary10Percent5MinutesDesviacutea el 10 por ciento del traacutefico en el primerincremento El 90 por ciento restante seimplementa cinco minutos maacutes tarde

CodeDeployDefaultLambdaCanary10Percent10MinutesDesviacutea el 10 por ciento del traacutefico en el primerincremento El 90 por ciento restante seimplementa 10 minutos maacutes tarde

CodeDeployDefaultLambdaCanary10Percent15MinutesDesviacutea el 10 por ciento del traacutefico en el primerincremento El 90 por ciento restante seimplementa 15 minutos maacutes tarde

CodeDeployDefaultLambdaCanary10Percent30MinutesDesviacutea el 10 por ciento del traacutefico en el primerincremento El 90 por ciento restante seimplementa 30 minutos maacutes tarde

CodeDeployDefaultLambdaLinear10PercentEvery1MinuteDesviacutea el 10 por ciento del traacutefico cada minutohasta que se desviacutea todo el traacutefico

CodeDeployDefaultLambdaLinear10PercentEvery2MinutesDesviacutea el 10 por ciento del traacutefico cada dosminutos hasta que se desviacutea todo el traacutefico

CodeDeployDefaultLambdaLinear10PercentEvery3MinutesDesviacutea el 10 por ciento del traacutefico cada tresminutos hasta que se desviacutea todo el traacutefico

CodeDeployDefaultLambdaLinear10PercentEvery10MinutesDesviacutea el 10 por ciento del traacutefico cada 10 minutoshasta que se desviacutea todo el traacutefico

Versioacuten de API 2014-10-06268

AWS CodeDeploy Guiacutea del usuarioCrear una configuracioacuten de implementacioacuten

Configuracioacuten de implementacioacuten Descripcioacuten

CodeDeployDefaultLambdaAllAtOnce Desviacutea todo el traacutefico a las funciones de Lambdaactualizadas a la vez

Temas

bull Create a Deployment Configuration (p 269)bull View Deployment Configuration Details (p 270)bull Delete a Deployment Configuration (p 271)

Crear una configuracioacuten de implementacioacuten conCodeDeploy

Puede utilizar la consola de CodeDeployAWS CLI las API de CodeDeploy o unAWSCloudFormationplantilla para crear configuraciones de implementacioacuten personalizadas

Para obtener informacioacuten sobre coacutemo utilizar una plantilla de AWS CloudFormation para crearuna configuracioacuten de implementacioacuten consulte AWS CloudFormationplantillas para referencia deCodeDeploy (p 444)

Para utilizar elAWS CLIpara crear una configuracioacuten de implementacioacuten con la ejecute lacreate-deployment-configcomando especificando

bull Un nombre que identifique de forma uniacutevoca la configuracioacuten de implementacioacuten Este nombre debeser uacutenico entre todas las configuraciones de implementacioacuten creadas con CodeDeploy asociadas asuAWSaccount

bull El nuacutemero o el porcentaje miacutenimo de instancias en buen estado que deben estar disponibles encualquier momento durante la implementacioacuten Para obtener maacutes informacioacuten consulte InstanceHealth (p 259)

En el siguiente ejemplo se crea una configuracioacuten de implementacioacuten de EC2on-premise denominadaThreeQuartersHealthy que requiere que un 75 de las instancias de destino se encuentren en buenestado durante la implementacioacuten

aws deploy create-deployment-config --deployment-config-name ThreeQuartersHealthy --minimum-healthy-hosts type=FLEET_PERCENTvalue=75

En el siguiente ejemplo se crea una deAWSLa configuracioacuten de implementacioacuten de Lambda denominadaCanary25Percent45Minutes Utiliza el cambio de traacutefico de la versioacuten Canary para desviar el 25 por cientodel traacutefico en el primer incremento El 75 por ciento restante se desviaraacute 45 minutos maacutes tarde

aws deploy create-deployment-config --deployment-config-name Canary25Percent45Minutes --traffic-routing-config type=TimeBasedCanarytimeBasedCanary=canaryPercentage=25canaryInterval=45 --compute-platform Lambda

En el siguiente ejemplo se crea una configuracioacuten de implementacioacuten de Amazon ECS denominadaCanary25Percent45Minutes Utiliza el cambio de traacutefico de la versioacuten Canary para desviar el 25 por cientodel traacutefico en el primer incremento El 75 por ciento restante se desviaraacute 45 minutos maacutes tarde

Versioacuten de API 2014-10-06269

AWS CodeDeploy Guiacutea del usuarioVer detalles de la configuracioacuten de implementacioacuten

aws deploy create-deployment-config --deployment-config-name Canary25Percent45Minutes --traffic-routing-config type=TimeBasedCanarytimeBasedCanary=canaryPercentage=25canaryInterval=45 --compute-platform ECS

Ver detalles de la configuracioacuten de implementacioacutencon CodeDeploy

Puede utilizar la consola de CodeDeploy laAWS CLI o las API de CodeDeploy para ver detalles sobrelas configuraciones de implementacioacuten asociadas a suAWSaccount Para obtener descripciones delas configuraciones de implementacioacuten de CodeDeploy predefinidas consulteConfiguraciones deimplementacioacuten predefinidas para una plataforma de computacioacuten EC2On-Premises (p 264)

Temasbull Ver detalles de la configuracioacuten de implementacioacuten (consola) (p 270)bull Visualizacioacuten de la configuracioacuten de implementacioacuten (CLI) (p 270)

Ver detalles de la configuracioacuten de implementacioacuten(consola)Para utilizar la consola de CodeDeploy para ver una lista de los nombres de configuraciones deimplementacioacuten

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacuten aCodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegar y elijaConfiguraciones de implementacioacuten

Aquiacute puede ver los nombres de las configuraciones de implementacioacuten y los criterios de cadaconfiguracioacuten de implementacioacuten

Note

Si no se muestran entradas aseguacuterese de que se ha seleccionado la regioacuten correcta Enla barra de navegacioacuten en el selector de regiones elija una de las regiones enumeradasenRegiones y puntos de enlace deen laAWSReferencia general de CodeDeploy solo escompatible con estas regiones

Visualizacioacuten de la configuracioacuten de implementacioacuten(CLI)Si desea utilizar la AWS CLI para ver los detalles de las configuraciones de implementacioacuten llame alcomando get-deployment-config o list-deployment-configs

Para ver los detalles de una uacutenica configuracioacuten de implementacioacuten llame alget-deployment-configespecificando el nombre uacutenico de la configuracioacuten de implementacioacuten

Versioacuten de API 2014-10-06270

AWS CodeDeploy Guiacutea del usuarioEliminacioacuten de una configuracioacuten de implementacioacuten

Para ver informacioacuten detallada sobre varias configuraciones de implementacioacuten llame alimplementacionesde listascomando

Eliminar una configuracioacuten de implementacioacuten conCodeDeploy

Puede utilizar elAWS CLIo las API de CodeDeploy para eliminar las configuraciones de implementacioacutenpersonalizadas asociadas a suAWSaccount No puede eliminar las configuraciones de implementacioacutenintegradas como CodeDeployDefaultAllAtOnce CodeDeployDefaultHalfAtATime yCodeDeployDefaultOneAtATime

Warning

No puede eliminar una configuracioacuten de implementacioacuten personalizadas que todaviacutea estaacute en usoSi elimina una configuracioacuten de implementacioacuten personalizada no utilizada ya no podraacute asociarlacon nuevas implementaciones y nuevos grupos de implementaciones Esta accioacuten no se puededeshacer

Para utilizar elAWS CLIpara eliminar una configuracioacuten de implementacioacuten llame aldelete-deployment-config especificando el nombre de la configuracioacuten de la implementacioacuten Para ver una lista de losnombres de las configuraciones de implementacioacuten llame allist-deployment-configscomando

El siguiente ejemplo elimina una configuracioacuten de implementacioacuten denominada ThreeQuartersHealthy

aws deploy delete-deployment-config --deployment-config-name ThreeQuartersHealthy

Versioacuten de API 2014-10-06271

AWS CodeDeploy Guiacutea del usuario

Trabajar con aplicaciones enCodeDeploy

Despueacutes de configurar las instancias pero antes de implementar una revisioacuten debe crear una aplicacioacutenen CodeDeploy Unaplicacioacutenes simplemente un nombre o contenedor que CodeDeploy utiliza paraasegurarse de que se haga referencia a la revisioacuten la configuracioacuten de implementacioacuten y el grupo deimplementaciones correctos durante la implementacioacuten

Utilice la siguiente informacioacuten de la tabla que se indica a continuacioacuten para realizar estos pasos

Plataforma de computacioacuten Escenario Informacioacuten para el pasosiguiente

EC2On-Premises Todaviacutea no he creado lasinstancias

Consulte Trabajo con instanciaspara CodeDeploy (p 207) ya continuacioacuten vuelva a estapaacutegina

EC2On-Premises He creado las instancias pero noha terminado de etiquetarlas

Consulte Tagging Instancesfor Deployments (p 209) y acontinuacioacuten vuelva a estapaacutegina

EC2On-PremisesAWSLambdayAmazon ECS

Todaviacutea no he creado unaaplicacioacuten

Consulte Crear una aplicacioacutencon CodeDeploy (p 273)

EC2On-PremisesAWSLambdayAmazon ECS

Ya he creado una aplicacioacutenpero no he creado un grupo deimplementaciones

Consulte Creacioacuten de un grupode implementaciones conCodeDeploy (p 288)

EC2On-PremisesAWSLambdayAmazon ECS

Ya he creado una aplicacioacuten y ungrupo de implementaciones perono he creado una revisioacuten de laaplicacioacuten

Consulte Uso de revisionesde aplicaciones deCodeDeploy (p 307)

EC2On-PremisesAWSLambdayAmazon ECS

Ya he creado una aplicacioacuten yun grupo de implementacionesy ya he cargado la revisioacuten demi aplicacioacuten Estoy listo para laimplementacioacuten

Consulte Cree unaimplementacioacuten conCodeDeploy (p 324)

Temasbull Crear una aplicacioacuten con CodeDeploy (p 273)bull Ver detalles de la aplicacioacuten con CodeDeploy (p 282)bull Creacioacuten de una regla de notificacioacuten (p 283)bull Cambiar el nombre de una aplicacioacuten CodeDeploy (p 285)bull Eliminar una aplicacioacuten en CodeDeploy (p 285)

Versioacuten de API 2014-10-06272

AWS CodeDeploy Guiacutea del usuarioCree una aplicacioacuten

Crear una aplicacioacuten con CodeDeployUnaplicacioacutenes simplemente un nombre o contenedor que CodeDeploy utiliza para asegurarse de que sehaga referencia a la revisioacuten la configuracioacuten de implementacioacuten y el grupo de implementaciones correctosdurante la implementacioacuten Puede utilizar la consola de CodeDeploy laAWS CLI las API de CodeDeploy ounAWS CloudFormationplantilla para crear aplicaciones

El coacutedigo o revisioacuten de la aplicacioacuten se instala en las instancias mediante un proceso llamadoimplementacioacuten CodeDeploy admite dos tipos de implementaciones

bull Implementacioacuten in situ Se detiene la aplicacioacuten de cada instancia del grupo de implementaciones seinstala la uacuteltima revisioacuten de la aplicacioacuten y se inicia y valida la nueva versioacuten de la aplicacioacuten Puedeutilizar un balanceador de carga de modo que se cancele el registro de cada instancia durante suimplementacioacuten y a continuacioacuten vuelva a ponerse en servicio una vez completada la implementacioacutenSolo las implementaciones que usan la plataforma de computacioacuten EC2On-Premises pueden utilizarimplementaciones laquoin-placeraquo Para obtener maacutes informacioacuten acerca de las implementaciones in-placeconsulte Descripcioacuten general de una implementacioacuten laquoin-placeraquo (p 8)

bull Implementacioacuten bluegreen El funcionamiento de la implementacioacuten depende de la plataforma decomputacioacuten que utilicebull Bluegreen en una plataforma de computacioacuten EC2On-Premises Las instancias de un grupo de

implementaciones (el entorno original) se sustituyen por otro conjunto de instancias (el entorno desustitucioacuten) siguiendo estos pasosbull Se aprovisionan las instancias para el entorno de sustitucioacutenbull Se instala la uacuteltima revisioacuten de la aplicacioacuten en las instancias de sustitucioacutenbull Se produce un tiempo de espera opcional para actividades tales como pruebas de aplicaciones y

verificacioacuten del sistemabull Las instancias del entorno de sustitucioacuten se registran automaacuteticamente en un balanceador de carga

de Elastic Load Balancing lo que hace que el traacutefico se redirija a ellas Las instancias del entornooriginal se anulan al registro de y se pueden terminar o seguir ejecutando para otros usos

Note

Si utiliza una plataforma informaacutetica EC2local tenga en cuenta que las implementaciones enazul y verde funcionan uacutenicamente con instancias de Amazon EC2

bull Bluegreen en unAWS Lambdao plataforma informaacutetica Amazon ECS El traacutefico se desviacutea enincrementos de acuerdo con unacanariolineal o bientodo a la vezconfiguracioacuten de implementacioacutenPara obtener maacutes informacioacuten consulte Configuracioacuten de implementacioacuten (p 13)

bull Implementaciones bluegreen (azul-verde) conAWS CloudFormation El traacutefico se desplaza de losrecursos actuales a los recursos actualizados como parte de unaAWS CloudFormationactualizacioacuten depila de Actualmente solo se admiten implementaciones de ECS bluegreen (azulverde)

Para obtener maacutes informacioacuten acerca de las implementaciones bluegreen consulte Descripcioacuten generalde una implementacioacuten laquobluegreenraquo (p 9)

Cuando utiliza la consola de CodeDeploy para crear una aplicacioacuten tambieacuten configura su primer grupo deimplementaciones al mismo tiempo Cuando utiliza la AWS CLI para crear una aplicacioacuten crea su primergrupo de implementaciones en un paso independiente

Para ver una lista de las aplicaciones ya registradas en su cuenta de AWS consulte Ver detalles de laaplicacioacuten con CodeDeploy (p 282) Para obtener informacioacuten sobre el uso de una plantilla de AWSCloudFormation para crear una aplicacioacuten consulte AWS CloudFormationplantillas para referencia deCodeDeploy (p 444)

Versioacuten de API 2014-10-06273

AWS CodeDeploy Guiacutea del usuarioCree una aplicacioacuten para una

implementacioacuten in situ (consola)

Los dos tipos de implementacioacuten no se aplican a todos los destinos En la tabla siguiente se muestra unalista de los tipos de implementacioacuten que funcionan con implementaciones en los tres tipos de destinos deimplementacioacuten

Destino de implementacioacuten In situ Azulverde

Amazon EC2 Siacute Siacute

Implementacioacuten on-premise Siacute No

Sin servidorAWSFunciones deLambda

No Siacute

Aplicaciones de Amazon ECS No Siacute

Temasbull Cree una aplicacioacuten para una implementacioacuten in situ (consola) (p 274)bull Cree una aplicacioacuten para una implementacioacuten bluegreen (consola) (p 276)bull Creacioacuten de una aplicacioacuten para una implementacioacuten de servicios de Amazon ECS (consola)

(p 279)bull Cree una aplicacioacuten para unaAWS Lambdaimplementacioacuten de funciones (consola) (p 281)bull Crear una aplicacioacuten (CLI) (p 282)

Cree una aplicacioacuten para una implementacioacuten in situ(consola)Para utilizar la consola de CodeDeploy para crear una aplicacioacuten para una implementacioacuten in situ

Warning

No siga estos pasos si

bull No ha preparado sus instancias para su uso en implementaciones de CodeDeployPara configurar sus instancias siga las instrucciones de Trabajo con instancias paraCodeDeploy (p 207) y a continuacioacuten siga los pasos de este tema

bull Desea crear una aplicacioacuten que utilice una configuracioacuten de implementacioacuten personalizadapero todaviacutea no ha creado dicha configuracioacuten de implementacioacuten Siga las instrucciones deCreate a Deployment Configuration (p 269) y a continuacioacuten siga los pasos de este tema

bull No tiene un rol de servicio que confiacutee en CodeDeploy con la confianza y los permisos miacutenimosnecesarios necesarios Para crear y configurar un rol de servicio con los permisos necesariossiga las instrucciones de Paso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36) y acontinuacioacuten vuelva a los pasos de este tema

bull Desea seleccionar un Classic Load Balancer Application Load Balancer o Network LoadBalancer en Elastic Load Balancing para la implementacioacuten in situ pero todaviacutea no lo hacreado

Para utilizar la consola de CodeDeploy para crear una aplicacioacuten para una implementacioacuten in situ

1 Inicie sesioacuten en la enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Versioacuten de API 2014-10-06274

AWS CodeDeploy Guiacutea del usuarioCree una aplicacioacuten para una

implementacioacuten in situ (consola)

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expanda Deploy (Implementar) y a continuacioacuten elija Getting started(Introduccioacuten)

3 Elija Create application4 En Application name (Nombre de la aplicacioacuten) especifique el nombre de la aplicacioacuten5 En Compute platform (Plataforma de computacioacuten) elija EC2On-Premises6 Elija Create application7 En la paacutegina de la aplicacioacuten en la pestantildea Deployment groups (Grupos de implementaciones) elija

Create deployment group (Crear grupo de implementacioacuten)8 En Deployment group name (Nombre de grupo de implementaciones) introduzca un nombre que

describa el grupo de implementaciones

Note

Si desea utilizar la misma configuracioacuten empleada en otro grupo de implementaciones(incluido el nombre del grupo de implementaciones las etiquetas los nombres de grupode Amazon EC2 Auto Scaling o ambos y la configuracioacuten de implementacioacuten) especifiqueesos valores en esta paacutegina Aunque este nuevo grupo de implementaciones y el grupo deimplementaciones existente tienen el mismo nombre CodeDeploy los trata como grupos deimplementaciones independientes porque cada uno de ellos estaacute asociado a una aplicacioacutenindependiente

9 EnRol de servicio elija una rol de servicio que conceda a CodeDeploy acceso a a la instancia dedestino

10 En Deployment type (Tipo de implementacioacuten) elija In-place (In situ)11 En Environment configuration (Configuracioacuten del entorno) seleccione una de las opciones siguientes

a Grupos de Auto Scaling de Amazon EC2 Introduzca o elija el nombre de un grupo de AmazonEC2 Auto Scaling en el que implementar su revisioacuten de la aplicacioacuten Cuando se lanzan nuevasinstancias Amazon EC2 como parte de un grupo de Amazon EC2 Auto Scaling CodeDeploypuede implementar automaacuteticamente las revisiones en las nuevas instancias Puede antildeadir hasta10 grupos de Amazon EC2 Auto Scaling a un grupo de implementaciones

b Instancias de Amazon EC2oInstancias on-premises En el navegadorClaveyValor introduzcalos valores del par clave-valor que utilizoacute para etiquetar las instancias Puede etiquetar hasta 10pares de clave-valor en un uacutenico grupo de etiquetas

i Puede utilizar comodines en laValorpara identificar todas las instancias etiquetadas endeterminados patrones por ejemplo instancias Amazon EC2 centros de costos y nombresde grupo similares etc Por ejemplo si eligeNombreen laClavecampo e introduzcaGRP-aen laValor CodeDeploy identifica todas las instancias que se ajustan a ese patroacutencomoGRP-1aGRP-2a yGRP-XYZ-a

ii El campo Value (Valor) distingue entre mayuacutesculas y minuacutesculasiii Para eliminar un par clave-valor de la lista elija Remove tag (Quitar etiqueta)

Como CodeDeploy busca instancias que coincidan con cada par clave-valor o nombre de grupode Amazon EC2 Auto Scaling especificado muestra el nuacutemero de instancias coincidentes Elija elnuacutemero para obtener maacutes informacioacuten sobre las instancias

Si desea redefinir los criterios de las instancias en las que se han realizado implementacioneselija Add tag group para crear un grupo de etiquetas Puede crear un maacuteximo de tres grupos deetiquetas con hasta diez pares de clave-valor cada uno Cuando utiliza varios grupos de etiquetas

Versioacuten de API 2014-10-06275

AWS CodeDeploy Guiacutea del usuarioCree una aplicacioacuten para una

implementacioacuten bluegreen (consola)

en un grupo de implementaciones solo las instancias identificadas por todos los grupos deetiquetas se incluyen en el grupo de implementaciones Esto significa una instancia debe coincidircon al menos una de las etiquetas de cada uno de los grupos que se deben incluir en el grupo deimplementaciones

Para obtener informacioacuten sobre el uso de grupos de etiquetas para redefinir el grupo deimplementaciones consulte Tagging Instances for Deployments (p 209)

12 En Deployment settings (Configuracioacuten de la implementacioacuten) elija una configuracioacuten deimplementacioacuten para controlar la velocidad en que la aplicacioacuten se implementa en las instancias porejemplo una a una o todas a la vez Para obtener maacutes informacioacuten acerca de las configuraciones deimplementacioacuten consulte Uso de configuraciones de implementacioacuten en CodeDeploy (p 264)

13 (Opcional) EnBalanceador de carga seleccioneHabilitar balancing de cargay a continuacioacuten elija unClassic Load Balancer Application Load Balancer o Network Load Balancer (Balanceador de carga dered) para administrar el traacutefico a las instancias durante los procesos de implementacioacuten

El registro de cada instancia se anula desde el balanceador de carga (Classic Load Balancers) ogrupo de destino (Balanceadores de carga de aplicacioacuten y Balanceadores de carga de red) para evitarque el traacutefico se direccione a ella durante la implementacioacuten La instancia se vuelve a registrar cuandola implementacioacuten se haya completado

Para obtener maacutes informacioacuten sobre los balanceadores de carga de las implementaciones deCodeDeploy consulteIntegrating CodeDeploy with Elastic Load Balancing (p 57)

14 (Opcional) ExpandaAvanzadoy configure las opciones que desea incluir en la implementacioacutenpor ejemplo disparadores de notificaciones de Amazon SNS alarmas de Amazon CloudWatch orestauraciones automaacuteticas

Para obtener maacutes informacioacuten consulte Configuracioacuten de las opciones avanzadas de un grupo deimplementaciones (p 303)

15 Elija Create deployment group

El siguiente paso consiste en preparar una revisioacuten para implementar en la aplicacioacuten y el grupode implementaciones Para obtener instrucciones consulte Uso de revisiones de aplicaciones deCodeDeploy (p 307)

Cree una aplicacioacuten para una implementacioacuten bluegreen (consola)Para utilizar la consola de CodeDeploy para crear una aplicacioacuten para una implementacioacuten bluegreen

Note

Despliegue en elAWSLa plataforma de computacioacuten Lambda es siempre una implementacioacutenbluegreen No especifique una opcioacuten de tipo de implementacioacuten

Warning

No siga estos pasos si

bull No tiene instancias con el agente de CodeDeploy instalado que desea sustituir durante elproceso de implementacioacuten bluegreen Para configurar sus instancias siga las instruccionesde Trabajo con instancias para CodeDeploy (p 207) y a continuacioacuten siga los pasos de estetema

bull Desea crear una aplicacioacuten que utilice una configuracioacuten de implementacioacuten personalizadapero todaviacutea no ha creado dicha configuracioacuten de implementacioacuten Siga las instrucciones deCreate a Deployment Configuration (p 269) y a continuacioacuten siga los pasos de este tema

Versioacuten de API 2014-10-06276

AWS CodeDeploy Guiacutea del usuarioCree una aplicacioacuten para una

implementacioacuten bluegreen (consola)

bull No tiene un rol de servicio que confiacutee en CodeDeploy como miacutenimo con la confianza y lospermisos que se describen enPaso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36)Para crear y configurar un rol de servicio siga las instrucciones de Paso 2 Creacioacuten de un rolde servicio para CodeDeploy (p 36) y a continuacioacuten siga los pasos de este tema

bull No ha creado un Classic Load Balancer Application Load Balancer o Network Load Balanceren Elastic Load Balancing para el registro de las instancias en su entorno de sustitucioacutenPara obtener maacutes informacioacuten consulte Configurar un equilibrador de carga en Elastic LoadBalancing para implementaciones de CodeDeploy Amazon EC2 (p 295)

1 Inicie sesioacuten en la enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expanda Deploy (Implementar) y a continuacioacuten elija Getting started(Introduccioacuten)

3 En Application name (Nombre de la aplicacioacuten) especifique el nombre de la aplicacioacuten4 En Compute platform (Plataforma de computacioacuten) elija EC2On-Premises5 Elija Create application6 En la paacutegina de la aplicacioacuten en la pestantildea Deployment groups (Grupos de implementaciones) elija

Create deployment group (Crear grupo de implementacioacuten)7 En Deployment group name (Nombre de grupo de implementaciones) introduzca un nombre que

describa el grupo de implementaciones

Note

Si desea utilizar la misma configuracioacuten empleada en otro grupo de implementaciones(incluido el nombre del grupo de implementaciones las etiquetas los nombres de grupo deAuto Scaling de Amazon EC2 y la configuracioacuten de implementacioacuten) elija esos valores enesta paacutegina Aunque este nuevo grupo de implementaciones y el grupo de implementacionesexistente tienen el mismo nombre CodeDeploy los trata como grupos de implementacionesindependientes porque cada uno de ellos estaacute asociado a una aplicacioacuten independiente

8 EnRol de servicio elija una rol de servicio que conceda a CodeDeploy acceso a a la instancia dedestino

9 En Deployment type (Tipo de implementacioacuten) elija Bluegreen10 En Environment configuration elija el meacutetodo que desea utilizar para proporcionar instancias para su

entorno de sustitucioacuten

a Copiar automaacuteticamente el grupo de Amazon EC2 Auto Scaling CodeDeploy crea un grupo deAmazon EC2 Auto Scaling al copiar uno que haya especificado

b Aprovisionar instancias manualmente No especifica las instancias de su entorno de sustitucioacutenhasta que crea una implementacioacuten de Debe crear las instancias antes de empezar laimplementacioacuten En su lugar en este caso debe especificar las instancias que desea sustituir

11 En funcioacuten de su eleccioacuten en el paso 10 lleve a cabo alguna de las siguientes operaciones

bull Si eligioacuteCopiar automaacuteticamente el grupo de Amazon EC2 Auto Scaling EnGrupo de AmazonEC2 Auto Scaling elija o introduzca el nombre del grupo Auto Scaling de Amazon EC2 que deseautilizar como plantilla para el grupo Amazon EC2 Auto Scaling para las instancias del entorno dereemplazo El nuacutemero de instancias actualmente en buen estado en buen estado en el grupo deAmazon EC2 Auto Scaling que elija se crea en su entorno de sustitucioacuten

bull Si eligioacuteAprovisionar instancias manualmente HabilitarGrupos de Auto Scaling de AmazonEC2Instancias de Amazon EC2o ambos para especificar instancias que se van a agregar a este

Versioacuten de API 2014-10-06277

AWS CodeDeploy Guiacutea del usuarioCree una aplicacioacuten para una

implementacioacuten bluegreen (consola)

grupo de implementacioacuten Introduzca los valores de etiqueta de Amazon EC2 o los nombres degrupo de Amazon EC2 Auto Scaling para identificar las instancias de su entorno original (es decirlas instancias que desea sustituir o que ejecutan la revisioacuten de la aplicacioacuten actual)

12 (Opcional) EnBalanceador de carga habilitarHabilitar balancing de cargay a continuacioacuten elija unClassic Load Balancer Application Load Balancer o Network Load Balancer (Balanceador de carga dered) para administrar el traacutefico a las instancias durante los procesos de implementacioacuten

El registro de cada instancia se anula desde el balanceador de carga (Classic Load Balancers) ogrupo de destino (Balanceadores de carga de aplicacioacuten y Balanceadores de carga de red) para evitarque el traacutefico se direccione a ella durante la implementacioacuten La instancia se vuelve a registrar cuandola implementacioacuten se haya completado

Para obtener maacutes informacioacuten sobre los balanceadores de carga de las implementaciones deCodeDeploy consulteIntegrating CodeDeploy with Elastic Load Balancing (p 57)

13 En Deployment settings revise las opciones predeterminadas para redirigir el traacutefico al entorno desustitucioacuten queacute configuracioacuten de implementacioacuten desea utilizar para la implementacioacuten y coacutemo segestionan las instancias en el entorno original despueacutes de la implementacioacuten

Si desea cambiar la configuracioacuten continuacutee con el paso siguiente De lo contrario vaya al paso 1514 Para cambiar la configuracioacuten de la implementacioacuten bluegreen cambie cualquiera de los siguientes

ajustes

Opcioacuten Opciones

Traffic rerouting (Nuevo enrutamiento del traacutefico) bull Redirigir el traacutefico de forma inmediata Tanpronto como se aprovisionan las instancias delentorno de sustitucioacuten y se instala en ellas lauacuteltima revisioacuten de la aplicacioacuten se registranautomaacuteticamente en el balanceador de cargalo que hace que el traacutefico se redirija a ellasSe anula el registro de las instancias en elentorno original

bull Voy a elegir si redirigir el traacutefico Las instanciasdel entorno de sustitucioacuten no se registranautomaacuteticamente en el balanceador decarga de a menos que redirija el traacuteficomanualmente Si se agota el tiempo de esperaespecificado sin que se redirija el traacuteficoel estado de la implementacioacuten cambia aStopped

Configuracioacuten de implementacioacuten Elija el modo en que las instancias del entornode sustitucioacuten se registran en el balanceador decarga por ejemplo una a una o todas a la vez

Note

Una vez que el traacutefico se dirige alentorno de sustitucioacuten de formasatisfactoria se anula el registro detodas las instancias del entorno originala la vez independientemente de laconfiguracioacuten de implementacioacuten quehaya seleccionado

Versioacuten de API 2014-10-06278

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de una aplicacioacuten para una implementacioacuten

de servicios de Amazon ECS (consola)

Opcioacuten OpcionesPara obtener maacutes informacioacuten consulte Usode configuraciones de implementacioacuten enCodeDeploy (p 264)

Original instances (Instancias originales) bull Finalizacioacuten de las instancias originales delgrupo de implementacioacuten Una vez que eltraacutefico se redirige al entorno de sustitucioacutenlas instancias cuyo registro se anuloacute en elbalanceador de carga se terminan tras elperiodo de espera especificado

bull Mantener en ejecucioacuten las instanciasoriginales del grupo de implementacioacuten Unavez que el traacutefico se redirige al entorno desustitucioacuten las instancias cuyo registro seanuloacute en el balanceador de carga se siguenejecutando

15 (Opcional) EnAvanzado configure las opciones que desea incluir en la implementacioacuten por ejemplodisparadores de notificaciones de Amazon SNS alarmas de Amazon CloudWatch o restauracionesautomaacuteticas

Para obtener informacioacuten acerca de coacutemo especificar opciones avanzadas en grupos deimplementaciones consulte Configuracioacuten de las opciones avanzadas de un grupo deimplementaciones (p 303)

16 Elija Create deployment group

El siguiente paso consiste en preparar una revisioacuten para implementar en la aplicacioacuten y el grupode implementaciones Para obtener instrucciones consulte Uso de revisiones de aplicaciones deCodeDeploy (p 307)

Creacioacuten de una aplicacioacuten para una implementacioacutende servicios de Amazon ECS (consola)Puede utilizar la consola de CodeDeploy para crear una aplicacioacuten para una implementacioacuten de servicioECS de Amazon

1 Inicie sesioacuten en la enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegar y elijaIntroduccioacuten3 En la paacutegina Create application (Crear aplicacioacuten) elija Use CodeDeploy (Utilizar CodeDeploy)4 En Application name (Nombre de la aplicacioacuten) especifique el nombre de la aplicacioacuten5 DesdePlataforma de computacioacuten eligeAmazon ECS6 Elija Create application7 En la paacutegina de la aplicacioacuten en la pestantildea Deployment groups (Grupos de implementaciones) elija

Create deployment group (Crear grupo de implementacioacuten) Para obtener maacutes informacioacuten sobrelo que necesita para crear un grupo de implementacioacuten para una implementacioacuten de Amazon ECSconsulteAntes de iniciar una implementacioacuten de Amazon ECS (p 19)

Versioacuten de API 2014-10-06279

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de una aplicacioacuten para una implementacioacuten

de servicios de Amazon ECS (consola)

8 En Deployment group name (Nombre de grupo de implementaciones) introduzca un nombre quedescriba el grupo de implementaciones

Note

Si desea utilizar la misma configuracioacuten empleada en otro grupo de implementaciones(incluido el nombre del grupo de implementaciones y la configuracioacuten de implementacioacuten)elija esos valores en esta paacutegina Aunque este nuevo grupo y el grupo existente podriacutean tenerel mismo nombre CodeDeploy los trata como grupos de implementaciones independientesporque cada uno de ellos estaacute asociado a una aplicacioacuten independiente

9 EnRol de servicio elija un rol de servicio que conceda acceso a CodeDeploy a Amazon ECS Paraobtener maacutes informacioacuten consulte Paso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36)

10 DesdeLoad balancer name (Nombre del balanceador de carga) elija el nombre del balanceador decarga que sirve el traacutefico a su servicio ECS de Amazon

11 DesdePuerto de agente de escucha de produccioacuten elija el puerto y el protocolo del agente de escuchaque sirve el traacutefico de produccioacuten a su servicio ECS de Amazon

12 (Opcional) DesdePuerto de agente de escucha de prueba elija el puerto y el protocolo de un agentede escucha de prueba que sirve el traacutefico a la tarea de sustitucioacuten establecida en su servicio ECS deAmazon durante la implementacioacuten Puede especificar una o maacutes funciones de Lambda en el archivode AppSpec que se ejecutan durante laAfterAllowTestTrafficgancho Las funciones puedenejecutar pruebas de validacioacuten Si una prueba de validacioacuten falla se desencadena una reversioacuten deimplementacioacuten Si se superan las pruebas de validacioacuten se desencadena el siguiente enlace del ciclode vida de la implementacioacuten BeforeAllowTraffic Si no se especifica un puerto de escucha deprueba no ocurre nada durante elAfterAllowTestTrafficgancho Para obtener maacutes informacioacutenconsulte Seccioacuten hooks de AppSpec para una implementacioacuten de Amazon ECS (p 422)

13 En Target group 1 name (Nombre de grupo de destino 1) y Target group 2 name (Nombre de grupode destino 2) elija los grupos de destino utilizados para dirigir el traacutefico durante su implementacioacutenCodeDeploy vincula un grupo de destino al conjunto de tareas original de su servicio ECS de Amazony el otro a su conjunto de tareas de sustitucioacuten Para obtener maacutes informacioacuten consulteGrupos dedestino para los Application Load Balancers

14 ElegirRedirigir el traacutefico de forma inmediataoEspecificar cuaacutendo se va a redirigir el traacuteficoparadeterminar cuaacutendo redirigir el traacutefico al servicio Amazon ECS actualizado

Si eligeRedirigir el traacutefico de forma inmediata la implementacioacuten vuelve a enrutar automaacuteticamente eltraacutefico despueacutes de aprovisionar el conjunto de tareas de reemplazo

Si eligeEspecificar cuaacutendo se va a redirigir el traacuteficoy a continuacioacuten elija el nuacutemero de diacuteashoras y minutos que debe esperar despueacutes de aprovisionar correctamente el conjunto de tareas dereemplazo Durante este tiempo de espera se ejecutan las pruebas de validacioacuten de las funcionesLambda especificadas en el archivo AppSpec Si el tiempo de espera caduca antes de que se vuelva aenrutar el traacutefico el estado de la implementacioacuten cambia aStopped

15 ParaTerminacioacuten de revisioacuten original elija el nuacutemero de diacuteas horas y minutos que deben esperardespueacutes de que se haya realizado correctamente la implementacioacuten antes de que finalice el conjuntode tareas original de su servicio Amazon ECS

16 (Opcional) EnAvanzado configure las opciones que desea incluir en la implementacioacuten por ejemplodisparadores de notificaciones de Amazon SNS alarmas de Amazon CloudWatch o restauracionesautomaacuteticas

Para obtener maacutes informacioacuten consulte Configuracioacuten de las opciones avanzadas de un grupo deimplementaciones (p 303)

Versioacuten de API 2014-10-06280

AWS CodeDeploy Guiacutea del usuarioCree una aplicacioacuten para unaAWS

Lambdaimplementacioacuten de funciones (consola)

Cree una aplicacioacuten para unaAWSLambdaimplementacioacuten de funciones (consola)Puede utilizar la consola de CodeDeploy para crear una aplicacioacuten para unaAWS Lambdadespliegue defunciones

1 Inicie sesioacuten en la enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegar y elijaIntroduccioacuten3 En la paacutegina Create application (Crear aplicacioacuten) elija Use CodeDeploy (Utilizar CodeDeploy)4 Especifique el nombre de la aplicacioacuten en Application name (Nombre de la aplicacioacuten)5 En Compute platform (Plataforma de computacioacuten) elija AWS Lambda6 Elija Create application7 En la paacutegina de la aplicacioacuten en la pestantildea Deployment groups (Grupos de implementaciones) elija

Create deployment group (Crear grupo de implementacioacuten)8 En Deployment group name (Nombre de grupo de implementaciones) introduzca un nombre que

describa el grupo de implementaciones

Note

Si desea utilizar la misma configuracioacuten empleada en otro grupo de implementaciones(incluido el nombre del grupo de implementaciones y la configuracioacuten de implementacioacuten)elija esos valores en esta paacutegina Aunque este nuevo grupo de implementaciones y el grupode implementaciones existente podriacutean tener el mismo nombre CodeDeploy los trata comogrupos de implementaciones independientes porque cada uno de ellos estaacute asociado a unaaplicacioacuten independiente

9 EnRol de servicio elija un rol de servicio que conceda acceso a CodeDeploy aAWS Lambda Paraobtener maacutes informacioacuten consulte Paso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36)

10 Si desea utilizar una configuracioacuten de implementacioacuten predefinida elija una en Deploymentconfiguration (Configuracioacuten de implementacioacuten) y a continuacioacuten vaya al paso 12 Para crear unaconfiguracioacuten personalizada continuacutee al paso siguiente

Para obtener maacutes informacioacuten acerca de las configuraciones de implementacioacuten consulte Configuraciones de implementacioacuten en unaAWS Lambdaplataforma de computacioacuten (p 268)

11 Para crear una configuracioacuten personalizada elija Create deployment configuration (Crearconfiguracioacuten de implementacioacuten) y a continuacioacuten haga lo siguiente

a En Deployment configuration name (Nombre de la configuracioacuten de implementacioacuten) introduzcaun nombre para la configuracioacuten

b En Type (Tipo) elija un tipo de configuracioacuten Si elige Canary el traacutefico se desviacutea en dosincrementos Si elige Linear el traacutefico se desviacutea en incrementos iguales con el mismo nuacutemero deminutos entre incrementos

c En Step introduzca el porcentaje de traacutefico comprendido entre 1 y 99 que se debe desviar Siel tipo de configuracioacuten es Canary este es el porcentaje de traacutefico que se desviacutea en el primerincremento El traacutefico restante se desviacutea despueacutes del intervalo seleccionado en el segundoincremento Si el tipo de configuracioacuten es Linear este es el porcentaje de traacutefico que se desviacutea alcomienzo de cada intervalo

Versioacuten de API 2014-10-06281

AWS CodeDeploy Guiacutea del usuarioCrear una aplicacioacuten (CLI)

d En Interval (Intervalo) introduzca el nuacutemero de minutos Si el tipo de configuracioacuten es Canaryeste es el nuacutemero de minutos entre el primer y el segundo desviacuteo de traacutefico Si el tipo deconfiguracioacuten es Linear (Lineal) este es el nuacutemero de minutos entre cada desviacuteo incremental

Note

La duracioacuten maacutexima de una implementacioacuten de AWS Lambda es de dos diacuteas o 2 880minutos Por lo tanto el valor maacuteximo especificado para Interval en una configuracioacutenldquocanaryrdquo es de 2 800 minutos EL valor maacuteximo para una configuracioacuten ldquolinearrdquo dependedel valor de Step Por ejemplo si el porcentaje de incremento de un desviacuteo de traacuteficoldquolinearrdquo es del 25 hay cuatro desviacuteos de traacutefico El valor de intervalo maacuteximo es de2880 dividido entre cuatro o 720 minutos

e Elija Create deployment configuration (Crear configuracioacuten de implementacioacuten)12 (Opcional) EnAvanzado configure las opciones que desea incluir en la implementacioacuten por ejemplo

disparadores de notificaciones de Amazon SNS alarmas de Amazon CloudWatch o restauracionesautomaacuteticas

Para obtener maacutes informacioacuten consulte Configuracioacuten de las opciones avanzadas de un grupo deimplementaciones (p 303)

13 Elija Create deployment group

Crear una aplicacioacuten (CLI)Para utilizar elAWS CLIpara crear una aplicacioacuten llame a lacrear aplicacioacuten especificando un nombreque represente de forma exclusiva la aplicacioacuten (En unAWScuenta de un nombre de aplicacioacuten deCodeDeploy solo puede utilizarse una vez en cada regioacuten Puede reutilizar el nombre de una aplicacioacuten endiferentes regiones)

Despueacutes de utilizar la AWS CLI para crear una aplicacioacuten el siguiente paso consiste en crear un grupo deimplementaciones que especifica las instancias en las que se implementaraacuten las revisiones Para obtenerinstrucciones consulte Creacioacuten de un grupo de implementaciones con CodeDeploy (p 288)

Despueacutes de crear el grupo de implementaciones el siguiente paso consiste en preparar una revisioacuten paraimplementar en la aplicacioacuten y el grupo de implementaciones Para obtener instrucciones consulte Uso derevisiones de aplicaciones de CodeDeploy (p 307)

Ver detalles de la aplicacioacuten con CodeDeployPuede utilizar la consola de CodeDeploy laAWS CLIo las API de CodeDeploy para ver detalles acerca detodas las aplicaciones asociadas a suAWSaccount

Temasbull Ver los detalles de la aplicacioacuten (consola) (p 282)bull Ver los detalles de la aplicacioacuten (CLI) (p 283)

Ver los detalles de la aplicacioacuten (consola)Para utilizar la consola de CodeDeploy para ver los detalles de la aplicacioacuten

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Versioacuten de API 2014-10-06282

AWS CodeDeploy Guiacutea del usuarioVer los detalles de la aplicacioacuten (CLI)

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacuten aCodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegar y elijaIntroduccioacuten3 Para ver informacioacuten detallada adicional acerca de la aplicacioacuten elija el nombre de la aplicacioacuten de la

lista

Ver los detalles de la aplicacioacuten (CLI)Si desea utilizar la AWS CLI para ver los detalles de las aplicaciones llame al comando get-applicationbatch-get-application o al comando list-applications

Para ver informacioacuten detallada acerca de una sola aplicacioacuten llame alget-application especificando elnombre de la aplicacioacuten

Para ver informacioacuten detallada acerca de muacuteltiples aplicaciones llame albatch-get-apps especificandomuacuteltiples nombres de aplicaciones

Para ver una lista de nombres de aplicaciones llame alaplicaciones de listacomando

Creacioacuten de una regla de notificacioacutenPuede utilizar reglas de notificacioacuten para notificar a los usuarios cuando hay cambios en las aplicacionesde implementacioacuten como eacutexitos y errores de implementacioacuten Las reglas de notificacioacuten especifican tantolos eventos como el tema de Amazon SNS que se utiliza para enviar notificaciones Para obtener maacutesinformacioacuten consulte iquestQueacute son las notificaciones

Puede utilizar la consola o la AWS CLI para crear reglas de notificacioacuten para AWS CodeDeploy

Para crear una regla de notificacioacuten (consola)

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

2 Elija Application (Aplicacioacuten) y a continuacioacuten elija una aplicacioacuten donde desea agregarnotificaciones

3 En la paacutegina de la aplicacioacuten elija Notify (Notificar) y a continuacioacuten elija Create notification rule(Crear regla de notificacioacuten) Tambieacuten puede ir a la paacutegina Settings (Configuracioacuten) para la aplicacioacuteny elegir Create notification rule (Crear regla de notificacioacuten)

4 En Notification name (Nombre de la notificacioacuten) introduzca un nombre para la regla5 En Detail type (Tipo de detalle) elija Basic (Baacutesico) si desea que solo la informacioacuten proporcionada

en Amazon EventBridge se incluya en la notificacioacuten ElegirCompletosi desea incluir la informacioacutenproporcionada en Amazon EventBridge y otra informacioacuten que CodeDeploy o el administrador denotificaciones podriacutea suministrar

Para obtener maacutes informacioacuten consulteDescripcioacuten del contenido y la seguridad de las notificaciones6 En Events that trigger notifications (Eventos que activan notificaciones) seleccione los eventos para

los que desea enviar notificaciones

Categoriacutea Eventos

Implementacioacuten Con error

Versioacuten de API 2014-10-06283

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de una regla de notificacioacuten

Categoriacutea EventosSucceeded

Started

7 En Targets (Destinos) elija Create SNS topic (Crear tema SNS)

Note

Cuando crea el tema se aplica la poliacutetica que permite a CodeDeploy publicar eventos enel tema El uso de un tema creado especiacuteficamente para las notificaciones de CodeDeploytambieacuten ayuda a garantizar que solo agregue usuarios a la lista de suscripciones para el temaque desee ver notificaciones sobre esta aplicacioacuten de implementacioacuten

Despueacutes del prefijo codestar-notifications- escriba un nombre para el tema y a continuacioacuten elijaSubmit (Enviar)

Note

Si desea utilizar un tema de Amazon SNS existente en lugar de crear uno nuevo enTargets (Destinos) elija su ARN Aseguacuterese de que el tema tiene la directiva de accesoadecuada y de que la lista de suscriptores contiene salo aquellos usuarios a los quese permite ver informacioacuten sobre la aplicacioacuten de implementacioacuten Para obtener maacutesinformacioacuten consulteConfiguracioacuten de los temas de Amazon SNS existentes para lasnotificacionesyDescripcioacuten del contenido y la seguridad de las notificaciones

8 Para terminar de crear la regla elija Submit (Enviar)9 Debe suscribir a los usuarios al tema de Amazon SNS para la regla antes de que puedan recibir

notificaciones Para obtener maacutes informacioacuten consulteSuscripcioacuten de usuarios a temas deAmazon SNS que son destinos Tambieacuten puede configurar la integracioacuten entre notificaciones yAWSChatbotpara enviar notificaciones a las salas de chat de Amazon Chime o a los canales de Slack Paraobtener maacutes informacioacuten consulteConfiguracioacuten de la integracioacuten entre notificaciones yAWS Chatbot

Para crear una regla de notificacioacuten (AWS CLI)

1 En un terminal o siacutembolo del sistema ejecute el comando create-notification rule para generar elesqueleto JSON

aws codestar-notifications create-notification-rule --generate-cli-skeleton gt rulejson

Puede asignar al archivo el nombre que desee En este ejemplo el archivo se denomina rulejson2 Abra el archivo JSON en un editor de texto sin formato y ediacutetelo para incluir el recurso los

tipos de eventos y el destino de Amazon SNS que desea para la regla En el siguiente ejemplose muestra una regla de notificacioacuten denominadaMyNotificationRulepara una aplicacioacutendenominadaMyDeploymentApplicationen unAWScuenta con el ID123456789012 Lasnotificaciones se enviacutean con el tipo de detalle completo a un tema de Amazon SNS llamadoCodestar- Notificaciones - Mi tema de notificacioacutencuando las implementaciones se realizancorrectamente

Name MyNotificationRule EventTypeIds [ codedeploy-application-deployment-succeeded ] Resource arnawscodebuildus-east-2123456789012MyDeploymentApplication Targets [

Versioacuten de API 2014-10-06284

AWS CodeDeploy Guiacutea del usuarioCambiar el nombre de una aplicacioacuten

TargetType SNS TargetAddress arnawssnsus-east-2123456789012codestar-notifications-MyNotificationTopic ] Status ENABLED DetailType FULL

Guarde el archivo3 Mediante el archivo que acaba de modificar en el terminal o liacutenea de comandos vuelva a ejecutar el

comando create-notification-rule para crear la regla de notificacioacuten

aws codestar-notifications create-notification-rule --cli-input-json filerulejson

4 Si se ejecuta correctamente el comando devuelve el ARN de la regla de notificacioacuten similar a losiguiente

Arn arnawscodestar-notificationsus-east-1123456789012notificationruledc82df7a-EXAMPLE

Cambiar el nombre de una aplicacioacuten CodeDeployPuede utilizar elAWS CLIo las API de CodeDeploy para cambiar el nombre de una aplicacioacuten

Para ver una lista de nombres de aplicaciones ejecute laAWS CLIllamar a laaplicaciones de listacomando

Para obtener maacutes informacioacuten acerca del uso de laAWS CLIpara cambiar el nombre de una aplicacioacutenconsulteaplicacioacuten de actualizacioacuten

Para obtener maacutes informacioacuten acerca del uso de las API de CodeDeploy para cambiar el nombre de unaaplicacioacuten consulteAplicacioacuten API_Update

Eliminar una aplicacioacuten en CodeDeployPuede utilizar la consola de CodeDeploy laAWS CLIo una accioacuten de API de CodeDeploy paraeliminar aplicaciones Para obtener informacioacuten sobre el uso de la accioacuten de la API de CodeDeployconsulteDeleteApplication

Warning

La eliminacioacuten de una aplicacioacuten elimina la informacioacuten sobre la aplicacioacuten del sistemaCodeDeploy incluida toda la informacioacuten del grupo de implementaciones relacionada y losdetalles de implementacioacuten La eliminacioacuten de una aplicacioacuten creada para una implementacioacutenEC2on-premises no elimina las revisiones de aplicacioacuten relacionadas de las instancias ni eliminala revisiones de los buckets de Amazon S3 La eliminacioacuten de una aplicacioacuten creada para unaimplementacioacuten EC2on-premises no termina las instancias Amazon EC2 ni cancela el registro delas instancias on-premises Esta accioacuten no se puede deshacer

Temasbull Eliminar una aplicacioacuten de (consola) (p 286)bull Eliminar una aplicacioacuten (AWS CLI) (p 286)

Versioacuten de API 2014-10-06285

AWS CodeDeploy Guiacutea del usuarioEliminar una aplicacioacuten de (consola)

Eliminar una aplicacioacuten de (consola)Para utilizar la consola de CodeDeploy para eliminar una aplicacioacuten

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones3 En la lista de aplicaciones seleccione la aplicacioacuten que desea eliminar

Aparece una paacutegina que contiene detalles sobre la aplicacioacuten4 ElegirEliminar aplicacioacutenen la parte superior derecha5 Escriba cuando se le solicitedeletepara confirmar que desea eliminar la aplicacioacuten y a continuacioacuten

seleccioneBorrar

Eliminar una aplicacioacuten (AWS CLI)Para utilizar elAWS CLIpara eliminar una aplicacioacuten realice una llamada alEliminar aplicacioacutenespecificando el nombre de la aplicacioacuten Para ver una lista de nombres de aplicaciones realice unallamada alaplicaciones de listacomando

Versioacuten de API 2014-10-06286

AWS CodeDeploy Guiacutea del usuarioGrupos de implementacioacuten en implementaciones

de plataformas informaacuteticas de Amazon ECS

Trabajar con grupos deimplementaciones en CodeDeploy

Puede especificar uno o varios grupos de implementaciones para una aplicacioacuten de CodeDeployCada implementacioacuten de aplicacioacuten utiliza uno de sus grupos de implementaciones El grupo deimplementaciones contiene los ajustes y las configuraciones utilizadas durante la implementacioacuten Lamayoriacutea de los ajustes del grupo de implementaciones dependen de la plataforma de computacioacutenutilizada por su aplicacioacuten Algunas opciones de configuracioacuten tales como restauracionesdesencadenadores y alarmas se puede configurar para grupos de implementaciones para cualquierplataforma de computacioacuten

Grupos de implementacioacuten en implementaciones deplataformas informaacuteticas de Amazon ECS

En una implementacioacuten de Amazon ECS un grupo de implementaciones especifica el servicio de AmazonECS el balanceador de carga el agente de escucha de prueba opcional y dos grupos de destino Tambieacutenespecifica cuando debe redirigirse el traacutefico al conjunto de tareas de sustitucioacuten y cuaacutendo terminar elconjunto de tareas original y la aplicacioacuten Amazon ECS despueacutes de una implementacioacuten correcta

Grupos de implementaciones enAWSLambdaimplementaciones de plataformas decomputacioacuten

En unAWSImplementacioacuten de Lambda un grupo de implementaciones define un conjunto deconfiguraciones de CodeDeploy para implementaciones futuras de unAWS Lambdafuncioacuten Por ejemploel grupo de implementaciones especifica coacutemo dirigir el traacutefico a una nueva versioacuten de una funcioacuten deLambda Tambieacuten podriacutea especificar alarmas y restauraciones Una uacutenica implementacioacuten en unAWSElgrupo de implementaciones Lambda puede invalidar una o varias configuraciones de grupo

Grupos de implementaciones en implementacionesEC2On-Premises

En una implementacioacuten EC2On-Premises un grupo de implementaciones es un conjunto de instanciasindividuales dirigidas a una implementacioacuten Un grupo de implementaciones contiene instanciasetiquetadas individualmente instancias Amazon EC2 en grupos de Amazon EC2 Auto Scaling o ambas

En una implementacioacuten local las instancias del grupo de implementaciones se actualizan con la uacuteltimarevisioacuten de la aplicacioacuten

En una implementacioacuten bluegreen (bluegreen) el traacutefico se redirige de un conjunto de instancias aotra desinstalando las instancias originales de un balanceador de carga y registrando un conjunto desustitucioacuten de instancias que suele tener instalada la uacuteltima revisioacuten de la aplicacioacuten

Versioacuten de API 2014-10-06287

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de un grupo de implementaciones

Es posible asociar maacutes de un grupo de implementaciones a una aplicacioacuten en CodeDeploy Esto permiteimplementar una revisioacuten de la aplicacioacuten en diferentes conjuntos de instancias en diferentes momentosPor ejemplo puede utilizar un grupo de implementaciones para implementar una revisioacuten de la aplicacioacutenen un conjunto de instancias etiquetadas Test en las que garantice la calidad del coacutedigo A continuacioacutenpuede realizar una verificacioacuten adicional implementando la misma revisioacuten de la aplicacioacuten en un grupode implementaciones con instancias etiquetadas como Staging Por uacuteltimo cuando todo esteacute listo paralanzar la uacuteltima aplicacioacuten y ponerla a disposicioacuten de los clientes puede implementar a un grupo deimplementaciones que incluya instancias etiquetadas como Production

Tambieacuten puede utilizar varios grupos de etiquetas para afinar auacuten maacutes los criterios para las instanciasincluidas en un grupo de implementaciones Para obtener informacioacuten consulte Tagging Instances forDeployments (p 209)

Cuando utiliza la consola de CodeDeploy para crear una aplicacioacuten tambieacuten configura su primer grupo deimplementaciones al mismo tiempo Cuando utiliza la AWS CLI para crear una aplicacioacuten crea su primergrupo de implementaciones en un paso independiente

Para ver una lista de los grupos de implementaciones que ya estaacuten asociados a su cuenta de AWSconsulte Ver detalles del grupo de implementacioacuten con CodeDeploy (p 300)

Para obtener informacioacuten sobre las etiquetas de las instancias de Amazon EC2 consulteUso de etiquetasmediante la consola Para obtener maacutes informacioacuten acerca de instancias on-premises consulte Workingwith On-Premises Instances (p 230) Para obtener informacioacuten acerca de Amazon EC2 Auto ScalingconsulteIntegracioacuten de CodeDeploy con Amazon EC2 Auto Scaling (p 53)

Temas

bull the section called ldquoCreacioacuten de un grupo de implementacionesrdquo (p 288)bull the section called ldquoVer detalles del grupo de implementacioacutenrdquo (p 300)bull the section called ldquoCambiar la configuracioacuten del grupo de implementacioacutenrdquo (p 301)bull the section called ldquoConfiguracioacuten de las opciones avanzadas de un grupo de

implementacionesrdquo (p 303)bull the section called ldquoEliminar un grupo de implementacionesrdquo (p 305)

Creacioacuten de un grupo de implementaciones conCodeDeploy

Puede utilizar la consola de CodeDeployAWS CLI las API de CodeDeploy o unAWSCloudFormationplantilla para crear grupos de implementacioacuten Para obtener maacutes informacioacuten sobre coacutemoutilizar una plantilla de AWS CloudFormation para crear un grupo de implementaciones consulte AWSCloudFormationplantillas para referencia de CodeDeploy (p 444)

Cuando utiliza la consola de CodeDeploy para crear una aplicacioacuten tambieacuten configura su primer grupo deimplementaciones al mismo tiempo Cuando utiliza la AWS CLI para crear una aplicacioacuten crea su primergrupo de implementaciones en un paso independiente

Como parte de la creacioacuten de un grupo de implementaciones debe especificar un rol de servicio Paraobtener maacutes informacioacuten consulte Paso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36)

Temasbull Crear un grupo de implementaciones para una implementacioacuten in situ (consola) (p 289)bull Crear un grupo de implementaciones para una implementacioacuten EC2On-Premises bluegreen

(consola) (p 291)bull Crear un grupo de implementacioacuten para una implementacioacuten de Amazon ECS (consola) (p 294)

Versioacuten de API 2014-10-06288

AWS CodeDeploy Guiacutea del usuarioCrear un grupo de implementaciones

para una implementacioacuten in situ (consola)

bull Configurar un equilibrador de carga en Elastic Load Balancing para implementaciones de CodeDeployAmazon EC2 (p 295)

bull Configurar un equilibrador de carga grupos de destino y listeners para implementaciones deCodeDeploy Amazon ECS (p 296)

bull Creacioacuten de un grupo de implementaciones (CLI) (p 299)

Crear un grupo de implementaciones para unaimplementacioacuten in situ (consola)Para utilizar la consola de CodeDeploy para crear un grupo de implementaciones para una implementacioacutenin situ

Warning

No siga estos pasos si

bull No ha preparado sus instancias para utilizarlas en la primera implementacioacuten de CodeDeployde una aplicacioacuten Para configurar sus instancias siga las instrucciones de Trabajo coninstancias para CodeDeploy (p 207) y a continuacioacuten siga los pasos de este tema

bull Desea crear un grupo de implementaciones que utilice una configuracioacuten de implementacioacutenpersonalizada pero todaviacutea no ha creado dicha configuracioacuten de implementacioacuten Siga lasinstrucciones de Create a Deployment Configuration (p 269) y a continuacioacuten siga los pasosde este tema

bull No dispone de un rol de servicio que confiacutee en CodeDeploy como miacutenimo con laconfianza y los permisos que se describen enPaso 2 Creacioacuten de un rol de servicio paraCodeDeploy (p 36) Para crear y configurar un rol de servicio siga las instrucciones de Paso 2Creacioacuten de un rol de servicio para CodeDeploy (p 36) y a continuacioacuten siga los pasos de estetema

bull Desea seleccionar una instancia de Classic Load Balancer Application Load Balancer oNetwork Load Balancer en Elastic Load Balancing para la implementacioacuten in situ pero todaviacuteano lo ha creado

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones3 En la paacutegina Applications elija el nombre de la aplicacioacuten para la que desea crear un grupo de

implementaciones4 En la paacutegina de la aplicacioacuten en la pestantildea Deployment groups (Grupos de implementaciones) elija

Create deployment group (Crear grupo de implementacioacuten)5 En Deployment group name (Nombre de grupo de implementaciones) introduzca un nombre que

describa el grupo de implementaciones

Note

Si desea utilizar la misma configuracioacuten empleada en otro grupo de implementaciones(incluido el nombre del grupo de implementaciones las etiquetas los nombres de grupode Amazon EC2 Auto Scaling o ambos y la configuracioacuten de implementacioacuten) especifiqueesos valores en esta paacutegina Aunque este nuevo grupo de implementaciones y el grupo deimplementaciones existente tienen el mismo nombre CodeDeploy los trata como grupos de

Versioacuten de API 2014-10-06289

AWS CodeDeploy Guiacutea del usuarioCrear un grupo de implementaciones

para una implementacioacuten in situ (consola)

implementaciones independientes porque cada uno de ellos estaacute asociado a una aplicacioacutenindependiente

6 EnRol de servicio elija un rol de servicio que conceda acceso a CodeDeploy a su instancia de destino7 En Deployment type (Tipo de implementacioacuten) elija In-place (In situ)8 En Environment configuration (Configuracioacuten del entorno) seleccione una de las opciones siguientes

a Grupos de Auto Scaling de Amazon EC2 Introduzca o elija el nombre de un grupo de AmazonEC2 Auto Scaling en el que implementar su revisioacuten de la aplicacioacuten Cuando se lanzan nuevasinstancias Amazon EC2 como parte de un grupo de Amazon EC2 Auto Scaling CodeDeploypuede implementar automaacuteticamente las revisiones en las nuevas instancias Puede antildeadir hasta10 grupos de Amazon EC2 Auto Scaling a un grupo de implementaciones

b Instancias de Amazon EC2oInstancias on-premises En el navegadorClaveyValor introduzcalos valores del par clave-valor que utilizoacute para etiquetar las instancias Puede etiquetar hasta 10pares de clave-valor en un uacutenico grupo de etiquetas

i Puede utilizar comodines enValorpara identificar todas las instancias etiquetadas endeterminados patrones por ejemplo instancias Amazon EC2 centros de costos nombresde grupo y otros elementos similares Por ejemplo si eligeNombreen laClavecampo eintroduzcaGRP-aen laValor CodeDeploy identifica todas las instancias que se ajustan a esepatroacuten comoGRP-1aGRP-2a yGRP-XYZ-a

ii El campo Value (Valor) distingue entre mayuacutesculas y minuacutesculasiii Para eliminar un par clave-valor de la lista elija el icono de eliminacioacuten

Como CodeDeploy busca instancias que coincidan con cada par clave-valor o nombre de grupode Amazon EC2 Auto Scaling muestra el nuacutemero de instancias coincidentes Para obtener maacutesinformacioacuten sobre las instancias haga clic en el nuacutemero

Si desea redefinir los criterios de las instancias en las que se han realizado implementacioneselija Add tag group para crear un grupo de etiquetas Puede crear un maacuteximo de tres grupos deetiquetas con hasta 10 pares de clave-valor cada uno Cuando utiliza varios grupos de etiquetasen un grupo de implementaciones solo las instancias identificadas por todos los grupos deetiquetas se incluyen en el grupo de implementaciones Esto significa una instancia debe coincidircon al menos una de las etiquetas de cada uno de los grupos que se deben incluir en el grupo deimplementaciones

Para obtener informacioacuten sobre el uso de grupos de etiquetas para redefinir el grupo deimplementaciones consulte Tagging Instances for Deployments (p 209)

9 EnConfiguracioacuten del agente con Systems Manager especifique coacutemo desea instalar y actualizar elagente de CodeDeploy en las instancias del grupo de implementacioacuten Para obtener maacutes informacioacutensobre el agente de CodeDeploy consulteTrabajar con el agente de CodeDeploy Para obtener maacutesinformacioacuten acerca de Systems Manager consulteiquestQueacute es Systems Manager

a Nunca Omita la configuracioacuten de la instalacioacuten de CodeDeploy con Systems Manager Lasinstancias deben tener el agente instalado para utilizarlo en implementaciones por lo tanto elijaesta opcioacuten uacutenicamente si desea instalar el agente de CodeDeploy de otra forma

b Solo una vez Systems Manager instalaraacute el agente de CodeDeploy una vez en cada instancia delgrupo de implementacioacuten

c Ahora y programa actualizaciones Systems Manager crearaacute una asociacioacuten con el Administradorde estados que instala el agente de CodeDeploy en la programacioacuten que configure Para obtenermaacutes informacioacuten acerca del Administrador de estados y las asociaciones consulte Acerca delAdministrador de estados

10 En la lista Deployment configuration (Configuracioacuten de implementacioacuten) elija una configuracioacuten deimplementacioacuten para controlar el modo en que se implementan las instancias por ejemplo una a unao todas a la vez Para obtener maacutes informacioacuten acerca de las configuraciones de implementacioacutenconsulte Uso de configuraciones de implementacioacuten en CodeDeploy (p 264)

Versioacuten de API 2014-10-06290

AWS CodeDeploy Guiacutea del usuarioCrear un grupo de implementaciones para una

implementacioacuten EC2On-Premises bluegreen (consola)

11 (Opcional) EnBalanceador de carga seleccioneActivar balanceo de cargay a continuacioacuten elijauna instancia de Classic Load Balancer Application Load Balancer o Network Load Balancer paraadministrar el traacutefico a las instancias durante los procesos de implementacioacuten

El registro de cada instancia se anula desde el balanceador de carga (Classic Load Balancers) ogrupo de destino (Balanceadores de carga de aplicaciones y balanceadores de carga de red) paraevitar que el traacutefico se direccione a ella durante la implementacioacuten La instancia se vuelve a registrarcuando la implementacioacuten se haya completado

Para obtener maacutes informacioacuten sobre los balanceadores de carga de las implementaciones deCodeDeploy consulteIntegrating CodeDeploy with Elastic Load Balancing (p 57)

12 (Opcional) ExpandaAvanzadoy configure las opciones que desea incluir en la implementacioacutenpor ejemplo disparadores de notificaciones de Amazon SNS alarmas de Amazon CloudWatch orestauraciones automaacuteticas

Para obtener maacutes informacioacuten consulte Configuracioacuten de las opciones avanzadas de un grupo deimplementaciones (p 303)

13 Elija Create deployment group

Crear un grupo de implementaciones para unaimplementacioacuten EC2On-Premises bluegreen(consola)Para utilizar la consola de CodeDeploy para crear un grupo de implementaciones para una implementacioacutenbluegreen

Warning

No siga estos pasos si

bull No dispone de instancias con el agente de CodeDeploy instalado que desea sustituir duranteel proceso de implementacioacuten bluegreen Para configurar sus instancias siga las instruccionesde Trabajo con instancias para CodeDeploy (p 207) y a continuacioacuten siga los pasos de estetema

bull Desea crear una aplicacioacuten que utilice una configuracioacuten de implementacioacuten personalizadapero todaviacutea no ha creado dicha configuracioacuten de implementacioacuten Siga las instrucciones deCreate a Deployment Configuration (p 269) y a continuacioacuten siga los pasos de este tema

bull No dispone de un rol de servicio que confiacutee en CodeDeploy como miacutenimo con laconfianza y los permisos que se describen enPaso 2 Creacioacuten de un rol de servicio paraCodeDeploy (p 36) Para crear y configurar un rol de servicio siga las instrucciones de Paso 2Creacioacuten de un rol de servicio para CodeDeploy (p 36) y a continuacioacuten siga los pasos de estetema

bull No ha creado una instancia de Classic Load Balancer o Application Load Balancer en ElasticLoad Balancing para el registro de las instancias en su entorno de sustitucioacuten Para obtenermaacutes informacioacuten consulte Configurar un equilibrador de carga en Elastic Load Balancing paraimplementaciones de CodeDeploy Amazon EC2 (p 295)

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

Versioacuten de API 2014-10-06291

AWS CodeDeploy Guiacutea del usuarioCrear un grupo de implementaciones para una

implementacioacuten EC2On-Premises bluegreen (consola)

2 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones3 En la paacutegina Applications elija el nombre de la aplicacioacuten para la que desea crear un grupo de

implementaciones4 En la paacutegina de la aplicacioacuten en la pestantildea Deployment groups (Grupos de implementaciones) elija

Create deployment group (Crear grupo de implementacioacuten)5 En Deployment group name (Nombre de grupo de implementaciones) introduzca un nombre que

describa el grupo de implementaciones

Note

Si desea utilizar la misma configuracioacuten empleada en otro grupo de implementaciones(incluido el nombre del grupo de implementaciones las etiquetas los nombres de grupo deAuto Scaling de Amazon EC2 y la configuracioacuten de implementacioacuten) elija esos valores enesta paacutegina Aunque este nuevo grupo de implementaciones y el grupo de implementacionesexistente tienen el mismo nombre CodeDeploy los trata como grupos de implementacionesindependientes porque estaacuten asociados a una aplicacioacuten independiente

6 EnRol de servicio elija un rol de servicio que conceda acceso a CodeDeploy a su instancia de destino7 En Deployment type (Tipo de implementacioacuten) elija Bluegreen8 En Environment configuration elija el meacutetodo que desea utilizar para proporcionar instancias para su

entorno de sustitucioacuten

a Automatically copy Amazon EC2 Auto Scaling CodeDeploy crea un grupo de Amazon EC2 AutoScaling copiando uno que especifique

b Aprovisionar instancias manualmente No especifica las instancias del entorno de sustitucioacutenhasta que crea una implementacioacuten Debe crear las instancias antes de empezar laimplementacioacuten En su lugar en este caso debe especificar las instancias que desea sustituir

9 EnConfiguracioacuten del agente con Systems Manager especifique coacutemo desea instalar y actualizar elagente de CodeDeploy en las instancias del grupo de implementacioacuten Para obtener maacutes informacioacutensobre el agente de CodeDeploy consulteTrabajar con el agente de CodeDeploy Para obtener maacutesinformacioacuten acerca de Systems Manager consulteiquestQueacute es Systems Manager

a Nunca Omita la configuracioacuten de la instalacioacuten de CodeDeploy con Systems Manager Lasinstancias deben tener el agente instalado para su uso en las implementaciones por lo tanto elijaesta opcioacuten uacutenicamente si desea instalar el agente CodeDeploy de de otra forma

b Solo una vez Systems Manager instalaraacute el agente de CodeDeploy una vez en cada instancia delgrupo de implementacioacuten

c Ahora y programa actualizaciones Systems Manager crearaacute una asociacioacuten con el Administradorde estados que instala el agente de CodeDeploy en la programacioacuten que configure Para obtenermaacutes informacioacuten acerca del Administrador de estados y las asociaciones consulte Acerca delAdministrador de estados

10 En funcioacuten de su eleccioacuten en el paso 8 lleve a cabo alguna de las siguientes operaciones

bull Si eligioacuteAutomatically copy Amazon EC2 Auto Scaling EnGrupo de Amazon EC2 Auto Scaling elijao introduzca el nombre del grupo Auto Scaling de Amazon EC2 que desea utilizar como plantillapara el grupo Amazon EC2 Auto Scaling creado para las instancias del entorno de reemplazoEl nuacutemero de instancias actualmente en buen estado en el grupo de Amazon EC2 Auto Scalingseleccionado se crea en su entorno de sustitucioacuten

bull Si eligioacuteAprovisionar instancias manualmente SelectGrupos de Auto Scaling de AmazonEC2Intancias de Amazon EC2 Auto Scalingo ambos para especificar instancias que se van aagregar a este grupo de implementacioacuten Introduzca los valores de etiqueta de Auto Scaling deAmazon EC2 o los nombres de grupo de Amazon EC2 Auto Scaling para identificar las instanciasde su entorno original (es decir las instancias que desea sustituir o que ejecutan la revisioacuten de laaplicacioacuten actual)

Versioacuten de API 2014-10-06292

AWS CodeDeploy Guiacutea del usuarioCrear un grupo de implementaciones para una

implementacioacuten EC2On-Premises bluegreen (consola)

11 (Opcional) EnBalanceador de carga seleccioneActivar balanceo de cargay a continuacioacuten elijauna instancia de Classic Load Balancer Application Load Balancer o Network Load Balancer paraadministrar el traacutefico a las instancias durante los procesos de implementacioacuten

El registro de cada instancia se anula desde el balanceador de carga (Classic Load Balancers) ogrupo de destino (Balanceadores de carga de aplicaciones y balanceadores de carga de red) paraevitar que el traacutefico se direccione a ella durante la implementacioacuten La instancia se vuelve a registrarcuando la implementacioacuten se haya completado

Para obtener maacutes informacioacuten sobre los balanceadores de carga de las implementaciones deCodeDeploy consulteIntegrating CodeDeploy with Elastic Load Balancing (p 57)

12 En Deployment settings revise las opciones predeterminadas para redirigir el traacutefico al entorno desustitucioacuten queacute configuracioacuten de implementacioacuten desea utilizar para la implementacioacuten y coacutemo segestionan las instancias en el entorno original despueacutes de la implementacioacuten

Si desea cambiar la configuracioacuten continuacutee con el paso siguiente De lo contrario vaya al paso 1313 Para cambiar la configuracioacuten de la implementacioacuten bluegreen elija cualquiera de los siguientes

ajustes

Opcioacuten Opciones

Traffic rerouting (Nuevo enrutamiento del traacutefico) bull Redirigir el traacutefico de forma inmediata Tanpronto como se aprovisionan las instancias delentorno de sustitucioacuten y se instala en ellas lauacuteltima revisioacuten de la aplicacioacuten se registranautomaacuteticamente en el balanceador de cargalo que hace que el traacutefico se redirija a ellasSe anula el registro de las instancias en elentorno original

bull Voy a elegir si redirigir el traacutefico Las instanciasdel entorno de sustitucioacuten no se registranautomaacuteticamente en el balanceador de cargaa menos que redirija el traacutefico manualmenteSi se agota el tiempo de espera especificadosin que se redirija el traacutefico el estado de laimplementacioacuten cambia a Stopped

Configuracioacuten de implementacioacuten Elija el modo en que las instancias del entornode sustitucioacuten se registran en el balanceador decarga por ejemplo una a una o todas a la vez

Note

Una vez que el traacutefico se dirige alentorno de sustitucioacuten de formasatisfactoria se anula el registro detodas las instancias del entorno originala la vez independientemente de laconfiguracioacuten de implementacioacuten quehaya seleccionado

Para obtener maacutes informacioacuten consulte Usode configuraciones de implementacioacuten enCodeDeploy (p 264)

Original instances (Instancias originales) bull Finalizacioacuten de las instancias originales delgrupo de implementacioacuten Una vez que el

Versioacuten de API 2014-10-06293

AWS CodeDeploy Guiacutea del usuarioCrear un grupo de implementacioacuten para unaimplementacioacuten de Amazon ECS (consola)

Opcioacuten Opcionestraacutefico se redirige al entorno de sustitucioacutenlas instancias cuyo registro se anuloacute en elbalanceador de carga se terminan tras elperiodo de espera especificado

bull Mantener en ejecucioacuten las instanciasoriginales del grupo de implementacioacutenDespueacutes de redirigir el traacutefico al entornode sustitucioacuten las instancias cuyo registrose anuloacute en el balanceador de carga semantienen en ejecucioacuten

14 (Opcional) EnAvanzado configure las opciones que desea incluir en la implementacioacuten por ejemplodisparadores de notificaciones de Amazon SNS alarmas de Amazon CloudWatch o restauracionesautomaacuteticas

Para obtener informacioacuten acerca de coacutemo especificar opciones avanzadas en grupos deimplementaciones consulte Configuracioacuten de las opciones avanzadas de un grupo deimplementaciones (p 303)

15 Elija Create deployment group

Crear un grupo de implementacioacuten para unaimplementacioacuten de Amazon ECS (consola)1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttps

consoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones3 Desde la Applications table (Tabla de aplicaciones) seleccione el nombre de la aplicacioacuten asociada al

grupo de implementaciones que desea editar4 En la paacutegina de aplicacioacuten en Deployment groups (Grupos de implementaciones) seleccione el

nombre del grupo de implementaciones que desea editar5 En la paacutegina de la aplicacioacuten en la pestantildea Deployment groups (Grupos de implementaciones) elija

Create deployment group (Crear grupo de implementacioacuten) Para obtener maacutes informacioacuten sobrelo que necesita para crear un grupo de implementacioacuten para una implementacioacuten de Amazon ECSconsulteAntes de iniciar una implementacioacuten de Amazon ECS (p 19)

6 En Deployment group name (Nombre de grupo de implementaciones) introduzca un nombre quedescriba el grupo de implementaciones

Note

Si desea utilizar la misma configuracioacuten empleada en otro grupo de implementaciones(incluido el nombre del grupo de implementaciones y la configuracioacuten de implementacioacuten)elija esos valores en esta paacutegina Aunque este nuevo grupo y el grupo existente pueden tenerel mismo nombre CodeDeploy los trata como grupos de implementaciones independientesporque cada uno de ellos estaacute asociado a una aplicacioacuten independiente

7 EnRol de servicio elija una rol de servicio que conceda acceso a CodeDeploy a Amazon ECS Paraobtener maacutes informacioacuten consulte Paso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36)

Versioacuten de API 2014-10-06294

AWS CodeDeploy Guiacutea del usuarioConfigurar un equilibrador de carga

en Elastic Load Balancing paraimplementaciones de CodeDeploy Amazon EC2

8 DesdeLoad balancer name (Nombre del balanceador de carga) elija el nombre del balanceador decarga que sirve el traacutefico a su servicio de Amazon ECS

9 DesdePuerto de agente de escucha de produccioacuten elija el puerto y el protocolo del agente de escuchaque sirve el traacutefico de produccioacuten a su servicio ECS de Amazon

10 (Opcional) DesdePuerto de agente de escucha de prueba elija el puerto y el protocolo de un agentede escucha de prueba que sirve el traacutefico a la tarea de sustitucioacuten definida en su servicio ECSde Amazon durante la implementacioacuten Puede especificar una o maacutes funciones de Lambda en elarchivo de AppSpec que se ejecutan durante laAfterAllowTestTrafficgancho Las funcionespueden ejecutar pruebas de validacioacuten Si la prueba de validacioacuten falla se activa una reversioacuten deimplementacioacuten Si se superan las pruebas de validacioacuten se desencadena el siguiente enlace del ciclode vida de la implementacioacuten BeforeAllowTraffic Si no se especifica un puerto de escucha deprueba no ocurre nada durante elAfterAllowTestTrafficgancho Para obtener maacutes informacioacutenconsulte Seccioacuten hooks de AppSpec para una implementacioacuten de Amazon ECS (p 422)

11 En Target group 1 name (Nombre de grupo de destino 1) y Target group 2 name (Nombre de grupode destino 2) elija los grupos de destino utilizados para dirigir el traacutefico durante su implementacioacutenCodeDeploy vincula un grupo de destino al conjunto de tareas original del servicio de Amazon ECSy el otro a su conjunto de tareas de sustitucioacuten Para obtener maacutes informacioacuten consulteGrupos dedestino para los Application Load Balancers

12 ElegirRedirigir el traacutefico de forma inmediataoEspecificar cuaacutendo se va a redirigir el traacuteficoparadeterminar cuaacutendo redirigir el traacutefico al servicio Amazon ECS actualizado

Si eligeRedirigir el traacutefico de forma inmediata la implementacioacuten vuelve a enrutar automaacuteticamente eltraacutefico despueacutes de aprovisionar el conjunto de tareas de reemplazo

Si eligeEspecificar cuaacutendo se va a redirigir el traacuteficoy a continuacioacuten elija el nuacutemero de diacuteashoras y minutos que debe esperar despueacutes de aprovisionar correctamente el conjunto de tareas dereemplazo Durante este tiempo de espera se ejecutan las pruebas de validacioacuten de las funcionesLambda especificadas en el archivo AppSpec Si el tiempo de espera caduca antes de que se vuelva aenrutar el traacutefico el estado de la implementacioacuten cambia aStopped

13 ParaRescisioacuten de revisioacuten original elija el nuacutemero de diacuteas horas y minutos que deben esperardespueacutes de que se haya realizado correctamente la implementacioacuten antes de que finalice el conjuntode tareas original de su servicio Amazon ECS

14 (Opcional) EnAvanzado configure las opciones que desea incluir en la implementacioacuten por ejemplodisparadores de notificaciones de Amazon SNS alarmas de Amazon CloudWatch o restauracionesautomaacuteticas

Para obtener maacutes informacioacuten consulte Configuracioacuten de las opciones avanzadas de un grupo deimplementaciones (p 303)

Configurar un equilibrador de carga en Elastic LoadBalancing para implementaciones de CodeDeployAmazon EC2Para poder ejecutar cualquier implementacioacuten bluegreen o una implementacioacuten in situ para la que deseaespecificar un balanceador de carga opcional en el grupo de implementaciones debe crear un ClassicLoad Balancer Application Load Balancer o Network Load Balancer en Elastic Load Balancing Paralas implementaciones bluegreen debe utilizar dicho balanceador de carga para registrar las instanciasque componen su entorno de sustitucioacuten Opcionalmente las instancias de su entorno original puedenregistrarse en este mismo balanceador de carga

Para configurar el Classic Load Balancer siga las instrucciones enTutorial Creacioacuten de un Classic LoadBalancerenGuiacutea del usuario para Classic Load Balancers Tenga en cuenta lo siguiente

Versioacuten de API 2014-10-06295

AWS CodeDeploy Guiacutea del usuarioConfigurar un equilibrador de cargagrupos de destino y listeners para

implementaciones de CodeDeploy Amazon ECSbull EnPaso 2 Define Load Balancer (Definir balanceador de carga) enCrear LB Inside elija la misma VPC

que seleccionoacute al crear las instanciasbull EnPaso 5 Registrar instancias EC2 con el Load Balancer seleccione las instancias que se encuentren

actualmente en su grupo de implementaciones (implementaciones in situ) o que ha designado que esteacutenen su entorno original (implementaciones bluegreen)

bull EnPaso 7 Crear y verificar su balanceador de carga anote la direccioacuten DNS del balanceador de carga

Por ejemplo si denominoacute su balanceador de carga my-load-balancer su direccioacuten DNS apareceraacuteen un formato como my-load-balancer-1234567890us-east-2elbamazonawscom

Para configurar un Application Load Balancer siga las instrucciones en uno de los siguientes temas

bull Creacioacuten de un Application Load Balancerbull Tutorial Creacioacuten de un Application Load Balancer medianteAWS CLI

Para configurar un Network Load Balancer siga las instrucciones en uno de los siguientes temas

bull Crear un balanceador de carga de redbull Tutorial Creacioacuten de un Network Load Balancer medianteAWS CLI

Para configurar el Classic Load Balancer siga las instrucciones enTutorial Creacioacuten de un Classic LoadBalancer

Configurar un equilibrador de carga grupos de destinoy listeners para implementaciones de CodeDeployAmazon ECSPara poder ejecutar una implementacioacuten con la plataforma informaacutetica Amazon ECS debe crear unApplication Load Balancer o un Network Load Balancer dos grupos de destino y uno o dos agentesde escucha En este tema se muestra coacutemo crear un Application Load Balancer Para obtener maacutesinformacioacuten consulte Antes de iniciar una implementacioacuten de Amazon ECS (p 19)

Uno de los grupos de destino dirige el traacutefico al conjunto de tareas original de la aplicacioacuten de AmazonECS El otro grupo de destino dirige el traacutefico a su conjunto de tareas de sustitucioacuten Durante laimplementacioacuten CodeDeploy crea un conjunto de tareas de sustitucioacuten y redirige el traacutefico desde elconjunto de tareas original al nuevo CodeDeploy determina queacute grupo de destino se utiliza para cadaconjunto de tareas

El balanceador de carga utiliza un agente de escucha para dirigir el traacutefico hacia los grupos de destinoEs obligatorio un agente de escucha de produccioacuten Puede especificar un agente de escucha de pruebaopcional que dirija el traacutefico hacia conjunto de tareas de sustitucioacuten mientras ejecuta las pruebas devalidacioacuten

El balanceador de carga debe utilizar una VPC con dos subredes puacuteblicas en diferentes zonas dedisponibilidad Los siguientes pasos muestran coacutemo confirmar la VPC predeterminada crear un AmazonEC2 Application Load Balancer y a continuacioacuten crear dos grupos de destino para el balanceador decarga Para obtener maacutes informacioacuten consulteGrupos de destino para los balanceadores de carga de red

Verificar la VPC predeterminada las subredes puacuteblicas y el grupode seguridadEn este tema se muestra coacutemo crear un Amazon EC2 Application Load Balancer dos grupos de destinoy dos puertos que se pueden utilizar durante una implementacioacuten de Amazon ECS Uno de los puertos

Versioacuten de API 2014-10-06296

AWS CodeDeploy Guiacutea del usuarioConfigurar un equilibrador de cargagrupos de destino y listeners para

implementaciones de CodeDeploy Amazon ECSes opcional y solo es necesario si dirige el traacutefico a un puerto de prueba para las pruebas de validacioacutendurante la implementacioacuten

1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon VPC en httpsconsoleawsamazoncomvpc

2 Compruebe la VPC predeterminada que se va a utilizar En el panel de navegacioacuten elija Your VPCs(Sus VPC) Fiacutejese en queacute VPC muestra Yes (Siacute) en la columna Default VPC (VPC predeterminada)Esta seraacute su VPC predeterminada Contiene las subredes predeterminadas que utiliza

3 Elija Subnets (Subredes) Anote los ID de subred de dos subredes que muestran Yes (Siacute) en lacolumna Default subnet (Subred predeterminada) Puede utilizar estos ID al crear el balanceador decarga

4 Elija cada subred y a continuacioacuten elija la pestantildea Description (Descripcioacuten) Compruebe que lassubredes que desea utilizar se encuentran en diferentes zonas de disponibilidad

5 Elija las subredes y a continuacioacuten elija la pestantildea Route Table (Tabla de ruteo) Para verificar quecada subred que desea utilizar es una subred puacuteblica confirme que la tabla de enrutamiento incluyeuna fila con un enlace a una gateway de Internet

6 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2

7 En el panel de navegacioacuten elija Security Groups8 Compruebe que el grupo de seguridad que desee utilizar esteacute disponible y anote su ID de grupo (por

ejemplo sg-abcd1234) Puede utilizarlo al crear el balanceador de carga

Crear un Application Load Balancer de Amazon EC2 dos gruposde destino y oyentes (consola)Para utilizar la consola de Amazon EC2 para crear un Application Load Balancer de Amazon EC2

1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2

2 En el panel de navegacioacuten seleccione Load Balancers3 Elija Create Load Balancer (Crear balanceador de carga)4 Elija Application Load Balancer (Balanceador de carga de aplicacioacuten) y a continuacioacuten Create (Crear)5 En Name (Nombre) especifique el nombre del balanceador de carga6 En Scheme (Esquema) elija Internet-facing (Expuesto a Internet)7 En IP address type (Tipo de direccioacuten IP) elija ipv48 Configure un segundo puerto de agente de escucha para el balanceador de carga (opcional) Puede

ejecutar pruebas de validacioacuten de implementacioacuten con el traacutefico de prueba que se ofrece a estepuerto

a En Load Balancer Protocol (Protocolo de balanceador de carga) elija Add listener (Antildeadir agentede escucha)

b En Load Balancer Protocol (Cargar protocolo de balanceador) del segundo agente de escuchaelija HTTP

c En Load Balancer Port (Puerto del balanceador de carga) escriba 80809 En Availability Zones (Zonas de disponibilidad) en VPC elija la VPC predeterminada y a

continuacioacuten seleccione las dos subredes predeterminadas que desea utilizar10 Seleccione Next (Siguiente) Configure Security Settings (Configurar configuracioacuten de seguridad)11 Seleccione Next (Siguiente) Configurar grupos de seguridad12 Elija Select an existing security group (Seleccionar un grupo de seguridad existente) despueacutes el grupo

de seguridad predeterminado y a continuacioacuten anote su ID13 Seleccione Next (Siguiente) Configuracioacuten del enrutamiento

Versioacuten de API 2014-10-06297

AWS CodeDeploy Guiacutea del usuarioConfigurar un equilibrador de cargagrupos de destino y listeners para

implementaciones de CodeDeploy Amazon ECS14 En Target group (Grupo de destino) elija New target group (Nuevo grupo de destino) y configure su

primer grupo de destino

a En Name (Nombre) introduzca un nombre de grupo de destino (por ejemplo target-group-1)b En Target type (Tipo de destino) elija IPc En Protocol (Protocolo) elija HTTP En Port (Puerto) introduzca 80d Seleccione Next (Siguiente) Registrar destinos

15 Seleccione Next (Siguiente) Review (Revisar)y despueacutesCrear

Para crear un segundo grupo de destino para el balanceador de carga

1 Despueacutes de aprovisionar el balanceador de carga abra la consola de Amazon EC2 En el panel denavegacioacuten elija Target Groups

2 Elija Create target group3 En Name (Nombre) introduzca un nombre de grupo de destino (por ejemplo target-group-2)4 En Target type (Tipo de destino) elija IP5 En Protocol (Protocolo) elija HTTP En Port (Puerto) introduzca 806 En VPC elija la VPC predeterminada7 Elija Create (Crear)

Note

Para que la implementacioacuten de Amazon ECS se ejecute debe tener dos grupos de destinocreados para el balanceador de carga Puede utilizar el ARN de uno de los grupos dedestino al crear su servicio de Amazon ECS Para obtener maacutes informacioacuten consultePaso 4Creacioacuten de un servicio de Amazon ECSen laGuiacutea del usuario de Amazon ECS

Crear un Application Load Balancer de Amazon EC2 dos gruposde destino y oyentes (CLI)Para crear un Application Load Balancer medianteAWS CLI

1 Utilice el comando create-load-balancer para crear un balanceador de carga de aplicacionesEspecifique dos subredes que no esteacuten en la misma zona de disponibilidad y un grupo de seguridad

aws elbv2 create-load-balancer --name bluegreen-alb --subnets subnet-abcd1234 subnet-abcd5678 --security-groups sg-abcd1234 --region us-east-1

El resultado contiene el nombre de recurso de Amazon (ARN) del balanceador de carga con elsiguiente formato

arnawselasticloadbalancingregionaws_account_idloadbalancerappbluegreen-albe5ba62739c16e642

2 Usarcreate-target-grouppara crear su primer grupo de destino CodeDeploy dirige el traacutefico de estegrupo de destino al conjunto de tareas original o de sustitucioacuten del servicio

aws elbv2 create-target-group --name bluegreentarget1 --protocol HTTP --port 80 --target-type ip --vpc-id vpc-abcd1234 --region us-east-1

El resultado contiene el ARN del primer grupo de destino con el siguiente formatoVersioacuten de API 2014-10-06

298

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de un grupo de implementaciones (CLI)

arnawselasticloadbalancingregionaws_account_idtargetgroupbluegreentarget1209a844cd01825a4

3 Usarcreate-target-grouppara crear el segundo grupo objetivo CodeDeploy dirige el traacutefico del grupode destino al conjunto de tareas que no sirve su primer grupo de destino Por ejemplo si su primergrupo de destino dirige el traacutefico al conjunto de tareas original este grupo de destino dirige el traacutefico alconjunto de tareas de sustitucioacuten

aws elbv2 create-target-group --name bluegreentarget2 --protocol HTTP --port 80 --target-type ip --vpc-id vpc-abcd1234 --region us-east-1

El resultado contiene el ARN del segundo grupo de destino con el siguiente formato

arnawselasticloadbalancingregionaws_account_idtargetgroupbluegreentarget2209a844cd01825a4

4 Utilice el comando create-listener para crear un agente de escucha con una regla predeterminada quereenviacutee el traacutefico de produccioacuten al puerto 80

aws elbv2 create-listener --load-balancer-arn arnawselasticloadbalancingregionaws_account_idloadbalancerappbluegreen-albe5ba62739c16e642 --protocol HTTP --port 80 --default-actions Type=forwardTargetGroupArn=arnawselasticloadbalancingregionaws_account_idtargetgroupbluegreentarget1209a844cd01825a4 --region us-east-1

El resultado incluye el ARN del agente de escucha con el siguiente formato

arnawselasticloadbalancingregionaws_account_idlistenerappbluegreen-albe5ba62739c16e642665750bec1b03bd4

5 Utilice el comando create-listener para crear un segundo agente de escucha con una reglapredeterminada que reenviacutee el traacutefico de prueba al puerto 8080 (opcional) Puede ejecutar pruebas devalidacioacuten de implementacioacuten con el traacutefico de prueba que se ofrece a este puerto

aws elbv2 create-listener --load-balancer-arn arnawselasticloadbalancingregionaws_account_idloadbalancerappbluegreen-albe5ba62739c16e642 --protocol HTTP --port 8080 --default-actions Type=forwardTargetGroupArn=arnawselasticloadbalancingregionaws_account_idtargetgroupbluegreentarget2209a844cd01825a4 --region us-east-1

El resultado incluye el ARN del agente de escucha con el siguiente formato

arnawselasticloadbalancingregionaws_account_idlistenerappbluegreen-albe5ba62739c16e642665750bec1b03bd4

Creacioacuten de un grupo de implementaciones (CLI)Para utilizar elAWS CLIpara crear un grupo de implementaciones de realice una llamada alcreate-deployment-groupcomando especificando

Versioacuten de API 2014-10-06299

AWS CodeDeploy Guiacutea del usuarioVer detalles del grupo de implementacioacuten

bull El nombre de la aplicacioacuten Para ver una lista de nombres de aplicaciones realice una llamadaalaplicaciones de listacomando

bull Un nombre para el grupo de implementaciones Se crearaacute un grupo de implementaciones con estenombre para la aplicacioacuten especificada Un grupo de implementacioacuten solo se puede asociar a unaaplicacioacuten

bull Informacioacuten sobre las etiquetas grupos de etiquetas o nombres de grupo de Amazon EC2 Auto Scalingque identifican las instancias que se deben incluir en el grupo de implementaciones

bull El identificador del nombre de recurso de Amazon (ARN) del rol de servicio que permite a CodeDeployactuar en nombre de suAWScuenta al interactuar con otrosAWSServicios de Para obtener el ARN delrol de servicio consulte Obtenga el ARN del rol de servicio (CLI) (p 41) Para obtener maacutes informacioacutenacerca de los roles de servicio consulteTeacuterminos y conceptos de rolesenIAM User Guide

bull Informacioacuten sobre el tipo de implementacioacuten ya sea una implementacioacuten in situ o bluegreen que sedesea asociar al grupo de implementaciones

bull (Opcional) El nombre de una configuracioacuten de implementacioacuten existente Para ver una lista deconfiguraciones de implementacioacuten consulte View Deployment Configuration Details (p 270) Si no seespecifica CodeDeploy utiliza una configuracioacuten de implementacioacuten predeterminada

bull (Opcional) Comandos para crear un disparador que inserta notificaciones sobre eventos deimplementaciones e instancias a los que estaacuten suscritos a un tema de Amazon Simple NotificationService Para obtener maacutes informacioacuten consulte Monitoring Deployments with Amazon SNS EventNotifications (p 365)

bull (Opcional) Comandos para antildeadir alarmas de CloudWatch existentes al grupo de implementaciones quese activan si una meacutetrica especificada en una alarma no alcanza o supera el umbral definido

bull (Opcional) Comandos de una implementacioacuten para recuperar la uacuteltima revisioacuten correcta conocidacuando falla una implementacioacuten o se activa una alarma de CloudWatch

bull Para las implementaciones in situbull (Opcional) El nombre del Classic Load Balancer o Application Load Balancer en Elastic Load

Balancing que gestiona el traacutefico a las instancias durante los procesos de implementacioacutenbull Para las implementaciones bluegreen

bull Configuracioacuten del proceso de implementacioacuten bluegreenbull Coacutemo se aprovisionan las nuevas instancias en el entorno de sustitucioacutenbull Si se redirige el traacutefico hacia el entorno de sustitucioacuten de inmediato o se espera un periacuteodo de

tiempo especificado para redirigir el traacutefico manualmentebull Si se deben terminar las instancias del entorno original

bull El nombre del Classic Load Balancer o Application Load Balancer en Elastic Load Balancing que sedebe utilizar para las instancias registradas en el entorno de sustitucioacuten

Ver detalles del grupo de implementacioacuten conCodeDeploy

Puede utilizar la consola de CodeDeployAWS CLIo las API de CodeDeploy para ver informacioacuten detalladasobre todos los grupos de implementaciones asociados a una aplicacioacuten

Temasbull Ver detalles del grupo de implementaciones (consola) (p 300)bull Ver detalles del grupo de implementaciones (CLI) (p 301)

Ver detalles del grupo de implementaciones (consola)Para utilizar la consola de CodeDeploy para ver los detalles del grupo de implementaciones

Versioacuten de API 2014-10-06300

AWS CodeDeploy Guiacutea del usuarioVer detalles del grupo de implementaciones (CLI)

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacuten aCodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones3 En la paacutegina Applications elija el nombre de aplicacioacuten asociado con el grupo de implementaciones

Note

Si no se muestran entradas aseguacuterese de seleccionar la regioacuten correcta En la barra denavegacioacuten en el selector de regiones elija una de las regiones enumeradas enPuntos deenlace de la regioacuten yen laAWSReferencia general de CodeDeploy solo es compatible conestas regiones

4 Para ver los detalles de un solo grupo de implementaciones en la pestantildea Deployment groups (Grupode implementaciones) elija el nombre del grupo de implementaciones

Ver detalles del grupo de implementaciones (CLI)Para utilizar la AWS CLI para ver los detalles del grupo de implementaciones ejecute el comando get-deployment-group o al comando list-deployment-groups

Para ver los detalles sobre un uacutenico grupo de implementaciones llame alget-deployment-groupcomandoespecificando

bull El nombre de la aplicacioacuten asociada con el grupo de implementaciones Para obtener el nombre de laaplicacioacuten llame alAplicaciones de listacomando

bull El nombre del grupo de implementaciones Para obtener el nombre del grupo de implementacionesllame algrupos de despliegue de listascomando

Para ver una lista de los nombres de los grupos de implementaciones llame algrupos de despliegue delistas especificando el nombre de aplicacioacuten asociado a los grupos de implementaciones Para obtener elnombre de la aplicacioacuten ejecute elAplicaciones de listacomando

Cambiar la configuracioacuten del grupo deimplementacioacuten con CodeDeploy

Puede utilizar la consola de CodeDeployAWS CLIo las API de CodeDeploy para cambiar la configuracioacutende un grupo de implementaciones

Warning

No utilice estos pasos si desea que el grupo de implementaciones utilice un grupo deimplementaciones personalizado que todaviacutea no se ha creado En lugar de ello siga lasinstrucciones en Create a Deployment Configuration (p 269) y a continuacioacuten vuelva a estetema No utilice estos pasos si desea que el grupo de implementaciones utilice un rol de serviciodiferente que todaviacutea no se ha creado El rol de servicio de confiar en CodeDeploy comomiacutenimo con los permisos que se describen enPaso 2 Creacioacuten de un rol de servicio paraCodeDeploy (p 36) Para crear y configurar un rol de servicio con los permisos correctos siga lasinstrucciones de Paso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36) y a continuacioacutenvuelva a este tema

Versioacuten de API 2014-10-06301

AWS CodeDeploy Guiacutea del usuarioCambiar la configuracioacuten del grupo

de implementaciones (consola)

Temasbull Cambiar la configuracioacuten del grupo de implementaciones (consola) (p 302)bull Cambiar la configuracioacuten del grupo de implementacioacuten (CLI) (p 302)

Cambiar la configuracioacuten del grupo deimplementaciones (consola)Para utilizar la consola de CodeDeploy para cambiar la configuracioacuten del grupo de implementaciones

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacuten aCodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones3 En la lista de aplicaciones elija el nombre de la aplicacioacuten que estaacute asociada al grupo de

implementaciones que desea cambiar

Note

Si no se muestran entradas aseguacuterese de que se ha seleccionado la regioacuten correcta Enla barra de navegacioacuten en el selector de regiones elija una de las regiones enumeradasenRegiones y puntos de enlace deen laAWSReferencia general de CodeDeploy solo escompatible con estas regiones

4 Elija la pestantildea Deployment groups (Grupos de implementaciones) y a continuacioacuten elija el nombre delgrupo de implementaciones que desea modificar

5 En la paacutegina Depoyment group (Grupo de implementaciones) elija Edit (Editar)6 Edite las opciones del grupo de implementaciones seguacuten sea necesario

Para obtener maacutes informacioacuten sobre los componentes del grupo de implementaciones consulteCreacioacuten de un grupo de implementaciones con CodeDeploy (p 288)

7 Elija Save changes (Guardar cambios)

Cambiar la configuracioacuten del grupo de implementacioacuten(CLI)Para utilizar elAWS CLIPara cambiar la configuracioacuten del grupo de implementaciones llame algrupo deimplementacioacuten-actualizacioacutencomando especificando

bull Para EC2On-Premises yAWSImplementaciones de Lambdabull El nombre de la aplicacioacuten Para ver una lista de nombres de aplicaciones llame alaplicaciones de

listacomandobull El nombre actual del grupo de implementaciones Para ver una lista de nombres de grupos de

implementaciones llame algrupos de despliegue de listascomandobull (Opcional) Un nombre diferente para el grupo de implementacionesbull (Opcional) Un Nombre de recurso de Amazon (ARN) que corresponde a un rol de servicio que permite

a CodeDeploy actuar sobre suAWSnombre de la cuenta al interactuar con otrosAWSServicios de Para obtener el ARN del rol de servicio consulte Obtenga el ARN del rol de servicio (CLI) (p 41)

Versioacuten de API 2014-10-06302

AWS CodeDeploy Guiacutea del usuarioConfiguracioacuten de las opciones avanzadas

de un grupo de implementaciones

Para obtener maacutes informacioacuten acerca de los roles de servicio consulteTeacuterminos y conceptos derolesenIAM User Guide

bull (Opcional) El nombre de la configuracioacuten de implementacioacuten Para ver una lista de configuracionesde implementacioacuten consulte View Deployment Configuration Details (p 270) (Si no se especificaCodeDeploy utiliza una configuracioacuten de implementacioacuten predeterminada)

bull (Opcional) Comandos para antildeadir una o varias alarmas de CloudWatch existentes al grupo deimplementaciones que se activan si un meacutetrica especificada en una alarma no alcanza o supera elumbral definido

bull (Opcional) Comandos de una implementacioacuten para recuperar la uacuteltima revisioacuten correcta conocidacuando falla una implementacioacuten o se activa una alarma de CloudWatch

bull (Opcional) Comandos para crear o actualizar un disparador que publica en un tema en AmazonSimple Notification Service para que los suscriptores de ese tema reciban notificaciones sobreeventos de implementaciones e instancias en este grupo de implementaciones Para obtenerinformacioacuten consulte Monitoring Deployments with Amazon SNS Event Notifications (p 365)

bull Solo para las implementaciones EC2On-premisesbull (Opcional) Etiquetas o grupos de etiquetas de sustitucioacuten que identifican de forma exclusiva las

instancias que se deben incluir en el grupo de implementacionesbull (Opcional) Los nombres de los grupos de sustitucioacuten de Amazon EC2 Auto Scaling que se van a

antildeadir al grupo de implementacionesbull Solo para las implementaciones de Amazon ECS

bull El servicio Amazon ECS que se va a implementarbull Informacioacuten del balanceador de carga incluido el Application Load Balancer o el Network Load

Balancer los grupos de destino requeridos para una implementacioacuten de Amazon ECS e informacioacutendel agente de escucha de prueba opcional

Configuracioacuten de las opciones avanzadas de ungrupo de implementaciones

Al crear o actualizar un grupo de implementaciones puede configurar una serie de opciones paraproporcionar mayor control y supervisioacuten de las implementaciones de dicho grupo de implementaciones

Utilice la informacioacuten de esta paacutegina para ayudarle a configurar las opciones avanzadas cuando trabajecon grupos de implementaciones en los siguientes temas

bull Crear una aplicacioacuten con CodeDeploy (p 273)bull Creacioacuten de un grupo de implementaciones con CodeDeploy (p 288)bull Cambiar la configuracioacuten del grupo de implementacioacuten con CodeDeploy (p 301)

Disparadores de notificaciones de Amazon SNS Puede antildeadir desencadenadores a un grupo deimplementaciones de CodeDeploy para recibir notificaciones sobre eventos relacionados con lasimplementaciones de dicho grupo de implementaciones Estas notificaciones se enviacutean a los destinatariosque estaacuten suscritos a un tema de Amazon SNS que forma parte de la accioacuten del disparador

Ya debe haber configurado el tema de Amazon SNS al que sentildealaraacute este disparador y CodeDeploy debetener permiso para publicar en el tema desde este grupo de implementaciones Si auacuten no ha completadoestos pasos de configuracioacuten puede antildeadir disparadores al grupo de implementaciones maacutes adelante

Si desea crear un disparador ahora para recibir notificaciones sobre los eventos de implementacioacuten delgrupo de implementaciones de esta aplicacioacuten elija Create trigger

Si la implementacioacuten es para una instancia de Amazon EC2 puede crear y recibir notificaciones sobre lasinstancias

Versioacuten de API 2014-10-06303

AWS CodeDeploy Guiacutea del usuarioConfiguracioacuten de las opciones avanzadas

de un grupo de implementaciones

Para obtener maacutes informacioacuten consulte Monitoring Deployments with Amazon SNS EventNotifications (p 365)

Alarmas de Amazon CloudWatch Puede crear una alarma de CloudWatch que vigile una sola meacutetricadurante el periodo especificado y realice una o varias acciones en funcioacuten del valor de la meacutetrica conrespecto a un determinado umbral durante varios periodos de tiempo En una implementacioacuten de AmazonEC2 puede crear una alarma para la instancia o el grupo de Auto Scaling de Amazon EC2 que esteacuteutilizando en las operaciones de CodeDeploy Para unAWSLambda y una implementacioacuten de AmazonECS puede crear una alarma para los errores de una funcioacuten de Lambda

Puede configurar que una implementacioacuten se detenga cuando una alarma de Amazon CloudWatch detecteque una meacutetrica no alcanza o supera un umbral definido

Ya debe haber creado la alarma en CloudWatch para poder antildeadirla a un grupo de implementaciones

1 Para antildeadir la monitorizacioacuten de alarmas al grupo de implementaciones en Alarms (Alarmas) elija Addalarm (Antildeadir alarma)

2 Introduzca el nombre de una alarma de CloudWatch que ya haya configurado para monitorizar estaimplementacioacuten

Debe escribir la alarma de CloudWatch exactamente como se creoacute en CloudWatch Para ver una listade alarmas abra la consola de CloudWatch enhttpsconsoleawsamazoncomcloudwatchy luegoseleccioneALARMA

Additional options

bull Si quiere que las implementaciones procedan sin tener en cuenta las alarmas de cuenta que hayaantildeadido elija Ignore alarm configuration

Esta opcioacuten resulta uacutetil si desea desactivar temporalmente la monitorizacioacuten de alarmas de un grupo deimplementaciones sin tener que antildeadir las mismas alarmas de nuevo maacutes tarde

bull (Opcional) Si desea que las implementaciones continuacuteen en caso de que CodeDeploy no puedarecuperar el estado de alarma de Amazon CloudWatch elijaContinuar las implementaciones incluso si elestado de la alarma no estaacute disponible

Note

Esta opcioacuten corresponde aignorePollAlarmFailureen laAlarmConfigurationobjeto de la API deCodeDeploy

Para obtener maacutes informacioacuten consulte Supervisioacuten de implementaciones con alarmas de CloudWatch enCodeDeploy (p 360)

User rollbacks Puede configurar una implementacioacuten o un grupo de implementaciones para que serestauren automaacuteticamente si falla una implementacioacuten o si se supera un umbral de monitorizacioacuten quehaya especificado En este caso se implementa la uacuteltima versioacuten correcta conocida de una revisioacuten dela aplicacioacuten Puede configurar ajustes opcionales para un grupo de implementaciones cuando utilice laconsola para crear una aplicacioacuten y crear o actualizar un grupo de implementaciones Al crear una nuevaimplementacioacuten tambieacuten puede optar por anular la configuracioacuten de restauracioacuten automaacutetica especificadapara el grupo de implementaciones

bull Puede habilitar la restauracioacuten de las implementaciones a la versioacuten correcta conocida maacutes reciente siocurre alguacuten problema eligiendo una o ambas de las opciones siguientes

bull Roll back when a deployment fails CodeDeploy redistribuye la uacuteltima revisioacuten correcta conocidacomo una nueva implementacioacuten

Versioacuten de API 2014-10-06304

AWS CodeDeploy Guiacutea del usuarioEliminar un grupo de implementaciones

bull Roll back when alarm thresholds are met (Restaurar cuando se alcancen los umbrales de alarma)Si antildeadioacute una alarma a esta aplicacioacuten en el paso anterior CodeDeploy redistribuye la uacuteltimarevisioacuten correcta conocida cuando se active una o varias de las alarmas especificadas

Note

Para no tener en cuenta temporalmente una configuracioacuten de restauracioacuten elija Disablerollbacks Esta opcioacuten resulta uacutetil si desea deshabilitar temporalmente las restauracionesautomaacuteticas sin tener que configurar la misma configuracioacuten de nuevo maacutes tarde

Para obtener maacutes informacioacuten consulte Redesplegar y deshacer una implementacioacuten conCodeDeploy (p 345)

Actualizaciones automaacuteticas de instancias obsoletas En determinadas circunstancias CodeDeploy puedeimplementar una revisioacuten obsoleta de la aplicacioacuten en las instancias de Amazon EC2 Por ejemplo sisus instancias EC2 se lanzan en un grupo de Auto Scaling (ASG) mientras se estaacute llevando a cabo unaimplementacioacuten de CodeDeploy esas instancias reciben la revisioacuten anterior de la aplicacioacuten en lugar dela uacuteltima Para actualizar esas instancias CodeDeploy inicia automaacuteticamente una implementacioacuten deseguimiento (inmediatamente despueacutes de la primera) para actualizar cualquier instancia obsoleta Si deseacambiar este comportamiento predeterminado para que las instancias EC2 desactualizadas queden en larevisioacuten anterior puede hacerlo a traveacutes de la API de CodeDeploy o laAWS Command Line Interface(CLI)

Para configurar actualizaciones automaacuteticas de instancias obsoletas a traveacutesde la API incluya eloutdatedInstancesStrategyparaacutemetro request enelUpdateDeploymentGroupoCreateDeploymentGroupaction Para obtener maacutes informacioacuten consultelaAWS CodeDeployReferencia de la API

Para configurar las actualizaciones automaacuteticas a traveacutes delAWS CLI utilice uno de los siguientescomandos

aws deploy update-deployment-group arguments --outdated-instances-strategyUPDATE|IGNORE

O

aws deploy create-deployment-group arguments --outdated-instances-strategyUPDATE|IGNORE

dondeargumentsse sustituye por los argumentos necesarios para la implementacioacuten yACTUALIZAR|IGNOREse sustituye porUPDATEpara habilitar actualizaciones automaacuteticas oIGNOREpara deshabilitarlas

Ejemplo

aws deploy update-deployment-group --application-name MyApp --current-deployment-group-name MyDG --region us-east-1 --outdated-instances-strategyIGNORE

Para obtener maacutes informacioacuten sobre estosAWS CLIconsulte laAWS CLIReferencia de los comandos

Eliminar un grupo de implementacioacuten conCodeDeploy

Puede utilizar la consola de CodeDeploy laAWS CLIo las API de CodeDeploy para eliminar grupos deimplementaciones asociados a suAWSaccount

Versioacuten de API 2014-10-06305

AWS CodeDeploy Guiacutea del usuarioEliminacioacuten de un grupo de implementaciones (consola)

Warning

Si elimina un grupo de implementaciones todos los detalles asociados a ese grupo tambieacutense eliminaraacuten de CodeDeploy Las instancias utilizadas en el grupo de implementaciones nocambiaraacuten Esta accioacuten no se puede deshacer

Temasbull Eliminacioacuten de un grupo de implementaciones (consola) (p 306)bull Eliminacioacuten de un grupo de implementaciones (CLI) (p 306)

Eliminacioacuten de un grupo de implementaciones(consola)Para utilizar la consola de CodeDeploy para eliminar un grupo de implementaciones

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacuten aCodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones3 En la lista de aplicaciones seleccione el nombre de la aplicacioacuten asociada al grupo de

implementaciones4 En la paacutegina Application details (Detalles de la aplicacioacuten) en la pestantildea Deployment groups (Grupos de

implementaciones) elija el nombre del grupo de implementaciones que desea eliminar5 En la paacutegina Deployment details (Detalles de la implementacioacuten) elija Delete (Eliminar)6 Cuando se le solicite escriba el nombre del grupo de implementaciones que desea eliminar y a

continuacioacuten seleccione Delete

Eliminacioacuten de un grupo de implementaciones (CLI)Para utilizar elAWS CLIPara eliminar un grupo de implementaciones llame aldelete-deployment-groupcomando especificando

bull El nombre de la aplicacioacuten asociada al grupo de implementaciones Para ver una lista de nombres deaplicaciones llame alaplicaciones de listacomando

bull El nombre del grupo de implementaciones asociado a la aplicacioacuten Para ver una lista de nombres degrupos de implementaciones llame algrupos de despliegue de listascomando

Versioacuten de API 2014-10-06306

AWS CodeDeploy Guiacutea del usuarioPlanear una revisioacuten

Uso de revisiones de aplicaciones deCodeDeploy

En CodeDeploy una revisioacuten contiene una versioacuten de los archivos fuente que CodeDeploy implementaraacuteen las instancias o scripts que CodeDeploy ejecutaraacute en las instancias

Tienes que planificar la revisioacuten agregarle un archivo AppSpec a la revisioacuten y a continuacioacuten enviarla aAmazon S3 o GitHub Una vez enviada la revisioacuten puede implementarla

Temasbull Planear una revisioacuten para CodeDeploy (p 307)bull Agregar un archivo de especificacioacuten de aplicacioacuten a una revisioacuten de CodeDeploy (p 308)bull Elija un tipo de repositorio de CodeDeploy (p 314)bull Enviar una revisioacuten de CodeDeploy en Amazon S3 (solo implementaciones de EC2locales) (p 316)bull Ver detalles de una revisioacuten de aplicacioacuten con CodeDeploy (p 319)bull Registrar una revisioacuten de aplicacioacuten en Amazon S3 con CodeDeploy (p 320)

Planear una revisioacuten para CodeDeployCon unos buenos planes es mucho maacutes faacutecil implementar las revisiones

Para las implementaciones en unaAWSLambda o una plataforma informaacutetica de Amazon ECS unarevisioacuten es la misma que el archivo AppSpec La siguiente informacioacuten no es aplicable Para obtenermaacutes informacioacuten consulteAgregar un archivo de especificacioacuten de aplicacioacuten a una revisioacuten deCodeDeploy (p 308)

Para las implementaciones en una plataforma informaacutetica EC2local comience por crear un directorioraiacutez vaciacuteo en la maacutequina de desarrollo Ahiacute es donde almacenaraacute los archivos de coacutedigo fuente (comolos archivos de texto y binarios los ejecutables los paquetes etc) que se van a implementan en lasinstancias o los scripts que se van a ejecutar en las instancias

Por ejemplo en latmpcarpeta raiacutez en Linux macOS o Unix o lactempcarpeta raiacutez en Windows

tmp or ctemp (root folder) |--content (subfolder) | |--myTextFiletxt | |--mySourceFilerb | |--myExecutableFileexe | |--myInstallerFilemsi | |--myPackagerpm | |--myImageFilepng |--scripts (subfolder) | |--myShellScriptsh | |--myBatchScriptbat | |--myPowerShellScriptps1 |--appspecyml

La carpeta raiacutez tambieacuten debe incluir un archivo de especificacioacuten de la aplicacioacuten (archivo AppSpec) tal ycomo se muestra aquiacute Para obtener maacutes informacioacuten consulte Agregar un archivo de especificacioacuten deaplicacioacuten a una revisioacuten de CodeDeploy (p 308)

Versioacuten de API 2014-10-06307

AWS CodeDeploy Guiacutea del usuarioAdicioacuten de un archivo AppSpec

Agregar un archivo de especificacioacuten de aplicacioacutena una revisioacuten de CodeDeploy

En este tema se muestra coacutemo antildeadir un archivo AppSpec a la implementacioacuten Tambieacuten incluye plantillasque permiten crear un archivo AppSpec para unaAWSImplementacioacuten de Lambda y EC2On-Premises

Temasbull Adicioacuten de un archivo AppSpec para una implementacioacuten de Amazon ECS (p 308)bull Adicioacuten de un archivo AppSpec para unAWSImplementacioacuten de Lambda (p 310)bull Adicioacuten de un archivo AppSpec para una implementacioacuten de EC2On-Premises (p 312)

Adicioacuten de un archivo AppSpec para unaimplementacioacuten de Amazon ECSPara una implementacioacuten en una plataforma informaacutetica de Amazon ECS

bull El archivo AppSpec especifica la definicioacuten de tareas de Amazon ECS utilizada para la implementacioacutenun nombre de contenedor y el mapeo de puertos utilizado para dirigir el traacutefico y funciones Lambdaopcionales ejecutadas despueacutes de los eventos de ciclo de vida de implementacioacuten

bull Una revisioacuten es lo mismo que un archivo AppSpecbull Se puede escribir un archivo AppSpec utilizando JSON o YAMLbull Un archivo AppSpec se puede guardar como un archivo de texto o introducir directamente en

una consola al crear una implementacioacuten Para obtener maacutes informacioacuten consulte Crear unaimplementacioacuten de Amazon ECS (consola) (p 327)

Para crear un archivo AppSpec

1 Copie la plantilla JSON o YAML en un editor de texto o en el editor de AppSpec en la consola2 Modifique la plantilla como sea necesario3 Utilice un validador de JSON o YAML para validar el archivo AppSpec Si utiliza el editor de AppSpec

el archivo se valida al elegir Create deployment (Crear implementacioacuten)4 Si utiliza un editor de texto guarde el archivo Si utiliza elAWS CLIPara crear la implementacioacuten utilice

una referencia al archivo AppSpec si estaacute en el disco duro o en un bucket de Amazon S3 Si utiliza laconsola debe enviar el archivo AppSpec en Amazon S3

Plantilla de archivo de AppSpec de YAML para unaimplementacioacuten de Amazon ECS con instruccionesA continuacioacuten se muestra una plantilla YAML de un archivo AppSpec para una implementacioacuten deAmazon ECS con todas las opciones disponibles Para obtener maacutes informacioacuten acerca de los eventos delciclo de vida que se deben utilizar en la seccioacuten hooks consulte Seccioacuten hooks de AppSpec para unaimplementacioacuten de Amazon ECS (p 422)

This is an appspecyml template file for use with an Amazon ECS deployment in CodeDeploy The lines in this template that start with the hashtag are comments that can be safely left in the file or ignored

Versioacuten de API 2014-10-06308

AWS CodeDeploy Guiacutea del usuarioAdicioacuten de un archivo AppSpec para

una implementacioacuten de Amazon ECS

For help completing this file see the AppSpec File Reference in the CodeDeploy User Guide at httpsdocsawsamazoncomcodedeploylatestuserguideapp-spec-refhtmlversion 00 In the Resources section you must specify the following the Amazon ECS service task definition name and the name and port of the your load balancer to route traffic target version and (optional) the current version of your AWS Lambda function Resources - TargetService Type AWSECSService Properties TaskDefinition Specify the ARN of your task definition (arnawsecsregionaccount-idtask-definitiontask-definition-family-nametask-definition-revision-number) LoadBalancerInfo ContainerName Specify the name of your Amazon ECS applications container ContainerPort Specify the port for your container where traffic reroutes Optional properties PlatformVersion Specify the version of your Amazon ECS Service NetworkConfiguration AwsvpcConfiguration Subnets [] Specify one or more comma-separated subnets in your Amazon ECS service SecurityGroups [] Specify one or more comma-separated security groups in your Amazon ECS service AssignPublicIp Specify ENABLED or DISABLED (Optional) In the Hooks section specify a validation Lambda function to run during a lifecycle event Hooks Hooks for Amazon ECS deployments are - BeforeInstall Specify a Lambda function name or ARN - AfterInstall Specify a Lambda function name or ARN - AfterAllowTestTraffic Specify a Lambda function name or ARN - BeforeAllowTraffic Specify a Lambda function name or ARN - AfterAllowTraffic Specify a Lambda function name or ARN

Plantilla JSON del archivo AppSpec para una implementacioacuten deAmazon ECSA continuacioacuten se muestra una plantilla JSON de un archivo AppSpec para una implementacioacuten deAmazon ECS con todas las opciones disponibles Para ver las instrucciones de plantilla consulte loscomentarios de la versioacuten YAML en la seccioacuten anterior Para obtener maacutes informacioacuten acerca de loseventos del ciclo de vida que se deben utilizar en la seccioacuten hooks consulte Seccioacuten hooks de AppSpecpara una implementacioacuten de Amazon ECS (p 422)

version 00 Resources [ TargetService Type AWSECSService Properties TaskDefinition LoadBalancerInfo ContainerName ContainerPort PlatformVersion NetworkConfiguration AwsvpcConfiguration Subnets [

Versioacuten de API 2014-10-06309

AWS CodeDeploy Guiacutea del usuarioAdicioacuten de un archivo AppSpec paraunAWSImplementacioacuten de Lambda

] SecurityGroups [ ] AssignPublicIp ] Hooks [ BeforeInstall AfterInstall AfterAllowTestTraffic BeforeAllowTraffic AfterAllowTraffic ]

Adicioacuten de un archivo AppSpec paraunAWSImplementacioacuten de LambdaPara una implementacioacuten en unaAWSPlataforma de computacioacuten Lambda

bull El archivo AppSpec contiene instrucciones acerca de coacutemo se deben implementar y utilizar las funcionesde Lambda para la validacioacuten de la implementacioacuten

bull Una revisioacuten es lo mismo que un archivo AppSpecbull Se puede escribir un archivo AppSpec utilizando JSON o YAMLbull Un archivo AppSpec se puede guardar como un archivo de texto o introducir directamente en un

editor de AppSpec de la consola al crear una implementacioacuten Para obtener maacutes informacioacuten consulteCreacioacuten de unAWSImplementacioacuten de Lambda Compute Platform (consola) (p 328)

Para crear un archivo AppSpec

1 Copie la plantilla JSON o YAML en un editor de texto o en el editor de AppSpec en la consola2 Modifique la plantilla como sea necesario3 Utilice un validador de JSON o YAML para validar el archivo AppSpec Si utiliza el editor de AppSpec

el archivo se valida al elegir Create deployment (Crear implementacioacuten)4 Si utiliza un editor de texto guarde el archivo Si utiliza elAWS CLIPara crear la implementacioacuten utilice

una referencia al archivo AppSpec si estaacute en el disco duro o en un bucket de Amazon S3 Si utiliza laconsola debe enviar el archivo AppSpec en Amazon S3

Versioacuten de API 2014-10-06310

AWS CodeDeploy Guiacutea del usuarioAdicioacuten de un archivo AppSpec paraunAWSImplementacioacuten de Lambda

Plantilla de archivo YAML AppSpec para unAWSLambdadespliegue con instruccionesPara obtener maacutes informacioacuten acerca de los eventos del ciclo de vida que se deben utilizar en la seccioacutenhooks consulte Seccioacuten hooks de AppSpec para unAWSImplementacioacuten de Lambda (p 426)

This is an appspecyml template file for use with an AWS Lambda deployment in CodeDeploy The lines in this template starting with the hashtag symbol are instructional comments and can be safely left in the file or ignored For help completing this file see the AppSpec File Reference in the CodeDeploy User Guide at httpsdocsawsamazoncomcodedeploylatestuserguideapp-spec-refhtmlversion 00 In the Resources section specify the name alias target version and (optional) the current version of your AWS Lambda function Resources - MyFunction Replace MyFunction with the name of your Lambda function Type AWSLambdaFunction Properties Name Specify the name of your Lambda function Alias Specify the alias for your Lambda function CurrentVersion Specify the current version of your Lambda function TargetVersion Specify the version of your Lambda function to deploy (Optional) In the Hooks section specify a validation Lambda function to run during a lifecycle event Replace LifeCycleEvent with BeforeAllowTraffic or AfterAllowTraffic Hooks - LifeCycleEvent Specify a Lambda validation function between double-quotes

Archivo JSON AppSpec para unAWS Lambdaplantilla dedespliegueEn la siguiente plantilla sustituya ldquoMyFunctionrdquo por el nombre de la funcioacuten de AWS Lambda En la seccioacutenHooks opcional sustituya los eventos del ciclo de vida por BeforeAllowTraffic o AfterAllowTraffic

Para obtener maacutes informacioacuten acerca de los eventos del ciclo de vida que se deben utilizar en la seccioacutenHooks consulte Seccioacuten hooks de AppSpec para unAWSImplementacioacuten de Lambda (p 426)

version 00 Resources [ MyFunction Type AWSLambdaFunction Properties Name Alias CurrentVersion TargetVersion ] Hooks [ LifeCycleEvent ]

Versioacuten de API 2014-10-06311

AWS CodeDeploy Guiacutea del usuarioAdicioacuten de un archivo AppSpec para una

implementacioacuten de EC2On-Premises

Adicioacuten de un archivo AppSpec para unaimplementacioacuten de EC2On-PremisesSin un archivo AppSpec CodeDeploy no puede asignar un destino a los archivos de origen de la revisioacutende la aplicacioacuten ni ejecutar scripts para la implementacioacuten en una plataforma de computacioacuten EC2On-Premises

Cada revisioacuten debe contener un uacutenico archivo AppSpec

Para antildeadir un archivo AppSpec a una revisioacuten

1 Copie la plantilla en un editor de texto2 Modifique la plantilla como sea necesario3 Utilice un validador YAML para comprobar la validez del archivo AppSpec4 Guarde el archivo como appspecyml en el directorio raiacutez de la revisioacuten5 Ejecute uno de los comandos siguientes para comprobar que ha situado el archivo AppSpec en el

directorio raiacutez

bull Para Linux macOS o Unix

find pathtorootdirectory -name appspecyml

Si se encuentra el archivo AppSpec no devuelve ninguna salidabull Para Windows

dir pathtorootdirectoryappspecyml

UNAArchivo no encontradoSi el archivo AppSpec no se encuentra apareceraacute el error6 Almacene la revisioacuten en Amazon S3 o GitHub

Para obtener instrucciones consulte Enviar una revisioacuten de CodeDeploy en Amazon S3 (soloimplementaciones de EC2locales) (p 316)

Plantilla de archivo AppSpec para una implementacioacuten de EC2On-Premises con instrucciones

Note

Las implementaciones en instancias de Windows Server no admiten elrunaselemento Si va aimplementar en instancias de Windows Server no lo incluya en el archivo de AppSpec

This is an appspecyml template file for use with an EC2On-Premises deployment in CodeDeploy The lines in this template starting with the hashtag symbol are instructional comments and can be safely left in the file or ignored For help completing this file see the AppSpec File Reference in the CodeDeploy User Guide at httpsdocsawsamazoncomcodedeploylatestuserguideapp-spec-refhtmlversion 00 Specify os linux if this revision targets Amazon Linux Red Hat Enterprise Linux (RHEL) or Ubuntu Server instances Specify os windows if this revision targets Windows Server instances

Versioacuten de API 2014-10-06312

AWS CodeDeploy Guiacutea del usuarioAdicioacuten de un archivo AppSpec para una

implementacioacuten de EC2On-Premises

(You cannot specify both os linux and os windows)os linux os windows During the Install deployment lifecycle event (which occurs between the BeforeInstall and AfterInstall events) copy the specified files in source starting from the root of the revisions file bundle to destination on the Amazon EC2 instance Specify multiple source and destination pairs if you want to copy from multiple sources or to multiple destinations If you are not copying any files to the Amazon EC2 instance then remove the files section altogether A blank or incomplete files section may cause associated deployments to failfiles - source destination - source destination For deployments to Amazon Linux Ubuntu Server or RHEL instances you can specify a permissions section here that describes special permissions to apply to the files in the files section as they are being copied over to the Amazon EC2 instance For more information see the documentation If you are deploying to Windows Server instances then remove the permissions section altogether A blank or incomplete permissions section may cause associated deployments to failpermissions - object pattern except owner group mode acls - context user type range type - If you are not running any commands on the Amazon EC2 instance then remove the hooks section altogether A blank or incomplete hooks section may cause associated deployments to failhooks For each deployment lifecycle event specify multiple location entries if you want to run multiple scripts during that event You can specify timeout as the number of seconds to wait until failing the deployment if the specified scripts do not run within the specified time limit for the specified event For example 900 seconds is 15 minutes If not specified the default is 1800 seconds (30 minutes) Note that the maximum amount of time that all scripts must finish executing for each individual deployment lifecycle event is 3600 seconds (1 hour) Otherwise the deployment will stop and CodeDeploy will consider the deployment to have failed to the Amazon EC2 instance Make sure that the total number of seconds that are specified in timeout for all scripts in each individual deployment lifecycle event does not exceed a combined 3600 seconds (1 hour) For deployments to Amazon Linux Ubuntu Server or RHEL instances you can specify runas in an event to run as the specified user For more information see the documentation If you are deploying to Windows Server instances remove runas altogether If you do not want to run any commands during a particular deployment lifecycle event remove that event declaration altogether Blank or incomplete event declarations may cause associated deployments to fail

Versioacuten de API 2014-10-06313

AWS CodeDeploy Guiacutea del usuarioEleccioacuten de un tipo de repositorio

During the ApplicationStop deployment lifecycle event run the commands in the script specified in location starting from the root of the revisions file bundle ApplicationStop - location timeout runas - location timeout runas During the BeforeInstall deployment lifecycle event run the commands in the script specified in location BeforeInstall - location timeout runas - location timeout runas During the AfterInstall deployment lifecycle event run the commands in the script specified in location AfterInstall - location timeout runas - location timeout runas During the ApplicationStart deployment lifecycle event run the commands in the script specified in location ApplicationStart - location timeout runas - location timeout runas During the ValidateService deployment lifecycle event run the commands in the script specified in location ValidateService - location timeout runas - location timeout runas

Elija un tipo de repositorio de CodeDeployLa ubicacioacuten de almacenamiento de los archivos necesarios para CodeDeploy se denominarepository Eluso de un repositorio depende de la plataforma de computacioacuten que se utilice en la implementacioacuten

bull EC2On-Premises Para implementar el coacutedigo de la aplicacioacuten en una o varias instancias elcoacutedigo debe agruparse en un archivo de almacenamiento y colocarse en un repositorio en el queCodeDeploy pueda tener acceso durante el proceso de implementacioacuten Tiene que agrupar el contenidoimplementable y un archivo AppSpec en un archivo de almacenamiento y a continuacioacuten cargarlo enuno de los tipos de repositorio admitidos por CodeDeploy

bull AWSLambdayAmazon ECS Las implementaciones necesitan un archivo AppSpec al que se puedatener acceso durante una implementacioacuten de una de las siguientes manerasbull Desde un bucket de Amazon S3

Versioacuten de API 2014-10-06314

AWS CodeDeploy Guiacutea del usuarioEleccioacuten de un tipo de repositorio

bull Desde el texto escrito directamente en el editor de AppSpec de la consola Para obtener maacutesinformacioacuten consulte Creacioacuten de unAWSImplementacioacuten de Lambda Compute Platform(consola) (p 328) y Crear una implementacioacuten de Amazon ECS (consola) (p 327)

bull Si utiliza elAWS CLI puede hacer referencia a un archivo AppSpec que esteacute en el disco duro o enuna unidad de red Para obtener maacutes informacioacuten consulte Creacioacuten de unAWSImplementacioacuten deLambda Compute Platform (CLI) (p 334) y Crear una implementacioacuten de Amazon ECS ComputePlatform (CLI) (p 333)

CodeDeploy admite actualmente los siguientes tipos de repositorio

Tipo de repositorio Detalles del repositorio Plataforma de computacioacutencompatible

Amazon S3 Amazon Simple StorageService(Amazon S3) eselAWSpara almacenamientode objetos seguro y escalableAmazon S3 almacena datoscomo objetos dentro deBucketsde Un objeto consta de unarchivo y opcionalmentecualquier metadato que describaese archivo

Para almacenar un objeto enAmazon S3 debe cargar enun bucket el archivo Al cargarun archivo puede configurarpermisos y metadatos en elobjeto

Maacutes informacioacuten

bull Cree un bucket de Amazon S3bull Enviar una revisioacuten de

CodeDeploy en Amazon S3(solo implementaciones deEC2locales) (p 316)

bull Implementacioacuten automaacuteticadesde Amazon S3 medianteCodeDeploy

Las implementaciones queutilizan las siguientes plataformasde computacioacuten puedenalmacenar la revisioacuten enunAmazon S3bucket

bull EC2On-Premisesbull AWS Lambdabull Amazon ECS

GitHub Puede almacenar las revisionesde aplicacioacuten en repositoriosde GitHub Puede activar unaimplementacioacuten desde unrepositorio de GitHub siempreque el coacutedigo fuente de eserepositorio cambie

Maacutes informacioacuten

bull Integracioacuten de CodeDeploycon GitHub (p 63)

Solo las implementaciones deEC2in situ pueden almacenarla revisioacuten en un repositorio deGitHub

Versioacuten de API 2014-10-06315

AWS CodeDeploy Guiacutea del usuarioEnviar una revisioacuten

bull Tutorial Usa CodeDeploypara desplegar una aplicacioacutendesde GitHub (p 127)

Bitbucket Puede implementar coacutedigoen grupos de implementacioacutende instancias EC2 medianteel uso de laCanalizacioacutenCodeDeployenCanalizacioacuten deBitbucket Bitbucket Pipelinesofrece funciones de integracioacutencontinua e implementacioacutencontinua (CICD) incluidas lasimplementaciones de BitbucketLa canalizacioacuten de CodeDeployinserta primero el artefactoen un bucket de S3 que hayaespecificado y a continuacioacutenimplementa el artefacto decoacutedigo desde el bucket

Maacutes informacioacuten

bull Consulte la canalizacioacuten deCodeDeploy de Bitbucket

Solo las implementaciones deEC2in situ pueden almacenarla revisioacuten en un repositorio deBitBucket

Note

UnAWS LambdaLa implementacioacuten de solo funciona con un repositorio de Amazon S3

Enviar una revisioacuten de CodeDeploy en Amazon S3(solo implementaciones de EC2locales)

Despueacutes de planificar la revisioacuten tal y como se describe enPlanear una revisioacuten paraCodeDeploy (p 307)y agregue un archivo AppSpec a la revisioacuten tal como se describe enAgregarun archivo de especificacioacuten de aplicacioacuten a una revisioacuten de CodeDeploy (p 308) estaacute listo paraempaquetar los archivos de componentes y enviar la revisioacuten a Amazon S3 Para las implementaciones eninstancias Amazon EC2 puede utilizar CodeDeploy para implementar la revisioacuten desde Amazon S3 en lasinstancias

Note

CodeDeploy tambieacuten puede utilizarse para implementar revisiones que se han enviado a GitHubPara obtener maacutes informacioacuten consulte su documentacioacuten de GitHub

Suponemos que ya ha seguido las instrucciones de Introduccioacuten a CodeDeploy (p 35) para configurar laAWS CLI Esto resulta de gran importancia para ejecutar el comando push que se describe maacutes adelante

Aseguacuterese de que tiene un bucket de Amazon S3 Siga las instrucciones enCrear un bucket

Si la implementacioacuten se realiza en instancias Amazon EC2 el bucket de Amazon S3 de destino se debecrear o encontrar en la misma regioacuten que las instancias de destino Por ejemplo si desea implementaruna revisioacuten en algunas instancias en la regioacuten EE UU Este (Norte de Virginia) y en otras instancias enla regioacuten EE UU (Oregoacuten) deberaacute tener un bucket en la regioacuten EE UU Este (Norte de Virginia) con una

Versioacuten de API 2014-10-06316

AWS CodeDeploy Guiacutea del usuarioImpulsar una revisioacuten mediante elAWS CLI

copia de la revisioacuten y otro bucket en la regioacuten EE UU (Oregoacuten) con otra copia de la misma revisioacuten Eneste caso deberiacutea crear dos implementaciones independientes una en la regioacuten de EE UU Este (Nortede Virginia) y otra en la regioacuten EE UU (Oregoacuten) aunque la revisioacuten es la misma en ambas regiones ybuckets

Debe disponer de permisos para cargar en el bucket de Amazon S3 Puede especificar estos permisosmediante una poliacutetica de bucket de Amazon S3 Por ejemplo en la siguiente poliacutetica de bucket de AmazonS3 el uso del caraacutecter comodiacuten () permiteAWScuenta111122223333cargar archivos en cualquierdirectorio del bucket de Amazon S3 denominadocodedeploydemobucket

Statement [ Action [ s3PutObject ] Effect Allow Resource arnawss3codedeploydemobucket Principal AWS [ 111122223333 ] ]

Para ver losAWSID de cuenta consulteBuacutesqueda deAWSID de la cuenta de

Para obtener informacioacuten sobre coacutemo generar y asociar una poliacutetica de bucket de Amazon S3consulteEjemplos de poliacutetica de bucket

El usuario de IAM que llama alpushdebe disponer como miacutenimo de permisos para cargar larevisioacuten en cada bucket de Amazon S3 de destino Por ejemplo la siguiente poliacutetica de IAMpermite que su usuario de IAM cargue revisiones en cualquier lugar del bucket de Amazon S3denominadocodedeploydemobucket

Version 2012-10-17 Statement [ Effect Allow Action [ s3PutObject ] Resource arnawss3codedeploydemobucket ]

Para obtener informacioacuten sobre coacutemo crear y asociar una poliacutetica de IAM consulteTrabajo con poliacuteticas

Impulsar una revisioacuten mediante elAWS CLINote

Lapushagrupa los artefactos de aplicacioacuten y un archivo AppSpec en una revisioacuten El formatode archivo de esta revisioacuten es un archivo ZIP comprimido El comando no se puede utilizar conunAWSLambda o una implementacioacuten de Amazon ECS porque cada una espera una revisioacuten quesea un archivo AppSpec con formato JSON o YAML

Versioacuten de API 2014-10-06317

AWS CodeDeploy Guiacutea del usuarioImpulsar una revisioacuten mediante elAWS CLI

Ejecute el comando push para agrupar y enviar la revisioacuten de una implementacioacuten Sus paraacutemetros son

bull --application-name (cadena) obligatorio Nombre de la aplicacioacuten CodeDeploy que se asociaraacute a larevisioacuten de la aplicacioacuten

bull --s3-location (cadena) obligatorio Informacioacuten sobre la ubicacioacuten de la revisioacuten de la aplicacioacuten quese cargaraacute en Amazon S3 Debe especificar un bucket de Amazon S3 y una clave La clave es elnombre de la revisioacuten CodeDeploy comprime el contenido antes de que se cargue Utilice el formatos3your-S3-bucket-nameyour-keyzip

bull --ignore-hidden-files o --no-ignore-hidden-files (booleano) opcional Usar--no-ignore-hidden-filesmarca (el valor predeterminado) para empaquetar y cargar archivos ocultos en Amazon S3Usar--ignore-hidden-filesmarca para no empaquetar y cargar archivos ocultos en Amazon S3

bull --source (cadena) opcional Ubicacioacuten del contenido que se implementaraacute y el archivo AppSpec en lamaacutequina de desarrollo que se comprimiraacute y cargaraacute en Amazon S3 La ubicacioacuten se especifica como unaruta relativa al directorio actual Si no se especifica la ruta relativa o si se utiliza un uacutenico punto para laruta () se utiliza el directorio actual

bull --description (cadena) opcional Un comentario que resume la revisioacuten de la aplicacioacuten Si no seespecifica la cadena predeterminada laquoSubido porAWS CLI Se utiliza time UTCraquo donde time es lahora actual del sistema en horario universal coordinado (UTC)

Puede utilizar elAWS CLIEnviar una revisioacuten de una implementacioacuten de Amazon EC2 Un comando deenviacuteo de ejemplo tiene este aspecto

En Linux macOS o Unix

aws deploy push --application-name WordPress_App --description This is a revision for the application WordPress_App --ignore-hidden-files --s3-location s3codedeploydemobucketWordPressAppzip --source

En Windows

aws deploy push --application-name WordPress_App --description This is a revision for the application WordPress_App --ignore-hidden-files --s3-location s3codedeploydemobucketWordPressAppzip --source

Este comando hace lo siguiente

bull Asocia los archivos agrupados con una aplicacioacuten denominada WordPress_Appbull Adjunta una descripcioacuten a la revisioacutenbull Ignora los archivos ocultosbull Asigna a la revisioacuten el nombre WordPressAppzip y la enviacutea a un bucket llamadocodedeploydemobucket

bull Agrupa todos los archivos del directorio raiacutez en la revisioacuten

Despueacutes de que el empuje se ejecute correctamente puede utilizar laAWS CLIo la consola de CodeDeploypara implementar la revisioacuten desde Amazon S3 Para implementar esta revisioacuten con la AWS CLI

En Linux macOS o Unix

aws deploy create-deployment --application-name WordPress_App --deployment-config-name your-deployment-config-name --deployment-group-name your-deployment-group-name

Versioacuten de API 2014-10-06318

AWS CodeDeploy Guiacutea del usuarioVer detalles de una revisioacuten de aplicacioacuten

--s3-location bucket=codedeploydemobucketkey=WordPressAppzipbundleType=zip

En Windows

aws deploy create-deployment --application-name WordPress_App --deployment-config-name your-deployment-config-name --deployment-group-name your-deployment-group-name --s3-location bucket=codedeploydemobucketkey=WordPressAppzipbundleType=zip

Para obtener maacutes informacioacuten consulte Cree una implementacioacuten con CodeDeploy (p 324)

Ver detalles de una revisioacuten de aplicacioacuten conCodeDeploy

Puede utilizar la consola de CodeDeploy laAWS CLI o las API de CodeDeploy para ver detalles de todaslas revisiones registradas en suAWScuenta de una aplicacioacuten especificada

Para obtener informacioacuten sobre el registro de una revisioacuten consulte Registrar una revisioacuten de aplicacioacuten enAmazon S3 con CodeDeploy (p 320)

Temasbull Ver detalles de una revisioacuten de aplicacioacuten (consola) (p 319)bull Ver detalles de una revisioacuten de aplicacioacuten (CLI) (p 319)

Ver detalles de una revisioacuten de aplicacioacuten (consola)Para ver los detalles de una revisioacuten de aplicacioacuten

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacuten aCodeDeploy (p 35)

2 En el panel de navegacioacuten expanda Deploy (Implementar) y elija Applications (Aplicaciones)

Note

Si no se muestran entradas aseguacuterese de seleccionar la regioacuten correcta En la barra denavegacioacuten en el selector de regiones elija una de las regiones enumeradas enRegiones ypuntos de enlaceen laAWSReferencia general de CodeDeploy solo es compatible en estasregiones

3 Elija el nombre de la aplicacioacuten que tiene la revisioacuten que desea ver4 En la paacutegina Application details (Detalles de la aplicacioacuten) elija la pestantildea Revisions (Revisiones) y

examine la lista de revisiones registradas para la aplicacioacuten Elija una revisioacuten y a continuacioacuten elijaView details (Ver detalles)

Ver detalles de una revisioacuten de aplicacioacuten (CLI)Si desea utilizar la AWS CLI para ver una revisioacuten de una aplicacioacuten llame al comando get-application-revision o al comando list-application-revisions

Versioacuten de API 2014-10-06319

AWS CodeDeploy Guiacutea del usuarioRegistro de una revisioacuten de una aplicacioacuten

Note

Las referencias a GitHub solo se aplican a implementaciones en EC2On-Premises Lasrevisiones para las implementaciones de AWS Lambda no funcionan con GitHub

Para ver detalles de una sola revisioacuten de aplicacioacuten llame alget-application-revisioncomandoespecificando

bull El nombre de la aplicacioacuten Para obtener el nombre de la aplicacioacuten ejecute elUsar una lista deaplicacionescomando

bull En el caso de una revisioacuten almacenada en GitHub el nombre del repositorio de GitHub y el ID de laconfirmacioacuten asociada a la revisioacuten almacenada en el repositorio

bull En el caso de una revisioacuten almacenada en Amazon S3 el nombre del bucket de Amazon S3 quecontiene la revisioacuten el nombre y tipo del archivo de almacenamiento y opcionalmente el identificadorde versioacuten de Amazon S3 y la ETag del archivo de almacenamiento Si se especificoacute el identificador deversioacuten la ETag o ambos al ejecutarregister-application-revision deben especificarse aquiacute

Para ver detalles de varias revisiones de aplicacioacuten llame allist-revisiones de aplicacionescomandoespecificando

bull El nombre de la aplicacioacuten Para obtener el nombre de la aplicacioacuten ejecute elUsar una lista deaplicacionescomando

bull Opcionalmente para ver solo los detalles de las revisiones en Amazon S3 el nombre del bucket deAmazon S3 que contiene las revisiones

bull Opcionalmente para ver solo los detalles de las revisiones en Amazon S3 una cadena prefijo para limitarla buacutesqueda de las revisiones de aplicacioacuten de Amazon S3 (Si no se especifica CodeDeploy mostraraacutetodas las revisiones de aplicacioacuten que coincidan en Amazon S3)

bull Opcionalmente si se deben mostrar los detalles de las revisiones en funcioacuten de si son revisionesde destino de un grupo de implementaciones (Si no se especifica CodeDeploy mostraraacute todas lasrevisiones coincidentes)

bull Opcionalmente el nombre de la columna y el orden en que deben mostrarse la lista de detalles de lasrevisiones (Si no se especifica CodeDeploy mostraraacute los resultados en un orden arbitrario)

Es posible incluir todas las revisiones o solo las revisiones almacenadas en Amazon S3 No es posibleincluir solo las revisiones almacenadas en GitHub

Registrar una revisioacuten de aplicacioacuten en Amazon S3con CodeDeploy

Si ya has llamado alpushpara enviar una revisioacuten de una aplicacioacuten a Amazon S3 no es necesarioregistrar la revisioacuten Sin embargo si carga una revisioacuten en Amazon S3 por otros medios y desea queaparezca en la consola de CodeDeploy o a traveacutes de laAWS CLI siga estos pasos para registrar primero larevisioacuten

Si ha enviado una revisioacuten de una aplicacioacuten a un repositorio de GitHub y desea que aparezca en laconsola de CodeDeploy o a traveacutes de laAWS CLI tambieacuten debe seguir estos pasos

Solo puede utilizar laAWS CLIo las API de CodeDeploy para registrar revisiones de aplicaciones enAmazon S3 o GitHub

Temasbull Registro de una revisioacuten en Amazon S3 con CodeDeploy (CLI) (p 321)

Versioacuten de API 2014-10-06320

AWS CodeDeploy Guiacutea del usuarioRegistro de una revisioacuten en

Amazon S3 con CodeDeploy (CLI)

bull Registro de una revisioacuten en GitHub con CodeDeploy (CLI) (p 321)

Registro de una revisioacuten en Amazon S3 conCodeDeploy (CLI)1 Cargue la revisioacuten en Amazon S32 Llame a laregister-application-revision especificando

bull El nombre de la aplicacioacuten Para ver una lista de nombres de aplicaciones ejecute laAplicaciones delistacomando

bull informacioacuten acerca de la revisioacuten que desea registrarbull El nombre del bucket de Amazon S3 que contiene la revisioacutenbull Nombre y tipo de archivo de la revisioacuten cargada ParaAWS Lambdaimplementaciones de la

revisioacuten es un archivo de AppSpec escrito en JSON o YAML Para las implementaciones EC2On-Premises la revisioacuten contiene una versioacuten de los archivos fuente que CodeDeploy implementaraacuteen las instancias o de los scripts que CodeDeploy ejecutaraacute en las instancias

Note

Los formatos de archivo tar y tar comprimido (tar y targz) no se admiten para lasinstancias de Windows Server

bull (Opcional) Identificador de versioacuten de Amazon S3 correspondiente a la versioacuten (Si no seespecifica el identificador de versioacuten CodeDeploy usaraacute la versioacuten maacutes reciente)

bull (Opcional) ETag de la revisioacuten (Si no se especifica la ETag CodeDeploy omitiraacute la validacioacuten deobjeto)

bull (Opcional) Una descripcioacuten que desee asociar a la revisioacuten

La informacioacuten sobre las revisiones de Amazon S3 puede especificarse en la liacutenea de comandos utilizandola sintaxis siguiente como parte de laregister-application-revisionLlame a (versionyeTagson opcionales)

Para un archivo de revisioacuten para una implementacioacuten EC2On-Premises

--s3-location bucket=stringkey=stringbundleType=tar|tgz|zipversion=stringeTag=string

Para un archivo de revisioacuten para unAWSDespliegue de Lambda

--s3-location bucket=stringkey=stringbundleType=JSON|YAMLversion=stringeTag=string

Registro de una revisioacuten en GitHub con CodeDeploy(CLI)

Note

Las implementaciones de AWS Lambda no funcionan con GitHub

1 Cargue la revisioacuten en el repositorio GitHub2 Llame a laregister-application-revision especificando

bull El nombre de la aplicacioacuten Para ver una lista de nombres de aplicaciones ejecute laAplicaciones delistacomando

bull informacioacuten acerca de la revisioacuten que desea registrar

Versioacuten de API 2014-10-06321

AWS CodeDeploy Guiacutea del usuarioRegistro de una revisioacuten en GitHub con CodeDeploy (CLI)

bull El nombre de usuario de GitHub o el nombre del grupo asignado al repositorio que contiene larevisioacuten seguido de una barra inclinada () y del nombre del repositorio

bull El ID de la confirmacioacuten correspondiente a la revisioacuten en el repositoriobull (Opcional) Una descripcioacuten que desee asociar a la revisioacuten

La informacioacuten sobre las revisiones de GitHub puede especificarse en la liacutenea de comandos utilizando lasintaxis siguiente como parte de la llamada a register-application-revision

--github-location repository=stringcommitId=string

Versioacuten de API 2014-10-06322

AWS CodeDeploy Guiacutea del usuario

Uso de las implementaciones enCodeDeploy

En CodeDeploy una implementacioacuten es el proceso de instalar contenido en una o varias instanciasy los componentes implicados en eacutel El contenido puede ser coacutedigo archivos web y de configuracioacutenejecutables paquetes scripts etc CodeDeploy implementa contenido almacenado en un repositorio deorigen de acuerdo con las reglas de configuracioacuten especificadas

Si utiliza la plataforma de computacioacuten EC2On-Premises pueden ejecutarse simultaacuteneamente dosimplementaciones en el mismo conjunto de instancias

CodeDeploy ofrece dos opciones de tipo de implementacioacuten in situ e implementaciones laquobluegreenraquo (azulverde)

bull Implementacioacuten in situ Se detiene la aplicacioacuten de cada instancia del grupo de implementacioacuten seinstala la uacuteltima revisioacuten de la aplicacioacuten y se inicia y valida la nueva versioacuten de la aplicacioacuten Puedeutilizar un balanceador de carga de modo que se cancele el registro de cada instancia durante suimplementacioacuten y a continuacioacuten vuelva a ponerse en servicio una vez completada la implementacioacutenSolo las implementaciones que usan la plataforma de computacioacuten EC2On-Premises pueden utilizarimplementaciones laquoin-placeraquo Para obtener maacutes informacioacuten acerca de las implementaciones in-placeconsulte Descripcioacuten general de una implementacioacuten laquoin-placeraquo (p 8)

bull Implementacioacuten bluegreen El funcionamiento de la implementacioacuten depende de la plataforma decomputacioacuten que utilicebull Bluegreen en una plataforma de computacioacuten EC2On-Premises Las instancias de un grupo de

implementacioacuten (el entorno original) se sustituyen por otro conjunto de instancias (el entorno desustitucioacuten) siguiendo estos pasosbull Se aprovisionan instancias para el entorno de sustitucioacutenbull La uacuteltima revisioacuten de la aplicacioacuten se instala en las instancias de sustitucioacutenbull Se produce un tiempo de espera opcional para actividades tales como pruebas de aplicaciones y

verificacioacuten del sistemabull Las instancias del entorno de sustitucioacuten se registran con un balanceador de carga de Elastic Load

Balancing lo que provoca que el traacutefico se redirija a ellas Las instancias del entorno original secancelan del registro y pueden terminarse o mantenerse en ejecucioacuten para otros usos

Note

Si utiliza una plataforma informaacutetica EC2local tenga en cuenta que las implementaciones enazul y verde funcionan uacutenicamente con instancias de Amazon EC2

bull Bluegreen en unaAWS Lambdao plataforma informaacutetica Amazon ECS El traacutefico se desviacutea enincrementos de acuerdo con unacanariolineal o bientodo a la vezconfiguracioacuten de implementacioacutenPara obtener maacutes informacioacuten consulte Configuracioacuten de implementacioacuten (p 13)

bull Implementaciones bluegreen (azul-verde) conAWS CloudFormation El traacutefico se desplaza de losrecursos actuales a los recursos actualizados como parte de unaAWS CloudFormationactualizacioacuten depila de Actualmente solo se admiten implementaciones de ECS bluegreen (azulverde)

Para obtener maacutes informacioacuten acerca de las implementaciones bluegreen consulte Descripcioacuten generalde una implementacioacuten laquobluegreenraquo (p 9)

Para obtener informacioacuten sobre la implementacioacuten automaacutetica desde Amazon S3 consulteImplementacioacutenautomaacutetica desde Amazon S3 mediante CodeDeploy

Versioacuten de API 2014-10-06323

AWS CodeDeploy Guiacutea del usuarioCrear una implementacioacuten

Temasbull Cree una implementacioacuten con CodeDeploy (p 324)bull Ver detalles de implementacioacuten de CodeDeploy (p 340)bull Ver datos de registro de las implementaciones de CodeDeploy EC2On-Premises (p 342)bull Detener una implementacioacuten con CodeDeploy (p 344)bull Redesplegar y deshacer una implementacioacuten con CodeDeploy (p 345)bull Implementar una aplicacioacuten en otroAWScuenta (p 349)bull Usar el agente de CodeDeploy para validar un paquete de implementacioacuten en una maacutequina

local (p 352)

Cree una implementacioacuten con CodeDeployPuede utilizar la consola de CodeDeployAWS CLIo las API de CodeDeploy para crear una implementacioacutenque instale revisiones aplicaciones que ya haya enviado a Amazon S3 o si la implementacioacuten estaacute en unaplataforma de computacioacuten EC2On-Premises GitHub en las instancias de un grupo de implementaciones

El proceso para crear una implementacioacuten depende de la plataforma de computacioacuten usada en laimplementacioacuten

Temasbull Requisitos previos para la implementacioacuten (p 324)bull Crear una implementacioacuten de Amazon ECS (consola) (p 327)bull Creacioacuten de unAWSImplementacioacuten de Lambda Compute Platform (consola) (p 328)bull Crear una implementacioacuten de Compute Platform (consola) de EC2On-Premises (p 329)bull Crear una implementacioacuten de Amazon ECS Compute Platform (CLI) (p 333)bull Creacioacuten de unAWSImplementacioacuten de Lambda Compute Platform (CLI) (p 334)bull Crear una implementacioacuten de plataforma de computacioacuten EC2On-Premises (CLI) (p 335)bull Cree una implementacioacuten bluegreen (azulverde) de Amazon ECS medianteAWS

CloudFormation (p 337)

Requisitos previos para la implementacioacutenAseguacuterese de seguir estos pasos antes de iniciar una implementacioacuten

Requisitos previos de implementacioacuten en unAWSLambdaplataforma de computacioacutenbull Cree una aplicacioacuten que incluya al menos un grupo de implementaciones Para obtener maacutes

informacioacuten consulte Crear una aplicacioacuten con CodeDeploy (p 273) y Creacioacuten de un grupo deimplementaciones con CodeDeploy (p 288)

bull Prepare la revisioacuten de la aplicacioacuten (es decir el archivo AppSpec) que especifica la versioacuten de la funcioacutenLambda que va a implementar El archivo AppSpec tambieacuten puede especificar funciones Lambda paravalidar la implementacioacuten Para obtener maacutes informacioacuten consulteUso de revisiones de aplicaciones deCodeDeploy (p 307)

bull Si desea utilizar una configuracioacuten de implementacioacuten personalizada para su implementacioacuten creacuteelaantes de iniciar el proceso de implementacioacuten Para obtener informacioacuten consulte Create a DeploymentConfiguration (p 269)

Versioacuten de API 2014-10-06324

AWS CodeDeploy Guiacutea del usuarioRequisitos previos para la implementacioacuten

Requisitos previos de implementacioacuten en una plataforma decomputacioacuten EC2On-Premisesbull Si se trata de una implementacioacuten in-place cree o configure las instancias en las que desea realizar la

implementacioacuten Para obtener informacioacuten consulte Trabajo con instancias para CodeDeploy (p 207)Si se trata de una implementacioacuten bluegreen dispone de un grupo de Amazon EC2 Auto Scaling parautilizarlo como plantilla para el entorno de sustitucioacuten o de una o varias instancias o grupos de AmazonEC2 Auto Scaling que deberaacute especificar como entorno original Para obtener maacutes informacioacuten consulteTutorial UsarCodeDeploypara implementar una aplicacioacuten en un grupo de Auto Scaling (p 110) yIntegracioacuten de CodeDeploy con Amazon EC2 Auto Scaling (p 53)

bull Cree una aplicacioacuten que incluya al menos un grupo de implementaciones Para obtener maacutesinformacioacuten consulte Crear una aplicacioacuten con CodeDeploy (p 273) y Creacioacuten de un grupo deimplementaciones con CodeDeploy (p 288)

bull Prepare la revisioacuten de la aplicacioacuten que desea implementar en las instancias del grupo deimplementaciones Para obtener informacioacuten consulte Uso de revisiones de aplicaciones deCodeDeploy (p 307)

bull Si desea utilizar una configuracioacuten de implementacioacuten personalizada para su implementacioacuten creacuteelaantes de iniciar el proceso de implementacioacuten Para obtener informacioacuten consulte Create a DeploymentConfiguration (p 269)

bull Si estaacute implementando una revisioacuten de la aplicacioacuten desde un bucket de Amazon S3 el bucket estaacute en elmismoAWSRegioacuten como instancias del grupo de implementaciones

bull Si estaacute implementando una revisioacuten de la aplicacioacuten desde un bucket de Amazon S3 debe haberseaplicado al bucket una poliacutetica de bucket de Amazon S3 Esta poliacutetica concede a las instancias lospermisos necesarios para descargar la revisioacuten de la aplicacioacuten

Por ejemplo la siguiente poliacutetica de bucket de Amazon S3 permite cualquier instancia de Amazon EC2con un perfil de instancia de IAM adjunto que contenga el ARNarnawsiam444455556666roleCodeDeployDemopara descargar desde cualquier parte del bucket de Amazon S3denominadocodedeploydemobucket

Statement [ Action [ s3Get s3List ] Effect Allow Resource arnawss3codedeploydemobucket Principal AWS [ arnawsiam444455556666roleCodeDeployDemo ] ]

La siguiente poliacutetica de bucket de Amazon S3 permite cualquier instancia on-premises con un usuario deIAM asociado que contenga el ARNarnawsiam444455556666userCodeDeployUserparadescargar desde cualquier parte del bucket de Amazon S3 denominadocodedeploydemobucket

Statement [ Action [ s3Get

Versioacuten de API 2014-10-06325

AWS CodeDeploy Guiacutea del usuarioRequisitos previos para la implementacioacuten

s3List ] Effect Allow Resource arnawss3codedeploydemobucket Principal AWS [ arnawsiam444455556666userCodeDeployUser ] ]

Para obtener informacioacuten acerca de coacutemo generar y asociar una poliacutetica de bucket de Amazon S3consulteEjemplos de poliacutetica de bucket

bull Si estaacute creando una implementacioacuten laquobluegreenraquo o si ha especificado un Classic Load BalancerApplication Load Balancer o Network Load Balancer en el grupo de implementaciones para unaimplementacioacuten in situ habraacute creado una VPC mediante Amazon VPC que contenga al menos dossubredes (CodeDeploy utiliza Elastic Load Balancing que requiere que todas las instancias de un grupode balanceadores de carga se encuentren en una uacutenica VPC)

Si no ha creado una VPC consulte laGuiacutea de introduccioacuten a Amazon VPCbull Si estaacute creando una implementacioacuten laquobluegreenraquo haber configurado un Classic Load Balancer

Application Load Balancer o Network Load Balancer en Elastic Load Balancing y haberlo utilizado pararegistrar las instancias que componen el entorno original

Note

Las instancias del entorno de sustitucioacuten se registraraacuten con el balanceador de carga en otromomento

Para configurar el Classic Load Balancer realice los pasos descritos enTutorial Creacioacuten de un ClassicLoad BalancerenGuiacutea del usuario para Classic Load Balancers Al hacerlo tenga presente lo siguientebull EnPaso 2 Define Load Balancer (Definir balanceador de carga) enCrear LB Inside elija la misma

VPC que seleccionoacute al crear las instanciasbull EnPaso 5 Registrar instancias EC2 con el Load Balancer seleccione las instancias del entorno

originalbull EnPaso 7 Crear y verificar su balanceador de carga anote la direccioacuten DNS del balanceador de

carga

Por ejemplo si denominoacute su balanceador de carga my-load-balancer su direccioacuten DNS apareceraacuteen un formato como my-load-balancer-1234567890us-east-2elbamazonawscom

Al pegar el nombre del DNS en el campo de direccioacuten de un navegador web debe poder ver laaplicacioacuten que ha implementado para su entorno original

Para configurar un Application Load Balancer siga las instrucciones en uno de los siguientes temasbull Creacioacuten de un Application Load Balancerbull Tutoriales Crear un Application Load Balancer mediante elAWS CLI

Para configurar un Network Load Balancer siga las instrucciones en uno de los siguientes temasbull Crear un balanceador de carga de redbull Tutoriales Cree un Network Load Balancer mediante elAWS CLI

Versioacuten de API 2014-10-06326

AWS CodeDeploy Guiacutea del usuarioCrear una implementacioacuten de Amazon ECS (consola)

Requisitos previos de implementacioacuten para una implementacioacutenbluegreen (azulverde) medianteAWS CloudFormationbull La plantilla no necesita modelar recursos para una aplicacioacuten de CodeDeploy o un grupo de

implementacionesbull La plantilla debe incluir recursos para una VPC usando Amazon VPC que contenga al menos dos

subredesbull La plantilla debe incluir recursos para Classic Load Balancer Application Load Balancer o Network Load

Balancer en Elastic Load Balancing que se utiliza para dirigir el traacutefico a los grupos de destino

Crear una implementacioacuten de Amazon ECS (consola)En este tema se muestra coacutemo implementar un servicio de Amazon ECS mediante la consola Paraobtener maacutes informacioacuten consulte Tutorial Implementar un servicio de Amazon ECS (p 139) y TutorialImplementacioacuten de un servicio Amazon ECS con una prueba de validacioacuten (p 147)

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 Realice alguna de las siguientes acciones

bull Si desea implementar una aplicacioacuten en el panel de navegacioacuten expanda Deploy (Implementar)y a continuacioacuten elija Applications (Aplicaciones) Elija el nombre de la aplicacioacuten que deseaimplementar Aseguacuterese de que laPlataforma de computacioacutencolumna para su aplicacioacuten esAmazonECS

bull Si desea volver a implementar una implementacioacuten en el panel de navegacioacuten expandaDeploy (Implementar) y a continuacioacuten elija Deployments (Implementaciones) Seleccione laimplementacioacuten que desea volver a implementar y en la columna Application (Aplicacioacuten) elijael nombre de su aplicacioacuten Aseguacuterese de que laPlataforma de computacioacutencolumna para suimplementacioacuten esAmazon ECS

3 En la pestantildea Deployments (Implementaciones) elija Create deployment (Crear implementacioacuten)

Note

La aplicacioacuten debe tener un grupo de implementacioacuten antes de poder implementarlaSi la aplicacioacuten no tiene un grupo de implementaciones en laGrupos deimplementacionespestantildea elijaCreacioacuten de un grupo de implementaciones Paraobtener maacutes informacioacuten consulte Creacioacuten de un grupo de implementaciones conCodeDeploy (p 288)

4 En Deployment group (Grupo de implementaciones) elija el grupo de implementaciones que va autilizar para esta implementacioacuten

5 Junto a Revision location (Ubicacioacuten de la revisioacuten) elija el lugar donde se encuentra la revisioacuten

bull Mi aplicacioacuten se almacena en Amazon S3mdash Para obtener informacioacuten consulteEspecificarinformacioacuten acerca de una revisioacuten almacenada en un bucket de Amazon S3 (p 331)y despueacutesvuelva al paso 6

bull Utilizar el editor AppSpec seleccione JSON o YAML y a continuacioacuten especifique el archivoAppSpec en el editor Puede guardar el archivo AppSpec seleccionandoGuardar como archivo detexto Cuando elija Deploy (Implementar) al final de estos pasos recibiraacute un error si el coacutedigo JSON

Versioacuten de API 2014-10-06327

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de unAWSImplementacioacuten de

Lambda Compute Platform (consola)

o YAML no es vaacutelido Para obtener maacutes informacioacuten acerca de coacutemo crear un archivo AppSpecconsulteAgregar un archivo de especificacioacuten de aplicacioacuten a una revisioacuten de CodeDeploy (p 308)

6 (Opcional) En el cuadro Deployment description (Descripcioacuten de la implementacioacuten) introduzca unadescripcioacuten para la implementacioacuten

7 (Opcional) En Rollback configuration overrides puede especificar opciones de restauracioacutenautomaacutetica de esta implementacioacuten distintas de las que se hayan especificado para el grupo deimplementaciones si las hay

Para obtener informacioacuten acerca de restauraciones en CodeDeploy consulteReimplementacionesy restauracioacuten de implementaciones (p 18)yRedesplegar y deshacer una implementacioacuten conCodeDeploy (p 345)

Elija una de las siguientes opciones

bull Roll back when a deployment fails CodeDeploy redistribuye la uacuteltima revisioacuten correcta conocidacomo una nueva implementacioacuten

bull Roll back when alarm thresholds are met (Roll back when si se antildeaden alarmas al grupo deimplementaciones CodeDeploy redistribuye la uacuteltima revisioacuten correcta conocida al activarse una omaacutes alarmas especificadas

bull Deshabilitar rollbacks no se realizan restauraciones de la implementacioacuten8 Elija Create deployment (Crear implementacioacuten)

Para realizar un seguimiento del estado de la implementacioacuten consulte Ver detalles deimplementacioacuten de CodeDeploy (p 340)

Creacioacuten de unAWSImplementacioacuten de LambdaCompute Platform (consola)En este tema se muestra coacutemo implementar una funcioacuten de Lambda mediante la consola

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 Realice alguna de las siguientes acciones

bull Si desea implementar una aplicacioacuten en el panel de navegacioacuten expanda Deploy (Implementar)y a continuacioacuten elija Applications (Aplicaciones) Elija el nombre de la aplicacioacuten que deseaimplementar Aseguacuterese de que laPlataforma de computacioacutencolumna para su aplicacioacutenesAWSLambda

bull Si desea volver a implementar una implementacioacuten en el panel de navegacioacuten expandaDeploy (Implementar) y a continuacioacuten elija Deployments (Implementaciones) Seleccione laimplementacioacuten que desea volver a implementar y en la columna Application (Aplicacioacuten) elijael nombre de su aplicacioacuten Aseguacuterese de que laPlataforma de computacioacutencolumna para suimplementacioacuten esAWSLambda

3 En la pestantildea Deployments (Implementaciones) elija Create deployment (Crear implementacioacuten)

Note

La aplicacioacuten debe tener un grupo de implementacioacuten antes de poder implementarlaSi la aplicacioacuten no tiene un grupo de implementaciones en laGrupos deimplementacionespestantildea elijaCreacioacuten de un grupo de implementaciones Para

Versioacuten de API 2014-10-06328

AWS CodeDeploy Guiacutea del usuarioCrear una implementacioacuten de ComputePlatform (consola) de EC2On-Premises

obtener maacutes informacioacuten consulte Creacioacuten de un grupo de implementaciones conCodeDeploy (p 288)

4 En Deployment group (Grupo de implementaciones) elija el grupo de implementaciones que va autilizar para esta implementacioacuten

5 Junto a Revision location (Ubicacioacuten de la revisioacuten) elija el lugar donde se encuentra la revisioacuten

bull Mi aplicacioacuten se almacena en Amazon S3mdash Para obtener informacioacuten consulteEspecificarinformacioacuten acerca de una revisioacuten almacenada en un bucket de Amazon S3 (p 331)y despueacutesvuelva al paso 6

bull Utilizar el editor AppSpec seleccione JSON o YAML y a continuacioacuten especifique el archivoAppSpec en el editor Puede guardar el archivo AppSpec seleccionandoGuardar como archivo detexto Cuando elija Deploy (Implementar) al final de estos pasos recibiraacute un error si el coacutedigo JSONo YAML no es vaacutelido Para obtener maacutes informacioacuten acerca de coacutemo crear un archivo AppSpecconsulteAgregar un archivo de especificacioacuten de aplicacioacuten a una revisioacuten de CodeDeploy (p 308)

6 (Opcional) En el cuadro Deployment description (Descripcioacuten de la implementacioacuten) introduzca unadescripcioacuten para la implementacioacuten

7 (Opcional) ExpandaModificaciones de grupo de implementacionespara elegir una configuracioacuten deimplementacioacuten que controle coacutemo se desviacutea el traacutefico a una versioacuten de la funcioacuten Lambda distinta dela que se especifica en el grupo de implementaciones

Para obtener maacutes informacioacuten consulte Configuraciones de implementacioacuten en unaAWSLambdaplataforma de computacioacuten (p 268)

8 (Opcional) En Rollback configuration overrides puede especificar opciones de restauracioacutenautomaacutetica de esta implementacioacuten distintas de las que se hayan especificado para el grupo deimplementaciones si las hay

Para obtener informacioacuten acerca de restauraciones en CodeDeploy consulteReimplementacionesy restauracioacuten de implementaciones (p 18)yRedesplegar y deshacer una implementacioacuten conCodeDeploy (p 345)

Elija una de las siguientes opciones

bull Roll back when a deployment fails CodeDeploy redistribuye la uacuteltima revisioacuten correcta conocidacomo una nueva implementacioacuten

bull Roll back when alarm thresholds are met (Roll back when si se antildeaden alarmas al grupo deimplementaciones CodeDeploy redistribuye la uacuteltima revisioacuten correcta conocida al activarse una omaacutes alarmas especificadas

bull Deshabilitar rollbacks no se realizan restauraciones de la implementacioacuten9 Elija Create deployment (Crear implementacioacuten)

Para realizar un seguimiento del estado de la implementacioacuten consulte Ver detalles deimplementacioacuten de CodeDeploy (p 340)

Crear una implementacioacuten de Compute Platform(consola) de EC2On-PremisesEn este tema se muestra coacutemo implementar una aplicacioacuten en Amazon EC2 o en un servidor localmediante la consola

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Versioacuten de API 2014-10-06329

AWS CodeDeploy Guiacutea del usuarioCrear una implementacioacuten de ComputePlatform (consola) de EC2On-Premises

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 Realice alguna de las siguientes acciones

bull Si desea implementar una aplicacioacuten en el panel de navegacioacuten expanda Deploy (Implementar)y a continuacioacuten elija Applications (Aplicaciones) Elija el nombre de la aplicacioacuten que deseaimplementar Aseguacuterese de que laPlataforma de computacioacutencolumna para su aplicacioacuten esEC2On-Premises

bull Si desea volver a implementar una implementacioacuten en el panel de navegacioacuten expanda Deploy(Implementar) y a continuacioacuten elija Deployments (Implementaciones) Localice la implementacioacutenque desea volver a implementar y a continuacioacuten elija el nombre de su aplicacioacuten en la columnaApplication (Aplicacioacuten) Aseguacuterese de que laPlataforma de computacioacutencolumna para suimplementacioacuten esEC2On-Premises

3 En la pestantildea Deployments (Implementaciones) elija Create deployment (Crear implementacioacuten)

Note

La aplicacioacuten debe tener un grupo de implementacioacuten antes de poder implementarlaSi la aplicacioacuten no tiene un grupo de implementaciones en laGrupos deimplementacionespestantildea elijaCreacioacuten de un grupo de implementaciones Paraobtener maacutes informacioacuten consulte Creacioacuten de un grupo de implementaciones conCodeDeploy (p 288)

4 En Deployment group (Grupo de implementaciones) elija el grupo de implementaciones que va autilizar para esta implementacioacuten

5 Junto a Repository type (Tipo de repositorio) seleccione el tipo de repositorio en el que estaacutealmacenada la revisioacuten

bull Mi aplicacioacuten se almacena en Amazon S3mdash Para obtener informacioacuten consulteEspecificarinformacioacuten acerca de una revisioacuten almacenada en un bucket de Amazon S3 (p 331)y despueacutesvuelva al paso 6

bull Mi aplicacioacuten estaacute almacenada en GitHubmdash Para obtener informacioacuten consulteEspecificarinformacioacuten sobre una revisioacuten almacenada en un repositorio de GitHub (p 332)y despueacutesvuelva al paso 6

6 (Opcional) En el cuadro Deployment description (Descripcioacuten de la implementacioacuten) introduzca unadescripcioacuten para la implementacioacuten

7 (Opcional) ExpandaSustituir configuracioacuten de implementacioacutenpara elegir una configuracioacuten deimplementacioacuten que controle coacutemo se desviacutea el traacutefico a Amazon EC2 o al servidor on-premisesdistinto del que se especifica en el grupo de implementaciones

Para obtener maacutes informacioacuten consulte Uso de configuraciones de implementacioacuten enCodeDeploy (p 264)

8 a Seleccione Dont fail the deployment if the ApplicationStop lifecycle event fails (Dar como vaacutelidala implementacioacuten si el evento ApplicationStop del ciclo de vida produce un error) si desea queuna implementacioacuten en una instancia se realice correctamente si el evento del ciclo de vidaApplicationStop produce un error

b AmpliarConfiguracioacuten adicional del comportamiento de implementacioacutenpara especificar el modoen que CodeDeploy gestiona archivos en una ubicacioacuten de destino de implementacioacuten que nohaya formado parte de la implementacioacuten anterior realizada correctamente

Elija una de las siguientes opciones

bull Error de implementacioacutenmdash Se notifica un error y el estado de implementacioacuten cambia aFailed

Versioacuten de API 2014-10-06330

AWS CodeDeploy Guiacutea del usuarioCrear una implementacioacuten de ComputePlatform (consola) de EC2On-Premises

bull Sobrescribir el contenido si hay un archivo del mismo nombre en la ubicacioacuten de destino laversioacuten de la revisioacuten de la aplicacioacuten lo sustituye

bull Mantenga el contenido si hay un archivo del mismo nombre en la ubicacioacuten de destino elarchivo se conserva y la versioacuten de la revisioacuten de la aplicacioacuten no se copia en la instancia

Para obtener maacutes informacioacuten consulte Comportamiento de reversioacuten con contenidoexistente (p 347)

9 (Opcional) En Rollback configuration overrides puede especificar opciones de restauracioacutenautomaacutetica de esta implementacioacuten distintas de las que se hayan especificado para el grupo deimplementaciones si las hay

Para obtener informacioacuten acerca de restauraciones en CodeDeploy consulteReimplementacionesy restauracioacuten de implementaciones (p 32)yRedesplegar y deshacer una implementacioacuten conCodeDeploy (p 345)

Elija una de las siguientes opciones

bull Roll back when a deployment fails CodeDeploy redistribuye la uacuteltima revisioacuten correcta conocidacomo una nueva implementacioacuten

bull Roll back when alarm thresholds are met (Roll back when si se antildeaden alarmas al grupo deimplementaciones CodeDeploy implementa la uacuteltima revisioacuten correcta conocida al activarse una omaacutes alarmas especificadas

bull Deshabilitar rollbacks no se realizan restauraciones de la implementacioacuten10 Elija Start deployment (Iniciar la implementacioacuten)

Para realizar un seguimiento del estado de la implementacioacuten consulte Ver detalles deimplementacioacuten de CodeDeploy (p 340)

Temasbull Especificar informacioacuten acerca de una revisioacuten almacenada en un bucket de Amazon S3 (p 331)bull Especificar informacioacuten sobre una revisioacuten almacenada en un repositorio de GitHub (p 332)

Especificar informacioacuten acerca de una revisioacuten almacenada en unbucket de Amazon S3Si sigues los pasos descritos enCrear una implementacioacuten de Compute Platform (consola) de EC2On-Premises (p 329) siga estos pasos para antildeadir detalles acerca de una revisioacuten de la aplicacioacutenalmacenada en un bucket de Amazon S3

1 Copie el enlace Amazon S3 de la revisioacuten enUbicacioacuten de revisioacuten Para encontrar el valor del enlace

a En una pestantildea diferente del navegador

Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon S3 en httpsconsoleawsamazoncoms3

Busque y seleccione la revisioacutenb Si el panel Properties no estaacute visible elija el botoacuten Propertiesc En el navegadorPropiedades copie el valor deViacutenculoen laUbicacioacuten de revisioacutenen la consola de

CodeDeploy

Versioacuten de API 2014-10-06331

AWS CodeDeploy Guiacutea del usuarioCrear una implementacioacuten de ComputePlatform (consola) de EC2On-Premises

Para especificar una ETag (una suma de comprobacioacuten de archivo) como parte de la ubicacioacuten de larevisioacuten

bull Si el valor del campo Link (Enlace) termina en versionId=versionId antildeada ampetag= y la ETagal final del valor del campo Link (Enlace)

bull Si el valor del campo Link (Enlace) no especifica un ID de versioacuten antildeada etag= y la ETag al finaldel valor del campo Link (Enlace)

Note

Aunque no es tan faacutecil como copiar el valor del campo Link tambieacuten puede escribir laubicacioacuten de la revisioacuten en uno de los siguientes formatoss3bucket-namefoldersobjectNames3bucket-namefoldersobjectNameversionId=versionIds3bucket-namefoldersobjectNameetag=etags3bucket-namefoldersobjectNameversionId=versionIdampetag=etagbucket-names3amazonawscomfoldersobjectName

2 Si aparece un mensaje en la lista File type que indique que no se ha podido detectar el tipo de archivoseleccione el tipo de archivo de la revisioacuten En caso contrario acepte el tipo de archivo detectado

Especificar informacioacuten sobre una revisioacuten almacenada en unrepositorio de GitHubSi estaacute siguiendo los pasos descritos en Crear una implementacioacuten de Compute Platform (consola)de EC2On-Premises (p 329) siga estos tambieacuten para antildeadir detalles acerca de una revisioacuten de laaplicacioacuten almacenada en un repositorio de GitHub

1 En Connect to GitHub realice una de las siguientes acciones

bull Para crear una conexioacuten entre aplicaciones de CodeDeploy en una cuenta de GitHub cierre lasesioacuten de GitHub en otra pestantildea del navegador web En GitHub account (Cuenta de GitHub)introduzca un nombre para identificar esta conexioacuten y luego elija Connect to GitHub (Conectar aGitHub) La paacutegina web le pediraacute que autorice a CodeDeploy para interactuar con GitHub para laaplicacioacuten Continuacutee en el paso 2

bull Para utilizar una conexioacuten que haya creado previamente seleccione su nombre en GitHub accounty a continuacioacuten elija Connect to GitHub Continuacutee en el paso 4

bull Para crear una conexioacuten con una cuenta de GitHub distinta cierre la sesioacuten de GitHub en otrapestantildea del navegador web Elija Connect to a different GitHub account y a continuacioacuten elijaConnect to GitHub Continuacutee en el paso 2

2 Si se le pide iniciar sesioacuten en GitHub siga las instrucciones de la paacutegina Sign in Inicie sesioacuten con sunombre de usuario de GitHub o su direccioacuten de correo electroacutenico y contrasentildea

3 Si aparece la paacutegina Authorize application elija Authorize application4 En la paacutegina Create deployment (Crear implementacioacuten) en el cuadro Repository name (Nombre de

repositorio) escriba el nombre de usuario de GitHub o el nombre de la organizacioacuten que contiene larevisioacuten seguido de una barra inclinada () y del nombre del repositorio que contiene la revisioacuten Si noestaacute seguro del valor que debe especificar

a En otra pestantildea del navegador web abra el panel de Githubb En Your repositories pase el cursor sobre el nombre del repositorio de destino Apareceraacute un

mensaje informativo con el nombre de usuario de GitHub o el nombre de la organizacioacuten seguidode una barra inclinada () y del nombre del repositorio Escriba el valor mostrado en el cuadroRepository name (Nombre de repositorio)

Versioacuten de API 2014-10-06332

AWS CodeDeploy Guiacutea del usuarioCrear una implementacioacuten de Amazon

ECS Compute Platform (CLI)

Note

Si el nombre de repositorio de destino no aparece en Your repositories use el cuadroSearch GitHub para buscar repositorio de GitHub de destino y el nombre de usuario onombre de organizacioacuten

5 En el campo Commit ID (ID de confirmacioacuten) escriba el ID de la confirmacioacuten que hace referencia a larevisioacuten en el repositorio Si no estaacute seguro del valor que debe especificar

a En otra pestantildea del navegador web abra el panel de Githubb En Your repositories seleccione el nombre del repositorio que contiene la confirmacioacuten de

destinoc En la lista de confirmaciones busque y copie el ID de confirmacioacuten que hace referencia a la

revisioacuten en el repositorio Este ID suele tener 40 caracteres y se compone de letras y nuacutemerosNo utilice la versioacuten corta del ID de confirmacioacuten que suele ser los primeros 10 caracteres de laversioacuten larga

d Pegue el ID de confirmacioacuten en el cuadro Commit ID

Crear una implementacioacuten de Amazon ECS ComputePlatform (CLI)Una vez creada la aplicacioacuten y la revisioacuten (en las implementaciones Amazon ECS el archivo AppSpec)

Llame alcreate (implementacioacuten)comando de especificando

bull Un nombre de aplicacioacuten Para ver una lista de nombres de aplicaciones ejecute elGenerar una lista deaplicacionescomando

bull El nombre del grupo de implementaciones Para ver una lista de los nombres de los grupos deimplementaciones llame algrupos de despliegue de listascomando

bull Informacioacuten acerca de la revisioacuten a implementar

Para revisiones almacenadas en Amazon S3bull El nombre del bucket de Amazon S3 que contiene la revisioacutenbull El nombre de la revisioacuten cargadabull El identificador de versioacuten de Amazon S3 de la revisioacuten (opcional) (Si no se especifica el identificador

de versioacuten CodeDeploy usa la versioacuten maacutes reciente)bull La ETag de la revisioacuten (opcional) (Si no se especifica la ETag CodeDeploy omite la validacioacuten de

objeto)

Para las revisiones almacenadas en un archivo que no estaacute en Amazon S3 necesita el nombre dearchivo y su ruta El archivo de revisioacuten estaacute escrito en JSON o YAML por lo que probablemente tengauna extensioacuten json o yaml

bull Una descripcioacuten para la implementacioacuten (opcional)

El archivo de revisioacuten se puede especificar como un archivo cargado en un bucket de Amazon S3 o comouna cadena La sintaxis de cada uno cuando se usa como parte del comando create-deployment es

bull Bucket de Amazon S3

Los paraacutemetros version y eTag son opcionales

--s3-location bucket=stringkey=stringbundleType=JSON|YAMLversion=stringeTag=string

Versioacuten de API 2014-10-06333

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de unAWSImplementacioacutende Lambda Compute Platform (CLI)

bull Cadena

--revision revisionType String string contentrevision-as-string

Note

El comando create-deployment puede cargar una revisioacuten desde un archivo Para obtener maacutesinformacioacuten consulte Carga de paraacutemetros desde un archivo

Para las plantillas de revisioacuten de implementaciones de AWS Lambda consulte Adicioacuten de un archivoAppSpec para unAWSImplementacioacuten de Lambda (p 310) Para ver una revisioacuten de ejemplo consulte Ejemplo de archivo de AppSpec para unAWSImplementacioacuten de Lambda (p 438)

Para realizar un seguimiento del estado de la implementacioacuten consulte Ver detalles de implementacioacuten deCodeDeploy (p 340)

Creacioacuten de unAWSImplementacioacuten de LambdaCompute Platform (CLI)

Una vez creada la aplicacioacuten y la revisioacuten (enAWSImplementaciones Lambda este es el archivo AppSpec)

Llame alcreate (implementacioacuten)comando de especificando

bull Un nombre de aplicacioacuten Para ver una lista de nombres de aplicaciones ejecute elGenerar una lista deaplicacionescomando

bull El nombre del grupo de implementaciones Para ver una lista de los nombres de los grupos deimplementaciones llame algrupos de despliegue de listascomando

bull Informacioacuten acerca de la revisioacuten a implementar

Para revisiones almacenadas en Amazon S3bull El nombre del bucket de Amazon S3 que contiene la revisioacutenbull El nombre de la revisioacuten cargadabull El identificador de versioacuten de Amazon S3 de la revisioacuten (opcional) (Si no se especifica el identificador

de versioacuten CodeDeploy usa la versioacuten maacutes reciente)bull La ETag de la revisioacuten (opcional) (Si no se especifica la ETag CodeDeploy omite la validacioacuten de

objeto)

Para las revisiones almacenadas en un archivo que no estaacute en Amazon S3 necesita el nombre dearchivo y su ruta El archivo de revisioacuten estaacute escrito en JSON o YAML por lo que probablemente tengauna extensioacuten json o yaml

bull El nombre de la configuracioacuten de implementacioacuten a utilizar (opcional) Para ver una lista deconfiguraciones de implementacioacuten llame allist-deployment-configscomando Si no se especifica unaconfiguracioacuten de implementacioacuten CodeDeploy utiliza una predeterminada especiacutefica

bull Una descripcioacuten para la implementacioacuten (opcional)

El archivo de revisioacuten se puede especificar como un archivo cargado en un bucket de Amazon S3 o comouna cadena La sintaxis de cada uno cuando se usa como parte del comando create-deployment es

bull Bucket de Amazon S3

Los paraacutemetros version y eTag son opcionales

Versioacuten de API 2014-10-06334

AWS CodeDeploy Guiacutea del usuarioCrear una implementacioacuten de plataformade computacioacuten EC2On-Premises (CLI)

--s3-location bucket=stringkey=stringbundleType=JSON|YAMLversion=stringeTag=string

bull Cadena

--revision revisionType String string contentrevision-as-string

Note

El comando create-deployment puede cargar una revisioacuten desde un archivo Para obtener maacutesinformacioacuten consulte Carga de paraacutemetros desde un archivo

Para las plantillas de revisioacuten de implementaciones de AWS Lambda consulte Adicioacuten de un archivoAppSpec para unAWSImplementacioacuten de Lambda (p 310) Para ver una revisioacuten de ejemplo consulte Ejemplo de archivo de AppSpec para unAWSImplementacioacuten de Lambda (p 438)

Para realizar un seguimiento del estado de la implementacioacuten consulte Ver detalles de implementacioacuten deCodeDeploy (p 340)

Crear una implementacioacuten de plataforma decomputacioacuten EC2On-Premises (CLI)Para utilizar elAWS CLIpara implementar una revisioacuten de la plataforma de computacioacuten EC2On-Premises

1 Una vez preparadas las instancias creada la aplicacioacuten y enviada la revisioacuten realice alguna de lassiguientes accionesbull Si desea implementar una revisioacuten de un bucket de Amazon S3 continuacutee con el paso 2bull Si desea implementar una revisioacuten de un repositorio de GitHub primero siga los pasos descritos en

Connect una aplicacioacuten CodeDeploy a un repositorio de GitHub (p 337) y despueacutes continuacutee con elpaso 2

2 Llame alcreate (implementacioacuten)comando de especificandobull --application-name Un nombre de aplicacioacuten Para ver una lista de nombres de aplicaciones

ejecute elGenerar una lista de aplicacionescomandobull --deployment-group-name Un grupo de implementaciones de Amazon EC2 Para ver una lista

de los nombres de los grupos de implementaciones llame algrupos de despliegue de listascomandobull --revision informacioacuten acerca de la revisioacuten a implementar

Para revisiones almacenadas en Amazon S3bull s3Location El nombre del bucket de Amazon S3 que contiene la revisioacutenbull s3Location --gt key El nombre de la revisioacuten cargadabull s3Location --gt bundleType El tipo de archivo de la revisioacuten cargada

Note

Los formatos de archivo tar y tar comprimido (tar y targz) no se admiten para lasinstancias de Windows Server

bull s3Location --gt version El identificador de versioacuten de Amazon S3 de la revisioacuten (opcional)(Si no se especifica el identificador de versioacuten CodeDeploy usa la versioacuten maacutes reciente)

bull s3Location --gt eTag (Opcional) La ETag de la revisioacuten (Si no se especifica la ETagCodeDeploy omite la validacioacuten de objeto)

Para revisiones almacenadas en GitHubVersioacuten de API 2014-10-06

335

AWS CodeDeploy Guiacutea del usuarioCrear una implementacioacuten de plataformade computacioacuten EC2On-Premises (CLI)

bull gitHubLocation --gt repository El nombre de usuario de GitHub o el nombre del grupoasignado al repositorio que contiene la revisioacuten seguido de una barra inclinada () seguido delnombre del repositorio

bull gitHubLocation --gt commitId El ID de confirmacioacuten de la revisioacutenbull --deployment-config-name El nombre de la configuracioacuten de implementacioacuten a utilizar

(opcional) Para ver una lista de configuraciones de implementacioacuten llame allist-deployment-configscomando Si no se especifica una configuracioacuten de implementacioacuten CodeDeploy utiliza unapredeterminada especiacutefica

bull --ignore-application-stop-failures | --no-ignore-application-stop-failures(Opcional) Si desea que la implementacioacuten en una instancia continuacutee en laBeforeInstalleventodel ciclo de vida de la implementacioacuten si elApplicationStopfalla el evento del ciclo de vida de laimplementacioacuten

bull --description (Opcional) una descripcioacuten para la implementacioacutenbull --file-exists-behavior (Opcional) Como parte del proceso de implementacioacuten el agente

de CodeDeploy elimina de cada instancia todos los archivos instalados por la implementacioacuten maacutesreciente Elija queacute ocurre cuando los archivos que no formaban parte de una implementacioacuten anterioraparecen en las ubicaciones de implementacioacuten de destino

bull --target-instances En el caso de implementaciones bluegreen informacioacuten acerca de lasinstancias que pertenecen al entorno de sustitucioacuten en una implementacioacuten bluegreen incluidos losnombres de uno o varios grupos de Amazon EC2 Auto Scaling o la clave tipo y valor del filtro deetiquetas utilizado para identificar instancias Amazon EC2

Note

Utilice esta sintaxis como parte delcreate-deploymentllamada para especificar informacioacuten de unarevisioacuten en Amazon S3 directamente en la liacutenea de comandos Los paraacutemetros version y eTagson opcionales

--s3-location bucket=stringkey=stringbundleType=tar|tgz|zipversion=stringeTag=string

Utilice esta sintaxis como parte de la llamada create-deployment para especificar informacioacutensobre una revisioacuten en GitHub directamente en la liacutenea de comandos

--github-location repository=stringcommitId=string

Para obtener informacioacuten acerca de las revisiones que se han transferido llame allista-aplicaciones-revisionescomando

Para realizar un seguimiento del estado de la implementacioacuten consulte Ver detalles de implementacioacuten deCodeDeploy (p 340)

referencia de comandos create-deploymentA continuacioacuten se muestra la estructura de comandos y las opciones para elcreate-deploymentcomando Para obtener maacutes informacioacuten consulte lacreate (implementacioacuten)reference intheAWS CLIReferencia de los comandos

create-deployment--application-name ltvaluegt[--deployment-group-name ltvaluegt][--revision ltvaluegt][--deployment-config-name ltvaluegt][--description ltvaluegt]

Versioacuten de API 2014-10-06336

AWS CodeDeploy Guiacutea del usuarioCree una implementacioacuten bluegreen (azulverde)de Amazon ECS medianteAWS CloudFormation

[--ignore-application-stop-failures | --no-ignore-application-stop-failures][--target-instances ltvaluegt][--auto-rollback-configuration ltvaluegt][--update-outdated-instances-only | --no-update-outdated-instances-only][--file-exists-behavior ltvaluegt][--s3-location ltvaluegt][--github-location ltvaluegt][--cli-input-json ltvaluegt][--generate-cli-skeleton ltvaluegt]

Connect una aplicacioacuten CodeDeploy a un repositorio de GitHubAntes de implementar una aplicacioacuten desde un repositorio de GitHub por primera vez usando elAWS CLIprimero debe conceder a CodeDeploy el permiso para interactuar con GitHub en nombre de su cuenta deGitHub Este paso seguirse una vez por cada aplicacioacuten en la consola de CodeDeploy

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 Elija Applications (Aplicaciones)3 En Applications (Aplicaciones) elija la aplicacioacuten que desea vincular a su cuenta de usuario de GitHub

y seleccione Deploy application (Implementar aplicacioacuten)

Note

No estaacute creando una implementacioacuten Actualmente esta es la uacutenica manera de conceder aCodeDeploy el permiso para interactuar con GitHub en nombre de su cuenta de usuario deGitHub

4 Junto a Repository type elija My application revision is stored in GitHub5 Elija Connect to GitHub

Note

Si ve un enlace Connect to a different GitHub accountPuede haber autorizado ya a CodeDeploy para interactuar con GitHub en nombre de unacuenta de GitHub distinta para la aplicacioacutenPuede haber revocado a CodeDeploy la autorizacioacuten para interactuar con GitHub en nombrede la cuenta de GitHub registrada para todas las aplicaciones vinculadas en CodeDeployPara obtener maacutes informacioacuten consulte Autenticacioacuten de GitHub con aplicaciones enCodeDeploy (p 64)

6 Si todaviacutea no ha iniciado sesioacuten en GitHub siga las instrucciones de la paacutegina Sign in7 En la paacutegina Authorize application elija Authorize application8 Ahora que CodeDeploy tiene permiso elijaCancelary continuacutee con los pasos descritos enCrear una

implementacioacuten de plataforma de computacioacuten EC2On-Premises (CLI) (p 335)

Cree una implementacioacuten bluegreen (azulverde) deAmazon ECS medianteAWS CloudFormationPuede usarAWS CloudFormationpara administrar implementaciones bluegreen (azulverde) de AmazonECS a traveacutes de CodeDeploy Para generar la implementacioacuten defina los recursos verdes y azules y

Versioacuten de API 2014-10-06337

AWS CodeDeploy Guiacutea del usuarioCree una implementacioacuten bluegreen (azulverde)de Amazon ECS medianteAWS CloudFormation

especifique la configuracioacuten de enrutamiento y estabilizacioacuten del traacutefico que se va a utilizar en AWSCloudFormation En este tema se describen las diferencias entre las implementaciones bluegreen (azulverde) de Amazon ECS administradas por CodeDeploy y las implementaciones administradas porAWSCloudFormation

Para obtener instrucciones paso a pasoAWS CloudFormationpara administrar las implementaciones bluegreen (azulverde) de Amazon ECS consulteAutomatice las implementaciones laquobluegreenraquo de ECS atraveacutes de CodeDeploy utilizandoAWS CloudFormationen laAWS CloudFormationGuiacutea del usuario de

Note

Administracioacuten de implementaciones bluegreen (azulverde) de Amazon ECS conAWSCloudFormationno estaacute disponible en la regioacuten Asia-Paciacutefico (Osaka)

Diferencias entre las implementaciones bluegreen (azulverde)de Amazon ECS mediante CodeDeploy yAWS CloudFormationLaAWS CloudFormationmodelos de plantilla de pila de recursos e infraestructura de Amazon ECSrelacionados con tareas de asiacute como las opciones de configuracioacuten para implementaciones Por lo tantohay diferencias entre las implementaciones bluegreen (azulverde) estaacutendar de Amazon ECS y lasimplementaciones bluegreen (azulverde) que se crean a traveacutes deAWS CloudFormation

A diferencia de las implementaciones bluegreen (azulverde) estaacutendar de Amazon ECS no modela ni creamanualmente lo siguiente

bull No crea una aplicacioacuten de AWS CodeDeploy especificando un nombre que represente de formaexclusiva lo que desea implementar

bull No crea un grupo de implementacioacuten de AWS CodeDeploybull No se especifica unaarchivo de especificacioacuten de la aplicacioacuten(archivo AppSpec) La informacioacuten que

normalmente se administra con el archivo AppSpec como las opciones de configuracioacuten ponderadas olos eventos del ciclo de vida se administra mediante el enlace AWSCodeDeployBlueGreen

En esta tabla se resumen las diferencias en el flujo de trabajo de alto nivel entre los tipos deimplementacioacuten

Funcioacuten Implementaciones bluegreen(azulverde) estaacutendar

Implementaciones bluegreen (azul-verde) con AWSCloudFormation

Especifique el cluacutester deAmazon ECS el servicioAmazon ECS el ApplicationLoad Balancer o Network LoadBalancer el agente de escuchade produccioacuten el agente deescucha de prueba y dos gruposde destino

Cree un grupo deimplementaciones deCodeDeploy que especifiqueestos recursos

Cree una plantilla de AWSCloudFormation para modelarestos recursos

Especifique el cambio que se vaa implementar

Cree una aplicacioacuten CodeDeploy Cree una plantilla de AWSCloudFormation que especifiquela imagen del contenedor

Especifique la definicioacuten de tareade Amazon ECS el nombre

Cree un archivo AppSpec queespecifique estos recursos

Cree una plantilla de AWSCloudFormation para modelarestos recursos

Versioacuten de API 2014-10-06338

AWS CodeDeploy Guiacutea del usuarioCree una implementacioacuten bluegreen (azulverde)de Amazon ECS medianteAWS CloudFormation

Funcioacuten Implementaciones bluegreen(azulverde) estaacutendar

Implementaciones bluegreen (azul-verde) con AWSCloudFormation

del contenedor y el puerto delcontenedor

Especifique las opcionesde cambio de traacutefico deimplementacioacuten y los enlaces deeventos de ciclo de vida

Cree un archivo AppSpec queespecifique estas opciones

Cree una plantilla de AWSCloudFormation que utilicelos paraacutemetros de enlaceAWSCodeDeployBlueGreenpara especificar estas opciones

Alarmas de CloudWatch Cree una alarma de CloudWatchque desencadene unarestauracioacuten

Configure una alarma deCloudWatch en elAWSCloudFormationNivel de pila quedesencadene una restauracioacuten

Restauracioacutenreimplementacioacuten Especifique las opciones derestauracioacuten y reimplementacioacuten

Cancele la actualizacioacuten de lapila en AWS CloudFormation

Supervisioacuten de implementaciones laquobluegreenraquo de Amazon ECSa traveacutes deAWS CloudFormationPuede monitorear implementaciones bluegreen (azulverde) a traveacutes deAWS CloudFormationyCodeDeploy Para obtener maacutes informacioacuten sobre la monitorizacioacuten deAWS CloudFormationconsulteMonitoreo de eventos laquobluegreenraquoAWS CloudFormationen laAWS CloudFormationGuiacutea delusuario de

Para ver el estado de implementacioacuten de implementaciones bluegreen (azulverde) enCodeDeploy

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En Deployments (Implementaciones) aparece la implementacioacuten desencadenada por la actualizacioacutende la pila de AWS CloudFormation Elija la implementacioacuten para ver el Deployment history (Historial deimplementaciones)

3 Elija la implementacioacuten para ver el estado de cambio de traacutefico Tenga en cuenta que el grupo deaplicacioacuten e implantacioacuten no se han creado

Versioacuten de API 2014-10-06339

AWS CodeDeploy Guiacutea del usuarioVer detalles de las implementaciones

4 Lo siguiente se aplica para restaurar o detener la implementacioacuten

bull La implementacioacuten correcta aparece en CodeDeploy y muestra que la implementacioacuten fue iniciadaporAWS CloudFormation

bull Si desea detener y restaurar la implementacioacuten debe cancelar la actualizacioacuten de la pila en AWSCloudFormation

Ver detalles de implementacioacuten de CodeDeployPuede utilizar la consola de CodeDeployAWS CLI o las API de CodeDeploy para ver informacioacutendetallada acerca de las implementaciones asociadas a suAWSaccount

Note

Puede ver los logs de las implementaciones de EC2on-premise en las instancias en lassiguientes ubicaciones

bull Amazon Linux RHEL y Ubuntu Serveroptcodedeploy-agentdeployment-rootdeployment-logscodedeploy-agent-deploymentslog

bull Windows Server CProgramDataAmazonCodeDeploy ltDEPLOYMENT-GROUP-IDgtltDEPLOYMENT-IDgt logs scriptslog

Para obtener maacutes informacioacuten consulte Anaacutelisis de archivos de registro para investigar los erroresde implementacioacuten en instancias (p 473)

Temasbull Ver los detalles de las implementaciones (consola) (p 341)bull Ver los detalles de las implementaciones (CLI) (p 341)

Versioacuten de API 2014-10-06340

AWS CodeDeploy Guiacutea del usuarioVer los detalles de las implementaciones (consola)

Ver los detalles de las implementaciones (consola)Para utilizar la consola de CodeDeploy para ver los detalles de las implementaciones

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary luego elijaImplementaciones

Note

Si no se muestran entradas aseguacuterese de seleccionar la regioacuten correcta En la barra denavegacioacuten en el selector de regiones elija una de las regiones enumeradas enRegiones ypuntos de enlaceen laAWSReferencia general de CodeDeploy solo es compatible con estasregiones

3 Para ver maacutes detalles sobre una uacutenica implementacioacuten en Deployment history (Historial deimplementaciones) elija el ID de la implementacioacuten o seleccione el botoacuten situado junto al ID deimplementacioacuten y a continuacioacuten elija View (Ver)

Ver los detalles de las implementaciones (CLI)Para utilizar la AWS CLI para ver los detalles de las implementaciones ejecute el comando get-deployment o al comando batch-get-deployments Puede llamar al comando list-deploymentspara obtener una lista de ID exclusivos de las implementaciones para utilizar como entradas del comandoget-deployment y del comando batch-get-deployments

Para ver los detalles de una uacutenica implementacioacuten llame alget-deployment especificando elidentificador exclusivo de las implementaciones Para obtener el ID de implementacioacuten llame allist-deploymentscomando

Para ver los detalles de muacuteltiples implementaciones llame albatch-get-deployments especificando variosidentificadores exclusivos de las implementaciones Para obtener los ID de implementacioacuten llame allist-deploymentscomando

Para ver una lista de los ID de implementacioacuten llame allist-deploymentscomando especificando

bull El nombre de la aplicacioacuten asociada a la implementacioacuten Para ver una lista de nombres de aplicacionesllame allist-applicationscomando

bull El nombre del grupo de implementaciones asociado a la implementacioacuten Para ver una lista de nombresde grupos de implementaciones llame algrupos de despliegue de listascomando

bull Si lo prefiere puede incluir detalles acerca de las implementaciones por su estado de implementacioacuten(Si no se especifican se enumeraraacuten todas las implementaciones coincidentes independientemente desu estado de implementacioacuten)

bull Si lo prefiere puede incluir detalles acerca de las implementaciones por la hora de inicio o final decreacioacuten o ambas (Si no se especifican se enumeraraacuten todas las implementaciones coincidentesindependientemente de sus horas de creacioacuten)

Versioacuten de API 2014-10-06341

AWS CodeDeploy Guiacutea del usuarioVer datos del registro de implementacioacuten

Ver datos de registro de las implementaciones deCodeDeploy EC2On-Premises

Para ver los datos de registro creados por una implementacioacuten de CodeDeploy configure el agente deAmazon CloudWatch Logs de modo que visualice los datos agregados en la consola de CloudWatch obien inicie sesioacuten en una instancia individual para consultar el archivo de registro

Note

Los registros no son compatibles conAWSImplementaciones de Lambda o Amazon ECS Sepueden crear solo para implementaciones EC2On-Premises

Temasbull Ver los datos del archivo de registro en la consola de Amazon CloudWatch (p 342)bull Ver archivos de registro de una instancia (p 342)

Ver los datos del archivo de registro en la consola deAmazon CloudWatchCuando el agente de Amazon CloudWatch Logs estaacute instalado en una instancia los datos del log detodas las implementaciones efectuadas en ella estaraacuten disponibles en la consola de CloudWatchPara simplificar le recomendamos que utilice Amazon CloudWatch Logs para monitorizar de formacentralizada los archivos de log en lugar de hacerlo en cada instancia Para obtener informacioacuten sobre laconfiguracioacuten del agente de Amazon CloudWatch Logs consulteVer los logs de CodeDeploy en la consolade CloudWatch Logs

Ver archivos de registro de una instanciaPara ver los datos del log de implementacioacuten de una instancia individual puede iniciar sesioacuten en lainstancia y examinar la informacioacuten sobre errores u otros eventos de implementacioacuten

Temasbull Para ver los archivos de log de implementacioacuten en las instancias de Amazon Linux RHEL y Ubuntu

Server (p 342)bull Para ver los archivos de log de implementacioacuten en las instancias de Windows Server (p 344)

Para ver los archivos de log de implementacioacuten en las instanciasde Amazon Linux RHEL y Ubuntu ServerEn las instancias de Amazon Linux RHEL y Ubuntu Server los logs de implementacioacuten se encuentran enla ubicacioacuten siguiente

optcodedeploy-agentdeployment-rootdeployment-logscodedeploy-agent-deploymentslog

Para ver o analizar los logs de implementacioacuten de las instancias de Amazon Linux RHEL y Ubuntu Serverinicie sesioacuten en la instancia y a continuacioacuten ejecute el comando siguiente para abrir el archivo de log delagente de CodeDeploy

Versioacuten de API 2014-10-06342

AWS CodeDeploy Guiacutea del usuarioVer archivos de registro de una instancia

less varlogawscodedeploy-agentcodedeploy-agentlog

Ejecute los comandos siguientes para buscar mensajes de error en el archivo de log

Comando Resultado

amp ERROR Muestra solo los mensajes de error del archivo delog Utilice un uacutenico espacio delante y detraacutes de lapalabra ERROR

ERROR Busca el mensaje de error siguiente

ERROR Busca el mensaje de error anterior sup2 Utilice unuacutenico espacio delante y detraacutes de la palabraERROR

G Ir al final del archivo de log

g Ir al inicio del archivo de log

q Salir del archivo de log

h Conozca otros comandos

sup1 Despueacutes de escribir ERROR tiponpara ir al mensaje de error siguiente Escriba N para ir al mensajede error anterior

sup2 Despueacutes de escribir ERROR tiponpara ir al mensaje de error siguiente o escribaNpara ir al mensajede error anterior

Tambieacuten puede ejecutar el comando siguiente para abrir un archivo de log de scripts de CodeDeploy

less optcodedeploy-agentdeployment-rootdeployment-group-IDdeployment-IDlogsscriptslog

Ejecute los comandos siguientes para buscar mensajes de error en el archivo de log

Comando Resultado

ampstderr Muestra solo los mensajes de error del archivo delog

stderr Busca el mensaje de error siguiente

stderr Busca el mensaje de error anterior

G Ir al final del archivo de log

g Ir al inicio del archivo de log

q Salir del archivo de log

h Conozca otros comandos

sup1Despueacutes de escribirstderr tiponPara ir al mensaje de error siguiente hacia delante Escriba N para iral mensaje de error anterior hacia atraacutes

sup2 Despueacutes de escribirstderr tiponPara ir al mensaje de error siguiente hacia atraacutes Escriba N para ir almensaje de error anterior hacia delante

Versioacuten de API 2014-10-06343

AWS CodeDeploy Guiacutea del usuarioDetener una implementacioacuten

Para ver los archivos de log de implementacioacuten en las instanciasde Windows ServerArchivo de registro del agente CodeDeploy En las instancias de Windows Server el archivo de log delagente de CodeDeploy se encuentra en la ubicacioacuten siguiente

CProgramDataAmazonCodeDeploylogcodedeploy-agent-logtxt

Para ver o analizar el archivo de log del agente de CodeDeploy en una instancia de Windows Server iniciesesioacuten en la instancia y a continuacioacuten ejecute el comando siguiente para abrir el archivo

notepad CProgramDataAmazonCodeDeploylogcodedeploy-agent-logtxt

Para buscar mensajes de error en el archivo de registro pulse CTRL+F escriba ERROR [ y acontinuacioacuten pulse Intro para encontrar el primer error

Archivos de registro de scripts CodeDeploy En las instancias de Windows Server los registros deimplementacioacuten se encuentran en la ubicacioacuten siguiente

CProgramDataAmazonCodeDeploydeployment-group-iddeployment-idlogsscriptslog

Donde

bull deployment-group-id es una cadena similar a examplebf3a9c7a-7c19-4657-8684-b0c68d0cd3c4

bull deployment-id es un identificador similar a d-12EXAMPLE

Ejecute el comando siguiente para abrir un archivo de log de scripts de CodeDeploy

notepad CProgramDataAmazonCodeDeploydeployment-group-IDdeployment-IDlogsscriptslog

Para buscar mensajes de error en el archivo de registro pulse CTRL+F escriba stderr y a continuacioacutenpulse Intro para encontrar el primer error

Detener una implementacioacuten con CodeDeployPuede utilizar la consola de CodeDeploy laAWS CLIo las API de CodeDeploy para detenerimplementaciones asociadas a suAWSaccount

Warning

Detener una implementacioacuten de EC2local puede dejar a algunas o a todas las instancias de losgrupos de implementaciones en un estado de implementacioacuten indeterminado Para obtener maacutesinformacioacuten consulte Implementaciones detenidas y con error (p 31)

Puede detener una implementacioacuten o detener y restaurar una implementacioacutenbull Detener una implementacioacuten (consola) (p 345)bull Detener una implementacioacuten (CLI) (p 345)

Note

Si la implementacioacuten es una implementacioacuten laquobluegreenraquo a traveacutes deAWS CloudFormationno puede llevar a cabo esta tarea en la consola de CodeDeploy Vaya a la consola de AWSCloudFormation para realizar esta tarea

Versioacuten de API 2014-10-06344

AWS CodeDeploy Guiacutea del usuarioDetener una implementacioacuten (consola)

Detener una implementacioacuten (consola)1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttps

consoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary luego seleccioneImplementaciones

Note

Si no se muestran entradas aseguacuterese de seleccionar la regioacuten correcta En la barra denavegacioacuten en el selector de regiones elija una de las regiones enumeradas enRegiones ypuntos de enlaceen laAWSReferencia general de CodeDeploy solo es compatible con estasregiones

3 Elija la implementacioacuten que desea que deje de hacer una de las siguientes acciones

1 Elija Stop deployment (Detener la implementacioacuten) para detener la implementacioacuten sin realizar unarestauracioacuten

2 Elija Stop and roll back deployment (Detener y restaurar la implementacioacuten) para detener yrestaurar la implementacioacuten

Para obtener maacutes informacioacuten consulte Redesplegar y deshacer una implementacioacuten conCodeDeploy (p 345)

Note

Si Stop deployment (Detener la implementacioacuten) y Stop and roll back deployment (Detenery restaurar la implementacioacuten) aparecen no disponibles la implementacioacuten ha progresadohasta un punto en el que no puede detenerse

Detener una implementacioacuten (CLI)Llame a ladetener el despliegue especificando el ID de implementacioacuten Para ver una lista de los ID deimplementacioacuten llame a laimplementaciones de listascomando

Redesplegar y deshacer una implementacioacuten conCodeDeploy

CodeDeploy resta las implementaciones volviendo a implementar una revisioacuten implementadaanteriormente de una aplicacioacuten como una nueva implementacioacuten Estas implementaciones restauradasson desde el punto de vista teacutecnico nuevas implementaciones con nuevos ID de implementacioacuten enlugar de versiones recuperadas de una implementacioacuten anterior

Las implementaciones se pueden restaurar de forma automaacutetica o manual

Temasbull Restauraciones automaacuteticas (p 346)bull Restauraciones manuales (p 346)bull Flujo de trabajo de la restauracioacuten y reimplementacioacuten (p 346)

Versioacuten de API 2014-10-06345

AWS CodeDeploy Guiacutea del usuarioRestauraciones automaacuteticas

bull Comportamiento de reversioacuten con contenido existente (p 347)

Restauraciones automaacuteticasPuede configurar una implementacioacuten o un grupo de implementaciones para que se restaurenautomaacuteticamente si falla una implementacioacuten o si se supera un umbral de monitorizacioacuten que hayaespecificado En este caso se implementa la uacuteltima versioacuten correcta conocida de una revisioacuten de laaplicacioacuten Puede configurar restauraciones automaacuteticas al crear una aplicacioacuten o al crear o actualizar ungrupo de implementaciones

Al crear una nueva implementacioacuten tambieacuten puede optar por anular la configuracioacuten de restauracioacutenautomaacutetica especificada para el grupo de implementaciones

Note

Puede utilizar Amazon Simple Notification Service para recibir una notificacioacuten cuando seresta automaacuteticamente una implementacioacuten Para obtener informacioacuten consulte MonitoringDeployments with Amazon SNS Event Notifications (p 365)

Para obtener maacutes informacioacuten acerca de coacutemo configurar restauraciones automaacuteticas consulteConfiguracioacuten de las opciones avanzadas de un grupo de implementaciones (p 303)

Restauraciones manualesSi no ha configurado restauraciones automaacuteticas puede restaurar manualmente una implementacioacutencreando una nueva implementacioacuten que utilice cualquier revisioacuten de una aplicacioacuten implementadaanteriormente y siguiendo los pasos para volver a implementar una revisioacuten Puede hacerlo si unaaplicacioacuten se ha quedado en un estado desconocido En lugar de dedicar mucho tiempo a resolverproblemas puede volver a implementar la aplicacioacuten a un estado operativo conocido Para obtener maacutesinformacioacuten consulte Cree una implementacioacuten con CodeDeploy (p 324)

Note

Si elimina una instancia de un grupo de implementaciones CodeDeploy no desinstala nada quepuede que ya se haya instalado en dicha instancia

Flujo de trabajo de la restauracioacuten y reimplementacioacutenCuando se inicia una restauracioacuten automaacutetica o cuando inicia manualmente una reimplementacioacuten o unarestauracioacuten manual CodeDeploy intenta primero eliminar de cada instancia participante todos los archivosque se han instalado correctamente por uacuteltima vez CodeDeploy realiza este proceso comprobando elarchivo de limpieza

optcodedeploy-agentdeployment-rootdeployment-instructionsdeployment-group-ID-cleanup(para instancias de Amazon Linux Ubuntu Server y RHEL)

CProgramDataAmazonCodeDeploydeployment-instructionsdeployment-group-ID-cleanuparchivo (para instancias de Windows Server)

Si existe CodeDeploy utiliza el archivo de limpieza para eliminar de la instancia todos los archivosenumerados antes de empezar la nueva implementacioacuten

Por ejemplo los dos primeros archivos de texto y los dos archivos de script ya estaban implementadosuna instancia Amazon EC2 que ejecutaba Windows Server y los scripts crearon dos archivos de texto maacutesdurante los eventos del ciclo de vida de la implementacioacuten

ctempatxt (previously deployed by CodeDeploy)ctempbtxt (previously deployed by CodeDeploy)

Versioacuten de API 2014-10-06346

AWS CodeDeploy Guiacutea del usuarioComportamiento de reversioacuten con contenido existente

ctempcbat (previously deployed by CodeDeploy)ctempdbat (previously deployed by CodeDeploy)ctempetxt (previously created by cbat)ctempftxt (previously created by dbat)

El archivo de limpieza enumeraraacute uacutenicamente los dos primeros archivos de texto y dos archivos de script

ctempatxtctempbtxt ctempcbat ctempdbat

Antes de la nueva implementacioacuten CodeDeploy eliminaraacute solo los dos primeros archivos de texto y los dosarchivos de script dejando intactos los uacuteltimos dos archivos de texto

ctempatxt will be removedctempbtxt will be removedctempcbat will be removedctempdbat will be removedctempetxt will remainctempftxt will remain

Como parte de este proceso CodeDeploy no intentaraacute revertir o conciliar de alguacuten modo las accionesrealizadas por ninguacuten script en las implementaciones anteriores durante las reimplementacionesposteriores ya sean recuperaciones manuales o automaacuteticas Por ejemplo sicbatydbatlos archivoscontienen loacutegica para no volver a crear eletxtyftxtarchivos si ya existen luego las versionesanteriores deetxtyftxtpermaneceraacute intacto cada vez que se ejecute CodeDeploycbatydbatenimplementaciones posteriores Puede antildeadir loacutegica cbat y dbat para comprobar y eliminar siempre lasversiones anteriores de etxt y ftxt antes de crear otras nuevas

Comportamiento de reversioacuten con contenido existenteComo parte del proceso de implementacioacuten el agente de CodeDeploy elimina de cada instancia todoslos archivos instalados por la implementacioacuten maacutes reciente Si en las ubicaciones de implementacioacuten dedestino aparecen archivos que no formaban parte de una implementacioacuten anterior puede elegir queacute haceCodeDeploy con ellos durante la siguiente implementacioacuten

bull Fail the deployment se notifica un error y el estado de la implementacioacuten cambia a Failedbull Sobrescribir el contenido la versioacuten del archivo de la revisioacuten de la aplicacioacuten sustituye a la versioacuten ya

incluida en la instanciabull Mantener el contenido el archivo de la ubicacioacuten de destino se conserva y la versioacuten de la revisioacuten de la

aplicacioacuten no se copia en la instancia

Puede elegir este comportamiento al crear una implementacioacuten Si crea una implementacioacuten en la consolaconsulteCrear una implementacioacuten de Compute Platform (consola) de EC2On-Premises (p 329)Si se crea una implementacioacuten con elAWS CLI consulteCrear una implementacioacuten de plataforma decomputacioacuten EC2On-Premises (CLI) (p 335)

Puede optar por conservar los archivos que desea que formen parte de la proacutexima implementacioacuten sintener que antildeadirlos al paquete de revisioacuten de la aplicacioacuten Por ejemplo podriacutea cargar directamente en lainstancia los archivos que son necesarios para la implementacioacuten pero que no se antildeadieron al paquetede revisioacuten de la aplicacioacuten O podriacutea cargar archivos en la instancia si sus aplicaciones ya estaacuten en suentorno de produccioacuten pero desea utilizar CodeDeploy por primera vez para implementarlos

En el caso de las restauraciones en las que se vuelve a implementar la uacuteltima revisioacuten de la aplicacioacutenimplementada correctamente debido a un error de implementacioacuten se aplica la opcioacuten de gestioacuten decontenido de la uacuteltima implementacioacuten correcta a la implementacioacuten de restauracioacuten

Versioacuten de API 2014-10-06347

AWS CodeDeploy Guiacutea del usuarioComportamiento de reversioacuten con contenido existente

Sin embargo si la implementacioacuten erroacutenea se configuroacute para sobrescribir en lugar de para conservar losarchivos podriacutea producirse un resultado inesperado durante la restauracioacuten En concreto los archivosque esperaba conservar puede que los elimine la implementacioacuten erroacutenea Los archivos no estaacuten en lainstancia cuando se ejecuta la implementacioacuten de restauracioacuten

En el siguiente ejemplo existen tres implementaciones Cualquier archivo que se sobrescribe (elimina)durante la segunda implementacioacuten erroacutenea ya no estaraacute disponible (no se puede conservar) cuando seimplemente de nuevo la 1ordf revisioacuten de la aplicacioacuten durante la 3ordf implementacioacuten

Implementacioacuten Revisioacuten de laaplicacioacuten

Opcioacuten desobrescritura delcontenido

Estado de laimplementacioacuten

Comportamiento yresultado

1ordf implementacioacuten 1ordf revisioacuten de laaplicacioacuten

RETAIN Succeeded CodeDeploydetecta archivosen las ubicacionesde destinoque no fueronimplementados porla implementacioacutenanterior Estosarchivos podriacuteancolocarse alliacutedeliberadamentepara que formenparte de laimplementacioacutenactual Seconservan yregistran comoparte del paquetede implementacioacutenactual

2ordf implementacioacuten 2ordf revisioacuten de laaplicacioacuten

OVERWRITE Con error Durante elproceso deimplementacioacutenCodeDeployelimina todoslos archivos queforman partede la anteriorimplementacioacutencorrecta Estoincluye losarchivos quese conservarondurante la 1ordfimplementacioacuten

Sin embargo laimplementacioacutenfalla por motivosajenos

3ordf implementacioacuten 1ordf revisioacuten de laaplicacioacuten

RETAIN Dado que estaacutehabilitada larestauracioacuten

Versioacuten de API 2014-10-06348

AWS CodeDeploy Guiacutea del usuarioImplementar una aplicacioacuten en otroAWScuenta

Implementacioacuten Revisioacuten de laaplicacioacuten

Opcioacuten desobrescritura delcontenido

Estado de laimplementacioacuten

Comportamiento yresultado

automaacutetica parala implementacioacuteno grupo deimplementacionesCodeDeployimplementa lauacuteltima revisioacutende la aplicacioacutencorrecta conocidala 1ordf revisioacuten de laaplicacioacuten

Sin embargolos archivosque deseabaconservar en la 1ordfimplementacioacuten seeliminaron antesde que fallara la2ordf implementacioacuteny no se puedenrecuperarmedianteAWSCodeDeployPuede antildeadirlosusted mismo a lainstancia si sonnecesarios parala 1ordf revisioacuten dela aplicacioacuten opuede crear unanueva revisioacuten dela aplicacioacuten

Implementar una aplicacioacuten en otroAWScuentaLas organizaciones suelen tener varias cuentas de AWS que utilizan para fines diferentes (por ejemplouna para tareas de administracioacuten de sistemas y otra para tareas de desarrollo prueba y produccioacuten o unaasociada a entornos de desarrollo y prueba y otra asociada a un entorno de produccioacuten)

Si bien puede llevar a cabo tareas relacionadas en cuentas diferentes los grupos de implementaciones deCodeDeploy y las instancias Amazon EC2 en las que se implementan estaacuten estrictamente vinculadas a lascuentas con las que se crearon Por ejemplo no se puede antildeadir una instancia que lanzoacute en una cuenta aun grupo de implementaciones en otra

Suponga que tiene dos cuentas de AWS su cuenta de desarrollo y su cuenta de produccioacuten Trabajaprincipalmente en la cuenta de desarrollo pero desea poder iniciar implementaciones en su cuenta deproduccioacuten sin un conjunto completo de credenciales alliacute o sin tener que salir de la cuenta de desarrollo einiciar sesioacuten en la cuenta de produccioacuten

Despueacutes de seguir los pasos de configuracioacuten entre cuentas puede iniciar implementaciones quepertenecen a otra cuenta de la organizacioacuten sin necesitar un conjunto completo de credenciales para esa

Versioacuten de API 2014-10-06349

AWS CodeDeploy Guiacutea del usuarioPaso 1 Creacioacuten de S3 Bucket en cualquiera de las cuentas

otra cuenta Esto es posible en parte utilizando una capacidad proporcionada por elAWS Security TokenService(AWS STS) que le otorga acceso temporal a esa cuenta

Paso 1 Creacioacuten de S3 Bucket en cualquiera de lascuentasEn la cuenta de desarrollo o en la cuenta de produccioacuten

bull Si auacuten no lo ha hecho cree un bucket de Amazon S3 en el cual se almacenaraacuten las revisiones de laaplicacioacuten para la cuenta de produccioacuten Para obtener informacioacuten consulteCreacioacuten de bucket deAmazon S3 Incluso puede utilizar el mismo bucket y revisiones de la aplicacioacuten para ambas cuentasimplementando los mismos archivos a su entorno de produccioacuten que ya proboacute y verificoacute en la cuenta dedesarrollo

Paso 2 Conceder permisos de bucket de AmazonS3 al perfil de instancia de IAM de la cuenta deproduccioacutenSi el bucket de Amazon S3 que creoacute en el paso 1 estaacute en la cuenta de produccioacuten este paso no esnecesario El rol que asuma despueacutes ya tendraacute acceso a este bucket porque tambieacuten estaraacute en la cuentade produccioacuten

Si creoacute el bucket de Amazon S3 en la cuenta de desarrollo haga lo siguiente

bull En la cuenta de produccioacuten cree un perfil de instancia de IAM Para obtener informacioacuten consultePaso 4 Crear un perfil de instancias de IAM para sus instancias Amazon EC2 (p 43)

Note

Anote el ARN de este perfil de instancia de IAM Deberaacute antildeadirlo a la poliacutetica de bucketscruzados que cree a continuacioacuten

bull En la cuenta de desarrollo conceda acceso al bucket de Amazon S3 que creoacute en la cuenta de desarrolloal perfil de instancia de IAM que acaba de crear en la cuenta de produccioacuten Para obtener informacioacutenconsulteEjemplo 2 Propietario del bucket de que concede permisos de bucket entre cuentas

Tenga en cuenta lo siguiente cuando complete el proceso de conceder permisos de bucket entrecuentasbull En el ejemplo del tutorial la Cuenta A representa la cuenta de desarrollo y la Cuenta B representa la

cuenta de produccioacutenbull Cuando realice las tareas de la cuenta A (cuenta de desarrollo) modifique la siguiente poliacutetica de

bucket para conceder permisos entre cuentas en lugar de utilizar la poliacutetica de ejemplo del tutorial

Version 2012-10-17 Statement [ Sid Cross-account permissions Effect Allow Principal AWS arnawsiamaccount-idrolerole-name Action [ s3Get s3List

Versioacuten de API 2014-10-06350

AWS CodeDeploy Guiacutea del usuarioPaso 3 Creacioacuten de recursos y un rol

entre cuentas en la cuenta de produccioacuten

] Resource [ arnawss3bucket-name ] ]

account-idrepresenta el nuacutemero de cuenta de la cuenta de produccioacuten en la que acaba de crear elperfil de instancia de IAM

role-namerepresenta el nombre del perfil de instancia de IAM que acaba de crear

bucket-name representa el nombre del bucket que creoacute en el paso 1 Aseguacuterese de incluir despueacutes del nombre de su bucket para conceder acceso a cada uno de los archivos dentro del bucket

Paso 3 Creacioacuten de recursos y un rol entre cuentasen la cuenta de produccioacutenEn su cuenta de produccioacuten

bull Cree los recursos de CodeDeploy (aplicacioacuten grupo de implementaciones configuracioacuten deimplementacioacuten instancias Amazon EC2 perfil de instancia Amazon EC2 rol de servicio etc) siguiendolas instrucciones de esta guiacutea

bull Cree un rol adicional un rol de IAM entre cuentas que un usuario de su cuenta de desarrollo puedaasumir para llevar a cabo operaciones de CodeDeploy en esta cuenta de produccioacuten

UsarGuiacutea de en el tutorial Delegar el acceso entre cuentasAWScuentas con roles de IAMComo guiacuteapara ayudarle a crear el rol entre cuentas En lugar de agregar los permisos de muestra del tutorial aldocumento de la poliacutetica debe adjuntar como miacutenimo los dos siguientesAWSpoliacuteticas suministradas ala funcioacutenbull AmazonS3FullAccess necesaria solamente si el bucket de S3 estaacute en la cuenta de desarrollo

Proporciona el rol asumido de la cuenta de produccioacuten con acceso total a los servicios y recursos deAmazon S3 en la cuenta de desarrollo donde se almacena la revisioacuten

bull AWSCodeDeployDeployerAccess habilita a un usuario de IAM a registrar e implementar revisiones

Si desea crear y administrar grupos de implementaciones y no solamente iniciarimplementaciones antildeada la poliacutetica AWSCodeDeployFullAccess en lugar de la poliacuteticaAWSCodeDeployDeployerAccess Para obtener maacutes informacioacuten acerca del uso de poliacuteticasadministradas de IAM para conceder permisos para tareas de CodeDeploy consulteAWSPoliacuteticasadministradas por (predefinidas) para CodeDeploy (p 385)

Puede adjuntar poliacuteticas adicionales si desea ejecutar tareas en otros servicios de AWS mientras utilizaeste rol entre cuentas

Important

Cuando cree el rol de IAM entre cuentas anote los detalles que necesitaraacute para acceder a lacuenta de produccioacutenPara utilizar la AWS Management Console para intercambiar los roles debe proporcionar una delas siguientes opciones

bull Una URL para acceder a la cuenta de produccioacuten con las credenciales del rol asumidoEncontraraacute la URL en la paacutegina Review que aparece al final del proceso de creacioacuten de rolentre cuentas

Versioacuten de API 2014-10-06351

AWS CodeDeploy Guiacutea del usuarioPaso 4 Cargue la revisioacuten de la

aplicacioacuten en el bucket de Amazon S3

bull El nombre del rol entre cuentas y el nuacutemero del ID de la cuenta o el alias

Para utilizar la AWS CLI para intercambiar los roles debe proporcionar una de las siguientesopciones

bull El ARN del rol entre cuentas que asumiraacute

Paso 4 Cargue la revisioacuten de la aplicacioacuten en elbucket de Amazon S3En la cuenta en la que creoacute el bucket de Amazon S3

bull Cargue la revisioacuten de la aplicacioacuten al bucket de Amazon S3 Para obtener informacioacuten consulte Enviaruna revisioacuten de CodeDeploy en Amazon S3 (solo implementaciones de EC2locales) (p 316)

Paso 5 Asumir el rol de acceso entre cuentas eimplementar aplicacionesEn la cuenta de desarrollo puede utilizar la AWS CLI o la AWS Management Console para asumir el rolentre cuentas e iniciar la implementacioacuten en la cuenta de produccioacuten

Para obtener instrucciones acerca de coacutemo usar elAWS Management Consolepara cambiar deroles e iniciar implementaciones consulteCambio a un rol (AWS Management Console)yCrear unaimplementacioacuten de Compute Platform (consola) de EC2On-Premises (p 329)

Para obtener instrucciones acerca de coacutemo usar elAWS CLIpara asumir el rol de acceso entre cuentase iniciar implementaciones consulteCambio a un rol de IAM (AWS Command Line Interface)yCrear unaimplementacioacuten de plataforma de computacioacuten EC2On-Premises (CLI) (p 335)

Para obtener maacutes informacioacuten acerca de asumir un rol a traveacutes deAWS STS consulteAssumeRoleenlaAWS Security Token ServiceGuiacutea del usuario deyasumir rolen laAWS CLIReferencia de los comandos

Tema relacionado

bull CodeDeploy Implementacioacuten de una cuenta de desarrollo a una cuenta de produccioacuten

Usar el agente de CodeDeploy para validar unpaquete de implementacioacuten en una maacutequina local

Mediante el agente de CodeDeploy puede implementar contenido en una instancia a la que esteacuteconectado Esto le permite probar la integridad del archivo de especificacioacuten de la aplicacioacuten (archivoAppSpec) que va a utilizar en una implementacioacuten y del contenido que va a implementar

No necesita crear una aplicacioacuten ni un grupo de implementaciones Si desea implementar contenidoalmacenado en la instancia local tampoco necesita una cuenta de AWS Para las pruebas maacutes sencillaspuede ejecutar el archivocodedeploy-local sin especificar opciones en un directorio que contenga elarchivo AppSpec y el contenido que va a implementar Existen opciones para otros escenarios de pruebaen la herramienta

Mediante la validacioacuten de un paquete de implementacioacuten en una maacutequina local puede

Versioacuten de API 2014-10-06352

AWS CodeDeploy Guiacutea del usuarioRequisitos previos

bull Probar la integridad de una revisioacuten de la aplicacioacutenbull Probar el contenido de un archivo AppSpecbull Probar CodeDeploy por primera vez con su coacutedigo de aplicacioacuten existentebull Implementar contenido raacutepidamente cuando ya ha iniciado sesioacuten en una instancia

Puede implementar el contenido almacenado en la instancia local o en un tipo de repositorio remotocompatible (buckets de Amazon S3 o repositorios de GitHub puacuteblicos)

Requisitos previosAntes de iniciar una implementacioacuten local siga los pasos que se indican a continuacioacuten

bull Cree o utilice un tipo de instancia compatible con el agente de CodeDeploy Para obtener informacioacutenconsulte Sistemas operativos compatibles con el agente de CodeDeploy (p 175)

bull Instale la versioacuten 1011352 o posterior del agente de CodeDeploy Para obtener informacioacuten consulteInstalacioacuten del agente de CodeDeploy (p 189)

bull Si va a implementar su contenido desde un bucket de Amazon S3 o un repositorio de GitHubaprovisione un usuario de IAM para su uso con CodeDeploy Para obtener informacioacuten consulte Paso 3Provisionar un usuario de IAM (p 41)

bull Si va a implementar la revisioacuten de la aplicacioacuten desde un bucket de Amazon S3 cree un bucket deAmazon S3 en la regioacuten en la que estaacute trabajando y aplique una poliacutetica de bucket de Amazon S3 albucket Esta poliacutetica concede a las instancias los permisos necesarios para descargar la revisioacuten de laaplicacioacuten

Por ejemplo la siguiente poliacutetica de bucket de Amazon S3 permite a cualquierinstancia de Amazon EC2 con un perfil de instancia de IAM adjunto que contenga elARNarnawsiam444455556666roleCodeDeployDemodescargar desde cualquier lugar albucket de Amazon S3 denominadocodedeploydemobucket

Statement [ Action [ s3Get s3List ] Effect Allow Resource arnawss3codedeploydemobucket Principal AWS [ arnawsiam444455556666roleCodeDeployDemo ] ]

La siguiente poliacutetica de bucket de Amazon S3 permite a cualquier instancia on-premises conun usuario de IAM asociado que contenga el ARNarnawsiam444455556666userCodeDeployUserdescargar desde cualquier lugar al bucket de Amazon S3denominadocodedeploydemobucket

Statement [ Action [

Versioacuten de API 2014-10-06353

AWS CodeDeploy Guiacutea del usuarioCrear una implementacioacuten local

s3Get s3List ] Effect Allow Resource arnawss3codedeploydemobucket Principal AWS [ arnawsiam444455556666userCodeDeployUser ] ]

Para obtener informacioacuten acerca de coacutemo generar y asociar una poliacutetica de bucket de Amazon S3consulteEjemplos de poliacutetica de bucket

bull Si va a implementar la revisioacuten de la aplicacioacuten desde un bucket de Amazon S3 o un repositorio deGitHub configure un perfil de instancia de IAM y asoacutecielo a la instancia Para obtener informacioacutenconsulte Paso 4 Crear un perfil de instancias de IAM para sus instancias Amazon EC2 (p 43) Creacioacutende una instancia de Amazon EC2 para CodeDeploy (AWS CLIo consola de Amazon EC2) (p 217) yCrear una instancia Amazon EC2 para CodeDeploy (AWS CloudFormationplantilla) (p 221)

bull Si va a implementar su contenido desde GitHub cree una cuenta y un repositorio puacuteblico de GitHubPara crear una cuenta de GitHub consulte Join GitHub Para crear un repositorio de GitHubconsulteCrear un repositorio

Note

Actualmente no se admiten repositorios privados Si el contenido estaacute almacenado en unrepositorio de GitHub privado puede descargarlo en la instancia y utilizar la opcioacuten --bundle-location para especificar su ruta local

bull Prepare el contenido (incluido un archivo AppSpec) que desea implementar en la instancia y coloacutequeloen la instancia local en su bucket de Amazon S3 o en el repositorio de GitHub Para obtenerinformacioacuten consulte Uso de revisiones de aplicaciones de CodeDeploy (p 307)

bull Si desea utilizar valores distintos de los predeterminados para otras opciones de configuracioacutencree el archivo de configuracioacuten y coloacutequelo en la instancia (etccodedeploy-agentconfcodedeployagentymlpara instancias de Amazon Linux RHEL o Ubuntu Server oCProgramDataAmazonCodeDeployconfymlpara instancias de Windows Server) Para obtener informacioacutenconsulte Referencia de configuracioacuten del agente CodeDeploy (p 441)

Note

Si utiliza un archivo de configuracioacuten en instancias de Amazon Linux RHEL o Ubuntu Serverdebebull Usar las variables root_dir y log_dir para especificar ubicaciones distintas de las

predeterminadas para la carpeta raiacutez de la implementacioacuten y las carpetas del directorio dearchivos log

bull Usarsudopara ejecutar comandos del agente de CodeDeploy

Crear una implementacioacuten localEn la instancia en la que desea crear la implementacioacuten local abra una sesioacuten del terminal (instanciasde Amazon Linux RHEL o Ubuntu Server) o un siacutembolo del sistema (Windows Server) para ejecutar loscomandos de la herramienta

Note

El comando codedeploy-local se instala en las siguientes ubicaciones

Versioacuten de API 2014-10-06354

AWS CodeDeploy Guiacutea del usuarioCrear una implementacioacuten local

bull En Amazon Linux RHEL o Ubuntu Serveroptcodedeploy-agentbinbull En Windows ServerCProgramDataAmazonCodeDeploybin

Sintaxis baacutesica de los comandos

codedeploy-local [options]

Sinopsis

codedeploy-local[--bundle-location ltvaluegt][--type ltvaluegt][--file-exists-behavior ltvaluegt][--deployment-group ltvaluegt][--events ltcomma-separated valuesgt][--agent-configuration-file ltvaluegt][--appspec-filename ltvaluegt]

Opciones

-l --bundle-location

La ubicacioacuten del paquete de revisioacuten de la aplicacioacuten Si no especifica una ubicacioacuten la herramienta utilizael directorio en el que estaacute trabajando actualmente de forma predeterminada Si especifica un valor en --bundle-location tambieacuten debe especificar uno en --type

Ejemplos de formato de ubicacioacuten del paquete

bull Instancias de Amazon Linux RHEL o Ubuntu Serverpathtolocalbundletgzbull Instancia de Windows Server localCpathtolocalbundlebull Bucket de Amazon S3s3mybucketbundletarbull Repositorio de GitHub httpsgithubcomaccount-namerepository-name

-t --type

El formato del paquete de revisioacuten de la aplicacioacuten Los tipos admitidos son tgz tar zip y directorySi no especifica un tipo la herramienta usa directory de manera predeterminada Si especifica un valoren --type tambieacuten debe especificar uno en --bundle-location

-b --file-exists-behavior

Indica coacutemo se tratan los archivos que ya existen en la ubicacioacuten de destino de una implementacioacutenpero que no forman parte de una implementacioacuten anterior realizada correctamente Las opciones sonDISALLOW OVERWRITE RETAIN Para obtener maacutes informacioacuten consultefileExistsBehaviorenAWSCodeDeployReferencia de la API

-g --deployment-group

La ruta a la carpeta que es la ubicacioacuten de destino del contenido que se va a implementar Si no especificauna carpeta la herramienta crea una llamada default-local-deployment-group dentro del directorio raiacutez dela implementacioacuten Para cada implementacioacuten local que cree la herramienta crea un subdirectorio dentrode esta carpeta con nombres como d-98761234-local

-e --events

Un conjunto de enlaces de eventos del ciclo de vida que desea ejecutar en lugar de los eventos quefiguran en el archivo AppSpec Se pueden especificar varios enlaces separados por comas Puede utilizaresta opcioacuten si

Versioacuten de API 2014-10-06355

AWS CodeDeploy Guiacutea del usuarioEjemplos

bull Desea ejecutar un conjunto de eventos diferentes sin tener que actualizar el archivo AppSpecbull Desea ejecutar un uacutenico enlace de evento como una excepcioacuten al contenido del archivo AppSpec como

por ejemploApplicationStop

Si no especifica los eventos DownloadBundle e Install en la lista de invalidacioacuten estos se ejecutaraacutenantes que todos los enlaces de evento que siacute especifique Si incluyesDownloadBundleyInstalaren la listade--events estos deber ir precedidos uacutenicamente de eventos que se ejecutan normalmente antes queellos en las implementaciones de CodeDeploy Para obtener informacioacuten consulte Seccioacuten hooks deAppSpec (p 422)

-c --agent-configuration-file

La ubicacioacuten de un archivo de configuracioacuten que se utiliza para la implementacioacuten si estaacute almacenado enuna ubicacioacuten distinta de la predeterminada Un archivo de configuracioacuten especifica alternativas a otrosvalores y comportamientos predeterminados de una implementacioacuten

De forma predeterminada los archivos de configuracioacuten se almacenan enetccodedeploy-agentconfcodedeployagentyml(Instancias de Amazon Linux RHEL o Ubuntu Server) oCProgramDataAmazonCodeDeployconfyml(Windows Server) Para obtener maacutes informacioacutenconsulte Referencia de configuracioacuten del agente CodeDeploy (p 441)

-Amdashappspec-filename

El nombre del archivo AppSpec si le ha dado un nombre distinto del predeterminado De formapredeterminada el archivo AppSpec se denominaappspecymloappspecyaml

-h --help

Muestra un resumen del contenido de ayuda

-v --version

Muestra el nuacutemero de versioacuten de la herramienta

EjemplosA continuacioacuten se proporcionan ejemplos de formatos de comandos vaacutelidos

codedeploy-local

codedeploy-local --bundle-location pathtolocalbundledirectory

codedeploy-local --bundle-location Cpathtolocalbundlezip --type zip --deployment-group my-deployment-group

codedeploy-local --bundle-location pathtolocaldirectory --type directory --deployment-group my-deployment-group

Implementar un paquete desde Amazon S3

codedeploy-local --bundle-location s3mybucketbundletgz --type tgz

codedeploy-local --bundle-location s3mybucketbundlezipversionId=1234ampetag=47e8 --type zip --deployment-group my-deployment-group

Versioacuten de API 2014-10-06356

AWS CodeDeploy Guiacutea del usuarioEjemplos

Implementar un paquete desde un repositorio de GitHub puacuteblico

codedeploy-local --bundle-location httpsgithubcomawslabsaws-codedeploy-sample-tomcat --type zip

codedeploy-local --bundle-location httpsapigithubcomreposawslabsaws-codedeploy-sample-tomcatzipballmaster --type zip

codedeploy-local --bundle-location httpsapigithubcomreposawslabsaws-codedeploy-sample-tomcatzipballHEAD --type zip

codedeploy-local --bundle-location httpsapigithubcomreposawslabsaws-codedeploy-sample-tomcatzipball1a2b3c4d --type zip

Implementar un paquete especificando varios eventos del ciclo de vida

codedeploy-local --bundle-location pathtolocalbundletar --type tar --application-folder my-deployment --events DownloadBundleInstallApplicationStartHealthCheck

Detener una aplicacioacuten implementada anteriormente mediante el evento del ciclo de vida ApplicationStop

codedeploy-local --bundle-location pathtolocalbundletgz --type tgz --deployment-group --events ApplicationStop

Implementar con un ID de grupo de implementaciones especiacutefico

codedeploy-local --bundle-location Cpathtolocalbundledirectory --deployment-group 1234abcd-5dd1-4774-89c6-30b107ac5dca

codedeploy-local --bundle-location Cpathtolocalbundlezip --type zip --deployment-group 1234abcd-5dd1-4774-89c6-30b107ac5dca

Versioacuten de API 2014-10-06357

AWS CodeDeploy Guiacutea del usuarioHerramientas automatizadas

Monitorizar implementaciones enCodeDeploy

La monitorizacioacuten es una parte importante del mantenimiento de la fiabilidad la disponibilidad y elrendimiento de CodeDeploy y susAWSsoluciones Debe recopilar datos de monitorizacioacuten de todaslas partes de su solucioacuten de AWS para que le resulte maacutes sencillo depurar un error que se produceen distintas partes del coacutedigo en caso de que ocurra No obstante antes de comenzar a monitorearCodeDeploy debe crear un plan que incluya respuestas a las siguientes preguntas

bull iquestCuaacuteles son los objetivos de la monitorizacioacutenbull iquestQueacute recursos va a monitorizarbull iquestCon queacute frecuencia va a monitorizar estos recursosbull iquestQueacute herramientas de monitoreo va a utilizarbull iquestQuieacuten se encargaraacute de realizar las tareas de monitoreobull iquestQuieacuten deberiacutea recibir una notificacioacuten cuando surjan problemas

El siguiente paso consiste en establecer un punto de referencia del desempentildeo de CodeDeploy normalen su entorno Para ello se mide el desempentildeo en distintos momentos y bajo distintas condiciones decarga A medida que realice el monitoreo de CodeDeploy vaya almacenando los datos de monitorizacioacutenhistoacutericos a fin de poder compararlos con los datos de rendimiento actual identificar patrones derendimiento normal y anomaliacuteas y desarrollar meacutetodos para la solucioacuten de problemas

Por ejemplo si utiliza CodeDeploy puede monitorizar el estado de las implementaciones y las instanciasde destino Si fallan las implementaciones o las instancias puede que tenga que volver a configurarun archivo de especificacioacuten de la aplicacioacuten volver a instalar o actualizar el agente de CodeDeployactualizar la configuracioacuten de una aplicacioacuten o grupo de implementaciones o realizar cambios en laconfiguracioacuten de la instancia o un archivo AppSpec

Para establecer un punto de referencia debe como miacutenimo monitorizar los elementos siguientes

bull Eventos y estado de la implementacioacutenbull Eventos y estado de la instancia

Herramientas de monitoreo automatizadasAWSproporciona varias herramientas que puede utilizar para monitorizar CodeDeploy Puede configuraralgunas de estas herramientas para que monitoricen por usted pero otras herramientas requierenintervencioacuten manual Le recomendamos que automatice las tareas de monitorizacioacuten en la medida de loposible

Puede utilizar las siguientes herramientas de monitorizacioacuten automatizada para monitorizar CodeDeploy einformar cuando haya alguacuten problema

bull Alarmas de Amazon CloudWatch vigile una meacutetrica durante un periodo de tiempo especificado y realiceuna o varias acciones seguacuten el valor que tenga la meacutetrica en comparacioacuten con un determinado umbraldurante una serie de periodos de tiempo La accioacuten es una notificacioacuten enviada a un tema de Amazon

Versioacuten de API 2014-10-06358

AWS CodeDeploy Guiacutea del usuarioHerramientas manuales

Simple Notification Service (Amazon SNS) o a una poliacutetica de Amazon EC2 Auto Scaling Las alarmasde CloudWatch no invocan acciones tan solo por tener un estado determinado es necesario que elestado haya cambiado y se mantenga durante un nuacutemero especiacutefico de periodos Para obtener maacutesinformacioacuten consulte Monitoring Deployments with Amazon CloudWatch Tools (p 360)

Para obtener informacioacuten acerca de coacutemo actualizar su rol de servicio para trabajar con la monitorizacioacutende alarmas de CloudWatch consulteConceder permisos de CloudWatch a un rol de servicioCodeDeploy (p 361) Para obtener informacioacuten sobre coacutemo antildeadir la monitorizacioacuten de alarmas deCloudWatch a sus operaciones de CodeDeployCrear una aplicacioacuten con CodeDeploy (p 273)Creacioacutende un grupo de implementaciones con CodeDeploy (p 288) o bienCambiar la configuracioacuten del grupode implementacioacuten con CodeDeploy (p 301)

bull Amazon CloudWatch Logs monitoree almacene y obtenga acceso a los archivos de registro de AWSCloudTrail u otras fuentes Para obtener maacutes informacioacuten consulte Monitoreo de archivos de registro enla guiacutea del usuario de Amazon CloudWatch

Para obtener informacioacuten acerca del uso de la consola de CloudWatch para ver los registros deCodeDeploy consulteVer los registros de CodeDeploy en CloudWatch Logs

bull Amazon CloudWatch Events seleccione los eventos y diriacutejalos hacia uno o varios flujos o funcionesde destino para realizar cambios capturar informacioacuten de estado y aplicar medidas correctivas Paraobtener maacutes informacioacuten consulte iquestQueacute es Amazon CloudWatch Events en la guiacutea del usuario deAmazon CloudWatch

Para obtener informacioacuten acerca del uso de CloudWatch Events en sus operaciones de CodeDeployconsulteMonitoreo de implementaciones de mediante Amazon CloudWatch Events (p 362)

bull Monitoreo de registros de AWS CloudTrail comparta archivos de registro entre cuentas monitoree losarchivos de registro de CloudTrail en tiempo real enviaacutendolos a CloudWatch Logs escriba aplicacionesde procesamiento de registros en Java y compruebe que los archivos de registro no hayan cambiadodespueacutes de que CloudTrail los entregara Para obtener maacutes informacioacuten consulte Uso de archivos deregistro de CloudTrail en la Guiacutea del usuario de AWS CloudTrail

Para obtener informacioacuten acerca del uso de CloudTrail con CodeDeploy consulteMonitoringDeployments (p 364)

bull Amazon Simple Notification Service configure disparadores basados en eventos para recibirnotificaciones por correo electroacutenico o SMS sobre eventos de implementaciones e instancias comoel eacutexito o el error Para obtener maacutes informacioacuten consulteCrear un temayiquestQueacute es Amazon SimpleNotification Service

Para obtener informacioacuten acerca de coacutemo configurar notificaciones de Amazon SNS para CodeDeployconsulteMonitoring Deployments with Amazon SNS Event Notifications (p 365)

Herramientas de monitoreo manualesOtra parte importante del monitoreo de CodeDeploy implica el monitoreo manual de los elementos queno cubren las alarmas de CloudWatch CodeDeploy CloudWatch y otrosAWSLos paneles de consola deproporcionan una vista raacutepida del estado de suAWSentorno de Es recomendable que tambieacuten compruebelos archivos de registro de las implementaciones de CodeDeploy

bull La consola de CodeDeploy muestrabull El estado de las implementacionesbull La fecha y la hora de cada uno de los uacuteltimos intentos de implementacioacuten y la uacuteltima implementacioacuten

correcta de una revisioacutenbull El nuacutemero de instancias correctas erroacuteneas omitidas o en curso de una implementacioacutenbull El estado de las instancias on-premise

Versioacuten de API 2014-10-06359

AWS CodeDeploy Guiacutea del usuarioMonitorizacioacuten de implementaciones con

herramientas de Amazon CloudWatch

bull La fecha y la hora en las que se han registrado o anulado las instancias on-premisebull La paacutegina de inicio de CloudWatch muestra

bull Alarmas y estado actualbull Graacuteficos de alarmas y recursosbull Estado de los servicios

Ademaacutes puede utilizar CloudWatch para hacer lo siguientebull Crear paneles personalizados para monitorear los servicios que le interesanbull Realizar un graacutefico con los datos de las meacutetricas para resolver problemas y descubrir tendenciasbull Buscar y examinar todas sus meacutetricas de recursos de AWSbull Crear y editar las alarmas de notificacioacuten de problemas

Temas

bull Monitoring Deployments with Amazon CloudWatch Tools (p 360)bull Monitoring Deployments (p 364)bull Monitoring Deployments with Amazon SNS Event Notifications (p 365)

Monitorizacioacuten de implementaciones conherramientas de Amazon CloudWatch

Puede supervisar las implementaciones de CodeDeploy mediante las siguientes herramientas deCloudWatch Amazon CloudWatch Events alarmas de CloudWatch y Amazon CloudWatch Logs

Revisar los registros creados por el agente de CodeDeploy y las implementaciones puede ayudarle asolucionar las causas de los errores de implementacioacuten En lugar de revisar los registros de CodeDeployen una instancia cada vez puede utilizar CloudWatch Logs para monitorizar todos los registros en unaubicacioacuten central

Para obtener informacioacuten sobre el uso de alarmas de CloudWatch y CloudWatch Events para monitorizarsus implementaciones de CodeDeploy consulte los siguientes temas

Temasbull Supervisioacuten de implementaciones con alarmas de CloudWatch en CodeDeploy (p 360)bull Monitoreo de implementaciones de mediante Amazon CloudWatch Events (p 362)

Supervisioacuten de implementaciones con alarmas deCloudWatch en CodeDeployPuede crear una alarma de CloudWatch para una instancia o grupo de Amazon EC2 Auto Scaling queutilice en sus operaciones de CodeDeploy Una alarma vigila una uacutenica meacutetrica durante el periacuteodoespecificado y realiza una o varias acciones seguacuten el valor de la meacutetrica relativo a un determinado umbraldurante varios periacuteodos de tiempo Las alarmas de CloudWatch invocan acciones cuando cambia suestado (por ejemplo desdeOKaALARM)

Mediante la funcionalidad de alarma nativa de CloudWatch puede especificar cualquiera de las accionescompatibles con CloudWatch si falla una instancia que utiliza en una implementacioacuten por ejemploenviar una notificacioacuten de Amazon SNS o detener terminar reiniciar o recuperar una instancia Para

Versioacuten de API 2014-10-06360

AWS CodeDeploy Guiacutea del usuarioMonitorizacioacuten de implementaciones

con alarmas de CloudWatch

sus operaciones de CodeDeploy puede configurar un grupo de implementaciones para deteneruna implementacioacuten siempre que se active cualquier alarma de CloudWatch asociada al grupo deimplementaciones

Puede asociar hasta diez alarmas de CloudWatch con un grupo de implementaciones de CodeDeploy Sise activa cualquiera de las alarmas especificadas la implementacioacuten se detiene y el estado se actualizaa Stopped Para utilizar esta opcioacuten debe conceder permisos de CloudWatch a su rol de servicio deCodeDeploy

Para obtener informacioacuten sobre coacutemo configurar alarmas de CloudWatch en la consola de CloudWatchconsulteCreacioacuten de alarmas de Amazon CloudWatchen laGuiacutea del usuario de Amazon CloudWatch

Para obtener informacioacuten sobre coacutemo asociar una alarma de CloudWatch con un grupo deimplementaciones en CodeDeploy consulteCreacioacuten de un grupo de implementaciones conCodeDeploy (p 288)yCambiar la configuracioacuten del grupo de implementacioacuten con CodeDeploy (p 301)

Temasbull Conceder permisos de CloudWatch a un rol de servicio CodeDeploy (p 361)

Conceder permisos de CloudWatch a un rol de servicioCodeDeployPara poder utilizar la monitorizacioacuten de alarmas de CloudWatch con sus implementaciones debe concederpermiso al rol de servicio que utiliza en sus operaciones de CodeDeploy para obtener acceso a losrecursos de CloudWatch

Para conceder permisos de CloudWatch a un rol de servicio

1 Inicie sesioacuten en la AWS Management Console y abra la consola de IAM en httpsconsoleawsamazoncomiam

2 En el panel de navegacioacuten de la consola de IAM elijaRoles de3 Elija el nombre del rol de servicio que usaraacute en las operaciones de AWS CodeDeploy4 En la pestantildea Permissions en el aacuterea Inline Policies elija Create Role Policy

ndasho bienndash

Si el botoacuten Create Role Policy no estaacute disponible expanda el aacuterea Inline Policies y despueacutes elija clickhere

5 En la paacutegina Set Permissions elija Custom Policy y despueacutes Select6 En la paacutegina Review Policy en el campo Policy Name escriba un nombre que identifique esta poliacutetica

como CWAlarms7 Pegue la siguiente informacioacuten en el campo Policy Document

Version 2012-10-17 Statement [ Effect Allow Action cloudwatchDescribeAlarms Resource ]

8 Seleccione Apply Policy

Versioacuten de API 2014-10-06361

AWS CodeDeploy Guiacutea del usuarioMonitoreo de implementaciones de

mediante Amazon CloudWatch Events

Monitoreo de implementaciones de mediante AmazonCloudWatch EventsPuede utilizar Amazon CloudWatch Events para detectar cambios en el estado de una instancia o unaimplementacioacuten (un laquoeventoraquo) en sus operaciones de CodeDeploy y reaccionar ante dichos cambios Acontinuacioacuten en funcioacuten de las reglas que se creen CloudWatch Events invocaraacute una o varias accionesde destino cuando una implementacioacuten o una instancia entre en el estado especificado en una regla Enfuncioacuten del tipo de cambio de estado es posible que desee enviar notificaciones capturar informacioacuten deestado tomar medidas correctivas iniciar eventos o adoptar otras medidas Si utiliza CloudWatch Eventscomo parte de sus operaciones de CodeDeploy puede seleccionar los siguientes tipos de destinos

bull Funciones de AWS Lambdabull Flujos de Kinesisbull Colas de Amazon SQSbull Destinos integrados (EC2 CreateSnapshot API callEC2 RebootInstances API callEC2StopInstances API call yEC2 TerminateInstances API call)

bull Temas de Amazon SNS

A continuacioacuten se indican algunos casos de uso

bull Utilice una funcioacuten Lambda para pasar una notificacioacuten a un canal de Slack siempre que se produzcanerrores en las implementaciones

bull Enviacutee datos acerca de las implementaciones o instancias a un flujo de Kinesis para permitir unamonitorizacioacuten completa del estado en tiempo real

bull Utilice acciones de alarma de CloudWatch para detener terminar reiniciar o recuperar automaacuteticamenteinstancias de Amazon EC2 cuando se produzca el evento de implementacioacuten o de instanciaespecificado

En las demaacutes partes de este tema se describe el procedimiento baacutesico para crear una regla deCloudWatch Events para CodeDeploy No obstante antes de crear reglas de eventos que utilizaraacute en susoperaciones de CodeDeploy debe hacer lo siguiente

bull Complete los requisitos previos de CloudWatch Events Para obtener informacioacuten consulteAmazonCloudWatch Events

bull Familiariacutecese con los eventos las reglas y los destinos de CloudWatch Events Para obtener maacutesinformacioacuten consulteiquestQueacute es Amazon CloudWatch EventsyNuevos eventos de CloudWatch realice unseguimiento y responda a los cambios en suAWSrecursos

bull Crear el destino o los destinos que se utilizaraacuten en las reglas de eventos

Para crear una regla de CloudWatch Events para CodeDeploy

1 Abra la consola de CloudWatch en httpsconsoleawsamazoncomcloudwatch2 En el panel de navegacioacuten elija Events (Eventos)3 Elija Create rule (Crear regla) y a continuacioacuten en Event selector (Selector de eventos) elija AWS

CodeDeploy4 Especifique un tipo de detalle

bull Para crear una regla que se aplique a todos los cambios de estado de las instancias y lasimplementaciones elija Any detail type (Cualquier tipo de detalle) y continuacutee en el paso 6

Versioacuten de API 2014-10-06362

AWS CodeDeploy Guiacutea del usuarioMonitoreo de implementaciones de

mediante Amazon CloudWatch Events

bull Para crear una regla que solo se aplique a las instancias elija Specific detail type (Tipos dedetalles especiacuteficos) y a continuacioacuten seleccione CodeDeploy Instance State-change Notification(Notificacioacuten de cambio de estado de instancia de CodeDeploy)

bull Para crear una regla que solo se aplique a las implementaciones elija Specific detail type (Tiposde detalles especiacuteficos) y a continuacioacuten seleccione CodeDeploy Deployment State-changeNotification (Notificacioacuten de cambio de estado de implementacioacuten de CodeDeploy)

5 Especifique los cambios de estado a los que se aplica la regla

bull Para crear una regla que se aplique a todos los cambios de estado elija Any state (Cualquierestado)

bull Para crear una regla que se aplique uacutenicamente a algunos cambios de estado seleccione Specificstate(s) (Estados especiacuteficos) y luego elija uno o varios valores de estado de la lista En la siguientetabla se muestran los valores de estado que puede elegir

Valores de estado de implementacioacuten Valores de estado de instancia

FAILURE

START

STOP

QUEUED

READY

SUCCESS

FAILURE

START

READY

SUCCESS

6 Especifique las aplicaciones de CodeDeploy a las que se aplica la regla

bull Para crear una regla que se aplique a todas las aplicaciones elija Any application (Cualquieraplicacioacuten) y continuacutee en el paso 8

bull Para crear una regla que se aplique uacutenicamente a una aplicacioacuten seleccione Specific application(Aplicacioacuten especiacutefica) y luego elija el nombre de la aplicacioacuten en la lista

7 Especifique los grupos de implementaciones a los que se aplica la regla

bull Para crear una regla que se aplique a todos los grupos de implementaciones asociados a laaplicacioacuten seleccionada elija Any deployment group (Cualquier grupo de implementaciones)

bull Para crear una regla que se aplique uacutenicamente a uno de los grupos de implementacionesasociados a la aplicacioacuten seleccionada seleccione Specific deployment group(s) (Grupos deimplementaciones especiacuteficos) y a continuacioacuten elija el nombre del grupo de implementaciones enla lista

8 Revise la configuracioacuten de las reglas para asegurarse de que se ajusta a los requisitos demonitorizacioacuten de eventos

9 En el aacuterea Targets seleccione Add target10 En la lista Select target type elija el tipo de destino que haya preparado para usarlo con esta regla y

luego configure las opciones adicionales que requiera dicho tipo11 Seleccione Configure details12 En la paacutegina Configure rule details (Configurar detalles de la regla) escriba un nombre y la descripcioacuten

de la regla y a continuacioacuten elija la casilla State (Estado) para habilitar la regla ahora13 Si estaacute satisfecho con la regla elija Create rule (Crear regla)

Versioacuten de API 2014-10-06363

AWS CodeDeploy Guiacutea del usuarioMonitorizar implementaciones conAWS CloudTrail

Monitorizar implementaciones conAWS CloudTrailCodeDeploy se integra con CloudTrail un servicio que captura las llamadas a la API realizadas por o ennombre de CodeDeploy en suAWSy entrega los archivos de registro en un bucket de Amazon S3 que seespecifique CloudTrail captura las llamadas al API de la consola de CodeDeploy desde los comandosde CodeDeploy a traveacutes de laAWS CLIo desde las API de CodeDeploy directamente Con la informacioacutenrecopilada por CloudTrail puede identificar la solicitud que se realizoacute a CodeDeploy la direccioacuten IPde origen desde la que se realizoacute la solicitud quieacuten realizoacute la solicitud cuaacutendo se realizoacute etceacuteteraPara obtener maacutes informacioacuten sobre CloudTrail incluido coacutemo configurarlo y habilitarlo consulteAWSCloudTrailGuiacutea del usuario de

Informacioacuten de CodeDeploy en CloudTrailCuando el registro de CloudTrail estaacute habilitado en suAWScuenta de las llamadas a la API realizadas alas acciones de CodeDeploy se registran en archivos de registro Los registros de CodeDeploy se escribenjunto con otrosAWSregistros de servicio de en un archivo de registro de CloudTrail determina cuaacutendodebe crearse un nuevo archivo y escribir en eacutel en funcioacuten del periodo de tiempo y del tamantildeo del archivo

Todas las acciones de CodeDeploy de se registran y documentan en laAWS CodeDeployReferencia deliacutenea de comandosy laAWS CodeDeployReferencia de la API Todas las llamadas realizadas para crearimplementaciones eliminar aplicaciones y registrar la revisiones de aplicacioacuten por ejemplo generanentradas en los archivos log de CloudTrail

Cada entrada de registro contiene informacioacuten sobre quieacuten generoacute la solicitud La informacioacuten de identidaddel usuario que figura en el log le ayudaraacute a determinar si la solicitud se hizo con credenciales de usuariode IAM o raiacutez con credenciales de seguridad temporales para un rol o un usuario federado o bienmediante otro servicio de AWS Para obtener maacutes informacioacuten consulte el campo userIdentity en laReferencia de eventos de CloudTrail

Puede almacenar los archivos de registro en su bucket durante todo el tiempo que desee pero tambieacutenpuede definir reglas de ciclo de vida de Amazon S3 para archivar o eliminar archivos de registroautomaacuteticamente De forma predeterminada se usa el cifrado del servidor de Amazon S3 (SSE) para cifrarlos archivos log

Puede hacer que CloudTrail publique notificaciones de Amazon SNS cuando se entreguen nuevosarchivos log Para obtener maacutes informacioacuten consulte Configuracioacuten de notificaciones de Amazon SNSpara CloudTrail

Tambieacuten puede agregar archivos de registro de CodeDeploy desde variosAWSregiones ymuacuteltiplesAWScuentas en un uacutenico bucket de Amazon S3 Para obtener maacutes informacioacutenconsulteRecepcioacuten de archivos de registro de CloudTrail de varias regiones

Descripcioacuten de las entradas de archivos log deCodeDeployLos archivos de registro de CloudTrail pueden contener una o varias entradas de registro cada una delas cuales estaacute compuesta por varios eventos con formato JSON Una entrada de registro representa unauacutenica solicitud de cualquier origen e incluye informacioacuten sobre la accioacuten solicitada los paraacutemetros la fechay la hora de la accioacuten etceacutetera Las entradas de registro no se muestran en ninguacuten orden concreto Esdecir no representan un rastro de la pila ordenada de las llamadas a API puacuteblicas

En el ejemplo siguiente se muestra una entrada de registro de CloudTrail que ilustra la accioacuten Crear grupode implementaciones de CodeDeploy

Records [

Versioacuten de API 2014-10-06364

AWS CodeDeploy Guiacutea del usuarioSupervisioacuten de implementaciones con

notificaciones de eventos de Amazon SNS

eventVersion 102 userIdentity type AssumedRole principalId AKIAI44QH8DHBEXAMPLE203011311 arn arnawssts123456789012assumed-roleexample-role203011311 accountId 123456789012 accessKeyId AKIAIOSFODNN7EXAMPLE sessionContext attributes mfaAuthenticated false creationDate 2014-11-27T035736Z sessionIssuer type Role principalId AKIAI44QH8DHBEXAMPLE arn arnawsiam123456789012roleexample-role accountId 123456789012 userName example-role eventTime 2014-11-27T035736Z eventSource codedeployamazonawscom eventName CreateDeploymentGroup awsRegion us-west-2 sourceIPAddress 203011311 userAgent example-user-agent-string requestParameters applicationName ExampleApplication serviceRoleArn arnawsiam123456789012roleexample-instance-group-role deploymentGroupName ExampleDeploymentGroup ec2TagFilters [ value CodeDeployDemo type KEY_AND_VALUE key Name ] deploymentConfigName CodeDeployDefaultHalfAtATime responseElements deploymentGroupId 7d64e680-e6f4-4c07-b10a-9e117EXAMPLE requestID 86168559-75e9-11e4-8cf8-75d18EXAMPLE eventID 832b82d5-d474-44e8-a51d-093ccEXAMPLE eventType AwsApiCall recipientAccountId 123456789012 additional entries ]

Supervisioacuten de implementaciones connotificaciones de eventos de Amazon SNS

Puede antildeadir disparadores a un grupo de implementaciones de CodeDeploy para recibir notificacionessobre eventos relacionados con las implementaciones o instancias en ese grupo de implementacionesEstas notificaciones se enviacutean a los destinatarios que estaacuten suscritos a un tema de Amazon SNS queforma parte de la accioacuten del disparador

Puede recibir notificaciones de eventos de CodeDeploy en mensajes SMS o de correo electroacutenicoTambieacuten puede utilizar de otras formas los datos JSON que se crean cuando se produce un evento

Versioacuten de API 2014-10-06365

AWS CodeDeploy Guiacutea del usuarioConcesioacuten de permisos de Amazon SNS a un rol de servicio

determinado como enviar mensajes a colas de Amazon SQS o invocar una funcioacuten enAWS LambdaPara conocer la estructura de los datos JSON proporcionados para los disparadores de implementacioacuten einstancia consulte Formatos de datos JSON para activadores de CodeDeploy (p 374)

Puede optar por utilizar disparadores para recibir notificaciones si

bull Es desarrollador y necesita saber cuaacutendo se detiene o cuaacutendo se produce un error en unaimplementacioacuten para que pueda solucionar los problemas

bull Es administrador del sistema y necesita saber en cuaacutentas instancias se producen errores para podermonitorizar el estado de la flota de Amazon EC2

bull Es administrador y que quiere ver raacutepidamente el nuacutemero de eventos de implementaciones e instanciaspara ello puede usar reglas de filtrado que dirijan los diferentes tipos de notificaciones a carpetas de sucliente de correo electroacutenico de escritorio

Puede crear hasta 10 disparadores para cada grupo de implementaciones de CodeDeploy para cualquierade los siguientes tipos de eventos

Eventos de implementacioacuten Eventos de instancia

bull Correctobull Errorbull Startedbull Stopped (Detenido)bull Reversioacutenbull Readysup1bull Todos los eventos de implementacioacuten

bull Correctobull Errorbull Startedbull Readysup1bull Todos los eventos de instancia

sup1Se aplica uacutenicamente a las implementaciones ldquobluegreenrdquo (bluegreen) Indica que la uacuteltima revisioacutende la aplicacioacuten se ha instalado en las instancias de un entorno de sustitucioacuten y que el traacutefico delentorno original se puede redirigir ahora tras un balanceador de carga Para obtener maacutes informacioacutenconsulteUso de las implementaciones en CodeDeploy (p 323)

Temasbull Conceder permisos de Amazon SNS a un rol de servicio CodeDeploy (p 366)bull Creacioacuten de un disparador para un evento de CodeDeploy (p 367)bull Edicioacuten de un activador en un grupo de implementacioacuten de CodeDeploy (p 372)bull Eliminar un desencadenador de un grupo de implementacioacuten de CodeDeploy (p 373)bull Formatos de datos JSON para activadores de CodeDeploy (p 374)

Conceder permisos de Amazon SNS a un rol deservicio CodeDeployPara que sus disparadores puedan generar notificaciones el rol de servicio que usa en las operaciones deCodeDeploy debe recibir permiso de acceso a los recursos de Amazon SNS

Para conceder permisos de Amazon SNS a un rol de servicio

1 Inicie sesioacuten en la AWS Management Console y abra la consola de IAM en httpsconsoleawsamazoncomiam

Versioacuten de API 2014-10-06366

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de un disparador para un evento de CodeDeploy

2 En la consola de IAM en el panel de navegacioacuten elijaRoles de3 Elija el nombre del rol de servicio que usaraacute en las operaciones de AWS CodeDeploy4 En la pestantildea Permissions en el aacuterea Inline Policies elija Create Role Policy

ndasho bienndash

Si el botoacuten Create Role Policy no estaacute disponible expanda el aacuterea Inline Policies y despueacutes elija clickhere

5 En la paacutegina Set Permissions elija Custom Policy y despueacutes Select6 En la paacutegina Review Policy (Revisar la poliacutetica) en el campo Policy Name (Nombre de la poliacutetica)

introduzca un nombre que identifique esta poliacutetica como SNSPublish7 Pegue la siguiente informacioacuten en el campo Policy Document

Version 2012-10-17 Statement [ Effect Allow Action snsPublish Resource ]

8 Seleccione Apply Policy

Creacioacuten de un disparador para un evento deCodeDeployPuede crear un disparador que publique un tema de Amazon Simple Notification Service (Amazon SNS)para unAWS CodeDeployevento de implementacioacuten o instancia A continuacioacuten cuando se produceese evento todos los suscriptores del tema asociado reciben notificaciones a traveacutes del punto de enlaceespecificado en el tema como un mensaje SMS o un mensaje de correo electroacutenico Amazon SNS ofrecevarios meacutetodos para suscribirse a temas

Antes de crear un disparador debe configurar el tema de Amazon SNS para que apunte el disparadorPara obtener informacioacuten consulteCrear un tema Cuando cree un tema recomendamos que le asigneun nombre que identifique su finalidad con un formato comoTopic-group-us-west-3-deploy-failoTopic-group-project-2-instance-stop

Tambieacuten debe conceder permisos de Amazon SNS a un rol de servicio CodeDeploy para que se puedanenviar notificaciones para su disparador Para obtener informacioacuten consulte Conceder permisos deAmazon SNS a un rol de servicio CodeDeploy (p 366)

Una vez que haya creado el tema puede antildeadir suscriptores Para obtener informacioacuten sobre coacutemo crearadministrar y suscribirse a los temas consulteiquestQueacute es Amazon Simple Notification Service

Creacioacuten de un disparador para enviar notificaciones paraeventos de CodeDeploy (consola)Puede utilizar la consola de CodeDeploy para crear disparadores para un evento de CodeDeploy Alfinalizar el proceso de configuracioacuten se enviacutea un mensaje de notificacioacuten de prueba para garantizar quetanto los permisos como los detalles de los desencadenadores estaacuten configurados correctamente

Versioacuten de API 2014-10-06367

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de un disparador para un evento de CodeDeploy

Para crear un desencadenador para un evento de CodeDeploy

1 En la AWS Management Console abra la consola de AWS CodeDeploy2 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttps

consoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

3 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones4 En la paacutegina Applications (Aplicaciones) elija el nombre de la aplicacioacuten asociada al grupo de

implementaciones en el que desee antildeadir un disparador5 En la paacutegina Application details (Detalles de la aplicacioacuten) elija el grupo de implementaciones en el

que desee antildeadir un disparador6 Elija Edit (Editar)7 Expanda Advanced (Opciones avanzadas) (opcional)8 En el aacuterea Triggers (Disparadores) elija Create trigger (Crear disparador)9 En el panel Create deployment trigger (Crear disparador de implementaciones) realice lo siguiente

a En Trigger name (Nombre del disparador) introduzca un nombre para el disparador que facilite laidentificacioacuten de su finalidad Recomendamos un formato como Trigger-group-us-west-3-deploy-fail o Trigger-group-eu-central-instance-stop

b EnEventos elija el tipo o los tipos de evento que desee que disparen el enviacuteo de notificacionespor parte del tema de Amazon SNS

c EnTemas de Amazon SNS elija el nombre del tema que ha creado para enviar notificacionespara este disparador

d Elija Create trigger CodeDeploy enviacutea una notificacioacuten de prueba para confirmar que haconfigurado correctamente el acceso entre CodeDeploy y el tema de Amazon SNS En funcioacuten deltipo de punto de enlace que haya seleccionado para el tema y de si se ha suscrito al tema recibeun mensaje SMS o de correo electroacutenico de confirmacioacuten

10 Elija Save changes (Guardar cambios)

Creacioacuten de un disparador para enviar notificaciones paraeventos de CodeDeploy (CLI)Puede utilizar la CLI para incluir disparadores al crear un grupo de implementaciones o bien puede antildeadirdisparadores a un grupo de implementaciones existente

Para crear un disparador de enviacuteo de notificaciones para un nuevo grupo deimplementaciones

Cree un archivo JSON para configurar el grupo de implementaciones y a continuacioacuten ejecute el comandocreate-deployment-group con la opcioacuten --cli-input-json

La forma maacutes sencilla de crear el archivo JSON es utilizar la opcioacuten --generate-cli-skeleton paraobtener una copia del formato JSON y a continuacioacuten proporcionar los valores necesarios en un editor detexto sin formato

1 Ejecute el siguiente comando y a continuacioacuten copie los resultados en un editor de texto sin formato

aws deploy create-deployment-group --generate-cli-skeleton

Versioacuten de API 2014-10-06368

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de un disparador para un evento de CodeDeploy

2 Antildeada al resultado el nombre de una aplicacioacuten de CodeDeploy existente

applicationName TestApp-us-east-2 deploymentGroupName deploymentConfigName ec2TagFilters [ Key Value Type ] onPremisesInstanceTagFilters [ Key Value Type ] autoScalingGroups [ ] serviceRoleArn triggerConfigurations [ triggerName triggerTargetArn triggerEvents [ ] ]

3 Proporcione los valores de los paraacutemetros que desea configurar

Cuando utilice el comando create-deployment-group debe proporcionar como miacutenimo los valores delos siguientes paraacutemetros

bull applicationName el nombre de una aplicacioacuten ya creada en su cuentabull deploymentGroupName un nombre para el grupo de implementaciones que va a crearbull serviceRoleArn el ARN de un rol de servicio existente configurado para CodeDeploy en

su cuenta Para obtener informacioacuten consulte Paso 2 Creacioacuten de un rol de servicio paraCodeDeploy (p 36)

En la seccioacuten triggerConfigurations proporcione valores para los siguientes paraacutemetros

bull triggerName el nombre que desea asignar al disparador para que pueda identificarlo faacutecilmenteRecomendamos un formato como Trigger-group-us-west-3-deploy-fail o Trigger-group-eu-central-instance-stop

bull triggerTargetArn el ARN del tema de Amazon SNS que ha creado para asociar al disparadoren este formatoarnawssnsus-east-2444455556666NewTestTopic

bull triggerEvents el tipo de evento o eventos para los que desea dispararnotificaciones Puede especificar uno o varios tipos de eventos separando concomas los distintos nombres de tipo de evento (por ejemplo triggerEvents[DeploymentSuccessDeploymentFailureInstanceFailure]) Cuando antildeademaacutes de un tipo de evento las notificaciones de todos esos tipos se enviacutean al tema especificado enlugar de enviarse a un tema diferente para cada una de ellas Puede elegir entre los siguientes tiposde evento

Versioacuten de API 2014-10-06369

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de un disparador para un evento de CodeDeploy

bull DeploymentStartbull DeploymentSuccessbull DeploymentFailurebull DeploymentStopbull DeploymentRollbackbull DeploymentReady (se aplica uacutenicamente a las instancias de sustitucioacuten en una implementacioacuten

ldquobluegreenrdquo)bull InstanceStartbull InstanceSuccessbull InstanceFailurebull InstanceReady (se aplica uacutenicamente a las instancias de sustitucioacuten en una implementacioacuten ldquoblue

greenrdquo)

El siguiente ejemplo de configuracioacuten crea un grupo de implementaciones denominado dep-group-ghi-789-2 para una aplicacioacuten llamada TestApp-us-east-2 y un disparador que provoca el enviacuteode notificaciones siempre que una implementacioacuten comience o se realice correctamente o cuando seproduzca un error en ella

applicationName TestApp-us-east-2 deploymentConfigName CodeDeployDefaultOneAtATime deploymentGroupName dep-group-ghi-789-2 ec2TagFilters [ Key Name Value Project-ABC Type KEY_AND_VALUE ] serviceRoleArn arnawsiam444455556666roleAnyCompany-service-role triggerConfigurations [ triggerName Trigger-group-us-east-2 triggerTargetArn arnawssnsus-east-2444455556666us-east-deployments triggerEvents [ DeploymentStart DeploymentSuccess DeploymentFailure ] ]

4 Guarde las actualizaciones como un archivo JSON y a continuacioacuten llame a dicho archivo con laopcioacuten --cli-input-json cuando ejecute el comando create-deployment-group

Important

Aseguacuterese de incluir file antes del nombre de archivo Es obligatorio en este comando

aws deploy create-deployment-group --cli-input-json filefilenamejson

Al finalizar el proceso de creacioacuten recibe un mensaje de notificacioacuten de prueba que indica que tantolos permisos como los detalles de los disparadores estaacuten configurados correctamente

Versioacuten de API 2014-10-06370

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de un disparador para un evento de CodeDeploy

Para crear un disparador de enviacuteo de notificaciones para un grupo deimplementaciones existente

Para utilizar elAWS CLIPara antildeadir disparadores de eventos de CodeDeploy a un grupo deimplementaciones cree un archivo JSON para actualizar el grupo de implementaciones y a continuacioacutenejecute lagrupo de implementacioacuten-actualizacioacutenmediante la--cli-input-jsonopcioacuten

La forma maacutes sencilla de crear el archivo JSON es ejecutar el comando get-deployment-group paraobtener una copia de la configuracioacuten del grupo de implementaciones en formato JSON y a continuacioacutenactualizar los valores de los paraacutemetros en un editor de texto sin formato

1 Ejecute el siguiente comando y a continuacioacuten copie los resultados en un editor de texto sin formato

aws deploy get-deployment-group --application-name application --deployment-group-name deployment-group

2 Elimine lo siguiente del resultado

bull Al principio del resultado elimine deploymentGroupInfobull Al final del resultado elimine bull Elimine la fila que contiene deploymentGroupIdbull Elimine la fila que contiene deploymentGroupName

El contenido de su archivo de texto debe tener ahora un aspecto similar al siguiente

applicationName TestApp-us-east-2 deploymentConfigName CodeDeployDefaultOneAtATime autoScalingGroups [] ec2TagFilters [ Type KEY_AND_VALUE Value Project-ABC Key Name ] triggerConfigurations [] serviceRoleArn arnawsiam444455556666roleAnyCompany-service-role onPremisesInstanceTagFilters []

3 En la seccioacuten triggerConfigurations antildeada datos para los paraacutemetros triggerEventstriggerTargetArn y triggerName Para obtener informacioacuten acerca de los paraacutemetros deconfiguracioacuten de disparadores consulte TriggerConfig

El contenido de su archivo de texto debe tener ahora un aspecto similar al siguiente Este coacutedigoprovoca el enviacuteo de notificaciones siempre que una implementacioacuten comience o se realicecorrectamente o cuando se produzca un error en ella

applicationName TestApp-us-east-2 deploymentConfigName CodeDeployDefaultOneAtATime autoScalingGroups [] ec2TagFilters [ Type KEY_AND_VALUE Value Project-ABC Key Name

Versioacuten de API 2014-10-06371

AWS CodeDeploy Guiacutea del usuarioEdicioacuten de un desencadenadoren un grupo de implementacioacuten

] triggerConfigurations [ triggerEvents [ DeploymentStart DeploymentSuccess DeploymentFailure ] triggerTargetArn arnawssnsus-east-2444455556666us-east-deployments triggerName Trigger-group-us-east-2 ] serviceRoleArn arnawsiam444455556666roleAnyCompany-service-role onPremisesInstanceTagFilters []

4 Guarde las actualizaciones como un archivo JSON y a continuacioacuten ejecute el comando update-deployment-group con la opcioacuten --cli-input-json Aseguacuterese de incluir la opcioacuten --current-deployment-group-name y especifique el nombre de su archivo JSON en filename

Important

Aseguacuterese de incluir file antes del nombre de archivo Es obligatorio en este comando

aws deploy update-deployment-group --current-deployment-group-name deployment-group-name --cli-input-json filefilenamejson

Al finalizar el proceso de creacioacuten recibe un mensaje de notificacioacuten de prueba que indica que tantolos permisos como los detalles de los disparadores estaacuten configurados correctamente

Edicioacuten de un activador en un grupo deimplementacioacuten de CodeDeploySi sus necesidades de notificacioacuten cambian puede modificar el desencadenador en lugar de crear unonuevo

Modificacioacuten de un disparador de CodeDeploy (CLI)Para utilizar elAWS CLIPara cambiar los detalles de los desencadenadores de eventos de CodeDeploycuando actualiza un grupo de implementaciones cree un archivo JSON para definir los cambios enlas propiedades del grupo de implementaciones y a continuacioacuten ejecute lagrupo de implementacioacuten-actualizacioacutencomando con el--cli-input-jsonopcioacuten

La forma maacutes sencilla de crear el archivo JSON es ejecutar el comando get-deployment-group paraobtener los detalles del grupo de implementaciones actual en formato JSON y a continuacioacuten editar losvalores necesarios en un editor de texto sin formato

1 Ejecute el siguiente comando sustituyendo application y deployment-group por los nombres desu aplicacioacuten y grupo de implementaciones

aws deploy get-deployment-group --application-name application --deployment-group-name deployment-group

2 Copie los resultados del comando en un editor de texto sin formato y a continuacioacuten elimine losiguiente

bull Al principio del resultado elimine deploymentGroupInfo

Versioacuten de API 2014-10-06372

AWS CodeDeploy Guiacutea del usuarioEliminar un desencadenador

de un grupo de implementacioacuten

bull Al final del resultado elimine bull Elimine la fila que contiene deploymentGroupIdbull Elimine la fila que contiene deploymentGroupName

El contenido de su archivo de texto debe tener ahora un aspecto similar al siguiente

applicationName TestApp-us-east-2 deploymentConfigName CodeDeployDefaultOneAtATime autoScalingGroups [] ec2TagFilters [ Type KEY_AND_VALUE Value East-1-Instances Key Name ] triggerConfigurations [ triggerEvents [ DeploymentStart DeploymentSuccess DeploymentFailure DeploymentStop ] triggerTargetArn arnawssnsus-east-2111222333444Trigger-group-us-east-2 triggerName Trigger-group-us-east-2 ] serviceRoleArn arnawsiam444455556666roleAnyCompany-service-role onPremisesInstanceTagFilters []

3 Cambie los paraacutemetros seguacuten sea necesario Para obtener informacioacuten acerca de los paraacutemetros deconfiguracioacuten de disparadores consulte TriggerConfig

4 Guarde las actualizaciones como un archivo JSON y a continuacioacuten ejecute el comando update-deployment-group con la opcioacuten --cli-input-json Aseguacuterese de incluir la opcioacuten --current-deployment-group-name y especifique el nombre de su archivo JSON en filename

Important

Aseguacuterese de incluir file antes del nombre de archivo Es obligatorio en este comando

aws deploy update-deployment-group --current-deployment-group-name deployment-group-name --cli-input-json filefilenamejson

Al finalizar el proceso de creacioacuten recibe un mensaje de notificacioacuten de prueba que indica que tanto lospermisos como los detalles de los disparadores estaacuten configurados correctamente

Eliminar un desencadenador de un grupo deimplementacioacuten de CodeDeployDada la limitacioacuten de 10 desencadenadores por grupo de implementaciones es posible que desee eliminardesencadenadores si ya no se utilizan No puede deshacer la eliminacioacuten de un disparador pero puedevolver a crearlos

Versioacuten de API 2014-10-06373

AWS CodeDeploy Guiacutea del usuarioFormatos de datos JSON para activadores

Eliminacioacuten de un desencadenador de un grupo deimplementaciones (consola)1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttps

consoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones3 En la paacutegina Applications (Aplicaciones) elija el nombre de la aplicacioacuten asociada al grupo de

implementaciones en el que desee eliminar un disparador4 En la paacutegina Application details (Detalles de la aplicacioacuten) elija el grupo de implementaciones en el

que desee eliminar un disparador5 Elija Edit (Editar)6 Expanda Advanced (Opciones avanzadas) (opcional)7 En el aacuterea Triggers (Disparadores) elija el disparador que desee eliminar y a continuacioacuten elija

Delete trigger (Eliminar disparador)8 Elija Save changes (Guardar cambios)

Eliminacioacuten de un desencadenador de un grupo deimplementaciones (CLI)Si desea utilizar la CLI para eliminar un disparador llame algrupo de implementacioacuten-actualizacioacuten con losparaacutemetros de configuracioacuten de disparador vaciacuteos especificando lo siguiente

bull El nombre de la aplicacioacuten asociada al grupo de implementaciones Para ver una lista de los nombres delas aplicaciones llame alaplicaciones de listacomando

bull El nombre del grupo de implementaciones asociado a la aplicacioacuten Para ver una lista de los nombres delos grupos de implementaciones llame algrupos de despliegue de listascomando

Por ejemplo

aws deploy update-deployment-group --application-name application-name --current-deployment-group-name deployment-group-name --trigger-configurations

Formatos de datos JSON para activadores deCodeDeployPuede utilizar la salida JSON que se crea cuando se activa un disparador para una implementacioacuten o unainstancia en un flujo de trabajo de notificacioacuten personalizado por ejemplo enviar mensajes a colas deAmazon SQS o invocar una funcioacuten enAWS Lambda

Note

Esta guiacutea no trata sobre el modo de configurar las notificaciones en JSON Para obtenerinformacioacuten sobre coacutemo usar Amazon SNS para enviar mensajes a colas de Amazon SQSconsulteEnviacuteo de mensajes de Amazon SNS Messages to Amazon SQS Para obtenerinformacioacuten sobre coacutemo usar Amazon SNS para invocar una funcioacuten Lambda consulteInvocacioacutende funciones Lambda mediante notificaciones de Amazon SNS

Versioacuten de API 2014-10-06374

AWS CodeDeploy Guiacutea del usuarioFormatos de datos JSON para activadores

Los siguientes ejemplos muestran la estructura de la salida JSON disponible con los disparadores deCodeDeploy

Salida JSON de ejemplo para disparadores basados en instancias

region us-east-2 accountId 111222333444 eventTriggerName trigger-group-us-east-instance-succeeded deploymentId d-75I7MBT7C instanceId arnawsec2us-east-2444455556666instancei-496589f7 lastUpdatedAt 1446744207564 instanceStatus Succeeded lifecycleEvents [ LifecycleEvent ApplicationStop LifecycleEventStatus Succeeded StartTime 1446744188595 EndTime 1446744188711 LifecycleEvent BeforeInstall LifecycleEventStatus Succeeded StartTime 1446744189827 EndTime 1446744190402 More lifecycle events might be listed here ]

Salida JSON de ejemplo para disparadores basados en implementaciones

region us-west-1 accountId 111222333444 eventTriggerName Trigger-group-us-west-3-deploy-failed applicationName ProductionApp-us-west-3 deploymentId d-75I7MBT7C deploymentGroupName dep-group-def-456 createTime 1446744188595 completeTime 1446744190402 deploymentOverview Failed 10 InProgress 0 Pending 0 Skipped 0 Succeeded 0 status Failed errorInformation ErrorCode IAM_ROLE_MISSING ErrorMessage IAM Role is missing for deployment group dep-group-def-456

Versioacuten de API 2014-10-06375

AWS CodeDeploy Guiacutea del usuarioProteccioacuten de los datos

Seguridad enAWSCodeDeployLa seguridad en la nube de AWS es la mayor prioridad Como cliente de AWS se beneficia de unaarquitectura de red y un centro de datos que se han disentildeado para satisfacer los requisitos de seguridadde las organizaciones maacutes exigentes

La seguridad es una responsabilidad compartida entre AWS y usted El modelo de responsabilidadcompartida la describe como seguridad de la nube y seguridad en la nube

bull Seguridad de la nube AWS es responsable de proteger la infraestructura que ejecuta los serviciosde AWS en la nube de AWS AWS tambieacuten proporciona servicios que puede utilizar de forma seguraAuditores externos prueban y verifican perioacutedicamente la eficacia de nuestra seguridad en el marcode los programas de conformidad de AWS Para obtener maacutes informacioacuten acerca de los programas deconformidad que se aplican aAWSCodeDeploy consulteAWSServicios de incluidos en el aacutembito delprograma de conformidad

bull Seguridad en la nube su responsabilidad viene determinada por el servicio de AWS que utilice Tambieacuteneres responsable de otros factoresincluida la confidencialidad de los datos los requisitos de la empresay la legislacioacuten y los reglamentos aplicables

Esta documentacioacuten le ayuda a comprender coacutemo aplicar el modelo de responsabilidad compartida cuandose utiliza CodeDeploy En los siguientes temas se muestra coacutemo configurar CodeDeploy para satisfacersus objetivos de seguridad y conformidad Tambieacuten aprende a usar otrosAWSservicios que ayudan amonitorizar y proteger su CodeDeploy de AWS

Temasbull Proteccioacuten de los datos enAWSCodeDeploy (p 376)bull Identity and Access Management en AWS CodeDeploy (p 378)bull Registro y monitoreo en CodeDeploy (p 404)bull Validacioacuten de la conformidad enAWSCodeDeploy (p 405)bull Resiliencia enAWSCodeDeploy (p 405)bull Seguridad de la infraestructura enAWSCodeDeploy (p 406)

Proteccioacuten de los datos enAWSCodeDeployLaAWS modelo de responsabilidad compartidase aplica a la proteccioacuten de datos enAWSCodeDeployComo se describe en este modelo AWS es responsable de proteger la infraestructura global que ejecutatoda la Nube de AWS Usted es responsable de mantener el control sobre el contenido alojado en estainfraestructura Este contenido incluye la configuracioacuten de seguridad y las tareas de administracioacuten parael que utiliza Servicios de AWS Para obtener maacutes informacioacuten sobre la privacidad de los datos consultelas Preguntas frecuentes sobre la privacidad de datos Para obtener informacioacuten sobre la proteccioacuten dedatos en Europa consulte la publicacioacuten de blog AWSShared Responsability Model and GDPR en el Blogde seguridad de AWS

Con fines de proteccioacuten de datos recomendamos proteger las credenciales de Cuenta de AWS yconfigurar cuentas de usuario individuales con AWS Identity and Access Management (IAM) De estamanera solo se otorgan a cada usuario los permisos necesarios para cumplir con sus obligacioneslaborales Tambieacuten recomendamos proteger sus datos de las siguientes formas

bull Utilice Multi-Factor Authentication (MFA) con cada cuentabull Utilice SSLTLS para comunicarse con los recursos de AWS Recomendamos TLS 12 o una versioacuten

posterior

Versioacuten de API 2014-10-06376

AWS CodeDeploy Guiacutea del usuarioPrivacidad del traacutefico entre redes

bull Configure la API y el registro de actividad del usuario con AWS CloudTrailbull Utilice las soluciones de cifrado de AWS junto con todos los controles de seguridad predeterminados

dentro de los servicios de AWSbull Utilice avanzados servicios de seguridad administrados como Amazon Macie que lo ayuden a detectar

y proteger los datos personales almacenados en Amazon S3bull Si necesita moacutedulos criptograacuteficos validados FIPS 140-2 al acceder a AWS a traveacutes de una interfaz de

liacutenea de comandos o una API utilice un punto de enlace de FIPS Para obtener maacutes informacioacuten sobrelos puntos de enlace de FIPS disponibles consulte Estaacutendar de procesamiento de la informacioacuten federal(FIPS) 140-2

Recomendamos encarecidamente que nunca introduzca informacioacuten de identificacioacuten confidencial comopor ejemplo direcciones de email de sus clientes en etiquetas o en los campos de formato libre como elcampo Name (Nombre) Esto incluye cuando trabaje con CodeDeploy u otrosAWSservicios que utilizanla consola APIAWS CLI o bienAWSSDK Los datos que ingresa en etiquetas o campos de formatolibre utilizados para los nombres se pueden utilizar para los registros de facturacioacuten o diagnoacutestico Siproporciona una URL a un servidor externo recomendamos encarecidamente que no incluya informacioacutende credenciales en la URL a fin de validar la solicitud para ese servidor

Privacidad del traacutefico entre redesCodeDeployes un servicio de implementacioacuten completamente administrado que admite instanciasEC2 funciones Lambda Amazon ECS y servidores en las instalaciones Para las instancias EC2 y losservidores en las instalaciones un agente basado en host se comunica con CodeDeploy mediante TLS

Actualmente la comunicacioacuten entre el agente y el servicio precisa una conexioacuten a Internet saliente paraque el agente pueda comunicarse con el puacuteblico CodeDeploy y puntos de enlace de servicio Amazon S3En una nube virtual privada esto se puede lograr con una gateway de Internet una conexioacuten de VPN desitio a sitio a su red corporativa o una conexioacuten directa

La CodeDeploy es compatible con servidores proxy HTTP

Puntos de enlace de la VPC de Amazon impulsados porAWS PrivateLink estaacuten disponibles paraCodeDeploy en determinadas regiones Para obtener maacutes informacioacuten consulte Usar CodeDeploy conAmazon Virtual Private Cloud (p 446)

Note

La CodeDeploy El agente de solo es necesario si se realiza la implementacioacuten en una plataformade computacioacuten en las instalaciones de Amazon EC2de El agente no es necesario para lasimplementaciones que utilizan Amazon ECS oAWS Lambdaplataforma de computacioacuten

Cifrado en reposoEl coacutedigo de cliente no se almacena en CodeDeploy Como servicio de implementacioacuten CodeDeploy estaacuteenviando comandos a la CodeDeploy agente de que se ejecuta en instancias EC2 o servidores en lasinstalaciones La CodeDeploy agent de ejecuta los comandos mediante TLS Los datos del modelo deservicio para las implementaciones la configuracioacuten de la implementacioacuten los grupos de implementacioacutenlas aplicaciones y las revisiones de aplicaciones se almacenan en Amazon DynamoDB y se cifran enreposo mediante unClave propiedad de AWS propiedad de CodeDeploy y gestionada por Para obtenermaacutes informacioacuten consulteClave propiedad de AWSs

Cifrado en traacutensitoLa CodeDeploy agente de inicia todas las comunicaciones con CodeDeploy a traveacutes del puerto 443 Elagente sondea CodeDeploy y escucha un comando La CodeDeploy agente de es de coacutedigo abierto

Versioacuten de API 2014-10-06377

AWS CodeDeploy Guiacutea del usuarioAdministracioacuten de claves de cifrado

Todos service-to-service y client-to-service la comunicacioacuten se cifra en traacutensito mediante TLS Esto protegelos datos del cliente en traacutensito entre CodeDeploy y otros servicios como Amazon S3

Administracioacuten de claves de cifradoNo hay claves de cifrado para que administre La CodeDeploy Los datos del modelo de servicio se cifranmediante unClave propiedad de AWS propiedad de CodeDeploy y gestionada por Para obtener maacutesinformacioacuten consulteClave propiedad de AWSs

Identity and Access Management en AWSCodeDeploy

AWS Identity and Access Management (IAM) es un Servicio de AWS que ayuda a los administradores acontrolar de forma segura el acceso a los recursos de AWS Los administradores de IAM controlan quieacutenpuede serautenticado(iniciado sesioacuten) yautorizado(tienen permisos) para usar CodeDeploy de AWS IAMes un Servicio de AWS que se puede utilizar sin cargo adicional

Temasbull Puacuteblico (p 378)bull Autenticacioacuten con identidades (p 379)bull Administracioacuten de acceso mediante poliacuteticas (p 381)bull Coacutemo AWS CodeDeploy funciona con IAM (p 382)bull AWSPoliacuteticas administradas por (predefinidas) para CodeDeploy (p 385)bull Actualizaciones de CodeDeploy enAWSpoliacuteticas administradas (p 390)bull Ejemplos de poliacuteticas basadas en identidad de AWS CodeDeploy (p 390)bull Solucioacuten de problemas de identidades y accesos en AWS CodeDeploy (p 395)bull Referencia de permisos de CodeDeploy (p 397)bull Prevencioacuten del suplente confuso entre servicios (p 403)

PuacuteblicoCoacutemo se utilizaAWS Identity and Access Management(IAM) difiere en funcioacuten del trabajo que realice enCodeDeploy

Usuario de serviciomdash Si utiliza la CodeDeploy Servicio para realizar su trabajo su administrador leproporciona las credenciales y los permisos que necesita A medida que utilizas maacutes CodeDeploycaracteriacutesticas para realizar su trabajo es posible que necesite permisos adicionales Entender coacutemo seadministra el acceso puede ayudarle a solicitar los permisos correctos a su administrador Si no puedeacceder a una caracteriacutestica en CodeDeploy consulteSolucioacuten de problemas de identidades y accesos enAWS CodeDeploy (p 395)

Administrador de serviciosmdash Si estaacutes a cargo de CodeDeploy recursos de su empresa probablementetenga acceso completo a CodeDeploy Su trabajo consiste en determinar cuaacutel de CodeDeploycaracteriacutesticas y recursos a los que deben acceder sus empleados A continuacioacuten debe enviar solicitudesa su administrador de IAM para cambiar los permisos de los usuarios de su servicio Revise la informacioacutende esta paacutegina para conocer los conceptos baacutesicos de IAM Para obtener maacutes informacioacuten sobrecoacutemo la empresa puede utilizar IAM con CodeDeploy consulteCoacutemo AWS CodeDeploy funciona conIAM (p 382)

Administrador de IAM si es un administrador de IAM es posible que quiera conocer informacioacuten sobrecoacutemo escribir poliacuteticas para administrar el acceso a CodeDeploy Para ver el ejemplo CodeDeploy Poliacuteticas

Versioacuten de API 2014-10-06378

AWS CodeDeploy Guiacutea del usuarioAutenticacioacuten con identidades

basadas en identidades que puede utilizar en IAM consulteEjemplos de poliacuteticas basadas en identidad deAWS CodeDeploy (p 390)

Autenticacioacuten con identidadesLa autenticacioacuten es la manera de iniciar sesioacuten en AWS mediante credenciales de identidad Para obtenermaacutes informacioacuten acerca de coacutemo iniciar sesioacuten con la AWS Management Console consulte Inicio desesioacuten en la AWS Management Console como usuario de IAM o usuario raiacutez en la Guiacutea del usuario deIAM

Debe estar autenticado (haber iniciado sesioacuten en AWS) como el usuario raiacutez de la Cuenta de AWS comoun usuario de IAM o asumiendo un rol de IAM Tambieacuten puede utilizar la autenticacioacuten de inicio de sesioacutenuacutenico de la empresa o incluso iniciar sesioacuten con Google o Facebook En estos casos su administradorhabraacute configurado previamente la federacioacuten de identidad mediante roles de IAM Cuando obtiene accesoa AWS mediante credenciales de otra empresa asume un rol indirectamente

Para iniciar sesioacuten directamente en la AWS Management Console utilice la contrasentildea con su direccioacuten deemail de usuario raiacutez o con su nombre de usuario de IAM Puede acceder a AWS mediante programacioacutenutilizando sus claves de acceso de usuario raiacutez o usuario de IAM AWS proporciona SDK y herramientasde liacutenea de comandos para firmar criptograacuteficamente su solicitud con sus credenciales Si no utiliza lasherramientas de AWS debe firmar usted mismo la solicitud Para ello utilice Signature Version 4 unprotocolo para autenticar solicitudes de API de entrada Para obtener maacutes informacioacuten acerca de coacutemoautenticar solicitudes consulte Proceso de firma de Signature Version 4 en la Referencia general de AWS

Independientemente del meacutetodo de autenticacioacuten que utilice es posible que tambieacuten deba proporcionarinformacioacuten de seguridad adicional Por ejemplo AWS le recomienda el uso de la autenticacioacuten multifactor(MFA) para aumentar la seguridad de su cuenta Para obtener maacutes informacioacuten consulte Uso de laautenticacioacuten multifactor (MFA) en AWS en la Guiacutea del usuario de IAM

Cuenta de AWS usuario raiacutezCuando se crea una Cuenta de AWS por primera vez se comienza con una uacutenica identidad de inicio desesioacuten que tiene acceso completo a todos los recursos y Servicios de AWS de la cuenta Esta identidadrecibe el nombre de usuario raiacutez de la Cuenta de AWS y se accede a ella iniciando sesioacuten con el email yla contrasentildea que utilizoacute para crear la cuenta Recomendamos encarecidamente que no utilice el usuarioraiacutez en sus tareas cotidianas ni siquiera en las tareas administrativas En lugar de ello es mejor centildeirse ala praacutectica recomendada de utilizar el usuario final exclusivamente para crear al primer usuario de IAM Acontinuacioacuten guarde las credenciales del usuario raiacutez en un lugar seguro y utiliacutecelas tan solo para algunastareas de administracioacuten de cuentas y servicios

Usuarios y grupos de IAMUn usuario de IAM es una identidad de la Cuenta de AWS que dispone de permisos especiacuteficos para unasola persona o aplicacioacuten Un usuario de IAM puede tener credenciales a largo plazo como un nombrede usuario y una contrasentildea o un conjunto de claves de acceso Para obtener informacioacuten sobre coacutemogenerar claves de acceso consulte Administracioacuten de claves de acceso de los usuarios de IAM en la Guiacuteadel usuario de IAM Al generar claves de acceso para un usuario de IAM aseguacuterese de ver y guardar deforma segura el par de claves No puede recuperar la clave de acceso secreta en el futuro En su lugardebe generar un nuevo par de claves de acceso

Un grupo de IAM es una identidad que especifica un conjunto de usuarios de IAM No puede iniciar sesioacutencomo grupo Puede usar los grupos para especificar permisos para varios usuarios a la vez Los gruposfacilitan la administracioacuten de los permisos de grandes conjuntos de usuarios Por ejemplo podriacutea tener ungrupo cuyo nombre fuese IAMAdmins y conceder permisos a dicho grupo para administrar los recursos deIAM

Los usuarios son diferentes de los roles Un usuario se asocia exclusivamente a una persona o aplicacioacutenpero la intencioacuten es que cualquier usuario pueda asumir un rol que necesite Los usuarios tienen

Versioacuten de API 2014-10-06379

AWS CodeDeploy Guiacutea del usuarioAutenticacioacuten con identidades

credenciales permanentes a largo plazo y los roles proporcionan credenciales temporales Para obtenermaacutes informacioacuten consulte Cuaacutendo crear un usuario de IAM (en lugar de un rol) en la Guiacutea del usuario deIAM

IAM rolesUn rol de IAM es una identidad de la Cuenta de AWS que dispone de permisos especiacuteficos Es similar a unusuario de IAM pero no estaacute asociado a una determinada persona Puede asumir temporalmente un rol deIAM en la AWS Management Consolecambiando de roles Puede asumir un rol llamando a una operacioacutende la AWS CLI o de la API de AWS o utilizando una URL personalizada Para obtener maacutes informacioacutenacerca de los meacutetodos para el uso de roles consulte Uso de roles de IAM en la Guiacutea del usuario de IAM

Los roles de IAM con credenciales temporales son uacutetiles en las siguientes situaciones

bull Permisos de usuario de IAM temporales un usuario de IAM puede asumir un rol de IAM para recibirtemporalmente permisos distintos que le permitan realizar una tarea concreta

bull Acceso de usuarios federados en lugar de crear un usuario de IAM puede utilizar identidadesexistentes de AWS Directory Service del directorio de usuarios de su empresa o de un proveedorde identidades web A estas identidades se les llama usuarios federados AWS asigna una funcioacuten aun usuario federado cuando se solicita acceso a traveacutes de un proveedor de identidad Para obtenermaacutes informacioacuten acerca de los usuarios federados consulte Usuarios federados y roles en la Guiacutea delusuario de IAM

bull Acceso entre cuentas puede utilizar un rol de IAM para permitir que alguien (una entidad principalde confianza) de otra cuenta acceda a los recursos de la cuenta Los roles son la forma principalde conceder acceso entre cuentas No obstante con algunos Servicios de AWS se puede adjuntaruna poliacutetica directamente a un recurso (en lugar de utilizar un rol como representante) Para obtenerinformacioacuten acerca de la diferencia entre los roles y las poliacuteticas basadas en recursos para el accesoentre cuentas consulte Coacutemo los roles de IAM difieren de las poliacuteticas basadas en recursos en la Guiacuteadel usuario de IAM

bull Acceso entre servicios algunos Servicios de AWS utilizan caracteriacutesticas de otros Servicios de AWSPor ejemplo cuando realiza una llamada en un servicio es comuacuten que ese servicio ejecute aplicacionesen Amazon EC2 o almacene objetos en Amazon S3 Es posible que un servicio haga esto usando lospermisos de la entidad principal usando un rol de servicio o usando un rol vinculado a serviciosbull Permisos principales cuando utiliza un usuario o un rol de IAM para llevar a cabo acciones en AWS

se lo considera una entidad principal Las poliacuteticas conceden permisos a una entidad principalCuando utiliza algunos servicios es posible que realice una accioacuten que desencadene otra accioacuten enun servicio diferente En este caso debe tener permisos para realizar ambas acciones Para ver siuna accioacuten requiere acciones dependientes adicionales en una poliacutetica consulte Acciones recursos yclaves de condicioacuten de AWS CodeDeploy en la Referencia de autorizaciones de servicio

bull Rol de servicio un rol de servicio es un rol de IAM que adopta un servicio para realizar acciones en sunombre Un administrador de IAM puede crear modificar y eliminar un rol de servicio desde IAM Paraobtener maacutes informacioacuten consulte Creacioacuten de un rol para delegar permisos a un Servicio de AWS enla Guiacutea del usuario de IAM

bull Rol vinculado a servicio un rol vinculado a servicio es un tipo de rol de servicio que estaacute vinculado aun Servicio de AWS El servicio puede asumir el rol para realizar una accioacuten en su nombre Los rolesvinculados a servicios aparecen en la cuenta de IAM y son propiedad del servicio Un administrador deIAM puede ver pero no editar los permisos de los roles vinculados a servicios

bull Aplicaciones que se ejecutan en Amazon EC2 puede utilizar un rol de IAM que le permita administrarcredenciales temporales para las aplicaciones que se ejecutan en una instancia de EC2 y realizansolicitudes a la AWS CLI o a la API de AWS Es preferible hacerlo de este modo a almacenar clavesde acceso en la instancia de EC2 Para asignar un rol de AWS a una instancia de EC2 y ponerla adisposicioacuten de todas las aplicaciones cree un perfil de instancia adjuntado a la instancia Un perfil deinstancia contiene el rol y permite a los programas que se ejecutan en la instancia de EC2 obtenercredenciales temporales Para obtener maacutes informacioacuten consulte Uso de un rol de IAM para concederpermisos a aplicaciones que se ejecutan en instancias Amazon EC2 en la Guiacutea del usuario de IAM

Versioacuten de API 2014-10-06380

AWS CodeDeploy Guiacutea del usuarioAdministracioacuten de acceso mediante poliacuteticas

Para obtener informacioacuten sobre el uso de los roles de IAM consulte Cuaacutendo crear un rol de IAM (en lugarde un usuario) en la Guiacutea del usuario de IAM

Administracioacuten de acceso mediante poliacuteticasPara controlar el acceso en AWS se crean poliacuteticas y se adjuntan a identidades de IAM o recursos deAWS Una poliacutetica es un objeto de AWS que cuando se asocia a una identidad o un recurso define suspermisos Puede iniciar sesioacuten como usuario raiacutez o usuario de IAM o puede asumir un rol de IAM Cuandorealiza una solicitud AWS evaluacutea las poliacuteticas relacionadas basadas en identidad o en recursos Lospermisos en las poliacuteticas determinan si la solicitud se permite o se deniega Las mayoriacutea de las poliacuteticasse almacenan en AWS como documentos JSON Para obtener maacutes informacioacuten sobre la estructura y elcontenido de los documentos de poliacutetica JSON consulte Informacioacuten general de poliacuteticas JSON en la Guiacuteadel usuario de IAM

Los administradores pueden utilizar las poliacuteticas JSON de AWS para especificar quieacuten tiene acceso a queacuteEs decir queacute entidad principal puede realizar acciones en queacute recursos y bajo queacute condiciones

Cada entidad de IAM (usuario o rol) comienza sin permisos En otras palabras de forma predeterminadalos usuarios no pueden hacer nada ni siquiera cambiar sus propias contrasentildeas Para conceder permisoa un usuario para hacer algo el administrador debe adjuntarle una poliacutetica de permisos O bien eladministrador puede agregar al usuario a un grupo que tenga los permisos necesarios Cuando eladministrador concede permisos a un grupo todos los usuarios de ese grupo obtienen los permisos

Las poliacuteticas de IAM definen permisos para una accioacuten independientemente del meacutetodo que se utilicepara realizar la operacioacuten Por ejemplo suponga que dispone de una poliacutetica que permite la accioacuteniamGetRole Un usuario con dicha poliacutetica puede obtener informacioacuten del usuario de la AWSManagement Console la AWS CLI o la API de AWS

Poliacuteticas basadas en identidadLas poliacuteticas basadas en identidad son documentos de poliacuteticas de permisos JSON que puede adjuntara una identidad como un usuario de IAM un grupo de usuarios o un rol Estas poliacuteticas controlan queacuteacciones pueden realizar los usuarios y los roles en queacute recursos y bajo queacute condiciones Para obtenermaacutes informacioacuten sobre coacutemo crear una poliacutetica basada en identidad consulte Creacioacuten de poliacuteticas de IAMen la Guiacutea del usuario de IAM

Las poliacuteticas basadas en identidad pueden clasificarse ademaacutes como poliacuteticas insertadas o poliacuteticasadministradas Las poliacuteticas insertadas se integran directamente en un uacutenico usuario grupo o rol Laspoliacuteticas administradas son poliacuteticas independientes que puede adjuntar a varios usuarios grupos y rolesde su Cuenta de AWS Las poliacuteticas administradas incluyen las poliacuteticas administradas por AWS y laspoliacuteticas administradas por el cliente Para obtener maacutes informacioacuten acerca de coacutemo elegir una poliacuteticaadministrada o una poliacutetica insertada consulte Elegir entre poliacuteticas administradas y poliacuteticas insertadas enla Guiacutea del usuario de IAM

Otros tipos de poliacuteticasAWS admite otros tipos de poliacuteticas adicionales menos frecuentes Estos tipos de poliacuteticas puedenestablecer el maacuteximo de permisos que los tipos de poliacuteticas maacutes frecuentes le otorgan

bull Liacutemites de permisos un liacutemite de permisos es una caracteriacutestica avanzada que le permite establecer lospermisos maacuteximos que una poliacutetica basada en identidad puede conceder a una entidad de IAM (usuarioo rol de IAM) Puede establecer un liacutemite de permisos para una identidad Los permisos resultantesson la interseccioacuten de las poliacuteticas basadas en identidad de la entidad y los liacutemites de sus permisosLas poliacuteticas basadas en recursos que especifiquen el usuario o rol en el campo Principal noestaraacuten restringidas por el liacutemite de permisos Una denegacioacuten expliacutecita en cualquiera de estas poliacuteticasanularaacute el permiso Para obtener maacutes informacioacuten sobre los liacutemites de los permisos consulte Liacutemites depermisos para las entidades de IAM en la Guiacutea del usuario de IAM

Versioacuten de API 2014-10-06381

AWS CodeDeploy Guiacutea del usuarioCoacutemo AWS CodeDeploy funciona con IAM

bull Poliacuteticas de control de servicio (SCP) las SCP son poliacuteticas de JSON que especifican los permisosmaacuteximos de una organizacioacuten o una unidad organizativa en AWS Organizations AWS Organizationses un servicio que le permite agrupar y administrar de manera centralizada varias Cuentas de AWS queposea su empresa Si habilita todas las caracteriacutesticas en una organizacioacuten entonces podraacute aplicarpoliacuteticas de control de servicio (SCP) a una o todas sus cuentas Las SCP limitan los permisos de lasentidades de las cuentas miembro incluido cada usuario raiacutez de la Cuenta de AWS Para obtener maacutesinformacioacuten acerca de Organizations y las SCP consulte Funcionamiento de las SCP en la Guiacutea delusuario de AWS Organizations

bull Poliacuteticas de sesioacuten las poliacuteticas de sesioacuten son poliacuteticas avanzadas que se pasan como paraacutemetrocuando se crea una sesioacuten temporal mediante programacioacuten para un rol o un usuario federado Lospermisos de la sesioacuten resultantes son la interseccioacuten de las poliacuteticas basadas en identidad del rol y laspoliacuteticas de la sesioacuten Los permisos tambieacuten pueden proceder de una poliacutetica basada en recursos Unadenegacioacuten expliacutecita en cualquiera de estas poliacuteticas anularaacute el permiso Para obtener maacutes informacioacutenconsulte Poliacuteticas de sesioacuten en la Guiacutea del usuario de IAM

Varios tipos de poliacuteticasCuando se aplican varios tipos de poliacuteticas a una solicitud los permisos resultantes son maacutes complicadosde entender Para obtener informacioacuten acerca de coacutemo AWS decide si permitir o no una solicitud cuandohay varios tipos de poliacuteticas implicados consulte Loacutegica de evaluacioacuten de poliacuteticas en la Guiacutea del usuariode IAM

Coacutemo AWS CodeDeploy funciona con IAMAntes de utilizar IAM para administrar el acceso a CodeDeploy debe saber queacute caracteriacutesticas de IAMestaacuten disponibles para su uso con CodeDeploy Para obtener maacutes informacioacuten consulteAWSServicios quefuncionan con IAMen laIAM User Guide

Temasbull Poliacuteticas basadas en identidades de CodeDeploy (p 382)bull Poliacuteticas basadas en recursos de CodeDeploy (p 385)bull Autorizacioacuten basada en etiquetas de CodeDeploy (p 385)bull Funciones de IAM de CodeDeploy (p 385)

Poliacuteticas basadas en identidades de CodeDeployCon las poliacuteticas basadas en identidades de IAM puede especificar las acciones permitidas o denegadasasiacute como los recursos y las condiciones en las que se permiten o deniegan las acciones CodeDeployadmite acciones claves de condiciones y recursos Para obtener maacutes informacioacuten acerca de los elementosque utiliza en una poliacutetica de JSON consulteReferencia de los elementos de las poliacuteticas de JSON deIAMen laIAM User Guide

AccionesLos administradores pueden utilizar las poliacuteticas JSON de AWS para especificar quieacuten tiene acceso a queacuteEs decir queacute entidad principal puede llevar a cabo acciones en queacute recursos y bajo queacute condiciones

El elemento Action de una poliacutetica JSON describe las acciones que puede utilizar para permitir o denegarel acceso en una poliacutetica Las acciones de la poliacutetica generalmente tienen el mismo nombre que laoperacioacuten de API de AWS asociada Hay algunas excepciones como acciones de solo permiso que notienen una operacioacuten de API coincidente Tambieacuten hay algunas operaciones que requieren varias accionesen una poliacutetica Estas acciones adicionales se denominan acciones dependientes

Incluya acciones en una poliacutetica para conceder permisos y asiacute llevar a cabo la operacioacuten asociada

Versioacuten de API 2014-10-06382

AWS CodeDeploy Guiacutea del usuarioCoacutemo AWS CodeDeploy funciona con IAM

Acciones de poliacutetica en CodeDeploy utilice lacodedeployprefijo antes de la accioacuten Por ejemploel permiso codedeployGetApplication concede al usuario permiso para realizar la operacioacutenGetApplication Las instrucciones de la poliacutetica deben incluir unActionoNotActionelementoCodeDeploy define su propio conjunto de acciones que describen las tareas que se pueden realizar coneste servicio

Para especificar varias acciones en una uacutenica instruccioacuten sepaacuterelas con comas del siguiente modo

Action [ codedeployaction1 codedeployaction2

Puede utilizar caracteres comodiacuten para especificar varias acciones () Por ejemplo incluya la accioacutensiguiente para especificar todas las acciones que comiencen por la palabra Describe

Action ec2Describe

Para obtener una lista de CodeDeploy acciones consulteAcciones definidas porAWS CodeDeployen laIAMUser Guide

Para una tabla que muestra una lista de todos los CodeDeploy Acciones de la API de y los recursos a losque se aplican consulteReferencia de permisos de CodeDeploy (p 397)

Recursos

Los administradores pueden utilizar las poliacuteticas JSON de AWS para especificar quieacuten tiene acceso a queacuteEs decir queacute entidad principal puede realizar acciones en queacute recursos y bajo queacute condiciones

El elemento Resource de la poliacutetica JSON especifica el objeto u objetos a los que se aplica la accioacutenLas instrucciones deben contener un elemento Resource o NotResource Como praacutectica recomendadaespecifique un recurso utilizando el Nombre de recurso de Amazon (ARN) Puede hacerlo para accionesque admitan un tipo de recurso especiacutefico conocido como permisos de nivel de recurso

Para las acciones que no admiten permisos de nivel de recurso como las operaciones de descripcioacutenutilice un caraacutecter comodiacuten () para indicar que la instruccioacuten se aplica a todos los recursos

Resource

Por ejemplo puede indicar un grupo de implementaciones (myDeploymentGroup) en su instruccioacutenutilizando su ARN del modo siguiente

Resource arnawscodedeployus-west-2123456789012deploymentgroupmyApplicationmyDeploymentGroup

Tambieacuten puede especificar todos los grupos de implementaciones que pertenecen a una cuenta medianteel caraacutecter comodiacuten () del modo siguiente

Resource arnawscodedeployus-west-2123456789012deploymentgroup

Para especificar todos los recursos o si una accioacuten de API no admite ARN utilice el caraacutecter comodiacuten ()en el elemento Resource de la siguiente manera

Resource

Versioacuten de API 2014-10-06383

AWS CodeDeploy Guiacutea del usuarioCoacutemo AWS CodeDeploy funciona con IAM

Alguno CodeDeploy Las acciones de la API de aceptan varios recursos (porejemploBatchGetDeploymentGroups) Para especificar varios recursos en una uacutenica instruccioacutensepare sus ARN con comas tal y como se indica a continuacioacuten

Resource [arn1 arn2]

CodeDeploy proporciona un conjunto de operaciones para trabajar con los recursos de CodeDeploy Paraver la lista de las operaciones disponibles consulte Referencia de permisos de CodeDeploy (p 397)

Para obtener una lista de CodeDeploy tipos de recursos de y sus ARN consulteRecursos definidosporAWS CodeDeployen laIAM User Guide Para obtener maacutes informacioacuten acerca de las acciones en lasque puede especificar el ARN de cada recurso consulteAcciones definidas porAWS CodeDeploy

Recursos y operaciones de CodeDeploy

En CodeDeploy el recurso principal es un grupo de implementacioacuten En las poliacuteticas se emplean nombresde recurso de Amazon (ARN) para identificar los recursos a los que se aplican las poliacuteticas CodeDeployadmite otros recursos que pueden utilizarse con grupos de implementaciones incluidas las aplicacioneslas configuraciones de implementaciones y las instancias Estos elementos se denominan subrecursosEstos recursos y subrecursos tienen ARN uacutenicos asociados a ellos Para obtener maacutes informacioacutenconsulteNombres de recursos de Amazon (ARN)en laReferencia general de Amazon Web Services

Tipo de recurso Formato de ARN

Grupo deimplementaciones

arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

Aplicacioacuten arnawscodedeployregionaccount-idapplicationapplication-name

Configuracioacuten deimplementacioacuten

arnawscodedeployregionaccount-iddeploymentconfigdeployment-configuration-name

Instancia arnawscodedeployregionaccount-idinstanceinstance-ID

Todos CodeDeployrecursos

arnawscodedeploy

Todos CodeDeployrecursos de quepertenecen a la cuentaespecificada en la regioacutendeterminada

arnawscodedeployregionaccount-id

Note

La mayoriacutea de los servicios de AWS tratan el caraacutecter de dos puntos () o la barra diagonal ()como el mismo caraacutecter en los ARN Sin embargo CodeDeploy utiliza una coincidencia exactaen las reglas y los patrones de recursos Aseguacuterese de utilizar los caracteres de ARN correctoscuando cree patrones de eventos para que coincidan con la sintaxis de ARN en el recurso

Claves de condicioacutenCodeDeploy no proporciona ninguna clave de condicioacuten especiacutefica del servicio pero admite el uso dealgunas claves de condicioacuten globales Para obtener maacutes informacioacuten consulteAWSClaves de contexto decondicioacuten globales deen laIAM User Guide

Versioacuten de API 2014-10-06384

AWS CodeDeploy Guiacutea del usuarioAWSPoliacuteticas administradas por(predefinidas) para CodeDeploy

Ejemplos

Para ver ejemplos de CodeDeploy Poliacuteticas basadas en identidades consulteEjemplos de poliacuteticasbasadas en identidad de AWS CodeDeploy (p 390)

Poliacuteticas basadas en recursos de CodeDeployCodeDeploy no admite poliacuteticas basadas en recursos Para ver un ejemplo de una paacutegina detallada depoliacuteticas basadas en recursos consulteUso de poliacuteticas basadas en recursos paraAWS Lambda

Autorizacioacuten basada en etiquetas de CodeDeployCodeDeploy no admite el etiquetado de recursos o el control de acceso basado en etiquetas

Funciones de IAM de CodeDeployUnRol de IAMes una entidad en laAWScuenta de que dispone de permisos especiacuteficos

Uso de credenciales temporales con CodeDeployPuede utilizar credenciales temporales para iniciar sesioacuten con federacioacuten asumir un rol de IAM o asumir unrol de acceso entre cuentas Las credenciales de seguridad temporales se obtienen mediante una llamadaa operaciones de la API de AWS STS como AssumeRole o GetFederationToken

CodeDeploy admite el uso de credenciales temporales

Roles vinculados a serviciosCodeDeploy no admite roles vinculados a servicios

Roles de servicioEsta caracteriacutestica permite que un servicio asuma un rol de servicio en su nombre Este rol permite queel servicio obtenga acceso a los recursos de otros servicios para completar una accioacuten en su nombreLos roles de servicio aparecen en su cuenta de IAM y son propiedad de la cuenta Esto significa que unadministrador de IAM puede cambiar los permisos de este rol Sin embargo hacerlo podriacutea deteriorar lafuncionalidad del servicio

CodeDeploy admite roles de servicio

Elegir un rol de IAM en CodeDeployCuando se crea un recurso de grupo de implementaciones de CodeDeploy debe elegir un rol parapermitir CodeDeploy para obtener acceso a Amazon EC2 en su nombre Si ha creado previamente unrol de servicio o un rol vinculado a servicios CodeDeploy le proporciona una lista de roles para elegir Esimportante seleccionar un rol que permita el acceso para iniciar y detener una instancia EC2

AWSPoliacuteticas administradas por (predefinidas) paraCodeDeployAWS aborda muchos casos de uso comunes proporcionando poliacuteticas de IAM independientes creadas yadministradas por AWS Estas poliacuteticas administradas por AWS conceden los permisos necesarios paracasos de uso comuacuten lo que le evita tener que investigar queacute permisos se necesitan Para obtener maacutesinformacioacuten consulte Poliacuteticas administradas de AWS en la Guiacutea del usuario de IAM

Temas

Versioacuten de API 2014-10-06385

AWS CodeDeploy Guiacutea del usuarioAWSPoliacuteticas administradas por(predefinidas) para CodeDeploy

bull lista deAWSpoliacuteticas administradas para CodeDeploy (p 386)bull Poliacuteticas administradas y notificaciones de CodeDeploy (p 388)

lista deAWSpoliacuteticas administradas para CodeDeployLos siguientes ejemplos deAWSLas poliacuteticas administradas por que puede asociar a los usuarios de sucuenta son especiacuteficas de CodeDeploy

bull AWSCodeDeployFullAccess concede acceso completo a CodeDeploy

Note

AWSCodeDeployFullAccess no concede permisos a operaciones de otros servicios necesariospara implementar las aplicaciones como por ejemplo Amazon EC2 y Amazon S3 uacutenicamentelos concede a operaciones especiacuteficas de CodeDeploy

bull AWSCodeDeployDeployerAccess concede acceso a un usuario de IAM para registrar e implementarrevisiones

bull AWSCodeDeployReadOnlyAccess concede acceso de solo lectura a CodeDeploy

bull AWSCodeDeployRole Permite CodeDeploy a

bull Lea las etiquetas en las instancias o identifique sus instancias Amazon EC2 mediante nombres degrupo de Amazon EC2 Auto Scaling

bull Lea cree actualice y elimine grupos de Auto Scaling de Amazon EC2 enlaces de ciclo de vidapoliacuteticas de escalado y caracteriacutesticas de warm pool

bull publicar informacioacuten en los temas de Amazon SNSbull recuperar informacioacuten sobre Amazon CloudWatch alarmasbull leer y actualizar recursos en el servicio Elastic Load Balancing

La poliacutetica contiene el coacutedigo siguiente

Version 2012-10-17 Statement [ Effect Allow Action [ autoscalingCompleteLifecycleAction autoscalingDeleteLifecycleHook autoscalingDescribeAutoScalingGroups autoscalingDescribeLifecycleHooks autoscalingPutLifecycleHook autoscalingRecordLifecycleActionHeartbeat autoscalingCreateAutoScalingGroup autoscalingUpdateAutoScalingGroup autoscalingEnableMetricsCollection autoscalingDescribePolicies autoscalingDescribeScheduledActions autoscalingDescribeNotificationConfigurations autoscalingSuspendProcesses autoscalingResumeProcesses autoscalingAttachLoadBalancers autoscalingAttachLoadBalancerTargetGroups autoscalingPutScalingPolicy autoscalingPutScheduledUpdateGroupAction

Versioacuten de API 2014-10-06386

AWS CodeDeploy Guiacutea del usuarioAWSPoliacuteticas administradas por(predefinidas) para CodeDeploy

autoscalingPutNotificationConfiguration autoscalingDescribeScalingActivities autoscalingDeleteAutoScalingGroup autoscalingPutWarmPool ec2DescribeInstances ec2DescribeInstanceStatus ec2TerminateInstances tagGetResources snsPublish cloudwatchDescribeAlarms cloudwatchPutMetricAlarm elasticloadbalancingDescribeLoadBalancers elasticloadbalancingDescribeInstanceHealth elasticloadbalancingRegisterInstancesWithLoadBalancer elasticloadbalancingDeregisterInstancesFromLoadBalancer elasticloadbalancingDescribeTargetGroups elasticloadbalancingDescribeTargetHealth elasticloadbalancingRegisterTargets elasticloadbalancingDeregisterTargets ] Resource ]

bull AWSCodeDeployRoleForLambda Otorga permiso a CodeDeploy para accederAWS Lambday

cualquier otro recurso necesario para una implementacioacuten

bull AWSCodeDeployRoleForECS Becas CodeDeploy permiso para acceder a Amazon ECS y a cualquier

otro recurso necesario para una implementacioacuten

bull AWSCodeDeployRoleForECSLimited concede permiso a CodeDeploya para acceder a Amazon

ECS y a cualquier otro recurso necesario para una implementacioacuten con las siguientes excepcionesbull En el navegadorhooksSeccioacuten sobre de la AppSpec solo funciona Lambda con nombres que

empiecen porCodeDeployHook_se puede utilizar Para obtener maacutes informacioacuten consulte Seccioacutenhooks de AppSpec para una implementacioacuten de Amazon ECS (p 422)

bull El acceso del bucket de S3 se limita a buckets de S3 con una etiqueta de registroUseWithCodeDeploy que tiene un valor de true Para obtener maacutes informacioacutenconsulteEtiquetado de objetos

bullAmazonEC2RoleforAWSCodeDeployLimited Becas CodeDeploy permiso para obtener y enumerarobjetos en un CodeDeploy Bucket de Amazon S3 La poliacutetica contiene el coacutedigo siguiente

Version 2012-10-17 Statement [ Effect Allow Action [ s3GetObject s3GetObjectVersion s3ListBucket ] Resource arnawss3CodeDeploy Effect Allow

Versioacuten de API 2014-10-06387

AWS CodeDeploy Guiacutea del usuarioAWSPoliacuteticas administradas por(predefinidas) para CodeDeploy

Action [ s3GetObject s3GetObjectVersion ] Resource Condition StringEquals s3ExistingObjectTagUseWithCodeDeploy true ]

Los permisos para algunos aspectos del proceso de implementacioacuten se conceden a otros dos tipos de rolque actuacutean en nombre de CodeDeploy en lugar de a los usuarios de IAM

bull UnPerfil de instancia IAMes un rol de IAM que adjunta a las instancias de Amazon EC2 Este perfilincluye los permisos necesarios para acceder a los buckets de Amazon S3 o GitHub repositorios en losque se almacenan las aplicaciones Para obtener maacutes informacioacuten consulte Paso 4 Crear un perfil deinstancias de IAM para sus instancias Amazon EC2 (p 43)

bull UNARol de servicio dees un rol de IAM que otorga permisos a unAWSservicio para que puedaaccederAWSde AWS Las poliacuteticas que adjunta al rol de servicio determinan queacuteAWSrecursos a los quepuede acceder el servicio y las acciones que puede realizar con esos recursos Para CodeDeploy seutiliza un rol de servicio para lo siguientebull Para leer las etiquetas aplicadas a las instancias o los nombres de grupo de Auto Scaling de Amazon

EC2 asociados a las instancias Esto permite CodeDeploy para identificar instancias en las que puededesplegar aplicaciones

bull Para realizar operaciones en instancias grupos Auto Scaling de Amazon EC2 y balanceadores decarga de Elastic Load Balancing

bull Para publicar informacioacuten en temas de Amazon SNS para que se puedan enviar notificaciones cuandose produzcan eventos de instancia o implementacioacuten especificados

bull Para recuperar informacioacuten sobre CloudWatch alarmas para configurar la monitorizacioacuten de alarmaspara implementaciones

Para obtener maacutes informacioacuten consulte Paso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36)

Tambieacuten puede crear poliacuteticas de IAM personalizadas para conceder permisos a las acciones y recursosde CodeDeploy Puede asociar estas poliacuteticas personalizadas a los usuarios o grupos de IAM querequieran esos permisos

Poliacuteticas administradas y notificaciones de CodeDeployCodeDeploy admite notificaciones para que los usuarios conozcan los cambios importantes en lasimplementaciones de Poliacuteticas administradas de CodeDeploy incluyen instrucciones de poliacutetica para lafuncionalidad de notificacioacuten Para obtener maacutes informacioacuten consulte iquestQueacute son las notificaciones

Permisos para notificaciones en poliacuteticas administradas de acceso totalLa poliacutetica administrada AWSCodeDeployFullAccess incluye las siguientes instrucciones para permitirel acceso completo a las notificaciones Los usuarios con una de estas poliacuteticas administradas aplicadastambieacuten pueden crear y administrar temas de Amazon SNS para notificaciones suscribir y cancelar lasuscripcioacuten a los temas y enumerar temas para elegir como destinos para las reglas de notificacioacuten

Sid CodeStarNotificationsReadWriteAccess

Versioacuten de API 2014-10-06388

AWS CodeDeploy Guiacutea del usuarioAWSPoliacuteticas administradas por(predefinidas) para CodeDeploy

Effect Allow Action [ codestar-notificationsCreateNotificationRule codestar-notificationsDescribeNotificationRule codestar-notificationsUpdateNotificationRule codestar-notificationsDeleteNotificationRule codestar-notificationsSubscribe codestar-notificationsUnsubscribe ] Resource Condition StringLike codestar-notificationsNotificationsForResource arnawscodedeploy Sid CodeStarNotificationsListAccess Effect Allow Action [ codestar-notificationsListNotificationRules codestar-notificationsListTargets codestar-notificationsListTagsforResource ] Resource Sid CodeStarNotificationsSNSTopicCreateAccess Effect Allow Action [ snsCreateTopic snsSetTopicAttributes ] Resource arnawssnscodestar-notifications Sid SNSTopicListAccess Effect Allow Action [ snsListTopics ] Resource

Permisos para notificaciones en poliacuteticas administradas de solo lecturaLa poliacutetica administrada AWSCodeDeployReadOnlyAccess incluye las siguientes instrucciones parapermitir el acceso de solo lectura a las notificaciones Los usuarios con esta poliacutetica administrada aplicadapueden ver notificaciones de recursos pero no pueden crearlas administrarlas ni suscribirse a ellas

Sid CodeStarNotificationsPowerUserAccess Effect Allow Action [ codestar-notificationsDescribeNotificationRule ] Resource Condition StringLike codestar-notificationsNotificationsForResource arnawscodedeploy Sid CodeStarNotificationsListAccess Effect Allow

Versioacuten de API 2014-10-06389

AWS CodeDeploy Guiacutea del usuarioActualizaciones de CodeDeployenAWSpoliacuteticas administradas

Action [ codestar-notificationsListNotificationRules ] Resource

Para obtener maacutes informacioacuten consulteIdentity and Access Management para AWS CodeStarNotificaciones

Actualizaciones de CodeDeploy enAWSpoliacuteticasadministradasVer detalles sobre las actualizaciones deAWSPoliacuteticas administradas de para CodeDeploy debido a queeste servicio comenzoacute a realizar un seguimiento de estos cambios Para obtener alertas automaacuteticas sobrecambios en esta paacutegina suscriacutebase a la fuente RSS en CodeDeploy Historial de documentos (p 493)

Cambio Descripcioacuten Fecha

AmazonEC2RoleforAWSCodeDeployLimitedpoliacuteticaadministrada mdash Actualizacionesde la poliacutetica existente

Eliminacionesdes3ListBucketaccioacutende la declaracioacuten depoliacutetica que incluyeels3ExistingObjectTagUseWithCodeDeploycondicioacuten

Para obtener maacutes informacioacutensobre esta poliacuteticaconsulteAmazonEC2RoleforAWSCodeDeployLimited

22 de noviembre de 2021

AWSCodeDeployRolepoliacuteticaadministrada mdash Actualizacionesde la poliacutetica existente

Se ha antildeadidolaautoscalingPutWarmPoolaccioacutende apoyoadicioacuten de gruposcalientes a grupos AutoScaling de Amazon EC2 AutoScalingpara implementacionesbluegreen

Se han eliminado las accionesduplicadas innecesarias

18 de mayo de 2021

CodeDeploy comenzoacute a realizarseguimientos

CodeDeploycomenzoacute arealizar seguimientos de loscambios para suAWSpoliacuteticasadministradas

18 de mayo de 2021

Ejemplos de poliacuteticas basadas en identidad de AWSCodeDeployDe forma predeterminada los usuarios y los roles de IAM no tienen permiso para crear ver ni modificarrecursos de CodeDeploy Tampoco pueden realizar tareas mediante la AWS Management Console laAWS CLI o la API de AWS Un administrador de IAM debe crear poliacuteticas de IAM que concedan permisosa los usuarios y a los roles para realizar operaciones de la API en los recursos especiacuteficos que necesitenEl administrador debe asociar esas poliacuteticas a los usuarios o grupos de IAM que necesiten esos permisos

Versioacuten de API 2014-10-06390

AWS CodeDeploy Guiacutea del usuarioEjemplos de poliacuteticas basadas en identidad

Para obtener maacutes informacioacuten acerca de coacutemo crear una poliacutetica basada en identidad de IAM con estosdocumentos de poliacuteticas de JSON de ejemplo consulte Creacioacuten de poliacuteticas en la pestantildea JSON en laGuiacutea del usuario de IAM

En CodeDeploy las poliacuteticas basadas en identidad se utilizan para administrar los permisos a los distintosrecursos relacionados con el proceso de implementacioacuten Puede controlar el acceso a los siguientes tiposde recurso

bull Aplicaciones y revisiones de aplicacioacutenbull Implementacionesbull Configuraciones de implementacioacutenbull Instancias e instancias en las instalaciones

Las capacidades controladas por poliacuteticas de recursos variacutean en funcioacuten del tipo de recurso tal y como sedescribe en la siguiente tabla

Tipos de recurso Capacidades

Todos Ver y enumerar detalles de recursos

Aplicaciones

Configuraciones de implementacioacuten

Grupos de implementaciones

Crear recursos

Delete resources (Eliminar recursos)

Implementaciones Crear implementaciones

Detener implementaciones

Revisiones de aplicaciones Registrar revisiones de aplicacioacuten

Aplicaciones

Grupos de implementaciones

Actualizar recursos

Instancias on-premises Antildeadir etiquetas a instancias

Eliminar etiquetas de instancias

Registrar instancias

Cancelar el registro de instancias

El siguiente ejemplo muestra una poliacutetica de permisos que permite a un usuario eliminar el grupode implementaciones denominado WordPress_DepGroup asociado a la aplicacioacuten denominadaWordPress_App en la regioacuten us-west-2

Version 2012-10-17 Statement [ Effect Allow Action [ codedeployDeleteDeploymentGroup ] Resource [

Versioacuten de API 2014-10-06391

AWS CodeDeploy Guiacutea del usuarioEjemplos de poliacuteticas basadas en identidad

arnawscodedeployus-west-2444455556666deploymentgroupWordPress_AppWordPress_DepGroup ] ]

Temasbull Ejemplos de poliacuteticas administradas por los clientes (p 392)bull Praacutecticas recomendadas relativas a poliacuteticas (p 394)bull Uso de la consola de CodeDeploy (p 394)bull Permitir a los usuarios consultar sus propios permisos (p 395)

Ejemplos de poliacuteticas administradas por los clientesEn esta seccioacuten encontraraacute ejemplos de poliacuteticas de usuario que conceden permisos para variasCodeDeploy acciones Estas poliacuteticas funcionan cuando se utiliza la API de CodeDeploy los SDK deAWS o la AWS CLI Debe conceder permisos adicionales para las acciones que realice en la consolaPara obtener maacutes informacioacuten sobre coacutemo conceder permisos de consola consulte Uso de la consola deCodeDeploy (p 394)

Note

Todos los ejemplos utilizan la regioacuten EE UU Oeste (Oregoacuten) (us-west-2) y contienenidentificadores de cuenta ficticios

Ejemplos

bull Ejemplo 1 Permitir que un usuario realice CodeDeploy operaciones en una uacutenica regioacuten (p 392)bull Ejemplo 2 Permitir a un usuario registrar revisiones de una sola aplicacioacuten (p 393)bull Ejemplo 3 Permitir a un usuario crear implementaciones para un uacutenico grupo de

implementacioacuten (p 393)

Ejemplo 1 Permitir que un usuario realice CodeDeploy operaciones en una uacutenicaregioacuten

En el siguiente ejemplo se conceden permisos para realizar CodeDeploy operaciones en laus-west-2Solo regioacuten

Version 2012-10-17 Statement [ Effect Allow Action [ codedeploy ] Resource [ arnawscodedeployus-west-2444455556666 ] ]

Versioacuten de API 2014-10-06392

AWS CodeDeploy Guiacutea del usuarioEjemplos de poliacuteticas basadas en identidad

Ejemplo 2 Permitir a un usuario registrar revisiones de una sola aplicacioacuten

En el siguiente ejemplo se conceden permisos para registrar revisiones de aplicacioacuten para todas lasaplicaciones que comienzan por Test en la regioacuten us-west-2

Version 2012-10-17 Statement [ Effect Allow Action [ codedeployRegisterApplicationRevision ] Resource [ arnawscodedeployus-west-2444455556666applicationTest ] ]

Ejemplo 3 Permitir a un usuario crear implementaciones para un uacutenico grupo deimplementacioacuten

En el siguiente ejemplo se permite al usuario especificado crear las implementaciones parael grupo de implementaciones denominado WordPress_DepGroup asociado a la aplicacioacutendenominada WordPress_App la configuracioacuten de implementacioacuten personalizada denominadaThreeQuartersHealthy y cualquier revisioacuten de aplicacioacuten asociada a la aplicacioacuten denominadaWordPress_App Todos estos recursos se encuentran en la regioacuten us-west-2

Version 2012-10-17 Statement [ Effect Allow Action [ codedeployCreateDeployment ] Resource [ arnawscodedeployus-west-2444455556666deploymentgroupWordPress_AppWordPress_DepGroup ] Effect Allow Action [ codedeployGetDeploymentConfig ] Resource [ arnawscodedeployus-west-2444455556666deploymentconfigThreeQuartersHealthy ] Effect Allow Action [ codedeployGetApplicationRevision ] Resource [ arnawscodedeployus-west-2444455556666applicationWordPress_App ] ]

Versioacuten de API 2014-10-06393

AWS CodeDeploy Guiacutea del usuarioEjemplos de poliacuteticas basadas en identidad

Praacutecticas recomendadas relativas a poliacuteticasLas poliacuteticas basadas en identidad son muy eficaces Determinan si alguien puede crear acceder oeliminar CodeDeploy recursos de su cuenta de Estas acciones pueden generar costes adicionales para suCuenta de AWS Siga estas directrices y recomendaciones al crear o editar poliacuteticas basadas en identidad

bull Empiece a trabajar conAWSpoliacuteticas administradasmdash Para empezar a usar CodeDeploy raacutepidamenteuseAWSpoliacuteticas administradas para proporcionar a los empleados los permisos necesarios Estaspoliacuteticas ya estaacuten disponibles en su cuenta y las mantiene y actualiza AWS Para obtener maacutesinformacioacuten consulte Introduccioacuten sobre el uso de permisos con poliacuteticas administradas por AWS en laGuiacutea del usuario de IAM

bull Conceder privilegios miacutenimos al crear poliacuteticas personalizadas conceda solo los permisos necesariospara llevar a cabo una tarea Comience con un conjunto miacutenimo de permisos y conceda permisosadicionales seguacuten sea necesario Por lo general es maacutes seguro que comenzar con permisos que sondemasiado tolerantes e intentar hacerlos maacutes estrictos maacutes adelante Para obtener maacutes informacioacutenconsulte Conceder privilegios miacutenimos en la Guiacutea del usuario de IAM

bull Habilitar la MFA para operaciones confidenciales para mayor seguridad obligue a los usuarios de IAM autilizar la autenticacioacuten multifactor (MFA) para acceder a recursos u operaciones de API confidencialesPara obtener maacutes informacioacuten consulte Uso de la autenticacioacuten multifactor (MFA) en AWS en la Guiacuteadel usuario de IAM

bull Utilizar condiciones de poliacutetica para mayor seguridad en la medida en que sea praacutectico defina lascondiciones en las que las poliacuteticas basadas en identidad permitan el acceso a un recurso Por ejemplopuede escribir condiciones para especificar un rango de direcciones IP permitidas desde el que debeproceder una solicitud Tambieacuten puede escribir condiciones para permitir solicitudes solo en un intervalode hora o fecha especificado o para solicitar el uso de SSL o MFA Para obtener maacutes informacioacutenconsulteElemento de la poliacutetica de JSON de IAM Condicioacutenen laIAM User Guide

Uso de la consola de CodeDeploySi utiliza el CodeDeploy debe tener un conjunto miacutenimo de permisos que le permita describirotrosAWSrecursos paraAWSaccount Para utilizar CodeDeploy en la CodeDeploy debe tener permisos delos servicios siguientes

bull Amazon EC2 Auto Scalingbull AWS CodeDeploybull Amazon Elastic Compute Cloudbull Elastic Load Balancingbull AWS Identity and Access Managementbull Amazon Simple Storage Servicebull Amazon Simple Notification Servicebull Amazon CloudWatch

Si crea una poliacutetica de IAM que sea maacutes restrictiva que el miacutenimo de permisos necesarios laconsola de no funcionaraacute del modo esperado para los usuarios con esa poliacutetica de IAM Paraasegurarse de que esos usuarios puedan seguir utilizando la CodeDeploy consola tambieacuten conecteelAWSCodeDeployReadOnlyAccessLa poliacutetica administrada por el usuario de tal como se describeenAWSPoliacuteticas administradas por (predefinidas) para CodeDeploy (p 385)

No es necesario que conceda permisos miacutenimos para la consola a los usuarios que solo realizan llamadasa laAWS CLIo el CodeDeploy API

Versioacuten de API 2014-10-06394

AWS CodeDeploy Guiacutea del usuarioSolucioacuten de problemas

Permitir a los usuarios consultar sus propios permisosEn este ejemplo se muestra coacutemo podriacutea crear una poliacutetica que permita a los usuarios de IAM ver laspoliacuteticas administradas e insertadas que se adjuntan a la identidad de sus usuarios Esta poliacutetica incluyepermisos para llevar a cabo esta accioacuten en la consola o mediante programacioacuten con la AWS CLI o la APIde AWS

Version 2012-10-17 Statement [ Sid ViewOwnUserInfo Effect Allow Action [ iamGetUserPolicy iamListGroupsForUser iamListAttachedUserPolicies iamListUserPolicies iamGetUser ] Resource [arnawsiamuser$awsusername] Sid NavigateInConsole Effect Allow Action [ iamGetGroupPolicy iamGetPolicyVersion iamGetPolicy iamListAttachedGroupPolicies iamListGroupPolicies iamListPolicyVersions iamListPolicies iamListUsers ] Resource ]

Solucioacuten de problemas de identidades y accesos enAWS CodeDeployUtilice la informacioacuten siguiente para diagnosticar y solucionar los problemas comunes que puedan surgircuando trabaje con CodeDeploy e IAM

Temasbull No tengo autorizacioacuten para realizar la operacioacuten iamPassRole (p 395)bull Quiero ver mis claves de acceso (p 396)bull Soy administrador y deseo permitir que otros obtengan acceso a CodeDeploy (p 396)bull Quiero permitir a personas fuera de miAWScuenta para acceder a mis recursos de

CodeDeploy (p 396)

No tengo autorizacioacuten para realizar la operacioacuten iamPassRoleSi recibe un error que indica que no estaacute autorizado para llevar a cabo la accioacuten iamPassRole debeponerse en contacto con su administrador para recibir ayuda Su administrador es la persona que le facilitoacute

Versioacuten de API 2014-10-06395

AWS CodeDeploy Guiacutea del usuarioSolucioacuten de problemas

su nombre de usuario y contrasentildea Pida a la persona que actualice sus poliacuteticas de forma que puedatransferir un rol a CodeDeploy

Algunos servicios de Servicios de AWS le permiten transferir un rol existente a dicho servicio en lugar decrear un nuevo rol de servicio o uno vinculado al servicio Para ello debe tener permisos para transferir elrol al servicio

En el siguiente ejemplo el error se produce cuando un usuario de IAM denominadomarymajorintentautilizar la consola para realizar una accioacuten en CodeDeploy Sin embargo la accioacuten requiere que el serviciocuente con permisos otorgados por un rol de servicio Mary no tiene permisos para transferir el rol alservicio

User arnawsiam123456789012usermarymajor is not authorized to perform iamPassRole

En este caso Mary pide a su administrador que actualice sus poliacuteticas para que pueda realizar la accioacuteniamPassRole

Quiero ver mis claves de accesoDespueacutes de crear sus claves de acceso de usuario de IAM puede ver su ID de clave de acceso encualquier momento Sin embargo no puede volver a ver su clave de acceso secreta Si pierde la clave deacceso secreta debe crear un nuevo par de claves de acceso

Las claves de acceso se componen de dos partes un ID de clave de acceso (por ejemploAKIAIOSFODNN7EXAMPLE) y una clave de acceso secreta (por ejemplo wJalrXUtnFEMIK7MDENGbPxRfiCYEXAMPLEKEY) El ID de clave de acceso y la clave de acceso secreta se utilizan juntos como unnombre de usuario y contrasentildea para autenticar sus solicitudes Administre sus claves de acceso con elmismo nivel de seguridad que para el nombre de usuario y la contrasentildea

Important

No proporcione las claves de acceso a terceros ni siquiera para que le ayuden a buscar el ID deusuario canoacutenico Si lo hace podriacutea conceder a otra persona acceso permanente a su cuenta

Cuando cree un par de claves de acceso se le pide que guarde el ID de clave de acceso y la clave deacceso secreta en un lugar seguro La clave de acceso secreta solo estaacute disponible en el momento desu creacioacuten Si pierde la clave de acceso secreta debe agregar nuevas claves de acceso a su usuariode IAM Puede tener un maacuteximo de dos claves de acceso Si ya cuenta con dos debe eliminar un par declaves antes de crear uno nuevo Para consultar las instrucciones consulte Administracioacuten de claves deacceso en la Guiacutea del usuario de IAM

Soy administrador y deseo permitir que otros obtengan acceso aCodeDeployPara permitir que otros accedan a CodeDeploya debe crear una entidad de IAM (usuario o rol) para lapersona o aplicacioacuten que necesita acceso Esta persona utilizaraacute las credenciales de la entidad paraacceder a AWS A continuacioacuten debe asociar una poliacutetica a la entidad que le conceda los permisoscorrectos en CodeDeploy

Para comenzar de inmediato consulte Creacioacuten del primer grupo y usuario delegado de IAM en la Guiacutea delusuario de IAM

Quiero permitir a personas fuera de miAWScuenta para accedera mis recursos de CodeDeployPuede crear un rol que los usuarios de otras cuentas o las personas externas a la organizacioacuten puedanutilizar para acceder a sus recursos Puede especificar una persona de confianza para que asuma el rol

Versioacuten de API 2014-10-06396

AWS CodeDeploy Guiacutea del usuarioReferencia de permisos de CodeDeploy

En el caso de los servicios que admitan las poliacuteticas basadas en recursos o las listas de control de acceso(ACL) puede utilizar dichas poliacuteticas para conceder a las personas acceso a sus recursos

Para obtener maacutes informacioacuten consulte lo siguiente

bull Para saber si CodeDeploy admite estas caracteriacutesticas consulteCoacutemo AWS CodeDeploy funciona conIAM (p 382)

bull Para obtener informacioacuten acerca de coacutemo proporcionar acceso a los recursos de las Cuentas de AWSde su propiedad consulte Proporcionar acceso a un usuario de IAM a otra Cuenta de AWS de la que espropietario en la Guiacutea del usuario de IAM

bull Para obtener informacioacuten acerca de coacutemo proporcionar acceso a los recursos a Cuentas de AWS deterceros consulte Proporcionar acceso a Cuentas de AWS que son propiedad de terceros en la Guiacutea delusuario de IAM

bull Para obtener informacioacuten sobre coacutemo proporcionar acceso mediante una identidad federada consulteProporcionar acceso a usuarios autenticados externamente (identidad federada) en la Guiacutea del usuariode IAM

bull Para obtener informacioacuten sobre la diferencia entre los roles y las poliacuteticas basadas en recursos para elacceso entre cuentas consulte Coacutemo los roles de IAM difieren de las poliacuteticas basadas en recursos en laGuiacutea del usuario de IAM

Referencia de permisos de CodeDeployUtilice la siguiente tabla cuando configure poliacuteticas de acceso y escritura que pueda asociar a unaidentidad de IAM (poliacuteticas basadas en identidad) La tabla enumera cada uno CodeDeploy Operacioacutende la API las acciones para cuyas ejecuciones se deben conceder permisos y el formato del ARN delrecurso a utilizar para concederlos Las acciones se especifican en el campo Action de la poliacutetica Debeespecificar un ARN con o sin un caraacutecter comodiacuten () como el valor del recurso en el campo Resourcede la poliacutetica

Puede usarAWSClaves de condicioacuten generales en su CodeDeploy poliacuteticas para expresar las condicionesPara ver una lista completa de claves generales de AWS consulte Claves disponibles en la Guiacutea delusuario de IAM

Para especificar una accioacuten use el prefijo codedeploy seguido del nombre de operacioacuten de API(por ejemplo codedeployGetApplication y codedeployCreateApplication) Paraespecificar varias acciones en una uacutenica instruccioacuten sepaacuterelas con comas (por ejemplo Action[codedeployaction1 codedeployaction2])

Uso de caracteres comodiacuten

Utilice el caraacutecter de comodiacuten () en el ARN para especificar varias acciones o recursos Porejemplocodedeployespecifica todas las CodeDeploy acciones ycodedeployGetespecifica todaslas CodeDeploy acciones que empiezan por la palabraGet En el siguiente ejemplo se concede accesoa todos los grupos de implementaciones con nombres que comienzan por West y que se asocian aaplicaciones con nombres comienzan con Test

arnawscodedeployus-west-2444455556666deploymentgroupTestWest

Utilice comodines con los recursos que se muestran en la tabla a continuacioacuten

bull application-name

bull deployment-group-name

bull deployment-configuration-name

bull instance-ID

Versioacuten de API 2014-10-06397

AWS CodeDeploy Guiacutea del usuarioReferencia de permisos de CodeDeploy

No se puede utilizar comodines con region ni con account-id Para obtener maacutes informacioacuten acerca delos comodines consulte identificadores de IAM en la Guiacutea del usuario de IAM

Note

En el ARN de cada accioacuten dos puntos () siguen al recurso Tambieacuten puede seguir al recurso unabarra diagonal () Para obtener maacutes informacioacuten consulteARN de ejemplo de CodeDeploy

Operaciones de la API de CodeDeploy permisos necesarios para acciones

AddTagsToOnPremisesInstances

Accioacuten codedeployAddTagsToOnPremisesInstances

Obligatorio para antildeadir etiquetas a una o maacutes instancias on-premises

Recurso arnawscodedeployregionaccount-idinstanceinstance-IDBatchGetApplicationRevisions

Accioacuten codedeployBatchGetApplicationRevisions

Obligatorio para obtener informacioacuten acerca de varias revisiones de aplicacioacuten asociadas al usuario deIAM

Recurso arnawscodedeployregionaccount-idapplicationapplication-nameBatchGetApplications

Accioacuten codedeployBatchGetApplications

Obligatorio para obtener informacioacuten acerca de varias aplicaciones asociadas al usuario de IAM

Recurso arnawscodedeployregionaccount-idapplicationBatchGetDeploymentGroups

Accioacuten codedeployBatchGetDeploymentGroups

Obligatorio para obtener informacioacuten acerca de varios grupos de implementaciones asociados alusuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

BatchGetDeploymentInstances

Accioacuten codedeployBatchGetDeploymentInstances

Obligatorio para obtener informacioacuten acerca de una o varias instancias parte de un grupo deimplementaciones

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

BatchGetDeployments

Accioacuten codedeployBatchGetDeployments

Obligatorio para obtener informacioacuten acerca de varias implementaciones asociadas al usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

BatchGetOnPremisesInstances

Accioacuten codedeployBatchGetOnPremisesInstances

Versioacuten de API 2014-10-06398

AWS CodeDeploy Guiacutea del usuarioReferencia de permisos de CodeDeploy

Obligatorio para obtener informacioacuten acerca de una o maacutes instancias on-premises

Recurso arnawscodedeployregionaccount-idContinueDeployment

Accioacuten codedeployContinueDeployment

Obligatorio durante una implementacioacuten laquobluegreenraquo (bluegreen) para comenzar a registrarinstancias en un entorno de reemplazo con balanceadores de carga de Elastic Load Balancing

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

CreateApplication

Accioacuten codedeployCreateApplication

Obligatorio para crear una aplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-idapplicationapplication-nameCreateDeployment sup1

Accioacuten codedeployCreateDeployment

Obligatorio para crear una implementacioacuten para una aplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

CreateDeploymentConfig

Accioacuten codedeployCreateDeploymentConfig

Obligatorio para crear una configuracioacuten de implementacioacuten personalizada asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentconfigdeployment-configuration-name

CreateDeploymentGroup

Accioacuten codedeployCreateDeploymentGroup

Obligatorio para crear un grupo de implementaciones de una aplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

DeleteApplication

Accioacuten codedeployDeleteApplication

Obligatorio para eliminar una aplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-idapplicationapplication-nameDeleteDeploymentConfig

Accioacuten codedeployDeleteDeploymentConfig

Obligatorio para eliminar una configuracioacuten de implementacioacuten personalizada asociada al usuario deIAM

Recurso arnawscodedeployregionaccount-iddeploymentconfigdeployment-configuration-name

Versioacuten de API 2014-10-06399

AWS CodeDeploy Guiacutea del usuarioReferencia de permisos de CodeDeploy

DeleteDeploymentGroup

Accioacuten codedeployDeleteDeploymentGroup

Obligatorio para eliminar un grupo de implementaciones de una aplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

DeregisterOnPremisesInstance

Accioacuten codedeployDeregisterOnPremisesInstance

Obligatorio para cancelar el registro de una instancia on-premises

Recurso arnawscodedeployregionaccount-idinstanceinstance-IDGetApplication

Accioacuten codedeployGetApplication

Obligatorio para obtener informacioacuten acerca de una sola aplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-idapplicationapplication-nameGetApplicationRevision

Accioacuten codedeployGetApplicationRevision

Obligatorio para obtener informacioacuten acerca de una uacutenica revisioacuten de aplicacioacuten para una aplicacioacutenasociada al usuario de IAM

Recurso arnawscodedeployregionaccount-idapplicationapplication-nameGetDeployment

Accioacuten codedeployGetDeployment

Obligatorio para obtener informacioacuten acerca de una uacutenica implementacioacuten de un grupo deimplementaciones para una aplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

GetDeploymentConfig

Accioacuten codedeployGetDeploymentConfig

Obligatorio para obtener informacioacuten acerca de una uacutenica configuracioacuten de implementacioacuten asociadaal usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentconfigdeployment-configuration-name

GetDeploymentGroup

Accioacuten codedeployGetDeploymentGroup

Obligatorio para obtener informacioacuten acerca de un uacutenico grupo de implementaciones para unaaplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

GetDeploymentInstance

Accioacuten codedeployGetDeploymentInstance

Versioacuten de API 2014-10-06400

AWS CodeDeploy Guiacutea del usuarioReferencia de permisos de CodeDeploy

Obligatorio para obtener informacioacuten acerca de una uacutenica instancia de una implementacioacuten asociadaal usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

GetOnPremisesInstance

Accioacuten codedeployGetOnPremisesInstance

Obligatorio para obtener informacioacuten acerca de una uacutenica instancia on-premises

Recurso arnawscodedeployregionaccount-idinstanceinstance-IDListApplicationRevisions

Accioacuten codedeployListApplicationRevisions

Obligatorio para obtener informacioacuten acerca de todas las revisiones de aplicacioacuten para una aplicacioacutenasociada al usuario de IAM

Recurso arnawscodedeployregionaccount-idapplicationListApplications

Accioacuten codedeployListApplications

Obligatorio para obtener informacioacuten acerca de todas las aplicaciones asociadas al usuario de IAM

Recurso arnawscodedeployregionaccount-idapplicationListDeploymentConfigs

Accioacuten codedeployListDeploymentConfigs

Obligatorio para obtener informacioacuten acerca de todas las configuraciones de implementacionesasociadas al usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentconfigListDeploymentGroups

Accioacuten codedeployListDeploymentGroups

Obligatorio para obtener informacioacuten acerca de todos los grupos de implementacioacuten para unaaplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-name

ListDeploymentInstances

Accioacuten codedeployListDeploymentInstances

Obligatorio para obtener informacioacuten acerca de todas las instancias de una implementacioacuten asociadasal usuario de IAM oAWSaccount

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

ListDeployments

Accioacuten codedeployListDeployments

Obligatorio para obtener informacioacuten acerca de todas las implementaciones de un grupo deimplementaciones asociado al usuario de IAM o para obtener todas las implementaciones asociadasal usuario de IAM o para obtener todas las implementaciones asociadas al usuario de IAMoAWSaccount

Versioacuten de API 2014-10-06401

AWS CodeDeploy Guiacutea del usuarioReferencia de permisos de CodeDeploy

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

ListGitHubAccountTokenNames

Accioacuten codedeployListGitHubAccountTokenNames

Obligatorio para obtener una lista de los nombres de las conexiones almacenadas en las cuentas deGitHub

Recurso arnawscodedeployregionaccount-idListOnPremisesInstances

Accioacuten codedeployListOnPremisesInstances

Obligatorio para obtener una lista de uno o varios nombres de instancias on-premises

Recurso arnawscodedeployregionaccount-idRegisterApplicationRevision

Accioacuten codedeployRegisterApplicationRevision

Obligatorio para obtener informacioacuten acerca de una revisioacuten de aplicacioacuten para una aplicacioacutenasociada al usuario de IAM

Recurso arnawscodedeployregionaccount-idapplicationapplication-nameRegisterOnPremisesInstance

Accioacuten codedeployRegisterOnPremisesInstance

Obligatorio para registrar una instancia on-premises con CodeDeploy

Recurso arnawscodedeployregionaccount-idinstanceinstance-IDRemoveTagsFromOnPremisesInstances

Accioacuten codedeployRemoveTagsFromOnPremisesInstances

Obligatorio para eliminar etiquetas desde una o maacutes instancias on-premises

Recurso arnawscodedeployregionaccount-idinstanceinstance-IDSkipWaitTimeForInstanceTermination

Accioacuten codedeploySkipWaitTimeForInstanceTermination

Obligatorio para sobrescribir un tiempo de espera especificado y comenzar a terminar instancias enel entorno original inmediatamente despueacutes de dirigir correctamente el traacutefico en una implementacioacutenbluegreen

Recurso arnawscodedeployregionaccount-idinstanceinstance-IDStopDeployment

Accioacuten codedeployStopDeployment

Necesario para detener una implementacioacuten en curso en un grupo de implementaciones para unaaplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

UpdateApplication sup3

Accioacuten codedeployUpdateApplication

Versioacuten de API 2014-10-06402

AWS CodeDeploy Guiacutea del usuarioPrevencioacuten del suplente confuso entre servicios

Obligatorio para cambiar informacioacuten de una aplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-idapplicationapplication-nameUpdateDeploymentGroup sup3

Accioacuten codedeployUpdateDeploymentGroup

Obligatorio para cambiar informacioacuten acerca de un uacutenico grupo de implementaciones para unaaplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

sup1 Cuando especificasCreateDeploymentpermisos tambieacuten debeespecificarGetDeploymentConfigpermisos para la configuracioacuten de implementacioacutenyGetApplicationRevisionoRegisterApplicationRevisionpermisos para la revisioacuten de laaplicacioacuten

sup2 Vaacutelido paraListDeploymentscuando se proporciona un grupo de implementaciones pero no cuando semuestran todas las implementaciones asociadas al usuario de IAM

sup3 ParaUpdateApplication debe tenerUpdateApplicationpermisos para el nombre de aplicacioacutenantiguo y nuevo Para las acciones UpdateDeploymentGroup que implican cambiar el nombre de ungrupo de implementacioacuten debe tener permisos UpdateDeploymentGroup tanto para el nombre de grupode implementacioacuten antiguo como para el nuevo

Prevencioacuten del suplente confuso entre serviciosEl problema del suplente confuso es un problema de seguridad en el que una entidad que no tiene permisopara realizar una accioacuten puede obligar a una entidad con maacutes privilegios a realizar la accioacuten En AWSla suplantacioacuten entre servicios puede dar lugar al problema del suplente confuso La suplantacioacuten entreservicios puede producirse cuando un servicio (el servicio que lleva a cabo las llamadas) llama a otroservicio (el servicio al que se llama) El servicio que lleva a cabo las llamadas se puede manipular parautilizar sus permisos a fin de actuar en funcioacuten de los recursos de otro cliente de una manera en la que nodebe tener permiso para acceder Para evitarlo AWS proporciona herramientas que lo ayudan a protegersus datos para todos los servicios con entidades principales de servicio a las que se les ha dado acceso alos recursos de su cuenta

Le recomendamos que utilice elawsSourceArnyawsSourceAccountclaves de contexto de condicioacutenglobales de las poliacuteticas de recursos para limitar los permisos que CodeDeploy proporciona otro servicioal recurso Si utiliza claves de contexto de condicioacuten global y el valor de awsSourceArn contiene el IDde cuenta el valor de awsSourceAccount y la cuenta en el valor de awsSourceArn deben utilizar elmismo ID de cuenta cuando se utiliza en la misma instruccioacuten de poliacutetica Utilice awsSourceArn si deseaque solo se asocie un recurso al acceso entre servicios UsarawsSourceAccountsi quiere que cualquierrecurso de esa cuenta de se asocie al uso entre servicios

El valor deawsSourceArndebe incluir el CodeDeploy grupo de implementacioacuten ARN con el queCodeDeploy puede asumir la funcioacuten de IAM

La forma maacutes eficaz de protegerse contra el problema del suplente confuso es utilizarlaawsSourceArncon el ARN completo del recurso Si no conoce el ARN completo o si estaacuteespecificando varios recursos utilice caracteres comodines () para las partes desconocidas

En el siguiente ejemplo completo se muestra coacutemo puede utilizarlaawsSourceArnyawsSourceAccountel contexto de condicioacuten global se inserta para evitar elproblema de adjunto confuso con CodeDeploy

Versioacuten de API 2014-10-06403

AWS CodeDeploy Guiacutea del usuarioRespuesta frente a incidencias

Version 2012-10-17 Statement [ Sid Effect Allow Principal Service codedeployamazonawscom Action stsAssumeRole Condition StringEquals awsSourceAccount 123456789012 StringLike awsSourceArn arnawscodedeployus-east-1123456789012deploymentgroupmyApplication ]

Registro y monitoreo en CodeDeployEn esta seccioacuten se ofrece informacioacuten general para la monitorizacioacuten el registro y la respuesta a incidentesen CodeDeploy

Auditoriacutea de todas las interacciones con CodeDeployCodeDeploy se integra conAWS CloudTrail un servicio que captura las llamadas a la API realizadaspor o en nombre de CodeDeploy en laAWScuenta y entrega los archivos log al bucket de S3 que seespecifique CloudTrail captura las llamadas a la API desde CodeDeploy consola desde CodeDeploycomandos a traveacutes delAWS CLI o desde la CodeDeploy API directamente Con la informacioacuten recopiladapor CloudTrail puede identificar la solicitud que se realizoacute a CodeDeploy la direccioacuten IP de origendesde la que se realizoacute la solicitud quieacuten realizoacute la solicitud cuaacutendo se realizoacute etceacutetera Para obtenermaacutes informacioacuten sobre CloudTrail consulteTrabajar con archivos de registros de CloudTrailen laAWSCloudTrailGuiacutea del usuario de

Puede ver los datos de registro creados por un CodeDeploy despliegue mediante la configuracioacuten delCloudWatch Agente de registros para ver los datos agregados en el CloudWatch consola o iniciandosesioacuten en una instancia para revisar el archivo de registro Para obtener maacutes informacioacuten consulteVistaCodeDeploy inicia sesioacuten CloudWatch Consola de registros

Administracioacuten de incidentes y alertasPuedes usar Amazon CloudWatch Eventos para detectar cambios en el estado de una instancia o unaimplementacioacuten de y reaccionar ante dichos cambios (unevento) en la CodeDeploy operaciones Acontinuacioacuten basaacutendose en las reglas que cree CloudWatch Los eventos invocan a una o varias accionesde destino cuando una implementacioacuten o una instancia entra en el estado especificado en una regla Enfuncioacuten del tipo de cambio de estado es posible que desee enviar notificaciones capturar informacioacuten deestado tomar medidas correctivas iniciar eventos o adoptar otras medidas Si utiliza puede seleccionarlos siguientes tipos de destinos CloudWatch Eventos como parte de tu CodeDeploy operaciones

bull Funciones de AWS Lambdabull Flujos de Kinesis

Versioacuten de API 2014-10-06404

AWS CodeDeploy Guiacutea del usuarioValidacioacuten de conformidad

bull Colas de SQS de Amazon SQSbull Destinos integrados (acciones de alarma de CloudWatch)bull Temas de Amazon SNS

A continuacioacuten se indican algunos casos de uso

bull Utilice una funcioacuten Lambda para pasar una notificacioacuten a un canal de Slack siempre que se produzcanerrores en las implementaciones

bull Enviacutee datos acerca de las implementaciones o instancias a un flujo de Kinesis para permitir unamonitorizacioacuten completa del estado en tiempo real

bull Usar CloudWatch acciones de alarma para detener terminar reiniciar o recuperar automaacuteticamenteinstancias EC2 cuando se produzca el evento de implementacioacuten o de instancia especificado

Para obtener maacutes informacioacuten consulteiquestQueacute es Amazon CloudWatch Eventosen laAmazon CloudWatchGuiacutea del usuario de

Validacioacuten de la conformidad enAWSCodeDeployAuditores externos evaluacutean la seguridad y la conformidad de AWS CodeDeploy como parte de variosprogramas de conformidad de AWS Estos incluyen SOC PCI FedRAMP HIPAA y otros

Para obtener una lista deAWSservicios en el aacutembito de programas de conformidad especiacuteficosconsulteServicios incluidos en el aacutembito por programa de conformidad Para obtener informacioacuten generalconsulte Programas de conformidad de AWS

Puede descargar los informes de auditoriacutea de terceros utilizando AWS Artifact Para obtener maacutesinformacioacuten consulte Descarga de informes en AWS Artifact

Responsabilidad de cumplimiento cuando se utiliza CodeDeploy se determina en funcioacuten de laconfidencialidad de los datos los objetivos de conformidad de la empresa y la legislacioacuten y los reglamentosaplicablesAWSproporciona los siguientes recursos para ayudar con la conformidad

bull Guiacuteas de inicio raacutepido de seguridad y conformidad estas guiacuteas de implementacioacuten tratanconsideraciones sobre arquitectura y ofrecen pasos para implementar los entornos de referenciacentrados en la seguridad y la conformidad en AWS

bull Documento teacutecnico sobre arquitectura para seguridad y conformidad de HIPAA en este documentoteacutecnico se describe coacutemo las empresas pueden utilizar AWS para crear aplicaciones conformes conHIPAA

bull Recursos de conformidad de AWS este conjunto de manuales y guiacuteas podriacutea aplicarse a su sector yubicacioacuten

bull Evaluacioacuten de recursos con reglas en la Guiacutea para desarrolladores de AWS Config el servicio AWSConfig evaluacutea en queacute medida las configuraciones de sus recursos cumplen las praacutecticas internas lasdirectrices del sector y las normativas

bull AWS Security Hub este servicio de AWS proporciona una vista integral de su estado de seguridad enAWS que lo ayuda a verificar la conformidad con los estaacutendares y las praacutecticas recomendadas del sectorde seguridad

Resiliencia enAWSCodeDeployLa infraestructura global de AWS se compone de regiones y zonas de disponibilidad de AWS AWSLas regiones proporcionan varias zonas de disponibilidad fiacutesicamente independientes y aisladas que

Versioacuten de API 2014-10-06405

AWS CodeDeploy Guiacutea del usuarioSeguridad de infraestructuras

se encuentran conectadas mediante redes con un alto nivel de rendimiento y redundancia ademaacutes debaja latencia Con las zonas de disponibilidad puede disentildear y utilizar aplicaciones y bases de datosque realizan una conmutacioacuten por error automaacutetica entre las zonas sin interrupciones Las zonas dedisponibilidad tienen una mayor disponibilidad tolerancia a errores y escalabilidad que las infraestructurastradicionales de centros de datos uacutenicos o muacuteltiples

Para obtener maacutes informacioacuten sobre las zonas de disponibilidad y las regiones de AWS consulteInfraestructura global de AWS

Seguridad de la infraestructura enAWSCodeDeployComo servicio administradoAWS CodeDeploy estaacute protegido por elAWSprocedimientos de seguridad dered globales que se describen en laAmazon Web Services Informacioacuten general sobre los procesos deseguridaddocumento teacutecnico

UsasAWSLlamadas a la API publicadas para acceder CodeDeploy a traveacutes de la red Los clientes debenser compatibles con Transport Layer Security (TLS) 10 o una versioacuten posterior Recomendamos TLS12 o una versioacuten posterior Los clientes tambieacuten deben ser compatibles con conjuntos de cifrado conconfidencialidad directa total (PFS) como Ephemeral Diffie-Hellman (DHE) o Elliptic Curve EphemeralDiffie-Hellman (ECDHE) La mayoriacutea de los sistemas modernos como Java 7 y posteriores son compatiblescon estos modos

Las solicitudes deben estar firmadas mediante un ID de clave de acceso y una clave de acceso secretaque esteacute asociada a una entidad principal de IAM Tambieacuten puede utilizar AWS Security Token Service(AWS STS) para generar credenciales de seguridad temporales para firmar solicitudes

Versioacuten de API 2014-10-06406

AWS CodeDeploy Guiacutea del usuarioReferencia del archivo AppSpec

ReferenciaReferencia de la

Temasbull Referencia del archivo CodeDeploy AppSpec (p 407)bull Referencia de configuracioacuten del agente CodeDeploy (p 441)bull AWS CloudFormationplantillas para referencia de CodeDeploy (p 444)bull Usar CodeDeploy con Amazon Virtual Private Cloud (p 446)bull Referencia del kit de recursos CodeDeploy (p 449)bull liacutemites de CodeDeploy (p 454)

Referencia del archivo CodeDeploy AppSpecEsta seccioacuten se incluye solo como referencia Para obtener informacioacuten general conceptual del archivoAppSpec consulteApplication Specification Files (p 32)

El archivo de especificacioacuten de la aplicacioacuten (archivo AppSpec) es unYAML-Archivo con formato JSON ocon formato JSON que utiliza CodeDeploy para administrar una implementacioacuten

Note

El archivo AppSpec de una implementacioacuten EC2On-Premises debe tener elnombreappspecymloappspecyaml a menos que esteacute realizando una implementacioacuten localPara obtener maacutes informacioacuten consulte Crear una implementacioacuten local (p 354)

Temasbull Archivos AppSpec en una plataforma de computacioacuten Amazon ECS (p 407)bull Archivos AppSpec de unAWS Lambdaplataforma de computacioacuten (p 408)bull Archivos AppSpec en una plataforma de computacioacuten EC2On-Premises (p 408)bull Estructura de archivos AppSpec (p 408)bull Ejemplo del archivo AppSpec (p 436)bull Espaciado de archivos AppSpec (p 440)bull Validar su ubicacioacuten de archivo y archivo de AppSpec (p 441)

Archivos AppSpec en una plataforma de computacioacutenAmazon ECSPara las aplicaciones de plataforma informaacutetica de Amazon ECS CodeDeploy utiliza el archivo AppSpecpara determinar

bull El archivo de definicioacuten de tareas de Amazon ECS Se especifica con su ARN enelTaskDefinitioninstruccioacuten en el archivo AppSpec

bull El contenedor y el puerto en el conjunto de tareas de sustitucioacuten donde el Application Load Balancero el Network Load Balancer redirige traacutefico durante una implementacioacuten Esto se especifica conelLoadBalancerInfoinstruccioacuten en el archivo AppSpec

Versioacuten de API 2014-10-06407

AWS CodeDeploy Guiacutea del usuarioArchivos AppSpec de unAWS

Lambdaplataforma de computacioacuten

bull Informacioacuten opcional acerca del servicio Amazon ECS como la versioacuten de la plataforma en la que seejecuta sus subredes y sus grupos de seguridad

bull Funciones opcionales Lambda que ejecutar durante enlaces que se corresponden con eventos de ciclode vida durante una implementacioacuten de Amazon ECS Para obtener maacutes informacioacuten consulte Seccioacutenhooks de AppSpec para una implementacioacuten de Amazon ECS (p 422)

Archivos AppSpec de unAWS Lambdaplataforma decomputacioacutenParaAWSAplicaciones de plataforma informaacutetica Lambda CodeDeploy utiliza el archivo AppSpec paradeterminar

bull Queacute versioacuten de la funcioacuten Lambda se debe implementarbull Queacute funciones Lambda se van a usar como pruebas de validacioacuten

Un archivo AppSpec puede tener un formato YAML o JSON Tambieacuten puede introducir el contenido de unarchivo AppSpec directamente en la consola de CodeDeploy cuando crea una implementacioacuten

Archivos AppSpec en una plataforma de computacioacutenEC2On-PremisesSi la aplicacioacuten utiliza la plataforma de computacioacuten EC2On-premises el archivo AppSpec debe ser unarchivo con formato YAML denominadoappspecymly debe colocarse en la raiacutez de la estructura dedirectorios del coacutedigo fuente de una aplicacioacuten De lo contrario las implementaciones produciraacuten un errorCodeDeploy lo utiliza para determinar

bull Lo que se debe instalar en las instancias de la revisioacuten de la aplicacioacuten en Amazon S3 o GitHubbull Los enlaces de eventos del ciclo de vida que se deben ejecutar en respuesta a los eventos del ciclo de

vida de la implementacioacuten

Una vez completado un archivo AppSpec lo empaqueta junto con el contenido que va a implementar enun archivo de almacenamiento (zip tar o tar comprimido) Para obtener maacutes informacioacuten consulte Uso derevisiones de aplicaciones de CodeDeploy (p 307)

Note

Los formatos de archivo tar y tar comprimido (tar y targz) no se admiten para las instancias deWindows Server

Una vez que tenga un archivo de almacenamiento empaquetado (conocido en CodeDeploy comorevisioacuten)lo cargaraacute en un bucket de Amazon S3 o en un repositorio Git A continuacioacuten usaraacute CodeDeploypara implementar la revisioacuten Para obtener instrucciones consulte Cree una implementacioacuten conCodeDeploy (p 324)

El appspecyml de una implementacioacuten de una plataforma de computacioacuten EC2On-Premises se guardaen el directorio raiacutez de la revisioacuten Para obtener maacutes informacioacuten consulte Adicioacuten de un archivo AppSpecpara una implementacioacuten de EC2On-Premises (p 312) y Planear una revisioacuten para CodeDeploy (p 307)

Estructura de archivos AppSpecA continuacioacuten se muestra la estructura general de un archivo AppSpec usado para las implementacionesenAWSPlataformas de computacioacuten Lambda y EC2On-Premises

Versioacuten de API 2014-10-06408

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Un valor en un archivo AppSpec con formato YAML que es una cadena no se debe incluir entre comillas(laquoraquo) a menos que se especifique lo contrario

Estructura de archivos de AppSpec para implementaciones deAmazon ECS

Note

Este archivo AppSpec estaacute escrito en YAML pero puede usar la misma estructura para escribiruno en JSON Una cadena en un archivo AppSpec con formato JSON siempre estaacute entre comillas(laquoraquo)

version 00resources ecs-service-specificationshooks deployment-lifecycle-event-mappings

En esta estructura

version

Esta seccioacuten especifica la versioacuten del archivo AppSpec No cambie este valor Es obligatorio El uacutenicovalor permitido actualmente es 00 Estaacute reservado para su uso futuro por parte de CodeDeploy

Especifique version con una cadenarecursos

En esta seccioacuten se especifica informacioacuten sobre la aplicacioacuten Amazon ECS que se va a implementar

Para obtener maacutes informacioacuten consulte Seccioacuten laquoresourcesraquo de AppSpec para implementaciones deAmazon ECS (p 416)

hooks

Esta seccioacuten especifica las funciones de Lambda que se van a ejecutar en enlaces de eventosespeciacuteficos del ciclo de vida de implementacioacuten para validar la implementacioacuten

Para obtener maacutes informacioacuten consulte Lista de ganchos de eventos del ciclo de vida de unaimplementacioacuten de Amazon ECS (p 423)

Estructura de archivos AppSpec paraAWSImplementaciones deLambda

Note

Este archivo AppSpec se escribe en YAML pero puede usar la misma estructura para escribirun archivo AppSpec para una implementacioacuten Lambda en JSON Una cadena en un archivoAppSpec con formato JSON siempre estaacute entre comillas (laquoraquo)

version 00resources lambda-function-specificationshooks deployment-lifecycle-event-mappings

Versioacuten de API 2014-10-06409

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

En esta estructura

version

Esta seccioacuten especifica la versioacuten del archivo AppSpec No cambie este valor Es obligatorio El uacutenicovalor permitido actualmente es 00 Estaacute reservado para su uso futuro por parte de CodeDeploy

Especifique version con una cadenarecursos

En esta seccioacuten se especifica informacioacuten sobre la funcioacuten Lambda que se va a implementar

Para obtener maacutes informacioacuten consulte Seccioacuten laquoresourcesraquo de AppSpec (Amazon ECS yAWSLambdasolo implementaciones) (p 415)

hooks

Esta seccioacuten especifica las funciones de Lambda que se van a ejecutar en eventos especiacuteficos delciclo de vida de implementacioacuten para validar la implementacioacuten

Para obtener maacutes informacioacuten consulte Seccioacuten hooks de AppSpec (p 422)

Estructura de archivos AppSpec para implementaciones EC2On-Premises

version 00os operating-system-namefiles source-destination-files-mappingspermissions permissions-specificationshooks deployment-lifecycle-event-mappings

En esta estructura

version

Esta seccioacuten especifica la versioacuten del archivo AppSpec No cambie este valor Es obligatorio El uacutenicovalor permitido actualmente es 00 Estaacute reservado para su uso futuro por parte de CodeDeploy

Especifique version con una cadenaos

Esta seccioacuten especifica el valor del sistema operativo de la instancia en la que se va a realizar laimplementacioacuten Es obligatorio Se pueden especificar los siguientes valoresbull linuxmdash La instancia es una instancia Amazon Linux Ubuntu Server o RHELbull windowsmdash La instancia es una instancia de Windows Server

Especifique os con una cadena

files

Esta seccioacuten especifica los nombres de los archivos que deben copiarse en la instancia durante elevento Install de la implementacioacuten

Versioacuten de API 2014-10-06410

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Para obtener maacutes informacioacuten consulte Seccioacuten files de AppSpec (solo para implementaciones EC2On-Premises) (p 411)

permissions

Esta seccioacuten especifica coacutemo los permisos especiales si hay alguno deben aplicarse a los archivosde la seccioacuten files cuando se copien en la instancia Esta seccioacuten se aplica solo a las instancias deAmazon Linux Ubuntu Server y Red Hat Enterprise Linux (RHEL)

Para obtener maacutes informacioacuten consulte Seccioacuten permissions de AppSpec (solo paraimplementaciones EC2On-Premises) (p 418)

hooks

Esta seccioacuten especifica los scripts que se van a ejecutar en eventos especiacuteficos del ciclo de vida de laimplementacioacuten durante la implementacioacuten

Para obtener maacutes informacioacuten consulte Seccioacuten hooks de AppSpec (p 422)

Temasbull Seccioacuten files de AppSpec (solo para implementaciones EC2On-Premises) (p 411)bull Seccioacuten laquoresourcesraquo de AppSpec (Amazon ECS yAWS Lambdasolo implementaciones) (p 415)bull Seccioacuten permissions de AppSpec (solo para implementaciones EC2On-Premises) (p 418)bull Seccioacuten hooks de AppSpec (p 422)

Seccioacuten files de AppSpec (solo para implementaciones EC2On-Premises)Proporciona informacioacuten a CodeDeploy sobre los archivos de la revisioacuten de la aplicacioacuten que se debeninstalar en la instancia durante la implementacioacutenInstalarevent Esta seccioacuten solo es necesaria si va acopiar archivos de la revisioacuten en ubicaciones de la instancia durante la implementacioacuten

Esta seccioacuten tiene la siguiente estructura

files - source source-file-location-1 destination destination-file-location-1file_exists_behavior DISALLOW|OVERWRITE|RETAIN

Se pueden establecer varios pares source y destination

La instruccioacuten source identifica el archivo o directorio de la revisioacuten que se va a copiar en la instancia

bull Si source hace referencia a un archivo solo se copian los archivos especificados en la instanciabull Si source hace referencia a un directorio se copian todos los archivos del directorio en la instanciabull Sisourcees una sola barra diagonal (laquoraquo para instancias de Amazon Linux RHEL y Ubuntu Server o laquoraquo

para instancias de Windows Server) y a continuacioacuten se copian todos los archivos de la revisioacuten en lainstancia

Las rutas utilizadas ensourceson respecto a laappspecyml que debe estar en la raiacutez de su revisioacutenPara obtener maacutes informacioacuten sobre la estructura de archivos de una revisioacuten consultePlanear unarevisioacuten para CodeDeploy (p 307)

Versioacuten de API 2014-10-06411

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

La instruccioacuten destination identifica el lugar de la instancia en el que deben copiarse los archivos Debeser un camino totalmente cualificado comorootdestinationdirectory(en Linux RHEL y Ubuntu)ocdestinationfolder(en Windows)

source y destination se especifican con una cadena

Lafile_exists_behaviorLa instruccioacuten es opcional y especifica el modo en el que CodeDeploygestiona archivos que ya existen en la ubicacioacuten de destino de implementacioacuten pero que no forman partede la implementacioacuten anterior realizada correctamente Esta configuracioacuten puede tomar cualquiera de lossiguientes valores

bull NO PERMITIR La implementacioacuten produce un error Este es tambieacuten el comportamientopredeterminado si no se especifica ninguna opcioacuten

bull SOBRESCRIBIR La versioacuten del archivo de la revisioacuten de la aplicacioacuten que se estaacute implementandosustituye a la versioacuten ya incluida en la instancia

bull RETAIN La versioacuten del archivo ya incluida en la instancia se mantiene y utiliza como parte de la nuevaimplementacioacuten

Cuando se utiliza elfile_exists_behaviorajuste comprenda que esta configuracioacuten

bull solo se puede especificar una vez y se aplica a todos los archivos y directorios enumerados enfilesbull prevalece sobre la--file-exists-behavior AWS CLIopcioacuten y lafileExistsBehaviorOpcioacuten API

(ambas tambieacuten son opcionales)

A continuacioacuten se muestra un ejemplofilespara una instancia de Amazon Linux Ubuntu Server o RHEL

files - source Configconfigtxt destination webappsConfig - source source destination webappsmyApp

En este ejemplo se realizan las dos operaciones siguientes durante el evento Install

1 Copiar el archivo Configconfigtxt en la revisioacuten en la ruta de webappsConfigconfigtxtde la instancia

2 Copiar recursivamente todos los archivos del directorio source de la revisioacuten en el directorio webappsmyApp de la instancia

Ejemplos de la seccioacuten files

Los siguientes ejemplos muestran coacutemo especificar la seccioacuten files Aunque estos ejemplos describenestructuras de archivos y directorios (carpetas) de Windows Server se pueden adaptar faacutecilmente parainstancias de Amazon Linux Ubuntu Server y RHEL

Note

Solo las implementaciones EC2On-Premises utilizan elfilesseccioacuten No se aplicaaAWSImplementaciones de Lambda

En los siguientes ejemplos presuponemos que estos archivos estaacuten en el paquete en la raiacutez de source

bull appspecyml

bull my-filetxt

Versioacuten de API 2014-10-06412

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

bull my-file-2txt

bull my-file-3txt

1) Copy only my-filetxt to the destination folder ctempfiles - source my-filetxt destination ctemp Result ctempmy-filetxt --------------------- 2) Copy only my-file-2txt and my-file-3txt to the destination folder ctempfiles - source my-file-2txt destination ctemp - source my-file-3txt destination ctemp Result ctempmy-file-2txt ctempmy-file-3txt --------------------- 3) Copy my-filetxt my-file-2txt and my-file-3txt (along with the appspecyml file) to the destination folder ctempfiles - source destination ctemp Result ctempappspecyml ctempmy-filetxt ctempmy-file-2txt ctempmy-file-3txt

En los siguientes ejemplos presuponemos que appspecyml estaacute en el paquete en la raiacutez de sourcejunto con una carpeta denominada my-folder que contiene tres archivos

bull appspecyml

bull my-foldermy-filetxt

bull my-foldermy-file-2txt

bull my-foldermy-file-3txt

4) Copy the 3 files in my-folder (but do not copy my-folder itself) to the destination folder ctemp files - source my-folder destination ctemp Result ctempmy-filetxt ctempmy-file-2txt

Versioacuten de API 2014-10-06413

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

ctempmy-file-3txt --------------------- 5) Copy my-folder and its 3 files to my-folder within the destination folder ctempfiles - source my-folder destination ctempmy-folder Result ctempmy-foldermy-filetxt ctempmy-foldermy-file-2txt ctempmy-foldermy-file-3txt --------------------- 6) Copy the 3 files in my-folder to other-folder within the destination folder ctempfiles - source my-folder destination ctempother-folder Result ctempother-foldermy-filetxt ctempother-foldermy-file-2txt ctempother-foldermy-file-3txt --------------------- 7) Copy only my-file-2txt and my-file-3txt to my-folder within the destination folder ctempfiles - source my-foldermy-file-2txt destination ctempmy-folder - source my-foldermy-file-3txt destination ctempmy-folder Result ctempmy-foldermy-file-2txt ctempmy-foldermy-file-3txt --------------------- 8) Copy only my-file-2txt and my-file-3txt to other-folder within the destination folder ctempfiles - source my-foldermy-file-2txt destination ctempother-folder - source my-foldermy-file-3txt destination ctempother-folder Result ctempother-foldermy-file-2txt ctempother-foldermy-file-3txt --------------------- 9) Copy my-folder and its 3 files (along with the appspecyml file) to the destination folder ctemp If any of the files already exist on the instance overwrite themfiles - source destination ctemp

Versioacuten de API 2014-10-06414

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

file_exists_behavior OVERWRITE Result ctempappspecyml ctempmy-foldermy-filetxt ctempmy-foldermy-file-2txt ctempmy-foldermy-file-3txt

Seccioacuten laquoresourcesraquo de AppSpec (Amazon ECS yAWSLambdasolo implementaciones)El contenido delresourcesLa seccioacuten del archivo AppSpec variacutea en funcioacuten de la plataforma decomputacioacuten de la implementacioacuten Laresourcespara una implementacioacuten de Amazon ECS contienela definicioacuten de tareas de Amazon ECS contenedor y puerto para dirigir el traacutefico a su conjunto de tareasde Amazon ECS actualizado y otra informacioacuten opcional Laresourcesseccioacuten de unAWS LambdaLaimplementacioacuten contiene el nombre el alias la versioacuten actual y la versioacuten de destino de una funcioacutenLambda

Temasbull Seccioacuten laquoresourcesraquo de AppSpec paraAWSImplementaciones de Lambda (p 415)bull Seccioacuten laquoresourcesraquo de AppSpec para implementaciones de Amazon ECS (p 416)

Seccioacuten laquoresourcesraquo de AppSpec paraAWSImplementaciones de Lambda

Laresourcesespecifica la funcioacuten Lambda que se va a implementar y tiene la siguiente estructura

YAML

resources - name-of-function-to-deploy type AWSLambdaFunction properties name name-of-lambda-function-to-deploy alias alias-of-lambda-function-to-deploy currentversion version-of-the-lambda-function-traffic-currently-points-to targetversion version-of-the-lambda-function-to-shift-traffic-to

JSON

resources [ name-of-function-to-deploy type AWSLambdaFunction properties name name-of-lambda-function-to-deploy alias alias-of-lambda-function-to-deploy currentversion version-of-the-lambda-function-traffic-currently-points-to targetversion version-of-the-lambda-function-to-shift-traffic-to ]

Cada propiedad se especifica con una cadena

bull name obligatorio Es el nombre de la funcioacuten Lambda que se debe implementarbull alias obligatorio Es el nombre del alias de la funcioacuten Lambda

Versioacuten de API 2014-10-06415

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

bull currentversion obligatorio Es la versioacuten de la funcioacuten Lambda a la que apunta actualmente eltraacutefico

bull targetversion obligatorio Es la versioacuten de la funcioacuten Lambda a la que se va a desviar el traacutefico

Seccioacuten laquoresourcesraquo de AppSpec para implementaciones de Amazon ECS

Laresourcesespecifica el servicio Amazon ECS que se va a implementar y tiene la siguienteestructura

YAML

Resources - TargetService Type AWSECSService Properties TaskDefinition task-definition-ARN LoadBalancerInfo ContainerName ECS-container-name-for-your-ECS-application ContainerPort port-used-by-your-ECS-application Optional properties PlatformVersion ecs-service-platform-version NetworkConfiguration AwsvpcConfiguration Subnets [ecs-subnet-1ecs-subnet-n] SecurityGroups [ecs-security-group-1ecs-security-group-n] AssignPublicIp ENABLED-or-DISABLED CapacityProviderStrategy - Base Integer CapacityProvider capacityProviderA Weight Integer - Base Integer CapacityProvider capacityProviderB Weight Integer

JSON

Resources [ TargetService Type AWSECSService Properties TaskDefinition LoadBalancerInfo ContainerName ContainerPort PlatformVersion NetworkConfiguration AwsvpcConfiguration Subnets [ ] SecurityGroups [ ] AssignPublicIp CapacityProviderStrategy [

Versioacuten de API 2014-10-06416

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Base Integer CapacityProvider capacityProviderA Weight Integer Base Integer CapacityProvider capacityProviderB Weight Integer ] ]

Cada propiedad se especifica con una cadena excepto paraContainerPort que es un nuacutemero

bull TaskDefinition obligatorio Es la definicioacuten de tarea que el servicio de Amazon ECS seva a implementar Se especifica con el ARN de la definicioacuten de tarea El formato del ARN esarnawsecsaws-regionaccount-idtask-definitiontask-definition-familytask-definition-revision Para obtener maacutes informacioacuten consulteNombres de recursosde Amazon (ARN) yAWSespacios de nombres de servicios de

bull ContainerName obligatorio Este es el nombre del contenedor Amazon ECS que contiene la aplicacioacutenAmazon ECS Debe ser un contenedor especificado en la definicioacuten de tarea Amazon ECS

bull ContainerPort obligatorio Este es el puerto del contenedor al que se dirigiraacute el traacuteficobull PlatformVersion opcional La versioacuten de la plataforma de las tareas Fargate en el servicio Amazon

ECS implementado Para obtener maacutes informacioacuten consulte Versiones de la plataforma de AWSFargate Si no se especificaLATESTse utiliza de forma predeterminada

bull NetworkConfiguration opcional En AwsvpcConfiguration puede especificar lo siguiente Paraobtener maacutes informacioacuten consulteAwsVpcConfigurationen laReferencia de la API de Amazon ECSbull Subnets opcional Una lista separada por comas de una o varias subredes en su servicio Amazon

ECSbull SecurityGroups opcional Una lista separada por comas de uno o varios grupos de seguridad en

su Amazon Elastic Container Servicebull AssignPublicIp opcional Una cadena que especifica si su elastic network interface del servicio

Amazon ECS recibe una direccioacuten IP puacuteblica Los valores vaacutelidos son ENABLED y DISABLEDNote

Todos o ninguno de los ajustes deNetworkConfigurationdebe especificarse Porejemplo si desea especificar Subnets tambieacuten debe especificar SecurityGroups yAssignPublicIp Si no se especifica ninguno CodeDeploy utiliza la configuracioacuten actual deAmazon ECS de de la red

bull CapacityProviderStrategy opcional Lista de los proveedores de capacidad de Amazon ECSque desea utilizar para su implementacioacuten Para obtener maacutes informacioacuten consulteProveedores decapacidad de Amazon ECSen laGuiacutea para desarrolladores de Amazon Elastic Puede especificar lasiguiente configuracioacuten para cada proveedor de capacidad Para obtener maacutes informacioacuten sobre estaconfiguracioacuten consulteElemento de estrategia de proveedor de capacidad de servicio AWS ECSenlaAWS CloudFormationGuiacutea del usuario debull Base opcional El valor de base designa cuaacutentas tareas como miacutenimo se ejecutaraacuten en el proveedor

de capacidad especificado Solo un proveedor de capacidad en una estrategia de proveedorde capacidad puede tener una base definida Si no se especifica ninguacuten valor se utiliza el valorpredeterminado 0

bull CapacityProvider opcional Nombre abreviado del proveedor de capacidadEjemplocapacityProviderA

bull Weight opcional

Versioacuten de API 2014-10-06417

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

El valor peso designa el porcentaje relativo del nuacutemero total de tareas lanzadas que debe utilizar elproveedor de capacidad especificado El valor weight se tomaraacute en cuenta luego de que el valorbase se cumpla en el caso de haber sido definido

Si no se especifica ninguacuten valor se utiliza el valor predeterminado 0 Cuando se especifican variosproveedores de capacidad dentro de una estrategia de provisioacuten de capacidad al menos uno delos proveedores de capacidad deberaacute tener un valor de peso superior a cero y los proveedores decapacidad con un peso de 0 no se utilizaraacuten para asignar tareas Si especifican varios proveedores decapacidad en una estrategia en la que todos tienen un peso de 0 se produciraacute un error en cualquierade las acciones RunTask o CreateService que utilicen la estrategia de provisioacuten de capacidad

Por ejemplo si define una estrategia que contiene dos proveedores de capacidad y ambostienen un peso de 1 cuando base se cumpla las tareas se dividiraacuten uniformemente entre los dosproveedores de capacidad Siguiendo esta misma loacutegica si especifica una ponderacioacuten de 1 paracapacityProviderA y una ponderacioacuten de 4 para capacityProviderB entonces por cada tarea que seejecute usando capacityProviderA habraacute cuatro tareas que usen capacityProviderB

Seccioacuten permissions de AppSpec (solo para implementacionesEC2On-Premises)La seccioacuten permissions especifica coacutemo los permisos especiales si hay alguno deben aplicarsea los archivos y directorioscarpetas de la seccioacuten files una vez copiados en la instancia Puedeespecificar varias instrucciones object Esta seccioacuten es opcional Solo se aplica a las instancias AmazonLinux Ubuntu Server y RHEL

Note

Lapermissionsse utiliza uacutenicamente para implementaciones EC2On-Premises No se utilizaparaAWSImplementaciones de Lambda o Amazon ECS

Esta seccioacuten tiene la siguiente estructura

permissions - object object-specification pattern pattern-specification except exception-specification owner owner-account-name group group-name mode mode-specification acls - acls-specification context user user-specification type type-specification range range-specification type - object-type

Las instrucciones son las siguientes

bull object obligatorio Este es un conjunto de objetos del sistema de archivos (archivos o directorioscarpetas) a los que se aplican los permisos especificados una vez que se copian en la instancia

Especifique object con una cadenabull pattern opcional Especifica un patroacuten para aplicar permisos Si no se especifica o se especifica con

los caracteres especiales los permisos se aplican a todos los archivos o directorios coincidentesen funcioacuten del valor de type

Versioacuten de API 2014-10-06418

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Especifique pattern con una cadena con comillas ()bull except opcional Especifica los archivos o directorios que son excepciones a pattern

Especifique except con una lista separada por comas de cadenas entre corchetesbull owner opcional El nombre del propietario de object Si no se especifica todos los propietarios

existentes aplicados a la estructura original de archivos o directorioscarpetas permanecen sin cambiosdespueacutes de la operacioacuten de copia

Especifique owner con una cadenabull group opcional El nombre del grupo de object Si no se especifica todos los grupos existentes

aplicados a la estructura original de archivos o directorioscarpetas permanecen sin cambios despueacutes dela operacioacuten de copia

Especifique group con una cadenabull mode opcional Un valor numeacuterico que especifica los permisos que se van a aplicar aobject El ajuste

de modo sigue elComando chmod Linuxsintaxis

Important

Si el valor incluye un cero inicial debe rodearlo de comillas dobles o eliminar el cero inicial paraque solo queden tres diacutegitos

Note

Notacioacuten simboacutelica comou+xno se admite para elmodeconfiguracioacuten de

Ejemplosbull mode 0644otorga permisos de lectura y escritura al propietario del objeto (6) permisos de solo

lectura para el grupo (4) y permisos de solo lectura para los demaacutes usuarios (4)bull mode 644concede los mismos permisos quemode 0644bull mode 4755establece el atributo setuid (4) otorga permisos de control total al propietario (7) otorga

permisos de lectura y ejecucioacuten al grupo (5) y otorga permisos de lectura y ejecucioacuten a todos losdemaacutes usuarios (5)

Para ver maacutes ejemplos consulte la documentacioacuten del comando chmod de Linux

Si no se especifica mode todos los modos existentes aplicados a la estructura original de archivos oarchivos o carpetas permanecen sin cambios despueacutes de la operacioacuten de copia

bull acls opcional Una lista de cadenas de caracteres que representan una o varias entradas de la lista decontrol de acceso (ACL) aplicadas a object Por ejemplo ubobrw representa permisos de lecturay escritura para el usuario bob (Para ver maacutes ejemplos consulte los ejemplos de formato de entradasde ACL en la documentacioacuten del comando setfacl de Linux) Puede especificar varias entradas deACL Si no se especifica acls todas las listas de control de acceso aplicadas a la estructura original dearchivos o directorioscarpetas permanecen sin cambios despueacutes de la operacioacuten de copia Reemplazana todas las listas de control de acceso existentes

Especifique una acls con un guion (-) seguido de un espacio y a continuacioacuten una cadena(por ejemplo - ujanerw) Si tiene varias ACL cada una de ellas se especifica en una liacuteneaindependiente

Note

La definicioacuten de usuarios sin nombre grupos sin nombre u otras entradas de ACL similaresproduciraacute un error del archivo AppSpec Utilice mode para especificar estos tipos de permisosen su lugar

bull context opcional Para las instancias habilitadas para Security-Enhanced Linux (SELinux) una lista deetiquetas de contexto relevantes para la seguridad que se aplica a los objetos copiados Las etiquetas se

Versioacuten de API 2014-10-06419

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

especifican como claves que contienen user type y range (Para obtener maacutes informacioacuten consultela documentacioacuten de SELinux) Cada clave se escribe con una cadena Si no se especifica todas lasetiquetas existentes aplicadas a la estructura original de archivos o directorioscarpetas permanecen sincambios despueacutes de la operacioacuten de copiabull user opcional El usuario de SELinuxbull type opcional El nombre de tipo de SELinuxbull range opcional El rango especificado de SELinux No tiene ninguacuten efecto a no ser que Multi-Level

Security (MLS) y Multi-Category Security (MCS) esteacuten habilitados en la maacutequina Si no estaacute habilitadael valor predeterminado de range es s0

Especifique context con una cadena (por ejemplo user unconfined_u) Cada context seespecifica en una liacutenea separada

bull type opcional Los tipos de objetos a los que se van a aplicar los permisos especificados type esuna cadena que se puede establecer en file o en directory Si se especifica file los permisos seaplican uacutenicamente a los archivos que esteacuten incluidos en object despueacutes de la operacioacuten de copia (yno al propio object) Si se especifica directory los permisos se aplican recursivamente a todos losdirectorios o carpetas incluidos en object despueacutes de la operacioacuten de copia (y no al propio object)

Especifique type con un guion (-) seguido de un espacio y a continuacioacuten una cadena (por ejemplo -file)

Ejemplo de la seccioacuten PermissionsEn el siguiente ejemplo se muestra coacutemo especificar la seccioacuten permissions con las instruccionesobject pattern except owner mode y type Este ejemplo se aplica solo a las instancias AmazonLinux Ubuntu Server y RHEL En este ejemplo se presupone que se copian los siguientes archivos ycarpetas en la instancia en esta jerarquiacutea

tmp `-- my-app |-- my-file-1txt |-- my-file-2txt |-- my-file-3txt |-- my-folder-1 | |-- my-file-4txt | |-- my-file-5txt | `-- my-file-6txt `-- my-folder-2 |-- my-file-7txt |-- my-file-8txt |-- my-file-9txt `-- my-folder-3

En el siguiente archivo de AppSpec se muestra coacutemo establecer permisos en estos archivos y carpetasuna vez copiados

version 00os linux Copy over all of the folders and files with the permissions they were originally assignedfiles - source my-file-1txt destination tmpmy-app - source my-file-2txt destination tmpmy-app - source my-file-3txt destination tmpmy-app - source my-folder-1 destination tmpmy-appmy-folder-1

Versioacuten de API 2014-10-06420

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

- source my-folder-2 destination tmpmy-appmy-folder-2 1) For all of the files in the tmpmy-app folder ending in -3txt (for example just my-file-3txt) owner = adm group = wheel and mode = 464 (-r--rw-r--)permissions - object tmpmy-app pattern -3txt owner adm group wheel mode 464 type - file 2) For all of the files ending in txt in the tmpmy-app folder but not for the file my-file-3txt (for example just my-file-1txt and my-file-2txt) owner = ec2-user and mode = 444 (-r--r--r--) - object tmpmy-app pattern txt except [my-file-3txt] owner ec2-user mode 444 type - file 3) For all the files in the tmpmy-appmy-folder-1 folder except for my-file-4txt and my-file-5txt (for example just my-file-6txt) owner = operator and mode = 646 (-rw-r--rw-) - object tmpmy-appmy-folder-1 pattern except [my-file-4txt my-file-5txt] owner operator mode 646 type - file 4) For all of the files that are immediately under the tmpmy-appmy-folder-2 folder except for my-file-8txt (for example just my-file-7txt and my-file-9txt) owner = ec2-user and mode = 777 (-rwxrwxrwx) - object tmpmy-appmy-folder-2 pattern except [my-file-8txt] owner ec2-user mode 777 type - file 5) For all folders at any level under tmpmy-app that contain the name my-folder but not tmpmy-appmy-folder-2my-folder-3 (for example just tmpmy-appmy-folder-1 and tmpmy-appmy-folder-2) owner = ec2-user and mode = 555 (dr-xr-xr-x) - object tmpmy-app pattern my-folder except [tmpmy-appmy-folder-2my-folder-3] owner ec2-user mode 555 type - directory 6) For the folder tmpmy-appmy-folder-2my-folder-3 group = wheel and mode = 564 (dr-xrw-r--) - object tmpmy-appmy-folder-2my-folder-3 group wheel mode 564 type - directory

Versioacuten de API 2014-10-06421

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Los permisos resultantes son los siguientes

-r--r--r-- ec2-user root my-file-1txt-r--r--r-- ec2-user root my-file-2txt-r--rw-r-- adm wheel my-file-3txt

dr-xr-xr-x ec2-user root my-folder-1-rw-r--r-- root root my-file-4txt-rw-r--r-- root root my-file-5txt-rw-r--rw- operator root my-file-6txt

dr-xr-xr-x ec2-user root my-folder-2-rwxrwxrwx ec2-user root my-file-7txt-rw-r--r-- root root my-file-8txt-rwxrwxrwx ec2-user root my-file-9txt

dr-xrw-r-- root wheel my-folder-3

En el siguiente ejemplo se muestra coacutemo especificar la seccioacuten permissions con la adicioacuten de lasinstrucciones acls y context Este ejemplo se aplica solo a las instancias Amazon Linux Ubuntu Servery RHEL

permissions - object varwwwhtmlWordPress pattern except [varwwwhtmlWordPressReadMetxt] owner bob group writers mode 644 acls - umaryrw - usamrw - mrw context user unconfined_u type httpd_sys_content_t range s0 type - file

Seccioacuten hooks de AppSpecEl contenido delhooksLa seccioacuten del archivo AppSpec variacutea en funcioacuten de la plataforma decomputacioacuten de la implementacioacuten LahooksUna implementacioacuten EC2On-premises contiene losmapeos que vinculan los enlaces de eventos de ciclo de vida de la implementacioacuten a uno o varios scriptsLahooksUna implementacioacuten de Lambda o Amazon ECS especifica las funciones de validacioacutenLambda que se ejecutan durante un evento de ciclo de vida de la implementacioacuten Si un enlace de eventono estaacute presente no se ejecuta ninguna operacioacuten para ese evento Esta seccioacuten solo es necesaria siejecuta scripts o funciones de validacioacuten Lambda como parte de la implementacioacuten

Temasbull Seccioacuten hooks de AppSpec para una implementacioacuten de Amazon ECS (p 422)bull Seccioacuten hooks de AppSpec para unAWSImplementacioacuten de Lambda (p 426)bull Seccioacuten hooks de AppSpec para una implementacioacuten EC2On-Premises (p 428)

Seccioacuten hooks de AppSpec para una implementacioacuten de Amazon ECS

Temas

Versioacuten de API 2014-10-06422

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

bull Lista de ganchos de eventos del ciclo de vida de una implementacioacuten de Amazon ECS (p 423)bull Orden de ejecucioacuten de los enlaces en una implementacioacuten de Amazon ECS (p 423)bull Estructura de la seccioacuten hooks (p 424)bull Funcioacuten hooks de Lambda de ejemplo (p 425)

Lista de ganchos de eventos del ciclo de vida de una implementacioacuten de Amazon ECS

UnAWSLambda hook es una funcioacuten Lambda especificada con una cadena en una nueva liacuteneadespueacutes del nombre del evento del ciclo de vida Cada enlace se ejecuta una vez por implementacioacutenA continuacioacuten se muestran las descripciones de los eventos del ciclo de vida donde puede ejecutar unenlace durante una implementacioacuten de Amazon ECS

bull BeforeInstall se utiliza para ejecutar tareas antes de crear el conjunto de tareas de sustitucioacutenUn grupo de destino se asocia al conjunto de tareas original Si se especifica un agente de escuchade prueba opcional se asociada al conjunto de tareas original En este momento no es posible unarestauracioacuten

bull AfterInstall se utiliza para ejecutar tareas una vez que el conjunto de tareas se ha creado y uno delos grupos de destino se ha asociado con eacutel Si se especifica un agente de escucha de prueba opcionalse asociada al conjunto de tareas original El resultado de la funcioacuten de enlace en este evento de ciclode vida puede activar una restauracioacuten

bull AfterAllowTestTraffic utiliacutecelo para ejecutar tareas despueacutes de que el agente de escucha deprueba enviacutea traacutefico al conjunto de tareas de sustitucioacuten El resultado de la funcioacuten de enlace en estepunto puede activar una restauracioacuten

bull BeforeAllowTraffic se utiliza para ejecutar tareas una vez que el segundo grupo de destino seha asociado con el conjunto de tareas de sustitucioacuten pero antes de que se enviacutee traacutefico al conjunto detareas de sustitucioacuten El resultado de la funcioacuten de enlace en este evento de ciclo de vida puede activaruna restauracioacuten

bull AfterAllowTraffic utiliacutecelo para ejecutar tareas despueacutes de que el segundo grupo de destino enviacuteatraacutefico al conjunto de tareas de sustitucioacuten El resultado de la funcioacuten de enlace en este evento de ciclode vida puede activar una restauracioacuten

Para obtener maacutes informacioacuten consulte Queacute ocurre durante una implementacioacuten de Amazon ECS (p 22) yTutorial Implementacioacuten de un servicio Amazon ECS con una prueba de validacioacuten (p 147)

Orden de ejecucioacuten de los enlaces en una implementacioacuten de Amazon ECS

En una implementacioacuten de Amazon ECS los enlaces de eventos se ejecutan en el siguiente orden

Versioacuten de API 2014-10-06423

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Note

No se pueden ejecutar mediante un script los eventos Start Install TestTraffic AllowTraffic y Enden la implementacioacuten motivo por el cual aparecen atenuados en este diagrama

Estructura de la seccioacuten hooks

Los siguientes ejemplos muestran la estructura de la seccioacuten hooks

Mediante YAML

Hooks - BeforeInstall BeforeInstallHookFunctionName

Versioacuten de API 2014-10-06424

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

- AfterInstall AfterInstallHookFunctionName - AfterAllowTestTraffic AfterAllowTestTrafficHookFunctionName - BeforeAllowTraffic BeforeAllowTrafficHookFunctionName - AfterAllowTraffic AfterAllowTrafficHookFunctionName

Mediante JSON

Hooks [ BeforeInstall BeforeInstallHookFunctionName AfterInstall AfterInstallHookFunctionName AfterAllowTestTraffic AfterAllowTestTrafficHookFunctionName BeforeAllowTraffic BeforeAllowTrafficHookFunctionName AfterAllowTraffic AfterAllowTrafficHookFunctionName ]

Funcioacuten hooks de Lambda de ejemplo

Usarhookspara especificar una funcioacuten Lambda a la que CodeDeploy puede llamar para validaruna implementacioacuten de Amazon ECS Puede utilizar la misma funcioacuten o una distinta para los eventosde ciclo de vida de implementacioacuten BeforeInstall AfterInstall AfterAllowTestTrafficBeforeAllowTraffic y AfterAllowTraffic Una vez completadas las pruebas de validacioacutenel LambdaAfterAllowTrafficLa funcioacuten de llama a CodeDeploy y enviacutea el resultadodeSucceededoFailed

Important

Se considera que se ha producido un error en la implementacioacuten si la funcioacuten de validacioacutenLambda no informa a CodeDeploy en el plazo de una hora

Antes de invocar una funcioacuten de enlace Lambda el servidor debe recibir una notificacioacutencon el ID de implementacioacuten y el ID de ejecucioacuten del enlace de evento de ciclo de vida conlaputLifecycleEventHookExecutionStatuscomando

A continuacioacuten se muestra una funcioacuten de enlace Lambda de ejemplo escrita en Nodejs

use strict

const aws = require(aws-sdk)const codedeploy = new awsCodeDeploy(apiVersion 2014-10-06)

exportshandler = (event context callback) =gt Read the DeploymentId from the event payload var deploymentId = eventDeploymentId

Read the LifecycleEventHookExecutionId from the event payload var lifecycleEventHookExecutionId = eventLifecycleEventHookExecutionId

Enter validation tests here

Versioacuten de API 2014-10-06425

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Prepare the validation test results with the deploymentId and the lifecycleEventHookExecutionId for CodeDeploy var params = deploymentId deploymentId lifecycleEventHookExecutionId lifecycleEventHookExecutionId status Succeeded status can be Succeeded or Failed Pass CodeDeploy the prepared validation test results codedeployputLifecycleEventHookExecutionStatus(params function(err data) if (err) Validation failed callback(Validation test failed) else Validation succeeded callback(null Validation test succeeded) )

Seccioacuten hooks de AppSpec para unAWSImplementacioacuten de Lambda

Temasbull Lista de ganchos de eventos del ciclo de vida de unAWSImplementacioacuten de Lambda (p 426)bull Ejecute el orden de los ganchos en una implementacioacuten de la versioacuten de la funcioacuten Lambda (p 426)bull Estructura de la seccioacuten hooks (p 427)bull Funcioacuten hooks de Lambda de ejemplo (p 427)

Lista de ganchos de eventos del ciclo de vida de unAWSImplementacioacuten de Lambda

UnAWSLambda hook es una funcioacuten Lambda especificada con una cadena en una nueva liacuteneadespueacutes del nombre del evento del ciclo de vida Cada enlace se ejecuta una vez por implementacioacutenA continuacioacuten se muestran las descripciones de los enlaces disponibles para su uso en su archivoAppSpec

bull BeforeAllowTraffic utiliacutecelo para ejecutar tareas antes de que el traacutefico se desviacutee a la versioacuten de lafuncioacuten Lambda implementada

bull AfterAllowTraffic utiliacutecelo para ejecutar tareas despueacutes de que el traacutefico se desviacutee a la versioacuten de lafuncioacuten Lambda implementada

Ejecute el orden de los ganchos en una implementacioacuten de la versioacuten de la funcioacuten Lambda

En una implementacioacuten de versiones de funciones Lambda sin servidor los enlaces de eventos seejecutan en el siguiente orden

Versioacuten de API 2014-10-06426

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Note

Los eventos Start AllowTraffic y End de la implementacioacuten no se pueden ejecutar mediante unscript motivo por el cual aparecen atenuados en este diagrama

Estructura de la seccioacuten hooks

Los siguientes ejemplos muestran la estructura de la seccioacuten hooks

Mediante YAML

hooks - BeforeAllowTraffic BeforeAllowTrafficHookFunctionName - AfterAllowTraffic AfterAllowTrafficHookFunctionName

Mediante JSON

hooks [ BeforeAllowTraffic BeforeAllowTrafficHookFunctionName AfterAllowTraffic AfterAllowTrafficHookFunctionName]

Funcioacuten hooks de Lambda de ejemplo

Utilice la seccioacuten hooks para especificar la funcioacuten Lambda a la que CodeDeploy puede llamar paravalidar una implementacioacuten Lambda Puede utilizar la misma funcioacuten o una diferente para los eventos deciclo de vida de implementacioacuten BeforeAllowTraffic y AfterAllowTraffic Cuando finalicen laspruebas de validacioacuten la funcioacuten de validacioacuten Lambda vuelve a llamar a CodeDeploy devuelve comoresultadoSucceededoFailed

Important

Se considera que se ha producido un error en la implementacioacuten si la funcioacuten de validacioacutenLambda no informa a CodeDeploy en el plazo de una hora

Versioacuten de API 2014-10-06427

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Antes de invocar una funcioacuten de enlace Lambda el servidor debe recibir una notificacioacutencon el ID de implementacioacuten y el ID de ejecucioacuten del enlace de evento de ciclo de vida conlaputLifecycleEventHookExecutionStatuscomando

A continuacioacuten se muestra una funcioacuten de enlace Lambda de ejemplo escrita en Nodejs

use strict

const aws = require(aws-sdk)const codedeploy = new awsCodeDeploy(apiVersion 2014-10-06)

exportshandler = (event context callback) =gt Read the DeploymentId from the event payload var deploymentId = eventDeploymentId

Read the LifecycleEventHookExecutionId from the event payload var lifecycleEventHookExecutionId = eventLifecycleEventHookExecutionId

Enter validation tests here

Prepare the validation test results with the deploymentId and the lifecycleEventHookExecutionId for CodeDeploy var params = deploymentId deploymentId lifecycleEventHookExecutionId lifecycleEventHookExecutionId status Succeeded status can be Succeeded or Failed Pass CodeDeploy the prepared validation test results codedeployputLifecycleEventHookExecutionStatus(params function(err data) if (err) Validation failed callback(Validation test failed) else Validation succeeded callback(null Validation test succeeded) )

Seccioacuten hooks de AppSpec para una implementacioacuten EC2On-Premises

Temasbull Lista de ganchos de eventos del ciclo de vida (p 428)bull Disponibilidad de enlaces de eventos de ciclo de vida (p 430)bull Ejecutar el orden de los ganchos en una implementacioacuten (p 431)bull Estructura de la seccioacuten hooks (p 433)bull Disponibilidad de variables de entorno para los ganchos (p 434)bull Ejemplo de enlaces (p 435)

Lista de ganchos de eventos del ciclo de vida

Un enlace de implementacioacuten EC2On-Premises se ejecuta una vez por cada implementacioacuten en unainstancia Puede especificar uno o varios scripts para ejecutar en un enlace Cada enlace de un evento delciclo de vida se especifica con una cadena en una liacutenea independiente A continuacioacuten se muestran lasdescripciones de los enlaces disponibles para su uso en su archivo AppSpec

Versioacuten de API 2014-10-06428

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Para obtener informacioacuten sobre los enlaces de eventos del ciclo de vida vaacutelidos para cada tipo deimplementacioacuten y restauracioacuten consulte Disponibilidad de enlaces de eventos de ciclo de vida (p 430)

bull ApplicationStop este evento de ciclo de vida de la implementacioacuten se produce incluso antes deque se descargue la revisioacuten de la aplicacioacuten Puede especificar scripts para este evento para detenercon fluidez la aplicacioacuten o para eliminar los paquetes instalados actualmente en la preparacioacuten de unaimplementacioacuten El archivo y los scripts de AppSpec usados para este evento de ciclo de vida de laimplementacioacuten proceden de la revisioacuten de la aplicacioacuten anterior implementada correctamente

Note

Un archivo AppSpec no existe en una instancia antes de que se implemente Por este motivoel enlace ApplicationStop no se ejecuta la primera vez que se realiza la implementacioacutenen la instancia Puede utilizar el enlace ApplicationStop la segunda vez que realice laimplementacioacuten en una instancia

Para determinar la ubicacioacuten de la uacuteltima revisioacuten de la aplicacioacuten implementada correctamenteel agente de CodeDeploy busca en la ubicacioacuten que se indica en ladeployment-group-id_last_successful_installfile Este archivo se encuentra en

optcodedeploy-agentdeployment-rootdeployment-instructionsen las instanciasAmazon Linux Ubuntu Server y RHEL Amazon EC2

CProgramDataAmazonCodeDeploydeployment-instructionscarpeta en instancias deAmazon EC2 de Windows Server

Para solucionar un error de una implementacioacuten durante el evento del ciclo de vida de la implementacioacutenApplicationStop consulte Solucioacuten de problemas con un error ApplicationStop BeforeBlockTraffic oAfterBlockTraffic evento del ciclo de vida de la implementacioacuten (p 468)

bull DownloadBundle durante este evento de ciclo de vida de la implementacioacuten el agente de CodeDeploycopia los archivos de la revisioacuten de la aplicacioacuten en una ubicacioacuten temporal

optcodedeploy-agentdeployment-rootdeployment-group-iddeployment-iddeployment-archiveen las instancias Amazon Linux Ubuntu Server y RHEL Amazon EC2

CProgramDataAmazonCodeDeploydeployment-group-iddeployment-iddeployment-archivecarpeta en instancias de Amazon EC2 de Windows Server

Este evento estaacute reservado para el agente de CodeDeploy y no se puede usar para ejecutar scripts

Para solucionar un error de una implementacioacuten durante el evento del ciclo de vida de la implementacioacutenDownloadBundle consulte Solucioacuten de problemas DownloadBundle evento de ciclo de vida de laimplementacioacuten con UnknownError no abierto para lectura (p 469)

bull BeforeInstall puede utilizar este evento del ciclo de vida de la implementacioacuten para tareas depreinstalacioacuten como descifrar archivos y crear una copia de seguridad de la versioacuten actual

bull Install durante este evento de ciclo de vida de la implementacioacuten el agente de CodeDeploy copialos archivos de la revisioacuten de la ubicacioacuten temporal en la carpeta de destino final Este evento estaacutereservado para el agente de CodeDeploy y no se puede usar para ejecutar scripts

bull AfterInstall puede utilizar este evento del ciclo de vida de la implementacioacuten para configurar laaplicacioacuten o para cambiar los permisos de los archivos

bull ApplicationStart este evento de ciclo de vida de la implementacioacuten se utiliza normalmente parareiniciar los servicios que se detuvieron duranteApplicationStop

bull ValidateService este es el uacuteltimo evento del ciclo de vida de la implementacioacuten Se utiliza paraverificar que la implementacioacuten se ha completado correctamente

bull BeforeBlockTraffic puede utilizar este evento del ciclo de vida de la implementacioacuten para ejecutartareas en las instancias antes de que se anule su registro en un balanceador de carga

Versioacuten de API 2014-10-06429

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Para solucionar un error de una implementacioacuten durante el evento del ciclo de vida de laimplementacioacuten BeforeBlockTraffic consulte Solucioacuten de problemas con un error ApplicationStopBeforeBlockTraffic o AfterBlockTraffic evento del ciclo de vida de la implementacioacuten (p 468)

bull BlockTraffic durante este evento de ciclo de vida de la implementacioacuten se bloquea el traacutefico deInternet a las instancias que estaacuten actualmente sirviendo traacutefico Este evento estaacute reservado para elagente de CodeDeploy y no se puede usar para ejecutar scripts

bull AfterBlockTraffic puede utilizar este evento del ciclo de vida de la implementacioacuten para ejecutartareas en las instancias despueacutes de que se anule su registro en un balanceador de carga

Para solucionar un error de una implementacioacuten durante el evento del ciclo de vida de la implementacioacutenAfterBlockTraffic consulte Solucioacuten de problemas con un error ApplicationStop BeforeBlockTraffico AfterBlockTraffic evento del ciclo de vida de la implementacioacuten (p 468)

bull BeforeAllowTraffic puede utilizar este evento del ciclo de vida de la implementacioacuten para ejecutartareas en las instancias antes de que se registren en un balanceador de carga

bull AllowTraffic durante este evento de ciclo de vida de la implementacioacuten se permite el acceso deltraacutefico de Internet a las instancias despueacutes de una implementacioacuten Este evento estaacute reservado para elagente de CodeDeploy y no se puede usar para ejecutar scripts

bull AfterAllowTraffic puede utilizar este evento del ciclo de vida de la implementacioacuten para ejecutartareas en las instancias despueacutes de que se registren en un balanceador de carga

Disponibilidad de enlaces de eventos de ciclo de vida

En la siguiente tabla se indican los enlaces de eventos del ciclo de vida disponibles para cada escenariode implementacioacuten y restauracioacuten

Nombre deevento del ciclode vida

Implementacioacutenin situsup1

ImplementacioacutenbluegreenOriginalinstances(Instanciasoriginales)

ImplementacioacutenbluegreenInstancias dereemplazo

Reversioacuten deimplementacioacutenbluegreenOriginalinstances(Instanciasoriginales)

Reversioacuten deimplementacioacutenbluegreenInstancias dereemplazo

ApplicationStop

DownloadBundlesup2

BeforeInstall

Installsup2

AfterInstall

ApplicationStart

ValidateService

BeforeBlockTraffic

BlockTrafficsup2

AfterBlockTraffic

BeforeAllowTraffic

AllowTrafficsup2

Versioacuten de API 2014-10-06430

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Nombre deevento del ciclode vida

Implementacioacutenin situsup1

ImplementacioacutenbluegreenOriginalinstances(Instanciasoriginales)

ImplementacioacutenbluegreenInstancias dereemplazo

Reversioacuten deimplementacioacutenbluegreenOriginalinstances(Instanciasoriginales)

Reversioacuten deimplementacioacutenbluegreenInstancias dereemplazo

AfterAllowTraffic

sup1Se aplica tambieacuten a la restauracioacuten de una implementacioacuten in situ

sup2 Reservado para operaciones de CodeDeploy No se puede utilizar para ejecutar scripts

Ejecutar el orden de los ganchos en una implementacioacuten

Implementaciones in situ

En una implementacioacuten in situ incluida la restauracioacuten de una implementacioacuten in situ los enlaces deeventos se ejecutan en el orden siguiente

Note

En el caso de las implementaciones in situ los seis enlaces relacionados con el bloqueo y elpermiso del traacutefico solo se aplican si se ha especificado una instancia de Classic Load BalancerApplication Load Balancer o Network Load Balancer de Elastic Load Balancing en el grupo deimplementaciones

Versioacuten de API 2014-10-06431

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Note

Los eventos Start DownloadBundle Install y End de la implementacioacuten no se pueden ejecutarmediante un script motivo por el cual aparecen atenuados en este diagrama Sin embargo siacutese puede editarfilesseccioacuten del archivo AppSpec para especificar lo que se debe instalardurante laInstalarevent

Implementaciones bluegreen

En una implementacioacuten bluegreen los enlaces de eventos se ejecutan en el siguiente orden

Versioacuten de API 2014-10-06432

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Note

Los eventos Start DownloadBundle Install BlockTraffic AllowTraffic y End de la implementacioacutenno se pueden ejecutar mediante un script motivo por el cual aparecen atenuados en estediagrama Sin embargo puede editar la seccioacuten files del archivo AppSpec para especificar lo quese debe instalar durante laInstalarevent

Estructura de la seccioacuten hooks

La seccioacuten hooks tiene la siguiente estructura

hooks deployment-lifecycle-event-name - location script-location timeout timeout-in-seconds runas user-name

Versioacuten de API 2014-10-06433

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Puede incluir los siguientes elementos en una entrada hook detraacutes del nombre de evento del ciclo de vidade la implementacioacuten

location

Obligatorio La ubicacioacuten en el paquete del archivo de script de la revisioacuten La ubicacioacuten de los scriptsque especifique en elhookses relativa a la raiacutez del paquete de revisioacuten de la aplicacioacuten Para obtenermaacutes informacioacuten consulte Planear una revisioacuten para CodeDeploy (p 307)

timeout

Opcional El nuacutemero de segundos que se puede ejecutar el script antes de que se considere que se haproducido un error El valor predeterminado es 3 600 segundos (1 hora)

Note

3 600 segundos (1 hora) es la cantidad maacutexima de tiempo de ejecucioacuten permitido para elscript para cada evento del ciclo de vida de la implementacioacuten Si el script supera este liacutemitela implementacioacuten se detiene y la implementacioacuten en la instancia da un error Aseguacuterese deque el nuacutemero total de segundos especificados en timeout para todos los scripts en cadaevento del ciclo de vida de la implementacioacuten no supere este liacutemite

runas

Opcional El usuario que se va a suplantar al ejecutar el script De forma predeterminada es el agentede CodeDeploy que se ejecuta en la instancia CodeDeploy no almacena las contrasentildeas por lo queel usuario no se puede suplantar si elrunasel usuario necesita una contrasentildea Este elemento seaplica solo a las instancias de Amazon Linux y Ubuntu Server

Disponibilidad de variables de entorno para los ganchos

Durante cada evento del ciclo de vida de la implementacioacuten los scripts de enlace pueden tener acceso alas siguientes variables de entorno

APPLICATION_NAME

El nombre de la aplicacioacuten en CodeDeploy que forma parte de la implementacioacuten actual (porejemploWordPress_App)

DEPLOYMENT_ID

El ID CodeDeploy que ha asignado a la implementacioacuten actual (por ejemplod-AB1CDEF23)DEPLOYMENT_GROUP_NAME

El nombre del grupo de implementaciones en CodeDeploy que forma parte de la implementacioacutenactual (por ejemploWordPress_DepGroup)

DEPLOYMENT_GROUP_ID

El ID del grupo de implementaciones en CodeDeploy que forma parte de la implementacioacuten actual (porejemplob1a2189b-dd90-4ef5-8f40-4c1c5EXAMPLE)

LIFECYCLE_EVENT

El nombre del evento del ciclo de vida de la implementacioacuten actual (por ejemplo AfterInstall)

Estas variables de entorno son locales con respecto a cada evento del ciclo de vida de la implementacioacuten

El script siguiente cambia el puerto de escucha de un servidor HTTP Apache a 9090 en lugar de a 80 si elvalor de DEPLOYMENT_GROUP_NAME es igual a Staging Este script debe invocarse durante el eventodel ciclo de vida de implementacioacuten BeforeInstall

Versioacuten de API 2014-10-06434

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

if [ $DEPLOYMENT_GROUP_NAME == Staging ]then sed -i -e sListen 80Listen 9090g etchttpdconfhttpdconffi

El script de ejemplo siguiente cambia el nivel de detalle de los mensajes registrados en su log deerrores de advertencia a depurar si el valor de la variable de entorno DEPLOYMENT_GROUP_NAMEes igual a Staging Este script debe invocarse durante el evento del ciclo de vida de implementacioacutenBeforeInstall

if [ $DEPLOYMENT_GROUP_NAME == Staging ]then sed -i -e sLogLevel warnLogLevel debugg etchttpdconfhttpdconffi

El script de ejemplo siguiente sustituye el texto de la paacutegina web especificada por el texto que muestrael valor de estas variables de entorno Este script debe invocarse durante el evento del ciclo de vida deimplementacioacuten AfterInstall

usrbinpython

import os strToSearch=lth2gtThis application was deployed using CodeDeploylth2gtstrToReplace=lth2gtThis page for +osenviron[APPLICATION_NAME]+ application and +osenviron[DEPLOYMENT_GROUP_NAME]+ deployment group with +osenviron[DEPLOYMENT_GROUP_ID]+ deployment group ID was generated by a +osenviron[LIFECYCLE_EVENT]+ script during +osenviron[DEPLOYMENT_ID]+ deploymentlth2gt fp=open(varwwwhtmlindexhtmlr)buffer=fpread()fpclose() fp=open(varwwwhtmlindexhtmlw)fpwrite(bufferreplace(strToSearchstrToReplace))fpclose()

Ejemplo de enlaces

A continuacioacuten se muestra un ejemplo de una entrada hooks (enlaces) que especifica dos enlaces para elevento de ciclo de vida AfterInstall

hooks AfterInstall - location ScriptsRunResourceTestssh timeout 180 - location ScriptsPostDeploysh timeout 180

El script ScriptsRunResourceTestssh se ejecuta durante la fase AfterInstall del proceso deimplementacioacuten La implementacioacuten no tendraacute eacutexito si el script tarda maacutes de 180 segundos (3 minutos) enejecutarse

La ubicacioacuten de los scripts que especifica en la seccioacuten hooks es relativa a la raiacutez del paquete de revisioacutende la aplicacioacuten En el ejemplo anterior un archivo denominado RunResourceTestssh estaacute en undirectorio denominado Scripts El directorio Scripts estaacute en la raiacutez del paquete Para obtener maacutesinformacioacuten consulte Planear una revisioacuten para CodeDeploy (p 307)

Versioacuten de API 2014-10-06435

AWS CodeDeploy Guiacutea del usuarioEjemplo del archivo AppSpec

Ejemplo del archivo AppSpecEn este tema se proporcionan archivos AppSpec de ejemplo paraAWSLambda y una implementacioacuten EC2On-Premises

Temasbull Ejemplo de archivo AppSpec para una implementacioacuten de Amazon ECS (p 436)bull Ejemplo de archivo de AppSpec para unAWSImplementacioacuten de Lambda (p 438)bull Ejemplo de archivo AppSpec para una implementacioacuten EC2On-Premises (p 439)

Ejemplo de archivo AppSpec para una implementacioacuten deAmazon ECSA continuacioacuten se muestra un ejemplo de un archivo AppSpec escrito en YAML para implementar unservicio de Amazon ECS

version 00Resources - TargetService Type AWSECSService Properties TaskDefinition arnawsecsus-east-1111222333444task-definitionmy-task-definition-family-name1 LoadBalancerInfo ContainerName SampleApplicationName ContainerPort 80 Optional properties PlatformVersion LATEST NetworkConfiguration AwsvpcConfiguration Subnets [subnet-1234abcdsubnet-5678abcd] SecurityGroups [sg-12345678] AssignPublicIp ENABLED CapacityProviderStrategy - Base 1 CapacityProvider FARGATE_SPOT Weight 2 - Base 0 CapacityProvider FARGATE Weight 1Hooks - BeforeInstall LambdaFunctionToValidateBeforeInstall - AfterInstall LambdaFunctionToValidateAfterInstall - AfterAllowTestTraffic LambdaFunctionToValidateAfterTestTrafficStarts - BeforeAllowTraffic LambdaFunctionToValidateBeforeAllowingProductionTraffic - AfterAllowTraffic LambdaFunctionToValidateAfterAllowingProductionTraffic

Esta es una versioacuten del ejemplo anterior escrita en JSON

version 00 Resources [ TargetService Type AWSECSService Properties TaskDefinition arnawsecsus-east-1111222333444task-definitionmy-task-definition-family-name1 LoadBalancerInfo

Versioacuten de API 2014-10-06436

AWS CodeDeploy Guiacutea del usuarioEjemplo del archivo AppSpec

ContainerName SampleApplicationName ContainerPort 80 PlatformVersion LATEST NetworkConfiguration AwsvpcConfiguration Subnets [ subnet-1234abcd subnet-5678abcd ] SecurityGroups [ sg-12345678 ] AssignPublicIp ENABLED CapacityProviderStrategy [ Base 1 CapacityProvider FARGATE_SPOT Weight 2 Base 0 CapacityProvider FARGATE Weight 1 ] ] Hooks [ BeforeInstall LambdaFunctionToValidateBeforeInstall AfterInstall LambdaFunctionToValidateAfterInstall AfterAllowTestTraffic LambdaFunctionToValidateAfterTestTrafficStarts BeforeAllowTraffic LambdaFunctionToValidateBeforeAllowingProductionTraffic AfterAllowTraffic LambdaFunctionToValidateAfterAllowingProductionTraffic ]

A continuacioacuten se muestra la secuencia de eventos durante la implementacioacuten

1 Antes de instalar la aplicacioacuten Amazon ECS actualizada en el conjunto de tareas de sustitucioacuten lafuncioacuten Lambda denominadaLambdaFunctionToValidateBeforeInstallEjecuciones de

2 Despueacutes de instalar la aplicacioacuten Amazon ECS actualizada en el conjuntode tareas de sustitucioacuten pero antes de recibir traacutefico la funcioacuten LambdadenominoacuteLambdaFunctionToValidateAfterInstallEjecuciones de

3 Despueacutes de que la aplicacioacuten Amazon ECS en el conjunto de tareas de sustitucioacutenempieza a recibir traacutefico del agente de escucha de prueba la funcioacuten LambdadenominadaLambdaFunctionToValidateAfterTestTrafficStartsEjecuciones de Esta funcioacutenprobablemente ejecuta pruebas de validacioacuten para determinar si la implementacioacuten continuacutea Si noespecifica un agente de escucha de prueba en el grupo de implementaciones esta se omite

Versioacuten de API 2014-10-06437

AWS CodeDeploy Guiacutea del usuarioEjemplo del archivo AppSpec

4 Despueacutes de cualquier prueba de validacioacuten en elAfterAllowTestTrafficEl enlace se completay antes de enviar traacutefico de produccioacuten a la aplicacioacuten Amazon ECS actualizada la funcioacuten LambdadenominadaLambdaFunctionToValidateBeforeAllowingProductionTrafficEjecuciones de

5 Despueacutes de enviar traacutefico de produccioacuten a la aplicacioacuten Amazon ECSactualizada en el conjunto de tareas de sustitucioacuten la funcioacuten LambdadenominadaLambdaFunctionToValidateAfterAllowingProductionTrafficEjecuciones de

Las funciones Lambda que se ejecutan durante cualquier enlace pueden llevar a cabo pruebas devalidacioacuten o recopilar meacutetricas de traacutefico

Ejemplo de archivo de AppSpec para unAWSImplementacioacuten deLambdaA continuacioacuten se muestra un ejemplo de un archivo AppSpec escrito en YAML para implementar unaversioacuten de una funcioacuten Lambda

version 00Resources - myLambdaFunction Type AWSLambdaFunction Properties Name myLambdaFunction Alias myLambdaFunctionAlias CurrentVersion 1 TargetVersion 2Hooks - BeforeAllowTraffic LambdaFunctionToValidateBeforeTrafficShift - AfterAllowTraffic LambdaFunctionToValidateAfterTrafficShift

Esta es una versioacuten del ejemplo anterior escrita en JSON

version 00 Resources [ myLambdaFunction Type AWSLambdaFunction Properties Name myLambdaFunction Alias myLambdaFunctionAlias CurrentVersion 1 TargetVersion 2 ] Hooks [ BeforeAllowTraffic LambdaFunctionToValidateBeforeTrafficShift AfterAllowTraffic LambdaFunctionToValidateAfterTrafficShift ]

A continuacioacuten se muestra la secuencia de eventos durante la implementacioacuten

1 Antes de cambiar el traacutefico de la versioacuten 1 de una funcioacuten LambdallamadamyLambdaFunctiona la versioacuten 2 ejecute una funcioacuten LambdallamadaLambdaFunctionToValidateBeforeTrafficShiftque valida la implementacioacuten estaacute listapara iniciar el cambio de traacutefico

Versioacuten de API 2014-10-06438

AWS CodeDeploy Guiacutea del usuarioEjemplo del archivo AppSpec

2 Si LambdaFunctionToValidateBeforeTrafficShift devuelve un coacutedigo de salida de 0 (eacutexito)se empieza a desviar el traacutefico a la versioacuten 2 de myLambdaFunction La configuracioacuten de estaimplementacioacuten determina la velocidad a la que se desviacutea el traacutefico

3 Tras el cambio de traacutefico de la versioacuten 1 de una funcioacuten LambdallamadamyLambdaFunctiona la versioacuten 2 estaacute completa ejecute una funcioacuten LambdallamadaLambdaFunctionToValidateAfterTrafficShiftque valida que la implementacioacuten hafinalizado correctamente

Ejemplo de archivo AppSpec para una implementacioacuten EC2On-PremisesA continuacioacuten se muestra un ejemplo de un archivo AppSpec para una implementacioacuten in situ en unainstancia de Amazon Linux Ubuntu Server o RHEL

Note

Las implementaciones en instancias de Windows Server no admiten elrunaselemento Si va aimplementar en instancias de Windows Server no lo incluya en el archivo de AppSpec

version 00os linuxfiles - source Configconfigtxt destination webappsConfig - source source destination webappsmyApphooks BeforeInstall - location ScriptsUnzipResourceBundlesh - location ScriptsUnzipDataBundlesh AfterInstall - location ScriptsRunResourceTestssh timeout 180 ApplicationStart - location ScriptsRunFunctionalTestssh timeout 3600 ValidateService - location ScriptsMonitorServicesh timeout 3600 runas codedeployuser

Para una instancia de Windows Server cambieos linuxaos windows Ademaacutes las rutas dedestination deben ser completas (por ejemplo ctempwebappsConfig y ctempwebappsmyApp) No incluya el elemento runas

A continuacioacuten se muestra la secuencia de eventos durante la implementacioacuten

1 Ejecutar el script que se encuentra en ScriptsUnzipResourceBundlesh2 Si el script anterior devuelve un coacutedigo de salida de 0 (eacutexito) ejecutar el script ubicado en Scripts

UnzipDataBundlesh3 Copiar el archivo desde la ruta de Configconfigtxt a la ruta webappsConfigconfigtxt4 Copiar recursivamente todos los archivos del directorio source en el directorio webappsmyApp5 Ejecutar el script ubicado en ScriptsRunResourceTestssh con un tiempo de espera de 180

segundos (3 minutos)6 Ejecutar el script ubicado en ScriptsRunFunctionalTestssh con un tiempo de espera de 3 600

segundos (1 hora)

Versioacuten de API 2014-10-06439

AWS CodeDeploy Guiacutea del usuarioEspaciado de archivos AppSpec

7 Ejecutar el script ubicado en ScriptsMonitorServicesh como el usuario codedeploy con untiempo de espera de 3 600 segundos (1 hora)

Espaciado de archivos AppSpecA continuacioacuten se presenta el formato correcto para el espaciado de archivos AppSpec Los nuacutemeros entrecorchetes indican el nuacutemero de espacios que debe aparecer entre los elementos Por ejemplo[4]significaque debe insertar cuatro espacios entre los elementos CodeDeploy produce un error que puede ser difiacutecilde depurar si las ubicaciones y el nuacutemero de espacios en un archivo AppSpec no son correctos

version[1]version-numberos[1]operating-system-namefiles[2]-[1]source[1]source-files-location[4]destination[1]destination-files-locationpermissions[2]-[1]object[1]object-specification[4]pattern[1]pattern-specification[4]except[1]exception-specification[4]owner[1]owner-account-name[4]group[1]group-name[4]mode[1]mode-specification[4]acls [6]-[1]acls-specification [4]context[6]user[1]user-specification[6]type[1]type-specification[6]range[1]range-specification[4]type[6]-[1]object-typehooks[2]deployment-lifecycle-event-name[4]-[1]location[1]script-location[6]timeout[1]timeout-in-seconds[6]runas[1]user-name

A continuacioacuten se muestra un ejemplo de archivo AppSpec correctamente espaciado

version 00os linuxfiles - source destination varwwwhtmlWordPresshooks BeforeInstall - location scriptsinstall_dependenciessh timeout 300 runas root AfterInstall - location scriptschange_permissionssh timeout 300 runas root ApplicationStart - location scriptsstart_serversh - location scriptscreate_test_dbsh timeout 300 runas root ApplicationStop - location scriptsstop_serversh timeout 300 runas root

Versioacuten de API 2014-10-06440

AWS CodeDeploy Guiacutea del usuarioValidar su ubicacioacuten de archivo y archivo de AppSpec

Para obtener maacutes informacioacuten acerca del espaciado consulte la especificacioacuten de YAML

Validar su ubicacioacuten de archivo y archivo de AppSpecSintaxis de archivos

Puede utilizar elAWS-proporcionado por AppSpec Assistant para validar el contenido de un archivoAppSpec Puede encontrar el script junto con las plantillas de archivo AppSpec enGitHub

Tambieacuten puede usar una herramienta basada en navegador comoLint YAMLoAnalizador YAML onlineparaayudarte a comprobar la sintaxis de YAML

Ubicacioacuten del archivo

Para verificar que ha colocado su archivo AppSpec en el directorio raiacutez de la estructura de directorios delcontenido de coacutedigo fuente de la aplicacioacuten ejecute uno de los siguientes comandos

En instancias Linux macOS o Unix locales

ls pathtorootdirectoryappspecyml

Si el archivo AppSpec no se encuentra alliacute se mostraraacute un error laquoNo existe ese archivo o directorioraquo

En instancias de Windows locales

dir pathtorootdirectoryappspecyml

Si el archivo AppSpec no se encuentra alliacute se mostraraacute un error laquoArchivo no encontradoraquo

Referencia de configuracioacuten del agenteCodeDeploy

Cuando se instala el agente de CodeDeploy se coloca un archivo de configuracioacuten en la instancia Estearchivo de configuracioacuten especifica las rutas de directorio y otros ajustes que CodeDeploy usa cuandointeractuacutea con la instancia Puede cambiar algunas de las opciones de configuracioacuten en el archivo

En las instancias de Amazon Linux Ubuntu Server y Red Hat Enterprise Linux (RHEL) el archivo deconfiguracioacuten se denominacodedeployagentyml Se coloca en el directorio etccodedeploy-agentconf

En las instancias de Windows Server el archivo de configuracioacuten se denominaconfyml Se coloca en eldirectorio CProgramDataAmazonCodeDeploy

Los valores de configuracioacuten incluyen

log_aws_wire Establar entruepara que el agente deCodeDeploy capture registros en red deAmazon S3 y los escriba en un archivodenominadocodedeploy-agentwirelogen laubicacioacuten sentildealada por ellog_dirconfiguracioacuten de

Warning

Debe establecer log_aws_wire entrue solo durante el tiempo necesario

Versioacuten de API 2014-10-06441

AWS CodeDeploy Guiacutea del usuarioReferencia de configuracioacuten del agente

para capturar los registros en red Elarchivo codedeploy-agentwirelogpuede aumentar de tamantildeo raacutepidamenteLa salida del registro en red de estearchivo puede contener informacioacutenconfidencial incluido el contenido detexto sin formato de los archivos que setransfieren a o desde Amazon S3 mientrasque esta configuracioacuten estaba establecidaentrue Los registros de cables contieneninformacioacuten sobre toda la actividad deAmazon S3 asociada a laAWScuentamientras esta configuracioacuten se establecioacuteentrue no solo la actividad relacionadacon las implementaciones de CodeDeploy

El valor predeterminado es false

Esta configuracioacuten se aplica a todos los tiposde instancias Debe antildeadir esta opcioacuten deconfiguracioacuten a las instancias de Windows Serverpara que puedan utilizarla

log_dir La carpeta de la instancia donde se almacenanlos archivos de registro relacionados con lasoperaciones del agente de CodeDeploy

La configuracioacuten predeterminada esvarlogawscodedeploy-agentpara instanciasde Amazon Linux Ubuntu Server y RHEL yCProgramDataAmazonCodeDeploylogparainstancias de Windows Server

pid_dir La carpeta en la que se almacena codedeploy-agentpid

Este archivo contiene el ID de proceso (PID) delagente de CodeDeploy El valor predeterminado esoptcodedeploy-agentstatepid

Esta configuracioacuten se aplica a las instancias deAmazon Linux Ubuntu Server y RHEL

program_name El nombre del programa del agente deCodeDeploy

El valor predeterminado es codedeploy-agent

Esta configuracioacuten se aplica a las instancias deAmazon Linux Ubuntu Server y RHEL

Versioacuten de API 2014-10-06442

AWS CodeDeploy Guiacutea del usuarioReferencia de configuracioacuten del agente

root_dir La carpeta donde se almacenan las revisionesrelacionadas el historial de implementacioacuten y losscripts de implementacioacuten en la instancia

La configuracioacuten predeterminada esoptcodedeploy-agentdeployment-rootpara instancias de Amazon Linux UbuntuServer y RHEL yCProgramDataAmazonCodeDeploypara instancias de Windows Server

verbose Establar entruepara que el agente deCodeDeploy imprima archivos de registro demensajes de depuracioacuten en la instancia

La configuracioacuten predeterminada esfalseparainstancias de Amazon Linux Ubuntu Server yRHEL ytruepara instancias de Windows Server

wait_between_runs El intervalo en segundos entre el sondeo quehace el agente de CodeDeploy para ver si hayimplementaciones de CodeDeploy pendientes

El valor predeterminado es 1

on_premises_config_file Para instancias on-premises laruta a una ubicacioacuten alternativapara el archivo de configuracioacutendenominadocodedeployonpremisesyml(paraUbuntu Server y RHEL)oconfonpremisesyml(para Windows Server)

De manera predeterminada estos archivos sealmacenan enetccodedeploy-agentconfcodedeployonpremisesymlparaUbuntu Server y RHEL yCProgramDataAmazonCodeDeployconfonpremisesymlparaWindows Server

Estaacute disponible en la versioacuten 101686 y versionesposteriores del agente de CodeDeploy

proxy_uri (Opcional) El proxy HTTP a traveacutes del quedesea que el agente de CodeDeploy se conectealAWSpara sus operaciones de CodeDeployUtilice un formato similar a httpsuserpasswordmyproxy443pathquery

Estaacute disponible en la versioacuten 101824 y versionesposteriores del agente de CodeDeploy

Versioacuten de API 2014-10-06443

AWS CodeDeploy Guiacutea del usuarioTemas relacionados

max_revisions (Opcional) El nuacutemero de revisiones de aplicacioacutenpara un grupo de implementaciones que desea queel agente de CodeDeploy archive Se eliminaraacutentodas las revisiones que superen el nuacutemeroespecificado

Introduzca un nuacutemero entero positivo Si no seespecifica ninguacuten valor CodeDeploy conservaraacutelas cinco revisiones maacutes recientes ademaacutes de larevisioacuten implementada en la actualidad

Se admite en la versioacuten 101966 y versionesposteriores del agente de CodeDeploy

enable_auth_policy (Opcional) Establezca entruesi deseautilizarAutorizacioacuten de IAMpara configurar elcontrol de acceso y limitar los permisos del rol ousuario de IAM que utiliza CodeDeploy AgentParaUsar CodeDeploy con Amazon Virtual PrivateCloud (p 446) este valor debe sertrue

El valor predeterminado es false

Temas relacionadosTrabajar con el agente de CodeDeploy (p 175)

Administracioacuten de operaciones del agente de CodeDeploy (p 186)

AWS CloudFormationplantillas para referencia deCodeDeploy

Esta seccioacuten introducelaAWS CloudFormationrecursos transformacioacuten y enlace disentildeados para funcionarcon implementaciones de CodeDeploy Para obtener una guiacutea sobre coacutemo crear una actualizacioacuten de pilaadministrada porAWS CloudFormationgancho para CodeDeploy consulteCree una implementacioacuten bluegreen (azulverde) de Amazon ECS medianteAWS CloudFormation (p 337)

Note

AWS CloudFormationlos ganchos forman parte delAWS CloudFormationcomponentes paraAWSyson diferentes de los ganchos de eventos del ciclo de vida de CodeDeploy

Ademaacutes de los otros meacutetodos disponibles en CodeDeploy puede utilizarAWS CloudFormationplantillaspara llevar a cabo las siguientes tareas

bull Crear aplicacionesbull Crear grupos de implementaciones y especificar una revisioacuten de destinobull Crear configuraciones de implementacioacutenbull Crear instancias de Amazon EC2

AWS CloudFormation es un servicio que le ayuda a modelar y configurar los recursos de AWS medianteplantillas Una plantilla de AWS CloudFormation es un archivo de texto cuyo formato cumple el

Versioacuten de API 2014-10-06444

AWS CodeDeploy Guiacutea del usuarioAWS CloudFormationreferencia de plantillas

estaacutendar JSON Puede crear una plantilla que describa todos los recursos de AWS que desea y AWSCloudFormation se encargaraacute del aprovisionamiento y la configuracioacuten de dichos recursos

Para obtener maacutes informacioacuten consulteiquestQueacute es AWS CloudFormationyUso deAWSCloudFormationPlantillas deenAWS CloudFormationGuiacutea del usuario de

Si planea utilizarAWS CloudFormationplantillas de que sean compatibles con CodeDeploy en suorganizacioacuten como administrador debe conceder acceso aAWS CloudFormationy alAWSservicios yacciones sobre los queAWS CloudFormationdepende Para conceder permisos para crear aplicacionesgrupos de implementaciones y configuraciones de implementacioacuten asocie la siguiente poliacutetica a losusuarios de IAM con los que trabajaraacuten conAWS CloudFormation

Version 2012-10-17 Statement [ Effect Allow Action [ cloudformation ] Resource ]

Para obtener maacutes informacioacuten acerca de las poliacuteticas administradas consulte los siguientes temas

bull Para ver la poliacutetica que debe asociarse a los usuarios de IAM que van a crear instanciasde Amazon EC2 consulteCrear una instancia Amazon EC2 para CodeDeploy (AWSCloudFormationplantilla) (p 221)

bull Para obtener informacioacuten sobre coacutemo asociar poliacuteticas a usuarios de IAM consulteTrabajar con poliacuteticasadministradasenIAM User Guide

bull Para obtener informacioacuten sobre coacutemo restringir a los usuarios de a un conjunto limitado deacciones y recursos de CodeDeploy consulteAWSPoliacuteticas administradas por (predefinidas) paraCodeDeploy (p 385)

En la siguiente tabla se desglosan las acciones que una plantilla de AWS CloudFormation puede realizaren su nombre y se incluyen enlaces para obtener maacutes informacioacuten sobre los tipos de recursos de AWS ysus tipos de propiedad que puede antildeadir a una plantilla de AWS CloudFormation

Accioacuten AWS CloudFormationReferenciade de

Tipo de referencia

Cree una aplicacioacuten CodeDeploy AWS CodeDeploy application Recurso de AWSCloudFormation

Crear y especificar losdetalles de un grupo deimplementaciones que se vaa utilizar para implementar lasrevisiones de la aplicacioacuten sup1

AWSCodeDeployDeploymentGroupRecurso de AWSCloudFormation

Crear un grupo de reglas deimplementacioacuten asiacute como lascondiciones de eacutexito y de errorque utiliza CodeDeploy duranteuna implementacioacuten

AWSCodeDeployDeploymentConfigRecurso de AWSCloudFormation

Versioacuten de API 2014-10-06445

AWS CodeDeploy Guiacutea del usuarioUsar CodeDeploy con Amazon Virtual Private Cloud

Accioacuten AWS CloudFormationReferenciade de

Tipo de referencia

Crear una instancia de AmazonEC2 sup2

AWS EC2 instance Recurso de AWSCloudFormation

AWSCodeDeployBlueGreen La transformacioacutenAWSCodeDeployBlueGreenes una macro alojada por AWSCloudFormation

UsarAWS CloudFormationAWSCodeDeployBlueGreenTransformyAWSCodeDeployBlueGreenenlacepara administrar actualizacionesde pila crear recursos y cambiarel traacutefico para implementacionesbluegreen de CodeDeploy3

AWSCodeDeployBlueGreen El enlaceAWSCodeDeployBlueGreense estructura como un recursoHook en AWS CloudFormationEl enlace incluye paraacutemetrosque ocupan el lugar del archivoCodeDeploy AppSpec desentildealando a los enlaces deeventos de ciclo de vida deCodeDeploy de de CodeDeployde

sup1 Si especifica la versioacuten de la revisioacuten de la aplicacioacuten que deseaque se implemente como parte del grupo de implementacionesla revisioacuten de destino se implementaraacute en cuanto se completeel proceso de aprovisionamiento Para obtener maacutes informacioacutenacerca de la configuracioacuten de plantillas de consulteRevisioacutende implementacioacuten de CodeDeploy DeploymentGroupS3LocationyRevisioacuten de implementacioacuten de CodeDeployDeployGroup GitHubLocationen laAWS CloudFormationGuiacutea delusuario de

sup2 Proporcionamos plantillas que puede utilizar para crear instanciasde Amazon EC2 en las regiones en las que CodeDeploy escompatible Para obtener maacutes informacioacuten sobre estas plantillasconsulte Crear una instancia Amazon EC2 para CodeDeploy (AWSCloudFormationplantilla) (p 221)3OEsta configuracioacuten de implementacioacuten solo admiteimplementaciones bluegreen de Amazon ECS Para obtener maacutesinformacioacuten acerca de las configuraciones de implementacioacuten paraimplementaciones bluegreen de Amazon ECS a traveacutes deAWSCloudFormation consulte Configuraciones de implementacioacutenparaAWS CloudFormationImplementaciones bluegreen (AmazonECS) (p 267) Para obtener maacutes informacioacuten acerca de lasimplementaciones bluegreen de Amazon ECS a traveacutes deAWSCloudFormationy coacutemo ver la implementacioacuten en CodeDeploy enCodeDeploy consulteCree una implementacioacuten bluegreen (azulverde) de Amazon ECS medianteAWS CloudFormation (p 337)

Usar CodeDeploy con Amazon Virtual Private CloudSi utiliza Amazon Virtual Private Cloud (Amazon VPC) para alojar suAWS puede establecer una conexioacutenprivada entre su VPC y CodeDeploy Puede utilizar esta conexioacuten para habilitar CodeDeploy paracomunicarse con sus recursos en su VPC sin pasar por la red puacuteblica de Internet

Versioacuten de API 2014-10-06446

AWS CodeDeploy Guiacutea del usuarioDisponibilidad

Amazon VPC es un servicio de AWS que puede utilizar para lanzar recursos de AWS en una redvirtual que usted defina Con una VPC puede controlar la configuracioacuten de la red como el rango dedirecciones IP las subredes las tablas de ruteo y las gateways de red Con puntos de enlace de la VPCel enrutamiento entre la VPC y los servicios de AWS se controla mediante la red de AWS y puede utilizarpoliacuteticas de IAM para controlar el acceso a los recursos de servicio

Para conectar su VPC a CodeDeploy debe definir unapunto de enlace de la VPC de la interfazparaCodeDeploy Un punto de enlace de interfaz es una interfaz de red elaacutestica con una direccioacuten IP privadaque actuacutea como punto de entrada para el traacutefico dirigido a un servicio de AWS compatible El punto deenlace ofrece conectividad escalable de confianza a CodeDeploy sin necesidad de utilizar una gatewayde Internet una instancia de conversioacuten de las direcciones de red (NAT) o una conexioacuten de VPN Paraobtener maacutes informacioacuten consulte What Is Amazon VPC (iquestQueacute es Amazon VPC) en la Guiacutea del usuariode Amazon VPC

Los puntos de enlace de la VPC de tipo interfaz cuentan conAWS PrivateLink unAWStecnologiacutea quepermite la comunicacioacuten privada entreAWSservicios que utilizan una elastic network interface condirecciones IP privadas Para obtener maacutes informacioacuten consulte AWS PrivateLink

Los siguientes pasos son para usuarios de Amazon VPC Para obtener maacutes informacioacuten consulteIntroduccioacuten en la Guiacutea del usuario de Amazon VPC

DisponibilidadCodeDeploy tiene dos extremos de VPC uno para CodeDeploy operaciones de agente y uno paraCodeDeploy Operaciones de la API de En la siguiente tabla se muestran lasAWSRegiones para cadaendpoint

Coacutedigo de regioacuten Nombre de la regioacuten de Endpoint del agente Punto de enlace de laAPI

us-east-1 EE UU Este (Norte deVirginia)

Siacute Siacute

us-east-2 EE UU Este (Ohio) Siacute Siacute

us-gov-este-1 AWS GovCloud (EEUU Este)

No No

us-gov-oeste-1 AWS GovCloud (EEUU Oeste)

No No

us-west-1 EE UU Oeste (Norte deCalifornia)

Siacute Siacute

us-west-2 EE UU Oeste (Oregoacuten) Siacute Siacute

af-south-1 Aacutefrica (Ciudad del Cabo) Siacute No

ap-east-1 Asia-Paciacutefico (HongKong)

Siacute Siacute

ap-northeast-1 Asia-Paciacutefico (Tokio) Siacute Siacute

ap-northeast-2 Asia-Paciacutefico (Seuacutel) Siacute Siacute

ap-northeast-3 Asia-Paciacutefico (Osaka) Siacute No

ap-south-1 Asia-Paciacutefico (Bombay) Siacute Siacute

Versioacuten de API 2014-10-06447

AWS CodeDeploy Guiacutea del usuarioCrear puntos de enlace de la VPC para CodeDeploy

Coacutedigo de regioacuten Nombre de la regioacuten de Endpoint del agente Punto de enlace de laAPI

ap-southeast-1 Asia-Paciacutefico (Singapur) Siacute Siacute

ap-southeast-2 Asia-Paciacutefico (Siacutedney) Siacute Siacute

ap-southeast-3 Asia-Paciacutefico (Yakarta) No No

ca-central-1 Canadaacute (Central) Siacute Siacute

eu-central-1 Europa (Fraacutencfort) Siacute Siacute

eu-north-1 Europa (Estocolmo) Siacute Siacute

eu-west-1 Europa (Irlanda) Siacute Siacute

eu-west-2 Europa (Londres) Siacute Siacute

eu-west-3 Europa (Pariacutes) Siacute Siacute

eu-south-1 Europa (Milaacuten) Siacute No

me-south-1 Medio Oriente (Bareacutein) Siacute Siacute

sa-east-1 Ameacuterica del Sur (SatildeoPaulo)

Siacute Siacute

Crear puntos de enlace de la VPC para CodeDeployPara comenzar a utilizar CodeDeploy con su VPC cree un punto de enlace de la VPC de tipo interfaz paraCodeDeploy CodeDeploy requiere endpoints independientes para las operaciones del agente Git y paraCodeDeploy Operaciones de la API de En funcioacuten de sus necesidades empresariales es posible quetenga que crear maacutes de un punto de enlace de la VPC Cuando cree un punto de enlace de la VPC paraCodeDeploy elijaAWSServicios y enNombre del servicio elija una de las siguientes opciones

bull comamazonawsregioacutencodedeploy Seleccione esta opcioacuten si desea crear un punto de enlace de laVPC para CodeDeploy Operaciones de la API de Por ejemplo elija esta opcioacuten si los usuarios utilizanelAWS CLI el CodeDeploy API o laAWSSDK con los que interactuar CodeDeploy para operacionestales comoCreateApplicationGetDeployment yListDeploymentGroups

bull comamazonawsregioacutencodedeploy-commands-secure Seleccione esta opcioacuten si desea crearun punto de enlace de la VPC para CodeDeploy operaciones de agentes Tambieacuten tendraacute queconfigurarenable_auth_policyatrueen el archivo de configuracioacuten del agente y adjunte lospermisos necesarios Para obtener maacutes informacioacuten consulte Configuracioacuten del CodeDeploy permisosde agente e IAM (p 448)

Si utiliza implementaciones de Lambda o ECS solo tiene que crear un punto deenlace de la VPC paracomamazonawsregioacutencodedeploy Los clientes queutilizan implementaciones de Amazon EC2 necesitaraacuten puntos finales de VPC paraamboscomamazonawsregioacutencodedeployycomamazonawsregioacutencodedeploy-commands-secure

Configuracioacuten del CodeDeploy permisos de agente eIAMPara utilizar endpoints de Amazon VPC con CodeDeploy debe establecer el valordeenable_auth_policyatrueen el archivo de configuracioacuten del agente ubicado en sus instancias

Versioacuten de API 2014-10-06448

AWS CodeDeploy Guiacutea del usuarioReferencia del kit de recursos

EC2 o locales Para obtener maacutes informacioacuten sobre el archivo de configuracioacuten del agente deconsulteReferencia de configuracioacuten del agente CodeDeploy (p 441)

Tambieacuten debe agregar los siguientes permisos de IAM al perfil de instancia de Amazon EC2 o al usuario orol de IAM si utiliza instancias locales

Statement [ Action [ codedeploy-commands-secureGetDeploymentSpecification codedeploy-commands-securePollHostCommand codedeploy-commands-securePutHostCommandAcknowledgement codedeploy-commands-securePutHostCommandComplete ] Effect Allow Resource ]

Para obtener maacutes informacioacuten consulte Creacioacuten de un punto de enlace de interfaz en la Guiacutea del usuariode Amazon VPC

Referencia del kit de recursos CodeDeployMuchos de los archivos de los que depende CodeDeploy se almacenan en puacuteblicamentedisponiblesAWSBuckets de Amazon S3 especiacuteficos de la regioacuten En estos archivos se incluyen losarchivos de instalacioacuten del agente de CodeDeploy plantillas y archivos de aplicacioacuten de ejemplo Esteconjunto de archivos se denomina kit de recursos de CodeDeploy

Temasbull Nombres de buckets del kit de recursos por regioacuten (p 449)bull Contenido del kit de recursos (p 450)bull Muestre una lista de los archivos del kit de recursos (p 452)bull Descargue los archivos del kit de recursos (p 452)

Nombres de buckets del kit de recursos por regioacutenEn esta tabla se muestra los nombres de las sustituciones de nombre de bucket que se necesitanpara algunos procedimientos de la guiacutea Se trata de los nombres de los buckets de Amazon S3 quecontienen los archivos del kit de recursos de CodeDeploy

Note

Para acceder al bucket de Amazon S3 de la regioacuten Asia-Paciacutefico (Hong Kong) debe habilitar laregioacuten en suAWSaccount Para obtener maacutes informacioacuten consulte Administracioacuten de las regionesde AWS

Nombre de la regioacuten de nombre-bucketreplacement Identificador de la regioacuten

EE UU Este (Ohio) aws-codedeploy-us-east-2 us-east-2

EE UU Este (Norte de Virginia) aws-codedeploy-us-east-1 us-east-1

Versioacuten de API 2014-10-06449

AWS CodeDeploy Guiacutea del usuarioContenido del kit de recursos

Nombre de la regioacuten de nombre-bucketreplacement Identificador de la regioacuten

EE UU Oeste (Norte deCalifornia)

aws-codedeploy-us-west-1 us-west-1

EE UU Oeste (Oregoacuten) aws-codedeploy-us-west-2 us-west-2

Canadaacute (Central) aws-codedeploy-ca-central-1 ca-central-1

Europa (Irlanda) aws-codedeploy-eu-west-1 eu-west-1

Europa (Londres) aws-codedeploy-eu-west-2 eu-west-2

Europa (Pariacutes) aws-codedeploy-eu-west-3 eu-west-3

Europa (Fraacutencfort) aws-codedeploy-eu-central-1 eu-central-1

Europa (Estocolmo) aws-codedeploy-eu-north-1 eu-north-1

Europa (Milaacuten) aws-codedeploy-eu-south-1 eu-south-1

Asia-Paciacutefico (Hong Kong) aws-codedeploy-ap-east-1 ap-east-1

Asia-Paciacutefico (Tokio) aws-codedeploy-ap-northeast-1 ap-northeast-1

Asia Pacific (Seoul) aws-codedeploy-ap-northeast-2 ap-northeast-2

Asia Pacific (Singapore) aws-codedeploy-ap-southeast-1 ap-southeast-1

Asia-Paciacutefico (Siacutedney) aws-codedeploy-ap-southeast-2 ap-southeast-2

Asia-Paciacutefico (Mumbai) aws-codedeploy-ap-south-1 ap-south-1

Ameacuterica del Sur (Satildeo Paulo) aws-codedeploy-sa-east-1 sa-east-1

Medio Oriente (Bareacutein) aws-codedeploy-me-south-1 me-south-1

Aacutefrica (Ciudad del Cabo) aws-codedeploy-af-south-1 af-south-1

AWS GovCloud (EE UU Este) aws-codedeploy-us-gov-east-1 us-gov-este-1

AWS GovCloud (EE UU Oeste) aws-codedeploy-us-gov-west-1 us-gov-oeste-1

Contenido del kit de recursosEn la siguiente tabla se muestran los archivos del kit de recursos de CodeDeploy

Archivos Descripcioacuten

LATEST_VERSION Archivo utilizado por mecanismos de actualizacioacutencomo Amazon EC2 Systems Manager paradeterminar la uacuteltima versioacuten del agente deCodeDeploy

VERSION El mecanismo de actualizacioacuten automaacutetica se haeliminado en el agente de CodeDeploy versioacuten110 y este archivo ya no se utiliza Archivoutilizado por los agentes de CodeDeploy paraactualizarse ya que se ejecutan en instancias

Versioacuten de API 2014-10-06450

AWS CodeDeploy Guiacutea del usuarioContenido del kit de recursos

Archivos Descripcioacuten

codedeploy-agentnoarchrpm El agente de CodeDeploy para Amazon Linux yRed Hat Enterprise Linux (RHEL) Puede habervarios archivos con el mismo nombre de archivo debase pero diferentes versiones (como -10-0)

codedeploy-agent_alldeb El agente de CodeDeploy para Ubuntu ServerPuede haber varios archivos con el mismo nombrede archivo de base pero diferentes versiones(como _10-0)

codedeploy-agentmsi El agente de CodeDeploy para Windows ServerPuede haber varios archivos con el mismo nombrede archivo de base pero diferentes versiones(como -10-0)

install Archivo que se puede utilizar para instalar elagente de CodeDeploy de con maacutes facilidad

CodeDeploy_SampleCF_Templatejson UnAWS CloudFormationplantilla que se puedeutilizar para lanzar entre una y tres instancias deAmazon EC2 que esteacuten ejecutando Amazon Linuxo Windows Server Puede haber varios archivoscon el mismo nombre de archivo de base perodiferentes versiones (como -100)

CodeDeploy_SampleCF_ELB_IntegrationjsonUna plantilla de AWS CloudFormation que puedeutilizar para crear un sitio web con equilibrio decarga que se ejecuta en un servidor web ApacheLa aplicacioacuten estaacute configurada para abarcar todaslas zonas de disponibilidad de la regioacuten en laque la creoacute Esta plantilla crea tres instanciasAmazon EC2 y el perfil de instancia de IAM paraconceder a las instancias acceso a los recursosde Amazon S3 Amazon EC2 Auto ScalingAWSCloudFormationy Elastic Load Balancing Tambieacutencrea el equilibrador de carga y un rol de servicio deCodeDeploy

SampleApp_ELB_Integrationzip Revisioacuten de aplicacioacuten de muestra implementableen una instancia de Amazon EC2 registrada en unbalanceador de carga de Elastic Load Balancing

SampleApp_Linuxzip Revisioacuten de aplicacioacuten de muestra implementableen una instancia de Amazon EC2 que esteacuteejecutando Amazon Linux o en una instanciade Ubuntu Server o RHEL Puede haber variosarchivos con el mismo nombre de archivo de basepero diferentes versiones (como -10)

SampleApp_Windowszip Revisioacuten de aplicacioacuten de muestra implementableen una instancia de Windows Server Puede habervarios archivos con el mismo nombre de archivo debase pero diferentes versiones (como -10)

Versioacuten de API 2014-10-06451

AWS CodeDeploy Guiacutea del usuarioMuestre una lista de los archivos del kit de recursos

Muestre una lista de los archivos del kit de recursosPara ver una lista de archivos utilice el comando aws s3 ls correspondiente a su regioacuten

Note

Los archivos de los buckets estaacuten disentildeados para funcionar con los recursos de su regioacutencorrespondiente

bullaws s3 ls --recursive s3aws-codedeploy-us-east-2 --region us-east-2

bullaws s3 ls --recursive s3aws-codedeploy-us-east-1 --region us-east-1

bullaws s3 ls --recursive s3aws-codedeploy-us-west-1 --region us-west-1

bullaws s3 ls --recursive s3aws-codedeploy-us-west-2 --region us-west-2

bullaws s3 ls --recursive s3aws-codedeploy-ca-central-1 --region ca-central-1

bullaws s3 ls --recursive s3aws-codedeploy-eu-west-1 --region eu-west-1

bullaws s3 ls --recursive s3aws-codedeploy-eu-west-2 --region eu-west-2

bullaws s3 ls --recursive s3aws-codedeploy-eu-west-3 --region eu-west-3

bullaws s3 ls --recursive s3aws-codedeploy-eu-central-1 --region eu-central-1

bullaws s3 ls --recursive s3aws-codedeploy-ap-east-1 --region ap-east-1

bullaws s3 ls --recursive s3aws-codedeploy-ap-northeast-1 --region ap-northeast-1

bullaws s3 ls --recursive s3aws-codedeploy-ap-northeast-2 --region ap-northeast-2

bullaws s3 ls --recursive s3aws-codedeploy-ap-southeast-1 --region ap-southeast-1

bullaws s3 ls --recursive s3aws-codedeploy-ap-southeast-2 --region ap-southeast-2

bullaws s3 ls --recursive s3aws-codedeploy-ap-south-1 --region ap-south-1

bullaws s3 ls --recursive s3aws-codedeploy-sa-east-1 --region sa-east-1

Descargue los archivos del kit de recursosPara descargar un archivo utilice el comando aws s3 cp correspondiente a su regioacuten

Note

Aseguacuterese de utilizar el punto () cerca del final Esto descarga el archivo en el directorio actual

Por ejemplo los siguientes comandos descargan un uacutenico archivo denominado SampleApp_Linuxzipde una de las carpetas sampleslatest de los buckets

Versioacuten de API 2014-10-06452

AWS CodeDeploy Guiacutea del usuarioDescargue los archivos del kit de recursos

bullaws s3 cp s3aws-codedeploy-us-east-2sampleslatestSampleApp_Linuxzip --region us-east-2

bullaws s3 cp s3aws-codedeploy-us-east-1sampleslatestSampleApp_Linuxzip --region us-east-1

bullaws s3 cp s3aws-codedeploy-us-west-1sampleslatestSampleApp_Linuxzip --region us-west-1

bullaws s3 cp s3aws-codedeploy-us-west-2sampleslatestSampleApp_Linuxzip --region us-west-2

bullaws s3 cp s3aws-codedeploy-ca-central-1sampleslatestSampleApp_Linuxzip --region ca-central-1

bullaws s3 cp s3aws-codedeploy-eu-west-1sampleslatestSampleApp_Linuxzip --region eu-west-1

bullaws s3 cp s3aws-codedeploy-eu-west-2sampleslatestSampleApp_Linuxzip --region eu-west-2

bullaws s3 cp s3aws-codedeploy-eu-west-3sampleslatestSampleApp_Linuxzip --region eu-west-3

bullaws s3 cp s3aws-codedeploy-eu-central-1sampleslatestSampleApp_Linuxzip --region eu-central-1

bullaws s3 cp s3aws-codedeploy-ap-east-1sampleslatestSampleApp_Linuxzip --region ap-east-1

bullaws s3 cp s3aws-codedeploy-ap-northeast-1sampleslatestSampleApp_Linuxzip --region ap-northeast-1

bullaws s3 cp s3aws-codedeploy-ap-northeast-2sampleslatestSampleApp_Linuxzip --region ap-northeast-2

bullaws s3 cp s3aws-codedeploy-ap-southeast-1sampleslatestSampleApp_Linuxzip --region ap-southeast-1

bullaws s3 cp s3aws-codedeploy-ap-southeast-2sampleslatestSampleApp_Linuxzip --region ap-southeast-2

bullaws s3 cp s3aws-codedeploy-ap-south-1sampleslatestSampleApp_Linuxzip --region ap-south-1

bullaws s3 cp s3aws-codedeploy-sa-east-1sampleslatestSampleApp_Linuxzip --region sa-east-1

Para descargar todos los archivos utilice uno de los siguientes comandos correspondientes a su regioacuten

bullaws s3 cp --recursive s3aws-codedeploy-us-east-2 --region us-east-2

Versioacuten de API 2014-10-06453

AWS CodeDeploy Guiacutea del usuarioLiacutemites

bullaws s3 cp --recursive s3aws-codedeploy-us-east-1 --region us-east-1

bullaws s3 cp --recursive s3aws-codedeploy-us-west-1 --region us-west-1

bullaws s3 cp --recursive s3aws-codedeploy-us-west-2 --region us-west-2

bullaws s3 cp --recursive s3aws-codedeploy-ca-central-1 --region ca-central-1

bullaws s3 cp --recursive s3aws-codedeploy-eu-west-1 --region eu-west-1

bullaws s3 cp --recursive s3aws-codedeploy-eu-west-2 --region eu-west-2

bullaws s3 cp --recursive s3aws-codedeploy-eu-west-3 --region eu-west-3

bullaws s3 cp --recursive s3aws-codedeploy-eu-central-1 --region eu-central-1

bullaws s3 cp --recursive s3aws-codedeploy-ap-east-1 --region ap-east-1

bullaws s3 cp --recursive s3aws-codedeploy-ap-northeast-1 --region ap-northeast-1

bullaws s3 cp --recursive s3aws-codedeploy-ap-northeast-2 --region ap-northeast-2

bullaws s3 cp --recursive s3aws-codedeploy-ap-southeast-1 --region ap-southeast-1

bullaws s3 cp --recursive s3aws-codedeploy-ap-southeast-2 --region ap-southeast-2

bullaws s3 cp --recursive s3aws-codedeploy-ap-south-1 --region ap-south-1

bullaws s3 cp --recursive s3aws-codedeploy-sa-east-1 --region sa-east-1

liacutemites de CodeDeployEn la siguiente tabla se describen los liacutemites en CodeDeploy

Note

PuedeSolicitar un aumento de liacutemitepara la CodeDeploy liacutemites enumerados enAWSliacutemites de losserviciosen laReferencia general de Amazon Web Services No se puede incrementar el liacutemite dela cantidad de horas de ejecucioacuten de una implementacioacuten

Temasbull Aplicaciones (p 455)bull Revisiones de aplicaciones (p 455)bull Implementaciones (p 455)bull Configuraciones de implementacioacuten (p 457)bull Grupos de implementaciones (p 457)bull Instancias (p 458)

Versioacuten de API 2014-10-06454

AWS CodeDeploy Guiacutea del usuarioAplicaciones

Aplicaciones

Cantidad maacutexima de aplicaciones asociadas a unacuenta de AWS en una uacutenica regioacuten

1 000

Cantidad maacutexima de caracteres en un nombre deaplicacioacuten

100

Caracteres permitidos en un nombre de aplicacioacuten Letras (a-z A-Z) nuacutemeros (0-9) puntos ()subrayado (_) + (signo de maacutes) = (signo de igual) (coma) (signo de arroba) - (signo de menos)

Cantidad maacutexima de aplicaciones que se puedenpasar a la accioacuten BatchGetApplications de la API

100

Nuacutemero maacuteximo de GitHub tokens de conexioacutenpara una solaAWScuenta

25

Revisiones de aplicaciones

Cantidad maacutexima de caracteres en un nombre derevisioacuten de aplicacioacuten

100

Tipos de archivo permitidos para revisiones deaplicaciones EC2On-Premises

Archivos con la extensioacuten zip o tar y archivoscomprimidos con la extensioacuten targz

Archivo o archivo comprimido compatible conCodeDeploy debe contener un uacutenico archivo deespecificacioacuten de aplicacioacuten (archivo AppSpec) conel nombre de archivoappspecyml

Tipos de archivo permitidos paraAWSRevisionesde aplicaciones Lambda y Amazon ECS

Una sola AppSpec archivo con el nombre dearchivoappspecyaml o un archivo comprimidocon la extensioacutenzipotargzque contieneun solo AppSpec archivo con el nombre dearchivoappspecyaml

Implementaciones

Cantidad maacutexima de implementacionessimultaacuteneas en un grupo de implementacionessup1

1

Cantidad maacutexima de implementacionessimultaacuteneas asociadas a una cuenta de AWSsup2

100

Nuacutemero maacuteximo de horas que se puede ejecutaruna implementacioacuten in situ de EC2On-Premises

8

Nuacutemero maacuteximo de horas entre la implementacioacutende una revisioacuten y el desviacuteo del traacutefico al entorno desustitucioacuten durante una implementacioacuten EC2On-Premises

48

Versioacuten de API 2014-10-06455

AWS CodeDeploy Guiacutea del usuarioImplementaciones

Nuacutemero maacuteximo de horas entre la implementacioacutende una revisioacuten y el desviacuteo del traacutefico al entorno desustitucioacuten durante una implementacioacuten bluegreende Amazon ECS

120

Nuacutemero maacuteximo de horas entre la finalizacioacuten deuna implementacioacuten y la terminacioacuten del entornooriginal durante una implementacioacuten bluegreen deEC2On-Premises o Amazon ECS

48

Nuacutemero maacuteximo de horas que se puede ejecutaruna implementacioacuten bluegreen de EC2On-Premises

109 (48 para cada uno de los dos liacutemitesanteriores) maacutes una hora por cada uno de los 13eventos de ciclo de vida posibles

Nuacutemero maacuteximo de horasAWSSe puede ejecutarla implementacioacuten de Lambda

50 (48 horas para el tiempo maacuteximo entre el primery el uacuteltimo desviacuteo de traacutefico maacutes una hora porcada uno de los dos enlaces de ciclo de vidaposibles)

Nuacutemero maacuteximo de segundos hasta que seconsidere que un evento de ciclo de vida deimplementacioacuten ha fallado si no se ha completado

3600

Cantidad maacutexima de caracteres en una descripcioacutende implementacioacuten

256

Cantidad maacutexima de implementaciones que sepueden pasar a la accioacuten BatchGetDeployments dela API

100

Nuacutemero maacuteximo de minutos hasta que se produceun error en la implementacioacuten si un evento del ciclode vida no comienza despueacutes de

bull Una implementacioacuten se activa utilizandola consola o laAWS CLI create-Deploymentcomando

bull El evento del ciclo de vida anterior se hacompletado

5

Nuacutemero maacuteximo de minutos que unaimplementacioacuten bluegreen (azulverde)pueden esperar despueacutes de una implementacioacutensatisfactoria antes de finalizar las instancias de laimplementacioacuten original

2800

Nuacutemero maacuteximo de agentes de escucha en unaruta de traacutefico durante una implementacioacuten deAmazon ECS

1

Versioacuten de API 2014-10-06456

AWS CodeDeploy Guiacutea del usuarioConfiguraciones de implementacioacuten

sup1 Este liacutemite estaacute pensado para evitar implementaciones simultaacuteneas accidentales de la mismaaplicacioacuten en el mismo grupo de implementaciones

sup2 Cada implementacioacuten en una instancia de Amazon EC2 ampliada en un grupo de Amazon EC2 AutoScaling cuenta como una uacutenica implementacioacuten simultaacutenea Si la instancia de Amazon EC2 ampliada seasocia a varias aplicaciones se genera una implementacioacuten simultaacutenea adicional para cada aplicacioacutenPor ejemplo un grupo de Amazon EC2 Auto Scaling que aumente a cinco sus instancias de AmazonEC2 y que esteacute asociado a una sola aplicacioacuten podriacutea generar cinco implementaciones simultaacuteneas Silas mismas instancias de Amazon EC2 incrementadas se asociaran a dos aplicaciones adicionales segeneraran diez implementaciones simultaacuteneas adicionales

Configuraciones de implementacioacuten

Cantidad maacutexima de configuraciones deimplementacioacuten personalizadas asociadas a unacuenta de AWS

50

Valores permitidos para una configuracioacuten conun miacutenimo de instancias en buen estado deHOST_COUNT

Cualquier entero positivo o 0 (cero) Cero (0)resultados en la implementacioacuten en todas lasinstancias a la vez

Valores permitidos para una configuracioacuten conun miacutenimo de instancias en buen estado deFLEET_PERCENT

Cualquier entero positivo menor que 100 o 0(cero) Cero (0) resultados en la implementacioacuten entodas las instancias a la vez

Cantidad maacutexima de caracteres en un nombre deconfiguracioacuten de implementacioacuten personalizada

100

Caracteres permitidos en un nombre deconfiguracioacuten de la implementacioacuten personalizada

Letras (a-z A-Z) nuacutemeros (0-9) puntos ()subrayado (_) + (signo de maacutes) = (signo de igual) (coma) (signo de arroba) - (signo de menos)

Prefijos no permitidos en un nombre deconfiguracioacuten de implementacioacuten personalizada

CodeDeployDefault

Nuacutemero maacuteximo de minutos entre elprimer y el uacuteltimo desviacuteo de traacutefico duranteunaAWSDespliegue canario o lineal de Lambda

2 880

Porcentaje maacuteximo de traacutefico que se puede desviaren un incremento durante unaAWSImplementacioacutende Lambda que usa una configuracioacuten deimplementacioacuten laquocanaryraquo o laquolinearraquo

99

Grupos de implementaciones

Cantidad maacutexima de grupos de implementacionesasociados a una sola aplicacioacuten

1 000

Cantidad maacutexima de etiquetas en un grupo deimplementaciones

10

Versioacuten de API 2014-10-06457

AWS CodeDeploy Guiacutea del usuarioInstancias

Cantidad maacutexima de grupos de Amazon EC2 AutoScaling en un grupo de implementaciones

10

Cantidad maacutexima de caracteres en un nombre degrupo de implementaciones

100

Caracteres permitidos en un nombre de grupo deimplementaciones

Letras (a-z A-Z) nuacutemeros (0-9) puntos ()subrayado (_) + (signo de maacutes) = (signo de igual) (coma) (signo de arroba) - (signo de menos)

Cantidad maacutexima de disparadores denotificaciones de eventos en un grupo deimplementaciones

10

Cantidad maacutexima de grupos de implementacionesque se pueden asociar a un servicio de AmazonECS

1

Instancias

Cantidad maacutexima de instancias de una uacutenicaimplementacioacuten

500

Cantidad maacutexima de caracteres en una clave deetiqueta

128

Cantidad maacutexima de caracteres en un valor deetiqueta

256

Cantidad maacutexima de instancias que se puedenpasar a la accioacuten BatchGetOnPremisesInstancesde la API

100

Nuacutemero maacuteximo de instancias que pueden utilizarlas implementaciones simultaacuteneas en curso y queestaacuten asociadas con una cuenta

500

Versioacuten necesaria deAWS SDK for Ruby 212o anteriores para CodeDeploy versiones deagente anteriores a la 101880

22o anteriores para CodeDeploy agente deversioacuten 101880 y posteriores

Versioacuten de API 2014-10-06458

AWS CodeDeploy Guiacutea del usuarioSolucioacuten de problemas generales

Solucioacuten de problemas deCodeDeploy

Utilice los temas de esta seccioacuten para ayudarle a solucionar problemas y errores que pueda encontrar alutilizar CodeDeploy

Note

Puede identificar las causas de muchos errores de implementacioacuten revisando los archivos logcreados durante el proceso de implementacioacuten Para simplificar recomendamos utilizar AmazonCloudWatch Registros para monitorizar de forma centralizada los archivos de log en lugar dehacerlo en cada instancia Para obtener informacioacuten consulte Monitoring Deployments withAmazon CloudWatch Tools (p 360)

Temasbull Solucioacuten de problemas generales (p 459)bull Solucioacuten de problemas de implementacioacuten EC2On-premises (p 462)bull SolucionarAWSProblemas de implementacioacuten de Lambda (p 471)bull Solucioacuten de problemas de grupos de implementaciones (p 472)bull Solucioacuten de problemas de instancias (p 472)bull Solucionar GitHub Problemas con token (p 474)bull Solucioacuten de problemas de Amazon EC2 Auto Scaling (p 475)bull Coacutedigos de error deAWS CodeDeploy (p 486)

Solucioacuten de problemas generalesTemas

bull Lista de comprobacioacuten de solucioacuten de problemas generales (p 459)bull Los recursos de implementacioacuten de CodeDeploy solo se admiten en algunosAWSRegiones

de (p 461)bull Los procedimientos de esta guiacutea no sirven para la consola de CodeDeploy (p 461)bull Los roles de IAM necesarios no estaacuten disponibles (p 461)bull El uso de algunos editores de texto para crear archivos AppSpec y scripts del shell produce un error en

las implementaciones (p 461)bull El uso de Finder en macOS para empaquetar una revisioacuten de la aplicacioacuten puede producir un error en

la implementacioacuten (p 462)

Lista de comprobacioacuten de solucioacuten de problemasgeneralesPuede utilizar la siguiente lista de comprobacioacuten para solucionar un error en la implementacioacuten

Versioacuten de API 2014-10-06459

AWS CodeDeploy Guiacutea del usuarioLista de comprobacioacuten de solucioacuten de problemas generales

1 Consulte Ver detalles de implementacioacuten de CodeDeploy (p 340) y View Instance Details (p 258) paradeterminar por queacute se produjo un error en la implementacioacuten Si no puede determinar la causa reviselos elementos de esta lista de comprobacioacuten

2 Compruebe si ha configurado correctamente las instanciasbull iquestSe ha lanzado la instancia con un key pair EC2 especificadas Para obtener maacutes informacioacuten

consultePares de claves EC2enGuiacutea del usuario de Amazon EC2 para instancias de Linuxbull iquestSe ha asociado a la instancia el perfil de instancia de IAM correcto Para obtener maacutes informacioacuten

consulte Configurar una instancia de Amazon EC2 para que funcione con CodeDeploy (p 228) yPaso 4 Crear un perfil de instancias de IAM para sus instancias Amazon EC2 (p 43)

bull iquestSe ha etiquetado la instancia Para obtener maacutes informacioacuten consulteTrabajo con etiquetas en laconsolaenGuiacutea del usuario de Amazon EC2 para instancias de Linux

bull iquestEs el CodeDeploy agente de instalado actualizado y ejecutaacutendose en la instancia Para obtenermaacutes informacioacuten consulte Administracioacuten de operaciones del agente de CodeDeploy (p 186) Paracomprobar queacute versioacuten del agente estaacute instalada consulteDeterminar la versioacuten del agente deCodeDeploy (p 188)

3 Compruebe la configuracioacuten de la aplicacioacuten y del grupo de implementacionesbull Para comprobar la configuracioacuten de la aplicacioacuten consulte Ver detalles de la aplicacioacuten con

CodeDeploy (p 282)bull Para comprobar la configuracioacuten del grupo de implementaciones consulte Ver detalles del grupo de

implementacioacuten con CodeDeploy (p 300)4 Confirme que la revisioacuten de la aplicacioacuten estaacute configurada correctamente

bull Compruebe el formato de su AppSpec file Para obtener maacutes informacioacuten consulte Agregar unarchivo de especificacioacuten de aplicacioacuten a una revisioacuten de CodeDeploy (p 308) y Referencia delarchivo CodeDeploy AppSpec (p 407)

bull Compruebe el bucket de Amazon S3 o GitHub repositorio para verificar que la revisioacuten de laaplicacioacuten se encuentra en la ubicacioacuten prevista

bull Revise los detalles de CodeDeploy revisioacuten de la aplicacioacuten para asegurarse de que estaacute registradacorrectamente Para obtener informacioacuten consulte Ver detalles de una revisioacuten de aplicacioacuten conCodeDeploy (p 319)

bull Si va a realizar la implementacioacuten desde Amazon S3 compruebe el bucket de Amazon S3 paraverificar CodeDeploy a se le han concedido permisos para descargar la revisioacuten de la aplicacioacutenPara obtener informacioacuten sobre las poliacuteticas de buckets consulte Requisitos previos para laimplementacioacuten (p 324)

bull Si vas a desplegar desde GitHub revisa tu GitHub repositorio para verificar que a CodeDeployse le han concedido permisos para descargar la revisioacuten de la aplicacioacuten Para obtener maacutesinformacioacuten consulte Cree una implementacioacuten con CodeDeploy (p 324) y Autenticacioacuten de GitHubcon aplicaciones en CodeDeploy (p 64)

5 Compruebe si el rol de servicio estaacute configurado correctamente Para obtener informacioacuten consultePaso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36)

6 Confirme que ha seguido los pasos de Introduccioacuten a CodeDeploy (p 35) parabull Asocie poliacuteticas al usuario de IAMbull Instalar o actualizar y configurar la AWS CLIbull Crear un perfil de instancia de IAM y un rol de servicio de

Para obtener maacutes informacioacuten consulte Identity and Access Management en AWSCodeDeploy (p 378)

7 Confirme que estaacute usando la versioacuten de la AWS CLI 161 o posterior Para comprobar la versioacuten quetiene instalada llame a aws --version

Si sigue sin poder solucionar el error de la implementacioacuten consulte los otros puntos de este temaVersioacuten de API 2014-10-06

460

AWS CodeDeploy Guiacutea del usuarioLos recursos de implementacioacuten de CodeDeploy

solo se admiten en algunosAWSRegiones de

Los recursos de implementacioacuten de CodeDeploy solose admiten en algunosAWSRegiones deSi no ve o no puede tener acceso a aplicaciones grupos de implementaciones instancias u otros recursosde implementacioacuten desde elAWS CLIo el CodeDeploy Consola aseguacuterese de que hace referencia a unode losAWSRegiones que se enumeran enRegioacuten y puntos de enlaceenAWSReferencia general de

Instancias EC2 y grupos de Auto Scaling de Amazon EC2 que se utilizan en CodeDeploy Lasimplementaciones deben lanzarse y crearse en una de estasAWSRegiones

Si utiliza la AWS CLI ejecute el comando aws configure desde la AWS CLI Despueacutes podraacute ver yconfigurar el valor predeterminadoAWSRegioacuten

Si utiliza el CodeDeploy consola en la barra de navegacioacuten desde el selector de regiones elija una de lasopciones admitidasAWSRegiones

Important

Para utilizar servicios en la regioacuten de China (Pekiacuten) o China (Ningxia) Region debe disponer deuna cuenta y de credenciales para dichas regiones Cuentas y credenciales de otrosAWSLasregiones de Pekiacuten y Ningxia no funcionan para las regiones de Pekiacuten y Ningxia y viceversaInformacioacuten sobre algunos recursos para las regiones de China tales como CodeDeploy Nombresde bucket del kit de recursos y CodeDeploy procedimientos de instalacioacuten del agente no seincluyen en esta edicioacuten delGuiacutea del usuario de CodeDeployPara obtener maacutes informacioacuten

bull CodeDeployenIntroduccioacuten aAWSen la regioacuten China (Pekiacuten)bull Guiacutea del usuario de CodeDeploy para las regiones de China(Versioacuten inglesa|Versioacuten china)

Los procedimientos de esta guiacutea no sirven para laconsola de CodeDeployLos procedimientos de esta guiacutea se han disentildeado para reflejar el nuevo disentildeo de la consola Si utiliza laversioacuten anterior de la consola muchos de los conceptos y procedimientos baacutesicos de esta guiacutea se siguenaplicando Para obtener acceso a ayuda en la nueva consola elija el icono de informacioacuten

Los roles de IAM necesarios no estaacuten disponiblesSi utiliza un perfil de instancia de IAM o un rol de servicio que se creoacute como parte de unAWSCloudFormationstack si elimina la pila tambieacuten se eliminan todos los roles de IAM Este puede ser elmotivo por el que el rol de IAM ya no se muestre en la consola de IAM y CodeDeploy ya no funciona seguacutenlo previsto Para solucionar este problema debe volver a crear manualmente el rol de IAM eliminado

El uso de algunos editores de texto para creararchivos AppSpec y scripts del shell produce un erroren las implementacionesAlgunos editores de texto introducen en los archivos caracteres no imprimibles que no se admiten Si utilizaeditores de texto para crear o modificar AppSpec archivos de script del shell que se van a ejecutar en

Versioacuten de API 2014-10-06461

AWS CodeDeploy Guiacutea del usuarioEl uso de Finder en macOS para empaquetar

una revisioacuten de la aplicacioacuten puedeproducir un error en la implementacioacuten

instancias de Amazon Linux Ubuntu Server o RHEL por tanto las implementaciones que utilizan estosarchivos podriacutean producir un error Cuando CodeDeploy utiliza estos archivos durante una implementacioacutenla presencia de estos caracteres puede provocar hard-to-troubleshoot Fallos de validacioacuten de archivos deAppSpec y errores de ejecucioacuten de scripts

En el navegador CodeDeploy consola en la paacutegina de detalles del evento de la implementacioacuten elijaVerregistros (O utiliza elAWS CLIpara llamar aget-deployment-instancecomando) Busque errores comoinvalid character command not found o file not found

Para solucionar este problema le recomendamos lo siguiente

bull No utilice editores de texto que introduzcan caracteres no imprimibles como los retornos de carro(^Mpersonajes) en tu AppSpec archivos y archivos de script shell

bull Utilice editores de texto que muestren los caracteres no imprimibles como los retornos de carro en suAppSpec archivos y archivos de script del shell para que pueda buscar y eliminar aquellos archivos quese hayan podido introducir Para ver ejemplos de estos tipos de editores de texto busque en Internet eleditor de texto muestra los retornos de carro

bull Utilice editores de texto que se ejecuten en instancias de Amazon Linux Ubuntu Server o RHEL paracrear archivos de script del shell que se ejecuten en instancias de Amazon Linux Ubuntu Server oRHEL Para ver ejemplos de estos tipos de editores de texto busque en Internet editor de script de shellde Linux

bull Si debe utilizar un editor de texto en Windows o macOS para crear archivos de script del shell que sevan a ejecutar en instancias de Amazon Linux Ubuntu Server o RHEL use un programa o una utilidadque convierta el texto en formato Windows o macOS en formato Unix Para ver ejemplos de estosprogramas y utilidades busque en Internet de DOS a UNIX o de Mac a UNIX Aseguacuterese de probarlos archivos del shell convertidos en los sistemas operativos de destino

El uso de Finder en macOS para empaquetar unarevisioacuten de la aplicacioacuten puede producir un error en laimplementacioacutenLas implementaciones podriacutean producir un error si usa la aplicacioacuten de interfaz de usuario graacutefica(GUI) Finder en un Mac para empaquetar (zip) un AppSpec archivo y archivos y scripts relacionadosen un archivo de archivos de revisioacuten de aplicaciones (zip) Esto se debe a que Finder crea unintermedio__MACOSXen el archivo zip y coloca archivos de componentes en ella CodeDeploy no puedeencontrar los archivos de componentes y la implementacioacuten produce un error

Para solucionar este problema le recomendamos que utilice elAWS CLIpara llamar apush que comprimelos archivos de componentes en la estructura prevista Otra opcioacuten es usar Terminal en lugar de la GUIpara comprimir los archivos de componentes Terminal no crea una carpeta __MACOSX intermedia

Solucioacuten de problemas de implementacioacuten EC2On-premises

Temasbull El agente de CodeDeploy no se inicia en Windows 2016 (p 463)bull Error de falta de credenciales en el complemento CodeDeploy CommandPoller (p 464)bull La implementacioacuten produce un error con el mensaje ldquoValidation of PKCS7 signed message

failedrdquo (p 464)

Versioacuten de API 2014-10-06462

AWS CodeDeploy Guiacutea del usuarioEl agente de CodeDeploy no se inicia en Windows 2016

bull La implementacioacuten o la reimplementacioacuten de los mismos archivos en la misma instancia producen elerror The deployment failed because a specified file already exists at this location (p 464)

bull Los procesos de larga duracioacuten pueden producir un error en la implementacioacuten (p 466)bull Solucioacuten de problemas AllowTraffic Evento de ciclo de vida sin ninguacuten error en los logs de

implementacioacuten (p 467)bull Solucioacuten de problemas con un error ApplicationStop BeforeBlockTraffic o AfterBlockTraffic evento del

ciclo de vida de la implementacioacuten (p 468)bull Solucioacuten de problemas DownloadBundle evento de ciclo de vida de la implementacioacuten con

UnknownError no abierto para lectura (p 469)bull Solucioacuten de problemas cuando se omiten todos los eventos del ciclo de vida (p 469)bull Windows PowerShell Los scripts no pueden utilizar la versioacuten de 64 bits de Windows PowerShell de

forma predeterminada (p 471)

Note

Las causas de muchos errores de implementacioacuten pueden identificarse revisando los archivos logcreados durante el proceso de implementacioacuten Para simplificar recomendamos utilizar AmazonCloudWatch Registros para monitorizar de forma centralizada los archivos de log en lugar dehacerlo en cada instancia Para obtener informacioacuten consulteVista CodeDeploy Logs de enCloudWatch Consola de registros

El agente de CodeDeploy no se inicia en Windows2016Al ejecutar el CodeDeploy archivo instalador del agente (CodeDeploy-agentmsi) en Windows2016 el archivomsi no se inicia y aparece el siguiente error enCWindowsTEMPCodeDeploy-agentmsi_installerlog

Error 1920 Service CodeDeploy Host Agent Service (CodeDeployagent) failed tostart Verify that you have sufficient privileges to start system services

Este error se produce porque el software antivirus de Windows Defender bloquea elCodeDeploy-agentmsique se ejecute

Para resolver este problema debe agregar exclusiones de Windows Defender antes de ejecutar elinstalador del agente de

Para agregar exclusiones de Windows Defender

1 Utilice las siguientes instrucciones de Powershell para agregar las exclusiones Aseguacuterese deejecutarlos como administrador

Write-Host (Adding Windows Defender exclude for CodeDeploy)Add-MpPreference -ExclusionPath (CProgramDataAmazonCodeDeploy$envwindirTemp)

2 Antildeada las exclusiones antes de la instalacioacuten del agente como parte de la AMI personalizada ocon Systems Manager Si va a instalar el agente como parte de los datos de usuario agregue lasexclusiones un paso antes del script de instalacioacuten del agente

Para obtener maacutes informacioacuten consulteInstale el agente de CodeDeploy para WindowsServer (p 193)Ejecucioacuten de comandos con Run Command de Systems Manager yEjecutarcomandos en la instancia de Windows durante el lanzamiento

Versioacuten de API 2014-10-06463

AWS CodeDeploy Guiacutea del usuarioError de falta de credenciales en el

complemento CodeDeploy CommandPoller

Error de falta de credenciales en el complementoCodeDeploy CommandPollerSi aparece un error similar a InstanceAgentPluginsCodeDeployPluginCommandPollerMissing credentials - please check if this instance was started with an IAMinstance profile podriacutea deberse a una de las siguientes causas

bull La instancia en la que va a implementar no tiene un perfil de instancia de IAM asociadobull El perfil de instancia de IAM no tiene los permisos correctos configurado

Un perfil de instancia de IAM otorga el CodeDeploy permiso del agente de para comunicarse conCodeDeploy y para descargar la revisioacuten desde Amazon S3 Para las instancias EC2 consulte Identity andAccess Management en AWS CodeDeploy (p 378) En el caso de las instancias locales consulte Workingwith On-Premises Instances (p 230)

La implementacioacuten produce un error con el mensajeldquoValidation of PKCS7 signed message failedrdquoEste mensaje de error indica que la instancia estaacute ejecutando una versioacuten del CodeDeploy agente deque solo admite el algoritmo hash SHA-1 La Support el algoritmo hash SHA-2 se introdujo en la versioacuten101854 del CodeDeploy agente lanzado en noviembre de 2015 A partir del 17 de octubre de 2016 lasimplementaciones producen un error si una versioacuten del CodeDeploy El agente de anterior a la 101854estaacute instalado Para obtener maacutes informacioacuten consulteAWSpara cambiar al algoritmo hash SHA256 paracertificados SSLAVISO Retirar CodeDeploy agentes host anteriores a la versioacuten 10185 yActualizacioacutendel agente de CodeDeploy (p 198)

La implementacioacuten o la reimplementacioacuten de losmismos archivos en la misma instancia producen elerror The deployment failed because a specified filealready exists at this locationCuando CodeDeploy intenta implementar un archivo en una instancia pero ya existe un archivo conel mismo nombre en la ubicacioacuten de destino especificada la implementacioacuten en dicha instancia podriacuteaproducir un error Es posible que aparezca el mensaje de error The deployment failed because a specifiedfile already exists at this location nombre-ubicacioacuten (Se produjo un error en la implementacioacuten porqueun archivo especificado ya existe en esta ubicacioacuten nombre-ubicacioacuten) Esto se debe a que durante cadaimplementacioacuten CodeDeploy elimina primero todos los archivos de la implementacioacuten anterior que seenumeran en un archivo log de limpieza Si hay archivos en las carpetas de instalacioacuten de destino que nofiguran en este archivo de limpieza la CodeDeploy agente interpreta esto de forma predeterminada comoun error y falla la implementacioacuten

Note

En instancias de Amazon Linux RHEL y Ubuntu Server el archivo de limpieza se encuentraenoptCodeDeploy-agentdeployment-rootdeployment-instructions Enlas instancias de Windows Server la ubicacioacuten esCProgramDataAmazonCodeDeploydeployment-instructions

La forma maacutes sencilla de evitar este error es especificar una opcioacuten distinta del comportamiento de errorpredeterminado de la implementacioacuten Para cada implementacioacuten puede elegir si la implementacioacuten

Versioacuten de API 2014-10-06464

AWS CodeDeploy Guiacutea del usuarioLa implementacioacuten o la reimplementacioacuten delos mismos archivos en la misma instancia

producen el error The deployment failed becausea specified file already exists at this locationproduce un error si se sobrescriben los archivos no incluidos en el archivo de limpieza o si se conservan

los archivos que ya estaacuten en la instancia

La opcioacuten de sobrescritura resulta uacutetil cuando por ejemplo coloca manualmente un archivo en unainstancia despueacutes de la uacuteltima implementacioacuten pero despueacutes antildeade un archivo con el mismo nombre a lasiguiente revisioacuten de la aplicacioacuten

Puede elegir la opcioacuten de conservacioacuten para los archivos que coloca en la instancia que desea que formenparte de la siguiente implementacioacuten sin tener que antildeadirlos al paquete de revisioacuten de la aplicacioacutenLa opcioacuten de conservacioacuten tambieacuten es uacutetil si los archivos de la aplicacioacuten ya estaacuten en el entorno deproduccioacuten y desea implementarlos utilizando CodeDeploy por primera vez Para obtener maacutes informacioacutenconsulte Crear una implementacioacuten de Compute Platform (consola) de EC2On-Premises (p 329) yComportamiento de reversioacuten con contenido existente (p 347)

Solucioacuten de errores de implementacioacuten The deploymentfailed because a specified file already existsat this location

Si decide no especificar una opcioacuten para sobrescribir o conservar el contenido que CodeDeploy detectaen las ubicaciones de implementacioacuten de destino (o si no se especifica ninguna opcioacuten de implementacioacutenpara el tratamiento del contenido existente en un comando del coacutedigo) puede elegir solucionar el error

Esta informacioacuten se aplica uacutenicamente si decide no conservar ni sobrescribir el contenido

Si intenta volver a implementar archivos con los mismos nombres y ubicaciones la nueva implementacioacutentendraacute maacutes probabilidades de que se realice con eacutexito si especifica el nombre de aplicacioacuten y el grupo deimplementaciones con el mismo ID del grupo de implementaciones subyacente que usoacute anteriormenteCodeDeploy utiliza el ID del grupo de implementaciones subyacente para identificar los archivos que sedeben eliminar antes de volver a realizar la implementacioacuten

La implementacioacuten de nuevos archivos o la reimplementacioacuten de los mismos archivos en las mismasubicaciones de las instancias pueden producir un error por estas razones

bull Ha especificado un nombre de aplicacioacuten distinto para la reimplementacioacuten de la misma revisioacuten enlas mismas instancias La nueva implementacioacuten produce un error porque aunque el nombre del grupode implementaciones sea el mismo el uso de un nombre de aplicacioacuten diferente significa que se estaacuteusando un ID de grupo de implementaciones subyacente distinto

bull Ha eliminado y ha vuelto a crear un grupo de implementaciones para una aplicacioacuten y a continuacioacutenha intentado volver a implementar la misma revisioacuten en el grupo de implementaciones La nuevaimplementacioacuten produce un error porque aunque el nombre del grupo de implementaciones sea elmismo CodeDeploy hace referencia a un ID de grupo de implementaciones subyacente distinto

bull Ha eliminado una aplicacioacuten y un grupo de implementaciones en CodeDeploy y a continuacioacutenha creado una nueva aplicacioacuten y grupo de implementaciones con los mismos nombres que losque ha eliminado A continuacioacuten ha intentado implementar de nuevo una revisioacuten que se habiacuteaimplementado en el grupo de implementaciones anterior en el nuevo grupo con el mismo nombreLa nueva implementacioacuten produce un error porque aunque los nombres de la aplicacioacuten y del grupode implementaciones sean los mismos CodeDeploy sigue haciendo referencia al ID del grupo deimplementacioacuten que ha eliminado

bull Ha implementado una revisioacuten en un grupo de implementaciones y despueacutes ha implementado la mismarevisioacuten en otro grupo de implementaciones en las mismas instancias La segunda implementacioacutenproduce un error porque CodeDeploy hace referencia a un ID de grupo de implementaciones subyacentedistinto

bull Ha implementado una revisioacuten en un grupo de implementaciones y despueacutes ha implementado otrarevisioacuten en otro grupo de implementaciones en las mismas instancias Hay al menos un archivo con elmismo nombre y en la misma ubicacioacuten en la que el segundo grupo de implementaciones intenta realizarla implementacioacuten La segunda implementacioacuten falla porque CodeDeploy no elimina el archivo existente

Versioacuten de API 2014-10-06465

AWS CodeDeploy Guiacutea del usuarioLos procesos de larga duracioacuten puedenproducir un error en la implementacioacuten

antes de que comience la segunda implementacioacuten Ambas implementaciones hacen referencia aidentificadores de grupo de implementaciones diferentes

bull Ha implementado una revisioacuten en CodeDeploy pero hay al menos un archivo con el mismo nombre y enla misma ubicacioacuten La implementacioacuten falla porque de forma predeterminada CodeDeploy no eliminael archivo existente antes de que comience la implementacioacuten

Para solucionar estas situaciones proceda del modo siguiente

bull Elimine los archivos de las ubicaciones e instancias en las que aplicaron anteriormenteimplementaciones e intente realizar de nuevo la implementacioacuten

bull En la paacutegina de tu revisioacuten AppSpec ya sea en el ApplicationStop o BeforeInstall eventos del ciclode vida de la implementacioacuten especifique un script personalizado para eliminar archivos en todas lasubicaciones que coincidan con los archivos que la revisioacuten va a instalar

bull Implemente o reimplemente los archivos en ubicaciones o instancias que no formaron parte deimplementaciones anteriores

bull Antes de eliminar una aplicacioacuten o un grupo de implementaciones implemente una revisioacuten quecontenga un AppSpec que no especifica ninguacuten archivo para copiar en las instancias Para laimplementacioacuten especifique el nombre de aplicacioacuten y el nombre del grupo de implementaciones queusan los mismos identificadores de aplicacioacuten y grupo de implementaciones que los que estaacute a punto deeliminar (Puede utilizar elget-deployment-grouppara recuperar el ID del grupo de implementaciones)CodeDeploy utiliza el ID del grupo de implementaciones subyacente y AppSpec para eliminar todos losarchivos que instaloacute en la implementacioacuten anterior realizada correctamente

Los procesos de larga duracioacuten pueden producir unerror en la implementacioacutenPara las implementaciones en instancias de Amazon Linux Ubuntu Server y RHEL si tiene un script deimplementacioacuten que inicia un proceso de larga duracioacuten CodeDeploy puede dedicar mucho tiempo aesperar al evento de ciclo de vida de la implementacioacuten y se produciraacute un error en la implementacioacuten Estose debe a que si el proceso se ejecuta durante maacutes tiempo que el tiempo previsto de ejecucioacuten de losprocesos en primer y segundo plano de ese evento CodeDeploy detiene la implementacioacuten aunque elproceso siga ejecutaacutendose seguacuten lo previsto

Suponga por ejemplo que la revisioacuten de la aplicacioacuten contiene dos archivos en su raiacutez after-installsh y sleepsh Su AppSpec El archivo contiene las siguientes instrucciones

version 00os linuxfiles - source sleepsh destination tmphooks AfterInstall - location after-installsh timeout 60

Laafter-installshse ejecuta durante el AfterInstall ciclo de vida de la aplicacioacuten Este es sucontenido

binbashtmpsleepsh

El archivo sleepsh contiene lo siguiente que suspende la ejecucioacuten del programa durante tres minutos(180 segundos) lo que simula un proceso de larga duracioacuten

Versioacuten de API 2014-10-06466

AWS CodeDeploy Guiacutea del usuarioSolucioacuten de problemas AllowTraffic Evento de ciclo de

vida sin ninguacuten error en los logs de implementacioacuten

binbashsleep 180

Cuandoafter-installshllama asleepshsleepshse inicia y se ejecuta durante tres minutos(180 segundos) que es dos minutos maacutes (120 segundos) que transcurren el tiempo CodeDeployesperasleepsh(y por relacioacutenafter-installsh) para dejar de correr Tras el tiempo de espera deun minuto (60 segundos) CodeDeploy detiene y falla la implementacioacuten en el AfterInstall evento del ciclode vida de la aplicacioacuten aunquesleepshsigue funcionando como se esperaba Se muestra el siguienteerror

Script at specified location after-installsh failed to complete in 60 seconds

No basta con antildeadir un signo de ampersand (amp) en after-installsh para ejecutar sleepsh ensegundo plano

binbash Do not do thistmpsleepsh amp

Si hace eso la implementacioacuten se quedaraacute en un estado pendiente hasta el periacuteodo de tiempo de esperapredeterminado del evento de ciclo de vida de la implementacioacuten despueacutes de lo cual CodeDeploy detieney falla la implementacioacuten en el AfterInstall evento del ciclo de vida de la aplicacioacuten como antes

Enafter-installsh llame asleepshde la siguiente manera que permite CodeDeploy Paracontinuar despueacutes de que el proceso empiece a ejecutarse

binbashtmpsleepsh gt devnull 2gt devnull lt devnull amp

En la llamada anterior sleepsh es el nombre del proceso que desea empezar a ejecutar en segundoplano redirigiendo stdout stderr y stdin a devnull

Solucioacuten de problemas AllowTraffic Evento de ciclo devida sin ninguacuten error en los logs de implementacioacutenEn algunos casos una implementacioacuten bluegreen produce un error durante el AllowTraffic evento de ciclode vida pero los registros de implementaciones no indican la causa del error

Este error se debe normalmente a comprobaciones de estado configuradas incorrectamente en ElasticLoad Balancing for the Classic Load Balancer Application Load Balancer o Network Load Balancer usadospara administrar el traacutefico del grupo de implementaciones

Para resolver el problema revise y corrija los errores en la configuracioacuten de la comprobacioacuten de estado delbalanceador de carga

Para balanceadores de carga claacutesicos consulteConfigurar comprobaciones de estadoen laGuiacutea delusuario para Classic Load BalancersyConfigureHealthChecken laReferencia de la API de Elastic LoadBalancing versioacuten 2012-06-01

Para obtener los balanceadores de carga de aplicaciones consulteComprobaciones de estado de losgrupos de destinoen laGuiacutea del usuario para Application Load Balancers

Para balanceadores de carga de red consulteComprobaciones de estado de los grupos de destinoenlaGuiacutea del usuario de Network Load Balancer

Versioacuten de API 2014-10-06467

AWS CodeDeploy Guiacutea del usuarioSolucioacuten de problemas con un error ApplicationStop

BeforeBlockTraffic o AfterBlockTraffic eventodel ciclo de vida de la implementacioacuten

Solucioacuten de problemas con un error ApplicationStopBeforeBlockTraffic o AfterBlockTraffic evento del ciclode vida de la implementacioacutenDurante un despliegue el CodeDeploy agent ejecuta los scripts especificados para ApplicationStopBeforeBlockTraffic y AfterBlockTraffic en la AppSpec archivo de la implementacioacuten correcta anterior(Todos los demaacutes scripts se ejecutan desde el AppSpec en la implementacioacuten actual) Si alguno de estosscripts contiene un error y no se ejecuta correctamente la implementacioacuten puede producir un error

Los posibles motivos de estos errores son los siguientes

bull La CodeDeploy el agente de encuentra eldeployment-group-id_last_successful_installenla ubicacioacuten correcta pero la ubicacioacuten que figura en eldeployment-group-id_last_successful_installno existe

En instancias de Amazon Linux Ubuntu Server y RHEL este archivo debe estar enoptcodedeploy-agentdeployment-rootdeployment-instructions

En instancias de Windows Server este archivo debe almacenarse en elCProgramDataAmazonCodeDeploydeployment-instructionsfolder

bull En la ubicacioacuten que aparece en eldeployment-group-id_last_successful_install o bien elAppSpec El archivo no es vaacutelido o los scripts no se ejecutan correctamente

bull El script contiene un error que no se puede corregir por lo que nunca se ejecuta correctamente

Usar CodeDeploy consola para investigar por queacute una implementacioacuten ha podido producir un errordurante cualquiera de estos eventos En la paacutegina de detalles de la implementacioacuten elija View events(Ver eventos) En la paacutegina de detalles de la instancia en la fila ApplicationStop BeforeBlockTraffico AfterBlockTraffic elija View logs (Ver registros) O usa elAWS CLIpara llamar aget-deployment-instancecomando

Si la causa del error es un script de la uacuteltima implementacioacuten correcta que no se ejecuta nuncacorrectamente cree una implementacioacuten y especifique que ApplicationStop BeforeBlockTraffic yAfterBlockTraffic las fallas deben ignorarse Hay dos formas de hacer esto

bull Usar CodeDeploy consola de para crear una implementacioacuten En la paacutegina Create deployment(Crear implementacioacuten) en ApplicationStop lifecycle event failure (Error del evento del ciclo de vidaApplicationStop) elija Dont fail the deployment to an instance if this lifecycle event on the instance fails(Dar como vaacutelida la implementacioacuten en una instancia si este evento de ciclo de vida en la instanciaproduce un error)

bull Utilice la AWS CLI para llamar al comando create-deployment e incluya la opcioacuten --ignore-application-stop-failures

Cuando vuelva a implementar la revisioacuten de la aplicacioacuten la implementacioacuten continuaraacute aunque algunos deestos eventos de ciclo de vida produzcan un error Si la nueva revisioacuten incluye scripts fijos para los eventosde ciclo de vida puede que las implementaciones futuras se realicen correctamente si aplica esta solucioacuten

Versioacuten de API 2014-10-06468

AWS CodeDeploy Guiacutea del usuarioSolucioacuten de problemas DownloadBundle

evento de ciclo de vida de la implementacioacutencon UnknownError no abierto para lectura

Solucioacuten de problemas DownloadBundle evento deciclo de vida de la implementacioacuten con UnknownErrorno abierto para lecturaSi intenta implementar una revisioacuten de la aplicacioacuten desde Amazon S3 y la implementacioacuten produce unerror durante el DownloadBundle ciclo de vida de implementacioacuten conUnknownError not openedfor readingerror

bull Se ha producido un error interno del servicio de Amazon S3 Implemente de nuevo la revisioacuten de laaplicacioacuten

bull El perfil de instancia de IAM de su instancia EC2 no tiene permisos para obtener acceso a la revisioacuten dela aplicacioacuten en Amazon S3 Para obtener maacutes informacioacuten sobre las poliacuteticas de buckets de AmazonS3 consulteEnviar una revisioacuten de CodeDeploy en Amazon S3 (solo implementaciones de EC2locales) (p 316)yRequisitos previos para la implementacioacuten (p 324)

bull Las instancias en las que se implementa estaacuten asociadas a unaAWSRegioacuten (por ejemplo EE UUOeste (Oregoacuten)) pero el bucket de Amazon S3 que contiene la revisioacuten de la aplicacioacuten estaacute asociadoa otroAWSRegioacuten (por ejemplo EE UU Este (Norte de Virginia)) Aseguacuterese de que la revisioacuten de laaplicacioacuten estaacute en un bucket de Amazon S3 asociado al mismoAWSRegioacuten como instancias

En la paacutegina de detalles del evento de la implementacioacuten en la fila Download bundle (Descargar paquete)elija View logs (Ver registros) O usa elAWS CLIpara llamar aget-deployment-instancecomando Si seproduce un error deberiacutea aparecer un error en el resultado con el coacutedigo de error UnknownError y elmensaje de error not opened for reading

Para determinar la causa de este error

1 Habilite el registro en red en al menos una de las instancias y a continuacioacuten implemente de nuevo larevisioacuten de la aplicacioacuten

2 Examine el archivo de registro en red para encontrar el error Los mensajes de error comunes paraeste problema incluyen la frase access denied

3 Despueacutes de examinar los archivos de registro le recomendamos que deshabilite el registro en redpara reducir el tamantildeo de los archivos de registro y la cantidad de informacioacuten confidencial que puedeaparecer en la salida en texto sin formato en la instancia en el futuro

Para obtener informacioacuten sobre coacutemo encontrar el archivo de registro en red y habilitar y deshabilitar elregistro en red consultelog_aws_wireenReferencia de configuracioacuten del agente CodeDeploy

Solucioacuten de problemas cuando se omiten todos loseventos del ciclo de vidaSi todos los eventos del ciclo de vida de una implementacioacuten EC2 o local se omiten es posible quereciba un error similar aThe overall deployment failed because too many individualinstances failed deployment too few healthy instances are available fordeployment or some instances in your deployment group are experiencingproblems (Error code HEALTH_CONSTRAINTS) Estas son algunas posibles causas y soluciones

bull La CodeDeploy El agente de no se puede instalar ni ejecutar en la instancia Para determinar si elCodeDeploy agente de se estaacute ejecutandobull Para un servidor de Amazon Linux RHEL o Ubuntu ejecute lo siguiente

sudo service CodeDeploy-agent status

Versioacuten de API 2014-10-06469

AWS CodeDeploy Guiacutea del usuarioSolucioacuten de problemas cuando se omiten

todos los eventos del ciclo de vida

bull Para Windows ejecute lo siguiente

powershellexe -Command Get-Service -Name CodeDeployagent

Si el archivo de CodeDeploy el agente de no estaacute instalado o en ejecucioacuten consulteVerifique que elagente de CodeDeploy esteacute en ejecucioacuten (p 186)

Es posible que la instancia no pueda alcanzar el CodeDeploy o punto de enlace puacuteblico de Amazon S3mediante el puerto 443 Pruebe con una de las siguientes accionesbull Asigne una direccioacuten IP puacuteblica a la instancia y utilice su tabla de ruteo para permitir el acceso

a Internet Aseguacuterese de que el grupo de seguridad asociado con la instancia permite el accesode salida a traveacutes del puerto 443 (HTTPS) Para obtener maacutes informacioacuten consulte Protocolo decomunicacioacuten y puerto para el agente de CodeDeploy (p 176)

bull Si una instancia se aprovisiona en una subred privada utilice una gateway NAT en lugar de unagateway de Internet en la tabla de ruteo Para obtener maacutes informacioacuten consulte Puerta de enlaceNAT

bull La funcioacuten de servicio de para CodeDeploy puede que no tenga los permisos necesarios Paraconfigurar un rol de servicio de CodeDeploy consultePaso 2 Creacioacuten de un rol de servicio paraCodeDeploy (p 36)

bull Si utiliza un proxy HTTP aseguacuterese de que estaacute especificado en elproxy_uriconfiguracioacuten en elCodeDeploy archivo de configuracioacuten del agente de Para obtener maacutes informacioacuten consulte Referenciade configuracioacuten del agente CodeDeploy (p 441)

bull Es posible que la firma de fecha y hora de la firma de su instancia de implementacioacuten no coincida conla firma de fecha y hora de la solicitud de implementacioacuten Busque un error similar aCannot reachInstanceService AwsCodeDeployCommandErrorsInvalidSignatureException- Signature expireden tu CodeDeploy archivo de registro de agente Si ve este error siga lospasos que se indican en Solucioacuten de errores de implementacioacuten ldquoInvalidSignatureException ndash Signatureexpired [hora] is now earlier than [hora]rdquo (p 474) Para obtener maacutes informacioacuten consulte Ver datosde registro de las implementaciones de CodeDeploy EC2On-Premises (p 342)

bull La CodeDeploy agente de puede dejar de ejecutarse porque una instancia se estaacute quedando sinmemoria o espacio en el disco duro Intente reducir el nuacutemero de implementaciones archivadasen la instancia actualizando elmax_revisionsconfiguracioacuten en el CodeDeploy configuracioacuten delagente de Si hace esto para una instancia EC2 y el problema continuacutea considere la posibilidad deutilizar una instancia maacutes grande Por ejemplo si el tipo de instancia es t2small intente usar unat2medium Para obtener maacutes informacioacuten consulteArchivos instalados por el agente de CodeDeploy (p 183)Referencia de configuracioacuten del agente CodeDeploy (p 441) yTipos de instancias de AmazonEC2

bull Es posible que la instancia que va a realizar la implementacioacuten no tenga un perfil de instancia de IAMasociado o que tenga un perfil de instancia de IAM asociado que no tenga los permisos necesariosbull Si un perfil de instancia de IAM no estaacute asociado a la instancia cree uno con los permisos necesarios

y a continuacioacuten asoacutecielo a la instanciabull Si un perfil de instancia de IAM ya estaacute asociado a la instancia aseguacuterese de que dispone de los

permisos necesarios

Despueacutes de confirmar que el perfil de instancia asociado estaacute configurado con los permisos necesariosreinicie la instancia Para obtener maacutes informacioacuten consultePaso 4 Crear un perfil de instancias deIAM para sus instancias Amazon EC2 (p 43)yRoles de IAM para Amazon EC2en laGuiacutea del usuario deAmazon EC2

Versioacuten de API 2014-10-06470

AWS CodeDeploy Guiacutea del usuarioWindows PowerShell Los scripts no pueden

utilizar la versioacuten de 64 bits de WindowsPowerShell de forma predeterminada

Windows PowerShell Los scripts no pueden utilizar laversioacuten de 64 bits de Windows PowerShell de formapredeterminadaSi las ventanas PowerShell script que se ejecuta como parte de una implementacioacuten depende de lafuncionalidad de 64 bits (por ejemplo porque consume maacutes memoria que la que permite una aplicacioacuten de32 bits o porque llama a bibliotecas que solo se ofrecen en una versioacuten de 64 bits) puede que el script seboquee o que no se ejecute seguacuten lo previsto Esto se debe a que de forma predeterminada CodeDeployutiliza la versioacuten de 32 bits de Windows PowerShell para ejecutar Windows PowerShell scripts que formanparte de una revisioacuten de la aplicacioacuten

Antildeada coacutedigo como el siguiente al comienzo de cualquier script que tenga que ejecutar con la versioacuten de64 bits de Windows PowerShell

Are you running in 32-bit mode (SysWOW64 = 32-bit mode)

if ($PSHOME -like SysWOW64) Write-Warning Restarting this script under 64-bit Windows PowerShell

Restart this script under 64-bit Windows PowerShell (SysNative redirects to System32 for 64-bit mode)

amp (Join-Path ($PSHOME -replace SysWOW64 SysNative) powershellexe) -File ` (Join-Path $PSScriptRoot $MyInvocationMyCommand) args

Exit 32-bit script

Exit $LastExitCode

Was restart successfulWrite-Warning Hello from $PSHOMEWrite-Warning (SysWOW64 = 32-bit mode System32 = 64-bit mode)Write-Warning Original arguments (if any) $args

Your 64-bit script code follows here

Aunque la informacioacuten de ruta del archivo de este coacutedigo pueda parecer contradictoria la versioacuten de 32bits de Windows PowerShell utiliza una ruta como la siguiente

cWindowsSysWOW64WindowsPowerShellv10powershellexe

Windows de 64 bits PowerShell utiliza una ruta como la siguiente

cWindowsSystem32WindowsPowerShellv10powershellexe

SolucionarAWSProblemas de implementacioacuten deLambda

Temasbull AWS LambdaLas implementaciones no se realizan correctamente si se detiene manualmente una

implementacioacuten de Lambda que no tiene configuradas las reversiones (p 472)

Versioacuten de API 2014-10-06471

AWS CodeDeploy Guiacutea del usuarioAWS LambdaLas implementaciones nose realizan correctamente si se detiene

manualmente una implementacioacuten de Lambdaque no tiene configuradas las reversiones AWS LambdaLas implementaciones no se realizan

correctamente si se detiene manualmente unaimplementacioacuten de Lambda que no tiene configuradaslas reversionesEn algunos casos el alias de una funcioacuten de Lambda especificada en una implementacioacuten podriacutea hacerreferencia a dos versiones diferentes del funcioacuten Como consecuencia no se realizan correctamente losintentos posteriores de implementar la funcioacuten Lambda Una implementacioacuten de Lambda puede entraren este estado cuando no tiene configuradas las reversiones y se detiene manualmente Para continuarutilice la consola de AWS Lambda para asegurarse de que la funcioacuten no esteacute configurada para el desviacuteo detraacutefico entre dos versiones

1 Inicie sesioacuten en la AWS Management Console y abra la consola de AWS Lambda en httpsconsoleawsamazoncomlambda

2 En el panel izquierdo elija Functions (Funciones)3 Seleccione el nombre de la funcioacuten Lambda que se encuentra en el CodeDeploy Deployment4 DesdeCalificadores elija el alias utilizado en la implementacioacuten de CodeDeploy5 En Additional Version (Versioacuten adicional) elija ltnonegt Esto garantiza que el alias no esteacute configurado

para desviar un porcentaje (o peso) del traacutefico a maacutes de una versioacuten Anote la versioacuten seleccionada enVersion (Versioacuten)

6 Elija Save and test (Guardar y probar)7 Abra el icono CodeDeploy e intente implementar la versioacuten que se muestra en el menuacute desplegable del

paso 5

Solucioacuten de problemas de grupos deimplementaciones

Cuando se etiqueta una instancia como parte deun grupo de implementaciones no se implementaautomaacuteticamente la aplicacioacuten en la nueva instanciaCodeDeploy no implementa automaacuteticamente su aplicacioacuten en una nueva instancia etiquetada Debe crearuna nueva implementacioacuten en el grupo de implementaciones

Puede usar CodeDeploy para habilitar las implementaciones automaacuteticas en nuevas instancias EC2 engrupos de Amazon EC2 Auto Scaling Para obtener maacutes informacioacuten consulte Integracioacuten de CodeDeploycon Amazon EC2 Auto Scaling (p 53)

Solucioacuten de problemas de instanciasTemas

bull Las etiquetas deben estar configuradas correctamente (p 473)bull AWS CodeDeployEl agente de debe estar instalado y ejecutaacutendose en las instancias (p 473)bull Las implementaciones no producen error hasta una hora despueacutes cuando se termina una instancia

durante una implementacioacuten (p 473)

Versioacuten de API 2014-10-06472

AWS CodeDeploy Guiacutea del usuarioLas etiquetas deben estar configuradas correctamente

bull Anaacutelisis de archivos de registro para investigar los errores de implementacioacuten en instancias (p 473)bull Creacioacuten de un nuevo CodeDeploy archivo log de si se ha eliminado por error (p 474)bull Solucioacuten de errores de implementacioacuten ldquoInvalidSignatureException ndash Signature expired [hora] is now

earlier than [hora]rdquo (p 474)

Las etiquetas deben estar configuradas correctamenteUsarinstancias de implementacioacuten-list-deployment-para confirmar que las instancias utilizadas para unaimplementacioacuten estaacuten etiquetadas correctamente Si falta una instancia EC2 en la salida utilice la consolade EC2 para confirmar que las etiquetas se han configurado en la instancia Para obtener maacutes informacioacutenconsulteTrabajo con etiquetas en la consolaen laGuiacutea del usuario de Amazon EC2 para instancias deLinux

Note

Si etiquetas una instancia y utilizas inmediatamente CodeDeploy para implementar una aplicacioacutenen eacutel es posible que la instancia no se incluya en la implementacioacuten Esto se debe a que puedetardar varios minutos en CodeDeploy puede leer las etiquetas Le recomendamos que espere almenos cinco minutos entre el momento en que etiqueta una instancia y el momento en que intentarealizar una implementacioacuten en ella

AWS CodeDeployEl agente de debe estar instalado yejecutaacutendose en las instanciasPara verificar el CodeDeploy El agente de estaacute instalado y ejecutaacutendose en una instanciaconsulteVerifique que el agente de CodeDeploy esteacute en ejecucioacuten (p 186)

Para instalar desinstalar o reinstalar el CodeDeploy agente consulteInstalacioacuten del agente deCodeDeploy (p 189)

Las implementaciones no producen error hastauna hora despueacutes cuando se termina una instanciadurante una implementacioacutenCodeDeploy proporciona un periacuteodo de una hora para que cada evento de ciclo de vida de laimplementacioacuten termine de ejecutarse Esto proporciona tiempo suficiente para los scripts de largaduracioacuten

Si los scripts no se terminan de ejecutar mientras hay un evento de ciclo de vida en curso (por ejemplosi se termina una instancia o la CodeDeploy agente de se cierra) puede transcurrir una hora hasta queel estado de la implementacioacuten se muestre como Failed (Error) Esto es cierto incluso si el periodo detiempo especificado en el script es inferior a una hora Esto se debe a que cuando se termina la instanciael CodeDeploy El agente de se cierra y no puede procesar maacutes scripts

Si se termina una instancia entre eventos de ciclo de vida o antes de que se inicie el primer paso de unevento de ciclo de vida el tiempo de espera se agota en solo cinco minutos

Anaacutelisis de archivos de registro para investigar loserrores de implementacioacuten en instanciasSi el estado de una instancia en la implementacioacuten es distinto de Succeeded puede examinar los datosdel archivo log para poder identificar el problema Para obtener informacioacuten sobre coacutemo obtener acceso a

Versioacuten de API 2014-10-06473

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de un nuevo CodeDeploy

archivo log de si se ha eliminado por error

los datos de registro de una implementacioacuten consulte Ver datos de registro de las implementaciones deCodeDeploy EC2On-Premises (p 342)

Creacioacuten de un nuevo CodeDeploy archivo log de sise ha eliminado por errorSi elimina por error el archivo log de implementacioacuten en una instancia CodeDeploy no crea un archivode registro de reemplazo Para crear un nuevo archivo log inicie sesioacuten en la instancia y a continuacioacutenejecute estos comandos

Para una instancia de Amazon Linux Ubuntu Server o RHEL ejecute estos comandos en este orden unoen uno

sudo service codedeploy-agent stop

sudo service codedeploy-agent start

Para una instancia de Windows Server

powershellexe -Command Restart-Service -Name codedeployagent

Solucioacuten de errores de implementacioacutenldquoInvalidSignatureException ndash Signature expired [hora]is now earlier than [hora]rdquoCodeDeploy requiere referencias de tiempo precisas para realizar sus operaciones Si la fecha y la horade la instancia no estaacuten definidas correctamente es posible que no coincidan con la fecha de firma de lasolicitud de la implementacioacuten que CodeDeploy rechaza

Para evitar errores relacionados con la configuracioacuten de tiempo incorrecta consulte los siguientes temas

bull Establecer la hora en una instancia de Linuxbull Establecimiento de la hora para una instancia de Windows

Solucionar GitHub Problemas con tokenInvalid (No vaacutelido) GitHub Token OAuthCodeDeploy aplicaciones de creadas despueacutes de su uso en junio GitHub Tokens de OAuth paracadaAWSRegioacuten El uso de tokens vinculados a especiacuteficosAWSRegions te da maacutes control sobre queacuteCodeDeploy las aplicaciones tienen acceso a un GitHub

Si recibe un GitHub Error de token es posible que tenga un token maacutes antiguo que ahora no es vaacutelido

Para corregir una no vaacutelida GitHub Token OAuth

1 Elimine el token antiguo mediante uno de los siguientes meacutetodos

Versioacuten de API 2014-10-06474

AWS CodeDeploy Guiacutea del usuarioNuacutemero maacuteximo de GitHub Se superaron los tokens OAuth

bull Para eliminar el token antiguo mediante la API utiliceDeleteGitHubAccountTokenbull Para quitar el token antiguo utilizando elAWS Command Line Interface

a Vaya al equipo en el que reside el tokenb Aseguacuterese de que elAWS CLIestaacute instalado en este equipo Para obtener las instrucciones

de instalacioacuten consulteInstalar actualizar y desinstalar laAWS CLIen laAWS Command LineInterfaceGuiacutea del usuario de

c Introduzca el siguiente comando en el equipo donde reside el token

aws delete-git-hub-account-token

Para obtener maacutes informacioacuten sobre la sintaxis del comando consultedelete-git-hub-cuenta-token

2 Antildeadir un nuevo token de OAuth Para obtener maacutes informacioacuten consulte Integracioacuten de CodeDeploycon GitHub (p 63)

Nuacutemero maacuteximo de GitHub Se superaron los tokensOAuthAl crear una CodeDeploy implementacioacuten el nuacutemero maacuteximo permitido GitHub tokens es 10 Si recibeun error acerca de GitHub Tokens de OAuth aseguacuterese de que tiene 10 tokens o menos Si tiene maacutesde 10 tokens los primeros tokens que se han creado no son vaacutelidos Por ejemplo si tiene 11 tokens elprimer token que ha creado no es vaacutelido Si tiene 12 tokens los dos primeros tokens que ha creado no sonvaacutelidos Para obtener maacutes informacioacuten sobre el uso del CodeDeploy API de para eliminar tokens antiguosconsulteDeleteGitHubAccountToken

Solucioacuten de problemas de Amazon EC2 AutoScaling

Temasbull Solucioacuten de problemas general de Amazon EC2 Auto Scaling (p 476)bull laquoCodeDeployRole no le da permiso para realizar operaciones en las siguientesAWSservicio de Error

de AmazonAutoScalingraquo (p 476)bull Las instancias de un grupo de Amazon EC2 Auto Scaling se aprovisionan y se terminan

constantemente antes de que pueda implementarse una revisioacuten (p 477)bull La terminacioacuten o el reinicio de una instancia de Amazon EC2 Auto Scaling puede producir un error en

las implementaciones (p 477)bull Evite asociar varios grupos de implementaciones a un uacutenico grupo de Amazon EC2 Auto

Scaling (p 478)bull Las instancias EC2 de un grupo de Amazon EC2 Auto Scaling no se pueden lanzar y aparece el error

laquoHeartbeat Timeoutraquo (p 479)bull Los enlaces de ciclo de vida de Amazon EC2 Auto Scaling de Amazon EC2 podriacutean provocar

detenciones o errores de las implementaciones automaacuteticas en grupos de Auto Scaling de AmazonEC2 (p 480)

bull Error laquoLa implementacioacuten ha fallado porque no se han encontrado instancias para el grupo deimplementacioacutenraquo (p 481)

Versioacuten de API 2014-10-06475

AWS CodeDeploy Guiacutea del usuarioSolucioacuten de problemas generalde Amazon EC2 Auto Scaling

Solucioacuten de problemas general de Amazon EC2 AutoScalingLas implementaciones en instancias EC2 en un grupo de Amazon EC2 Auto Scaling pueden fracasar porlas razones siguientes

bull Amazon EC2 Auto Scaling lanza y termina continuamente instancias EC2 Si CodeDeploy No puedeimplementar automaacuteticamente la revisioacuten de la aplicacioacuten Amazon EC2 Auto Scaling lanza y terminaraacutecontinuamente instancias EC2

Desasociar el grupo de Amazon EC2 Auto Scaling del CodeDeploy grupo de implementaciones o cambiela configuracioacuten de su grupo de Amazon EC2 Auto Scaling para que el nuacutemero deseado de instanciascoincida con el nuacutemero actual de instancias (lo que evitaraacute que Amazon EC2 Auto Scaling lance lancemaacutes instancias EC2) Para obtener maacutes informacioacuten consulteCambiar la configuracioacuten del grupo deimplementacioacuten con CodeDeploy (p 301)oEscalado manual para Amazon EC2 Auto Scaling

bull La CodeDeploy el agente de no responde La CodeDeploy Puede que el agente de no esteacute instalado silos scripts de inicializacioacuten (por ejemplo los scripts cloud-init) que se ejecutan inmediatamente despueacutesde que se lance o inicie una instancia EC2 tardan maacutes de una hora en ejecutarse CodeDeploy tieneun tiempo de espera de una hora de CodeDeploy agente de para responder a las implementacionespendientes Para solucionar este problema mueva los scripts de inicializacioacuten a la revisioacuten de laaplicacioacuten CodeDeploy

bull Una instancia EC2 en un grupo de Amazon EC2 Auto Scaling se reinicia durante una implementacioacutenLa implementacioacuten puede producir un error si una instancia EC2 se reinicia durante una implementacioacuteno CodeDeploy agente se apaga mientras se procesa un comando de implementacioacuten Para obtener maacutesinformacioacuten consulte La terminacioacuten o el reinicio de una instancia de Amazon EC2 Auto Scaling puedeproducir un error en las implementaciones (p 477)

bull Varias revisiones de aplicacioacuten se implementan simultaacuteneamente en la misma instancia EC2 en ungrupo de Auto Scaling de Amazon EC2 La implementacioacuten de varias revisiones de aplicacioacuten en lamisma instancia EC2 en un grupo de Amazon EC2 Auto Scaling al mismo tiempo puede producir unerror si una de las implementaciones tiene scripts que se ejecutan durante maacutes de unos minutos Noimplemente varias revisiones de aplicacioacuten en las mismas instancias EC2 en un grupo de Amazon EC2Auto Scaling

bull Una implementacioacuten produce un error en nuevas instancias EC2 que se lanzan como parte de un grupode Amazon EC2 Auto Scaling En este caso la ejecucioacuten de scripts en una implementacioacuten puede evitarel lanzamiento de instancias EC2 en el grupo de Amazon EC2 Auto Scaling (Puede parecer que otrasinstancias EC2 del grupo de Amazon EC2 Auto Scaling se ejecutan normalmente) Para solucionar esteproblema aseguacuterese de que todos los demaacutes scripts se completan primerobull El agente de CodeDeploy no estaacute incluido en la AMI Si utiliza elcfn-initpara instalar el CodeDeploy

agente de mientras lanza una nueva instancia coloque el script de instalacioacuten del agente al finaldelcfn-initseccioacuten de suAWS CloudFormationplantilla

bull El agente de CodeDeploy se incluye en la AMI Configurar la AMI para que el agente se encuentreen unStoppedestado cuando se crea la instancia y a continuacioacuten incluya un script para iniciar elagente como el uacuteltimo paso en sucfn-initbiblioteca de scripts

laquoCodeDeployRole no le da permiso para realizaroperaciones en las siguientesAWSservicio de Errorde AmazonAutoScalingraquoLas implementaciones que utilizan un grupo de Auto Scaling creado con una plantilla de lanzamientorequieren los siguientes permisos Estos se suman a los permisos concedidos por la poliacutetica administradade AWS AWSCodeDeployRole

Versioacuten de API 2014-10-06476

AWS CodeDeploy Guiacutea del usuarioLas instancias de un grupo de Amazon EC2 Auto

Scaling se aprovisionan y se terminan constantementeantes de que pueda implementarse una revisioacuten

bull EC2RunInstances

bull EC2CreateTags

bull iamPassRole

Si no tiene los permisos indicados puede recibir este error Para obtener maacutes informacioacutenconsulteTutorial UsarCodeDeploypara implementar una aplicacioacuten en un grupo de AutoScaling (p 110)Creacioacuten de una plantilla de lanzamiento para un grupo de Auto Scaling yCompatibilidadcon las plantillas de lanzamientoen laGuiacutea del usuario de Amazon EC2 Auto Scaling

Las instancias de un grupo de Amazon EC2 AutoScaling se aprovisionan y se terminan constantementeantes de que pueda implementarse una revisioacutenEn algunos casos un error puede impedir que se realice la implementacioacuten en instancias recieacutenaprovisionadas de un grupo de Amazon EC2 Auto Scaling Los resultados son instancias en mal estadoe implementaciones infructuosas Como la implementacioacuten no se puede ejecutar o no se completacorrectamente las instancias se terminan en cuanto se crean La configuracioacuten del grupo de Auto Scalingde Amazon EC2 provoca que se aprovisione otro lote de instancias para intentar satisfacer los requisitosde hosts miacutenimos en buen estado Este lote se termina tambieacuten y asiacute una y otra vez

Entre las causas posibles se incluyen las siguientes

bull Error en las comprobaciones de estado del grupo de Amazon EC2 Auto Scalingbull Un error en la revisioacuten de la aplicacioacuten

Para solucionar este problema siga estos pasos

1 Cree manualmente una instancia EC2 que no forme parte del grupo de Amazon EC2 Auto ScalingEtiquete la instancia con una etiqueta de instancia EC2 uacutenica

2 Antildeada la nueva instancia al grupo de implementaciones afectado3 Implemente una nueva revisioacuten de la aplicacioacuten sin errores en el grupo de implementaciones

De esta forma se solicitaraacute al grupo de Amazon EC2 Auto Scaling que implemente la revisioacuten de laaplicacioacuten en future instancias del grupo de Amazon EC2 Auto Scaling

Note

Despueacutes de confirmar que las implementaciones se han realizado correctamente elimine lainstancia que ha creado para evitar cargos deAWSaccount

La terminacioacuten o el reinicio de una instancia deAmazon EC2 Auto Scaling puede producir un error enlas implementacionesSi se lanza una instancia EC2 a traveacutes de Amazon EC2 Auto Scaling y la instancia termina o se reinicialas implementaciones en dicha instancia podriacutean producir un error por las razones siguientes

bull Durante una implementacioacuten en curso un evento de escalado o cualquier otro evento de terminacioacutenprovoca que la instancia se desvincule del grupo de Amazon EC2 Auto Scaling y que termine Como laimplementacioacuten no se puede completar produce un error

Versioacuten de API 2014-10-06477

AWS CodeDeploy Guiacutea del usuarioEvite asociar varios grupos de implementacionesa un uacutenico grupo de Amazon EC2 Auto Scaling

bull La instancia se reinicia pero tarda maacutes de cinco minutos en iniciarse CodeDeploy trata esto como untiempo de espera El servicio no puede realizar implementaciones actuales y futuras en la instancia

Para solucionar este problema

bull En general aseguacuterese de que todas las implementaciones se completen antes de que la instanciatermine o se reinicie Aseguacuterese de que todas las implementaciones comienzan una vez iniciada oreiniciada la instancia

bull Las implementaciones pueden producir un error si especifica una imagen de maacutequina de Amazon (AMI)base de Windows Server para una configuracioacuten de Auto Scaling de Amazon EC2 y usa el servicioEC2Config para establecer el nombre de equipo de la instancia Para solucionar este problema enla AMI base de Windows Server en elGeneralpestantildea dePropiedades del servicio de EC2 claroSetComputer Name (Establecer nombre del equipo) Una vez desactivada esta casilla este comportamientose deshabilitaraacute para todas las nuevas instancias de Auto Scaling de Amazon EC2 de Windows Serverlanzadas con esa AMI base de Windows Server Para las instancias de Auto Scaling de Amazon EC2 deWindows Server en las que este comportamiento estaacute habilitado no es necesario desactivar esta casillaSimplemente vuelva a aplicar las implementaciones que han producido un error en esas instancias unavez reiniciadas

Evite asociar varios grupos de implementaciones a unuacutenico grupo de Amazon EC2 Auto ScalingComo praacutectica recomendada debe asociar solo un grupo de implementaciones a cada grupo de AmazonEC2 Auto Scaling

Esto se debe a que si Amazon EC2 Auto Scaling escala una instancia que tiene enlaces asociados convarios grupos de implementaciones enviacutea las notificaciones para todos los enlaces a la vez Esto provocaque comiencen a aplicarse las distintas implementaciones en cada instancia al mismo tiempo Cuandovarias implementaciones enviacutean comandos al CodeDeploy al mismo tiempo podriacutea alcanzarse el tiempode espera de cinco minutos entre un evento del ciclo de vida y el inicio de la implementacioacuten o bien el finaldel evento del ciclo de vida anterior Si esto ocurre la implementacioacuten no se realiza correctamente inclusoaunque el proceso de implementacioacuten se haya ejecutado seguacuten lo previsto

Note

El tiempo de espera predeterminado para un script en un evento de ciclo de vida es 30 minutosPuede cambiar el tiempo de espera a otro valor en el AppSpec file Para obtener maacutes informacioacutenconsulte Adicioacuten de un archivo AppSpec para una implementacioacuten de EC2On-Premises (p 312)

No es posible controlar el orden en el que se producen las implementaciones si se realizan varios intentosde implementacioacuten al mismo tiempo

Por uacuteltimo si se produce un error en la implementacioacuten en cualquier instancia Amazon EC2 AutoScaling termina inmediatamente la instancia Cuando se cierra la primera instancia el resto de lasimplementaciones en ejecucioacuten empiezan a producir un error Porque CodeDeploy tiene un tiempo deespera de una hora de CodeDeploy agente de para responder a las implementaciones pendientes puedetranscurrir hasta 60 minutos antes de que se agote el tiempo de espera de cada instancia

Para obtener maacutes informacioacuten sobre Amazon EC2 Auto Scaling consulteBajo el capoacute CodeDeploy yIntegracioacuten de Auto Scaling

Versioacuten de API 2014-10-06478

AWS CodeDeploy Guiacutea del usuarioLas instancias EC2 de un grupo de Amazon

EC2 Auto Scaling no se pueden lanzary aparece el error laquoHeartbeat Timeoutraquo

Las instancias EC2 de un grupo de Amazon EC2Auto Scaling no se pueden lanzar y aparece el errorlaquoHeartbeat TimeoutraquoEs posible que un grupo de Amazon EC2 Auto Scaling no pueda lanzar nuevas instancias EC2 y genereun mensaje similar al siguiente

Launching a new EC2 instance ltinstance-Idgt Status Reason Instance failed tocomplete users Lifecycle Action Lifecycle Action with tokenlttoken-Idgt wasabandoned Heartbeat Timeout

Este mensaje suele indicar una de las siguientes posibilidades

bull El nuacutemero maacuteximo de implementaciones simultaacuteneas asociadas con unAWSse ha alcanzado lacuenta Para obtener maacutes informacioacuten acerca de los liacutemites de implementacioacuten consulte liacutemites deCodeDeploy (p 454)

bull El grupo Auto Scaling intentoacute lanzar demasiadas instancias EC2 con demasiada rapidez La API llamaaRecordLifecycleActionHeartbeatoCompleteLifecycleActionpara cada nueva instancia se limitaron

bull Una aplicacioacuten en CodeDeploy se ha eliminado antes de que sus grupos de implementacionesasociados se actualizaran o eliminaran

Al eliminar una aplicacioacuten o un grupo de implementacioacuten CodeDeploy intenta limpiar todos los enlacesde Amazon EC2 Auto Scaling asociados a ellos pero es posible que se conserven algunos enlaces Siejecuta un comando para eliminar un grupo de implementaciones los enlaces restantes se devuelvenen la salida Sin embargo si ejecuta un comando para eliminar una aplicacioacuten los enlaces restantes noaparecen en la salida

Por lo tanto es recomendable que elimine todos los grupos de implementaciones asociados a unaaplicacioacuten antes de eliminar la aplicacioacuten Puede utilizar el resultado del comando para identificar losenlaces de ciclo de vida que deben eliminarse manualmente

Si aparece un mensaje de error Heartbeat Timeout puede determinar si los enlaces de ciclo de vidarestantes son la causa del problema y resolverlo mediante el siguiente procedimiento

1 Realice alguna de las siguientes acciones

bull Llame adelete-deployment-grouppara eliminar el grupo de implementaciones asociado al grupo deAuto Scaling que estaacute provocando el tiempo de espera del latido

bull Llame agrupo de implementacioacuten-actualizacioacutencon una lista vaciacutea no nula de nombres de gruposde Auto Scaling para separar todos los ganchos del ciclo de vida de Auto Scaling administrados porCodeDeployment

Por ejemplo escriba lo siguienteAWS CLIcomando

aws deploy update-deployment-group --application-name my-example-app --current-deployment-group-name my-deployment-group --auto-scaling-groups

Como otro ejemplo si estaacute utilizando el CodeDeploy API con JavallameUpdateDeploymentGroupy setautoScalingGroupsanew ArrayListltStringgt() EstesetautoScalingGroupsa una lista vaciacutea y elimina la lista existente No utilizarnull que es elvalor predeterminado porque esto dejaautoScalingGroupstal cual que no es lo que quieres

Examine el resultado de la llamada Si la salida contiene unhooksNotCleanedUpestructura con unalista de enlaces de ciclo de vida de Amazon EC2 Auto Scaling hay enlaces de ciclo de vida sobrantes

Versioacuten de API 2014-10-06479

AWS CodeDeploy Guiacutea del usuarioLos enlaces de ciclo de vida de Amazon EC2

Auto Scaling de Amazon EC2 podriacutean provocardetenciones o errores de las implementaciones

automaacuteticas en grupos de Auto Scaling de Amazon EC22 Llame adescribe-ganchos de ciclo de vida especificando el nombre del grupo de Amazon EC2 AutoScaling asociado a las instancias EC2 que no se han podido lanzar Busque en los resultados

bull Nombres de enlaces de ciclo de vida de Amazon EC2 Auto Scaling que correspondenalhooksNotCleanedUpestructura identificada en el paso 1

bull Nombres de enlaces de ciclo de vida de Auto Scaling de Amazon EC2 que contienen el nombre delgrupo de implementaciones asociado al grupo de Auto Scaling que estaacute produciendo un error

bull Nombres de gancho del ciclo de vida de Amazon EC2 Auto Scaling que pueden haber provocado eltiempo de espera del latido del CodeDeploy Deployment

3 Si un gancho entra en una de las categoriacuteas enumeradas en el paso 2 llame aleliminar el gancho delciclo de vidapara eliminarlo Especifique el grupo y el enlace de ciclo de vida de Amazon EC2 AutoScaling en la llamada

Important

Elimine uacutenicamente los ganchos que estaacuten causando problemas como se describe enel paso 2 Si elimina enlaces viables las implementaciones podriacutean producir un error oCodeDeploy es posible que no pueda implementar las revisiones de las aplicaciones eninstancias EC2 escaladas

4 Llama a lagrupo de implementacioacuten-actualizacioacutenocreate-deployment-groupcon los nombres de grupode Auto Scaling deseados CodeDeploy vuelve a instalar los ganchos Auto Scaling con los nuevosUUID

Note

Si desconecta un grupo de Auto Scaling de un CodeDeploy grupo de implementacioacuten cualquierimplementacioacuten en curso en el grupo Auto Scaling puede fallar y las nuevas instancias de EC2que el grupo Auto Scaling escale no recibiraacuten las revisiones de las aplicaciones de CodeDeployPara que Auto Scaling vuelva a funcionar con CodeDeploy deberaacute volver a adjuntar el grupoAuto Scaling al grupo de implementacioacuten y llamar a un nuevoCreateDeploymentpara iniciar undespliegue en toda la flota

Los enlaces de ciclo de vida de Amazon EC2Auto Scaling de Amazon EC2 podriacutean provocardetenciones o errores de las implementacionesautomaacuteticas en grupos de Auto Scaling de AmazonEC2Auto Scaling Amazon EC2 CodeDeploy utilizar enlaces de ciclo de vida para determinar queacute revisionesde la aplicacioacuten deben implementarse en las instancias EC2 una vez iniciadas en grupos de Amazon EC2Auto Scaling Las implementaciones automaacuteticas se pueden detener o producir un error si los enlaces deciclo de vida y la informacioacuten sobre estos enlaces no coinciden exactamente en Amazon EC2 Auto Scalingy CodeDeploy

Si las implementaciones en un grupo de Amazon EC2 Auto Scaling estaacuten produciendo un errorcompruebe si los nombres de enlaces de ciclo de vida en Amazon EC2 Auto Scaling y CodeDeploy matchSi no coinciden utilice estas llamadas a comandos de la AWS CLI

En primer lugar obtenga la lista de enlaces de ciclo de vida para el grupo de Amazon EC2 Auto Scaling yel grupo de implementaciones

Versioacuten de API 2014-10-06480

AWS CodeDeploy Guiacutea del usuarioError laquoLa implementacioacuten ha fallado porque no se han

encontrado instancias para el grupo de implementacioacutenraquo

1 Llame adescribe-ganchos de ciclo de vida especificando el nombre del grupo de Amazon EC2Auto Scaling asociado al grupo de implementaciones en CodeDeploy En el resultado en la listaLifecycleHooks anote todos los valores de LifecycleHookName

2 Llame aget-deployment-group especificando el nombre del grupo de implementaciones asociadoal grupo de Amazon EC2 Auto Scaling En la salida en laautoScalingGroups busque todos loselementos cuyo valor de nombre coincida con el nombre del grupo de Amazon EC2 Auto Scaling y acontinuacioacuten anote el correspondientehookValor

Despueacutes compare los dos conjuntos de nombres de enlaces de ciclo de vida Si coinciden exactamentecaraacutecter por caraacutecter entonces este no es el problema Pruebe con otros pasos de solucioacuten de problemasde Amazon EC2 Auto Scaling que se describen en esta seccioacuten

Sin embargo si los dos conjuntos de nombres de enlaces de ciclo de vida no coinciden exactamentecaraacutecter por caraacutecter pruebe lo siguiente

1 Si hay nombres de enlaces de ciclo de vida en el resultado del comando describe-lifecycle-hooks queno estaacuten en el resultado del comando get-deployment-group proceda del modo siguiente

a Para cada nombre de enlace de ciclo de vida en el resultado del comando describe-lifecycle-hooks ejecute el comando describe-lifecycle-hook

b Llame agrupo de implementacioacuten-actualizacioacuten especificando el nombre del grupo de AutoScaling de Amazon EC2 original CodeDeploy crea nuevos enlaces de ciclo de vida de sustitucioacutenen el grupo de Amazon EC2 Auto Scaling y asocia los enlaces de ciclo de vida con el grupo deimplementaciones Las implementaciones automaacuteticas se deben reanudar ahora cuando seantildeadan nuevas instancias al grupo de Amazon EC2 Auto Scaling

2 Si hay nombres de enlaces de ciclo de vida en el resultado del comando get-deployment-group que noestaacuten en el resultado del comando describe-lifecycle-hooks proceda del modo siguiente

a Llame agrupo de implementacioacuten-actualizacioacutenpero no especifique el nombre del grupo deAmazon EC2 Auto Scaling original

b Llame aupdate-deployment-group pero esta vez especifique el nombre del grupo de AmazonEC2 Auto Scaling original CodeDeploy vuelve a crear los enlaces de ciclo de vida que faltan enel grupo de Amazon EC2 Auto Scaling Las implementaciones automaacuteticas se deben reanudarahora cuando se antildeadan nuevas instancias al grupo de Amazon EC2 Auto Scaling

Una vez que los dos conjuntos de nombres de enlaces de ciclo de vida coincidan exactamente caraacutecterpor caraacutecter las revisiones de la aplicacioacuten deberiacutean implementarse de nuevo pero solamente en lasnuevas instancias cuando estas se antildeadan al grupo de Amazon EC2 Auto Scaling Las implementacionesno se realizan automaacuteticamente en instancias que ya estaacuten en el grupo de Amazon EC2 Auto Scaling

Error laquoLa implementacioacuten ha fallado porque nose han encontrado instancias para el grupo deimplementacioacutenraquoLea esta seccioacuten si ve lo siguiente CodeDeploy error

The deployment failed because no instances were found for your deploymentgroup Check your deployment group settings to make sure the tags for your EC2instances or Auto Scaling groups correctly identify the instances you want todeploy to and then try again

Las causas posibles de este error son

Versioacuten de API 2014-10-06481

AWS CodeDeploy Guiacutea del usuarioError laquoLa implementacioacuten ha fallado porque no se han

encontrado instancias para el grupo de implementacioacutenraquo

1 La configuracioacuten del grupo de implementacioacuten incluye etiquetas para instancias EC2 instancias localeso grupos de Auto Scaling que no son correctos Para solucionar este problema compruebe que lasetiquetas son correctas y a continuacioacuten vuelva a desplegar la aplicacioacuten

2 Su flota se redujo despueacutes de que se inicioacute la implementacioacuten En este escenario veraacute instancias enbuen estado en elInServiceestado en tu flota pero tambieacuten ves el error anterior Para solucionar esteproblema vuelva a implementar la aplicacioacuten

3 El grupo de Auto Scaling no incluye instancias en elInServiceestado En este escenario cuandointenta realizar una implementacioacuten en toda la flota la implementacioacuten falla con el mensaje de erroranterior porque CodeDeploy necesita al menos una instancia para estar en elInServiceestado Haymuchas razones por las que puede que no tengas instancias en elInServiceestado Algunas de ellasincluyenbull Ha programado (o configurado manualmente) el tamantildeo del grupo de Auto Scaling que debe ser0bull Auto Scaling detectoacute instancias EC2 erroacuteneas (por ejemplo las instancias EC2 presentaban fallas de

hardware) asiacute que las canceloacute todas dejando ninguna en elInServiceestadobull Durante un evento de escalado de0a1 CodeDeploy implementoacute una revisioacuten exitosa anteriormente

(denominadauacuteltima revisioacuten correcta) que se habiacutean vuelto insalubres desde la uacuteltima implementacioacutenEsto provocoacute que se produjera un error en la implementacioacuten de la instancia escalada horizontallo que a su vez provocoacute que Auto Scaling cancelara la instancia sin dejar ninguna instancia enelInServiceestado

Si descubres que no tienes instancias en elInServicestate solucione el problema tal como sedescribe en el siguiente procedimientoTo troubleshoot the error if there are no instances in theInService state

Para solucionar el error si no hay instancias en el InService state

1 En la consola de Amazon EC2 verifique laCapacidad deseadaconfiguracioacuten de Si es cero configuacuteraloen un nuacutemero positivo Espere a que la instancia esteacuteInService lo que significa que el desplieguese ha realizado correctamente Ha solucionado el problema y puede omitir los pasos restantes deeste procedimiento de solucioacuten de problemas Para obtener maacutes informacioacuten sobre coacutemo configurarelCapacidad deseadaconfiguracioacuten de consulteEstablecimiento de liacutemites de capacidad en el grupode Auto Scalingen laGuiacutea del usuario de Amazon EC2 Auto Scaling

2 Si Auto Scaling sigue intentando lanzar nuevas instancias EC2 para cumplir la capacidad deseadapero nunca puede cumplir la escala horizontal generalmente se debe a un error en el gancho del ciclode vida de Auto Scaling Solucione este problema de la siguiente manera

a Para comprobar queacute evento de gancho del ciclo de vida de Auto Scaling estaacute fallandoconsulteVerificacioacuten de una actividad de escalado para un grupo de Auto Scalingen la Guiacutea delusuario de Amazon EC2 Auto Scaling

b Si el nombre del gancho que falla esCodeDeploy-managed-automatic-launch-deployment-hook-DEPLOYMENT_GROUP_NAME vaya a CodeDeploy busque el grupo deimplementacioacuten y busque la implementacioacuten fallida iniciada por Auto Scaling A continuacioacuteninvestigue por queacute se produjo un error en

c Si comprende por queacute falloacute la implementacioacuten (por ejemplo CloudWatch se estaban produciendoalarmas) y puede solucionar el problema sin cambiar la revisioacuten luego haacutegalo ahora

d Si tras la investigacioacuten determina que CodeDeployuacuteltima revisioacuten correctaya no estaacute en buenestado y no hay ninguna instancia en buen estado en el grupo de Auto Scaling se encuentra enun escenario de interbloqueo de implementacioacuten Para solucionar este problema debe solucionarlo malo CodeDeploy eliminando temporalmente el gancho del ciclo de vida de CodeDeploy delgrupo Auto Scaling y a continuacioacuten reinstale el gancho y vuelva a implementar una nuevarevisioacuten (buena) Para obtener instrucciones consulte

bull To fix the deployment deadlock issue (CLI)bull To fix the deployment deadlock issue (console)

Versioacuten de API 2014-10-06482

AWS CodeDeploy Guiacutea del usuarioError laquoLa implementacioacuten ha fallado porque no se han

encontrado instancias para el grupo de implementacioacutenraquo

Para solucionar el problema de interbloqueo de la implementacioacuten (CLI)

1 (Opcional) Bloquee las canalizaciones de CICD que estaacuten provocando el CodeDeploy error para queno se produzcan implementaciones inesperadas mientras soluciona este problema

2 Tome nota de de su Auto Scaling actualDesiredCapacityConfiguracioacuten de

aws autoscaling describe-auto-scaling-groups --auto-scaling-group-nameASG_NAME

Es posible que tenga que volver a este nuacutemero al final de este procedimiento3 Configure el Auto ScalingDesiredCapacityconfiguracioacuten de1 Esto es opcional si la capacidad deseada

es superior a1Para empezar Al reducirlo a1 la instancia tardaraacute menos tiempo en aprovisionar eimplementar maacutes adelante lo que acelera la solucioacuten de problemas Si la capacidad deseada de AutoScaling se establecioacute originalmente en0 debes aumentarlo a1 Es obligatorio

aws autoscaling set-desired-capacity mdashauto-scaling-group-nameASG_NAMEmdashcapacidad deseada 1

Note

En los pasos restantes de este procedimiento se supone que ha configuradosuDesiredCapacitya1

En este punto Auto Scaling intenta escalar a una instancia Entonces porque el gancho queCodeDeploy antildeadido sigue presente CodeDeploy intenta implementar la implementacioacuten falla AutoScaling cancela la instancia y Auto Scaling intenta volver a lanzar una instancia para alcanzar lacapacidad deseada de una lo que vuelve a fallar Estaacute en un bucle de cancelacioacuten de relanzamiento

4 Anular el registro del grupo Auto Scaling del grupo de implementacioacuten

Warning

El siguiente comando lanzaraacute una nueva instancia EC2 sin ninguacuten software Antes deejecutar el comando aseguacuterese de que una Auto ScalingInServiceinstancia que no ejecutaninguacuten software es aceptable Por ejemplo aseguacuterese de que el equilibrador de carga noestaacute enviando traacutefico a este host sin software

Important

Usar CodeDeploy comando que se muestra a continuacioacuten para quitar el gancho Noelimine el gancho a traveacutes del servicio Auto Scaling porque CodeDeploy no reconoceraacute laeliminacioacuten

aws deploy update-deployment-group --application-name APPLICATION_NAME --current-deployment-group-name DEPLOYMENT_GROUP_NAME --auto-scaling-groups

Tras ejecutar este comando se produce lo siguiente

a CodeDeploy anula el registro del grupo Auto Scaling del grupo de implementacioacutenb CodeDeploy elimina el enlace de ciclo de vida de Auto Scaling del grupo de Auto Scalingc Dado que el gancho que provocaba una implementacioacuten fallida ya no estaacute presente Auto Scaling

cancela la instancia EC2 existente e inicia inmediatamente una nueva para escalar a la capacidaddeseada La nueva instancia deberiacutea pasar prontoInServiceestado La nueva instancia noincluye software

5 Espere a que la instancia EC2 introduzca elInServiceestado Para verificar su estado utilice elsiguiente comando

aws autoscaling describe-auto-scaling-groups --auto-scaling-group-namesASG_NAME --query AutoScalingGroups[0]Instances[]LifecycleState

6 Vuelva a agregar el gancho a la instancia EC2Versioacuten de API 2014-10-06

483

AWS CodeDeploy Guiacutea del usuarioError laquoLa implementacioacuten ha fallado porque no se han

encontrado instancias para el grupo de implementacioacutenraquo

Important

Usar CodeDeploy comando que se muestra a continuacioacuten para antildeadir el gancho No utiliceel servicio Auto Scaling para agregar el gancho porque CodeDeploy no reconoceraacute laadicioacuten

aws deploy update-deployment-group --application-name APPLICATION_NAME --current-deployment-group-name DEPLOYMENT_GROUP_NAME --auto-scaling-groupsASG_NAME

Tras ejecutar este comando se produce lo siguiente

a CodeDeploy vuelve a instalar el gancho del ciclo de vida de Auto Scaling en la instancia EC2b CodeDeploy vuelve a registrar el grupo Auto Scaling con el grupo de implementacioacuten

7 Cree una implementacioacuten en toda la flota con Amazon S3 o GitHub revisioacuten que sabe que essaludable y desea usar

Por ejemplo si la revisioacuten es un archivozip en un bucket de Amazon S3 denominadomy-revision-bucketcon una clave de objeto dehttpd_appzip escriba el siguiente comando

aws deploy create-deployment --application-name APPLICATION_NAME--deployment-group-name DEPLOYMENT_GROUP_NAME --revision revisionType=S3s3Location=bucket=my-revision-bucketbundleType=zipkey=httpd_appzip

Puesto que ahora hay unoInServiceen el grupo Auto Scaling esta implementacioacuten deberiacuteafuncionar y ya no deberiacutea ver el errorLa implementacioacuten ha fallado porque no se han encontradoinstancias para el grupo de implementacioacuten

8 Una vez que la implementacioacuten se haya realizado correctamente vuelva a escalar el grupo AutoScaling a la capacidad original si lo ha escalado previamente en

aws autoscaling set-desired-capacity --auto-scaling-group-name ASG_NAME --desired-capacity ORIGINAL_CAPACITY

Para solucionar el problema de interbloqueo de implementacioacuten (consola)

1 (Opcional) Bloquee las canalizaciones de CICD que estaacuten provocando el CodeDeploy error para queno se produzcan implementaciones inesperadas mientras soluciona este problema

2 Vaya a la consola de Amazon EC2 y tome nota de su Auto ScalingCapacidad deseadaconfiguracioacutende Es posible que tenga que volver a este nuacutemero al final de este procedimiento Para obtenermaacutes informacioacuten sobre coacutemo encontrar esta configuracioacuten consulteEstablecimiento de liacutemites decapacidad en el grupo de Auto Scaling

3 Defina el nuacutemero deseado de instancias EC2 en1

Esto es opcional si la capacidad deseada es superior a1Para empezar Al reducirlo a1 la instanciatardaraacute menos tiempo en aprovisionar e implementar maacutes adelante lo que acelera la solucioacuten deproblemas Si su Auto ScalingCapacidad deseadase establecioacute originalmente en0 debes aumentarloa1 Es obligatorio

Note

En los pasos restantes de este procedimiento se supone que ha configurado suCapacidaddeseadaa1

a Abra la consola de Amazon EC2 Auto Scaling en httpsconsoleawsamazoncomec2autoscaling

Versioacuten de API 2014-10-06484

AWS CodeDeploy Guiacutea del usuarioError laquoLa implementacioacuten ha fallado porque no se han

encontrado instancias para el grupo de implementacioacutenraquo

b Elija la regioacuten apropiadac Vaya al grupo problemaacutetico de Auto Scalingd EnDetalles del grupo eligeEditare EstablezcaCapacidad deseadaa1f Elija Update (Actualizar)

4 Anular el registro del grupo Auto Scaling del grupo de implementacioacuten

Warning

Los siguientes pasos secundarios lanzaraacuten una nueva instancia EC2 sin software en ellaAntes de ejecutar el comando aseguacuterese de que una Auto ScalingInServiceinstancia queno ejecuta ninguacuten software es aceptable Por ejemplo aseguacuterese de que el equilibrador decarga no estaacute enviando traacutefico a este host sin software

a Abra el icono CodeDeploy Consola de enhttpsconsoleawsamazoncomcodedeployb Elija la regioacuten apropiadac En el panel de navegacioacuten elija Applications (Aplicaciones)d Elija el nombre de su CodeDeploy revisiones dee Elija el nombre de su CodeDeploy grupo de implementacionesf Elija Edit (Editar)g EnConfiguracioacuten del entorno anule la seleccioacuten deGrupos de Auto Scaling de Amazon EC2

Note

La consola no permite guardar la configuracioacuten si no hay ninguna configuracioacuten deentorno definida Para omitir la comprobacioacuten agregue temporalmente una etiquetadeEC2oOn-premisesque sabes que no resolveraacuten a ninguacuten host Para agregar unaetiqueta seleccioneInstancias de Amazon EC2oInstancia on-premisesy agregar unaetiquetaClavedeEC2oOn-premises Puede dejar la etiquetaValorvaciacuteo

h Elija Save changes (Guardar cambios)

Despueacutes de completar estos pasos secundarios se produce lo siguiente

i CodeDeploy anula el registro del grupo Auto Scaling del grupo de implementacioacutenii CodeDeploy elimina el enlace de ciclo de vida de Auto Scaling del grupo de Auto Scalingiii Dado que el gancho que provocaba una implementacioacuten fallida ya no estaacute presente Auto

Scaling cancela la instancia EC2 existente e inicia inmediatamente una nueva para escalar ala capacidad deseada La nueva instancia deberiacutea pasar prontoInServiceestado La nuevainstancia no incluye software

5 Espere a que la instancia EC2 introduzca elInServiceestado Para verificar su estado

a Abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2b En el panel de navegacioacuten elija Auto Scaling Groups (Grupos de )c Elija el grupo de Auto Scalingd En el panel de contenido elija laAdministracioacuten de instanciastabuladore UNDERInstancias aseguacuterese de que elCiclo de vidacolumna indicaInServicejunto a la instancia

6 Vuelva a registrar el grupo de Auto Scaling con el CodeDeploy grupo de despliegue utilizando elmismo meacutetodo que utilizoacute para eliminarlo

a Abra el icono CodeDeploy Consola de enhttpsconsoleawsamazoncomcodedeployb Elija la regioacuten apropiadac En el panel de navegacioacuten elija Applications (Aplicaciones)d Elija el nombre de su CodeDeploy revisiones de

Versioacuten de API 2014-10-06485

AWS CodeDeploy Guiacutea del usuarioCoacutedigos de error

e Elija el nombre de su CodeDeploy grupo de implementacionesf Elija Edit (Editar)g EnConfiguracioacuten del entorno seleccioneGrupos de Auto Scaling de Amazon EC2y seleccione el

grupo Auto Scaling de la listah UNDERInstancias de Amazon EC2oInstancias on-premises busca la etiqueta que has agregado

y quiacutetalai Anule la seleccioacuten de la casilla situada junto aInstancias de Amazon EC2oInstancias on-premisesj Elija Save changes (Guardar cambios)

Esta configuracioacuten vuelve a instalar el gancho del ciclo de vida en el grupo Auto Scaling7 Cree una implementacioacuten en toda la flota con Amazon S3 o GitHub revisioacuten que sabe que es

saludable y desea usar

Por ejemplo si la revisioacuten es un archivozip en un bucket de Amazon S3 denominadomy-revision-bucketcon una clave de objeto dehttpd_appzip realice una de las siguientes opciones

a En el navegador CodeDeploy Consola de en laGrupo de implementacionespaacutegina elijaCrearimplementacioacuten

b En Revision type (Tipo de revisioacuten) elija My application is stored in Amazon S3 (Mi aplicacioacuten estaacutealmacenada en Amazon S3)

c ParaUbicacioacuten de revisioacuten eliges3my-revision-buckethttpd_appzipd ParaTipo de archivo de revisioacuten eligezipe Elija Create deployment (Crear implementacioacuten)

Puesto que ahora hay unoInServiceen el grupo Auto Scaling esta implementacioacuten deberiacuteafuncionar y ya no deberiacutea ver el errorLa implementacioacuten ha fallado porque no se han encontradoinstancias para el grupo de implementacioacuten

8 Una vez que la implementacioacuten se haya realizado correctamente vuelva a escalar el grupo AutoScaling a la capacidad original si lo ha escalado previamente en

a Abra la consola de Amazon EC2 Auto Scaling en httpsconsoleawsamazoncomec2autoscaling

b Elija la regioacuten apropiadac Vaya a su grupo de Auto Scalingd EnDetalles del grupo eligeEditare EstablezcaCapacidad deseadade nuevo a su valor originalf Elija Update (Actualizar)

Coacutedigos de error deAWS CodeDeployEste tema ofrece informacioacuten de referencia acerca de errores de CodeDeploy

Coacutedigo de error Descripcioacuten

AGENT_ISSUE

La implementacioacuten falloacute debido a un problema conel agente de CodeDeploy Aseguacuterese de que elagente estaacute instalado y se ejecuta en todas lasinstancias de este grupo de implementaciones

Maacutes informacioacuten

Versioacuten de API 2014-10-06486

AWS CodeDeploy Guiacutea del usuarioCoacutedigos de error

Coacutedigo de error Descripcioacutenbull Verifique que el agente de CodeDeploy esteacute en

ejecucioacuten (p 186)bull Instalacioacuten del agente de CodeDeploy (p 189)bull Trabajar con el agente de CodeDeploy (p 175)

AUTO_SCALING_IAM_ROLE_PERMISSIONS

El rol de servicio asociado a su grupo deimplementaciones no tiene el permisonecesario para llevar a cabo operacionesdeAWSservicioservicio

Maacutes informacioacuten

bull Paso 2 Creacioacuten de un rol de servicio paraCodeDeploy (p 36)

bull Creacioacuten de un rol para delegar permisos aunAWSService (Servicio)

HEALTH_CONSTRAINTS

La implementacioacuten global falloacute porquefallaron demasiadas instancias individualesde la implementacioacuten hay muy pocasinstancias en buen estado disponibles para laimplementacioacuten o algunas instancias de su grupode implementaciones tienen problemas

Maacutes informacioacuten

bull Instance Health (p 259)bull Solucioacuten de problemas de instancias (p 472)bull Solucioacuten de problemas de implementacioacuten EC2

On-premises (p 462)

HEALTH_CONSTRAINTS_INVALID

La implementacioacuten no puede comenzar porqueno hay el nuacutemero miacutenimo de instancias en buenestado tal como define la configuracioacuten deimplementacioacuten Puede reducir el nuacutemero deinstancias en buen estado necesario actualizandola configuracioacuten de implementacioacuten o aumentandoel nuacutemero de instancias de este grupo deimplementaciones

Maacutes informacioacuten

bull Instance Health (p 259)bull Trabajo con instancias para CodeDeploy (p 207)

Versioacuten de API 2014-10-06487

AWS CodeDeploy Guiacutea del usuarioCoacutedigos de error

Coacutedigo de error Descripcioacuten

IAM_ROLE_MISSING

La implementacioacuten falloacute porque no existe ninguacutenrol de servicio con el nombre especificado para elgrupo de implementaciones Aseguacuterese de queutiliza el nombre de rol de servicio correcto

Maacutes informacioacuten

bull Paso 2 Creacioacuten de un rol de servicio paraCodeDeploy (p 36)

bull Cambiar la configuracioacuten del grupo deimplementacioacuten con CodeDeploy (p 301)

IAM_ROLE_PERMISSIONS

CodeDeploy no tiene los permisos necesarios paraasumir un rol o el rol de IAM que estaacute utilizandono le da permiso para realizar operaciones enunAWSservicioservicio

Maacutes informacioacuten

bull Paso 3 Provisionar un usuario de IAM (p 41)bull Paso 2 Creacioacuten de un rol de servicio para

CodeDeploy (p 36)bull Paso 4 Crear un perfil de instancias de IAM para

sus instancias Amazon EC2 (p 43)

Versioacuten de API 2014-10-06488

AWS CodeDeploy Guiacutea del usuarioCoacutedigos de error

Coacutedigo de error Descripcioacuten

NO_INSTANCES

Esto podriacutea deberse a una de las siguientescausas

bull Si se trata de una implementacioacuten bluegreende EC2local si utiliza etiquetas de AmazonEC2 es posible que estas etiquetas no esteacutenconfiguradas correctamente En su grupo deimplementaciones de CodeDeploy aseguacuteresede que se incluyen en sus instancias blue ygreen Puede confirmar que las instancias estaacutenetiquetadas correctamente a traveacutes de la consolade Amazon EC2

bull Si utiliza un grupo de Auto Scaling de AmazonEC2 es posible que su grupo de Auto Scalingno tenga capacidad suficiente Aseguacuterese deque su grupo de Auto Scaling tenga capacidadsuficiente para su implementacioacuten Puedeconsultar la capacidad de su grupo de AutoScaling de Amazon EC2 observando el nuacutemerode instancias en buen estado mediante laconsola de Amazon EC2

bull Si se trata de una implementacioacuten bluegreen deEC2local es posible que las flotas blue y greenno tengan el mismo tamantildeo Aseguacuterese de queambas flotas tengan el mismo tamantildeo

Maacutes informacioacuten

bull Tagging Instances for Deployments (p 209)bull Tutorial UsarCodeDeploypara implementar una

aplicacioacuten en un grupo de Auto Scaling (p 110)bull Cree una aplicacioacuten para una implementacioacuten

bluegreen (consola) (p 276)

OVER_MAX_INSTANCES

La implementacioacuten falloacute porque desea implementarmaacutes instancias de las que estaacuten autorizadas parasu cuenta Para reducir el nuacutemero de instanciasque desea implementar actualice la configuracioacutende etiqueta de este grupo de implementacioneso elimine algunas de las instancias de destinoTambieacuten puede ponerse en contacto conAWSSupportpara solicitar un aumento de liacutemites

Maacutes informacioacuten

bull Cambiar la configuracioacuten del grupo deimplementacioacuten con CodeDeploy (p 301)

bull liacutemites de CodeDeploy (p 454)bull Solicitar un aumento del liacutemite

Versioacuten de API 2014-10-06489

AWS CodeDeploy Guiacutea del usuarioTemas relacionados

Coacutedigo de error Descripcioacuten

THROTTLED

La implementacioacuten falloacute porque un rol de IAMrealizoacute maacutes solicitudes de las permitidas paraAWS CodeDeploy Intente reducir el nuacutemero desolicitudes

Maacutes informacioacuten

bull Tasa de solicitudes de la API de consulta

UNABLE_TO_SEND_ASG

La implementacioacuten falloacute porque el grupode implementaciones no estaacute configuradocorrectamente con su grupo de Auto Scaling deAmazon EC2 En la consola de CodeDeployelimine el grupo de Amazon EC2 Auto Scalingdel grupo de implementaciones y a continuacioacutenantildeaacutedalo de nuevo

Maacutes informacioacuten

bull Entre armazones Integracioacuten de CodeDeploy yAuto Scaling

Temas relacionadosSolucioacuten de problemas de CodeDeploy (p 459)

Versioacuten de API 2014-10-06490

AWS CodeDeploy Guiacutea del usuarioGuiacuteas de referencia y recursos de soporte

Recursos de CodeDeployLos recursos relacionados siguientes pueden serle de ayuda cuando trabaje con CodeDeploy

Guiacuteas de referencia y recursos de soportebull AWS CodeDeployReferencia de la API descripciones sintaxis y ejemplos de uso de acciones de

CodeDeploy y tipos de datos incluidos los paraacutemetros y los coacutedigos de error maacutes comunesbull Preguntas teacutecnicas de CodeDeploy las principales preguntas de los clientes acerca de CodeDeploybull AWScentro de asistencia centro para crear y administrar suAWS Supportcasos Tambieacuten incluye

enlaces a otros recursos como foros preguntas teacutecnicas frecuentes estado de los servicios yAWSTrusted Advisor

bull AWSplanes de soporte paacutegina web principal con informacioacuten acerca deAWS Supportplanesbull Contacte con nosotros un punto central de contacto para las consultas relacionadas con la facturacioacuten

de AWS cuentas eventos uso indebido y otros problemasbull AWSteacuterminos del sitio informacioacuten detallada acerca de nuestros derechos de autor y marca comercial

su cuenta licencia y acceso al sitio entre otros temas

Muestrasbull Ejemplos de CodeDeploy en GitHub ejemplos y escenarios de plantillas para CodeDeploybull Complemento CodeDeploy Jenkinsmdash Complemento Jenkins para CodeDeploybull Agente CodeDeploy versioacuten de coacutedigo abierto del agente CodeDeploy

Blogsbull AWSBlog DevOps informacioacuten para desarrolladores administradores de sistemas y arquitectos

AWSkits y herramientas de desarrollo de softwareLos siguientes ejemplos deAWSLos SDK y herramientas de admiten el desarrollo de soluciones conCodeDeploy

bull AWS SDK for NETbull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHPbull AWS SDK for Python (Boto)bull AWS SDK for Rubybull AWS Toolkit for Eclipsemdash Piezas12 y3bull AWS Tools for Windows PowerShell un conjunto de cmdlets de Windows PowerShell que exponen la

funcionalidad de AWS SDK for NET en el entorno de PowerShell

Versioacuten de API 2014-10-06491

AWS CodeDeploy Guiacutea del usuarioAWSkits y herramientas de desarrollo de software

bull cmdlets CodeDeploy en elAWS Tools for PowerShell un conjunto de cmdlets de Windows PowerShellque exponen la funcionalidad de CodeDeploy en el entorno de PowerShell

bull AWS Command Line Interface una sintaxis de liacutenea de comandos uniforme para acceder a los serviciosde AWS La AWS CLI utiliza un uacutenico proceso de configuracioacuten para permitir el acceso a todos losservicios compatibles

bull AWSherramientas para desarrolladores enlaces a herramientas y recursos para desarrolladores queproporcionan documentacioacuten ejemplos de coacutedigo notas de la versioacuten y otra informacioacuten para ayudarle acrear aplicaciones innovadoras con CodeDeploy yAWS

Versioacuten de API 2014-10-06492

AWS CodeDeploy Guiacutea del usuario

Historial de documentosEn la siguiente tabla se describen los principales cambios que se han realizado en esta guiacutea delusuario para antildeadir una funcionalidad nueva y mejorada desde la uacuteltima versioacuten deGuiacutea del usuario deCodeDeploy

bull Versioacuten de la API 06102014bull Uacuteltima actualizacioacuten de la documentacioacuten8 de abril de 2022

update-history-change update-history-description update-history-date

Se ha antildeadido una tablaque muestra el CodeDeployendpoints admitidos en cadaregioacuten (p 493)

Para obtener maacutes informacioacutenconsulteUsar CodeDeploy conAmazon Virtual Private Cloud

20 de abril de 2022

Se ha antildeadido un nuevo liacutemitepara las implementaciones bluegreen (azulverde) de AmazonECS (p 493)

El nuacutemero maacuteximo de horasentre la implementacioacuten deuna revisioacuten y el desviacuteo deltraacutefico al entorno de sustitucioacutendurante una implementacioacutenbluegreen de AmazonECS ahora es de 120 Paraobtener maacutes informacioacutenconsulteImplementacionesenlaLiacutemitestema

12 de abril de 2022

Se ha antildeadido un tema sobrecoacutemo evitar el problema delsuplente confuso (p 493)

Para obtener maacutes informacioacutenconsulteAWS Identity andAccess ManagementparaAWSCodeDeploy

14 de marzo de 2022

CodeDeploy ha actualizadoun existenteAWSpoliacuteticaadministrada (p 493)

LaAmazonEC2RoleforAWSCodeDeployLimitedseha actualizado el rol Paraobtener maacutes informacioacutenconsulteAWSactualizaciones depoliacuteticas administradas

22 de noviembre de 2021

CodeDeploy ha actualizadoun existenteAWSpoliacuteticaadministrada (p 493)

LaAWSCodeDeployRoleseha actualizado Paraobtener maacutes informacioacutenconsulteAWSactualizaciones depoliacuteticas administradas

18 de mayo de 2021

Versioacuten 132 del agente deCodeDeploy (p 493)

LaAWS CodeDeployagente de seha actualizado a la versioacuten 132Para obtener maacutes informacioacutenconsulteHistorial de versiones delCodeDeploy Agente

6 de mayo de 2021

CodeDeploy admitela actualizacioacuten deinstancias de Amazon EC2obsoletas (p 493)

CodeDeploy ahora admitela actualizacioacuten automaacuteticade instancias AmazonEC2 obsoletas Paraobtener maacutes informacioacuten

23 de febrero de 2021

Versioacuten de API 2014-10-06493

AWS CodeDeploy Guiacutea del usuario

consulteConfiguracioacuten de lasopciones avanzadas de un grupode implementaciones

Versioacuten 131 del agente deCodeDeploy (p 493)

LaAWS CodeDeployagente de seha actualizado a la versioacuten 131Para obtener maacutes informacioacutenconsulteHistorial de versiones delCodeDeploy Agente

22 de diciembre de 2020

Versioacuten 130 del agente deCodeDeploy (p 493)

LaAWS CodeDeployagente de seha actualizado a la versioacuten 130Para obtener maacutes informacioacutenconsulteHistorial de versiones delCodeDeploy Agente

10 de noviembre de 2020

Versioacuten 121 del agente deCodeDeploy (p 493)

LaAWS CodeDeployagente de seha actualizado a la versioacuten 121Para obtener maacutes informacioacutenconsulteHistorial de versiones delCodeDeploy Agente

23 de septiembre de 2020

CodeDeploy admite puntosde enlace de AmazonVPC con tecnologiacuteaAWSPrivateLink (p 493)

Si utiliza Amazon Virtual PrivateCloud (Amazon VPC) para alojarsuAWS puede establecer unaconexioacuten privada entre su VPCy CodeDeploy Puede utilizaresta conexioacuten para habilitarque CodeDeploy se comuniquecon sus recursos en su VPCsin pasar por la red puacuteblicade Internet Para obtener maacutesinformacioacuten consulteUsarCodeDeploy con Amazon VirtualPrivate Cloud

11 de agosto de 2020

Actualizado CodeDeploy liacutemitesde los servicios (p 493)

Se ha actualizado el liacutemitepara el nuacutemero de aplicacionespor cuenta y el nuacutemero degrupos de implementacioacutenpor aplicacioacuten a 1000 Paraobtener maacutes informacioacuten sobrelas CodeDeploy liacutemites deservicio de consulteliacutemites deCodeDeploy

6 de agosto de 2020

Versioacuten del agente CodeDeployv112 (p 493)

LaAWS CodeDeployagente de seha actualizado a la versioacuten 112Para obtener maacutes informacioacutenconsulteHistorial de versiones delCodeDeploy Agente

4 de agosto de 2020

Versioacuten de API 2014-10-06494

AWS CodeDeploy Guiacutea del usuario

Versioacuten 110 del agente deCodeDeploy de e integracioacutencon Amazon EC2 SystemsManager (p 493)

Versioacuten 110 del CodeDeployagente ya estaacute disponiblepara obtener maacutes informacioacutenconsulteHistorial de versionesdel CodeDeploy agenteAhora puede utilizar AmazonEC2 Systems Manager paraadministrar automaacuteticamentesu CodeDeploy instalacioacuten yactualizaciones del agente deen sus instancias de AmazonEC2 o en las instalacionesPara obtener maacutes informacioacutenconsulteInstale el agente deCodeDeploy mediante AmazonEC2 Systems Manager

30 de junio de 2020

CodeDeploy admite lagestioacuten de implementacionesbluegreen (azulverde)de Amazon ECS conAWSCloudFormation (p 493)

A partir de ahora puedeutilizarAWS CloudFormationparaadministrar las implementacioneslaquobluegreenraquo de Amazon ECSa traveacutes de CodeDeploy Paragenerar la implementacioacutendefina los recursos verdesy azules y especifique laconfiguracioacuten de enrutamientoy estabilizacioacuten del traacuteficoque se va a utilizar en AWSCloudFormation Para obtenermaacutes informacioacuten consulteCrearuna implementacioacuten bluegreen(azulverde) de Amazon ECSmedianteAWS CloudFormation

19 de mayo de 2020

CodeDeploy admite la desviacioacutenponderada del traacutefico paraimplementaciones bluegreen deAmazon ECS (p 493)

CodeDeploy admite ahorala desviacioacuten ponderada deltraacutefico para implementacionesbluegreen de Amazon ECSPuede elegir o crear unaconfiguracioacuten de implementacioacutenpara especificar el nuacutemero deintervalos de cambio de traacutefico dela implementacioacuten y el porcentajede traacutefico que se va a cambiar encada intervalo Se ha actualizadoel tema siguiente para reflejareste cambio Configuracionesde implementacioacuten en unaplataforma de computacioacutenAmazon ECS

6 de febrero de 2020

Se han actualizado los temas deseguridad autenticacioacuten y controlde acceso (p 493)

Informacioacuten de control de accesoautenticacioacuten y seguridad paraCodeDeploy se ha organizado enun nuevo capiacutetulo de seguridadPara obtener maacutes informacioacutenconsulte Seguridad

26 de noviembre de 2019

Versioacuten de API 2014-10-06495

AWS CodeDeploy Guiacutea del usuario

CodeDeploy admite reglas denotificacioacuten (p 493)

Ahora puede usar reglas denotificacioacuten para notificar a losusuarios los cambios importantesen las implementacionesPara obtener maacutes informacioacutenconsulte Create a notificationrule

5 de noviembre de 2019

Temas actualizados (p 493) Ahora CodeDeploy estaacutedisponible en la regioacuten Asia-Paciacutefico (Hong Kong) (ap-east-1)Varios temas incluidos los quecontienen instrucciones paraconfigurar el CodeDeploy se han actualizado parareflejar la disponibilidad deesta nueva regioacuten Debehabilitar expliacutecitamente elacceso a esta regioacuten Paraobtener maacutes informacioacutenconsulteAdministracioacutenAWSRegionesde

25 de abril de 2019

Temas actualizados (p 493) AWS CodeDeployahoraadmite implementaciones bluegreen de una aplicacioacuten encontenedor en un servicio deAmazon ECS UNA CodeDeployaplicacioacuten de que utiliza la nuevaplataforma de procesamientode Amazon ECS implementauna aplicacioacuten en contenedoren un nuevo conjunto de tareasde sustitucioacuten en el mismoservicio de Amazon ECS Sehan antildeadido y actualizado variostemas para reflejar este cambiocomoInformacioacuten general deAWSCodeDeployplataformas decomputacioacutenImplementacionesen una plataforma decomputacioacuten AmazonECSEstructura de archivos deAppSpec para implementacionesde Amazon ECS yCreacioacutende una aplicacioacuten para unaimplementacioacuten de servicios deAmazon ECS (consola)

27 de noviembre de 2018

Actualizado CodeDeployagente (p 493)

El agente de AWS CodeDeployse ha actualizado a la versioacuten1011597 Para obtener maacutesinformacioacuten consulteHistorialde versiones del CodeDeployagente

15 de noviembre de 2018

Versioacuten de API 2014-10-06496

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Consola actualizada (p 493) Los procedimientos en esta guiacutease han actualizado para quecoincidan con el nuevo disentildeo dela consola de CodeDeploy

30 de octubre de 2018

Nueva versioacuten miacutenimaadmitida del CodeDeployagente (p 493)

La versioacuten miacutenima admitidadelAWS CodeDeployes ahora110 Para obtener maacutesinformacioacuten consulteHistorialde versiones del CodeDeployagente

7 de agosto de 2018

Actualizaciones anterioresEn la siguiente tabla se describen los cambios importantes de cada versioacuten de la Guiacutea del usuario de AWSCodeDeploy anteriores a junio de 2018

Cambio Descripcioacuten Fecha demodificacioacuten

Actualizaciones detemas

Ahora CodeDeploy estaacute disponible en la regioacuten UE (Pariacutes) (eu-west-3) Varios temas incluidos los que contienen instruccionespara configurar el CodeDeploy se han actualizado para reflejarla disponibilidad de esta nueva regioacuten

19 dediciembre de2017

Temas actualizados CodeDeploy ya se encuentra disponible en la regioacuten China(Ningxia)

Para utilizar servicios en la regioacuten de China (Pekiacuten) o China(Ningxia) debe disponer de una cuenta y de credencialespara dichas regiones Cuentas y credenciales de otrosAWSnofuncionan para las regiones de Pekiacuten y Ningxia y viceversa

Informacioacuten sobre algunos recursos para las regiones deChina como CodeDeploy Nombres de bucket del kit derecursos y CodeDeploy los procedimientos de instalacioacuten delagente no se incluyen en esta edicioacuten delGuiacutea del usuario deCodeDeploy

Para obtener maacutes informacioacuten

bull CodeDeployenIntroduccioacuten aAWSen la regioacuten China (Pekiacuten)bull Guiacutea del usuario de CodeDeploy para las regiones de

China(Versioacuten en ingleacutes|Versioacuten en chino)

11 dediciembre de2017

Temas actualizados CodeDeploy admite ahora la implementacioacuten de unafuncioacuten Lambda La implementacioacuten de AWS Lambdadesviacutea el traacutefico entrante de una funcioacuten Lambda existentea una versioacuten actualizada de la funcioacuten Lambda Puedeelegir o crear una configuracioacuten de implementacioacuten paraespecificar el nuacutemero de intervalos de cambio de traacutefico de laimplementacioacuten y el porcentaje de traacutefico que se va a cambiaren cada intervaloAWS Lambdalas implementaciones estaacutensoportadas por elAWSModelo de aplicacioacuten sin servidor de(AWSSAM) para que puedas usar unAWSPreferencia de

28 denoviembre de2017

Versioacuten de API 2014-10-06497

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

implementacioacuten de SAM para administrar la forma en que secambia el traacutefico durante unAWS LambdaimplementacioacutenSe han antildeadido y actualizado varios temas para reflejareste cambio como Descripcioacuten general de las plataformasinformaacuteticas de CodeDeploy (p 2) Implementaciones enunaAWSPlataforma de computacioacuten Lambda (p 16) Creacioacutende unAWSImplementacioacuten de Lambda Compute Platform(consola) (p 328) Cree una aplicacioacuten para unaAWSLambdaimplementacioacuten de funciones (consola) (p 281) yAdicioacuten de un archivo AppSpec para unAWSImplementacioacuten deLambda (p 310)

Nuevo tema Ahora CodeDeploy admite implementaciones directamente enuna instancia o equipo local en el que CodeDeploy agente estaacuteinstalado Puede probar una implementacioacuten de manera localy si contiene errores deba utilizar CodeDeploy registros deerrores del agente para depurarlos Tambieacuten puede usar unaimplementacioacuten local para probar la integridad de una revisioacutende la aplicacioacuten el contenido de un AppSpec archivo y maacutesPara obtener maacutes informacioacuten consulte Usar el agente deCodeDeploy para validar un paquete de implementacioacuten en unamaacutequina local (p 352)

16 denoviembre de2017

Temas actualizados La compatibilidad con CodeDeploy para los balanceadoresde carga de Elastic Load Balancing en los grupos deimplementaciones se ha ampliado para incluir balanceadoresde carga de red para las implementaciones laquobluegreenraquo (azulverde) como para las implementaciones in situ Ahorapuede elegir un Application Load Balancer un ClassicLoad Balancer o un Network Load Balancer para su grupode implementaciones Los balanceadores de carga sonobligatorios para las implementaciones ldquobluegreenrdquo (azulverde) y opcionales para las implementaciones in situ Variostemas se han actualizado para reflejar esta compatibilidadadicional tales como Integrating CodeDeploy with ElasticLoad Balancing (p 57) Cree una aplicacioacuten para unaimplementacioacuten in situ (consola) (p 274) Requisitos previospara la implementacioacuten (p 324) Integrating CodeDeploy withElastic Load Balancing (p 57) y Cree una aplicacioacuten para unaimplementacioacuten in situ (consola) (p 274)

12 deseptiembre de2017

Versioacuten de API 2014-10-06498

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Temas actualizados La compatibilidad con de CodeDeploy para los balanceadoresde carga de Elastic Load Balancing en los grupos deimplementaciones se ha ampliado para incluir a losbalanceadores de carga de aplicaciones tanto para lasimplementaciones laquobluegreenraquo (azulverde) como para lasAhora puede elegir entre un Application Load Balancer y unClassic Load Balancer para su grupo de implementacioacutenLos balanceadores de carga son obligatorios para lasimplementaciones ldquobluegreenrdquo (azulverde) y opcionalespara las implementaciones in situ Los temas IntegratingCodeDeploy with Elastic Load Balancing (p 57) Crear unaaplicacioacuten con CodeDeploy (p 273) y Creacioacuten de un grupo deimplementaciones con CodeDeploy (p 288) se han actualizadopara reflejar esta compatibilidad adicional

10 de agostode 2017

Temas nuevos yactualizados

Ahora CodeDeploy admite el uso de varios grupos de etiquetaspara identificar uniones e intersecciones de instancias que seincluiraacuten en un grupo de implementaciones de Si utiliza unuacutenico grupo de etiquetas cualquier instancia que se identifiquemediante al menos una etiqueta del grupo se incluye enel grupo de implementaciones Si utiliza varios grupos deetiquetas solo se incluyen las instancias que se identifican poral menos una etiqueta en cada uno de los grupos de etiquetasPara obtener maacutes informacioacuten sobre el nuevo meacutetodo deantildeadir instancias a un grupo de implementaciones consulteTagging Instances for Deployments (p 209) Entre otrostemas que se han actualizado para reflejar esta compatibilidadse incluyen Cree una aplicacioacuten para una implementacioacutenin situ (consola) (p 274) Cree una aplicacioacuten para unaimplementacioacuten bluegreen (consola) (p 276) Crear ungrupo de implementaciones para una implementacioacuten insitu (consola) (p 289) Crear un grupo de implementacionespara una implementacioacuten EC2On-Premises bluegreen(consola) (p 291) Deployments (p 16) y Paso 5 Crearuna aplicacioacuten y un grupo de implementaciones (p 133) enTutorial Usa CodeDeploy para desplegar una aplicacioacuten desdeGitHub (p 127)

31 de julio de2017

Tema actualizado Dos meacutetodos adicionales para instalar la CodeDeploy agentede instancias de Windows Server se ha antildeadido aInstale elagente de CodeDeploy para Windows Server (p 193) Ademaacutesde Windows PowerShell ahora hay instrucciones disponiblespara descargar el archivo de instalacioacuten mediante un enlaceHTTPS directo y usando un comando copy de Amazon S3Una vez que el archivo se haya descargado o copiado en unainstancia puede ejecutar la instalacioacuten manualmente

12 de julio de2017

Versioacuten de API 2014-10-06499

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Temas actualizados CodeDeploy ha mejorado la forma en que administra lasconexiones a GitHub cuentas y repositorios Ahora puede creary actualizar hasta 25 conexiones a cuentas de GitHub paraasociar CodeDeploy aplicaciones con GitHub repositoriosCada conexioacuten puede admitir muacuteltiples repositorios Puedecrear conexiones hasta 25 diferentes GitHub cuentas o creemaacutes de una conexioacuten con una cuenta uacutenica Despueacutes deconectar una aplicacioacuten a una cuenta de GitHub CodeDeployadministra los permisos de acceso requeridos sin requerirque haga nada maacutes Las actualizaciones que reflejan estacompatibilidad se realizaron en Especificar informacioacuten sobreuna revisioacuten almacenada en un repositorio de GitHub (p 332)Integracioacuten de CodeDeploy con GitHub (p 63) y TutorialUsa CodeDeploy para desplegar una aplicacioacuten desdeGitHub (p 127)

30 de mayode 2017

Temas actualizados En el pasado si el CodeDeploy el agente de detectoacute archivosen una ubicacioacuten de destino que no formaba parte de larevisioacuten de la aplicacioacuten desde la implementacioacuten correctamaacutes reciente la implementacioacuten actual produciriacutea un errorde forma predeterminada CodeDeploy Ahora proporcionaopciones para la forma en que el agente administra estosarchivos hace fracasar la implementacioacuten conserva elcontenido o sobrescribe el contenidoCree una implementacioacutencon CodeDeploy (p 324)se ha actualizado para reflejar estacompatibilidad y la nueva seccioacutenComportamiento de reversioacutencon contenido existente (p 347)se ha antildeadido aRedesplegar ydeshacer una implementacioacuten con CodeDeploy (p 345)

16 de mayode 2017

Temas actualizados Ahora se puede asignar una Classic Load BalancerLoad Balancing en Elastic Load Balancing a un grupo deimplementaciones utilizando el CodeDeploy consola oAWSCLI Durante una implementacioacuten local el balanceador decarga impide que el traacutefico de Internet se dirija a la instanciaen la que estaacute ocurriendo y la vuelve a poner a disposicioacutenuna vez finalizada dicha implementacioacuten Se han actualizadovarios temas para reflejar esta nueva compatibilidadincluidos Integracioacuten con otros servicios de AWS (p 48)Integrating CodeDeploy with Elastic Load Balancing (p 57)Cree una aplicacioacuten para una implementacioacuten in situ(consola) (p 274) Crear un grupo de implementaciones parauna implementacioacuten in situ (consola) (p 289) y la Seccioacutenhooks de AppSpec (p 422) Se ha antildeadido una seccioacuten nuevaa la guiacutea de solucioacuten de problemas Solucioacuten de problemas conun error ApplicationStop BeforeBlockTraffic o AfterBlockTrafficevento del ciclo de vida de la implementacioacuten (p 468)

27 de abril de2017

Versioacuten de API 2014-10-06500

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Temas actualizados Ahora se puede asignar una Classic Load BalancerLoad Balancing en Elastic Load Balancing a un grupo deimplementaciones utilizando el CodeDeploy consola oAWSCLI Durante una implementacioacuten local el balanceador decarga impide que el traacutefico de Internet se dirija a la instanciaen la que estaacute ocurriendo y la vuelve a poner a disposicioacutenuna vez finalizada dicha implementacioacuten Se han actualizadovarios temas para reflejar esta nueva compatibilidadincluidos Integracioacuten con otros servicios de AWS (p 48)Integrating CodeDeploy with Elastic Load Balancing (p 57)Cree una aplicacioacuten para una implementacioacuten in situ(consola) (p 274) Crear un grupo de implementaciones parauna implementacioacuten in situ (consola) (p 289) y la Seccioacutenhooks de AppSpec (p 422) Se ha antildeadido una seccioacuten nuevaa la guiacutea de solucioacuten de problemas Solucioacuten de problemas conun error ApplicationStop BeforeBlockTraffic o AfterBlockTrafficevento del ciclo de vida de la implementacioacuten (p 468)

1 de mayo de2017

Temas actualizados CodeDeploy ya se encuentra disponible en la regioacuten China(Pekiacuten)

Para utilizar servicios en la regioacuten de China (Pekiacuten) o China(Ningxia) debe disponer de una cuenta y de credencialespara dichas regiones Cuentas y credenciales de otrosAWSnofuncionan para las regiones de Pekiacuten y Ningxia y viceversa

Informacioacuten sobre algunos recursos para las regiones deChina como CodeDeploy Nombres de bucket del kit derecursos y CodeDeploy los procedimientos de instalacioacuten delagente no se incluyen en esta edicioacuten delGuiacutea del usuario deCodeDeploy

Para obtener maacutes informacioacuten

bull CodeDeployenIntroduccioacuten aAWSen la regioacuten China (Pekiacuten)bull Guiacutea del usuario de CodeDeploy para las regiones de

China(Versioacuten en ingleacutes|Versioacuten en chino)

29 de marzode 2017

Versioacuten de API 2014-10-06501

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Temas nuevos yactualizados

Se han introducido varios temas nuevos para reflejar nuevosCodeDeploy compatibilidad con las implementaciones laquobluegreenraquo (azulverde) un meacutetodo de implementacioacuten en el quelas instancias de un grupo de implementacioacuten (el entornooriginal) se sustituye por otro conjunto de instancias (el entornode sustitucioacuten)Descripcioacuten general de una implementacioacutenlaquobluegreenraquo (p 9)proporciona una explicacioacuten general dela metodologiacutea laquobluegreenraquo que utiliza CodeDeploy Lostemas adicionales nuevos incluyen Cree una aplicacioacuten parauna implementacioacuten bluegreen (consola) (p 276) Crearun grupo de implementaciones para una implementacioacutenEC2On-Premises bluegreen (consola) (p 291) y Configurarun equilibrador de carga en Elastic Load Balancing paraimplementaciones de CodeDeploy Amazon EC2 (p 295)

Ademaacutes se han actualizado numerosos temas incluidosCree una implementacioacuten con CodeDeploy (p 324) Uso deconfiguraciones de implementacioacuten en CodeDeploy (p 264)Crear una aplicacioacuten con CodeDeploy (p 273) Trabajar congrupos de implementaciones en CodeDeploy (p 287) Usode las implementaciones en CodeDeploy (p 323) y la Seccioacutenhooks de AppSpec (p 422)

25 de enerode 2017

Temas nuevos yactualizados

Hay un tema nuevo Utilice el comando register-on-premises-instance (ARN de sesioacuten de IAM) para registrar una instanciaon-premises (p 246) que describe la forma de autenticary registrar las instancias on-premises mediante el uso decredenciales temporales actualizadas perioacutedicamentegeneradas con AWS Security Token Service Este enfoqueproporciona una mejor compatibilidad para admitir grandesflotas de instancias on-premises que solamente el uso decredenciales estaacuteticas de un usuario de IAM en cada instanciaWorking with On-Premises Instances (p 230) tambieacuten se haactualizado para reflejar esta nueva compatibilidad

28 dediciembre de2016

Temas actualizados CodeDeploy ya se encuentra disponible en la regioacuten UE(Londres) (eu-west-2) Varios temas incluidos los quecontienen instrucciones para configurar el CodeDeploy se hanactualizado para reflejar la disponibilidad de esta nueva regioacuten

13 dediciembre de2016

Temas actualizados CodeDeploy ya se encuentra disponible en la regioacuten Canadaacute(Central) (ca-central-1) Varios temas incluidos los quecontienen instrucciones para configurar el CodeDeploy se hanactualizado para reflejar la disponibilidad de esta nueva regioacuten

8 dediciembre de2016

Temas actualizados CodeDeploy ya se encuentra disponible en la regioacuten Este deEE UU (Ohio) (us-east-2) Varios temas incluidos los quecontienen instrucciones para configurar el CodeDeploy se hanactualizado para reflejar la disponibilidad de esta nueva regioacuten

17 de octubrede 2016

Versioacuten de API 2014-10-06502

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Temas nuevos Una nueva seccioacuten Autenticacioacuten y Control de Accesoproporciona informacioacuten completa sobre coacutemo usarAWSIdentity and Access Management(IAM)y CodeDeploypara ayudar a proteger el acceso a los recursos mediantecredenciales Estas credenciales proporcionan los permisosnecesarios para accederAWSrecursos como por ejemplola recuperacioacuten de revisiones de aplicacioacuten de buckets deAmazon S3 y la lectura de etiquetas en instancias de AmazonEC2

11 de octubrede 2016

Tema actualizado Actualizar el agente de CodeDeploy en WindowsServer (p 199)se ha actualizado para reflejar la disponibilidaddel nuevo CodeDeploy actualizador de agente para WindowsServer Cuando se lo instala en una instancia de WindowsServer el actualizador comprobaraacute perioacutedicamente si existennuevas versiones Cuando detecte una nueva versioacuten delagente el actualizador desinstalaraacute la versioacuten actual si la hayantes de instalar la uacuteltima versioacuten

4 de octubrede 2016

Temas actualizados CodeDeploy ahora se integra con Amazon CloudWatch loque hace posible detener una implementacioacuten si se produce uncambio en el estado de una alarma determinada durante variosperiacuteodos consecutivos seguacuten se especifica en el umbral dealarma

Ademaacutes CodeDeploy ahora admite la anulacioacuten automaacutetica deuna implementacioacuten si se cumplen ciertas condiciones comoun error en la implementacioacuten o la activacioacuten de una alarma

Se han actualizado una serie de temas para reflejarestos cambios incluidos Crear una aplicacioacuten conCodeDeploy (p 273) Creacioacuten de un grupo deimplementaciones con CodeDeploy (p 288) Cambiarla configuracioacuten del grupo de implementacioacuten conCodeDeploy (p 301) Deployments (p 16) Redesplegar ydeshacer una implementacioacuten con CodeDeploy (p 345) yIntegraciones de productos y servicios con CodeDeploy (p 48)junto con un tema nuevo Supervisioacuten de implementaciones conalarmas de CloudWatch en CodeDeploy (p 360)

15 deseptiembre de2016

Temas nuevos yactualizados

CodeDeploy ahora proporciona integracioacuten con AmazonCloudWatch Eventos A partir de ahora puede utilizarCloudWatch Eventos para iniciar una o varias acciones cuandose detectan cambios en el estado de una implementacioacuteno de una instancia que pertenece a un CodeDeploy grupode implementaciones Puede incorporar acciones queinvoquenAWS Lambdafunciones de que publican en flujos deKinesis o temas de Amazon SNS que insertan mensajes encolas de Amazon SQS o que a su vez activan CloudWatchacciones de alarma Para obtener maacutes informacioacuten consulteMonitoreo de implementaciones de mediante AmazonCloudWatch Events (p 362)

9 deseptiembre de2016

Versioacuten de API 2014-10-06503

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Actualizaciones detemas

Los temasIntegrating CodeDeploy with Elastic LoadBalancing (p 57)yIntegracioacuten con otros servicios deAWS (p 48)se han actualizado para reflejar una opcioacutenadicional de balanceador de carga CodeDeploy ahoraadmite el Classic Load Balancer y Application Load Balancerdisponibles en Elastic Load Balancing

11 de agostode 2016

Actualizaciones detemas

Ahora CodeDeploy estaacute disponible en la regioacuten Asia-Paciacutefico(Mumbai) (ap-south-1) Varios temas incluidos los quecontienen instrucciones para configurar el CodeDeploy se hanactualizado para reflejar la disponibilidad de esta nueva regioacuten

27 de junio de2016

Actualizaciones detemas

Ahora CodeDeploy estaacute disponible en la regioacuten Asia-Paciacutefico(Seuacutel) (ap-northeast-2) Para reflejar la disponibilidad de estanueva regioacuten se han actualizado varios temas incluidos losque contienen instrucciones para configurar el agente deCodeDeploy

El iacutendice se ha reorganizado y ahora incluye seccionespara instancias configuraciones de implementacioacutenaplicaciones grupos de implementaciones revisiones eimplementaciones Se ha antildeadido una nueva seccioacuten paralos tutoriales de CodeDeploy A fin de facilitar su uso se handividido varios temas largos como Referencia del archivoCodeDeploy AppSpec (p 407) y Solucioacuten de problemas deCodeDeploy (p 459) en temas maacutes cortos La informacioacutensobre configuracioacuten del agente de CodeDeploy se hatrasladado a un tema nuevoReferencia de configuracioacuten delagente CodeDeploy (p 441)

15 de junio de2016

Temas nuevos yactualizados

Coacutedigos de error deAWS CodeDeploy (p 486) proporcionainformacioacuten sobre algunos de los mensajes de error quepodriacutean mostrarse cuando se produce un error en lasimplementaciones de CodeDeploy Se han actualizado las siguientes secciones en Solucioacuten deproblemas de CodeDeploy (p 459) para facilitar la resolucioacutende problemas de implementacioacuten

bull Las instancias EC2 de un grupo de Amazon EC2 AutoScaling no se pueden lanzar y aparece el error laquoHeartbeatTimeoutraquo (p 479)

bull Evite asociar varios grupos de implementaciones a un uacutenicogrupo de Amazon EC2 Auto Scaling (p 478)

20 de abril de2016

Actualizaciones detemas

Ahora CodeDeploy estaacute disponible en la regioacuten de Ameacuterica delSur (Satildeo Paulo) (sa-east-1) Para reflejar la disponibilidad deesta nueva regioacuten se han actualizado varios temas incluidoslos que contienen instrucciones para configurar el agente deCodeDeploy

Trabajar con el agente de CodeDeploy (p 175)se haactualizado para reflejar la nuevamax_revisionsopcioacuten deconfiguracioacuten que se utiliza para especificar el nuacutemero derevisiones de aplicacioacuten para un grupo de implementacionesque desea que CodeDeploy agente para archivar

10 de marzode 2016

Versioacuten de API 2014-10-06504

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Temas nuevos yactualizados

Ahora CodeDeploy admite la incorporacioacuten de disparadoresa un grupo de implementaciones de para recibir notificacionesacerca de los eventos relacionados con las implementacioneso instancias de ese grupo de implementaciones de Estasnotificaciones se enviacutean a los destinatarios que estaacuten suscritosa un tema de Amazon Simple Notification Service que formaparte de la accioacuten del disparador Tambieacuten puede utilizar losdatos JSON que se crean cuando se activa un disparadoren un flujo de trabajo de notificacioacuten personalizado Paraobtener maacutes informacioacuten consulte Monitoring Deploymentswith Amazon SNS Event Notifications (p 365)

Se han actualizado los procedimientos para reflejar el redisentildeode la paacutegina Application details

Se ha actualizado la seccioacuten Las implementaciones noproducen error hasta una hora despueacutes cuando se termina unainstancia durante una implementacioacuten (p 473) en Solucioacuten deproblemas de CodeDeploy (p 459)

liacutemites de CodeDeploy (p 454)se ha actualizado parareflejar los liacutemites revisados del nuacutemero de grupos deimplementaciones que se pueden asociar a una sola aplicacioacutenlos valores permitidos para una configuracioacuten con un miacutenimo deinstancias en buen estado y las versiones requeridas delAWSSDK for Ruby

17 de febrerode 2016

Temas nuevos yactualizados

Ahora CodeDeploy estaacute disponible en la regioacuten EE UU Oeste(Norte de California) (us-west-1) Para reflejar la incorporacioacutende esta nueva regioacuten se han actualizado varios temasincluidos los que contienen instrucciones para configurar elagente de CodeDeploy

Elija un tipo de repositorio de CodeDeploy (p 314)enumera ydescribe los tipos de repositorio que ahora admite CodeDeployEste tema nuevo se actualizaraacute a medida que se introduzca lacompatibilidad para otros tipos de repositorio

Administracioacuten de operaciones del agente deCodeDeploy (p 186)se ha actualizado con informacioacuten acercade la nuevaversionarchivo agregado a las instancias parainformar de la versioacuten actual del CodeDeploy agente de asiacutecomo informacioacuten sobre las versiones compatibles del agentede

Se ha antildeadido a la guiacutea del usuario resalte de la sintaxis paramuestras de coacutedigo que incluyen ejemplos de JSON y YAML

Agregar un archivo de especificacioacuten de aplicacioacuten a unarevisioacuten de CodeDeploy (p 308)se ha reorganizado como step-by-step instrucciones

20 de enerode 2016

Versioacuten de API 2014-10-06505

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Nuevo tema Implementar una aplicacioacuten en otroAWScuenta (p 349)describe los requisitos de configuracioacuten y el proceso parainiciar implementaciones que pertenecen a otra cuentade la organizacioacuten sin necesitar un conjunto completo decredenciales para esa otra cuenta Esto resulta muy uacutetil paralas organizaciones que utilizan muacuteltiples cuentas con finesdiferentes como una asociada a entornos de desarrollo yprueba y otra asociada a un entorno de produccioacuten

30 dediciembre de2015

Actualizacioacuten de tema Se ha redisentildeado el tema Integraciones de productos yservicios con CodeDeploy (p 48) Ahora incluye una seccioacutencon ejemplos de integracioacuten de la comunidad que incluye listasde entradas de blog y ejemplos de viacutedeos relacionados con lasintegraciones de CodeDeploy

16 dediciembre de2015

Actualizaciones detemas

Ahora CodeDeploy estaacute disponible en la regioacuten Asia-Paciacutefico(Singapur) (ap-southeast-1) Para reflejar la disponibilidad deesta nueva regioacuten se han actualizado varios temas incluidoslos que contienen instrucciones para configurar el agente deCodeDeploy

9 dediciembre de2015

Actualizaciones detemas

Trabajar con el agente de CodeDeploy (p 175)se haactualizado para reflejar la nuevaproxy_urien el archivo deconfiguracioacuten del agente de CodeDeployReferencia del archivo CodeDeploy AppSpec (p 407) se haactualizado con informacioacuten acerca del uso de una nuevavariable de entorno DEPLOYMENT_GROUP_ID a los que losscripts de enlace pueden tener acceso durante un evento delciclo de vida de la implementacioacuten

1 dediciembre de2015

Actualizacioacuten de tema Paso 2 Creacioacuten de un rol de servicio paraCodeDeploy (p 36)se ha actualizado para reflejar un nuevoprocedimiento para crear un rol de servicio para CodeDeploy eincorporar otras mejoras

13 denoviembre de2015

Actualizaciones detemas

Ahora CodeDeploy estaacute disponible en la regioacuten UE (Fraacutencfort)(eu-central-1) Varios temas incluidos los que contieneninstrucciones para configurar el CodeDeploy se hanactualizado para reflejar la disponibilidad de esta nueva regioacuten

El tema Solucioacuten de problemas de CodeDeploy (p 459) se haactualizado con informacioacuten acerca de coacutemo garantizar que laconfiguracioacuten de hora en las instancias sea precisa

19 de octubrede 2015

Temas nuevos AWS CloudFormationplantillas para referencia deCodeDeploy (p 444)se ha publicado para reflejar la nuevaAWSCloudFormationCompatibilidad con para CodeDeploy acciones

Se ha creado un tema de Primary Components (p 12) y se haintroducido la definicioacuten de una revisioacuten de destino

1 de octubrede 2015

Versioacuten de API 2014-10-06506

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Actualizaciones detemas

Creacioacuten de un grupo de implementaciones conCodeDeploy (p 288) se ha actualizado para reflejarla capacidad para ubicar instancias para un grupo deimplementaciones que utiliza buacutesquedas de comodiacuten

Instance Health (p 259) se ha actualizado para aclarar elconcepto de miacutenimo de instancias en buen estado

31 de agostode 2015

Actualizaciones detemas

Ahora CodeDeploy estaacute disponible en la regioacuten Asia-Paciacutefico(Tokio) (ap-northeast-1) Para reflejar la disponibilidad deesta nueva regioacuten se han actualizado varios temas incluidoslos que contienen instrucciones para configurar el agente deCodeDeploy

19 de agostode 2015

Actualizaciones detemas

Ahora CodeDeploy admite implementaciones en instanciason-premises de Red Hat Enterprise Linux (RHEL) e instanciasAmazon EC2 Para obtener maacutes informacioacuten consulte lossiguientes temas

bull Sistemas operativos compatibles con el agente deCodeDeploy (p 175)

bull Trabajo con instancias para CodeDeploy (p 207)bull Tutorial Implementar WordPress en una instancia de

Amazon EC2 (Amazon Linux o Red Hat Enterprise Linux yLinux macOS o Unix) (p 68)

bull Tutorial Implementar una aplicacioacuten en una instancia localcon CodeDeploy (Windows Server Ubuntu Server o Red HatEnterprise Linux) (p 103)

23 de junio de2015

Actualizacioacuten de tema Ahora CodeDeploy proporciona un conjunto de variablesde entorno que los scripts de enlace pueden usar durantelas implementaciones Estas variables de entorno incluyeninformacioacuten como el nombre del actual CodeDeployevento de ciclo de vida de la implementacioacuten del grupo deimplementaciones y del ciclo de vida de la implementacioacutenasiacute como el actual CodeDeploy identificador de desplieguePara obtener maacutes informacioacuten consulte el final de la seccioacutenSeccioacuten hooks de AppSpec (p 422) en la Referencia delarchivo CodeDeploy AppSpec (p 407)

29 de mayode 2015

Versioacuten de API 2014-10-06507

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Actualizaciones detemas

CodeDeploy proporciona ahora un conjunto deAWSpoliacuteticasadministradas en IAM que puede usar en lugar de crearmanualmente poliacuteticas propias equivalentes Entre ellas seincluyen

bull Una poliacutetica para permitir a un usuario de IAM registrarrevisiones con CodeDeploy solo y luego desplieacuteguelos atraveacutes de CodeDeploy

bull Una poliacutetica para proporcionar a un usuario de IAM accesototal a los recursos de CodeDeploy

bull Una poliacutetica para proporcionar a un usuario de IAM accesode solo lectura a los recursos de CodeDeploy

bull Poliacutetica para adjuntar a un rol de servicio de modo queCodeDeploy puede identificar instancias de Amazon EC2a traveacutes de sus etiquetas de Amazon EC2 etiquetas deinstancias on-premises o nombres de grupo de Amazon EC2Auto Scaling e implementar revisiones de la aplicacioacuten endichas instancias seguacuten corresponda

Para obtener maacutes informacioacuten consulte Ejemplos de poliacuteticasadministradas por los clientes (p 392) la seccioacuten sobreautenticacioacuten y control de acceso

29 de mayode 2015

Actualizaciones detemas

Ahora CodeDeploy estaacute disponible en la regioacuten UE (Irlanda)(eu-west-1) y Asia-Paciacutefico (Siacutedney) (ap-southeast-2)Varios temas incluidos los que contienen instrucciones paraconfigurar el CodeDeploy se han actualizado para reflejar ladisponibilidad de estas nuevas regiones

7 de mayo de2015

Temas nuevos Ahora CodeDeploy admite implementaciones en instancias on-premises e instancias Amazon EC2 Los siguientes temas sehan antildeadido para describir la nueva compatibilidad

bull Working with On-Premises Instances (p 230)bull Tutorial Implementar una aplicacioacuten en una instancia local

con CodeDeploy (Windows Server Ubuntu Server o Red HatEnterprise Linux) (p 103)

bull Working with On-Premises Instances (p 230)

2 de abril de2015

Nuevo tema Recursos de CodeDeploy (p 491) se ha antildeadido 2 de abril de2015

Versioacuten de API 2014-10-06508

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Actualizacioacuten de tema Solucioacuten de problemas de CodeDeploy (p 459) se haactualizado

bull Una nueva seccioacuten Los procesos de larga duracioacuten puedenproducir un error en la implementacioacuten (p 466) describelos pasos que puede tomar para identificar y solucionar loserrores de implementacioacuten ocasionados por procesos delarga duracioacuten

bull LaSolucioacuten de problemas general de Amazon EC2 AutoScaling (p 476)se ha actualizado para mostrar queCodeDeploy ha aumentado su loacutegica de tiempo de esperaAmazon EC2 Auto Scaling para CodeDeploy agente de cincominutos a una hora

bull Un nuevoLos enlaces de ciclo de vida de Amazon EC2 AutoScaling de Amazon EC2 podriacutean provocar detenciones oerrores de las implementaciones automaacuteticas en grupos deAuto Scaling de Amazon EC2 (p 480)describe los pasosque puede tomar para identificar y solucionar errores de lasimplementaciones automaacuteticas en los grupos de AmazonEC2 Auto Scaling

2 de abril de2015

Actualizaciones detemas

Se han actualizado los siguientes temas para reflejar lasnuevas recomendaciones para crear poliacuteticas personalizadas yadjuntarlas a usuarios y roles en IAM

bull Configurar una instancia de Amazon EC2 para que funcionecon CodeDeploy (p 228)

bull Paso 4 Crear un perfil de instancias de IAM para susinstancias Amazon EC2 (p 43)

bull Paso 2 Creacioacuten de un rol de servicio paraCodeDeploy (p 36)

Se han antildeadido dos secciones a Solucioacuten de problemas deCodeDeploy (p 459)

bull Lista de comprobacioacuten de solucioacuten de problemasgenerales (p 459)

bull Windows PowerShell Los scripts no pueden utilizar laversioacuten de 64 bits de Windows PowerShell de formapredeterminada (p 471)

La seccioacuten Seccioacuten hooks de AppSpec (p 422) en laReferencia del archivo CodeDeploy AppSpec (p 407) se haactualizado para describir con mayor precisioacuten los eventos delciclo de vida disponibles

12 de febrerode 2015

Versioacuten de API 2014-10-06509

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Actualizaciones detemas

Se ha antildeadido una nueva seccioacuten a Solucioacuten de problemasde CodeDeploy (p 459) Las instancias EC2 de un grupo deAmazon EC2 Auto Scaling no se pueden lanzar y aparece elerror laquoHeartbeat Timeoutraquo (p 479)

UNA CloudBees se ha antildeadido aIntegraciones de productos yservicios con CodeDeploy (p 48)

28 de enerode 2015

Actualizaciones detemas

Se han antildeadido las siguientes secciones a Solucioacuten deproblemas de CodeDeploy (p 459)

bull El uso de algunos editores de texto para crear archivosAppSpec y scripts del shell produce un error en lasimplementaciones (p 461)

bull El uso de Finder en macOS para empaquetar unarevisioacuten de la aplicacioacuten puede producir un error en laimplementacioacuten (p 462)

bull Solucioacuten de problemas con un error ApplicationStopBeforeBlockTraffic o AfterBlockTraffic evento del ciclo de vidade la implementacioacuten (p 468)

bull Solucioacuten de problemas DownloadBundle evento de ciclo devida de la implementacioacuten con UnknownError no abiertopara lectura (p 469)

bull Solucioacuten de problemas general de Amazon EC2 AutoScaling (p 476)

20 de enerode 2015

Temas nuevos La seccioacuten Integraciones de productos y servicios conCodeDeploy (p 48) se ha actualizado para incluir los siguientestemas

bull Integracioacuten de CodeDeploy con Amazon EC2 AutoScaling (p 53)

bull Tutorial UsarCodeDeploypara implementar una aplicacioacuten enun grupo de Auto Scaling (p 110)

bull Monitoring Deployments (p 364)bull Integrating CodeDeploy with Elastic Load Balancing (p 57)bull Integracioacuten de CodeDeploy con GitHub (p 63)bull Tutorial Usa CodeDeploy para desplegar una aplicacioacuten

desde GitHub (p 127)

9 de enero de2015

Versioacuten de API 2014-10-06510

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Actualizaciones detemas

bull Se ha antildeadido la seccioacuten Implementacioacuten automaacutetica desdeCodePipeline con CodeDeploy (p 66) en Integracioacuten deCodeDeploy con GitHub (p 63) Ahora puede dispararautomaacuteticamente una implementacioacuten desde un GitHubrepositorio siempre que el coacutedigo fuente de ese repositoriocambie

bull Se ha antildeadido la seccioacuten Solucioacuten de problemas de AmazonEC2 Auto Scaling (p 475) en Solucioacuten de problemas deCodeDeploy (p 459) Esta nueva seccioacuten describe coacutemosolucionar problemas comunes en la implementacioacuten agrupos de Amazon EC2 Auto Scaling

bull Se ha antildeadido la nueva seccioacuten secundaria Ejemplosde archivos a la seccioacuten Seccioacuten files de AppSpec (solopara implementaciones EC2On-Premises) (p 411) deReferencia del archivo CodeDeploy AppSpec (p 407) Enesta nueva subseccioacuten se incluyen varios ejemplos de coacutemoutilizar elfilesseccioacuten de un AppSpec archivo para instruirCodeDeploy para copiar archivos o carpetas especiacuteficos enubicaciones especiacuteficas de una instancia de Amazon EC2durante una implementacioacuten de

8 de enero de2015

Nuevo tema Monitoring Deployments (p 364)se ha antildeadido CodeDeployestaacute integrado conAWS CloudTrail un servicio que captura lasllamadas al API realizadas por o en nombre de CodeDeploy ensuAWSy entrega los archivos de registro al bucket de AmazonS3 que se especifique

17 dediciembre de2014

Versioacuten puacuteblica inicial Esta es la primera versioacuten puacuteblica de laGuiacutea del usuario deCodeDeploy

12 denoviembre de2014

Versioacuten de API 2014-10-06511

AWS CodeDeploy Guiacutea del usuario

Glosario de AWSPara ver la terminologiacutea maacutes reciente de AWS consulte el Glosario de AWS en la Referencia general deAWS

Versioacuten de API 2014-10-06512

AWS CodeDeploy Guiacutea del usuario

Las traducciones son generadas a traveacutes de traduccioacuten automaacutetica En caso de conflicto entre latraduccioacuten y la version original de ingleacutes prevaleceraacute la version en ingleacutes

Versioacuten de API 2014-10-06dxiii

  • AWS CodeDeploy
  • Table of Contents
  • iquestQueacute es CodeDeploy
    • Ventajas de AWS CodeDeploy
    • Descripcioacuten general de las plataformas informaacuteticas de CodeDeploy
    • Introduccioacuten a los tipos de implementacioacuten de CodeDeploy
      • Descripcioacuten general de una implementacioacuten laquoin-placeraquo
      • Descripcioacuten general de una implementacioacuten laquobluegreenraquo
        • Implementacioacuten bluegreen en unaAWS Lambdao plataforma de coacutemputo Amazon ECS
        • Implementacioacuten bluegreen en una plataforma de computacioacuten EC2On-Premises
        • Implementacioacuten bluegreen (azulAWS CloudFormation
            • Esperamos tener noticias suyas
            • Componentes principales de CodeDeploy
              • Aplicacioacuten
              • Plataforma de computacioacuten
              • Configuracioacuten de implementacioacuten
              • Grupo de implementaciones
              • Tipo de implementacioacuten
              • Perfil de instancia IAM
              • Revisioacuten
              • Rol de servicio
              • revisioacuten de destino
              • Otros componentes
                • Implementaciones de CodeDeploy
                  • Implementaciones en unaAWSPlataforma de computacioacuten Lambda
                    • Flujo de trabajo de implementacioacuten enAWS Lambdaplataforma de computacioacuten
                    • Carga de la revisioacuten de la aplicacioacuten
                    • Crear la aplicacioacuten de y los grupos de implementaciones
                    • Implementacioacuten de la revisioacuten de la aplicacioacuten
                    • Actualizacioacuten de la aplicacioacuten
                    • Implementaciones detenidas y con error
                    • Reimplementaciones y restauracioacuten de implementaciones
                      • Implementaciones en una plataforma de computacioacuten Amazon ECS
                        • Antes de iniciar una implementacioacuten de Amazon ECS
                        • Flujo de trabajo de implementacioacuten (alto nivel) en una plataforma de computacioacuten Amazon ECS
                        • Queacute ocurre durante una implementacioacuten de Amazon ECS
                        • Carga de la revisioacuten de la aplicacioacuten
                        • Crear la aplicacioacuten de y los grupos de implementaciones
                        • Implementacioacuten de la revisioacuten de la aplicacioacuten
                        • Actualizacioacuten de la aplicacioacuten
                        • Implementaciones detenidas y con error
                        • Reimplementaciones y restauracioacuten de implementaciones
                        • Implementaciones laquobluegreenraquo de Amazon ECS a traveacutes deAWS CloudFormation
                          • Implementaciones en una plataforma de computacioacuten EC2On-Premises
                            • Componentes de implementacioacuten en una plataforma de computacioacuten EC2On-Premises
                            • Flujo de trabajo de implementacioacuten en una plataforma de computacioacuten EC2On-Premises
                            • Configuracioacuten de instancias
                            • Carga de la revisioacuten de la aplicacioacuten
                            • Crear la aplicacioacuten de y los grupos de implementaciones
                            • Implementacioacuten de la revisioacuten de la aplicacioacuten
                            • Actualizacioacuten de la aplicacioacuten
                            • Implementaciones detenidas y con error
                            • Reimplementaciones y restauracioacuten de implementaciones
                                • Archivos de especificacioacuten de aplicacioacuten CodeDeploy (AppSpec)
                                  • Archivos AppSpec en una plataforma de computacioacuten Amazon ECS
                                  • Archivos AppSpec en unAWS Lambdaplataforma de computacioacuten
                                  • Archivos AppSpec en una plataforma de computacioacuten EC2On-Premises
                                  • Coacutemo utiliza el agente de CodeDeploy el archivo AppSpec
                                      • Introduccioacuten a CodeDeploy
                                        • Paso 1 Instalar o actualizar y a continuacioacuten configurar laAWS CLI
                                        • Paso 2 Creacioacuten de un rol de servicio para CodeDeploy
                                          • Creacioacuten de un rol de servicio de (consola)
                                          • Creacioacuten de un rol de servicio de (CLI)
                                          • Obtenga el ARN del rol de servicio (consola)
                                          • Obtenga el ARN del rol de servicio (CLI)
                                            • Paso 3 Provisionar un usuario de IAM
                                            • Paso 4 Crear un perfil de instancias de IAM para sus instancias Amazon EC2
                                              • Crear un perfil de instancias de IAM para sus instancias Amazon EC2 (CLI)
                                              • Crear un perfil de instancias de IAM para sus instancias Amazon EC2 (consola)
                                                  • Integraciones de productos y servicios con CodeDeploy
                                                    • Integracioacuten con otros servicios de AWS
                                                      • Integracioacuten de CodeDeploy con Amazon EC2 Auto Scaling
                                                        • Implementacioacuten de aplicaciones CodeDeploy en grupos de Amazon EC2 Auto Scaling
                                                        • Coacutemo funciona Amazon EC2 Auto Scaling con CodeDeploy
                                                          • iquestCoacutemo se crea e instala el gancho del ciclo de vida
                                                          • Despueacutes de que CodeDeploy agregue el gancho del ciclo de vida iquestcoacutemo se utiliza
                                                          • Coacutemo nombra CodeDeploy a los grupos de Amazon EC2 Auto Scaling
                                                          • Orden de ejecucioacuten de eventos de enlace de ciclo de vida personalizados
                                                          • Eventos de escalado horizontal durante una implementacioacuten
                                                          • Orden de eventos enAWS CloudFormationscripts cfn-init
                                                            • Uso de una AMI personalizada con CodeDeploy y Amazon EC2 Auto Scaling
                                                              • Integracioacuten de CodeDeploy con Elastic Load Balancing
                                                                • Tipos de Elastic Load Balancing
                                                                • Implementaciones bluegreen (azulverde)
                                                                • Implementaciones in situ
                                                                  • Especificar el equilibrador de carga de implementacioacuten in situ mediante un grupo de implementacioacuten
                                                                  • Especificar el equilibrador de carga de implementacioacuten in situ mediante un script
                                                                    • Integracioacuten a productos y servicios de socios
                                                                      • Integracioacuten de CodeDeploy con GitHub
                                                                        • Implementacioacuten de revisiones de CodeDeploy desde GitHub
                                                                        • Comportamientos de GitHub con CodeDeploy
                                                                          • Autenticacioacuten de GitHub con aplicaciones en CodeDeploy
                                                                          • Interaccioacuten de CodeDeploy con repositorios GitHub puacuteblicos y privados
                                                                          • Interaccioacuten de CodeDeploy con repositorios de GitHub administrados por la organizacioacuten
                                                                          • Implementacioacuten automaacutetica desde CodePipeline con CodeDeploy
                                                                            • Ejemplos de integracioacuten de la comunidad
                                                                              • Entradas de blogs
                                                                                  • Tutoriales CodeDeploy
                                                                                    • Tutorial Implementar WordPress en una instancia de Amazon EC2 (Amazon Linux o Red Hat Enterprise Linux y Linux macOS o Unix)
                                                                                      • Paso 1 Lance y configure una instancia Amazon Linux o Red Hat Enterprise Linux Amazon EC2
                                                                                        • Connect con la instancia Amazon Linux o RHEL Amazon EC2
                                                                                        • Agregar una regla de entrada que permita el traacutefico HTTP a su instancia de Amazon Linux o RHEL Amazon EC2
                                                                                          • Paso 2 Configurar el contenido de origen para implementarlo en la instancia Amazon Linux o Red Hat Enterprise Linux Amazon EC2
                                                                                            • Obtener el coacutedigo fuente
                                                                                              • Para obtener una copia del coacutedigo fuente de WordPress (llamadas a liacutenea de comandos integradas)
                                                                                              • Para obtener una copia del coacutedigo fuente de WordPress (Git)
                                                                                                • Crear scripts para ejecutar la aplicacioacuten
                                                                                                • Agregar un archivo de especificacioacuten de la aplicacioacuten
                                                                                                  • Paso 3 Cargue su aplicacioacuten de WordPress en Amazon S3
                                                                                                    • Aprovisionar un bucket de Amazon S3
                                                                                                      • Para crear un bucket de Amazon S3 (CLI)
                                                                                                      • Para crear un bucket de Amazon S3 (consola)
                                                                                                      • Conceder permisos al bucket de Amazon S3 y a su usuario de IAM
                                                                                                        • Preparar los archivos de la aplicacioacuten para el depoacutesito
                                                                                                        • Agrupe los archivos de la aplicacioacuten en un uacutenico archivo de archivo e inserte el archivo de archivo
                                                                                                          • Paso 4 Implemente la aplicacioacuten de WordPress
                                                                                                            • Implemente la revisioacuten de la aplicacioacuten con CodeDeploy
                                                                                                              • Para implementar la revisioacuten de la aplicacioacuten (CLI)
                                                                                                              • Para implementar la revisioacuten de la aplicacioacuten (consola)
                                                                                                                • Monitorizacioacuten y solucioacuten de problemas de la implementacioacuten
                                                                                                                  • Para monitorizar y solucionar problemas en la implementacioacuten (CLI)
                                                                                                                  • Para monitorizar y resolver problemas de la implementacioacuten (consola)
                                                                                                                    • Verificacioacuten de la implementacioacuten
                                                                                                                      • Paso 5 Actualiza y vuelve a implementar tu aplicacioacuten WordPress
                                                                                                                        • Configurar el sitio de WordPress
                                                                                                                        • Modificacioacuten del sitio
                                                                                                                        • Volver a implementar el sitio
                                                                                                                          • Para volver implementar el sitio (CLI)
                                                                                                                          • Para volver a implementar el sitio (consola)
                                                                                                                              • Paso 6 Limpia tu aplicacioacuten de WordPress y recursos relacionados
                                                                                                                                • Para limpiar los recursos (CLI)
                                                                                                                                • Para limpiar los recursos (consola)
                                                                                                                                • Siguientes pasos
                                                                                                                                    • Tutorial Despliega un laquohola mundoraquo aplicacioacuten con CodeDeploy (Windows Server)
                                                                                                                                      • Paso 1 Lance una instancia de Amazon EC2 de Windows Server
                                                                                                                                        • Connect con la instancia Amazon EC2
                                                                                                                                        • Agregar una regla entrante que permita el traacutefico HTTP a su instancia de Amazon EC2 de Windows Server
                                                                                                                                          • Paso 2 Configurar el contenido de origen para implementarlo en la instancia de Amazon EC2 de Windows Server
                                                                                                                                            • Crear la paacutegina web
                                                                                                                                            • Crear un script para ejecutar la aplicacioacuten
                                                                                                                                            • Agregar un archivo de especificacioacuten de la aplicacioacuten
                                                                                                                                              • Paso 3 Sube tu laquohola mundoraquo aplicacioacuten a Amazon S3
                                                                                                                                                • Aprovisionar un bucket de Amazon S3
                                                                                                                                                  • Para crear un bucket de Amazon S3 (CLI)
                                                                                                                                                  • Para crear un bucket de Amazon S3 (consola)
                                                                                                                                                  • Conceder permisos al bucket de Amazon S3 y a su usuario de IAM
                                                                                                                                                    • Preparar los archivos de la aplicacioacuten para el depoacutesito
                                                                                                                                                    • Agrupe los archivos de la aplicacioacuten en un uacutenico archivo de archivo e inserte el archivo de archivo
                                                                                                                                                      • Paso 4 Implemente su aplicacioacuten Hello World
                                                                                                                                                        • Implemente la revisioacuten de la aplicacioacuten con CodeDeploy
                                                                                                                                                          • Para implementar la revisioacuten de la aplicacioacuten (CLI)
                                                                                                                                                          • Para implementar la revisioacuten de la aplicacioacuten (consola)
                                                                                                                                                            • Monitorizacioacuten y solucioacuten de problemas de la implementacioacuten
                                                                                                                                                              • Para monitorizar y solucionar problemas en la implementacioacuten (CLI)
                                                                                                                                                              • Para monitorizar y resolver problemas de la implementacioacuten (consola)
                                                                                                                                                                • Verificacioacuten de la implementacioacuten
                                                                                                                                                                  • Paso 5 Actualiza y vuelve a desplegar tu laquohola mundoraquo revisiones de
                                                                                                                                                                    • Modificar la paacutegina web
                                                                                                                                                                    • Nuevo implementacioacuten del sitio
                                                                                                                                                                      • Para volver implementar el sitio (CLI)
                                                                                                                                                                      • Para volver a implementar el sitio (consola)
                                                                                                                                                                          • Paso 6 Limpia tu laquohola mundoraquo aplicaciones y recursos relacionados
                                                                                                                                                                            • Para limpiar los recursos (CLI)
                                                                                                                                                                            • Para limpiar los recursos (consola)
                                                                                                                                                                            • Siguientes pasos
                                                                                                                                                                                • Tutorial Implementar una aplicacioacuten en una instancia local con CodeDeploy (Windows Server Ubuntu Server o Red Hat Enterprise Linux)
                                                                                                                                                                                  • Requisitos previos
                                                                                                                                                                                  • Paso 1 Configuracioacuten de la instancia on-premises
                                                                                                                                                                                    • Instalacioacuten del agente de CodeDeploy
                                                                                                                                                                                      • Paso 2 Creacioacuten de una revisioacuten de aplicacioacuten de muestra
                                                                                                                                                                                      • Paso 3 Agrupe y cargue la revisioacuten de la aplicacioacuten en Amazon S3
                                                                                                                                                                                      • Paso 4 Implementar la revisioacuten de la aplicacioacuten
                                                                                                                                                                                      • Paso 5 Verificacioacuten de la implementacioacuten
                                                                                                                                                                                      • Paso 6 Limpiar recursos
                                                                                                                                                                                        • Limpieza de recursos (CLI)
                                                                                                                                                                                        • Limpieza de recursos (consola)
                                                                                                                                                                                            • Tutorial UsarCodeDeploypara implementar una aplicacioacuten en un grupo de Auto Scaling
                                                                                                                                                                                              • Requisitos previos
                                                                                                                                                                                              • Paso 1 Creacioacuten y configuracioacuten del grupo de Auto Scaling
                                                                                                                                                                                                • Para crear y configurar el grupo de Auto Scaling (CLI)
                                                                                                                                                                                                • Para crear y configurar el grupo de Auto Scaling (consola)
                                                                                                                                                                                                  • Paso 2 Implementar la aplicacioacuten en el grupo de Auto Scaling
                                                                                                                                                                                                    • Para crear la implementacioacuten (CLI)
                                                                                                                                                                                                    • Para crear la implementacioacuten (consola)
                                                                                                                                                                                                      • Paso 3 Compruebe sus resultados
                                                                                                                                                                                                        • Para comprobar los resultados (CLI)
                                                                                                                                                                                                        • Para comprobar los resultados (consola)
                                                                                                                                                                                                          • Paso 4 Aumente el nuacutemero de instancias de Amazon EC2 en el grupo de Auto Scaling
                                                                                                                                                                                                            • Para reducir el nuacutemero de instancias de Amazon EC2 en el grupo de Auto Scaling (CLI)
                                                                                                                                                                                                            • Para reducir el nuacutemero de instancias de Amazon EC2 en el grupo de implementaciones (consola)
                                                                                                                                                                                                              • Paso 5 Vuelve a comprobar los resultados
                                                                                                                                                                                                                • Para comprobar los resultados de la implementacioacuten automaacutetica (CLI)
                                                                                                                                                                                                                • Para comprobar los resultados de la implementacioacuten automaacutetica (consola)
                                                                                                                                                                                                                  • Paso 6 Eliminar recursos
                                                                                                                                                                                                                    • Para limpiar los recursos (CLI)
                                                                                                                                                                                                                    • Para limpiar los recursos (consola)
                                                                                                                                                                                                                        • Tutorial Usa CodeDeploy para desplegar una aplicacioacuten desde GitHub
                                                                                                                                                                                                                          • Requisitos previos
                                                                                                                                                                                                                          • Paso 1 Configure una cuenta de GitHub
                                                                                                                                                                                                                          • Paso 2 Creacioacuten de un repositorio de GitHub
                                                                                                                                                                                                                          • Paso 3 Cargue una aplicacioacuten de ejemplo en el repositorio GitHub
                                                                                                                                                                                                                            • Enviacuteo de una revisioacuten de ejemplo desde un equipo local con Linux macOS o Unix
                                                                                                                                                                                                                            • Enviacuteo de una revisioacuten de ejemplo desde un equipo local con Windows
                                                                                                                                                                                                                              • Paso 4 Aprovisionar una instancia
                                                                                                                                                                                                                              • Paso 5 Crear una aplicacioacuten y un grupo de implementaciones
                                                                                                                                                                                                                                • Creacioacuten de una aplicacioacuten y un grupo de implementaciones (consola)
                                                                                                                                                                                                                                • Creacioacuten de una aplicacioacuten y un grupo de implementaciones (CLI)
                                                                                                                                                                                                                                  • Paso 6 Implementacioacuten de la aplicacioacuten en la instancia
                                                                                                                                                                                                                                    • Para implementar la revisioacuten (consola)
                                                                                                                                                                                                                                    • Para implementar la revisioacuten (CLI)
                                                                                                                                                                                                                                      • Paso 7 Supervisar y verificar la implementacioacuten
                                                                                                                                                                                                                                      • Paso 8 Eliminar recursos
                                                                                                                                                                                                                                        • Para eliminar unAWS CloudFormationstack (si utilizaste elAWS CloudFormationplantilla para crear una instancia Amazon EC2)
                                                                                                                                                                                                                                        • Para anular el registro y limpiar manualmente una instancia on-premises (si ha aprovisionado una instancia on-premises)
                                                                                                                                                                                                                                        • Para terminar manualmente una instancia Amazon EC2 (si ha iniciado manualmente una instancia Amazon EC2)
                                                                                                                                                                                                                                        • Para eliminar los registros de los componentes de implementacioacuten de CodeDeploy
                                                                                                                                                                                                                                        • Para eliminar el repositorio de GitHub
                                                                                                                                                                                                                                            • Tutorial Implementar un servicio de Amazon ECS
                                                                                                                                                                                                                                              • Requisitos previos
                                                                                                                                                                                                                                              • Paso 1 Actualice la aplicacioacuten de Amazon ECS
                                                                                                                                                                                                                                              • Paso 2 Creacioacuten del archivo AppSpec
                                                                                                                                                                                                                                              • Paso 3 Utilice la consola de CodeDeploy para implementar su servicio Amazon ECS
                                                                                                                                                                                                                                              • Paso 4 Eliminar recursos
                                                                                                                                                                                                                                                • Tutorial Implementacioacuten de un servicio Amazon ECS con una prueba de validacioacuten
                                                                                                                                                                                                                                                  • Requisitos previos
                                                                                                                                                                                                                                                  • Paso 1 Crear un agente de escucha de prueba
                                                                                                                                                                                                                                                  • Paso 2 Actualice la aplicacioacuten de Amazon ECS
                                                                                                                                                                                                                                                  • Paso 3 Crear una funcioacuten Lambda de enlace de ciclo de vida
                                                                                                                                                                                                                                                  • Paso 4 Actualice el archivo AppSpec
                                                                                                                                                                                                                                                  • Paso 5 Utilice la consola de CodeDeploy para implementar su servicio Amazon ECS
                                                                                                                                                                                                                                                  • Paso 6 Visualice la salida de la funcioacuten de enlace de Lambda en CloudWatch Logs
                                                                                                                                                                                                                                                  • Paso 7 Eliminar recursos
                                                                                                                                                                                                                                                    • Tutorial Implementar una funcioacuten Lambda actualizada con CodeDeploy y laAWSModelo de aplicacioacuten sin servidor de
                                                                                                                                                                                                                                                      • Requisitos previos
                                                                                                                                                                                                                                                      • Paso 1 Configurar la infraestructura
                                                                                                                                                                                                                                                        • Creacioacuten de archivos
                                                                                                                                                                                                                                                          • Cree suAWSSAM template (Plantilla de SAM)
                                                                                                                                                                                                                                                          • Creacioacuten de un archivo para la funcioacuten de Lambda
                                                                                                                                                                                                                                                          • Cree un archivo para su funcioacuten BeforeAllowTraffic Lambda
                                                                                                                                                                                                                                                          • Cree un archivo para la funcioacuten AfterAllowTraffic Lambda
                                                                                                                                                                                                                                                            • Empaque elAWSAplicacioacuten SAM
                                                                                                                                                                                                                                                            • Implementar elAWSAplicacioacuten SAM
                                                                                                                                                                                                                                                            • (Opcional) inspeccionar y probar su infraestructura
                                                                                                                                                                                                                                                              • Paso 2 Actualizacioacuten de la funcioacuten Lambda
                                                                                                                                                                                                                                                              • Paso 3 Implemente la funcioacuten de Lambda actualizada
                                                                                                                                                                                                                                                              • Paso 4 Consulte los resultados de la implementacioacuten
                                                                                                                                                                                                                                                                • Comprobacioacuten de la funcioacuten de implementada
                                                                                                                                                                                                                                                                • Ver eventos de enlace en CloudWatch Logs
                                                                                                                                                                                                                                                                  • Paso 5 Eliminar recursos
                                                                                                                                                                                                                                                                      • Trabajar con el agente de CodeDeploy
                                                                                                                                                                                                                                                                        • Sistemas operativos compatibles con el agente de CodeDeploy
                                                                                                                                                                                                                                                                          • Sistemas operativos AMI de Amazon EC2 compatibles
                                                                                                                                                                                                                                                                          • Sistemas operativos locales compatibles
                                                                                                                                                                                                                                                                            • Protocolo de comunicacioacuten y puerto para el agente de CodeDeploy
                                                                                                                                                                                                                                                                            • Historial de versiones del agente de CodeDeploy
                                                                                                                                                                                                                                                                            • Revisioacuten de aplicaciones y limpieza de archivos de registro
                                                                                                                                                                                                                                                                            • Archivos instalados por el agente de CodeDeploy
                                                                                                                                                                                                                                                                            • Administracioacuten de operaciones del agente de CodeDeploy
                                                                                                                                                                                                                                                                              • Verifique que el agente de CodeDeploy esteacute en ejecucioacuten
                                                                                                                                                                                                                                                                                • Verifique que el agente de CodeDeploy para Amazon Linux o RHEL se esteacute ejecutando
                                                                                                                                                                                                                                                                                • Verifique que el agente de CodeDeploy para Ubuntu Server se esteacute ejecutando
                                                                                                                                                                                                                                                                                • Verifique que el agente de CodeDeploy para Windows Server se estaacute ejecutando
                                                                                                                                                                                                                                                                                  • Determinar la versioacuten del agente de CodeDeploy
                                                                                                                                                                                                                                                                                    • Determinar la versioacuten en Amazon Linux o RHEL
                                                                                                                                                                                                                                                                                    • Determinacioacuten de la versioacuten en Ubuntu Server
                                                                                                                                                                                                                                                                                    • Determinar la versioacuten en Windows Server
                                                                                                                                                                                                                                                                                      • Instalacioacuten del agente de CodeDeploy
                                                                                                                                                                                                                                                                                        • Instale el agente de CodeDeploy medianteAWS Systems Manager
                                                                                                                                                                                                                                                                                          • Requisitos previos
                                                                                                                                                                                                                                                                                          • Instalacioacuten del agente de CodeDeploy
                                                                                                                                                                                                                                                                                            • Instalacioacuten o actualizacioacuten del agente de SSM
                                                                                                                                                                                                                                                                                            • (Opcional) Verifique los prerrequisitos de Systems Manager
                                                                                                                                                                                                                                                                                            • Instalacioacuten del agente de CodeDeploy
                                                                                                                                                                                                                                                                                                • Instalacioacuten del agente de CodeDeploy con la liacutenea de comandos
                                                                                                                                                                                                                                                                                                  • Instale el agente CodeDeploy para Amazon Linux o RHEL
                                                                                                                                                                                                                                                                                                  • Instale el agente de CodeDeploy para Ubuntu Server
                                                                                                                                                                                                                                                                                                  • Instale el agente de CodeDeploy para Windows Server
                                                                                                                                                                                                                                                                                                    • Utilizar Systems Manager
                                                                                                                                                                                                                                                                                                    • Usar Windows PowerShell
                                                                                                                                                                                                                                                                                                    • Usar un enlace directo
                                                                                                                                                                                                                                                                                                    • Utilizar un comando de copia de Amazon S3
                                                                                                                                                                                                                                                                                                      • Actualizacioacuten del agente de CodeDeploy
                                                                                                                                                                                                                                                                                                        • Actualizar el agente de CodeDeploy en Amazon Linux o RHEL
                                                                                                                                                                                                                                                                                                        • Actualizar el agente de CodeDeploy en Ubuntu Server
                                                                                                                                                                                                                                                                                                        • Actualizar el agente de CodeDeploy en Windows Server
                                                                                                                                                                                                                                                                                                          • Configuracioacuten de la actualizacioacuten automaacutetica del agente de CodeDeploy conAWS Systems Manager
                                                                                                                                                                                                                                                                                                          • Actualizar manualmente el agente de CodeDeploy
                                                                                                                                                                                                                                                                                                          • (Obsolado) Actualizacioacuten del agente de CodeDeploy con Windows Server Updater
                                                                                                                                                                                                                                                                                                            • Usar Windows PowerShell
                                                                                                                                                                                                                                                                                                            • Usar un enlace directo
                                                                                                                                                                                                                                                                                                            • Utilizar un comando de copia de Amazon S3
                                                                                                                                                                                                                                                                                                              • Desinstalacioacuten del agente de CodeDeploy
                                                                                                                                                                                                                                                                                                                • Desinstale el agente CodeDeploy de Amazon Linux o RHEL
                                                                                                                                                                                                                                                                                                                • Desinstalacioacuten del agente de CodeDeploy de Ubuntu Server
                                                                                                                                                                                                                                                                                                                • Desinstalar el agente de CodeDeploy de Windows Server
                                                                                                                                                                                                                                                                                                                  • SendCodeDeployRegistros de agentes de aCloudWatch
                                                                                                                                                                                                                                                                                                                    • Requisitos previos
                                                                                                                                                                                                                                                                                                                    • Configuracioacuten delCloudWatchagente para recopilarCodeDeployRegistros de
                                                                                                                                                                                                                                                                                                                    • Restablecer elCloudWatchagente
                                                                                                                                                                                                                                                                                                                      • Trabajo con instancias para CodeDeploy
                                                                                                                                                                                                                                                                                                                        • Comparacioacuten de instancias de Amazon EC2 con instancias locales
                                                                                                                                                                                                                                                                                                                        • Tareas de instancia para CodeDeploy
                                                                                                                                                                                                                                                                                                                        • Etiquetado de instancias para grupos de implementacioacuten en CodeDeploy
                                                                                                                                                                                                                                                                                                                          • Ejemplo 1 Grupo de etiquetas individuales etiqueta uacutenica
                                                                                                                                                                                                                                                                                                                          • Ejemplo 2 Grupo de etiquetas individuales etiquetas muacuteltiples
                                                                                                                                                                                                                                                                                                                          • Ejemplo 3 Varios grupos de etiquetas etiquetas individuales
                                                                                                                                                                                                                                                                                                                          • Ejemplo 4 Varios grupos de etiquetas varias etiquetas
                                                                                                                                                                                                                                                                                                                            • Trabajar con instancias Amazon EC2 para CodeDeploy
                                                                                                                                                                                                                                                                                                                              • Creacioacuten de una instancia de Amazon EC2 para CodeDeploy (AWS CLIo consola de Amazon EC2)
                                                                                                                                                                                                                                                                                                                                • Lance una instancia de Amazon EC2 (consola)
                                                                                                                                                                                                                                                                                                                                  • Requisitos previos
                                                                                                                                                                                                                                                                                                                                  • Lance una instancia de Amazon EC2
                                                                                                                                                                                                                                                                                                                                  • Instalacioacuten del agente de CodeDeploy
                                                                                                                                                                                                                                                                                                                                    • Lance una instancia de Amazon EC2 (CLI)
                                                                                                                                                                                                                                                                                                                                      • Requisitos previos
                                                                                                                                                                                                                                                                                                                                      • Lance una instancia de Amazon EC2
                                                                                                                                                                                                                                                                                                                                      • Instalacioacuten del agente de CodeDeploy
                                                                                                                                                                                                                                                                                                                                          • Crear una instancia Amazon EC2 para CodeDeploy (AWS CloudFormationplantilla)
                                                                                                                                                                                                                                                                                                                                            • Antes de empezar
                                                                                                                                                                                                                                                                                                                                            • Lance una instancia Amazon EC2 con elAWS CloudFormationtemplate (consola)
                                                                                                                                                                                                                                                                                                                                            • Lance una instancia Amazon EC2 con elAWS CloudFormationplantilla (AWS CLI)
                                                                                                                                                                                                                                                                                                                                              • Configurar una instancia de Amazon EC2 para que funcione con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                • Paso 1 Verifique que el perfil de instancia de IAM esteacute adjuntado a su instancia de Amazon EC2
                                                                                                                                                                                                                                                                                                                                                • Paso 2 Verifique que el perfil de instancia de IAM adjunto tenga los permisos de acceso correctos
                                                                                                                                                                                                                                                                                                                                                • Paso 3 Etiquetar la instancia de Amazon EC2
                                                                                                                                                                                                                                                                                                                                                • Paso 4 Instalacioacuten delAWS CodeDeployagente en la instancia de Amazon EC2
                                                                                                                                                                                                                                                                                                                                                    • Trabajar con instancias on-premises para CodeDeploy
                                                                                                                                                                                                                                                                                                                                                      • Requisitos previos para configurar una instancia on-premises
                                                                                                                                                                                                                                                                                                                                                      • Registro de una instancia on-premises en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                        • Utilice el comando register (ARN de usuario de IAM) para registrar una instancia on-premises
                                                                                                                                                                                                                                                                                                                                                          • Paso 1 Instalacioacuten y configuracioacuten deAWS CLIen la instancia on-premises
                                                                                                                                                                                                                                                                                                                                                          • Paso 2 Realice una llamada al comando register
                                                                                                                                                                                                                                                                                                                                                          • Paso 3 Ejecute el comando de instalacioacuten
                                                                                                                                                                                                                                                                                                                                                          • Paso 4 Implementar revisiones de la aplicacioacuten en la instancia on-premises
                                                                                                                                                                                                                                                                                                                                                          • Paso 5 Seguimiento de las implementaciones en la instancia local
                                                                                                                                                                                                                                                                                                                                                            • Utilice el comando register-on-premises-instance (ARN de usuario de IAM) para registrar una instancia on-premises
                                                                                                                                                                                                                                                                                                                                                              • Paso 1 Creacioacuten de un usuario de IAM para la instancia on-premises
                                                                                                                                                                                                                                                                                                                                                              • Paso 2 Asignar permisos al usuario de IAM
                                                                                                                                                                                                                                                                                                                                                              • Paso 3 Obtenga las credenciales de usuario de IAM
                                                                                                                                                                                                                                                                                                                                                              • Paso 4 Agregar un archivo de configuracioacuten a la instancia on-premises
                                                                                                                                                                                                                                                                                                                                                              • Paso 5 Instalacioacuten y configuracioacuten de AWS CLI
                                                                                                                                                                                                                                                                                                                                                              • Paso 6 Establecer la variable de entorno AWS_REGION (solo Ubuntu Server y RHEL)
                                                                                                                                                                                                                                                                                                                                                              • Paso 7 Instalacioacuten del agente de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                              • Paso 8 Registre la instancia on-premises en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                              • Paso 9 Etiquetado de la instancia on-premises
                                                                                                                                                                                                                                                                                                                                                              • Paso 10 Implementar revisiones de aplicaciones en la instancia on-premises
                                                                                                                                                                                                                                                                                                                                                              • Paso 11 Seguimiento de las implementaciones en la instancia local
                                                                                                                                                                                                                                                                                                                                                                • Utilice el comando register-on-premises-instance (ARN de sesioacuten de IAM) para registrar una instancia on-premises
                                                                                                                                                                                                                                                                                                                                                                  • Requisitos previos de registro ARN de sesioacuten de IAM
                                                                                                                                                                                                                                                                                                                                                                  • Paso 1 Cree el rol de IAM que asumiraacuten las instancias locales
                                                                                                                                                                                                                                                                                                                                                                  • Paso 2 Generar credenciales temporales para una instancia individual medianteAWS STS
                                                                                                                                                                                                                                                                                                                                                                  • Paso 3 Antildeada un archivo de configuracioacuten a la instancia on-premises
                                                                                                                                                                                                                                                                                                                                                                  • Paso 4 Preparar una instancia on-premises para las implementaciones de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                  • Paso 5 Registre la instancia on-premises con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                  • Paso 6 Etiquetado de la instancia on-premises
                                                                                                                                                                                                                                                                                                                                                                  • Paso 7 Implementar revisiones de las aplicaciones en la instancia on-premises
                                                                                                                                                                                                                                                                                                                                                                  • Paso 8 Seguimiento de las implementaciones en la instancia local
                                                                                                                                                                                                                                                                                                                                                                      • Administracioacuten de operaciones de instancias on-premises en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                        • Obtiene informacioacuten acerca de una instancia local individual
                                                                                                                                                                                                                                                                                                                                                                        • Obtiene informacioacuten acerca de varias instancias on-premises
                                                                                                                                                                                                                                                                                                                                                                        • Eliminacioacuten manual de etiquetas de instancias on-premises de una instancia on-premises
                                                                                                                                                                                                                                                                                                                                                                        • Desinstale automaacuteticamente el agente de CodeDeploy y elimine el archivo de configuracioacuten de la instancia on-premises
                                                                                                                                                                                                                                                                                                                                                                        • Anular registro automaacutetico de una instancia on-premises
                                                                                                                                                                                                                                                                                                                                                                        • Anular registro manual de una instancia on-premises
                                                                                                                                                                                                                                                                                                                                                                            • Ver los detalles de la instancia con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                              • Ver los detalles de la instancia (consola)
                                                                                                                                                                                                                                                                                                                                                                              • Visualizacioacuten de los detalles de la instancia (CLI)
                                                                                                                                                                                                                                                                                                                                                                                • Estado de instancia de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                  • Estado
                                                                                                                                                                                                                                                                                                                                                                                  • Miacutenimo de instancias e implementaciones en buen estado
                                                                                                                                                                                                                                                                                                                                                                                      • Uso de configuraciones de implementacioacuten en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                        • Configuraciones de implementacioacuten en una plataforma de computacioacuten EC2On-Premises
                                                                                                                                                                                                                                                                                                                                                                                          • Configuraciones de implementacioacuten predefinidas para una plataforma de computacioacuten EC2On-Premises
                                                                                                                                                                                                                                                                                                                                                                                            • Configuraciones de implementacioacuten en una plataforma de computacioacuten Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                              • Configuraciones de implementacioacuten predefinidas para una plataforma informaacutetica de Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                • Configuraciones de implementacioacuten paraAWS CloudFormationImplementaciones bluegreen (Amazon ECS)
                                                                                                                                                                                                                                                                                                                                                                                                • Configuraciones de implementacioacuten en unaAWS Lambdaplataforma de computacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                  • Configuraciones de implementacioacuten predefinidas para unAWS Lambdaplataforma de computacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                    • Crear una configuracioacuten de implementacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                    • Ver detalles de la configuracioacuten de implementacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                      • Ver detalles de la configuracioacuten de implementacioacuten (consola)
                                                                                                                                                                                                                                                                                                                                                                                                      • Visualizacioacuten de la configuracioacuten de implementacioacuten (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                        • Eliminar una configuracioacuten de implementacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                          • Trabajar con aplicaciones en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                            • Crear una aplicacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                              • Cree una aplicacioacuten para una implementacioacuten in situ (consola)
                                                                                                                                                                                                                                                                                                                                                                                                              • Cree una aplicacioacuten para una implementacioacuten bluegreen (consola)
                                                                                                                                                                                                                                                                                                                                                                                                              • Creacioacuten de una aplicacioacuten para una implementacioacuten de servicios de Amazon ECS (consola)
                                                                                                                                                                                                                                                                                                                                                                                                              • Cree una aplicacioacuten para unaAWS Lambdaimplementacioacuten de funciones (consola)
                                                                                                                                                                                                                                                                                                                                                                                                              • Crear una aplicacioacuten (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                • Ver detalles de la aplicacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                  • Ver los detalles de la aplicacioacuten (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                  • Ver los detalles de la aplicacioacuten (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                    • Creacioacuten de una regla de notificacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                    • Cambiar el nombre de una aplicacioacuten CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                    • Eliminar una aplicacioacuten en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                      • Eliminar una aplicacioacuten de (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                      • Eliminar una aplicacioacuten (AWS CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                          • Trabajar con grupos de implementaciones en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                            • Grupos de implementacioacuten en implementaciones de plataformas informaacuteticas de Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                                            • Grupos de implementaciones enAWS Lambdaimplementaciones de plataformas de computacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                            • Grupos de implementaciones en implementaciones EC2On-Premises
                                                                                                                                                                                                                                                                                                                                                                                                                            • Creacioacuten de un grupo de implementaciones con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                              • Crear un grupo de implementaciones para una implementacioacuten in situ (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                              • Crear un grupo de implementaciones para una implementacioacuten EC2On-Premises bluegreen (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                              • Crear un grupo de implementacioacuten para una implementacioacuten de Amazon ECS (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                              • Configurar un equilibrador de carga en Elastic Load Balancing para implementaciones de CodeDeploy Amazon EC2
                                                                                                                                                                                                                                                                                                                                                                                                                              • Configurar un equilibrador de carga grupos de destino y listeners para implementaciones de CodeDeploy Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                                                • Verificar la VPC predeterminada las subredes puacuteblicas y el grupo de seguridad
                                                                                                                                                                                                                                                                                                                                                                                                                                • Crear un Application Load Balancer de Amazon EC2 dos grupos de destino y oyentes (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                                • Crear un Application Load Balancer de Amazon EC2 dos grupos de destino y oyentes (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                  • Creacioacuten de un grupo de implementaciones (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                    • Ver detalles del grupo de implementacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                      • Ver detalles del grupo de implementaciones (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                                      • Ver detalles del grupo de implementaciones (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                        • Cambiar la configuracioacuten del grupo de implementacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                          • Cambiar la configuracioacuten del grupo de implementaciones (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                                          • Cambiar la configuracioacuten del grupo de implementacioacuten (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                            • Configuracioacuten de las opciones avanzadas de un grupo de implementaciones
                                                                                                                                                                                                                                                                                                                                                                                                                                            • Eliminar un grupo de implementacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                              • Eliminacioacuten de un grupo de implementaciones (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                                              • Eliminacioacuten de un grupo de implementaciones (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Uso de revisiones de aplicaciones de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Planear una revisioacuten para CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Agregar un archivo de especificacioacuten de aplicacioacuten a una revisioacuten de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Adicioacuten de un archivo AppSpec para una implementacioacuten de Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Plantilla de archivo de AppSpec de YAML para una implementacioacuten de Amazon ECS con instrucciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Plantilla JSON del archivo AppSpec para una implementacioacuten de Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Adicioacuten de un archivo AppSpec para unAWSImplementacioacuten de Lambda
                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Plantilla de archivo YAML AppSpec para unAWS Lambdadespliegue con instrucciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Archivo JSON AppSpec para unAWS Lambdaplantilla de despliegue
                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Adicioacuten de un archivo AppSpec para una implementacioacuten de EC2On-Premises
                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Plantilla de archivo AppSpec para una implementacioacuten de EC2On-Premises con instrucciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Elija un tipo de repositorio de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Enviar una revisioacuten de CodeDeploy en Amazon S3 (solo implementaciones de EC2locales)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Impulsar una revisioacuten mediante elAWS CLI
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Ver detalles de una revisioacuten de aplicacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Ver detalles de una revisioacuten de aplicacioacuten (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Ver detalles de una revisioacuten de aplicacioacuten (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Registrar una revisioacuten de aplicacioacuten en Amazon S3 con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Registro de una revisioacuten en Amazon S3 con CodeDeploy (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Registro de una revisioacuten en GitHub con CodeDeploy (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Uso de las implementaciones en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Cree una implementacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Requisitos previos para la implementacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Requisitos previos de implementacioacuten en unAWS Lambdaplataforma de computacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Requisitos previos de implementacioacuten en una plataforma de computacioacuten EC2On-Premises
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Requisitos previos de implementacioacuten para una implementacioacuten bluegreen (azulverde) medianteAWS CloudFormation
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Crear una implementacioacuten de Amazon ECS (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Creacioacuten de unAWSImplementacioacuten de Lambda Compute Platform (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Crear una implementacioacuten de Compute Platform (consola) de EC2On-Premises
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Especificar informacioacuten acerca de una revisioacuten almacenada en un bucket de Amazon S3
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Especificar informacioacuten sobre una revisioacuten almacenada en un repositorio de GitHub
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Crear una implementacioacuten de Amazon ECS Compute Platform (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Creacioacuten de unAWSImplementacioacuten de Lambda Compute Platform (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Crear una implementacioacuten de plataforma de computacioacuten EC2On-Premises (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • referencia de comandos create-deployment
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Connect una aplicacioacuten CodeDeploy a un repositorio de GitHub
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Cree una implementacioacuten bluegreen (azulverde) de Amazon ECS medianteAWS CloudFormation
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Diferencias entre las implementaciones bluegreen (azulverde) de Amazon ECS mediante CodeDeploy yAWS CloudFormation
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Supervisioacuten de implementaciones laquobluegreenraquo de Amazon ECS a traveacutes deAWS CloudFormation
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Ver detalles de implementacioacuten de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Ver los detalles de las implementaciones (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Ver los detalles de las implementaciones (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Ver datos de registro de las implementaciones de CodeDeploy EC2On-Premises
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Ver los datos del archivo de registro en la consola de Amazon CloudWatch
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Ver archivos de registro de una instancia
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Para ver los archivos de log de implementacioacuten en las instancias de Amazon Linux RHEL y Ubuntu Server
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Para ver los archivos de log de implementacioacuten en las instancias de Windows Server
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Detener una implementacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Detener una implementacioacuten (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Detener una implementacioacuten (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Redesplegar y deshacer una implementacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Restauraciones automaacuteticas
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Restauraciones manuales
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Flujo de trabajo de la restauracioacuten y reimplementacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Comportamiento de reversioacuten con contenido existente
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Implementar una aplicacioacuten en otroAWScuenta
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Paso 1 Creacioacuten de S3 Bucket en cualquiera de las cuentas
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Paso 2 Conceder permisos de bucket de Amazon S3 al perfil de instancia de IAM de la cuenta de produccioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Paso 3 Creacioacuten de recursos y un rol entre cuentas en la cuenta de produccioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Paso 4 Cargue la revisioacuten de la aplicacioacuten en el bucket de Amazon S3
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Paso 5 Asumir el rol de acceso entre cuentas e implementar aplicaciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Usar el agente de CodeDeploy para validar un paquete de implementacioacuten en una maacutequina local
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Requisitos previos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Crear una implementacioacuten local
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Ejemplos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Monitorizar implementaciones en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Herramientas de monitoreo automatizadas
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Herramientas de monitoreo manuales
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Monitorizacioacuten de implementaciones con herramientas de Amazon CloudWatch
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Supervisioacuten de implementaciones con alarmas de CloudWatch en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Conceder permisos de CloudWatch a un rol de servicio CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Monitoreo de implementaciones de mediante Amazon CloudWatch Events
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Monitorizar implementaciones conAWS CloudTrail
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Informacioacuten de CodeDeploy en CloudTrail
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Descripcioacuten de las entradas de archivos log de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Supervisioacuten de implementaciones con notificaciones de eventos de Amazon SNS
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Conceder permisos de Amazon SNS a un rol de servicio CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Creacioacuten de un disparador para un evento de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Creacioacuten de un disparador para enviar notificaciones para eventos de CodeDeploy (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Creacioacuten de un disparador para enviar notificaciones para eventos de CodeDeploy (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Para crear un disparador de enviacuteo de notificaciones para un nuevo grupo de implementaciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Para crear un disparador de enviacuteo de notificaciones para un grupo de implementaciones existente
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Edicioacuten de un activador en un grupo de implementacioacuten de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Modificacioacuten de un disparador de CodeDeploy (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Eliminar un desencadenador de un grupo de implementacioacuten de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Eliminacioacuten de un desencadenador de un grupo de implementaciones (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Eliminacioacuten de un desencadenador de un grupo de implementaciones (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Formatos de datos JSON para activadores de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Seguridad enAWSCodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Proteccioacuten de los datos enAWSCodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Privacidad del traacutefico entre redes
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Cifrado en reposo
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Cifrado en traacutensito
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Administracioacuten de claves de cifrado
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Identity and Access Management en AWS CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Puacuteblico
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Autenticacioacuten con identidades
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Cuenta de AWS usuario raiacutez
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Usuarios y grupos de IAM
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • IAM roles
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Administracioacuten de acceso mediante poliacuteticas
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Poliacuteticas basadas en identidad
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Otros tipos de poliacuteticas
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Varios tipos de poliacuteticas
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Coacutemo AWS CodeDeploy funciona con IAM
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Poliacuteticas basadas en identidades de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Acciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Recursos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Recursos y operaciones de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Claves de condicioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Ejemplos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Poliacuteticas basadas en recursos de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Autorizacioacuten basada en etiquetas de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Funciones de IAM de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Uso de credenciales temporales con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Roles vinculados a servicios
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Roles de servicio
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Elegir un rol de IAM en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • AWSPoliacuteticas administradas por (predefinidas) para CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • lista deAWSpoliacuteticas administradas para CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Poliacuteticas administradas y notificaciones de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Permisos para notificaciones en poliacuteticas administradas de acceso total
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Permisos para notificaciones en poliacuteticas administradas de solo lectura
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Actualizaciones de CodeDeploy enAWSpoliacuteticas administradas
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Ejemplos de poliacuteticas basadas en identidad de AWS CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Ejemplos de poliacuteticas administradas por los clientes
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Ejemplo 1 Permitir que un usuario realice CodeDeploy operaciones en una uacutenica regioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Ejemplo 2 Permitir a un usuario registrar revisiones de una sola aplicacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Ejemplo 3 Permitir a un usuario crear implementaciones para un uacutenico grupo de implementacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Praacutecticas recomendadas relativas a poliacuteticas
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Uso de la consola de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Permitir a los usuarios consultar sus propios permisos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Solucioacuten de problemas de identidades y accesos en AWS CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • No tengo autorizacioacuten para realizar la operacioacuten iamPassRole
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Quiero ver mis claves de acceso
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Soy administrador y deseo permitir que otros obtengan acceso a CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Quiero permitir a personas fuera de miAWScuenta para acceder a mis recursos de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Referencia de permisos de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Prevencioacuten del suplente confuso entre servicios
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Registro y monitoreo en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Auditoriacutea de todas las interacciones con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Administracioacuten de incidentes y alertas
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Validacioacuten de la conformidad enAWSCodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Resiliencia enAWSCodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Seguridad de la infraestructura enAWSCodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Referencia
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Referencia del archivo CodeDeploy AppSpec
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Archivos AppSpec en una plataforma de computacioacuten Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Archivos AppSpec de unAWS Lambdaplataforma de computacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Archivos AppSpec en una plataforma de computacioacuten EC2On-Premises
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Estructura de archivos AppSpec
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Estructura de archivos de AppSpec para implementaciones de Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Estructura de archivos AppSpec paraAWSImplementaciones de Lambda
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Estructura de archivos AppSpec para implementaciones EC2On-Premises
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Seccioacuten files de AppSpec (solo para implementaciones EC2On-Premises)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Ejemplos de la seccioacuten files
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Seccioacuten laquoresourcesraquo de AppSpec (Amazon ECS yAWS Lambdasolo implementaciones)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Seccioacuten laquoresourcesraquo de AppSpec paraAWSImplementaciones de Lambda
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Seccioacuten laquoresourcesraquo de AppSpec para implementaciones de Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Seccioacuten permissions de AppSpec (solo para implementaciones EC2On-Premises)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Ejemplo de la seccioacuten Permissions
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Seccioacuten hooks de AppSpec
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Seccioacuten hooks de AppSpec para una implementacioacuten de Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Lista de ganchos de eventos del ciclo de vida de una implementacioacuten de Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Orden de ejecucioacuten de los enlaces en una implementacioacuten de Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Estructura de la seccioacuten hooks
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Funcioacuten hooks de Lambda de ejemplo
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Seccioacuten hooks de AppSpec para unAWSImplementacioacuten de Lambda
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Lista de ganchos de eventos del ciclo de vida de unAWSImplementacioacuten de Lambda
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Ejecute el orden de los ganchos en una implementacioacuten de la versioacuten de la funcioacuten Lambda
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Estructura de la seccioacuten hooks
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Funcioacuten hooks de Lambda de ejemplo
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Seccioacuten hooks de AppSpec para una implementacioacuten EC2On-Premises
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Lista de ganchos de eventos del ciclo de vida
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Disponibilidad de enlaces de eventos de ciclo de vida
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Ejecutar el orden de los ganchos en una implementacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Estructura de la seccioacuten hooks
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Disponibilidad de variables de entorno para los ganchos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Ejemplo de enlaces
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Ejemplo del archivo AppSpec
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Ejemplo de archivo AppSpec para una implementacioacuten de Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Ejemplo de archivo de AppSpec para unAWSImplementacioacuten de Lambda
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Ejemplo de archivo AppSpec para una implementacioacuten EC2On-Premises
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Espaciado de archivos AppSpec
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Validar su ubicacioacuten de archivo y archivo de AppSpec
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Referencia de configuracioacuten del agente CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Temas relacionados
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • AWS CloudFormationplantillas para referencia de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Usar CodeDeploy con Amazon Virtual Private Cloud
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Disponibilidad
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Crear puntos de enlace de la VPC para CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Configuracioacuten del CodeDeploy permisos de agente e IAM
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Referencia del kit de recursos CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Nombres de buckets del kit de recursos por regioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Contenido del kit de recursos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Muestre una lista de los archivos del kit de recursos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Descargue los archivos del kit de recursos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • liacutemites de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Aplicaciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Revisiones de aplicaciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Implementaciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Configuraciones de implementacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Grupos de implementaciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Instancias
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Solucioacuten de problemas de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Solucioacuten de problemas generales
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Lista de comprobacioacuten de solucioacuten de problemas generales
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Los recursos de implementacioacuten de CodeDeploy solo se admiten en algunosAWSRegiones de
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Los procedimientos de esta guiacutea no sirven para la consola de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Los roles de IAM necesarios no estaacuten disponibles
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • El uso de algunos editores de texto para crear archivos AppSpec y scripts del shell produce un error en las implementaciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • El uso de Finder en macOS para empaquetar una revisioacuten de la aplicacioacuten puede producir un error en la implementacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Solucioacuten de problemas de implementacioacuten EC2On-premises
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • El agente de CodeDeploy no se inicia en Windows 2016
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Error de falta de credenciales en el complemento CodeDeploy CommandPoller
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • La implementacioacuten produce un error con el mensaje ldquoValidation of PKCS7 signed message failedrdquo
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • La implementacioacuten o la reimplementacioacuten de los mismos archivos en la misma instancia producen el error The deployment failed because a specified file already exists at this location
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Solucioacuten de errores de implementacioacuten The deployment failed because a specified file already exists at this location
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Los procesos de larga duracioacuten pueden producir un error en la implementacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Solucioacuten de problemas AllowTraffic Evento de ciclo de vida sin ninguacuten error en los logs de implementacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Solucioacuten de problemas con un error ApplicationStop BeforeBlockTraffic o AfterBlockTraffic evento del ciclo de vida de la implementacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Solucioacuten de problemas DownloadBundle evento de ciclo de vida de la implementacioacuten con UnknownError no abierto para lectura
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Solucioacuten de problemas cuando se omiten todos los eventos del ciclo de vida
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Windows PowerShell Los scripts no pueden utilizar la versioacuten de 64 bits de Windows PowerShell de forma predeterminada
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • SolucionarAWSProblemas de implementacioacuten de Lambda
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • AWS LambdaLas implementaciones no se realizan correctamente si se detiene manualmente una implementacioacuten de Lambda que no tiene configuradas las reversiones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Solucioacuten de problemas de grupos de implementaciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Cuando se etiqueta una instancia como parte de un grupo de implementaciones no se implementa automaacuteticamente la aplicacioacuten en la nueva instancia
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Solucioacuten de problemas de instancias
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Las etiquetas deben estar configuradas correctamente
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • AWS CodeDeployEl agente de debe estar instalado y ejecutaacutendose en las instancias
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Las implementaciones no producen error hasta una hora despueacutes cuando se termina una instancia durante una implementacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Anaacutelisis de archivos de registro para investigar los errores de implementacioacuten en instancias
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Creacioacuten de un nuevo CodeDeploy archivo log de si se ha eliminado por error
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Solucioacuten de errores de implementacioacuten ldquoInvalidSignatureException ndash Signature expired [hora] is now earlier than [hora]rdquo
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Solucionar GitHub Problemas con token
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Invalid (No vaacutelido) GitHub Token OAuth
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Nuacutemero maacuteximo de GitHub Se superaron los tokens OAuth
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Solucioacuten de problemas de Amazon EC2 Auto Scaling
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Solucioacuten de problemas general de Amazon EC2 Auto Scaling
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • laquoCodeDeployRole no le da permiso para realizar operaciones en las siguientesAWSservicio de Error de AmazonAutoScalingraquo
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Las instancias de un grupo de Amazon EC2 Auto Scaling se aprovisionan y se terminan constantemente antes de que pueda implementarse una revisioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • La terminacioacuten o el reinicio de una instancia de Amazon EC2 Auto Scaling puede producir un error en las implementaciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Evite asociar varios grupos de implementaciones a un uacutenico grupo de Amazon EC2 Auto Scaling
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Las instancias EC2 de un grupo de Amazon EC2 Auto Scaling no se pueden lanzar y aparece el error laquoHeartbeat Timeoutraquo
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Los enlaces de ciclo de vida de Amazon EC2 Auto Scaling de Amazon EC2 podriacutean provocar detenciones o errores de las implementaciones automaacuteticas en grupos de Auto Scaling de Amazon EC2
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Error laquoLa implementacioacuten ha fallado porque no se han encontrado instancias para el grupo de implementacioacutenraquo
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Coacutedigos de error deAWS CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Temas relacionados
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Recursos de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Guiacuteas de referencia y recursos de soporte
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Muestras
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Blogs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • AWSkits y herramientas de desarrollo de software
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Historial de documentos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Actualizaciones anteriores
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Glosario de AWS
Page 2: AWS CodeDeploy - Guía del usuario

AWS CodeDeploy Guiacutea del usuario

AWS CodeDeploy Guiacutea del usuarioCopyright copy Amazon Web Services Inc andor its affiliates All rights reserved

Las marcas comerciales y la imagen comercial de Amazon no se pueden utilizar en relacioacuten con ninguacuten producto oservicio que no sea de Amazon de ninguna manera que pueda causar confusioacuten entre los clientes y que menosprecieo desacredite a Amazon Todas las demaacutes marcas comerciales que no sean propiedad de Amazon son propiedad desus respectivos propietarios que pueden o no estar afiliados conectados o patrocinados por Amazon

AWS CodeDeploy Guiacutea del usuario

Table of ContentsiquestQueacute es CodeDeploy 1

Ventajas de AWS CodeDeploy 2Descripcioacuten general de las plataformas informaacuteticas de CodeDeploy 2Introduccioacuten a los tipos de implementacioacuten de CodeDeploy 7

Descripcioacuten general de una implementacioacuten laquoin-placeraquo 8Descripcioacuten general de una implementacioacuten laquobluegreenraquo 9

Esperamos tener noticias suyas 12Componentes principales 12

Aplicacioacuten 12Plataforma de computacioacuten 13Configuracioacuten de implementacioacuten 13Grupo de implementaciones 14Tipo de implementacioacuten 14Tipo de implementacioacuten 15Revisioacuten 15Rol de servicio 15revisioacuten de destino 15Otros componentes 16

Implementaciones 16Implementaciones en unaAWSPlataforma de computacioacuten Lambda 16Implementaciones en una plataforma de computacioacuten Amazon ECS 19Implementaciones en una plataforma de computacioacuten EC2On-Premises 27

Archivos de especificacioacuten de aplicacioacuten 32Archivos AppSpec en una plataforma de computacioacuten Amazon ECS 33Archivos AppSpec en unAWS Lambdaplataforma de computacioacuten 33Archivos AppSpec en una plataforma de computacioacuten EC2On-Premises 33Coacutemo utiliza el agente de CodeDeploy el archivo AppSpec 34

Introduccioacuten 35Paso 1 Instalar o actualizar y a continuacioacuten configurar laAWS CLI 35Paso 2 Crear un rol de servicio 36

Creacioacuten de un rol de servicio de (consola) 37Creacioacuten de un rol de servicio de (CLI) 39Obtenga el ARN del rol de servicio (consola) 40Obtenga el ARN del rol de servicio (CLI) 41

Paso 3 Provisionar un usuario de IAM 41Paso 4 Crear un perfil de instancia de IAM 43

Crear un perfil de instancias de IAM para sus instancias Amazon EC2 (CLI) 43Crear un perfil de instancias de IAM para sus instancias Amazon EC2 (consola) 45

Integraciones de productos y servicios 48Integracioacuten con otros servicios de AWS 48

Amazon EC2 Auto Scaling 53Elastic Load Balancing 57

Integracioacuten a productos y servicios de socios 60GitHub 63

Ejemplos de integracioacuten de la comunidad 66Entradas de blogs 66

Tutoriales 68Tutorial Implementacioacuten de WordPress en una instancia sin Windows 68

Paso 1 Lance una instancia Amazon EC2 69Paso 2 Configurar el contenido de origen 70Paso 3 Cargar la aplicacioacuten en Amazon S3 74Paso 4 Implementar la aplicacioacuten 77Paso 5 Actualiza y vuelve a desplegar tu aplicacioacuten 82Paso 6 Eliminar recursos 85

Versioacuten de API 2014-10-06iii

AWS CodeDeploy Guiacutea del usuario

Tutorial Implementacioacuten de una aplicacioacuten Hello World en una instancia de Windows Server 87Paso 1 Lance una instancia Amazon EC2 88Paso 2 Configurar el contenido de origen 90Paso 3 Cargue su aplicacioacuten en Amazon S3 92Paso 4 Implementar la aplicacioacuten 95Paso 5 Actualiza y vuelve a desplegar tu aplicacioacuten 99Paso 6 Eliminar recursos 101

Tutorial Implementacioacuten de una aplicacioacuten en una instancia on-premises 103Requisitos previos 104Paso 1 Configuracioacuten de la instancia on-premises 104Paso 2 Creacioacuten de una revisioacuten de aplicacioacuten de muestra 104Paso 3 Agrupe y cargue la revisioacuten de la aplicacioacuten en Amazon S3 108Paso 4 Implementar la revisioacuten de la aplicacioacuten 108Paso 5 Verificacioacuten de la implementacioacuten 108Paso 6 Limpiar recursos 108

Tutorial Implementar en un grupo de Auto Scaling 110Requisitos previos 110Paso 1 Creacioacuten y configuracioacuten del grupo de Auto Scaling 111Paso 2 Implementar la aplicacioacuten en el grupo de Auto Scaling 115Paso 3 Compruebe sus resultados 121Paso 4 Aumente el nuacutemero de instancias de Amazon EC2 en el grupo de Auto Scaling 122Paso 5 Vuelve a comprobar los resultados 123Paso 6 Eliminar recursos 125

Tutorial Implementar una aplicacioacuten desde GitHub 127Requisitos previos 127Paso 1 Configure una cuenta de GitHub 127Paso 2 Creacioacuten de un repositorio de GitHub 128Paso 3 Cargue una aplicacioacuten de ejemplo en el repositorio GitHub 129Paso 4 Aprovisionar una instancia 132Paso 5 Crear una aplicacioacuten y un grupo de implementaciones 133Paso 6 Implementacioacuten de la aplicacioacuten en la instancia 134Paso 7 Supervisar y verificar la implementacioacuten 137Paso 8 Eliminar recursos 138

Tutorial Implementar un servicio de Amazon ECS 139Requisitos previos 141Paso 1 Actualice la aplicacioacuten de Amazon ECS 141Paso 2 Creacioacuten del archivo AppSpec 142Paso 3 Utilice la consola de CodeDeploy para implementar su servicio Amazon ECS 143Paso 4 Eliminar recursos 146

Tutorial Implementacioacuten de un servicio Amazon ECS con una prueba de validacioacuten 147Requisitos previos 149Paso 1 Crear un agente de escucha de prueba 149Paso 2 Actualice la aplicacioacuten de Amazon ECS 149Paso 3 Crear una funcioacuten Lambda de enlace de ciclo de vida 150Paso 4 Actualice el archivo AppSpec 151Paso 5 Utilice la consola de CodeDeploy para implementar su servicio Amazon ECS 153Paso 6 Visualice la salida de la funcioacuten de enlace de Lambda en CloudWatch Logs 154Paso 7 Eliminar recursos 155

Tutorial Implemente una funcioacuten Lambda medianteAWSSAM 156Requisitos previos 156Paso 1 Configurar la infraestructura 156Paso 2 Actualizacioacuten de la funcioacuten Lambda 167Paso 3 Implemente la funcioacuten de Lambda actualizada 168Paso 4 Consulte los resultados de la implementacioacuten 171Paso 5 Eliminar recursos 173

Trabajar con el agente de CodeDeploy 175Sistemas operativos compatibles con el agente de CodeDeploy 175

Versioacuten de API 2014-10-06iv

AWS CodeDeploy Guiacutea del usuario

Sistemas operativos AMI de Amazon EC2 compatibles 175Sistemas operativos locales compatibles 176

Protocolo de comunicacioacuten y puerto para el agente de CodeDeploy 176Historial de versiones del agente de CodeDeploy 176Revisioacuten de aplicaciones y limpieza de archivos de registro 183Archivos instalados por el agente de CodeDeploy 183Administracioacuten de operaciones del agente de CodeDeploy 186

Verifique que el agente de CodeDeploy esteacute en ejecucioacuten 186Determinar la versioacuten del agente de CodeDeploy 188Instalacioacuten del agente de CodeDeploy 189Actualizacioacuten del agente de CodeDeploy 198Desinstalacioacuten del agente de CodeDeploy 203SendCodeDeployRegistros de agentes de aCloudWatch 204

Trabajar con instancias 207Comparacioacuten de instancias de Amazon EC2 con instancias locales 207Tareas de instancia para CodeDeploy 208Etiquetado de instancias para implementaciones de CodeDeploy 209

Ejemplo 1 Grupo de etiquetas individuales etiqueta uacutenica 210Ejemplo 2 Grupo de etiquetas individuales etiquetas muacuteltiples 211Ejemplo 3 Varios grupos de etiquetas etiquetas individuales 212Ejemplo 4 Varios grupos de etiquetas varias etiquetas 214

Trabajar con instancias Amazon EC2 216Creacioacuten de una instancia de Amazon EC2 para CodeDeploy 217Crear una instancia Amazon EC2 (AWS CloudFormationplantilla) 221Configurar una instancia de Amazon EC2 228

Trabajar con instancias on-premises 230Requisitos previos para configurar una instancia on-premises 231Registro de una instancia on-premises 232Administracioacuten de operaciones de instancias on-premises 253

Visualizacioacuten de los detalles de la instancia 258Ver los detalles de la instancia (consola) 258Visualizacioacuten de los detalles de la instancia (CLI) 259

Estado de la instancia 259Estado 260Miacutenimo de instancias e implementaciones en buen estado 261

Uso de configuraciones de implementacioacuten 264Configuraciones de implementacioacuten en una plataforma de computacioacuten EC2On-Premises 264

Configuraciones de implementacioacuten predefinidas 264Configuraciones de implementacioacuten en una plataforma de computacioacuten Amazon ECS 267

Configuraciones de implementacioacuten predefinidas para Amazon ECS 267Configuraciones de implementacioacuten paraAWS CloudFormationImplementaciones bluegreen (AmazonECS) 267Configuraciones de implementacioacuten en unaAWS Lambdaplataforma de computacioacuten 268

Configuraciones de implementacioacuten predefinidas para Lambda 268 269

Crear una configuracioacuten de implementacioacuten 269Ver detalles de la configuracioacuten de implementacioacuten 270

Ver detalles de la configuracioacuten de implementacioacuten (consola) 270Visualizacioacuten de la configuracioacuten de implementacioacuten (CLI) 270

Eliminacioacuten de una configuracioacuten de implementacioacuten 271Trabajar con aplicaciones 272

Cree una aplicacioacuten 273Cree una aplicacioacuten para una implementacioacuten in situ (consola) 274Cree una aplicacioacuten para una implementacioacuten bluegreen (consola) 276Creacioacuten de una aplicacioacuten para una implementacioacuten de servicios de Amazon ECS (consola) 279Cree una aplicacioacuten para unaAWS Lambdaimplementacioacuten de funciones (consola) 281Crear una aplicacioacuten (CLI) 282

Versioacuten de API 2014-10-06v

AWS CodeDeploy Guiacutea del usuario

Ver los detalles de la aplicacioacuten 282Ver los detalles de la aplicacioacuten (consola) 282Ver los detalles de la aplicacioacuten (CLI) 283

Creacioacuten de una regla de notificacioacuten 283Cambiar el nombre de una aplicacioacuten 285Eliminar una aplicacioacuten 285

Eliminar una aplicacioacuten de (consola) 286Eliminar una aplicacioacuten (AWS CLI) 286

Trabajar con grupos de implementaciones 287Grupos de implementacioacuten en implementaciones de plataformas informaacuteticas de Amazon ECS 287Grupos de implementaciones enAWS Lambdaimplementaciones de plataformas de computacioacuten 287Grupos de implementaciones en implementaciones EC2On-Premises 287 288

Creacioacuten de un grupo de implementaciones 288Crear un grupo de implementaciones para una implementacioacuten in situ (consola) 289Crear un grupo de implementaciones para una implementacioacuten EC2On-Premises bluegreen(consola) 291Crear un grupo de implementacioacuten para una implementacioacuten de Amazon ECS (consola) 294Configurar un equilibrador de carga en Elastic Load Balancing para implementaciones deCodeDeploy Amazon EC2 295Configurar un equilibrador de carga grupos de destino y listeners para implementaciones deCodeDeploy Amazon ECS 296Creacioacuten de un grupo de implementaciones (CLI) 299

Ver detalles del grupo de implementacioacuten 300Ver detalles del grupo de implementaciones (consola) 300Ver detalles del grupo de implementaciones (CLI) 301

Cambiar la configuracioacuten del grupo de implementacioacuten 301Cambiar la configuracioacuten del grupo de implementaciones (consola) 302Cambiar la configuracioacuten del grupo de implementacioacuten (CLI) 302

Configuracioacuten de las opciones avanzadas de un grupo de implementaciones 303Eliminar un grupo de implementaciones 305

Eliminacioacuten de un grupo de implementaciones (consola) 306Eliminacioacuten de un grupo de implementaciones (CLI) 306

Gestioacuten de revisiones de aplicaciones 307Planear una revisioacuten 307Adicioacuten de un archivo AppSpec 308

Adicioacuten de un archivo AppSpec para una implementacioacuten de Amazon ECS 308Adicioacuten de un archivo AppSpec para unAWSImplementacioacuten de Lambda 310Adicioacuten de un archivo AppSpec para una implementacioacuten de EC2On-Premises 312

Eleccioacuten de un tipo de repositorio 314Enviar una revisioacuten 316

Impulsar una revisioacuten mediante elAWS CLI 317Ver detalles de una revisioacuten de aplicacioacuten 319

Ver detalles de una revisioacuten de aplicacioacuten (consola) 319Ver detalles de una revisioacuten de aplicacioacuten (CLI) 319

Registro de una revisioacuten de una aplicacioacuten 320Registro de una revisioacuten en Amazon S3 con CodeDeploy (CLI) 321Registro de una revisioacuten en GitHub con CodeDeploy (CLI) 321

Uso de las implementaciones 323Crear una implementacioacuten 324

Requisitos previos para la implementacioacuten 324Crear una implementacioacuten de Amazon ECS (consola) 327Creacioacuten de unAWSImplementacioacuten de Lambda Compute Platform (consola) 328Crear una implementacioacuten de Compute Platform (consola) de EC2On-Premises 329Crear una implementacioacuten de Amazon ECS Compute Platform (CLI) 333Creacioacuten de unAWSImplementacioacuten de Lambda Compute Platform (CLI) 334Crear una implementacioacuten de plataforma de computacioacuten EC2On-Premises (CLI) 335

Versioacuten de API 2014-10-06vi

AWS CodeDeploy Guiacutea del usuario

Cree una implementacioacuten bluegreen (azulverde) de Amazon ECS medianteAWSCloudFormation 337

Ver detalles de las implementaciones 340Ver los detalles de las implementaciones (consola) 341Ver los detalles de las implementaciones (CLI) 341

Ver datos del registro de implementacioacuten 342Ver los datos del archivo de registro en la consola de Amazon CloudWatch 342Ver archivos de registro de una instancia 342

Detener una implementacioacuten 344Detener una implementacioacuten (consola) 345Detener una implementacioacuten (CLI) 345

Reimplementa y reversioacuten de una implementacioacuten 345Restauraciones automaacuteticas 346Restauraciones manuales 346Flujo de trabajo de la restauracioacuten y reimplementacioacuten 346Comportamiento de reversioacuten con contenido existente 347

Implementar una aplicacioacuten en otroAWScuenta 349Paso 1 Creacioacuten de S3 Bucket en cualquiera de las cuentas 350Paso 2 Conceder permisos de bucket de Amazon S3 al perfil de instancia de IAM de la cuentade produccioacuten 350Paso 3 Creacioacuten de recursos y un rol entre cuentas en la cuenta de produccioacuten 351Paso 4 Cargue la revisioacuten de la aplicacioacuten en el bucket de Amazon S3 352Paso 5 Asumir el rol de acceso entre cuentas e implementar aplicaciones 352

Validar un paquete de implementacioacuten en una maacutequina local 352Requisitos previos 353Crear una implementacioacuten local 354Ejemplos 356

Monitorizar implementaciones 358Herramientas automatizadas 358Herramientas manuales 359Monitorizacioacuten de implementaciones con herramientas de Amazon CloudWatch 360

Monitorizacioacuten de implementaciones con alarmas de CloudWatch 360Monitoreo de implementaciones de mediante Amazon CloudWatch Events 362

Monitorizar implementaciones conAWS CloudTrail 364Informacioacuten de CodeDeploy en CloudTrail 364Descripcioacuten de las entradas de archivos log de CodeDeploy 364

Supervisioacuten de implementaciones con notificaciones de eventos de Amazon SNS 365Concesioacuten de permisos de Amazon SNS a un rol de servicio 366Creacioacuten de un disparador para un evento de CodeDeploy 367Edicioacuten de un desencadenador en un grupo de implementacioacuten 372Eliminar un desencadenador de un grupo de implementacioacuten 373Formatos de datos JSON para activadores 374

Seguridad 376Proteccioacuten de los datos 376

Privacidad del traacutefico entre redes 377Cifrado en reposo 377Cifrado en traacutensito 377Administracioacuten de claves de cifrado 378

Identity and Access Management 378Puacuteblico 378Autenticacioacuten con identidades 379Administracioacuten de acceso mediante poliacuteticas 381Coacutemo AWS CodeDeploy funciona con IAM 382AWSPoliacuteticas administradas por (predefinidas) para CodeDeploy 385Actualizaciones de CodeDeploy enAWSpoliacuteticas administradas 390Ejemplos de poliacuteticas basadas en identidad 390Solucioacuten de problemas 395

Versioacuten de API 2014-10-06vii

AWS CodeDeploy Guiacutea del usuario

Referencia de permisos de CodeDeploy 397Prevencioacuten del suplente confuso entre servicios 403

Respuesta frente a incidencias 404Auditoriacutea de todas las interacciones con CodeDeploy 404Administracioacuten de incidentes y alertas 404

Validacioacuten de conformidad 405Resiliencia 405Seguridad de infraestructuras 406

Referencia 407Referencia del archivo AppSpec 407

Archivos AppSpec en una plataforma de computacioacuten Amazon ECS 407Archivos AppSpec de unAWS Lambdaplataforma de computacioacuten 408Archivos AppSpec en una plataforma de computacioacuten EC2On-Premises 408Estructura de archivos AppSpec 408Ejemplo del archivo AppSpec 436Espaciado de archivos AppSpec 440Validar su ubicacioacuten de archivo y archivo de AppSpec 441

Referencia de configuracioacuten del agente 441Temas relacionados 444

AWS CloudFormationreferencia de plantillas 444Usar CodeDeploy con Amazon Virtual Private Cloud 446

Disponibilidad 447Crear puntos de enlace de la VPC para CodeDeploy 448Configuracioacuten del CodeDeploy permisos de agente e IAM 448

Referencia del kit de recursos 449Nombres de buckets del kit de recursos por regioacuten 449Contenido del kit de recursos 450Muestre una lista de los archivos del kit de recursos 452Descargue los archivos del kit de recursos 452

Liacutemites 454Aplicaciones 455Revisiones de aplicaciones 455Implementaciones 455Configuraciones de implementacioacuten 457Grupos de implementaciones 457Instancias 458

Solucioacuten de problemas 459Solucioacuten de problemas generales 459

Lista de comprobacioacuten de solucioacuten de problemas generales 459Los recursos de implementacioacuten de CodeDeploy solo se admiten en algunosAWSRegiones de 461Los procedimientos de esta guiacutea no sirven para la consola de CodeDeploy 461Los roles de IAM necesarios no estaacuten disponibles 461El uso de algunos editores de texto para crear archivos AppSpec y scripts del shell produce unerror en las implementaciones 461El uso de Finder en macOS para empaquetar una revisioacuten de la aplicacioacuten puede producir unerror en la implementacioacuten 462

Solucioacuten de problemas de implementacioacuten EC2On-premises 462El agente de CodeDeploy no se inicia en Windows 2016 463Error de falta de credenciales en el complemento CodeDeploy CommandPoller 464La implementacioacuten produce un error con el mensaje ldquoValidation of PKCS7 signed messagefailedrdquo 464La implementacioacuten o la reimplementacioacuten de los mismos archivos en la misma instanciaproducen el error The deployment failed because a specified file already exists at this location 464Los procesos de larga duracioacuten pueden producir un error en la implementacioacuten 466Solucioacuten de problemas AllowTraffic Evento de ciclo de vida sin ninguacuten error en los logs deimplementacioacuten 467

Versioacuten de API 2014-10-06viii

AWS CodeDeploy Guiacutea del usuario

Solucioacuten de problemas con un error ApplicationStop BeforeBlockTraffic o AfterBlockTrafficevento del ciclo de vida de la implementacioacuten 468Solucioacuten de problemas DownloadBundle evento de ciclo de vida de la implementacioacuten conUnknownError no abierto para lectura 469Solucioacuten de problemas cuando se omiten todos los eventos del ciclo de vida 469Windows PowerShell Los scripts no pueden utilizar la versioacuten de 64 bits de Windows PowerShellde forma predeterminada 471

SolucionarAWSProblemas de implementacioacuten de Lambda 471AWS LambdaLas implementaciones no se realizan correctamente si se detiene manualmenteuna implementacioacuten de Lambda que no tiene configuradas las reversiones 472

Solucioacuten de problemas de grupos de implementaciones 472Cuando se etiqueta una instancia como parte de un grupo de implementaciones no seimplementa automaacuteticamente la aplicacioacuten en la nueva instancia 472

Solucioacuten de problemas de instancias 472Las etiquetas deben estar configuradas correctamente 473AWS CodeDeployEl agente de debe estar instalado y ejecutaacutendose en las instancias 473Las implementaciones no producen error hasta una hora despueacutes cuando se termina unainstancia durante una implementacioacuten 473Anaacutelisis de archivos de registro para investigar los errores de implementacioacuten en instancias 473Creacioacuten de un nuevo CodeDeploy archivo log de si se ha eliminado por error 474Solucioacuten de errores de implementacioacuten ldquoInvalidSignatureException ndash Signature expired [hora] isnow earlier than [hora]rdquo 474

Solucionar GitHub Problemas con token 474Invalid (No vaacutelido) GitHub Token OAuth 474Nuacutemero maacuteximo de GitHub Se superaron los tokens OAuth 475

Solucioacuten de problemas de Amazon EC2 Auto Scaling 475Solucioacuten de problemas general de Amazon EC2 Auto Scaling 476laquoCodeDeployRole no le da permiso para realizar operaciones en las siguientesAWSservicio deError de AmazonAutoScalingraquo 476Las instancias de un grupo de Amazon EC2 Auto Scaling se aprovisionan y se terminanconstantemente antes de que pueda implementarse una revisioacuten 477La terminacioacuten o el reinicio de una instancia de Amazon EC2 Auto Scaling puede producir unerror en las implementaciones 477Evite asociar varios grupos de implementaciones a un uacutenico grupo de Amazon EC2 Auto Scaling 478Las instancias EC2 de un grupo de Amazon EC2 Auto Scaling no se pueden lanzar y aparece elerror laquoHeartbeat Timeoutraquo 479Los enlaces de ciclo de vida de Amazon EC2 Auto Scaling de Amazon EC2 podriacutean provocardetenciones o errores de las implementaciones automaacuteticas en grupos de Auto Scaling deAmazon EC2 480Error laquoLa implementacioacuten ha fallado porque no se han encontrado instancias para el grupo deimplementacioacutenraquo 481

Coacutedigos de error 486Temas relacionados 490

Recursos 491Guiacuteas de referencia y recursos de soporte 491Muestras 491Blogs 491AWSkits y herramientas de desarrollo de software 491

Historial de documentos 493Actualizaciones anteriores 497

Glosario de AWS 512 dxiii

Versioacuten de API 2014-10-06ix

AWS CodeDeploy Guiacutea del usuario

iquestQueacute es CodeDeployCodeDeploy es un servicio de implementacioacuten que automatiza la implementacioacuten de las aplicaciones eninstancias Amazon EC2 en instancias on-premises en funciones Lambda sin servidor o en servicios ECSde Amazon

Puede implementar una variedad de contenidos de aplicacioacuten praacutecticamente ilimitada entre las que seincluyen

bull Codebull Funciones AWS Lambda sin servidorbull Archivos de configuracioacuten y webbull Ejecutablesbull Paquetesbull Scriptsbull Archivos multimedia

CodeDeploy puede implementar contenido de aplicaciones que se ejecuta en un servidor y se almacenaen buckets de Amazon S3 repositorios de GitHub o repositorios de Bitbucket CodeDeploy tambieacuten puedeimplementar una funcioacuten de Lambda sin servidor No es necesario hacer cambios en el coacutedigo existentepara poder utilizar CodeDeploy

CodeDeploy le ayuda a

bull Lanzar raacutepidamente nuevas caracteriacutesticasbull Actualizar las versiones de las funciones de AWS Lambdabull Evitar tiempos de inactividad durante la implementacioacuten de las aplicacionesbull Gestionar el complejo proceso de actualizacioacuten de las aplicaciones evitando muchos de los riesgos

asociados a las implementaciones manuales que son susceptibles a errores

El servicio se adapta a su infraestructura por lo que puede implementar faacutecilmente en una sola instancia oen miles de ellas

CodeDeploy funciona con diversos sistemas de administracioacuten de configuracioacuten control de coacutedigofuenteintegracioacuten continuaentrega continuae implementacioacuten continua Para obtener maacutes informacioacutenconsulteIntegraciones de productos

La consola de CodeDeploy tambieacuten proporciona una forma raacutepida de buscar sus recursos comorepositorios proyectos de compilacioacuten aplicaciones de implementacioacuten y canalizaciones Elija Go toresource (Ir a recurso) o pulse la tecla y a continuacioacuten escriba el nombre del recurso Se muestrantodas las coincidencias en la lista En las buacutesquedas no se distingue entre mayuacutesculas y minuacutesculas Solopuede ver los recursos para los que tiene permiso Para obtener maacutes informacioacuten consulte Identity andAccess Management en AWS CodeDeploy (p 378)

Temasbull Ventajas de AWS CodeDeploy (p 2)bull Descripcioacuten general de las plataformas informaacuteticas de CodeDeploy (p 2)bull Introduccioacuten a los tipos de implementacioacuten de CodeDeploy (p 7)bull Esperamos tener noticias suyas (p 12)bull Componentes principales de CodeDeploy (p 12)bull Implementaciones de CodeDeploy (p 16)

Versioacuten de API 2014-10-061

AWS CodeDeploy Guiacutea del usuarioVentajas de AWS CodeDeploy

bull Archivos de especificacioacuten de aplicacioacuten CodeDeploy (AppSpec) (p 32)

Ventajas de AWS CodeDeployCodeDeploy ofrece las ventajas siguientes

bull Aplicaciones de servidor sin servidor y contenedor CodeDeploy le permite implementar tantoaplicaciones tradicionales basadas en servidores como aplicaciones que implementan un sistema de sinservidorAWS Lambdaversioacuten de funcioacuten o una aplicacioacuten de Amazon ECS

bull Implementaciones automatizadas CodeDeploy automatiza totalmente la implementacioacuten de lasaplicaciones en los entornos de desarrollo pruebas y produccioacuten CodeDeploy se adapta a suinfraestructura por lo que puede implementar en una sola instancia o en miles de ellas

bull Minimizar el tiempo de inactividad Si la aplicacioacuten utiliza la plataforma de computacioacuten EC2On-premises CodeDeploy ayuda a maximizar la disponibilidad de la aplicacioacuten En las implementacionesin situ CodeDeploy actualiza de forma continua en las instancias Amazon EC2 Es posible especificarel nuacutemero de instancias que se desactivan a la vez para efectuar las actualizaciones Durante unaimplementacioacuten bluegreen la uacuteltima revisioacuten de la aplicacioacuten se instala en las instancias de sustitucioacutenEl traacutefico se desviacutea a estas instancias en el momento que desee bien inmediatamente o cuando hayaterminado de probar el nuevo entorno En ambos tipos de implementacioacuten CodeDeploy supervisa elestado de la aplicacioacuten de acuerdo con las reglas que configure

bull Detencioacuten y reversioacuten En caso de que haya errores puede detener y revertir la implementacioacuten deforma automaacutetica o manual

bull Control centralizado Puede iniciar y controlar el estado de las implementaciones faacutecilmente a traveacutesde la consola de CodeDeploy o laAWS CLI Recibiraacute un informe que indica el momento en que seimplementoacute cada revisioacuten de la aplicacioacuten en cada instancia Amazon EC2

bull Facilidad de adopcioacuten CodeDeploy no depende de ninguna plataforma y funciona con cualquieraplicacioacuten Permite reutilizar faacutecilmente el coacutedigo de configuracioacuten CodeDeploy tambieacuten puedeintegrarse en procesos de publicacioacuten de software o cadenas de herramientas de entrega continua yaexistentes

bull Implementaciones simultaacuteneas Si tiene maacutes de una aplicacioacuten que utiliza la plataforma de computacioacutenEC2On-premises CodeDeploy puede implementarlas simultaacuteneamente en el mismo conjunto deinstancias

Descripcioacuten general de las plataformas informaacuteticasde CodeDeploy

CodeDeploy puede implementar aplicaciones en tres plataformas de computacioacuten

bull EC2On-Premises Describe las instancias de servidores fiacutesicos que pueden ser instancias en la nubede Amazon EC2 servidores on-premises o ambos Las aplicaciones creadas mediante la plataformade computacioacuten EC2On-premises pueden estar formadas por archivos ejecutables archivos deconfiguracioacuten imaacutegenes etc

Las implementaciones que utilizan la plataforma de computacioacuten EC2On-premises administran laforma en que el traacutefico se enviacutea a las instancias mediante un tipo de implementacioacuten laquoin-placeraquo olaquobluegreenraquo Para obtener maacutes informacioacuten consulte Introduccioacuten a los tipos de implementacioacuten deCodeDeploy (p 7)

bull AWSLambda Se utiliza para implementar aplicaciones que constan de una versioacuten actualizada deuna funcioacuten LambdaAWS Lambdaadministra la funcioacuten Lambda en un entorno de computacioacuten sinservidor formado por una estructura de computacioacuten de alta disponibilidad AWS Lambda se encarga

Versioacuten de API 2014-10-062

AWS CodeDeploy Guiacutea del usuarioDescripcioacuten general de las plataformas

informaacuteticas de CodeDeploy

de realizar toda la administracioacuten de los recursos de computacioacuten Para obtener maacutes informacioacutenconsulteInformaacutetica sin servidor y aplicaciones Para obtener maacutes informacioacuten acerca deAWSLambdafunciones de Lambda consulteAWS Lambda

Puede administrar la forma en que el traacutefico se desplaza a las versiones actualizadas de la funcioacutenLambda durante una implementacioacuten eligiendo una configuracioacuten controlada lineal o todo a la vez

bull Amazon ECS Se utiliza para implementar una aplicacioacuten en contenedores de Amazon ECS comoconjunto de tareas CodeDeploy realiza una implementacioacuten bluegreen instalando una versioacutenactualizada de la aplicacioacuten como un nuevo conjunto de tareas de sustitucioacuten CodeDeploy redirige eltraacutefico de produccioacuten del conjunto de tareas de la aplicacioacuten original al conjunto de tareas de sustitucioacutenCuando la implementacioacuten se realiza correctamente se termina el conjunto de tareas original Paraobtener maacutes informacioacuten acerca de Amazon ECS consulteAmazon Elastic Container Service

Puede administrar la forma en que el traacutefico se desplaza al conjunto de tareas actualizado durante unaimplementacioacuten eligiendo una configuracioacuten controlada lineal o todo a la vez

Note

Las implementaciones bluegreen (azulverde) de Amazon ECS se admiten con CodeDeployyAWS CloudFormation Los detalles de estas implementaciones se describen en seccionesposteriores

En la tabla siguiente se describe coacutemo se utilizan los componentes de CodeDeploy con cada plataforma decomputacioacuten Para obtener maacutes informacioacuten consulte

bull Trabajar con grupos de implementaciones en CodeDeploy (p 287)bull Uso de las implementaciones en CodeDeploy (p 323)bull Uso de configuraciones de implementacioacuten en CodeDeploy (p 264)bull Uso de revisiones de aplicaciones de CodeDeploy (p 307)bull Trabajar con aplicaciones en CodeDeploy (p 272)

Componente CodeDeploy EC2On-Premises AWS Lambda AmazonECS

Grupo de implementaciones Implementa una revisioacuten enun conjunto de instancias

Implementa una nuevaversioacuten de una funcioacutenLambda sin servidor en unainfraestructura informaacuteticade alta disponibilidad

Especificael serviciode AmazonECS con laaplicacioacuten encontenedorparaimplementarcomo unconjunto detareas unagente deescucha deproduccioacuteny de pruebaopcionalque seutiliza paraentregartraacutefico a laaplicacioacuten

Versioacuten de API 2014-10-063

AWS CodeDeploy Guiacutea del usuarioDescripcioacuten general de las plataformas

informaacuteticas de CodeDeploy

Componente CodeDeploy EC2On-Premises AWS Lambda AmazonECSimplementadacuaacutendoredirigir eltraacutefico yterminar elconjuntode tareasoriginal dela aplicacioacutenimplementadaydesencadenadoralarma yrestauracioacutenopcionalConfiguracioacutendel

Implementacioacuten Implementa una nuevarevisioacuten que consta de unaaplicacioacuten y un archivoAppSpec El archivoAppSpec especifica coacutemose implementa la aplicacioacutenen las instancias de ungrupo de implementaciones

Desviacutea el traacutefico deproduccioacuten desde unaversioacuten de una funcioacutenLambda a una nuevaversioacuten de la mismafuncioacuten El archivo AppSpecespecifica queacute versioacuten de lafuncioacuten de Lambda se debeimplementar

Implementauna versioacutenactualizadade unaaplicacioacutende encontenedorde AmazonECS comoun nuevoconjunto detareas desustitucioacutenCodeDeployredirige eltraacutefico deproduccioacutendesde elconjunto detareas conla versioacutenoriginalal nuevoconjunto detareas desustitucioacutencon laversioacutenactualizadaCuando secompleta laimplementacioacutense terminael conjuntode tareasoriginal

Versioacuten de API 2014-10-064

AWS CodeDeploy Guiacutea del usuarioDescripcioacuten general de las plataformas

informaacuteticas de CodeDeploy

Componente CodeDeploy EC2On-Premises AWS Lambda AmazonECS

Configuracioacuten deimplementacioacuten

Configuracioacuten quedetermina la velocidadde implementacioacuten yel nuacutemero miacutenimo deinstancias que deben estaren buen estado en cualquiermomento durante unaimplementacioacuten

Configuracioacuten quedetermina coacutemo se desviacuteael traacutefico a las versionesde la funcioacuten de Lambdaactualizadas

Configuracioacutenquedeterminacoacutemo sedesviacutea eltraacutefico alconjuntode tareasde AmazonECSactualizado

Versioacuten de API 2014-10-065

AWS CodeDeploy Guiacutea del usuarioDescripcioacuten general de las plataformas

informaacuteticas de CodeDeploy

Componente CodeDeploy EC2On-Premises AWS Lambda AmazonECS

Revisioacuten Combinacioacuten de un archivoAppSpec y de archivosde aplicacioacuten comoejecutables archivos deconfiguracioacuten etc

Un archivo AppSpecque especifica la funcioacutenLambda implementar ylas funciones Lambdaque ejecutan pruebas devalidacioacuten durante enlacesde eventos de ciclo de vidade implementacioacuten

Un archivode AppSpecqueespecifica

bull Ladefinicioacutendetareas deAmazonECS parael servicioAmazonECScon laaplicacioacutende encontenedorque seva aimplementar

bull Elcontenedoren elque seimplementalaaplicacioacutenactualizada

bull Un puertopara elcontenedordonde seredirige eltraacutefico deproduccioacuten

bull Ajustes deconfiguracioacutende redopcionalesyfuncionesLambdaquepuedenejecutarpruebasdevalidacioacutenduranteenlaces deeventosde ciclo

Versioacuten de API 2014-10-066

AWS CodeDeploy Guiacutea del usuarioIntroduccioacuten a los tipos de implementacioacuten de CodeDeploy

Componente CodeDeploy EC2On-Premises AWS Lambda AmazonECS

de vida deimplementacioacuten

Aplicacioacuten Coleccioacuten de gruposde implementaciones yrevisiones Una aplicacioacutenEC2On-Premises utiliza laplataforma de computacioacutenEC2On-Premises

Coleccioacuten de gruposde implementaciones yrevisiones Una aplicacioacutenque se utiliza para unaAWSLambdala implementacioacutenutiliza el sistema sinservidorAWSPlataforma decomputacioacuten de Lambda

Coleccioacuten degrupos deimplementacionesy revisionesUnaaplicacioacutenutilizadapara unaimplementacioacutende AmazonECS utilizala plataformainformaacuteticade AmazonECS

Introduccioacuten a los tipos de implementacioacuten deCodeDeploy

CodeDeploy ofrece dos opciones en cuanto al tipo de implementacioacuten

bull Implementacioacuten in situ La aplicacioacuten de cada instancia del grupo de implementacioacuten se para seinstala la uacuteltima revisioacuten de la aplicacioacuten y se inicia y valida la nueva versioacuten de la aplicacioacuten Puedeutilizar un balanceador de carga de modo que se cancele el registro de cada instancia durante suimplementacioacuten y a continuacioacuten vuelva a ponerse en servicio una vez completada la implementacioacutenSolo las implementaciones que usan la plataforma de computacioacuten EC2On-premises pueden utilizarimplementaciones laquoin-placeraquo Para obtener maacutes informacioacuten acerca de las implementaciones in-placeconsulte Descripcioacuten general de una implementacioacuten laquoin-placeraquo (p 8)

Note

AWSLas implementaciones de Lambda y Amazon ECS no pueden usar un tipo deimplementacioacuten laquoin-placeraquo

bull Implementacioacuten bluegreen El funcionamiento de la implementacioacuten depende de la plataforma decomputacioacuten que utilicebull Bluegreen en una plataforma de computacioacuten EC2On-Premises Las instancias de un grupo de

implementaciones (el entorno original) se sustituyen por otro conjunto de instancias (el entorno desustitucioacuten) siguiendo estos pasosbull Las instancias se aprovisionan para el entorno de sustitucioacutenbull La uacuteltima revisioacuten de la aplicacioacuten se instala en las instancias de sustitucioacutenbull Se produce un tiempo de espera opcional para actividades tales como pruebas de aplicaciones y

verificacioacuten del sistemabull Las instancias del entorno de sustitucioacuten se registran con un balanceador de carga de Elastic Load

Balancing lo que provoca que el traacutefico se dirija a ellas Las instancias del entorno original secancelan el registro y pueden terminarse o mantenerse en ejecucioacuten para otros usos

Versioacuten de API 2014-10-067

AWS CodeDeploy Guiacutea del usuarioDescripcioacuten general de una implementacioacuten laquoin-placeraquo

Note

Si utiliza una plataforma informaacutetica EC2local tenga en cuenta que las implementaciones enazul y verde funcionan uacutenicamente con instancias de Amazon EC2

bull Bluegreen en unAWS Lambdao plataforma de coacutemputo Amazon ECS El traacutefico se desviacutea enincrementos de acuerdo con unacanariolineal o bientodo a la vezconfiguracioacuten de implementacioacutenPara obtener maacutes informacioacuten consulte Configuracioacuten de implementacioacuten (p 13)

bull Implementaciones bluegreen (azul-verde) conAWS CloudFormation El traacutefico se desviacutea desde losrecursos actuales a los recursos actualizados como parte de unAWS CloudFormationactualizacioacuten depila de Actualmente solo se admiten implementaciones de ECS bluegreen (azulverde)

Para obtener maacutes informacioacuten acerca de las implementaciones bluegreen consulte Descripcioacuten generalde una implementacioacuten laquobluegreenraquo (p 9)

Note

Con el agente de CodeDeploy puede realizar una implementacioacuten en una instancia en la quehaya iniciado sesioacuten sin necesidad de una aplicacioacuten un grupo de implementaciones o ni siquieraunAWSaccount Para obtener informacioacuten consulte Usar el agente de CodeDeploy para validarun paquete de implementacioacuten en una maacutequina local (p 352)

Temasbull Descripcioacuten general de una implementacioacuten laquoin-placeraquo (p 8)bull Descripcioacuten general de una implementacioacuten laquobluegreenraquo (p 9)

Descripcioacuten general de una implementacioacuten laquoin-placeraquo

Note

AWSLas implementaciones de Lambda y Amazon ECS no pueden usar un tipo deimplementacioacuten laquoin-placeraquo

A continuacioacuten se explica coacutemo funciona una implementacioacuten laquoin-placeraquo

1 En primer lugar debe crear contenido implementable en su equipo de desarrollo local o un entornosimilar y a continuacioacuten debe agregar unarchivo de especificacioacuten de la aplicacioacuten(archivo AppSpec)El archivo AppSpec es exclusivo de CodeDeploy Define las acciones de implementacioacuten que debeejecutar CodeDeploy El contenido implementable y el archivo AppSpec se agrupan en un archivo dealmacenamiento y a continuacioacuten cargarlo en un bucket de Amazon S3 o un repositorio GitHub Estearchivo de almacenamiento se denomina revisioacuten de la aplicacioacuten (o simplemente revisioacuten)

2 A continuacioacuten debe proporcionar a CodeDeploy informacioacuten acerca de la implementacioacuten comoel bucket de Amazon S3 o el repositorio de GitHub del que debe tomar la revisioacuten y el conjunto deinstancias Amazon EC2 en que debe implementar el contenido CodeDeploy llama a un conjunto deinstancias de Amazon EC2grupo de implementacioacuten Un grupo de implementaciones contiene instanciasetiquetadas individualmente de Amazon EC2 instancias Amazon EC2 en grupos de Auto Scaling deAmazon EC2 o ambas

Cada vez que cargue correctamente una nueva revisioacuten de una aplicacioacuten que desee implementaren el grupo de implementaciones el paquete correspondiente se marca como revisioacuten de destinopara ese grupo de implementaciones En otras palabras la revisioacuten de la aplicacioacuten que debeimplementarse en cada momento es la revisioacuten de destino Tambieacuten es la revisioacuten que se extrae paralas implementaciones automaacuteticas

Versioacuten de API 2014-10-068

AWS CodeDeploy Guiacutea del usuarioDescripcioacuten general de una implementacioacuten laquobluegreenraquo

3 A continuacioacuten el agente de CodeDeploy de cada instancia sondea a CodeDeploy para determinar queacuteextraer del bucket de Amazon S3 o repositorio GitHub especificado y cuaacutendo hacerlo

4 Por uacuteltimo el agente de CodeDeploy de cada instancia extrae la revisioacuten de destino del bucket deAmazon S3 o repositorio GitHub y sigue las instrucciones del archivo AppSpec para implementar elcontenido en la instancia

CodeDeploy mantiene un registro de las implementaciones para proporcionarle informacioacuten tal como suestado y sus paraacutemetros de configuracioacuten de la implementacioacuten el estado de las instancias etc

Descripcioacuten general de una implementacioacuten laquobluegreenraquoSe utiliza una implementacioacuten bluegreen para actualizar las aplicaciones al tiempo que se minimizan lasinterrupciones causadas por los cambios de una nueva versioacuten de la aplicacioacuten CodeDeploy aprovisionala nueva versioacuten de la aplicacioacuten junto con la versioacuten anterior antes de reenrutar el traacutefico de produccioacuten

bull AWSLambda El traacutefico se desviacutea desde una versioacuten de una funcioacuten Lambda a una nueva versioacuten de lamisma funcioacuten Lambda

bull Amazon ECS El traacutefico se desviacutea desde un conjunto de tareas de su servicio de Amazon ECS a unconjunto de tareas actualizado de sustitucioacuten en el mismo servicio Amazon ECS

bull EC2On-Premises El traacutefico se desviacutea desde un conjunto de instancias en el entorno original a unconjunto de instancias de sustitucioacuten

TodosAWSLas implementaciones de Lambda y Amazon ECS son bluegreen Una implementacioacuten EC2On-Premises puede ser in situ o bluegreen Una implementacioacuten bluegreen ofrece diversas ventajas conrespecto a la implementacioacuten in situ

bull Puede instalar y probar una aplicacioacuten en el nuevo entorno de sustitucioacuten e implementarla en produccioacutencon solo redirigir el traacutefico

bull Si utiliza la plataforma de computacioacuten EC2On-premises es maacutes raacutepido y seguro volver a cambiar ala versioacuten maacutes reciente de una aplicacioacuten Esto se debe a que el traacutefico puede volver a dirigirse a lasinstancias originales siempre que no se hayan terminado Con una implementacioacuten in situ las versionesdeben revertirse a la versioacuten anterior de la aplicacioacuten

bull Si utiliza la plataforma de computacioacuten EC2On-premises se preparan instancias nuevas para unaimplementacioacuten bluegreen y reflejan las configuraciones maacutes actuales de los servidores Esto ayudaa evitar la clase de problemas que a veces aparecen en las instancias que llevan mucho tiempo enejecucioacuten

bull Si utiliza laAWSPlataforma de computacioacuten de Lambda puede controlar coacutemo se desviacutea el traacutefico de suoriginalAWSVersioacuten de funcioacuten de Lambda para su nuevoAWSVersioacuten de funcioacuten de Lambda

bull Si utiliza la plataforma de computacioacuten Amazon ECS puede controlar coacutemo se desviacutea el traacutefico delconjunto de tareas original al nuevo conjunto de tareas

Una implementacioacuten bluegreen (azulverde) con AWS CloudFormation puede utilizar uno de los siguientesmeacutetodos

bull AWS CloudFormationplantillas para implementaciones Al configurar implementacionesconAWS CloudFormationplantillas sus implementaciones se activan medianteAWSCloudFormationactualizaciones Cuando cambia un recurso y carga un cambio de plantilla unaactualizacioacuten de pila en AWS CloudFormation inicia la nueva implementacioacuten Para obtener unalista de los recursos que puede utilizar en las plantillas de AWS CloudFormation consulte AWSCloudFormationplantillas para referencia de CodeDeploy (p 444)

Versioacuten de API 2014-10-069

AWS CodeDeploy Guiacutea del usuarioDescripcioacuten general de una implementacioacuten laquobluegreenraquo

bull Implementaciones bluegreen (azul-verde) conAWS CloudFormation Puede usarAWSCloudFormationpara administrar sus implementaciones bluegreen (azulverde) a traveacutes deactualizaciones de pila Defina los recursos blue y green (azules y verdes) ademaacutes de especificar laconfiguracioacuten de enrutamiento y estabilizacioacuten del traacutefico dentro de la plantilla de pila A continuacioacutensi actualiza los recursos seleccionados durante una actualizacioacuten de pila AWS CloudFormationgenera todos los recursos green (verdes) necesarios desviacutea el traacutefico en funcioacuten de los paraacutemetrosde direccionamiento del traacutefico especificados y elimina los recursos blue (azules) Para obtener maacutesinformacioacuten consulteAutomatice las implementaciones bluegreen (azulverde) de Amazon ECS a traveacutesde CodeDeployAWS CloudFormationen laAWS CloudFormationGuiacutea del usuario de

Note

Solo se admite para implementaciones bluegreen (azulverde) de Amazon ECS

La forma de configurar una implementacioacuten bluegreen depende la plataforma de computacioacuten que utilicela implementacioacuten

Implementacioacuten bluegreen en unaAWS Lambdao plataforma decoacutemputo Amazon ECSSi utiliza laAWS Lambdao plataforma informaacutetica Amazon ECS debe indicar coacutemo se desplaza el traacuteficodel originalAWS Lambdafuncioacuten o conjunto de tareas de Amazon ECS en la nueva funcioacuten o conjunto detareas Para indicar coacutemo se desviacutea el traacutefico debe especificar una de las siguientes configuraciones deimplementacioacuten

bull canariobull linealbull todo a la vez

Para obtener maacutes informacioacuten sobre coacutemo se desviacutea el traacutefico en configuraciones de implementacionescanarias lineales o todo a la vez consulteConfiguracioacuten de implementacioacuten (p 13)

Para obtener maacutes informacioacuten sobre la configuracioacuten de implementacioacuten de Lambda consulteConfiguraciones de implementacioacuten en unaAWS Lambdaplataforma de computacioacuten (p 268)

Para obtener maacutes informacioacuten sobre la configuracioacuten de implementacioacuten de Amazon ECSconsulteConfiguraciones de implementacioacuten en una plataforma de computacioacuten Amazon ECS (p 267)

Implementacioacuten bluegreen en una plataforma de computacioacutenEC2On-Premises

Note

Debe utilizar instancias Amazon EC2 para implementaciones bluegreen en la plataformade computacioacuten EC2On-Premises No se admiten instancias on-premises para el tipo deimplementacioacuten bluegreen

Si utiliza la plataforma de computacioacuten EC2On-Premises tenga en cuenta lo siguiente

Debe disponer de una o varias instancias Amazon EC2 con identificacioacuten de etiquetas de Amazon EC2 oun grupo de Auto Scaling de Amazon EC2 Las instancias tambieacuten deben cumplir los requisitos siguientes

bull Cada instancia de Amazon EC2 debe tener asociado el perfil de instancia de IAM correctobull El agente de CodeDeploy debe estar instalado y en ejecucioacuten en cada instancia

Versioacuten de API 2014-10-0610

AWS CodeDeploy Guiacutea del usuarioDescripcioacuten general de una implementacioacuten laquobluegreenraquo

Note

Normalmente tambieacuten hay una revisioacuten de la aplicacioacuten ejecutaacutendose en las instancias delentorno original pero esto no es un requisito para una implementacioacuten bluegreen

Al crear un grupo de implementaciones para utilizarlo en implementaciones bluegreen puede elegir elmodo de especificar el entorno de sustitucioacuten

Copiar un grupo de Amazon EC2 Auto Scaling existente En las implementaciones bluegreen CodeDeploycrea las instancias del entorno de sustitucioacuten durante la implementacioacuten Con esta opcioacuten CodeDeployutiliza el grupo de Amazon EC2 Auto Scaling especificado como plantilla para el entorno de sustitucioacutenincluyendo el mismo nuacutemero de instancias en ejecucioacuten y muchas otras opciones de configuracioacuten

Elegir las instancias manualmente Puede especificar las instancias consideradas de sustitucioacuten medianteetiquetas de instancia Amazon EC2 nombres de grupo de Amazon EC2 Auto Scaling o ambos Si eligeesta opcioacuten no tendraacute que especificar las instancias del entorno de sustitucioacuten hasta el momento de crearuna implementacioacuten

Asiacute es como funciona

1 Ya cuenta con instancias o un grupo de Auto Scaling de Amazon EC2 que sirven como entorno originalLa primera vez que ejecute una implementacioacuten bluegreen normalmente usaraacute instancias que ya sehabraacuten utilizado en una implementacioacuten in situ

2 Para una aplicacioacuten de CodeDeploy ya existente debe crear un grupo de implementaciones bluegreenen el que ademaacutes de las opciones necesarias para una implementacioacuten in situ debe especificar losiguientebull El balanceador de carga que dirige el traacutefico del entorno original al entorno de sustitucioacuten durante el

proceso de implementacioacuten bluegreenbull Si el traacutefico debe dirigirse al entorno de sustitucioacuten de inmediato o esperar a que lo redirija

manualmentebull La velocidad con la que se dirige el traacutefico a las instancias de sustitucioacutenbull Si las instancias sustituidas deben terminarse o mantenerse en ejecucioacuten

3 Ahora crearaacute una implementacioacuten para este grupo de implementaciones en la que ocurriraacute lo siguientea Si decide copiar un grupo de Auto Scaling de Amazon EC2 se preparan instancias para el entorno de

sustitucioacutenb La revisioacuten de aplicacioacuten especificada para la implementacioacuten se instala en las instancias de

sustitucioacutenc Si ha especificado un tiempo de espera en la configuracioacuten del grupo de implementaciones la

implementacioacuten se pausa Este es el momento en el que puede realizar pruebas y verificaciones enel entorno de sustitucioacuten Si no redirige manualmente el traacutefico antes de que finalice el periodo deespera la implementacioacuten se detiene

d Las instancias del entorno de sustitucioacuten se registran con un balanceador de carga de Elastic LoadBalancing y el traacutefico comienza a dirigirse a ellas

e Las instancias del entorno original se borran del registro y se terminan o se mantienen en ejecucioacutenseguacuten lo que haya especificado para el grupo de implementaciones

Implementacioacuten bluegreen (azulAWS CloudFormationPuede administrar implementaciones bluegreen de CodeDeploy (azulverde) de CodeDeploy modelandosus recursos con unAWS CloudFormationplantilla de

Cuando modela los recursos bluegreen (azulverde) utilizando una plantilla de AWS CloudFormationcrea una actualizacioacuten de pila en AWS CloudFormation que actualiza el conjunto de tareas El traacutefico deproduccioacuten pasa del conjunto de tareas original del servicio a un conjunto de tareas de sustitucioacuten o bien

Versioacuten de API 2014-10-0611

AWS CodeDeploy Guiacutea del usuarioEsperamos tener noticias suyas

todo a la vez con implementaciones lineales y tiempos de procesamiento o bien con implementacionesde valores controlados La actualizacioacuten de la pila inicia una implementacioacuten en CodeDeploy Puedever el estado y el historial de la implementacioacuten en CodeDeploy pero no crea ni administra recursos deCodeDeploy de fuera de laAWS CloudFormationplantilla de

Note

Para implementaciones bluegreen (azulverde) a traveacutesAWS CloudFormation no se crea unaaplicacioacuten de CodeDeploy ni un grupo de implementacioacuten

Este meacutetodo solo admite implementaciones bluegreen (azulverde) de Amazon ECS Para obtener maacutesinformacioacuten acerca de las implementaciones bluegreen (azulverde) a traveacutes de AWS CloudFormationconsulte Cree una implementacioacuten bluegreen (azulverde) de Amazon ECS medianteAWSCloudFormation (p 337)

Esperamos tener noticias suyasAgradecemos sus comentarios Para ponerse en contacto con nosotros visiteforo de CodeDeploy

Temas

bull Primary Components (p 12)bull Deployments (p 16)bull Application Specification Files (p 32)

Componentes principales de CodeDeployAntes de empezar a trabajar con el servicio debe familiarizarse con los componentes principales delproceso de implementacioacuten de CodeDeploy

Temasbull Aplicacioacuten (p 12)bull Plataforma de computacioacuten (p 13)bull Configuracioacuten de implementacioacuten (p 13)bull Grupo de implementaciones (p 14)bull Tipo de implementacioacuten (p 14)bull Perfil de instancia IAM (p 15)bull Revisioacuten (p 15)bull Rol de servicio (p 15)bull revisioacuten de destino (p 15)bull Otros componentes (p 16)

AplicacioacutenUnaplicacioacutenes un nombre que identifica de forma exclusiva la aplicacioacuten que desea implementarCodeDeploy utiliza este nombre que actuacutea como contenedor para asegurar que se hace referencia a lacombinacioacuten correcta de revisioacuten configuracioacuten de implementacioacuten y grupo de implementacioacuten duranteuna implementacioacuten

Versioacuten de API 2014-10-0612

AWS CodeDeploy Guiacutea del usuarioPlataforma de computacioacuten

Plataforma de computacioacutenUNAplataforma de computacioacutenes una plataforma en la que CodeDeploy implementa una aplicacioacutenExisten tres plataformas de computacioacuten

bull EC2On-Premises Describe las instancias de servidores fiacutesicos que pueden ser instancias en la nube deAmazon EC2 servidores on-premises o ambas cosas Las aplicaciones creadas mediante la plataformade computacioacuten EC2On-Premises pueden estar formadas por archivos ejecutables archivos deconfiguracioacuten imaacutegenes etc

Las implementaciones que usan la plataforma de computacioacuten EC2On-Premises administran laforma en que el traacutefico se enviacutea a las instancias mediante un tipo de implementacioacuten laquoin-placeraquo olaquobluegreenraquo Para obtener maacutes informacioacuten consulte Introduccioacuten a los tipos de implementacioacuten deCodeDeploy (p 7)

bull AWSLambda Se utiliza para implementar aplicaciones que constan de una versioacuten actualizada deuna funcioacuten LambdaAWS Lambdaadministra la funcioacuten Lambda en un entorno de computacioacuten sinservidor formado por una estructura de computacioacuten de alta disponibilidad AWS Lambda se encargade realizar toda la administracioacuten de los recursos de computacioacuten Para obtener maacutes informacioacutenconsulteInformaacutetica sin servidor y aplicaciones Para obtener maacutes informacioacuten acerca deAWS Lambdaylas funciones Lambda consulteAWS Lambda

Puede administrar la forma en que el traacutefico se dirige a las versiones actualizadas de las funcionesLambda durante una implementacioacuten eligiendo una configuracioacuten controlada lineal o todo a la vez

bull Amazon ECS Se utiliza para implementar una aplicacioacuten en contenedor de Amazon ECS como conjuntode tareas CodeDeploy realiza una implementacioacuten bluegreen (azulverde) instalando una versioacutenactualizada de la aplicacioacuten como un nuevo conjunto de tareas de sustitucioacuten CodeDeploy redirige eltraacutefico de produccioacuten del conjunto de tareas de la aplicacioacuten original al conjunto de tareas de sustitucioacutenCuando la implementacioacuten se realiza correctamente se termina el conjunto de tareas original Paraobtener maacutes informacioacuten acerca de Amazon ECS consulteAmazon Elastic Container Service

Puede administrar la forma en que el traacutefico se desplaza al conjunto de tareas actualizado durante unaimplementacioacuten eligiendo una configuracioacuten controlada lineal o todo a la vez

Note

Las implementaciones bluegreen (azulverde) de Amazon ECS se admiten a traveacutes deCodeDeploy yAWS CloudFormation Los detalles de estas implementaciones se describen ensecciones posteriores

Configuracioacuten de implementacioacutenUNAconfiguracioacuten de implementacioacutenes un conjunto de reglas de implementacioacuten y condiciones de eacutexitoo fracaso que CodeDeploy utiliza durante una implementacioacuten Si su implementacioacuten usa la plataforma decomputacioacuten EC2On-Premises puede especificar el nuacutemero miacutenimo de instancias en buen estado parala implementacioacuten Si la implementacioacuten utiliza elAWS Lambdao la plataforma de computacioacuten AmazonECS puede especificar la forma en que el traacutefico se enviacutea a la funcioacuten Lambda actualizada o al conjuntode tareas ECS

Para obtener maacutes informacioacuten acerca de coacutemo especificar el nuacutemero miacutenimo de hosts en buen estadopara una implementacioacuten que usa la plataforma de computacioacuten EC2On-Premises consulteMiacutenimo deinstancias e implementaciones en buen estado (p 261)

En las siguientes configuraciones de implementacioacuten se especifica la forma en que el traacutefico se enviacuteadurante una implementacioacuten que usa Lambda o la plataforma de computacioacuten ECS

bull Canario El traacutefico se desviacutea en dos incrementos Puede elegir opciones laquocanaryraquo predefinidas queespecifiquen el porcentaje de traacutefico desviado a la funcioacuten Lambda actualizada o al conjunto de tareas

Versioacuten de API 2014-10-0613

AWS CodeDeploy Guiacutea del usuarioGrupo de implementaciones

ECS en el primer incremento y el intervalo en minutos antes de que el traacutefico restante se desviacutee en elsegundo incremento

bull Lineal El traacutefico se desviacutea en incrementos iguales con el mismo nuacutemero de minutos entre incrementosPuede elegir opciones lineales predefinidas que especifiquen el porcentaje de traacutefico desviado en cadaincremento y el nuacutemero de minutos entre cada incremento

bull Todo a la vez Todo el traacutefico se desviacutea de la funcioacuten Lambda original o el conjunto de tareas ECS a lafuncioacuten actualizada o conjunto de tareas a la vez

Grupo de implementacionesUNAgrupo de implementacioacutenes un conjunto de instancias individuales Un grupo de implementacioacutencontiene instancias etiquetadas individualmente instancias de Amazon EC2 en grupos de Amazon EC2Auto Scaling o ambos elementos Para obtener informacioacuten sobre las etiquetas de las instancias deAmazon EC2 consulteUso de etiquetas mediante la consola Para obtener maacutes informacioacuten acercade instancias on-premises consulte Working with On-Premises Instances (p 230) Para obtenerinformacioacuten sobre Amazon EC2 Auto Scaling consulteIntegracioacuten de CodeDeploy con Amazon EC2 AutoScaling (p 53)

Tipo de implementacioacutenUNAtipo de implementacioacutenes un meacutetodo utilizado para hacer que la uacuteltima revisioacuten de la aplicacioacuten esteacutedisponible en instancias de un grupo de implementacioacuten Existen dos tipos de implementaciones

bull Implementacioacuten in situ Se detiene la aplicacioacuten de cada instancia del grupo de implementacioacuten seinstala la uacuteltima revisioacuten de la aplicacioacuten y se inicia y valida la nueva versioacuten de la aplicacioacuten Puedeutilizar un balanceador de carga de modo que se cancele el registro de cada instancia durante suimplementacioacuten y a continuacioacuten vuelva a ponerse en servicio una vez completada la implementacioacutenSolo las implementaciones que usan la plataforma de computacioacuten EC2On-Premises pueden utilizarimplementaciones laquoin-placeraquo Para obtener maacutes informacioacuten acerca de las implementaciones in-placeconsulte Descripcioacuten general de una implementacioacuten laquoin-placeraquo (p 8)

bull Implementacioacuten bluegreen El funcionamiento de la implementacioacuten depende de la plataforma decomputacioacuten que utilicebull Bluegreen en una plataforma de computacioacuten EC2On-Premises Las instancias de un grupo de

implementacioacuten (el entorno original) se sustituyen por otro conjunto de instancias (el entorno desustitucioacuten) siguiendo estos pasosbull Las instancias se aprovisionan para el entorno de sustitucioacutenbull La uacuteltima revisioacuten de la aplicacioacuten se instala en las instancias de sustitucioacutenbull Se produce un tiempo de espera opcional para actividades tales como pruebas de aplicaciones y

verificacioacuten del sistemabull Las instancias del entorno de sustitucioacuten se registran con un balanceador de carga de Elastic Load

Balancing lo que hace que el traacutefico se desviacutee hacia ellas Las instancias del entorno original secancelan del registro y pueden terminarse o mantenerse en ejecucioacuten para otros usos

Note

Si utiliza una plataforma informaacutetica EC2local tenga en cuenta que las implementaciones enazul y verde funcionan uacutenicamente con instancias de Amazon EC2

bull Bluegreen en unAWS Lambdao plataforma de coacutemputo Amazon ECS El traacutefico se desviacutea enincrementos de acuerdo con uncanariolineal o bientodo a la vezconfiguracioacuten de implementacioacutenPara obtener maacutes informacioacuten consulte Configuracioacuten de implementacioacuten (p 13)

bull Implementaciones bluegreen (azul-verde) conAWS CloudFormation El traacutefico se desviacutea de losrecursos actuales a los recursos actualizados de como parte de unaAWS CloudFormationactualizacioacutende pila de Actualmente solo se admiten implementaciones de ECS bluegreen (azulverde)

Versioacuten de API 2014-10-0614

AWS CodeDeploy Guiacutea del usuarioTipo de implementacioacuten

Para obtener maacutes informacioacuten acerca de las implementaciones bluegreen consulte Descripcioacuten generalde una implementacioacuten laquobluegreenraquo (p 9)

Note

Las implementaciones bluegreen (azulverde) de Amazon ECS se admiten mediante CodeDeployyAWS CloudFormation Los detalles de estas implementaciones se describen en seccionesposteriores

Perfil de instancia IAMUnPerfil de instancia IAMes un rol de IAM que adjunta a las instancias de Amazon EC2 Este perfil incluyelos permisos necesarios para acceder a los buckets de Amazon S3 o a los repositorios GitHub en losque se encuentran las aplicaciones Para obtener maacutes informacioacuten consulte Paso 4 Crear un perfil deinstancias de IAM para sus instancias Amazon EC2 (p 43)

RevisioacutenUNArevisioacutenes una versioacuten de la aplicacioacuten UnAWSLa revisioacuten de implementacioacuten de Lambda es unarchivo con formato YAML o JSON que especifica informacioacuten sobre la funcioacuten Lambda que se va aimplementar Una revisioacuten de una implementacioacuten EC2On-Premises es un archivo de almacenamientoque incluye contenido de origen (coacutedigo fuente paacuteginas web archivos ejecutables y scripts deimplementacioacuten) y un archivo de especificacioacuten de la aplicacioacuten (archivo AppSpec)AWS Las revisionesLambda se pueden almacenar en buckets de Amazon S3 Las revisiones EC2On-Premises se almacenanen buckets de Amazon S3 o en repositorios GitHub En el caso de Amazon S3 una revisioacuten se identificade forma exclusiva mediante su clave de objeto de Amazon S3 y etiqueta electroacutenica de Amazon S3su versioacuten o ambos elementos Para GitHub una revisioacuten se identifica de forma exclusiva por su ID deconfirmacioacuten

Rol de servicioUNARol de servicio dees un rol de IAM que otorga permisos a unAWSservicio para que puedaaccederAWSde AWS Las poliacuteticas que adjuntas al rol de servicio determinan queacuteAWSrecursos a los quepuede acceder el servicio y las acciones que puede llevar a cabo con esos recursos Para CodeDeploy seutiliza un rol de servicio para lo siguiente

bull Para leer las etiquetas aplicadas a las instancias o los nombres de grupo de Amazon EC2 AutoScaling asociados a las instancias Esto permite a CodeDeploy identificar instancias en las que puedeimplementar aplicaciones

bull Para realizar operaciones en instancias grupos Auto Scaling de Amazon EC2 y balanceadores de cargade Elastic Load Balancing

bull Para publicar informacioacuten en temas de Amazon SNS para que se puedan enviar notificaciones cuandose produzcan eventos de instancia o implementacioacuten especificados

bull Para recuperar informacioacuten sobre las alarmas de CloudWatch para configurar la supervisioacuten de alarmaspara implementaciones

Para obtener maacutes informacioacuten consulte Paso 2 Creacioacuten de un rol de servicio paraCodeDeploy (p 36)

revisioacuten de destinoUNArevisioacuten de destinoes la versioacuten maacutes reciente de la revisioacuten de la aplicacioacuten que ha cargado en elrepositorio y desea implementar en las instancias de un grupo de implementacioacuten Es decir revisioacuten de la

Versioacuten de API 2014-10-0615

AWS CodeDeploy Guiacutea del usuarioOtros componentes

aplicacioacuten que se va a incluir en la implementacioacuten actual Tambieacuten es la revisioacuten que se extrae para lasimplementaciones automaacuteticas

Otros componentesPara obtener informacioacuten sobre otros componentes del flujo de trabajo de CodeDeploy consulte lossiguientes temas

bull Elija un tipo de repositorio de CodeDeploy (p 314)bull Deployments (p 16)bull Application Specification Files (p 32)bull Instance Health (p 259)bull Trabajar con el agente de CodeDeploy (p 175)bull Working with On-Premises Instances (p 230)

Implementaciones de CodeDeployEste tema proporciona informacioacuten sobre los componentes y el flujo de trabajo de las implementacionesen CodeDeploy El proceso de implementacioacuten variacutea seguacuten la plataforma de computacioacuten o el meacutetodode implementacioacuten (Lambda Amazon ECS EC2On-Premises o a traveacutes deAWS CloudFormation) queutilizas para tus implementaciones

Note

Las implementaciones en una plataforma de computacioacuten Amazon ECS no se admiten en laregioacuten Asia-Paciacutefico (Osaka)

Temasbull Implementaciones en unaAWSPlataforma de computacioacuten Lambda (p 16)bull Implementaciones en una plataforma de computacioacuten Amazon ECS (p 19)bull Implementaciones en una plataforma de computacioacuten EC2On-Premises (p 27)

Implementaciones en unaAWSPlataforma decomputacioacuten LambdaEste tema proporciona informacioacuten sobre los componentes y el flujo de trabajo de las implementaciones deCodeDeploy que utilizan laAWSPlataforma de computacioacuten Lambda

Temasbull Flujo de trabajo de implementacioacuten enAWS Lambdaplataforma de computacioacuten (p 17)bull Carga de la revisioacuten de la aplicacioacuten (p 18)bull Crear la aplicacioacuten de y los grupos de implementaciones (p 18)bull Implementacioacuten de la revisioacuten de la aplicacioacuten (p 18)bull Actualizacioacuten de la aplicacioacuten (p 18)bull Implementaciones detenidas y con error (p 18)bull Reimplementaciones y restauracioacuten de implementaciones (p 18)

Versioacuten de API 2014-10-0616

AWS CodeDeploy Guiacutea del usuarioImplementaciones en unaAWSPlataforma

de computacioacuten Lambda

Flujo de trabajo de implementacioacuten enAWS Lambdaplataformade computacioacutenEn el siguiente diagrama se muestran los principales pasos en la implementacioacuten de funciones AWSLambda nuevas y actualizadas

Estos pasos incluyen

1 Cree una aplicacioacuten y asiacutegnele un nombre que identifique las revisiones de la aplicacioacuten que deseaimplementar Para desplegar funciones Lambda elijaAWSPlataforma de computacioacuten Lambda alcrear la aplicacioacuten de CodeDeploy utiliza este nombre durante una implementacioacuten para asegurarsede que se haga referencia a los componentes correctos de la implementacioacuten como el grupo deimplementaciones la configuracioacuten de la implementacioacuten y la revisioacuten de la aplicacioacuten Para obtenermaacutes informacioacuten consulte Crear una aplicacioacuten con CodeDeploy (p 273)

2 Configure un grupo de implementaciones especificando el nombre del grupo3 Elija una configuracioacuten de implementacioacuten para especificar coacutemo se desviacutea el traacutefico desde el

originalAWS Lambdaversioacuten de funcioacuten a la nueva versioacuten de funcioacuten Lambda Para obtener maacutesinformacioacuten consulte View Deployment Configuration Details (p 270)

4 Carga de unarchivo de especificacioacuten de la aplicacioacuten(archivo de AppSpec) para Amazon S3 Enel archivo AppSpec se especifica una versioacuten de la funcioacuten de Lambda y las funciones de Lambdautilizadas para validar la implementacioacuten Si no desea crear un archivo AppSpec puede especificaruna versioacuten de la funcioacuten de Lambda y las funciones de validacioacuten de la implementacioacuten de Lambdadirectamente en la consola utilizando YAML o JSON Para obtener maacutes informacioacuten consulte Uso derevisiones de aplicaciones de CodeDeploy (p 307)

5 Implemente la revisioacuten de la aplicacioacuten en el grupo de implementacionesAWS CodeDeployimplementala revisioacuten de la funcioacuten de Lambda que ha especificado El traacutefico se desviacutea a la revisioacuten de la funcioacutende Lambda utilizando el archivo AppSpec de implementacioacuten que seleccionoacute al crear la aplicacioacuten Paraobtener maacutes informacioacuten consulte Cree una implementacioacuten con CodeDeploy (p 324)

6 Compruebe los resultados de la implementacioacuten Para obtener maacutes informacioacuten consulte Monitorizarimplementaciones en CodeDeploy (p 358)

Versioacuten de API 2014-10-0617

AWS CodeDeploy Guiacutea del usuarioImplementaciones en unaAWSPlataforma

de computacioacuten Lambda

Carga de la revisioacuten de la aplicacioacutenPonga un archivo AppSpec en Amazon S3 o introduacutezcalo directamente en la consola oAWS CLI Paraobtener maacutes informacioacuten consulte Application Specification Files (p 32)

Crear la aplicacioacuten de y los grupos de implementacionesUn grupo de implementaciones de CodeDeploy en unAWSLa plataforma de computacioacuten Lambdaidentifica una coleccioacuten de uno o varios archivos AppSpec Cada archivo de AppSpec puede implementaruna versioacuten de funcioacuten Lambda Un grupo de implementaciones tambieacuten define un conjunto de opcionesde configuracioacuten para implementaciones futuras como alarmas y configuraciones de restauracioacuten

Implementacioacuten de la revisioacuten de la aplicacioacutenAhora ya estaacute listo para implementar la revisioacuten de la funcioacuten especificada en el archivo AppSpecen el grupo de implementaciones Puede utilizar la consola de CodeDeploy o lacreate deploymentcreatecomando Hay paraacutemetros que puede especificar para controlar la implementacioacuten que incluyen larevisioacuten el grupo de implementaciones y la configuracioacuten de la implementacioacuten

Actualizacioacuten de la aplicacioacutenPuede llevar a cabo actualizaciones de su aplicacioacuten y a continuacioacuten utilizar la consola de CodeDeploy ollamar alcreate deployment createpara impulsar una revisioacuten

Implementaciones detenidas y con errorPuede utilizar la consola de CodeDeploy o ladetener el desplieguepara detener una implementacioacutenCuando se intenta detener la implementacioacuten sucede una de estas tres cosas

bull La implementacioacuten se detiene y la operacioacuten devuelve el estado ldquorealizada correctamenterdquo En estecaso no se ejecutan maacutes eventos del ciclo de vida de implementacioacuten en el grupo de implementacionespara la implementacioacuten detenida

bull La implementacioacuten no se detiene inmediatamente y la operacioacuten devuelve el estado ldquopendienterdquo En estecaso podriacutean seguir ejecutaacutendose algunos eventos del ciclo de vida de implementacioacuten en el grupo deimplementaciones Despueacutes de finalizada la operacioacuten pendiente las llamadas posteriores para detenerla implementacioacuten devuelven el estado ldquorealizada correctamenterdquo

bull La implementacioacuten no se puede detener y la operacioacuten devuelve un error Para obtener maacutes informacioacutenconsulteErrorInformationyErrores comunesen laAWS CodeDeployReferencia de la API de

Al igual que las implementaciones detenidas las implementaciones con errores pueden hacer que algunoseventos del ciclo de vida de implementacioacuten ya se hayan ejecutado Para saber por queacute se produjo unerror en una implementacioacuten puede utilizar la consola de CodeDeploy o analizar los datos del archivode registro de la implementacioacuten que dio error Para obtener maacutes informacioacuten consulte Revisioacuten deaplicaciones y limpieza de archivos de registro (p 183) y Ver datos de registro de las implementacionesde CodeDeploy EC2On-Premises (p 342)

Reimplementaciones y restauracioacuten de implementacionesCodeDeploy implementa restauraciones volviendo a implementar una revisioacuten implementada anteriormentecomo una nueva implementacioacuten

Puede configurar un grupo de implementaciones para que se restaure automaacuteticamente si se danciertas condiciones por ejemplo si falla una implementacioacuten o si se supera el umbral de monitorizacioacuten

Versioacuten de API 2014-10-0618

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataforma

de computacioacuten Amazon ECS

de alarmas Ademaacutes puede anular la configuracioacuten de restauracioacuten especificada para el grupo deimplementaciones en una implementacioacuten individual

Tambieacuten puede optar por restaurar una implementacioacuten que produjo error manualmente volviendo aimplementar una revisioacuten implementada anteriormente

En todos los casos a la implementacioacuten nueva o restaurada se le asigna su propio ID de implementacioacutenEn la lista de implementaciones que puede ver en la consola de CodeDeploy se muestra cuaacuteles son elresultado de una implementacioacuten automaacutetica

Para obtener maacutes informacioacuten consulte Redesplegar y deshacer una implementacioacuten conCodeDeploy (p 345)

Implementaciones en una plataforma de computacioacutenAmazon ECSEste tema proporciona informacioacuten sobre los componentes y el flujo de trabajo de las implementaciones deCodeDeploy que utilizan la plataforma de computacioacuten Amazon ECS

Temasbull Antes de iniciar una implementacioacuten de Amazon ECS (p 19)bull Flujo de trabajo de implementacioacuten (alto nivel) en una plataforma de computacioacuten Amazon

ECS (p 21)bull Queacute ocurre durante una implementacioacuten de Amazon ECS (p 22)bull Carga de la revisioacuten de la aplicacioacuten (p 26)bull Crear la aplicacioacuten de y los grupos de implementaciones (p 26)bull Implementacioacuten de la revisioacuten de la aplicacioacuten (p 26)bull Actualizacioacuten de la aplicacioacuten (p 26)bull Implementaciones detenidas y con error (p 26)bull Reimplementaciones y restauracioacuten de implementaciones (p 27)bull Implementaciones laquobluegreenraquo de Amazon ECS a traveacutes deAWS CloudFormation (p 27)

Antes de iniciar una implementacioacuten de Amazon ECSAntes de empezar una implementacioacuten de aplicacioacuten de Amazon ECS debe tener listo lo siguienteAlgunos requisitos se especifican al crear su grupo de implementaciones y algunos se especifican en elarchivo AppSpec

Requisito Donde se especifica

Cluacutester de Amazon ECS Grupo de implementaciones

Servicio de Amazon ECS Grupo de implementaciones

Application Load Balancer o Network LoadBalancer

Grupo de implementaciones

Agente de escucha de produccioacuten Grupo de implementaciones

Agente de escucha de prueba (opcional) Grupo de implementaciones

Dos grupos de destino Grupo de implementaciones

Definicioacuten de tarea de Amazon ECS archivo AppSpec

Versioacuten de API 2014-10-0619

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataforma

de computacioacuten Amazon ECS

Requisito Donde se especifica

Nombre de contenedor archivo AppSpec

Puerto del contenedor archivo AppSpec

Cluacutester de Amazon ECS

Un cluacutester de Amazon ECS es una agrupacioacuten loacutegica de tareas o servicios Especifique el cluacutester deAmazon ECS que contiene su servicio de Amazon ECS al crear el grupo de implementaciones de laaplicacioacuten CodeDeploy Para obtener maacutes informacioacuten consulteCluacutesteres de Amazon ECSen laGuiacuteadel usuario de Amazon Elastic

Servicio de Amazon ECS

Un Amazon ECSServicio demantiene y ejecuta instancias especificadas de una definicioacuten de tareaen un cluacutester de Amazon ECS El servicio Amazon ECS debe estar habilitado para CodeDeploy Deforma predeterminada un servicio Amazon ECS estaacute habilitado para implementaciones de AmazonECS Al crear su grupo de implementaciones puede elegir implementar un servicio de Amazon ECSque se encuentra en su cluacutester de Amazon ECS Para obtener maacutes informacioacuten consulteServicios deAmazon ECSen laGuiacutea del usuario de Amazon Elastic

Application Load Balancer o Network Load Balancer

Debe utilizar Elastic Load Balancing con el servicio Amazon ECS que desea actualizar con unaimplementacioacuten de Amazon ECS Puede utilizar un Application Load Balancer o un Network LoadBalancer Le recomendamos un Application Load Balancer para que pueda aprovechar caracteriacutesticastales como el mapeo de puertos dinaacutemico y el enrutamiento basado en rutas y las reglas de prioridadEspecifique el balanceador de carga al crear el grupo de implementaciones de la aplicacioacuten deCodeDeploy Para obtener maacutes informacioacuten consulteConfigurar un equilibrador de carga grupos dedestino y listeners para implementaciones de CodeDeploy Amazon ECS (p 296)yCreacioacuten de unbalanceador de cargaen laGuiacutea del usuario de Amazon Elastic

Uno o dos agentes de escucha

El balanceador de carga utiliza un agente de escucha para dirigir el traacutefico hacia los grupos dedestino Es obligatorio un agente de escucha de produccioacuten Puede especificar un segundo agentede escucha de prueba opcional que dirija el traacutefico hacia conjunto de tareas de sustitucioacuten mientrasejecuta las pruebas de validacioacuten Especifique uno o ambos agentes de escucha al crear su grupode implementaciones Si utiliza la consola de Amazon ECS para crear su servicio de Amazon ECSlos agentes de escucha se crean automaacuteticamente Para obtener maacutes informacioacuten consulteAgentesde escucha para balanceadores de carga de aplicacionesen laElastic Load Balancing Guiacutea delusuarioyCrear un servicioen laGuiacutea del usuario de Amazon Elastic

Dos grupos objetivo de Amazon ECS

Un grupo de destino se utiliza para dirigir el traacutefico a un destino registrado Una implementacioacutende Amazon ECS requiere dos grupos de destino uno para el conjunto de tareas original de laaplicacioacuten Amazon ECS y otro para su conjunto de tareas de sustitucioacuten Durante la implementacioacutenCodeDeploy crea un conjunto de tareas de sustitucioacuten y redirige el traacutefico desde el conjunto de tareasoriginal al nuevo Especifique los grupos de destino al crear el grupo de implementaciones de laaplicacioacuten de CodeDeploy

Durante una implementacioacuten CodeDeploy determina queacute grupo de destino estaacute asociado al conjuntode tareas del servicio Amazon ECS que tiene el estadoPRIMARY(este es el conjunto de tareas original)y le asocia un grupo de destino y a continuacioacuten asocia el otro grupo de destino al conjunto detareas de sustitucioacuten Si realiza otra implementacioacuten el grupo de destino asociado al conjunto detareas original de la implementacioacuten actual se asocia al siguiente conjunto de tareas de sustitucioacuten deimplementacioacuten Para obtener maacutes informacioacuten consulteGrupos de destino para los balanceadores decarga de aplicacionesen laElastic Load Balancing Guiacutea del usuario

Versioacuten de API 2014-10-0620

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataforma

de computacioacuten Amazon ECS

Una definicioacuten de tarea de Amazon ECS

UNAdefinicioacuten de tareaes necesario para ejecutar el contenedor Docker que contiene la aplicacioacutenAmazon ECS Especifique el ARN de su definicioacuten de tarea en el archivo AppSpec de la aplicacioacutenCodeDeploy Para obtener maacutes informacioacuten consulteDefiniciones de tareas de Amazon ECSen laGuiacuteadel usuario del servicio de Amazon Elasticy Seccioacuten laquoresourcesraquo de AppSpec para implementacionesde Amazon ECS (p 416)

Contenedor de la aplicacioacuten Amazon ECS

Un contenedor Docker es una unidad de software que empaqueta coacutedigo y sus dependencias paraque pueda ejecutarse su aplicacioacuten Un contenedor aiacutesla la aplicacioacuten por lo que se puede ejecutaren distintos entornos informaacuteticos El balanceador de carga dirige traacutefico a un contenedor del conjuntode tareas de la aplicacioacuten de Amazon ECS Especifique el nombre del contenedor en el archivoAppSpec de la aplicacioacuten CodeDeploy El contenedor especificado en su archivo AppSpec debe seruno de los contenedores especificados en la definicioacuten de tareas de Amazon ECS Para obtener maacutesinformacioacuten consulteiquestQueacute es Amazon Elastic Container Serviceen laGuiacutea del usuario de AmazonElasticy Seccioacuten laquoresourcesraquo de AppSpec para implementaciones de Amazon ECS (p 416)

Un puerto para su conjunto de tareas de sustitucioacuten

Durante la implementacioacuten de Amazon ECS el balanceador de carga dirige traacutefico hacia estepuertoenel contenedor especificado en el archivo AppSpec de la aplicacioacuten CodeDeploy Especifique el puertoen el archivo AppSpec de la aplicacioacuten CodeDeploy Para obtener maacutes informacioacuten consulte Seccioacutenlaquoresourcesraquo de AppSpec para implementaciones de Amazon ECS (p 416)

Flujo de trabajo de implementacioacuten (alto nivel) en una plataformade computacioacuten Amazon ECSEn el diagrama siguiente se muestran los principales pasos en la implementacioacuten de servicios de AmazonECS actualizados

Estos pasos incluyen

Versioacuten de API 2014-10-0621

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataforma

de computacioacuten Amazon ECS

1 Cree una aplicacioacuten de AWS CodeDeploy especificando un nombre que represente de forma exclusivalo que desea implementar Para implementar una aplicacioacuten Amazon ECS en suAWS CodeDeployelija la plataforma informaacutetica de Amazon ECS CodeDeploy utiliza una aplicacioacuten durante unaimplementacioacuten para hacer referencia a los componentes correctos de la implementacioacuten como elgrupo de implementaciones grupos de destino agentes de escucha y comportamiento de redireccioacutende traacutefico asiacute como revisioacuten de la aplicacioacuten Para obtener maacutes informacioacuten consulte Crear unaaplicacioacuten con CodeDeploy (p 273)

2 Configure un grupo de implementaciones especificandobull El nombre del grupo de implementacionesbull El nombre del servicio y el cluacutester de Amazon ECS El controlador de implementacioacuten del servicio de

Amazon ECS se debe establecer en CodeDeploybull El agente de escucha de produccioacuten un agente de escucha de prueba opcional y los grupos de

destino utilizados durante una implementacioacutenbull Configuracioacuten de implementacioacuten como por ejemplo cuaacutendo redirigir el traacutefico de produccioacuten al

conjunto de tareas Amazon ECS de sustitucioacuten en su servicio de Amazon ECS y cuaacutendo terminar elconjunto de tareas Amazon ECS original en su servicio de Amazon ECS

bull Las configuraciones opcionales como los desencadenadores alarmas y comportamiento derestauracioacuten

3 Especificar unarchivo de especificacioacuten de la aplicacioacuten(archivo AppSpec) Puede cargarlo en AmazonS3 introducirlo en la consola en formato YAML o JSON o especificarlo con laAWS CLIo SDK Elarchivo AppSpec especifica una definicioacuten de tareas de Amazon ECS para la implementacioacuten unnombre de contenedor y el mapeo de puertos utilizado para dirigir el traacutefico y funciones Lambdaejecutadas despueacutes de los enlaces de ciclo de vida de implementacioacuten El nombre del contenedor debeser un contenedor en la definicioacuten de tareas de Amazon ECS Para obtener maacutes informacioacuten consulteUso de revisiones de aplicaciones de CodeDeploy (p 307)

4 Implemente la revisioacuten de la aplicacioacutenAWS CodeDeployredirige el traacutefico desde la versioacuten original deun conjunto de tareas en su servicio de Amazon ECS a un nuevo conjunto de tareas de sustitucioacutenLos grupos de destino especificados en el grupo de implementaciones se utilizan para enviar traacutefico alos conjuntos de tareas original y de sustitucioacuten Cuando se completa la implementacioacuten se termina elconjunto de tareas original Puede especificar un agente de escucha de prueba opcional para enviartraacutefico de prueba a la versioacuten de sustitucioacuten antes de redirigir el traacutefico a la misma Para obtener maacutesinformacioacuten consulte Cree una implementacioacuten con CodeDeploy (p 324)

5 Compruebe los resultados de la implementacioacuten Para obtener maacutes informacioacuten consulte Monitorizarimplementaciones en CodeDeploy (p 358)

Queacute ocurre durante una implementacioacuten de Amazon ECSAntes de iniciar una implementacioacuten de Amazon ECS con un agente de escucha de prueba debeconfigurar sus componentes Para obtener maacutes informacioacuten consulte Antes de iniciar una implementacioacutende Amazon ECS (p 19)

En el siguiente diagrama se muestra la relacioacuten entre estos componentes cuando una implementacioacuten deAmazon ECS estaacute lista para comenzar

Versioacuten de API 2014-10-0622

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataforma

de computacioacuten Amazon ECS

Cuando comienza la implementacioacuten los eventos del ciclo de vida de la implementacioacuten empiezan aejecutarse uno tras otro Algunos eventos del ciclo de vida son enlaces que solo ejecutan las funcionesLambda especificadas en el archivo AppSpec Los eventos de ciclo de vida de la implementacioacuten de lasiguiente tabla se indican en el orden en el que se ejecutan Para obtener maacutes informacioacuten consulteSeccioacuten hooks de AppSpec para una implementacioacuten de Amazon ECS (p 422)

Evento del ciclo de vida Accioacuten de evento del ciclo de vida

BeforeInstall(un enlace para funcionesLambda)

Ejecute funciones Lambda

Instalar Configurar el conjunto de tareas de sustitucioacuten

AfterInstall(un enlace para funcionesLambda)

Ejecute funciones Lambda

AllowTestTraffic Dirigir el traacutefico del agente de prueba al grupo dedestino 2

AfterAllowTestTraffic(un enlace parafunciones Lambda)

Ejecute funciones Lambda

BeforeAllowTraffic(un enlace para funcionesLambda)

Ejecute funciones Lambda

AllowTraffic Dirigir el traacutefico desde el agente de escucha deproduccioacuten al grupo de destino 2

AfterAllowTraffic Ejecute funciones Lambda

Note

Las funciones de Lambda en un enlace son opcionales

1Ejecute todas las funciones Lambda especificadas en elBeforeInstallgancho en el archivoAppSpec

Versioacuten de API 2014-10-0623

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataforma

de computacioacuten Amazon ECS

2Durante el evento de ciclo de vida Install

a Se crea un conjunto de tareas de sustitucioacuten en el servicio Amazon ECSb La aplicacioacuten en contenedor actualizada se instala en el conjunto de tareas de sustitucioacutenc El segundo grupo de destino se asocia al conjunto de tareas de sustitucioacuten

En el siguiente diagrama se muestran los componentes de implementacioacuten con el nuevo conjuntode tareas de sustitucioacuten La aplicacioacuten en contenedor estaacute dentro del conjunto de tareas El conjuntode tareas se compone de tres tareas (Una aplicacioacuten puede tener cualquier nuacutemero de tareas) Elsegundo grupo de destino se asocia ahora al conjunto de tareas de sustitucioacuten

3Ejecute todas las funciones Lambda especificadas en elAfterInstallgancho en el archivoAppSpec

4Se invoca el evento AllowTestTraffic Durante este evento del ciclo de vida el agente de escuchade prueba dirige el traacutefico a la aplicacioacuten en contenedor actualizada

Versioacuten de API 2014-10-0624

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataforma

de computacioacuten Amazon ECS

5Ejecute todas las funciones Lambda especificadas en elAfterAllowTestTrafficgancho en elarchivo AppSpec Las funciones de Lambda pueden validar la implementacioacuten mediante traacuteficode prueba Por ejemplo una funcioacuten Lambda puede servir traacutefico al agente de escucha de pruebay realizar un seguimiento de las meacutetricas del conjunto de tareas de sustitucioacuten Si se configuranrestauraciones puede configurar una alarma de CloudWatch que active una restauracioacuten cuando nose supere la prueba de validacioacuten de la funcioacuten de Lambda

Una vez realizadas las pruebas de validacioacuten se produce una de las situaciones siguientes

bull Si no se supera la validacioacuten y se han configurado las restauraciones el estado de laimplementacioacuten se marca como Failed y los componentes vuelven al estado que teniacutean cuando seinicioacute la implementacioacuten

bull Si no se supera la validacioacuten y no se han configurado las restauraciones el estado de laimplementacioacuten se marca como Failed y los componentes permanecen en su estado actual

bull Si se supera la validacioacuten la implementacioacuten continuacutea hasta el enlace BeforeAllowTraffic

Para obtener maacutes informacioacuten consulte Supervisioacuten de implementaciones con alarmas deCloudWatch en CodeDeploy (p 360) Restauraciones automaacuteticas (p 346) y Configuracioacuten de lasopciones avanzadas de un grupo de implementaciones (p 303)

6Ejecute todas las funciones Lambda especificadas en elBeforeAllowTrafficgancho en el archivoAppSpec

7Se invoca el evento AllowTraffic El traacutefico se desviacutea del conjunto de tareas original al conjuntode tareas de sustitucioacuten En el siguiente diagrama se muestra el conjunto de tareas de sustitucioacutenrecibiendo traacutefico de produccioacuten

8Ejecute todas las funciones Lambda especificadas en elAfterAllowTrafficgancho en el archivoAppSpec

9Despueacutes de que todos los eventos se ejecuten correctamente el estado de la implementacioacuten seestablece en Succeeded y el conjunto de tareas original se elimina

Versioacuten de API 2014-10-0625

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataforma

de computacioacuten Amazon ECS

Carga de la revisioacuten de la aplicacioacutenPonga un archivo AppSpec en Amazon S3 o introduacutezcalo directamente en la consola oAWS CLI Paraobtener maacutes informacioacuten consulte Application Specification Files (p 32)

Crear la aplicacioacuten de y los grupos de implementacionesUn grupo de implementaciones de CodeDeploy en una plataforma de computacioacuten Amazon ECS identificaagentes de escucha para enviar traacutefico a la aplicacioacuten Amazon ECS actualizada y a dos grupos de destinoutilizados durante la implementacioacuten Un grupo de implementaciones tambieacuten define un conjunto deopciones de configuracioacuten como alarmas y configuraciones de restauracioacuten

Implementacioacuten de la revisioacuten de la aplicacioacutenAhora estaacute listo para implementar el servicio de Amazon ECS actualizado especificado en su grupo deimplementaciones Puede utilizar la consola de CodeDeploy o lacreate deployment createcomando Hayparaacutemetros que puede especificar para controlar la implementacioacuten que incluyen el grupo de revisioacuten y deimplementaciones

Actualizacioacuten de la aplicacioacutenPuede llevar a cabo actualizaciones de su aplicacioacuten y a continuacioacuten utilizar la consola de CodeDeploy ollamar alcreate deployment createpara impulsar una revisioacuten

Implementaciones detenidas y con errorPuede utilizar la consola de CodeDeploy o ladetener el desplieguepara detener una implementacioacutenCuando se intenta detener la implementacioacuten sucede una de estas tres cosas

bull La implementacioacuten se detiene y la operacioacuten devuelve el estado ldquorealizada correctamenterdquo En estecaso no se ejecutan maacutes eventos del ciclo de vida de implementacioacuten en el grupo de implementacionespara la implementacioacuten detenida

bull La implementacioacuten no se detiene inmediatamente y la operacioacuten devuelve el estado ldquopendienterdquo En estecaso podriacutean seguir ejecutaacutendose algunos eventos del ciclo de vida de implementacioacuten en el grupo de

Versioacuten de API 2014-10-0626

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataformade computacioacuten EC2On-Premises

implementaciones Despueacutes de finalizada la operacioacuten pendiente las llamadas posteriores para detenerla implementacioacuten devuelven el estado ldquorealizada correctamenterdquo

bull La implementacioacuten no se puede detener y la operacioacuten devuelve un error Para obtener maacutes informacioacutenconsulteInformacioacuten de erroresyErrores comunesen laAWS CodeDeployReferencia de la API de

Reimplementaciones y restauracioacuten de implementacionesCodeDeploy implementa restauraciones redirigiendo traacutefico desde el conjunto de tareas de sustitucioacuten alconjunto de tareas original

Puede configurar un grupo de implementaciones para que se restaure automaacuteticamente si se danciertas condiciones por ejemplo si falla una implementacioacuten o si se supera el umbral de monitorizacioacutende alarmas Ademaacutes puede anular la configuracioacuten de restauracioacuten especificada para el grupo deimplementaciones en una implementacioacuten individual

Tambieacuten puede optar por restaurar una implementacioacuten que produjo error manualmente volviendo aimplementar una revisioacuten implementada anteriormente

En todos los casos a la implementacioacuten nueva o restaurada se le asigna su propio ID de implementacioacutenEn la consola de CodeDeploy se muestra una lista de las implementaciones que son el resultado de unaimplementacioacuten automaacutetica

Si vuelve a realizar una implementacioacuten el grupo de destino asociado al conjunto de tareas originalde la implementacioacuten actual se asocia al siguiente conjunto de tareas de sustitucioacuten de la nuevaimplementacioacuten

Para obtener maacutes informacioacuten consulte Redesplegar y deshacer una implementacioacuten conCodeDeploy (p 345)

Implementaciones laquobluegreenraquo de Amazon ECS a traveacutesdeAWS CloudFormationPuede utilizarAWS CloudFormationpara administrar las implementaciones laquobluegreenraquo de Amazon ECS atraveacutes de CodeDeploy Para obtener maacutes informacioacuten consulte Cree una implementacioacuten bluegreen (azulverde) de Amazon ECS medianteAWS CloudFormation (p 337)

Note

Administracioacuten de implementaciones laquobluegreenraquo de Amazon ECS conAWS CloudFormationnoestaacute disponible en la regioacuten Asia-Paciacutefico (Osaka)

Implementaciones en una plataforma de computacioacutenEC2On-PremisesEste tema proporciona informacioacuten sobre los componentes y el flujo de trabajo de las implementacionesde CodeDeploy que utilizan la plataforma de computacioacuten EC2On-Premises Para obtener informacioacutensobre las implementaciones bluegreen consulte Descripcioacuten general de una implementacioacuten laquobluegreenraquo (p 9)

Temasbull Componentes de implementacioacuten en una plataforma de computacioacuten EC2On-Premises (p 28)bull Flujo de trabajo de implementacioacuten en una plataforma de computacioacuten EC2On-Premises (p 28)

Versioacuten de API 2014-10-0627

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataformade computacioacuten EC2On-Premises

bull Configuracioacuten de instancias (p 30)bull Carga de la revisioacuten de la aplicacioacuten (p 31)bull Crear la aplicacioacuten de y los grupos de implementaciones (p 31)bull Implementacioacuten de la revisioacuten de la aplicacioacuten (p 31)bull Actualizacioacuten de la aplicacioacuten (p 31)bull Implementaciones detenidas y con error (p 31)bull Reimplementaciones y restauracioacuten de implementaciones (p 32)

Componentes de implementacioacuten en una plataforma decomputacioacuten EC2On-PremisesEn el siguiente diagrama se muestran los componentes de una implementacioacuten de CodeDeploy en unaplataforma de computacioacuten EC2On-Premises

Flujo de trabajo de implementacioacuten en una plataforma decomputacioacuten EC2On-PremisesEn el diagrama siguiente se muestran los principales pasos en la implementacioacuten de revisiones deaplicaciones

Versioacuten de API 2014-10-0628

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataformade computacioacuten EC2On-Premises

Estos pasos incluyen

1 Cree una aplicacioacuten y asiacutegnele un nombre que identifique las revisiones de la aplicacioacuten que deseaimplementar y la plataforma de computacioacuten de la aplicacioacuten CodeDeploy utiliza este nombre duranteuna implementacioacuten para asegurarse de que se haga referencia a los componentes correctos dela implementacioacuten como el grupo de implementaciones la configuracioacuten de la implementacioacuteny la revisioacuten de la aplicacioacuten Para obtener maacutes informacioacuten consulte Crear una aplicacioacuten conCodeDeploy (p 273)

2 Configure un grupo de implementaciones especificando un tipo de implementacioacuten y las instanciasen las que desea implementar las revisiones de la aplicacioacuten Una implementacioacuten in situ actualizainstancias con la uacuteltima revisioacuten de la aplicacioacuten Una implementacioacuten bluegreen registra un conjuntode instancias de sustitucioacuten para el grupo de implementaciones con un balanceador de carga y cancelael registro de las instancias originales

Puede especificar las etiquetas aplicadas a las instancias los nombres de grupos de Amazon EC2 AutoScaling o ambos

Si especifica un grupo de etiquetas en un grupo de implementaciones CodeDeploy se implementa eninstancias que tienen al menos una de las etiquetas especificadas aplicadas Si especifica dos o maacutesgrupos de etiquetas CodeDeploy se implementa uacutenicamente en las instancias que cumplan los criteriosde cada uno de los grupos de etiquetas Para obtener maacutes informacioacuten consulte Tagging Instances forDeployments (p 209)

En todos los casos las instancias se deben configurar para utilizarse en una implementacioacuten (es decirdeben estar etiquetadas o pertenecer a un grupo de Amazon EC2 Auto Scaling) y tener el agente deCodeDeploy instalado y ejecutaacutendose

Le proporcionamos unAWS CloudFormationplantilla que puede utilizar para configurar raacutepidamente unainstancia Amazon EC2 en funcioacuten de Amazon Linux o Windows Server Tambieacuten proporcionamos unagente de CodeDeploy independiente para que pueda instalarlo en instancias Amazon Linux UbuntuServer Red Hat Enterprise Linux (RHEL) o Windows Server Para obtener maacutes informacioacuten consulteCreacioacuten de un grupo de implementaciones con CodeDeploy (p 288)

Tambieacuten puede especificar las siguientes opcionesbull Notificaciones de Amazon SNS Cree desencadenadores que enviacuteen notificaciones a los suscriptores

de un tema de Amazon SNS cuando ocurren eventos especiacuteficos como eventos de eacutexito o error en

Versioacuten de API 2014-10-0629

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataformade computacioacuten EC2On-Premises

las implementaciones e instancias Para obtener maacutes informacioacuten consulte Monitoring Deploymentswith Amazon SNS Event Notifications (p 365)

bull Administracioacuten de implementaciones basadas en alarmas Implemente la monitorizacioacuten de alarmasde Amazon CloudWatch para detener las implementaciones cuando las meacutetricas superan o caen pordebajo de los umbrales establecidos en CloudWatch

bull Restauraciones de implementaciones automaacuteticas Configure una implementacioacuten para que serestaure automaacuteticamente a la uacuteltima revisioacuten correcta conocida si se produce un error en unaimplementacioacuten o si se supera el umbral de la alarma

3 Especifique una configuracioacuten de implementacioacuten para indicar en cuaacutentas instancias se debenimplementar simultaacuteneamente las revisiones de la aplicacioacuten y describir las condiciones de eacutexito yfracaso de la implementacioacuten Para obtener maacutes informacioacuten consulte View Deployment ConfigurationDetails (p 270)

4 Cargue una revisioacuten de la aplicacioacuten a Amazon S3 o a GitHub Ademaacutes de los archivos que deseaimplementar y los scripts que desea ejecutar durante la implementacioacuten debe incluir unarchivode especificacioacuten de la aplicacioacuten(archivo AppSpec) Este archivo contiene las instrucciones deimplementacioacuten como por ejemplo doacutende se deben copiar los archivos en cada instancia y cuaacutendose deben ejecutar los scripts de implementacioacuten Para obtener maacutes informacioacuten consulte Uso derevisiones de aplicaciones de CodeDeploy (p 307)

5 Implemente la revisioacuten de la aplicacioacuten en el grupo de implementaciones El agente de CodeDeployde cada instancia del grupo de implementaciones copia la revisioacuten de la aplicacioacuten desde AmazonS3 o GitHub a la instancia A continuacioacuten el agente de CodeDeploy separa los paquetes de larevisioacuten y con el archivo AppSpec copia los archivos a las ubicaciones especificadas y ejecuta losscripts de implementacioacuten Para obtener maacutes informacioacuten consulte Cree una implementacioacuten conCodeDeploy (p 324)

6 Compruebe los resultados de la implementacioacuten Para obtener maacutes informacioacuten consulte Monitorizarimplementaciones en CodeDeploy (p 358)

7 Vuelva a implementar una revisioacuten Se recomienda hacer esto si se necesita corregir un error en elcontenido de origen o ejecutar los scripts de la implementacioacuten en un orden diferente o solucionar unaimplementacioacuten que dio error Para ello empaquete nuevamente el contenido de origen cualquier scriptde implementacioacuten y el archivo AppSpec en una revisioacuten nueva y a continuacioacuten cargue la revisioacuten albucket de Amazon S3 o al repositorio de GitHub Luego ejecute una nueva implementacioacuten en el mismogrupo de implementaciones con la nueva revisioacuten Para obtener maacutes informacioacuten consulte Cree unaimplementacioacuten con CodeDeploy (p 324)

Configuracioacuten de instanciasDebe configurar instancias antes de implementar revisiones en la aplicacioacuten por primera vez Si la revisioacutende una aplicacioacuten requiere tres servidores de produccioacuten y dos servidores de copia de seguridad lanzaraacute outilizaraacute cinco instancias

Para aprovisionar instancias manualmente

1 Instale el agente CodeDeploy en las instancias El agente CodeDeploy se puede instalar en instanciasde Amazon Linux Ubuntu Server RHEL y Windows Server

2 Habilite el etiquetado si estaacute utilizando etiquetas para identificar instancias en un grupo deimplementaciones CodeDeploy utiliza etiquetas para identificar y agrupar instancias en grupos deimplementaciones de CodeDeploy Si bien los tutoriales de Introduccioacuten utilizaron ambos puede usaruna clave o un valor para definir una etiqueta para un grupo de implementaciones

3 Lance instancias Amazon EC2 con un perfil de instancias de IAM adjunto Se deberaacute adjuntar el perfil dela instancia de IAM a una instancia Amazon EC2 al lanzarla para que el agente de CodeDeploy verifiquela identidad de la instancia

4 Cree un rol de servicio Conceda acceso al servicio para que CodeDeploy pueda expandir las etiquetasen elAWSaccount

Versioacuten de API 2014-10-0630

AWS CodeDeploy Guiacutea del usuarioImplementaciones en una plataformade computacioacuten EC2On-Premises

Para una implementacioacuten inicial la plantilla de AWS CloudFormation hace todo esto de maneraautomaacutetica Crea y configura instancias Amazon EC2 nuevas y uacutenicas en funcioacuten de Amazon Linux oWindows Server con el agente de CodeDeploy instalado Para obtener maacutes informacioacuten consulte Trabajocon instancias para CodeDeploy (p 207)

Note

Para una implementacioacuten laquobluegreenraquo puede elegir entre utilizar las instancias que ya tiene parael entorno de sustitucioacuten o permitir que CodeDeploy aprovisione nuevas instancias como parte delproceso de implementacioacuten

Carga de la revisioacuten de la aplicacioacutenColoque un archivo AppSpec en la carpeta raiacutez de la estructura de carpetas del contenido de origen de laaplicacioacuten Para obtener maacutes informacioacuten consulte Application Specification Files (p 32)

Empaquete la estructura de carpetas del contenido de origen de la aplicacioacuten en un formato de archivo dealmacenamiento como zip tar o tar comprimido Cargue el archivo de almacenamiento (elrevisioacuten) a unbucket de Amazon S3 o repositorio de GitHub

Note

Los formatos de archivo tar y tar comprimido (tar y targz) no se admiten para las instancias deWindows Server

Crear la aplicacioacuten de y los grupos de implementacionesUn grupo de implementaciones de CodeDeploy identifica un conjunto de instancias en funcioacuten de susetiquetas nombres de grupo de Amazon EC2 Auto Scaling o ambos Se pueden implementar variasrevisiones de la aplicacioacuten en la misma instancia Una revisioacuten de la aplicacioacuten se puede implementar enmuacuteltiples instancias

Por ejemplo podriacutea agregar una etiqueta Prod a los tres servidores de produccioacuten y Backup a los dosservidores de backup Estas dos etiquetas se pueden utilizar para crear dos grupos de implementacionesdistintos en la aplicacioacuten CodeDeploy lo que permite elegir queacute conjunto de servidores (o ambos) deberiacuteanparticipar en una implementacioacuten

Puede utilizar varios grupos de etiquetas en un grupo de implementaciones para restringir lasimplementaciones con un conjunto maacutes pequentildeo de instancias Para obtener informacioacuten consulteTagging Instances for Deployments (p 209)

Implementacioacuten de la revisioacuten de la aplicacioacutenAhora ya estaacute listo para implementar la revisioacuten de la aplicacioacuten desde Amazon S3 o GitHub al grupo deimplementaciones Puede utilizar la consola de CodeDeploy o lacreate deployment createcomando Hayparaacutemetros que puede especificar para controlar la implementacioacuten que incluyen la revisioacuten el grupo deimplementaciones y la configuracioacuten de la implementacioacuten

Actualizacioacuten de la aplicacioacutenPuede llevar a cabo actualizaciones de su aplicacioacuten y a continuacioacuten utilizar la consola de CodeDeploy ollamar alcreate deployment createpara impulsar una revisioacuten

Implementaciones detenidas y con errorPuede utilizar la consola de CodeDeploy o ladetener el desplieguepara detener una implementacioacutenCuando se intenta detener la implementacioacuten sucede una de estas tres cosas

Versioacuten de API 2014-10-0631

AWS CodeDeploy Guiacutea del usuarioArchivos de especificacioacuten de aplicacioacuten

bull La implementacioacuten se detiene y la operacioacuten devuelve el estado ldquorealizada correctamenterdquo En estecaso no se ejecutan maacutes eventos del ciclo de vida de implementacioacuten en el grupo de implementacionespara la implementacioacuten detenida Es posible que algunos archivos se hayan copiado y que algunosscripts ya se hayan ejecutado en una o varias de las instancias del grupo de implementaciones

bull La implementacioacuten no se detiene inmediatamente y la operacioacuten devuelve el estado ldquopendienterdquo En estecaso podriacutean seguir ejecutaacutendose algunos eventos del ciclo de vida de implementacioacuten en el grupo deimplementaciones Es posible que algunos archivos se hayan copiado y que algunos scripts ya se hayanejecutado en una o varias de las instancias del grupo de implementaciones Despueacutes de finalizada laoperacioacuten pendiente las llamadas posteriores para detener la implementacioacuten devuelven el estadoldquorealizada correctamenterdquo

bull La implementacioacuten no se puede detener y la operacioacuten devuelve un error Para obtener maacutes informacioacutenconsulteErrorInformationyErrores comunesen laAWS CodeDeployReferencia de la API de

Al igual que las implementaciones detenidas las que dan error pueden dar lugar a que algunos eventosdel ciclo de vida de implementacioacuten ya se hayan ejecutado en una o varias de las instancias del grupode implementaciones Para averiguar por queacute no se ha realizado una implementacioacuten puede utilizarla consola de CodeDeploy llame alget-deployment-instanceo analice los datos del archivo de log deesa implementacioacuten Para obtener maacutes informacioacuten consulte Revisioacuten de aplicaciones y limpieza dearchivos de registro (p 183) y Ver datos de registro de las implementaciones de CodeDeploy EC2On-Premises (p 342)

Reimplementaciones y restauracioacuten de implementacionesCodeDeploy implementa restauraciones volviendo a implementar una revisioacuten implementada anteriormentecomo una nueva implementacioacuten

Puede configurar un grupo de implementaciones para que se restaure automaacuteticamente si se danciertas condiciones por ejemplo si falla una implementacioacuten o si se supera el umbral de monitorizacioacutende alarmas Ademaacutes puede anular la configuracioacuten de restauracioacuten especificada para el grupo deimplementaciones en una implementacioacuten individual

Tambieacuten puede optar por restaurar una implementacioacuten que produjo error manualmente volviendo aimplementar una revisioacuten implementada anteriormente

En todos los casos a la implementacioacuten nueva o restaurada se le asigna su propio ID de implementacioacutenEn la lista de implementaciones que puede ver en la consola de CodeDeploy se muestra cuaacuteles son elresultado de una implementacioacuten automaacutetica

Para obtener maacutes informacioacuten consulte Redesplegar y deshacer una implementacioacuten conCodeDeploy (p 345)

Archivos de especificacioacuten de aplicacioacutenCodeDeploy (AppSpec)

Un archivo de especificacioacuten de la aplicacioacuten (archivo AppSpec) que es exclusivo de CodeDeploy esunYAML-formateado oJSON-archivo formateado El archivo AppSpec se utiliza para administrar cadaimplementacioacuten como una serie de enlaces de eventos de ciclo de vida que se definen en el archivo

Para obtener informacioacuten acerca de coacutemo crear un archivo AppSpec con el formato correctoconsulteReferencia del archivo CodeDeploy AppSpec (p 407)

Temasbull Archivos AppSpec en una plataforma de computacioacuten Amazon ECS (p 33)

Versioacuten de API 2014-10-0632

AWS CodeDeploy Guiacutea del usuarioArchivos AppSpec en una plataforma

de computacioacuten Amazon ECS

bull Archivos AppSpec en unAWS Lambdaplataforma de computacioacuten (p 33)bull Archivos AppSpec en una plataforma de computacioacuten EC2On-Premises (p 33)bull Coacutemo utiliza el agente de CodeDeploy el archivo AppSpec (p 34)

Archivos AppSpec en una plataforma de computacioacutenAmazon ECSSi una aplicacioacuten utiliza la plataforma de computacioacuten Amazon ECS el archivo AppSpec puede tenerformato YAML o JSON Tambieacuten se puede escribir directamente en un editor en la consola El archivoAppSpec se utiliza para especificar lo siguiente

bull El nombre del servicio Amazon ECS y el nombre del contenedor y el puerto utilizado para dirigir el traacuteficohacia el nuevo conjunto de tareas

bull Las funciones que se van a usar como pruebas de validacioacuten

Puede ejecutar funciones de Lambda de validacioacuten despueacutes de los eventos del ciclo de vida deimplementacioacuten Para obtener maacutes informacioacuten consulte Seccioacuten hooks de AppSpec para unaimplementacioacuten de Amazon ECS (p 422) Estructura de archivos de AppSpec para implementacionesde Amazon ECS (p 409) y Ejemplo de archivo AppSpec para una implementacioacuten de Amazon ECS (p 436)

Archivos AppSpec en unAWS Lambdaplataforma decomputacioacutenSi una aplicacioacuten utiliza la aplicacioacutenAWSPlataforma de computacioacuten Lambda el archivo AppSpec puedetener formato YAML o JSON Tambieacuten se puede escribir directamente en un editor en la consola Elarchivo AppSpec se utiliza para especificar lo siguiente

bull La versioacuten de la funcioacuten de AWS Lambda que se debe implementarbull Las funciones que se van a usar como pruebas de validacioacuten

Puede ejecutar funciones de Lambda de validacioacuten despueacutes de los eventos del ciclo de vidade implementacioacuten Para obtener maacutes informacioacuten consulte Seccioacuten hooks de AppSpec paraunAWSImplementacioacuten de Lambda (p 426)

Archivos AppSpec en una plataforma de computacioacutenEC2On-PremisesSi una aplicacioacuten utiliza la plataforma de computacioacuten EC2On-Premises el archivo AppSpec siempre tieneel formato YAML El archivo AppSpec se utiliza para lo siguiente

bull Asignar los archivos de origen de la revisioacuten de la aplicacioacuten a sus destinos en la instanciabull Especificar permisos personalizados para los archivos implementadosbull Especificar los scripts que se van a ejecutar en cada instancia en las distintas fases del proceso de

implementacioacuten

Puede ejecutar scripts en una instancia despueacutes de muchos de los eventos individuales del ciclo de vidade implementacioacuten CodeDeploy solo ejecuta los scripts especificados en el archivo pero esos scriptspueden llamar a otros scripts en la instancia Puede ejecutar cualquier tipo de script siempre y cuando

Versioacuten de API 2014-10-0633

AWS CodeDeploy Guiacutea del usuarioCoacutemo utiliza el agente de CodeDeploy el archivo AppSpec

sea compatible con el sistema operativo que se ejecuta en las instancias Para obtener maacutes informacioacutenconsulte Seccioacuten hooks de AppSpec para una implementacioacuten EC2On-Premises (p 428)

Coacutemo utiliza el agente de CodeDeploy el archivoAppSpecDurante la implementacioacuten el agente de CodeDeploy busca el nombre del evento actual enlahooksseccioacuten del archivo AppSpec Si el evento no se encuentra el agente de CodeDeploy va alsiguiente paso Si el evento se encuentra el agente de CodeDeploy recupera la lista de scripts que hayque ejecutar Los scripts se ejecutan de forma secuencial en el orden en que aparecen en el archivo Elestado de cada script se registra en el archivo de registro del agente de CodeDeploy de la instancia

Si un script se ejecuta correctamente devuelve un coacutedigo de salida de 0 (cero)

Note

El agente CodeDeploy no se utiliza en unAWSLambda o una implementacioacuten de Amazon ECS

Durante laInstalar el agente de CodeDeploy utiliza las asignaciones definidas en elfilesdel archivoAppSpec para determinar las carpetas o los archivos que hay que copiar de la revisioacuten a la instancia

Si el agente de CodeDeploy instalado en el sistema operativo no coincide con lo que se indica en elarchivo AppSpec la implementacioacuten falla

Para obtener informacioacuten sobre los archivos de registro del agente de CodeDeploy consulteTrabajar con elagente de CodeDeploy (p 175)

Versioacuten de API 2014-10-0634

AWS CodeDeploy Guiacutea del usuarioPaso 1 Instalar o actualizar y a

continuacioacuten configurar laAWS CLI

Introduccioacuten a CodeDeployPara poder usar AWS CodeDeploy por primera vez debe completar los pasos de configuracioacuten

Para comenzar debe crear una cuenta en AWS Para crear una cuenta vaya ahttpsawsamazoncomyeligeCreacioacuten de unAWSCuenta

Entonces podraacute continuar con el resto de las tareas de configuracioacuten de esta seccioacuten

Temasbull Paso 1 Instalar o actualizar y a continuacioacuten configurar laAWS CLI (p 35)bull Paso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36)bull Paso 3 Provisionar un usuario de IAM (p 41)bull Paso 4 Crear un perfil de instancias de IAM para sus instancias Amazon EC2 (p 43)

Paso 1 Instalar o actualizar y a continuacioacutenconfigurar laAWS CLI

Para llamar a los comandos de CodeDeploy desde elAWS CLIen un equipo de desarrollo local debeinstalar laAWS CLI Los comandos de CodeDeploy estaacuten disponibles desde la versioacuten 161 de laAWS CLILos comandos de CodeDeploy para trabajar con instancias on-premises estaacuten disponibles desde la versioacuten1719 de laAWS CLI

Si tiene una versioacuten anterior de laAWS CLIinstalado debe actualizarlo para que esteacuten disponibles loscomandos de CodeDeploy Llame a aws --version para comprobar la versioacuten

Para instalar o actualizar la AWS CLI

1 Siga las instrucciones de Instalacioacuten de la AWS Command Line Interface para instalar o actualizar laAWS CLI

2 Para configurar laAWS CLI consulteConfiguracioacuten deAWS Command Line InterfaceyAdministracioacutende las claves de acceso de los usuarios de IAM

Important

Cuando configure la AWS CLI se le pediraacute que especifique una regioacuten de AWS Seleccioneuna de las regiones admitidas enumeradas enRegioacuten y puntos de enlaceen laAWSReferenciageneral de

3 Para verificar la instalacioacuten o actualizacioacuten llame al siguiente comando desde la AWS CLI

aws deploy help

Si se ejecuta correctamente este comando muestra una lista de los comandos de CodeDeploydisponibles

Versioacuten de API 2014-10-0635

AWS CodeDeploy Guiacutea del usuarioPaso 2 Crear un rol de servicio

Paso 2 Creacioacuten de un rol de servicio paraCodeDeploy

En AWS se utilizan roles de servicio para conceder permisos a un servicio de AWS de modo que tengaacceso a recursos de AWS Las poliacuteticas que se adjuntan al rol del servicio determinan a queacute recursospodraacute obtener acceso el servicio y queacute puede hacer con esos recursos

El rol de servicio que crea para CodeDeploy debe recibir los permisos necesarios para su plataformade procesamiento Para implementar en maacutes de una plataforma de computacioacuten cree un rol de serviciopara cada una Para agregar permisos asocie una o maacutes de las siguientes opcionesAWSpoliacuteticassuministradas por

En las implementaciones EC2On-Premises asocie elAWSCodeDeployRolepoliacutetica Proporciona lospermisos necesarios para que su rol de servicio

bull Lea las etiquetas en las instancias o identifique sus instancias de Amazon EC2 mediante nombres degrupo de Amazon EC2 Auto Scaling

bull Lea cree actualice y elimine grupos de Auto Scaling de Amazon EC2 enlaces de ciclo de vida ypoliacuteticas de escalado

bull Publique informacioacuten en los temas de Amazon SNSbull Permite recuperar informacioacuten sobre alarmas de CloudWatchbull Lea y actualice Elastic Load Balancing

Note

Si crea un grupo de Auto Scaling con una plantilla de inicio debe agregar los siguientespermisosbull ec2RunInstances

bull ec2CreateTags

bull iamPassRolePara obtener maacutes informacioacuten consultePaso 2 Crear un rol de servicio (p 36)Creacioacuten deuna plantilla de lanzamiento para un grupo de Auto Scaling yCompatibilidad con las plantillasde lanzamientoen laGuiacutea del usuario de Amazon EC2 Auto Scaling

En las implementaciones de Amazon ECS si desea obtener acceso total a los servicios de soporte teacutecnicoasocie elAWSCodeDeployRoleForECSpoliacutetica Proporciona los permisos necesarios para que su rol deservicio

bull Lea actualice y elimine conjuntos de tareas de Amazon ECSbull Actualice grupos de destino de Elastic Load Balancing agentes de escucha y reglas debull Invoque a funciones de AWS Lambdabull Acceda a archivos de revisioacuten en buckets de Amazon S3bull Permite recuperar informacioacuten sobre alarmas de CloudWatchbull Publique informacioacuten en los temas de Amazon SNS

En las implementaciones de Amazon ECS si desea obtener acceso limitado a los servicios de soporteteacutecnico asocie elAWSCodeDeployRoleForECSLimitedpoliacutetica Proporciona los permisos necesariospara que su rol de servicio

bull Lea actualice y elimine conjuntos de tareas de Amazon ECSbull Permite recuperar informacioacuten sobre alarmas de CloudWatch

Versioacuten de API 2014-10-0636

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de un rol de servicio de (consola)

bull Publique informacioacuten en los temas de Amazon SNS

ParaAWSLas implementaciones de Lambda si desea permitir la publicacioacuten en Amazon SNS asocieelAWSCodeDeployRoleForLambdapoliacutetica Proporciona los permisos necesarios para que su rol deservicio

bull Lea actualice e invoque funciones AWS Lambda y aliasbull Acceda a archivos de revisioacuten en buckets de Amazon S3bull Permite recuperar informacioacuten sobre alarmas de CloudWatchbull Publique informacioacuten en los temas de Amazon SNS

ParaAWSEn las implementaciones de Lambda si desea limitar el acceso a Amazon SNS asocieelAWSCodeDeployRoleForLambdaLimitedpoliacutetica Proporciona los permisos necesarios para que su rolde servicio

bull Lea actualice e invoque funciones AWS Lambda y aliasbull Acceda a archivos de revisioacuten en buckets de Amazon S3bull Permite recuperar informacioacuten sobre alarmas de CloudWatch

Como parte de la configuracioacuten del rol de servicio tambieacuten actualizaraacute su relacioacuten de confianza paraespecificar a queacute puntos de enlace desea concederle acceso

Puede crear un rol de servicio con la consola de IAM laAWS CLI o las API de IAM

Temasbull Creacioacuten de un rol de servicio de (consola) (p 37)bull Creacioacuten de un rol de servicio de (CLI) (p 39)bull Obtenga el ARN del rol de servicio (consola) (p 40)bull Obtenga el ARN del rol de servicio (CLI) (p 41)

Creacioacuten de un rol de servicio de (consola)1 Inicie sesioacuten en la AWS Management Console y abra la consola de IAM en https

consoleawsamazoncomiam2 En el panel de navegacioacuten seleccione Roles y luego seleccione Create role3 En la paacuteginaCreacioacuten de un rolpaacutegina elijaAWSServicio dey desde lasElija el servicio que utilizaraacute

este rollista elijaCodeDeploy4 En Select your use case (Seleccione su caso de uso) elija su caso de uso

bull En las implementaciones EC2On-Premises elijaCodeDeploybull Para las implementaciones de Amazon ECS elijaCodeDeploy - ECSbull ParaAWSImplementaciones de Lambda elijaCodeDeploy para Lambda

5 Seleccione Next (Siguiente) Permisos6 En la paacutegina Attached permissions policy (Poliacutetica de permisos asociada) se muestra la poliacutetica de

permisos Seleccione Next (Siguiente) Tags (Etiquetas)7 En la paacuteginaReview (Revisar)paacutegina enNombre del rol introduzca un nombre para el rol de servicio

de (por ejemploCodeDeployServiceRole) y luego elijaCreacioacuten de un rol

Tambieacuten puede introducir una descripcioacuten para este rol de servicio enDescripcioacuten del rol

Versioacuten de API 2014-10-0637

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de un rol de servicio de (consola)

8 Si desea que este rol de servicio tenga permiso de acceso a todos los puntos de enlace contempladosactualmente ya ha terminado con este procedimiento

Para restringir el acceso de este rol de servicio a algunos puntos de enlace en la lista de rolesexamine y elija el rol que ha creado y continuacutee en el paso siguiente

9 En la pestantildea Trust relationships (Relaciones de confianza) elija Edit trust relationship (Editar relacioacutende confianza)

10 Debe aparecer la siguiente poliacutetica que concede al rol de servicio el permiso de acceso a todos lospuntos de enlace compatibles

Version 2012-10-17 Statement [ Sid Effect Allow Principal Service [ codedeployamazonawscom ] Action stsAssumeRole ]

Para conceder acceso al rol de servicio a solo algunos puntos de enlace admitidos reemplace elcontenido del recuadro Policy Document (Documento de poliacutetica) con la poliacutetica siguiente Quite lasliacuteneas de los puntos de enlace a los que desea evitar el acceso y a continuacioacuten elija Update TrustPolicy (Actualizar poliacutetica de confianza)

Version 2012-10-17 Statement [ Sid Effect Allow Principal Service [ codedeployus-east-2amazonawscom codedeployus-east-1amazonawscom codedeployus-west-1amazonawscom codedeployus-west-2amazonawscom codedeployeu-west-3amazonawscom codedeployca-central-1amazonawscom codedeployeu-west-1amazonawscom codedeployeu-west-2amazonawscom codedeployeu-central-1amazonawscom codedeployap-east-1amazonawscom codedeployap-northeast-1amazonawscom codedeployap-northeast-2amazonawscom codedeployap-southeast-1amazonawscom codedeployap-southeast-2amazonawscom codedeployap-south-1amazonawscom codedeploysa-east-1amazonawscom ] Action stsAssumeRole ]

Versioacuten de API 2014-10-0638

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de un rol de servicio de (CLI)

Para obtener maacutes informacioacuten acerca de la creacioacuten de roles de servicio consulteCreacioacuten de un rol paradelegar permisos a unAWSServicio deen laIAM User Guide

Creacioacuten de un rol de servicio de (CLI)1 En el equipo de implementacioacuten crea un archivo de texto con un nombre como por ejemplo

CodeDeployDemo-Trustjson Este archivo se utiliza para permitir a CodeDeploy trabajar en sunombre

Realice alguna de las siguientes acciones

bull Para conceder acceso a todos los admitidosAWSRegions guarde el siguiente contenido en elarchivo

Version 2012-10-17 Statement [ Sid Effect Allow Principal Service [ codedeployamazonawscom ] Action stsAssumeRole ]

bull Para conceder acceso solo a algunas regiones escriba el siguiente contenido en el archivo yelimine las liacuteneas de las regiones a las que no desee conceder acceso

Version 2012-10-17 Statement [ Sid Effect Allow Principal Service [ codedeployus-east-2amazonawscom codedeployus-east-1amazonawscom codedeployus-west-1amazonawscom codedeployus-west-2amazonawscom codedeployeu-west-3amazonawscom codedeployca-central-1amazonawscom codedeployeu-west-1amazonawscom codedeployeu-west-2amazonawscom codedeployeu-central-1amazonawscom codedeployap-east-1amazonawscom codedeployap-northeast-1amazonawscom codedeployap-northeast-2amazonawscom codedeployap-southeast-1amazonawscom codedeployap-southeast-2amazonawscom codedeployap-south-1amazonawscom codedeploysa-east-1amazonawscom ] Action stsAssumeRole ]

Versioacuten de API 2014-10-0639

AWS CodeDeploy Guiacutea del usuarioObtenga el ARN del rol de servicio (consola)

Note

No incluya una coma despueacutes del uacuteltimo punto de enlace de la lista2 Desde el mismo directorio ejecute el comando create-role para crear un rol de servicio con el nombre

CodeDeployServiceRole basado en la informacioacuten del archivo de texto que acaba de crear

aws iam create-role --role-name CodeDeployServiceRole --assume-role-policy-document fileCodeDeployDemo-Trustjson

Important

Aseguacuterese de incluir file antes del nombre de archivo Es obligatorio en este comando

En la salida del comando anote el valor de la entrada Arn para el objeto Role Lo necesitaraacute maacutesadelante al crear grupos de implementaciones Si no recuerda el valor siga las instrucciones indicadasen Obtenga el ARN del rol de servicio (CLI) (p 41)

3 La poliacutetica administrada que utilice dependeraacute de la plataforma de computacioacuten

bull Para una implementacioacuten en una plataforma de computacioacuten EC2On-Premises

Llame a laattach-role-policypara asignar el rol de serviciodenominadoCodeDeployServiceRolelos permisos basados en la poliacutetica administrada de IAMdenominadaAWSCodeDeployRole Por ejemplo

aws iam attach-role-policy --role-name CodeDeployServiceRole --policy-arn arnawsiamawspolicyservice-roleAWSCodeDeployRole

bull Para una implementacioacuten en unaAWSPlataforma de computacioacuten Lambda

Llame a laattach-role-policypara asignar el rol de serviciodenominadoCodeDeployServiceRolelos permisos basados en la poliacutetica administrada de IAMdenominadaAWSCodeDeployRoleForLambdaoAWSCodeDeployRoleForLambdaLimited Porejemplo

aws iam attach-role-policy --role-name CodeDeployServiceRole --policy-arn arnawsiamawspolicyservice-roleAWSCodeDeployRoleForLambda

bull Para una implementacioacuten en una plataforma de computacioacuten Amazon ECS

Llame a laattach-role-policypara asignar el rol de serviciodenominadoCodeDeployServiceRolelos permisos basados en la poliacutetica administrada de IAMdenominadaAWSCodeDeployRoleForECSoAWSCodeDeployRoleForECSLimited Por ejemplo

aws iam attach-role-policy --role-name CodeDeployServiceRole --policy-arn arnawsiamawspolicyAWSCodeDeployRoleForECS

Para obtener maacutes informacioacuten acerca de la creacioacuten de roles de servicio consulteCreacioacuten de un rol paraunAWSServicio deen laIAM User Guide

Obtenga el ARN del rol de servicio (consola)Para obtener el ARN del rol de servicio con la consola de IAMVersioacuten de API 2014-10-06

40

AWS CodeDeploy Guiacutea del usuarioObtenga el ARN del rol de servicio (CLI)

1 Inicie sesioacuten en la AWS Management Console y abra la consola de IAM en httpsconsoleawsamazoncomiam

2 Seleccione Roles (Roles) en el panel de navegacioacuten3 En el cuadro Filter (Filtro) escriba CodeDeployServiceRole y a continuacioacuten pulse Intro4 Elija CodeDeployServiceRole5 Anote el valor del campo Role ARN (ARN de rol)

Obtenga el ARN del rol de servicio (CLI)Para obtener el ARN del rol de servicio con la AWS CLI ejecute el comando get-role para el rol de servicioCodeDeployServiceRole

aws iam get-role --role-name CodeDeployServiceRole --query RoleArn --output text

El valor devuelto es el ARN del rol de servicio

Paso 3 Provisionar un usuario de IAMSiga estas instrucciones para preparar a un usuario de IAM para que utilice CodeDeploy

1 Cree un usuario de IAM o utilice uno asociado a suAWSaccount Para obtener maacutes informacioacutenconsulteCreacioacuten de un usuario de IAMenIAM User Guide

2 Conceda al usuario de IAM acceso a CodeDeploy yAWSservicios y acciones de los que dependeCodeDeploy copie la siguiente poliacutetica y adjuacutentela al usuario de IAM

Version 2012-10-17 Statement [ Sid CodeDeployAccessPolicy Effect Allow Action [ autoscaling codedeploy ec2 lambda ecs elasticloadbalancing iamAddRoleToInstanceProfile iamAttachRolePolicy iamCreateInstanceProfile iamCreateRole iamDeleteInstanceProfile iamDeleteRole iamDeleteRolePolicy iamGetInstanceProfile iamGetRole iamGetRolePolicy iamListInstanceProfilesForRole iamListRolePolicies iamListRoles iamPutRolePolicy iamRemoveRoleFromInstanceProfile s3 ssm ] Resource

Versioacuten de API 2014-10-0641

AWS CodeDeploy Guiacutea del usuarioPaso 3 Provisionar un usuario de IAM

Sid CodeDeployRolePolicy Effect Allow Action [ iamPassRole ] Resource arnawsiamaccount-IDroleCodeDeployServiceRole ]

En la poliacutetica anterior sustituacuteyasearnawsiam account-idrolecodeDeployServiceRolecon el valor ARN del rol de servicio CodeDeploy de que ha creado enPaso 2 Creacioacuten de un rolde servicio para CodeDeploy (p 36) Puede encontrar el valor de ARN en la paacutegina de detalles delrol de servicio de la consola de IAM

La poliacutetica anterior concede al usuario de IAM para implementar unaAWSPlataforma de computacioacutenLambda una plataforma de computacioacuten EC2On-Premises y una plataforma de computacioacuten AmazonECS

Para obtener informacioacuten sobre coacutemo asociar una poliacutetica a un usuario de IAM consulteTrabajocon poliacuteticas Para obtener informacioacuten sobre coacutemo restringir a los usuarios de a un conjuntolimitado de acciones y recursos de CodeDeploy consulteIdentity and Access Management en AWSCodeDeploy (p 378)

Puede utilizar elAWS CloudFormationplantillas de que se incluyen en esta documentacioacutenpara lanzar las instancias de Amazon EC2 compatibles con CodeDeploy Para utilizarAWSCloudFormationplantillas de para crear aplicaciones grupos de implementaciones o configuracionesde implementacioacuten debe concederle acceso aAWS CloudFormationmdashyAWSservicios y accionesqueAWS CloudFormationdepende de asocie una poliacutetica adicional al usuario de IAM

Version 2012-10-17 Statement [ Effect Allow Action [ cloudformation ] Resource ]

Para obtener informacioacuten acerca de otros servicios de AWS mencionados en estas instruccionesconsulte

bull Informacioacuten general deAWS Identity and Access ManagementPoliacuteticas debull Control del acceso de los usuarios al balanceador de cargabull Control del acceso a los recursos de Auto Scalingbull ControlarAWS CloudFormationacceso a conAWS Identity and Access Management

Versioacuten de API 2014-10-0642

AWS CodeDeploy Guiacutea del usuarioPaso 4 Crear un perfil de instancia de IAM

Paso 4 Crear un perfil de instancias de IAM parasus instancias Amazon EC2

Note

Si utiliza Amazon ECS oAWSPlataforma de coacutemputo Lambda omita este paso Lasimplementaciones de Amazon ECS implementan un servicio Amazon ECS yAWSLasimplementaciones Lambda implementan una versioacuten de funcioacuten Lambda sin servidor por lo queno se requiere un perfil de instancia para las instancias Amazon EC2

Las instancias Amazon EC2 necesitan permiso de acceso a los buckets de Amazon S3 o a los repositoriosGitHub donde se encuentran las aplicaciones Para lanzar instancias Amazon EC2 compatibles conCodeDeploy debe crear un rol de IAM adicional unperfil de instancia Estas instrucciones le indicaraacutencoacutemo crear un perfil de instancia de IAM para asociarlo a las instancias Amazon EC2 Este rol concedea CodeDeploy permiso de acceso a los buckets de Amazon S3 o a los repositorios GitHub donde seencuentran las aplicaciones

Puede crear un perfil de instancia de IAM con elAWS CLI la consola de IAM o las API de IAMNote

Puede adjuntar un perfil de instancias de IAM a una instancia de EC2 en el momento de lanzarlao bien adjuntarlo a una instancia ya lanzada anteriormente Para obtener maacutes informacioacutenconsultePerfiles de instancias

Temasbull Crear un perfil de instancias de IAM para sus instancias Amazon EC2 (CLI) (p 43)bull Crear un perfil de instancias de IAM para sus instancias Amazon EC2 (consola) (p 45)

Crear un perfil de instancias de IAM para susinstancias Amazon EC2 (CLI)En estos pasos suponemos que ya ha seguido las instrucciones de los tres primeros pasos de Introduccioacutena CodeDeploy (p 35)

1 En el equipo de implementacioacuten crea un archivo de texto con el nombre CodeDeployDemo-EC2-Trustjson Pegue el contenido siguiente que permite a Amazon EC2 trabajar en su nombre

Version 2012-10-17 Statement [ Sid Effect Allow Principal Service ec2amazonawscom Action stsAssumeRole ]

2 En el mismo directorio crea un archivo de texto con el nombre CodeDeployDemo-EC2-Permissionsjson Pegue el siguiente contenido

Versioacuten de API 2014-10-0643

AWS CodeDeploy Guiacutea del usuarioCrear un perfil de instancias de IAM

para sus instancias Amazon EC2 (CLI)

Version 2012-10-17 Statement [ Action [ s3Get s3List ] Effect Allow Resource ]

Note

Le recomendamos que restrinja esta poliacutetica uacutenicamente a los buckets de Amazon S3 alos que las instancias Amazon EC2 deban tener acceso Aseguacuterese de conceder acceso alos buckets de Amazon S3 que contienen el agente de CodeDeploy De lo contrario podriacuteaproducirse un error cuando el agente de CodeDeploy se instale o actualice en las instanciasPara conceder al perfil de instancia de IAM acceso solo algunos buckets del kit de recursosde CodeDeploy en Amazon S3 utilice la poliacutetica siguiente pero elimine las liacuteneas de bucketsde a los que no desee conceder acceso

Version 2012-10-17 Statement [ Effect Allow Action [ s3Get s3List ] Resource [ arnawss3replace-with-your-s3-bucket-name arnawss3aws-codedeploy-us-east-2 arnawss3aws-codedeploy-us-east-1 arnawss3aws-codedeploy-us-west-1 arnawss3aws-codedeploy-us-west-2 arnawss3aws-codedeploy-ca-central-1 arnawss3aws-codedeploy-eu-west-1 arnawss3aws-codedeploy-eu-west-2 arnawss3aws-codedeploy-eu-west-3 arnawss3aws-codedeploy-eu-central-1 arnawss3aws-codedeploy-ap-east-1 arnawss3aws-codedeploy-ap-northeast-1 arnawss3aws-codedeploy-ap-northeast-2 arnawss3aws-codedeploy-ap-southeast-1 arnawss3aws-codedeploy-ap-southeast-2 arnawss3aws-codedeploy-ap-south-1 arnawss3aws-codedeploy-sa-east-1 ] ]

Note

Si desea utilizarAutorizacioacuten de IAMo puntos de enlace de Amazon Virtual Private Cloud(VPC) con CodeDeploy deberaacute agregar maacutes permisos ConsulteUso de CodeDeploy conAmazon Virtual Private Cloudpara obtener maacutes informacioacuten

Versioacuten de API 2014-10-0644

AWS CodeDeploy Guiacutea del usuarioCrear un perfil de instancias de IAM parasus instancias Amazon EC2 (consola)

3 Desde el mismo directorio llame alcreate-rolepara crear un rol de IAMdenominadoCodeDeployDemo-EC2-Instance-Profile basado en la informacioacuten del primerarchivo

Important

Aseguacuterese de incluir file antes del nombre de archivo Es obligatorio en este comando

aws iam create-role --role-name CodeDeployDemo-EC2-Instance-Profile --assume-role-policy-document fileCodeDeployDemo-EC2-Trustjson

4 Desde el mismo directorio llame al comando put-role-policy para conceder al rol CodeDeployDemo-EC2-Instance-Profile los permisos correspondientes a la informacioacuten del segundo archivo

Important

Aseguacuterese de incluir file antes del nombre de archivo Es obligatorio en este comando

aws iam put-role-policy --role-name CodeDeployDemo-EC2-Instance-Profile --policy-name CodeDeployDemo-EC2-Permissions --policy-document fileCodeDeployDemo-EC2-Permissionsjson

5 Llame a laattach-role-policypara otorgar al rol permisos de Amazon EC2 Systems Manager paraque SSM pueda instalar el agente de CodeDeploy Esta poliacutetica no es necesaria si tiene pensadoinstalar el agente desde el bucket de Amazon S3 puacuteblico con la liacutenea de comandos Maacutes informacioacutensobreinstalacioacuten del agente de CodeDeploy

aws iam attach-role-policy --policy-arn arnawsiamawspolicyAmazonSSMManagedInstanceCore --role-name CodeDeployDemo-EC2-Instance-Profile

6 Llame a lacreate-instance-profileseguida de laadd-role-to-instance-profilepara crear un perfil deinstancia de IAM denominadoCodeDeployDemo-EC2-Instance-Profile El perfil de instanciapermite a Amazon EC2 pasar el rol de IAM denominadoCodeDeployDemo-EC2-Instance-Profilea una instancia Amazon EC2 cuando se lanza la instancia por primera vez

aws iam create-instance-profile --instance-profile-name CodeDeployDemo-EC2-Instance-Profileaws iam add-role-to-instance-profile --instance-profile-name CodeDeployDemo-EC2-Instance-Profile --role-name CodeDeployDemo-EC2-Instance-Profile

Si necesita obtener el nombre del perfil de instancia de IAM consultelist-instance-perfiles-por-roleen laseccioacuten IAM delAWS CLIReferencia de de

Ya ha creado un perfil de instancia de IAM para asociarlo a las instancias Amazon EC2 Para obtener maacutesinformacioacuten consulteRoles de IAM para Amazon EC2en laGuiacutea del usuario de Amazon EC2

Crear un perfil de instancias de IAM para susinstancias Amazon EC2 (consola)1 Inicie sesioacuten en la AWS Management Console y abra la consola de IAM en https

consoleawsamazoncomiam2 En la consola de IAM en el panel de navegacioacuten elijaPoliacuteticasy luego seleccioneCrear poliacutetica Si

aparece el botoacuten Get Started (Empezar) eliacutejalo y a continuacioacuten elija Create Policy (Crear poliacutetica)3 En la paacutegina Create policy (Crear poliacutetica) pegue lo siguiente en la pestantildea JSON

Versioacuten de API 2014-10-0645

AWS CodeDeploy Guiacutea del usuarioCrear un perfil de instancias de IAM parasus instancias Amazon EC2 (consola)

Version 2012-10-17 Statement [ Action [ s3Get s3List ] Effect Allow Resource ]

Note

Le recomendamos que restrinja esta poliacutetica uacutenicamente a los buckets de Amazon S3 alos que las instancias Amazon EC2 deban tener acceso Aseguacuterese de conceder acceso alos buckets de Amazon S3 que contienen el agente de CodeDeploy De lo contrario podriacuteaproducirse un error cuando el agente de CodeDeploy se instale o actualice en las instanciasPara conceder al perfil de instancia de IAM acceso solo algunos buckets del kit de recursosde CodeDeploy en Amazon S3 utilice la poliacutetica siguiente pero elimine las liacuteneas de bucketsde a los que no desee conceder acceso

Version 2012-10-17 Statement [ Effect Allow Action [ s3Get s3List ] Resource [ arnawss3replace-with-your-s3-bucket-name arnawss3aws-codedeploy-us-east-2 arnawss3aws-codedeploy-us-east-1 arnawss3aws-codedeploy-us-west-1 arnawss3aws-codedeploy-us-west-2 arnawss3aws-codedeploy-ca-central-1 arnawss3aws-codedeploy-eu-west-1 arnawss3aws-codedeploy-eu-west-2 arnawss3aws-codedeploy-eu-west-3 arnawss3aws-codedeploy-eu-central-1 arnawss3aws-codedeploy-ap-east-1 arnawss3aws-codedeploy-ap-northeast-1 arnawss3aws-codedeploy-ap-northeast-2 arnawss3aws-codedeploy-ap-southeast-1 arnawss3aws-codedeploy-ap-southeast-2 arnawss3aws-codedeploy-ap-south-1 arnawss3aws-codedeploy-sa-east-1 ] ]

Note

Si desea utilizarAutorizacioacuten de IAMo puntos de enlace de Amazon Virtual Private Cloud(VPC) con CodeDeploy deberaacute agregar maacutes permisos ConsulteUso de CodeDeploy conAmazon Virtual Private Cloudpara obtener maacutes informacioacuten

4 Elija Review policy (Revisar poliacutetica)

Versioacuten de API 2014-10-0646

AWS CodeDeploy Guiacutea del usuarioCrear un perfil de instancias de IAM parasus instancias Amazon EC2 (consola)

5 En la paacutegina Create policy (Crear poliacutetica) escriba CodeDeployDemo-EC2-Permissions en elcuadro Policy Name (Nombre de la poliacutetica)

6 (Opcional) En Description (Descripcioacuten) escriba una descripcioacuten para la poliacutetica7 Elija Create Policy (Crear poliacutetica)8 En el panel de navegacioacuten seleccione Roles y luego seleccione Create role9 En la paacutegina Create role (Crear rol) seleccione AWS service (Servicio de) y en Choose the service

that will use this role (Seleccione el servicio que va a usar este rol) haga clic en EC210 En la lista Select your use case (Seleccionar caso de uso) elija EC211 Seleccione Next (Siguiente) Permisos12 En la lista de poliacuteticas seleccione la casilla de verificacioacuten situada junto a la poliacutetica que acaba de

crear (CodeDeployDemo-EC2-Permissions) Si es necesario utilice el cuadro de buacutesqueda paraencontrar la poliacutetica

13 Para utilizar Systems Manager para instalar o configurar el agente de CodeDeploy seleccione lacasilla situada junto a AmazonssmManagedInstanceCore Esta poliacutetica administrada por AWS permiteque una instancia utilice la funcionalidad baacutesica del servicio Systems Manager Si es necesario utiliceel cuadro de buacutesqueda para encontrar la poliacutetica Esta poliacutetica no es necesaria si tiene pensadoinstalar el agente desde el bucket de Amazon S3 puacuteblico con la liacutenea de comandos Maacutes informacioacutensobreinstalacioacuten del agente de CodeDeploy

14 Seleccione Next (Siguiente) Etiquetas15 Salir delAgregar etiquetas (opcional)paacutegina sin cambios y a continuacioacuten elijaSiguiente Consulte16 En la paacuteginaReview (Revisar)paacutegina enNombre del rol introduzca un nombre para el rol de servicio

(por ejemploCodeDeployDemo-EC2-Instance-Profile) y luego seleccioneCrear rol

Tambieacuten puede introducir una descripcioacuten para este rol de servicio enDescripcioacuten del rol

Ya ha creado un perfil de instancia de IAM para asociarlo a las instancias Amazon EC2 Para obtener maacutesinformacioacuten consulteRoles de IAM para Amazon EC2en laGuiacutea del usuario de Amazon EC2

Versioacuten de API 2014-10-0647

AWS CodeDeploy Guiacutea del usuarioIntegracioacuten con otros servicios de AWS

Integraciones de productos yservicios con CodeDeploy

De forma predeterminada CodeDeploy se integra con una serie deAWSservicios y productos y serviciosde socios La siguiente informacioacuten puede ayudarlo a configurar CodeDeploy para integrarlo con losproductos y los servicios que utilice

bull Integracioacuten con otros servicios de AWS (p 48)bull Integracioacuten a productos y servicios de socios (p 60)bull Ejemplos de integracioacuten de la comunidad (p 66)

Integracioacuten con otros servicios de AWSCodeDeploy se integra con lo siguienteAWSservicios de

Amazon CloudWatch Amazon CloudWatches un servicio de monitoreoparaAWSlos recursos de la nube y las aplicacionesen las que se ejecutaAWS Utilice AmazonCloudWatch para recopilar meacutetricas y realizar suseguimiento recopilar y monitorizar archivos deregistro y establecer alarmas CodeDeploy admitelas siguientes herramientas de CloudWatch

bull Alarmas de CloudWatchpara monitorizarlas implementaciones y detenerlas cuandolas meacutetricas de monitoreo especificadassuperen o caigan por debajo de los umbralesque especifique en una regla de alarma deCloudWatch Para utilizar la monitorizacioacuten dealarmas primero debe configurar una alarmaen CloudWatch y a continuacioacuten antildeadirla ala aplicacioacuten o al grupo de implementacionesde CodeDeploy a continuacioacuten antildeadirla a laaplicacioacuten o al grupo de implementaciones de

Maacutes informacioacutenbull Crear alarmas de CloudWatch Logs

bull Amazon CloudWatch Eventspara detectar yreaccionar a cambios de estado de una instanciao una implementacioacuten en las operaciones deCodeDeploy A continuacioacuten en funcioacuten de lasreglas que cree CloudWatch Events invoca auna o varias acciones de destino cuando unaimplementacioacuten o una instancia entra en elestado especificado en una regla

Maacutes informacioacutenbull Monitoreo de implementaciones de mediante

Amazon CloudWatch Events (p 362)

Versioacuten de API 2014-10-0648

AWS CodeDeploy Guiacutea del usuarioIntegracioacuten con otros servicios de AWS

bull Amazon CloudWatch Logspara monitorizarlos tres tipos de log creados por el agente deCodeDeploy sin necesidad de iniciar sesioacuten encada una de las instancias

Maacutes informacioacutenbull Ver registros de CodeDeploy en la consola de

CloudWatch Logs

Auto Scaling de Amazon EC2 Soporta CodeDeployAuto Scaling de Amazon EC2EsteAWSel servicio de puede lanzar instanciasAmazon EC2 automaacuteticamente en funcioacuten de loscriterios que especifique por ejemplo

bull Liacutemites superados para la utilizacioacuten de CPUespecificada

bull Lecturas o escrituras en discobull Traacutefico de red entrante o saliente durante un

intervalo de tiempo especificado

Puede escalar un grupo de instancias AmazonEC2 cuando las necesite y a continuacioacuten utilizarCodeDeploy implementar revisiones de aplicacioacutenautomaacuteticamente Amazon EC2 Auto Scalingtermina esas instancias de Amazon EC2 cuandodejan de ser necesarias

Maacutes informacioacuten

bull Integracioacuten de CodeDeploy con Amazon EC2Auto Scaling (p 53)

bull Tutorial UsarCodeDeploypara implementaruna aplicacioacuten en un grupo de AutoScaling (p 110)

bull Bajo el capoacute Integracioacuten de CodeDeploy y AutoScaling

Versioacuten de API 2014-10-0649

AWS CodeDeploy Guiacutea del usuarioIntegracioacuten con otros servicios de AWS

Amazon Elastic Container Service Puede utilizar CodeDeploy para implementaruna aplicacioacuten en contenedores de Amazon ECScomo conjunto de tareas CodeDeploy realizauna implementacioacuten bluegreen instalando unaversioacuten actualizada de la aplicacioacuten como un nuevoconjunto de tareas de sustitucioacuten CodeDeployredirige el traacutefico de produccioacuten del conjunto detareas de la aplicacioacuten original al conjunto detareas de sustitucioacuten Cuando la implementacioacutense realiza correctamente se termina el conjuntode tareas original Para obtener maacutes informacioacutenacerca de Amazon ECS consulteAmazon ElasticContainer Service

Puede administrar la forma en que el traacutefico sedesplaza al conjunto de tareas actualizado duranteuna implementacioacuten eligiendo una configuracioacutencontrolada lineal o todo a la vez Para obtener maacutesinformacioacuten acerca de las implementaciones deAmazon ECS consulteImplementaciones en unaplataforma de computacioacuten Amazon ECS

AWS CloudTrail CodeDeploy se integra conAWS CloudTrail Esteservicio captura las llamadas a la API realizadaspor CodeDeploy en nombre de CodeDeployen su nombreAWSy entrega los archivos logal bucket de Amazon S3 que se especifiqueCloudTrail captura las llamadas al API de laconsola de CodeDeploy desde los comandosde CodeDeploy a traveacutes de laAWS CLIo desdelas API de CodeDeploy directamente Mediantela informacioacuten recopilada por CloudTrail puededeterminar

bull La solicitud que se realizoacute a CodeDeploybull La direccioacuten IP de origen desde la que se realizoacute

la solicitudbull Quieacuten ha realizado la solicitudbull Cuando se realizoacute

Maacutes informacioacuten

bull Monitoring Deployments (p 364)

Versioacuten de API 2014-10-0650

AWS CodeDeploy Guiacutea del usuarioIntegracioacuten con otros servicios de AWS

AWS Cloud9 AWS Cloud9 es un entorno de desarrollo integrado(IDE) online basado en la nube que puede utilizarpara escribir ejecutar depurar e implementarcoacutedigo y solo necesita un navegador que esteacuteinstalado en una maacutequina con conexioacuten a InternetAWS Cloud9 cuenta con un editor de coacutedigo undepurador un terminal y herramientas esencialescomo AWS CLI y Git

bull Puede utilizar el IDE de AWS Cloud9 paraejecutar depurar y crear coacutedigo que esteacute enun repositorio de GitHub Puede ver modificary guardar el coacutedigo utilizando la ventanaEnvironment (Entorno) de su IDE y las pestantildeasdel editor Cuando haya terminado puedeutilizar Git en la sesioacuten de terminal de AWSCloud9 para insertar cambios en el coacutedigo ensu repositorio de GitHub y a continuacioacutenutilizar AWS CodeDeploy para implementar susactualizaciones Para obtener maacutes informacioacutenacerca del uso deAWS Cloud9con GitHubconsultaEjemplo de GitHub paraAWS Cloud9

bull Puede utilizar el IDE de AWS Cloud9 paraactualizar una funcioacuten de AWS Lambda Acontinuacioacuten puede utilizar AWS CodeDeploypara crear una implementacioacuten que desplacetraacutefico a la nueva versioacuten de su funcioacuten AWSLambda Para obtener maacutes informacioacutenconsulteUso deAWS Lambdafunciones delAWSCloud9Entorno de desarrollo integrado (IDE)

Para obtener maacutes informacioacuten acerca deAWSCloud9 consulteQueacute esAWS Cloud9yIntroduccioacutenalAWS Cloud9

Versioacuten de API 2014-10-0651

AWS CodeDeploy Guiacutea del usuarioIntegracioacuten con otros servicios de AWS

AWS CodePipeline AWS CodePipeline es un servicio de entregacontinua que permite modelar visualizar yautomatizar los pasos necesarios para lanzarsoftware en un proceso de entrega continua AWSCodePipeline le permite definir su propio procesode lanzamiento para que el servicio compilepruebe e implemente el coacutedigo cada vez quecambie Por ejemplo puede tener tres gruposde implementaciones para una aplicacioacuten BetaGamma y Prod Puede configurar una canalizacioacutenpara que cada vez que ocurra un cambio en elcoacutedigo fuente las actualizaciones se implementenen cada uno de los grupos

Puede configurarAWS CodePipelinepara utilizarCodeDeploy para desplegar

bull Coacutedigo en instancias Amazon EC2 instanciason-premises o ambas

bull Sin servidorAWSVersiones de la funcioacutenLambda

Puede crear la aplicacioacuten de CodeDeploy el grupode implementaciones para usarlo en una etapa dela accioacuten de implementacioacuten ya sea antes de crearla canalizacioacuten o en laCrear canalizacioacutenasistente

Maacutes informacioacuten

bull AWSpara DevOps informacioacuten acerca decoacutemo utilizar CodePipeline con CodeDeploypara entregar e implementar coacutedigo fuente derepositorios CodeCommit a instancias AmazonEC2 de forma continua

bull Tutorial de canalizacioacuten simple (Amazon S3Bucket)

bull Tutorial simple de canalizacioacuten (repositorioCodeCommit)

bull Tutorial de canalizacioacuten de cuatro etapas

AWSModelo de aplicacioacuten sin servidor de AWSModelo de aplicacioacuten sin servidor (AWSSAM)es un modelo para definir aplicaciones sin servidorSe extiendeAWS CloudFormationpara proporcionaruna forma simplificada de definirAWS LambdaAPI de Amazon API Gateway y tablas de AmazonDynamoDB necesarias para una aplicacioacutensin servidor Si ya usaAWSSAM puede antildeadirpreferencias de implementacioacuten para empezar autilizar CodeDeploy administrar la forma en que sedesviacutea el traacutefico durante unAWSImplementacioacuten deaplicaciones Lambda

Para obtener maacutes informacioacuten consultelaAWSModelo de aplicacioacuten sin servidor de

Versioacuten de API 2014-10-0652

AWS CodeDeploy Guiacutea del usuarioAmazon EC2 Auto Scaling

Elastic Load Balancing Soporta CodeDeployElastic Load Balancingun servicio que distribuye el traacutefico entrante deaplicaciones entre varias instancias Amazon EC2

Para las implementaciones de CodeDeploy losbalanceadores de carga impiden que el traacutefico deInternet se enrute a instancias cuando estas noesteacuten listas se estaacuten implementando objetos enellas o estas ya no se necesitan como parte de unentorno

Maacutes informacioacuten

bull Integrating CodeDeploy with Elastic LoadBalancing (p 57)

Temasbull Integracioacuten de CodeDeploy con Amazon EC2 Auto Scaling (p 53)bull Integracioacuten de CodeDeploy con Elastic Load Balancing (p 57)

Integracioacuten de CodeDeploy con Amazon EC2 AutoScalingCodeDeploy es compatible con Amazon EC2 Auto Scaling unAWSservicio que lanza automaacuteticamenteinstancias de Amazon EC2 de acuerdo con las condiciones que defina Estas condiciones pueden incluirque se supere un liacutemite de tiempo especiacutefico para el uso de la CPU que se lea o escriba el disco o eltraacutefico de red entrante y saliente Amazon EC2 Auto Scaling termina las instancias cuando dejan de sernecesarias Para obtener maacutes informacioacuten consulteiquestQueacute es Amazon EC2 Auto Scalingen laGuiacutea delusuario de Amazon EC2 Auto Scaling

Cuando se lanzan nuevas instancias Amazon EC2 como parte de un grupo de Amazon EC2 Auto ScalingCodeDeploy puede implementar automaacuteticamente las revisiones en las nuevas instancias Tambieacuten puedecoordinar las implementaciones en CodeDeploy con instancias de Amazon EC2 Auto Scaling registradascon balanceadores de carga de Elastic Load Balancing Para obtener maacutes informacioacuten consulte IntegratingCodeDeploy with Elastic Load Balancing (p 57) y Configurar un equilibrador de carga en Elastic LoadBalancing para implementaciones de CodeDeploy Amazon EC2 (p 295)

Note

Es posible que surjan problemas si asocia varios grupos de implementaciones con un uacutenico grupode Amazon EC2 Auto Scaling Por ejemplo si falla una implementacioacuten la instancia comenzaraacutea cerrarse pero el resto de las implementaciones en ejecucioacuten puede que tarden una hora enagotar el tiempo de espera Para obtener maacutes informacioacuten consulteEvite asociar varios gruposde implementaciones a un uacutenico grupo de Amazon EC2 Auto Scaling (p 478)yEntre bastidoresIntegracioacuten de CodeDeploy y Amazon EC2 Auto Scaling

Temasbull Implementacioacuten de aplicaciones CodeDeploy en grupos de Amazon EC2 Auto Scaling (p 54)bull Coacutemo funciona Amazon EC2 Auto Scaling con CodeDeploy (p 54)bull Uso de una AMI personalizada con CodeDeploy y Amazon EC2 Auto Scaling (p 57)

Versioacuten de API 2014-10-0653

AWS CodeDeploy Guiacutea del usuarioAmazon EC2 Auto Scaling

Implementacioacuten de aplicaciones CodeDeploy en grupos deAmazon EC2 Auto ScalingPara implementar una revisioacuten de la aplicacioacuten CodeDeploy en un grupo de Amazon EC2 Auto Scaling

1 Cree o localice un perfil de instancia de IAM que permita al grupo de Amazon EC2 Auto Scalingtrabajar con Amazon S3 Para obtener maacutes informacioacuten consulte Paso 4 Crear un perfil de instanciasde IAM para sus instancias Amazon EC2 (p 43)

Note

Tambieacuten puede usar CodeDeploy para implementar revisiones desde repositorios de GitHuben grupos de Amazon EC2 Auto Scaling Aunque las instancias de Amazon EC2 auacutennecesitaraacuten un perfil de instancia de IAM el perfil no requiere permisos adicionales paraimplementar desde un repositorio de GitHub

2 Cree o utilice un grupo de Amazon EC2 Auto Scaling especificando el perfil de instancia de IAM ensu configuracioacuten o plantilla de lanzamiento Para obtener maacutes informacioacuten consulteRol de IAM paraaplicaciones que se ejecuten en instancias de Amazon EC2

3 Cree o localice un rol de servicio que permita a CodeDeploy crear un grupo de implementaciones quecontiene el grupo de Amazon EC2 Auto Scaling

4 Cree un grupo de implementaciones mediante CodeDeploy especificando el rol de servicio y elnombre de grupo de Amazon EC2 Auto Scaling

5 Utilice CodeDeploy para implementar su revisioacuten en el grupo de implementaciones que contiene elgrupo de Amazon EC2 Auto Scaling

Para obtener maacutes informacioacuten consulte Tutorial UsarCodeDeploypara implementar una aplicacioacuten en ungrupo de Auto Scaling (p 110)

Coacutemo funciona Amazon EC2 Auto Scaling con CodeDeployPara que CodeDeploy implemente la revisioacuten de la aplicacioacuten en nuevas instancias de EC2 durante unevento de escalado horizontal de Auto Scaling CodeDeploy utiliza un gancho del ciclo de vida de AutoScaling El gancho del ciclo de vida notifica a CodeDeploy que hay un evento de escalabilidad horizontalde Auto Scaling en curso y que CodeDeploy debe implementar una revisioacuten de las instancias escaladas

Note

En esta seccioacuten los teacuterminos laquogancho del ciclo de vidaraquo y laquoganchoraquo hacen referencia al ganchoutilizado para integrar CodeDeploy con Auto Scaling Este gancho es diferente de los ganchosdescritos en elSeccioacuten hooks de AppSpec (p 422)

Temasbull iquestCoacutemo se crea e instala el gancho del ciclo de vida (p 54)bull Despueacutes de que CodeDeploy agregue el gancho del ciclo de vida iquestcoacutemo se utiliza (p 55)bull Coacutemo nombra CodeDeploy a los grupos de Amazon EC2 Auto Scaling (p 55)bull Orden de ejecucioacuten de eventos de enlace de ciclo de vida personalizados (p 55)bull Eventos de escalado horizontal durante una implementacioacuten (p 56)bull Orden de eventos enAWS CloudFormationscripts cfn-init (p 56)

iquestCoacutemo se crea e instala el gancho del ciclo de vidaAl crear o actualizar un grupo de implementacioacuten para incluir un grupo de Auto Scaling CodeDeployaccede al grupo Auto Scaling mediante el rol de servicio CodeDeploy y a continuacioacuten instala un ganchode ciclo de vida en el grupo Auto Scaling

Versioacuten de API 2014-10-0654

AWS CodeDeploy Guiacutea del usuarioAmazon EC2 Auto Scaling

Despueacutes de que CodeDeploy agregue el gancho del ciclo de vida iquestcoacutemo seutilizaUna vez instalado el gancho del ciclo de vida se utiliza durante los eventos de escalado horizontal Unevento de escalado horizontal se desarrolla de la siguiente manera

1 El servicio Auto Scaling (o simplemente Auto Scaling) determina que debe producirse un evento deescalado horizontal y se pone en contacto con el servicio EC2 para lanzar una nueva instancia de EC2

2 El servicio EC2 lanza una nueva instancia EC2 La instancia se traslada alPendingestado y luego enelPendingWaitestado

3 DurantePendingWait Auto Scaling ejecuta todos los ganchos del ciclo de vida asociados al grupoAuto Scaling incluido el gancho del ciclo de vida creado por CodeDeploy

4 El gancho del ciclo de vida enviacutea una notificacioacuten alCola de Amazon SQSque CodeDeploy sondea5 Tras recibir la notificacioacuten CodeDeploy analiza el mensaje realiza cierta validacioacuten y comienza a

implementar la aplicacioacuten en la nueva instancia de EC2 utilizando la uacuteltima revisioacuten correcta6 Mientras se ejecuta la implementacioacuten CodeDeploy enviacutea latidos cada cinco minutos a Auto Scaling

para informarle de que la instancia se sigue trabajando7 Hasta el momento la instancia EC2 sigue en elPendingWaitestado8 Cuando se completa la implementacioacuten CodeDeploy indica que Auto Scaling

seaCONTINUEoABANDONel proceso de lanzamiento de EC2 en funcioacuten de si la implementacioacuten se harealizado correctamente o nobull Si CodeDeploy indicaCONTINUE Auto Scaling continuacutea el proceso de lanzamiento ya sea

esperando a que se completen otros hooks o colocando la instancia en elPendingProceedy luegoelInServiceestado

bull Si CodeDeploy indicaABANDON Auto Scaling finaliza la instancia EC2 y reinicia el procedimiento delanzamiento si es necesario para cumplir el nuacutemero deseado de instancias tal como se define enAuto ScalingCapacidad deseadaconfiguracioacuten

Coacutemo nombra CodeDeploy a los grupos de Amazon EC2 Auto Scaling

Durante las implementaciones azulgreen en una plataforma informaacutetica local EC2 tiene dos opciones paraantildeadir instancias a su entorno de sustitucioacuten (verde)

bull Utilice instancias que ya existan o que cree manualmentebull Utilice la configuracioacuten de un grupo de Amazon EC2 Auto Scaling que especifique para definir y crear

instancias en un nuevo grupo de Amazon EC2 Auto Scaling

Si elige la segunda opcioacuten CodeDeploy aprovisiona por usted un nuevo grupo de Amazon EC2 AutoScaling Utiliza la siguiente convencioacuten para el nombre del grupo

CodeDeploy_deployment_group_name_deployment_id

Por ejemplo si una implementacioacuten con ID10implementa un grupo de implementacioacutendenominadoalpha-deployments el grupo de Amazon EC2 Auto Scaling aprovisionado sedenominaCodeDeploy_alpha-deployments_10 Para obtener maacutes informacioacuten consulte Crear ungrupo de implementaciones para una implementacioacuten EC2On-Premises bluegreen (consola) (p 291) yGreenFleetProvisioningOption

Orden de ejecucioacuten de eventos de enlace de ciclo de vida personalizadosPuede antildeadir sus propios enlaces de ciclo de vida a los grupos de Amazon EC2 Auto Scaling en losque implementa CodeDeploy Sin embargo el orden en que se ejecutan estos eventos de enlace deciclo de vida personalizados no se puede predeterminar en relacioacuten con los eventos de ciclo de vida de

Versioacuten de API 2014-10-0655

AWS CodeDeploy Guiacutea del usuarioAmazon EC2 Auto Scaling

implementacioacuten predeterminados de CodeDeploy Por ejemplo si agrega un gancho de ciclo de vidapersonalizado denominadoReadyForSoftwareInstalla un grupo de Amazon EC2 Auto Scaling nopuede saber de antemano si se ejecutaraacute antes del primer o despueacutes del uacuteltimo evento de ciclo de vidade implementacioacuten predeterminado de CodeDeploy

Para obtener informacioacuten sobre coacutemo antildeadir enlaces de ciclo de vida personalizados a un grupo deAmazon EC2 Auto Scaling consulteAdicioacuten de enlaces de ciclo de vidaen laGuiacutea del usuario de AmazonEC2 Auto Scaling

Eventos de escalado horizontal durante una implementacioacutenSi se produce un evento de escalado horizontal de Amazon EC2 Auto Scaling mientras estaacute en cursouna implementacioacuten las nuevas instancias se actualizaraacuten con la uacuteltima revisioacuten de la aplicacioacutenimplementada no con la revisioacuten de la aplicacioacuten que estaacute implementando actualmente Si laimplementacioacuten se realiza correctamente las instancias antiguas y las instancias recieacuten escaladas alojaraacutenrevisiones de la aplicacioacuten diferentes Para actualizar esas instancias CodeDeploy inicia automaacuteticamenteuna implementacioacuten de seguimiento (inmediatamente despueacutes de la primera) para actualizar cualquierinstancia obsoleta Si desea cambiar este comportamiento predeterminado para que las instancias EC2desactualizadas queden en la revisioacuten anterior consulteAutomatic updates to outdated instances

Si desea suspender los procesos de escalado horizontal de Amazon EC2 Auto Scaling mientrasse estaacuten llevando a cabo las implementaciones puede hacerlo mediante un paraacutemetro enelcommon_functionsshscript que se utiliza para equilibrar la carga con CodeDeploySiHANDLE_PROCS=true los siguientes eventos de Auto Scaling se suspenden automaacuteticamente duranteel proceso de implementacioacuten

bull AZRebalancebull AlarmNotificationbull ScheduledActionsbull ReplaceUnhealthy

Important

Solo la configuracioacuten de implementacioacuten CodeDeployDefaultOneATime es compatible con estafuncionalidad

Para obtener maacutes informacioacuten acerca del uso deHANDLE_PROCS=truepara evitar problemas deimplementacioacuten cuando se utiliza Amazon EC2 Auto Scaling consulteAviso importante sobre el manejo delos procesos AutoScalingenmuestras de aws-codedeploy-en GitHub

Orden de eventos enAWS CloudFormationscripts cfn-initSi utiliza cfn-init (o cloud-init) para ejecutar scripts en instancias basadas en Linux recieacutenaprovisionadas las implementaciones podriacutean fallar a menos que controle estrictamente el orden de loseventos que se producen despueacutes que se inicia la instancia

Ese orden debe ser

1 Se inicia la instancia recieacuten aprovisionada2 Se ejecutan todos los scripts de proceso de arranque cfn-init hasta su finalizacioacuten3 Se inicia el agente de CodeDeploy4 Se implementa la uacuteltima revisioacuten de la aplicacioacuten en la instancia

Si no se controla cuidadosamente el orden de los eventos el agente de CodeDeploy podriacutea comenzar unaimplementacioacuten antes de que termine la ejecucioacuten de todos los scripts

Para controlar el orden de los eventos utilice una de estas praacutecticas recomendadas

Versioacuten de API 2014-10-0656

AWS CodeDeploy Guiacutea del usuarioElastic Load Balancing

bull Instale el agente de CodeDeploy a traveacutes de uncfn-initscript colocaacutendolo despueacutes de todos losdemaacutes scripts

bull Incluya el agente de CodeDeploy en una AMI personalizada y utilice uncfn-initscript para iniciarlocolocaacutendolo despueacutes de todos los demaacutes scripts

Para obtener informacioacuten acerca del uso decfn-init consultecfn-initen laAWS CloudFormationGuiacutea delusuario de

Uso de una AMI personalizada con CodeDeploy y Amazon EC2Auto ScalingDispone de dos opciones para especificar la AMI base que se debe usar cuando se lancen nuevasinstancias Amazon EC2 en un grupo de Amazon EC2 Auto Scaling

bull Puede especificar una AMI personalizada base que ya tenga instalado el agente CodeDeploy Dado queel agente ya estaacute instalado esta opcioacuten lanza las nuevas instancias Amazon EC2 con mayor rapidez quela otra opcioacuten Sin embargo esta opcioacuten tiene mayor probabilidad de que fallen las implementacionesiniciales de instancias Amazon EC2 sobre todo si el agente de CodeDeploy estaacute obsoleto Si elige estaopcioacuten recomendamos que actualice el agente CodeDeploy con regularidad en su AMI personalizadabase

bull Puede especificar una AMI base que no tenga instalado el agente CodeDeploy e instalar dicho agentecuando se lance cada nueva instancia en un grupo de Amazon EC2 Auto Scaling Aunque esta opcioacutenlanza las nuevas instancias Amazon EC2 con mayor lentitud que la otra opcioacuten tiene mayor probabilidadde que las implementaciones iniciales de las instancias sean correctas Esta opcioacuten utiliza la versioacuten maacutesreciente del CodeDeploy de

Integracioacuten de CodeDeploy con Elastic LoadBalancingDurante las implementaciones de CodeDeploy un balanceador de carga impide que el traacutefico de Internetse enrute a instancias cuando estas no esteacuten listas se estaacuten implementando objetos en ellas o estas yano se necesitan como parte de un entorno Sin embargo el rol exacto que desempentildea el balanceador decarga depende de si se utiliza en una implementacioacuten bluegreen (azulverde) o una implementacioacuten insitu

Note

El uso de balanceadores de carga de Elastic Load Balancing es obligatorio en implementacionesbluegreen y opcional in situ

Tipos de Elastic Load BalancingElastic Load Balancing ofrece tres tipos de balanceadores de carga que se pueden utilizar en lasimplementaciones de CodeDeploy Balanceadores de carga claacutesicos Application Load Balancers yNetwork Load Balancers

Classic Load Balancer

Las rutas y los balanceadores de carga en la capa de transporte (TCPSSL) o la capa de aplicacioacuten(HTTPHTTPS) Admite EC2-Classic o una VPC

Application Load Balancer

Las rutas y los balanceadores de carga en la capa de la aplicacioacuten (HTTPHTTPS) y admite elenrutamiento basado en rutas Puede dirigir las solicitudes a puertos de cada instancia EC2 oinstancia de contenedor de su nube privada virtual (VPC)

Versioacuten de API 2014-10-0657

AWS CodeDeploy Guiacutea del usuarioElastic Load Balancing

Note

Los grupos de destino de Application Load Balancer de deben tener el tipo de destinodeinstancepara implementaciones en instancias EC2 yIPpara implementaciones deFargate Para obtener maacutes informacioacuten consulteTarget type (Tipo de objetivo)

Network Load Balancer

Rutea y balancea la carga en la capa de transporte (capa 4 de TCPUDP) basaacutendose en lainformacioacuten de las direcciones que extrae del encabezado del paquete TCP y no de su contenido Losbalanceadores de carga de red pueden atender raacutefagas de traacutefico conservar la IP de origen del clientey utilizar una IP fija mientras dura la vida uacutetil del balanceador de carga

Para obtener maacutes informacioacuten sobre los balanceadores de carga de Elastic Load Balancing consulte lostemas siguientes

bull iquestQueacute es Elastic Load Balancingbull iquestQueacute es un balanceador de carga claacutesicobull Queacute es un balanceador de carga de aplicacionesbull iquestQueacute es un balanceador de carga de red

Implementaciones bluegreen (azulverde)El reenrutamiento del traacutefico de instancias detraacutes de un balanceador de carga de Elastic Load Balancing esfundamental para las implementaciones bluegreen de CodeDeploy

Durante una implementacioacuten bluegreen (azulverde) el balanceador de carga permite dirigir el traacutefico alas nuevas instancias de un grupo de implementaciones en el que se haya implementado la uacuteltima revisioacutende la aplicacioacuten (el entorno de sustitucioacuten) de acuerdo con las reglas que especifique y a continuacioacutenbloquear el traacutefico de las instancias antiguas en las que se ejecutaba la revisioacuten de la aplicacioacuten previa(entorno original)

Una vez que las instancias de un entorno de sustitucioacuten se hayan registrado en un balanceador de cargase cancela el registro de las instancias del entorno original y si asiacute lo decide se terminan las instancias

Para una implementacioacuten azulverde puede especificar un Classic Load Balancer un Application LoadBalancer o un Network Load Balancer en el grupo de implementacioacuten Puede utilizar la consola deCodeDeploy oAWS CLIpara antildeadir el balanceador de carga a un grupo de implementaciones

Para obtener maacutes informacioacuten sobre los equilibradores de carga en las implementaciones bluegreen (azulverde) consulte los siguientes temas

bull Configurar un equilibrador de carga en Elastic Load Balancing para implementaciones de CodeDeployAmazon EC2 (p 295)

bull Cree una aplicacioacuten para una implementacioacuten bluegreen (consola) (p 276)bull Crear un grupo de implementaciones para una implementacioacuten EC2On-Premises bluegreen

(consola) (p 291)

Implementaciones in situDurante una implementacioacuten local el balanceador de carga impide que el traacutefico de Internet se dirija a lainstancia en la estaacute ocurriendo y la vuelve a poner a disposicioacuten una vez finalizada dicha implementacioacuten

Si no se utiliza un balanceador de carga durante una implementacioacuten local es posible que el traacutefico deInternet auacuten se dirija a una instancia durante el proceso de implementacioacuten Como resultado los clientes

Versioacuten de API 2014-10-0658

AWS CodeDeploy Guiacutea del usuarioElastic Load Balancing

podriacutean encontrarse con aplicaciones web dantildeadas incompletas o anticuadas Al utilizar un balanceadorde carga de Elastic Load Balancing con una implementacioacuten in situ se anula el registro de las instanciasde un grupo de implementaciones de un balanceador de carga estas se actualizan con la uacuteltima revisioacutende la aplicacioacuten y luego se vuelven a registrar en el balanceador de carga como parte del mismo grupo deimplementaciones despueacutes de que se realice la implementacioacuten exitoso CodeDeploy esperaraacute hasta 1hora para que la instancia se mantenga en buen estado detraacutes del equilibrador de carga Si el balanceadorde carga no marca la instancia como vaacutelida durante el periacuteodo de espera CodeDeploy pasa a la siguienteinstancia o falla la implementacioacuten seguacuten la configuracioacuten de la implementacioacuten

Para una implementacioacuten in situ puede especificar un Classic Load Balancer un Application LoadBalancer o un Network Load Balancer Puede especificar el balanceador de carga como parte de laconfiguracioacuten del grupo de implementaciones o utilizar un script proporcionado por CodeDeploy paraimplementar el balanceador de carga

Especificar el equilibrador de carga de implementacioacuten in situ mediante un grupode implementacioacutenPara antildeadir el balanceador de carga a un grupo de implementaciones se utiliza la consola de CodeDeployoAWS CLI Para obtener informacioacuten sobre coacutemo especificar un balanceador de carga en un grupo deimplementaciones para implementaciones in situ consulte los siguientes temas

bull Cree una aplicacioacuten para una implementacioacuten in situ (consola) (p 274)bull Crear un grupo de implementaciones para una implementacioacuten in situ (consola) (p 289)bull Configurar un equilibrador de carga en Elastic Load Balancing para implementaciones de CodeDeploy

Amazon EC2 (p 295)

Especificar el equilibrador de carga de implementacioacuten in situ mediante un script

Utilice los pasos que se indican en el siguiente procedimiento para usar scripts de ciclo de vida paraconfigurar el balanceo de carga para implementaciones locales

Note

Debe utilizar la configuracioacuten de la implementacioacuten CodeDeployDefaultOneAtATimesolo cuando se utiliza un script para configurar un balanceador de carga que se va ausar en una implementacioacuten in situ No se admiten las ejecuciones simultaacuteneas el ajusteCodeDeployDefaultOneAtATime garantiza la ejecucioacuten en serie de los scripts Para obtener maacutesinformacioacuten acerca de las configuraciones de implementacioacuten consulte Uso de configuracionesde implementacioacuten en CodeDeploy (p 264)

En el repositorio de ejemplos de CodeDeploy en GitHub proporcionamos instruccionesy ejemplos que puede adaptar para usar los balanceadores de carga de CodeDeployElastic Load Balancing de CodeDeploy Estos repositorios incluyen tres scripts deejemploregister_with_elbshderegister_from_elbsh ycommon_functionsshqueproporcionan todo el coacutedigo que necesita para empezar Solo tiene que editar los marcadores de posicioacutende estos tres scripts y despueacutes hacer referencia a estos scripts en el archivo appspecyml

Para configurar implementaciones in situ en CodeDeploy con instancias Amazon EC2 registradas conbalanceadores de carga de Elastic Load Balancing proceda del modo siguiente

1 Descargue los ejemplos del tipo de balanceador de carga que desea utilizar para una implementacioacutenin situ

bull Classic Load Balancerbull Balanceador de carga de aplicacioneso Network Load Balancer(se puede utilizar el mismo script

para cualquiera de estos tipos)2 Aseguacuterese de que cada una de sus instancias Amazon EC2 de destino tenga elAWS CLIinstalado

Versioacuten de API 2014-10-0659

AWS CodeDeploy Guiacutea del usuarioIntegracioacuten a productos y servicios de socios

3 Aseguacuterese de que cada una de sus instancias Amazon EC2 de destino tenga un perfil de instancia deIAM asociado con los permisos elasticloadbalancing y autoscaling como miacutenimo

4 En el directorio de coacutedigo fuente de la aplicacioacuten incluya los scripts de evento de ciclode vida de implementacioacuten (register_with_elbsh deregister_from_elbsh ycommon_functionssh)

5 En el navegadorappspecymlpara la revisioacuten de la aplicacioacuten proporcione instruccionespara que CodeDeploy ejecute elregister_with_elbshguioacuten durante elApplicationStartyelderegister_from_elbshguioacuten durante elApplicationStopevent

6 Si la instancia forma parte de un grupo de Amazon EC2 Auto Scaling puede omitir este paso

En el script common_functionssh

bull Si utiliza elClassic Load Balancer especifique los nombres de los balanceadores de carga de ElasticLoad Balancing enELB_LIST=y realice los cambios que necesite en el resto de la configuracioacutende la implementacioacuten en el archivo

bull Si utiliza elBalanceador de carga de aplicacioneso Network Load Balancer especifique los nombresde grupos de destino de Elastic Load Balancing enTARGET_GROUP_LIST=y realice los cambiosque necesite en el resto de la configuracioacuten de la implementacioacuten en el archivo

7 Empaquete el coacutedigo fuente de la aplicacioacuten el archivo appspecyml y los scripts de eventos deciclo de vida de la implementacioacuten en una revisioacuten de la aplicacioacuten y despueacutes cargue la revisioacutenImplemente la revisioacuten en las instancias Amazon EC2 Durante la implementacioacuten los scripts deeventos de ciclo de vida de la implementacioacuten cancelaraacuten el registro de la instancia Amazon EC2 conlos balanceadores de carga esperaraacuten a que se vaciacutee la conexioacuten y volveraacuten a registrar la instanciaAmazon EC2 con los balanceadores de carga una vez que se complete la implementacioacuten

Integracioacuten a productos y servicios de sociosCodeDeploy incluye capacidad de integracioacuten con los siguientes productos y servicios de socios

Ansible Si ya tiene un conjunto deAnsiblepero simplementenecesita un lugar donde ejecutarlo la plantilla deAnsible y CodeDeploy demuestra coacutemo un par desencillos enlaces de implementacioacuten aseguranque Ansible esteacute disponible en la instancia deimplementacioacuten local y ejecutan los PlaybooksSi ya dispone de un proceso de creacioacuten ymantenimiento de su inventario tambieacuten es posibleusar el moacutedulo de Ansible que hay disponible parainstalar y ejecutar el agente de CodeDeploy

Maacutes informacioacuten

bull Ansible y CodeDeploy

Atlassian mdash Bamboo and Bitbucket La tarea CodeDeploy paraBambuacutecomprime eldirectorio que contiene un archivo AppSpec enun archivo zip carga el archivo a Amazon S3 ydespueacutes comienza la implementacioacuten de acuerdocon la configuracioacuten proporcionada en la aplicacioacutenCodeDeploy

La compatibilidad de Atlassian Bitbucket conCodeDeploy permite enviar coacutedigo a instanciasAmazon EC2 directamente desde la interfaz

Versioacuten de API 2014-10-0660

AWS CodeDeploy Guiacutea del usuarioIntegracioacuten a productos y servicios de socios

de usuario de Bitbucket a cualquiera de losgrupos de implementaciones bajo demanda Estosignifica que despueacutes de actualizar coacutedigo en elrepositorio Bitbucket no necesita iniciar sesioacutenen la plataforma de integracioacuten continua (CI) o eninstancias Amazon EC2 para ejecutar un procesode implementacioacuten manual

Maacutes informacioacuten

bull Uso de la tarea CodeDeploy para Bamboobull Announcing Atlassian Bitbucket Support for

CodeDeploy

Chef AWSproporciona dos plantillas de ejemplo paraintegrarChefy CodeDeploy La primera es un librode recetas de Chef que instala e inicia el agentede CodeDeploy Esto permite seguir administrandola infraestructura de host con Chef al utilizarCodeDeploy La segunda plantilla muestra coacutemoutilizar CodeDeploy para organizar la ejecucioacuten delos libros de cocina y las recetas con chef-solo encada nodo

Maacutes informacioacuten

bull Chef and CodeDeploy

CircleCI CircleCI ofrece un conjunto de herramientasde prueba automatizada y de implementacioacutene integracioacuten continuas Despueacutes de crear unrol de IAM enAWSpara utilizar con CircleCI yconfigurar los paraacutemetros de implementacioacuten en elarchivo circleyml y a continuacioacuten utilice CircleCIcon CodeDeploy crear revisiones de aplicacioacutencargarlas en un bucket de Amazon S3 e iniciar ymonitorizar las implementaciones

Maacutes informacioacuten

bull Implementacioacuten continua con CodeDeploy

CloudBees Puede utilizar el complemento CodeDeployJenkins disponible enCloudBeesDEV cloudcomo accioacuten posterior a la compilacioacutenPor ejemplo puede utilizarlo al final de unacanalizacioacuten de entrega continua para implementaruna revisioacuten de aplicacioacuten en la flota de servidores

Maacutes informacioacuten

bull El complemento CodeDeploy Jenkins ya estaacutedisponible en DEV cloud

Versioacuten de API 2014-10-0661

AWS CodeDeploy Guiacutea del usuarioIntegracioacuten a productos y servicios de socios

Codeship Puede usarCodeshippara implementar revisionesde aplicacioacuten a traveacutes de CodeDeploy Tambieacutenpuede utilizar la interfaz de usuario de Codeshippara antildeadir CodeDeploy a una canalizacioacuten deimplementacioacuten de una ramificacioacuten

Maacutes informacioacuten

bull Implementacioacuten en CodeDeploybull Integracioacuten de CodeDeploy en CodeDeploy

GitHub Utilice CodeDeploy para implementar revisionesde la aplicacioacuten desdeGitHubrepositorios Tambieacutenpuede desencadenar una implementacioacuten de unrepositorio de GitHub cuando el coacutedigo fuente deese repositorio cambie

Maacutes informacioacuten

bull Integracioacuten de CodeDeploy conGitHub (p 63)

bull Tutorial Usa CodeDeploy para desplegar unaaplicacioacuten desde GitHub (p 127)

bull Despliegue automaacuteticamente desde GitHubutilizando CodeDeploy

HashiCorp Consul La herramienta de coacutedigo abierto HashiCorpConsul ayuda a garantizar la salud y estabilidaddel entorno de aplicacioacuten al implementaraplicaciones en CodeDeploy Utilice Consul pararegistrar las aplicaciones a descubrir durantela implementacioacuten cambiar las aplicaciones ylos nodos a modo de mantenimiento para quelas implementaciones los omitan y detener lasimplementaciones en caso de que las instancias dedestino no funcionen correctamente

Maacutes informacioacuten

bull Implementaciones de CodeDeploy conHashiCorp Consul

Jenkins CodeDeployJenkinsincluye un paso posterior ala compilacioacuten en proyectos de Jenkins Despueacutesde terminarse una compilacioacuten correctamentecomprime el espacio de trabajo carga en AmazonS3 e inicia una nueva implementacioacuten

Maacutes informacioacuten

bull Complemento Jenkins CodeDeploybull Configuracioacuten del complemento Jenkins para

CodeDeploy

Versioacuten de API 2014-10-0662

AWS CodeDeploy Guiacutea del usuarioGitHub

Puppet Labs AWSproporciona plantillas de ejemplo paraPuppetyCodeDeploy La primera es un moacutedulo Puppetque instala e inicia el agente de CodeDeploy Estopermite seguir administrando la infraestructurade host con Puppet al utilizar CodeDeployLa segunda plantilla muestra coacutemo utilizarCodeDeploy para organizar la ejecucioacuten demoacutedulos y manifiestos con un laquomasterless puppetraquoen cada nodo

Maacutes informacioacuten

bull Puppet and CodeDeploy

SaltStack Puede integrarSaltStackinfraestructura conCodeDeploy El moacutedulo CodeDeploy instala yejecuta el agente de CodeDeploy en los minionsTambieacuten puede usar CodeDeploy para organizar laejecucioacuten de los Salt States

Maacutes informacioacuten

bull SaltStack y CodeDeploy

TeamCity El complemento CodeDeploy Runner implementaaplicaciones directamente desde TeamCity Elcomplemento antildeade un paso de compilacioacuten deTeamCity que prepara y carga una revisioacuten deaplicacioacuten a un bucket de Amazon S3 registrala revisioacuten en una aplicacioacuten CodeDeploy silo prefiere espera a que la implementacioacuten setermine

Maacutes informacioacuten

bull CodeDeploy Runner (descarga)bull Complemento CodeDeploy Runner

(documentacioacuten)

Travis CI Puede configurarTravis CIpara activar unaimplementacioacuten en CodeDeploy despueacutes determinarse una compilacioacuten correctamente

Maacutes informacioacuten

bull Implementaciones de Travis CI y CodeDeploy

Temasbull Integracioacuten de CodeDeploy con GitHub (p 63)

Integracioacuten de CodeDeploy con GitHubCodeDeploy es compatibleGitHub un servicio de alojamiento y uso compartido de coacutedigo basado en webCodeDeploy puede implementar en instancias las revisiones de aplicaciones almacenadas en repositoriosGitHub o buckets de Amazon S3 CodeDeploy es compatible con GitHub solo para implementaciones deEC2On-Premises

Versioacuten de API 2014-10-0663

AWS CodeDeploy Guiacutea del usuarioGitHub

Temasbull Implementacioacuten de revisiones de CodeDeploy desde GitHub (p 64)bull Comportamientos de GitHub con CodeDeploy (p 64)

Implementacioacuten de revisiones de CodeDeploy desde GitHubPara implementar en instancias una revisioacuten de una aplicacioacuten desde un repositorio de GitHub

1 Cree una revisioacuten compatible con CodeDeploy y con el tipo de instancia Amazon EC2 en la que la va aimplementar

Para crear una revisioacuten compatible siga las instrucciones indicadas en Planear una revisioacuten paraCodeDeploy (p 307) y Agregar un archivo de especificacioacuten de aplicacioacuten a una revisioacuten deCodeDeploy (p 308)

2 Utilice una cuenta de GitHub para agregar la revisioacuten a un repositorio de GitHub

Para crear una cuenta de GitHub consulte Join GitHub Para crear un repositorio de GitHubconsulteCrear un repositorio

3 UsarCrear implementacioacutende la consola de CodeDeploy o de laAWS CLI create-deploymentparaimplementar la revisioacuten desde el repositorio de GitHub en las instancias de destino configuradas parasu uso en implementaciones de CodeDeploy

Si quieres llamar alcreate-deployment primero debe utilizar elCrear implementacioacutende la consolapara conceder a CodeDeploy permiso para interactuar con GitHub en nombre de la cuenta de GitHubque prefiera para la aplicacioacuten especificada Solamente es necesario hacerlo una vez para cadaaplicacioacuten

Para saber coacutemo usar la paacutegina Create deployment para implementar desde un repositorio de GitHubconsulte Cree una implementacioacuten con CodeDeploy (p 324)

Para saber coacutemo ejecutar el comando create-deployment para implementar desde un repositoriode GitHub consulte Crear una implementacioacuten de plataforma de computacioacuten EC2On-Premises(CLI) (p 335)

Para saber coacutemo preparar instancias para su uso en implementaciones de CodeDeployconsulteTrabajo con instancias para CodeDeploy (p 207)

Para obtener maacutes informacioacuten consulte Tutorial Usa CodeDeploy para desplegar una aplicacioacuten desdeGitHub (p 127)

Comportamientos de GitHub con CodeDeployTemas

bull Autenticacioacuten de GitHub con aplicaciones en CodeDeploy (p 64)bull Interaccioacuten de CodeDeploy con repositorios GitHub puacuteblicos y privados (p 66)bull Interaccioacuten de CodeDeploy con repositorios de GitHub administrados por la organizacioacuten (p 66)bull Implementacioacuten automaacutetica desde CodePipeline con CodeDeploy (p 66)

Autenticacioacuten de GitHub con aplicaciones en CodeDeploy

Una vez concedido a CodeDeploy permiso para interactuar con GitHub la asociacioacuten entre la cuenta deGitHub y la aplicacioacuten se almacena en CodeDeploy Es posible vincular la aplicacioacuten a otra cuenta deGitHub Tambieacuten se puede revocar el permiso para que CodeDeploy interactuacutee con GitHub

Versioacuten de API 2014-10-0664

AWS CodeDeploy Guiacutea del usuarioGitHub

Para vincular una cuenta de GitHub a una aplicacioacuten de CodeDeploy

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones3 Elija la aplicacioacuten que desea vincular a otra cuenta de GitHub4 Si la aplicacioacuten no tiene un grupo de implementaciones seleccioneCreacioacuten de un grupo de

implementacionespara crear uno Para obtener maacutes informacioacuten consulte Creacioacuten de un grupo deimplementaciones con CodeDeploy (p 288) Se requiere un grupo de implementaciones para elegirCreate deployment (Crear implementacioacuten) en el paso siguiente

5 En Deployments (Implementaciones) elija Create deployment (Crear implementacioacuten)

Note

No es necesario crear una nueva implementacioacuten Actualmente esta es la uacutenica forma devincular una cuenta de GitHub distinta a una aplicacioacuten

6 En Deployment settings (Configuracioacuten de implementacioacuten) para Revision type (Tipo de revisioacuten) elijaMy application is stored in GitHub (Mi aplicacioacuten estaacute almacenada en GitHub)

7 Realice alguna de las siguientes acciones

bull Para crear una conexioacuten entre aplicaciones de AWS CodeDeploy y una cuenta de GitHub cierrela sesioacuten de GitHub en otra pestantildea del navegador web En GitHub token name (Nombre detoken de GitHub) escriba el nombre para identificar esta conexioacuten y luego elija Connect to GitHub(Conectarse a GitHub) La paacutegina web le pediraacute que autorice a CodeDeploy para que interactuacutee conGitHub para la aplicacioacuten Continuacutee en el paso 10

bull Para utilizar una conexioacuten que haya creado previamente seleccione su nombre en GitHub tokenname (Nombre de token de GitHub) y a continuacioacuten elija Connect to GitHub (Conectarse aGitHub) Continuacutee en el paso 8

bull Para crear una conexioacuten con una cuenta de GitHub distinta cierre la sesioacuten de GitHub en otrapestantildea del navegador web En GitHub token name (Nombre de token de GitHub) escriba elnombre para identificar la conexioacuten y luego elija Connect to GitHub (Conectarse a GitHub) Lapaacutegina web le pediraacute que autorice a CodeDeploy para que interactuacutee con GitHub para la aplicacioacutenContinuacutee en el paso 10

8 Si todaviacutea no ha iniciado sesioacuten en GitHub siga las instrucciones de la paacutegina Sign in para iniciarsesioacuten con la cuenta de GitHub a la que desea enlazar la aplicacioacuten

9 Elija Authorize application GitHub asignaraacute a CodeDeploy permiso para interactuar en nombre de lacuenta con la que ha iniciado sesioacuten para la aplicacioacuten seleccionada

10 Si no desea crear una implementacioacuten elija Cancel

Para revocar el permiso para que CodeDeploy interactuacutee con GitHub

1 Inicie sesioacuten en GitHub utilizando las credenciales de la cuenta de GitHub cuyos permisos desearevocar a AWS CodeDeploy

2 Abra GitHubAplicacionespaacutegina localizarCodeDeployen la lista de aplicaciones autorizadas ydespueacutes siga el procedimiento de GitHub para revocar la autorizacioacuten para una aplicacioacuten

Versioacuten de API 2014-10-0665

AWS CodeDeploy Guiacutea del usuarioEjemplos de integracioacuten de la comunidad

Interaccioacuten de CodeDeploy con repositorios GitHub puacuteblicos y privadosCodeDeploy permite la implementacioacuten de aplicaciones desde repositorios GitHub puacuteblicos y privadosAl conceder a CodeDeploy permiso para acceder a GitHub en su nombre CodeDeploy tendraacute acceso delectura y escritura a todos los repositorios GitHub privados a los que su cuenta de GitHub tenga accesoSin embargo CodeDeploy solo lee en los repositorios GitHub No escribiraacute nada en ninguno de susrepositorios de GitHub privados

Interaccioacuten de CodeDeploy con repositorios de GitHub administrados por laorganizacioacutenDe forma predeterminada los repositorios GitHub administrados por una organizacioacuten (a diferencia de losrepositorios puacuteblicos o privados de su cuenta personal) no conceden acceso a aplicaciones de terceroscomo es el caso de CodeDeploy Si intenta implementar coacutedigo desde un repositorio de GitHub de unaorganizacioacuten y esta ha definido restricciones a las aplicaciones de terceros la operacioacuten fallaraacute Existendos maneras de resolver este problema

bull Como miembro de la organizacioacuten puede solicitar al responsable que apruebe el acceso a CodeDeployLos pasos para presentar esta solicitud dependen de si ya ha autorizado a CodeDeploy para su cuentaindividualbull Si ha autorizado el acceso de CodeDeploy en su cuenta consulteSolicitar la aprobacioacuten de la

organizacioacuten para sus solicitudes autorizadasbull Si auacuten no ha autorizado el acceso de CodeDeploy en su cuenta consulteSolicitud de la aprobacioacuten de

una organizacioacuten para aplicaciones de tercerosbull El responsable de la organizacioacuten puede deshabilitar todas las restricciones a las aplicaciones de

terceros Para obtener informacioacuten consulteDeshabilitar las restricciones de aplicaciones de terceros

Para obtener maacutes informacioacuten consulteSobre las restricciones de aplicaciones de terceros

Implementacioacuten automaacutetica desde CodePipeline con CodeDeployEs posible activar una implementacioacuten desde CodePipeline cada vez que cambie el coacutedigo fuente Paraobtener maacutes informacioacuten consulteCodePipeline

Ejemplos de integracioacuten de la comunidadEn las siguientes secciones se incluyen enlaces a entradas de blogs artiacuteculos y ejemplos proporcionadosen la comunidad

Note

Estos enlaces se ofrecen solo con fines informativos y no deben considerarse una lista completa ouna anotacioacuten del contenido de los ejemplos AWS no se hace responsable del contenido ni de laexactitud del contenido externo

Entradas de blogsbull Automatizacioacuten del aprovisionamiento de CodeDeploy enAWS CloudFormation

Aprenda a aprovisionar la implementacioacuten de una aplicacioacuten en CodeDeploy medianteAWSCloudFormation

Fecha de publicacioacuten enero de 2016bull AWS Toolkit for EclipseIntegracioacuten a CodeDeploy (primera parte)

Versioacuten de API 2014-10-0666

AWS CodeDeploy Guiacutea del usuarioEntradas de blogs

AWS Toolkit for EclipseIntegracioacuten a CodeDeploy (segunda parte)

AWS Toolkit for EclipseIntegracioacuten a CodeDeploy (tercera parte)

Descubra coacutemo los desarrolladores de Java pueden utilizar el complemento CodeDeploy para Eclipsepara implementar aplicaciones web enAWSdirectamente desde entornos de desarrollo de Eclipse

Fecha de publicacioacuten febrero de 2015bull Despliegue automaacuteticamente desde GitHub utilizando CodeDeploy

Aprenda a utilizar implementaciones automaacuteticas de GitHub para CodeDeploy para crear unacanalizacioacuten de extremo a extremo desde el control de origen a las pruebas o los entornos deproduccioacuten

Fecha de publicacioacuten diciembre de 2014

Versioacuten de API 2014-10-0667

AWS CodeDeploy Guiacutea del usuarioTutorial Implementacioacuten de WordPress

en una instancia sin Windows

Tutoriales CodeDeployEsta seccioacuten incluye algunos tutoriales que le ayudan a aprender a utilizar CodeDeploy

Los procedimientos de estos tutoriales proporcionan sugerencias sobre la ubicacioacuten en la que almacenarlos archivos (por ejemplo ctemp) y los nombres que asignar a los buckets subcarpetas o archivos (porejemplo codeDeploydemobucket HelloWorldApp y CodeDeployDemo-EC2-Trustjson respectivamente)pero no estaacuten obligados a utilizarlas Solo tiene que recordar sustituir sus nombres y ubicaciones dearchivos a medida que realiza los procedimientos

Temasbull Tutorial Implementar WordPress en una instancia de Amazon EC2 (Amazon Linux o Red Hat

Enterprise Linux y Linux macOS o Unix) (p 68)bull Tutorial Despliega un laquohola mundoraquo aplicacioacuten con CodeDeploy (Windows Server) (p 87)bull Tutorial Implementar una aplicacioacuten en una instancia local con CodeDeploy (Windows Server Ubuntu

Server o Red Hat Enterprise Linux) (p 103)bull Tutorial UsarCodeDeploypara implementar una aplicacioacuten en un grupo de Auto Scaling (p 110)bull Tutorial Usa CodeDeploy para desplegar una aplicacioacuten desde GitHub (p 127)bull Tutorial Implementar un servicio de Amazon ECS (p 139)bull Tutorial Implementacioacuten de un servicio Amazon ECS con una prueba de validacioacuten (p 147)bull Tutorial Implementar una funcioacuten Lambda actualizada con CodeDeploy y laAWSModelo de aplicacioacuten

sin servidor de (p 156)

Tutorial Implementar WordPress en una instanciade Amazon EC2 (Amazon Linux o Red HatEnterprise Linux y Linux macOS o Unix)

En este tutorial podraacute implementar WordPress una herramienta de blogs y sistema de gestioacuten decontenidos de coacutedigo abierto basado en PHP y MySQL en una uacutenica instancia Amazon EC2 con AmazonLinux o Red Hat Enterprise Linux (RHEL)

iquestNo es lo que estaacute buscando

bull Para practicar la implementacioacuten en una instancia Amazon EC2 que se ejecuta en Windows ServerconsulteTutorial Despliega un laquohola mundoraquo aplicacioacuten con CodeDeploy (Windows Server) (p 87)

bull Para practicar la implementacioacuten en una instancia on-premises en lugar de en una instancia AmazonEC2 consulteTutorial Implementar una aplicacioacuten en una instancia local con CodeDeploy (WindowsServer Ubuntu Server o Red Hat Enterprise Linux) (p 103)

Los pasos de este tutorial se presentan desde la perspectiva de un equipo de desarrollo local con LinuxmacOS o Unix Aunque puede completar la mayoriacutea de los pasos en un equipo local con Windows debeadaptar los pasos que utilizan comandos como chmod y wget las aplicaciones como sed y las rutas dedirectorio como tmp

Antes de empezar este tutorial debe completar los requisitos previos indicados en Introduccioacuten aCodeDeploy (p 35) Entre ellos se encuentran la configuracioacuten de su cuenta de usuario de IAM lainstalacioacuten o actualizacioacuten de laAWS CLIy crear un perfil de instancia de IAM y un rol de servicio de

Temas

Versioacuten de API 2014-10-0668

AWS CodeDeploy Guiacutea del usuarioPaso 1 Lance una instancia Amazon EC2

bull Paso 1 Lance y configure una instancia Amazon Linux o Red Hat Enterprise Linux AmazonEC2 (p 69)

bull Paso 2 Configurar el contenido de origen para implementarlo en la instancia Amazon Linux o Red HatEnterprise Linux Amazon EC2 (p 70)

bull Paso 3 Cargue su aplicacioacuten de WordPress en Amazon S3 (p 74)bull Paso 4 Implemente la aplicacioacuten de WordPress (p 77)bull Paso 5 Actualiza y vuelve a implementar tu aplicacioacuten WordPress (p 82)bull Paso 6 Limpia tu aplicacioacuten de WordPress y recursos relacionados (p 85)

Paso 1 Lance y configure una instancia Amazon Linuxo Red Hat Enterprise Linux Amazon EC2Para implementar la aplicacioacuten de WordPress con CodeDeploy necesitaraacute una instancia Amazon EC2 conAmazon Linux o Red Hat Enterprise Linux (RHEL) La instancia Amazon EC2 requiere una nueva regla deseguridad de entrada que permita las conexiones HTTP Esta regla es necesaria para poder ver la paacuteginade WordPress en un navegador una vez que se haya implementado

Siga las instrucciones en Creacioacuten de una instancia de Amazon EC2 para CodeDeploy (p 217) Al llegara las instrucciones sobre la asignacioacuten de una etiqueta de instancia Amazon EC2 a la instancia aseguacuteresede especificar la clave de etiquetaNamey el valor de etiqueta deCodeDeployDemo (Si especifica otra claveu otro valor de etiqueta las instrucciones de Paso 4 Implemente la aplicacioacuten de WordPress (p 77)pueden producir resultados inesperados)

Una vez completadas las instrucciones para lanzar la instancia Amazon EC2 vuelva a esta paacutegina ycontinuacutee con la seccioacuten siguiente No continuacutee enCrear una aplicacioacuten con CodeDeploy (p 273)comopaso siguiente

Connect con la instancia Amazon Linux o RHEL Amazon EC2Una vez lanzada la nueva instancia Amazon EC2 siga estas instrucciones para practicar la conexioacuten a lamisma

1 Usarsshcomando (o un emulador de terminal con la funcioacuten SSH comoPuTTY) para conectarsecon la instancia Amazon Linux o RHEL Amazon EC2 Necesitaraacute la direccioacuten DNS puacuteblica de lainstancia y la clave privada del key pair que utilizoacute al iniciar la instancia Amazon EC2 Para obtenermaacutes informacioacuten consulte Conectar con la instancia

Por ejemplo si la direccioacuten DNS puacuteblica esec2-01-234-567-890compute-1amazonawscomy el key pair de instancia Amazon EC2 para el acceso SSH se denominacodedeploydemopemdeberiacutea escribir

ssh -i pathtocodedeploydemopem ec2-userec2-01-234-567-890compute-1amazonawscom

Reemplazarpathtocodedeploydemopemcon el camino a supemy la direccioacuten DNS deejemplo con la direccioacuten de la instancia Amazon EC2 con Amazon Linux o RHEL

Note

Si aparece un mensaje de error indicando que los permisos del archivo de clave sondemasiado abiertos deberaacute restringirlos de modo que solo tenga acceso el usuario actual(usted) Por ejemplo con elchmoden Linux macOS o Unix escriba

chmod 400 pathtocodedeploydemopem

Versioacuten de API 2014-10-0669

AWS CodeDeploy Guiacutea del usuarioPaso 2 Configurar el contenido de origen

2 Una vez que haya iniciado sesioacuten veraacute el roacutetulo de AMI para la instancia Amazon EC2 Para AmazonLinux deberiacutea verse lo siguiente

__| __|_ ) _| ( Amazon Linux AMI ___|___|___|

3 Ahora ya puede cerrar la sesioacuten en la instancia Amazon EC2 en ejecucioacutenWarning

No interrumpa ni termine la instancia Amazon EC2 De lo contrario CodeDeploy no podraacuteimplementar en ella

Agregar una regla de entrada que permita el traacutefico HTTP a suinstancia de Amazon Linux o RHEL Amazon EC2El siguiente paso confirma que la instancia Amazon EC2 tiene un puerto HTTP abierto para que se puedaver la paacutegina de inicio de la aplicacioacuten de WordPress implementada en un navegador

1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2

2 ElegirInstanciasy a continuacioacuten elija su instancia3 En la paacuteginaDescripcioacutenpestantildea enGrupos de seguridad eligeVer reglas de entrada

Debe aparecer una lista de reglas en el grupo de seguridad como el siguiente

Security Groups associated with i-1234567890abcdef0 Ports Protocol Source launch-wizard-N 22 tcp 00000

4 UNDERGrupos de seguridad elija el grupo de seguridad para la instancia Amazon EC2 Podriacuteallamarselaunch-wizard-N La N del nombre es un nuacutemero asignado al grupo de seguridad cuandose creoacute la instancia

Elija la pestantildea Inbound (Reglas entrantes) Si el grupo de seguridad de la instancia estaacute configuradocorrectamente deberiacutea ver una regla con los siguientes valores

bull Type HTTPbull Protocolo TCPbull Rango de puertos 80bull Fuente 00000

5 Si no ve una regla con estos valores utilice los procedimientos descritos enAgregar reglas a un grupode seguridadpara antildeadirlos a una nueva regla de seguridad

Paso 2 Configurar el contenido de origen paraimplementarlo en la instancia Amazon Linux o Red HatEnterprise Linux Amazon EC2Ha llegado el momento de configurar el contenido de origen de su aplicacioacuten para tener algo queimplementar en la instancia

Versioacuten de API 2014-10-0670

AWS CodeDeploy Guiacutea del usuarioPaso 2 Configurar el contenido de origen

Temasbull Obtener el coacutedigo fuente (p 71)bull Crear scripts para ejecutar la aplicacioacuten (p 72)bull Agregar un archivo de especificacioacuten de la aplicacioacuten (p 73)

Obtener el coacutedigo fuenteEn este tutorial implementaraacute la plataforma de publicacioacuten de contenido WordPress desde su equipo dedesarrollo en la instancia Amazon EC2 de destino Para obtener el coacutedigo fuente de WordPress puedeutilizar llamadas a liacutenea de comandos integradas O bien si tiene instalado Git en su equipo de desarrollopuede utilizarlo en su lugar

Para estos pasos suponemos que ha descargado una copia del coacutedigo fuente de WordPress en eldirectorio tmp del equipo de desarrollo (Puede elegir cualquier directorio que desee pero no olvidesustituir la ubicacioacuten por tmp siempre que se especifique en estos pasos)

Elija una de las dos opciones siguientes para copiar los archivos de coacutedigo fuente de WordPress en elequipo de desarrollo La primera opcioacuten utiliza llamadas a liacutenea de comandos integradas La segundaopcioacuten utiliza Git

Temasbull Para obtener una copia del coacutedigo fuente de WordPress (llamadas a liacutenea de comandos

integradas) (p 71)bull Para obtener una copia del coacutedigo fuente de WordPress (Git) (p 72)

Para obtener una copia del coacutedigo fuente de WordPress (llamadas a liacutenea decomandos integradas)

1 Llame al comando wget para descargar una copia del coacutedigo fuente de WordPress como unarchivo zip en el directorio actual

wget httpsgithubcomWordPressWordPressarchivemasterzip

2 Ejecute los comandos unzip mkdir cp y rm para

bull Descomprimir el archivo zip master en el directorio (carpeta) tmpWordPress_Tempbull Copiar el contenido descomprimido en la carpeta de destino tmpWordPressbull Eliminar la carpeta temporal tmpWordPress_Temp y el archivo master

Ejecute los comandos de uno en uno

unzip master -d tmpWordPress_Temp

mkdir -p tmpWordPress

cp -paf tmpWordPress_TempWordPress-master tmpWordPress

rm -rf tmpWordPress_Temp

rm -f master

Versioacuten de API 2014-10-0671

AWS CodeDeploy Guiacutea del usuarioPaso 2 Configurar el contenido de origen

De este modo se queda con un conjunto de archivos de coacutedigo fuente de WordPress limpio en lacarpeta tmpWordPress

Para obtener una copia del coacutedigo fuente de WordPress (Git)

1 Descargue e instale Git en el equipo de desarrollo2 En la carpeta tmpWordPress ejecute el comando git init3 Ejecute el comando git clone para clonar el repositorio de WordPress puacuteblico creando su propia copia

de eacutel en la carpeta de destino tmpWordPress

git clone httpsgithubcomWordPressWordPressgit tmpWordPress

De este modo se queda con un conjunto de archivos de coacutedigo fuente de WordPress limpio en lacarpeta tmpWordPress

Crear scripts para ejecutar la aplicacioacutenA continuacioacuten cree una carpeta y scripts en el directorio CodeDeploy utiliza estos scripts para configurare implementar la revisioacuten de la aplicacioacuten en la instancia Amazon EC2 de destino Puede utilizar cualquiereditor de texto para crear los scripts

1 Cree un directorio de scripts en la copia del coacutedigo fuente de WordPress

mkdir -p tmpWordPressscripts

2 Cree un archivo install_dependenciessh en tmpWordPressscripts Antildeada las liacuteneassiguientes al archivo Este script install_dependenciessh instala Apache MySQL y PHPTambieacuten antildeade compatibilidad con MySQL a PHP

binbashsudo amazon-linux-extras install php74sudo yum install -y httpd mariadb-server php

3 Cree un archivo start_serversh en tmpWordPressscripts Antildeada las liacuteneas siguientes alarchivo Este script start_serversh inicia Apache y MySQL

binbashsystemctl start mariadbservicesystemctl start httpdservicesystemctl start php-fpmservice

4 Cree un archivo stop_serversh en tmpWordPressscripts Antildeada las liacuteneas siguientes alarchivo Este script stop_serversh detiene Apache y MySQL

binbashisExistApp=pgrep httpdif [[ -n $isExistApp ]] thensystemctl stop httpdservicefiisExistApp=pgrep mysqldif [[ -n $isExistApp ]] thensystemctl stop mariadbservice

Versioacuten de API 2014-10-0672

AWS CodeDeploy Guiacutea del usuarioPaso 2 Configurar el contenido de origen

fiisExistApp=pgrep php-fpmif [[ -n $isExistApp ]] thensystemctl stop php-fpmservice

fi

5 Cree un archivo create_test_dbsh en tmpWordPressscripts Antildeada las liacuteneas siguientesal archivo Este script create_test_dbsh utiliza MySQL para crear una base de datos test paraWordPress

binbashmysql -uroot ltltCREATE_TEST_DBCREATE DATABASE IF NOT EXISTS testCREATE_TEST_DB

6 Por uacuteltimo cree un script change_permissionssh en tmpWordPressscripts Esto se utilizapara cambiar los permisos de carpeta en Apache

Important

Este script ha actualizado los permisos de la carpeta tmpWordPress de modo quecualquiera pueda escribir en ella Esto es necesario para que WordPress pueda escribiren su base de datos durante Paso 5 Actualiza y vuelve a implementar tu aplicacioacutenWordPress (p 82) Una vez configurada la aplicacioacuten de WordPress ejecute el siguientecomando para actualizar los permisos con una configuracioacuten maacutes segura

chmod -R 755 varwwwhtmlWordPress

binbashchmod -R 777 varwwwhtmlWordPress

7 Conceda permisos ejecutables a todos los scripts En la liacutenea de comando escriba

chmod +x tmpWordPressscripts

Agregar un archivo de especificacioacuten de la aplicacioacutenA continuacioacuten agregue un archivo de especificacioacuten de la aplicacioacuten (archivo AppSpec) unYAMLarchivocon formato utilizado por CodeDeploy para

bull Asignar los archivos de origen de la revisioacuten de la aplicacioacuten a sus destinos en la instancia de AmazonEC2 de destino

bull Especificar permisos personalizados para los archivos implementadosbull Especifique los scripts a ejecutarse en la instancia de Amazon EC2 de destino durante la

implementacioacuten

El archivo AppSpec debe denominarseappspecyml Debe colocarse en el directorio raiacutez del coacutedigofuente de la aplicacioacuten En este tutorial el directorio raiacutez es tmpWordPress

Mediante su editor de texto cree un archivo denominado appspecyml Antildeada las liacuteneas siguientes alarchivo

Versioacuten de API 2014-10-0673

AWS CodeDeploy Guiacutea del usuarioPaso 3 Cargar la aplicacioacuten en Amazon S3

version 00os linuxfiles - source destination varwwwhtmlWordPresshooks BeforeInstall - location scriptsinstall_dependenciessh timeout 300 runas root AfterInstall - location scriptschange_permissionssh timeout 300 runas root ApplicationStart - location scriptsstart_serversh - location scriptscreate_test_dbsh timeout 300 runas root ApplicationStop - location scriptsstop_serversh timeout 300 runas root

CodeDeploy utiliza este archivo AppSpec para copiar todos los archivos en latmpWordPresscarpetade la maacutequina de desarrollo en elvarwwwhtmlWordPressen la instancia de Amazon EC2 dedestino Durante la implementacioacuten CodeDeploy ejecuta los scripts especificados comorootenlavarwwwhtmlWordPressscriptscarpeta en la instancia de Amazon EC2 de destinocuando se producen los eventos especificados durante el ciclo de vida de la implementacioacuten porejemploBeforeInstallyAfterInstall Si cualquiera de estos scripts tarda maacutes de 300 segundos (5minutos) en ejecutarse CodeDeploy detiene la implementacioacuten y la marca como erroacutenea

Para obtener maacutes informacioacuten sobre la configuracioacuten consulte Referencia del archivo CodeDeployAppSpec (p 407)

Important

Las ubicaciones y el nuacutemero de espacios entre cada uno de los elementos de este archivo sonimportantes Si el espaciado es incorrecto CodeDeploy genera un error que puede resultar difiacutecilde depurar Para obtener maacutes informacioacuten consulte Espaciado de archivos AppSpec (p 440)

Paso 3 Cargue su aplicacioacuten de WordPress enAmazon S3Ahora prepararaacute y cargaraacute el contenido de origen en una ubicacioacuten desde la que CodeDeploy puedaimplementarla Las siguientes instrucciones explican coacutemo aprovisionar un bucket de Amazon S3preparar los archivos de la revisioacuten de la aplicacioacuten para el bucket agrupar los archivos de la revisioacuten y acontinuacioacuten enviar la revisioacuten al bucket

Note

Aunque no se trata en este tutorial puede utilizar CodeDeploy para implementar aplicacionesdesde repositorios de GitHub en instancias Para obtener maacutes informacioacuten consulte Integracioacutende CodeDeploy con GitHub (p 63)

Temasbull Aprovisionar un bucket de Amazon S3 (p 75)bull Preparar los archivos de la aplicacioacuten para el depoacutesito (p 76)

Versioacuten de API 2014-10-0674

AWS CodeDeploy Guiacutea del usuarioPaso 3 Cargar la aplicacioacuten en Amazon S3

bull Agrupe los archivos de la aplicacioacuten en un uacutenico archivo de archivo e inserte el archivo dearchivo (p 77)

Aprovisionar un bucket de Amazon S3Cree un contenedor de almacenamiento obaldeen Amazon S3 o utilice un bucket existente Aseguacuteresede que puede cargar la revisioacuten en el bucket y que las instancias de Amazon EC2 utilizadas en lasimplementaciones pueden descargar la revisioacuten del bucket

Puede utilizar elAWS CLI la consola de Amazon S3 o las API de Amazon S3 para crear un bucket deAmazon S3 Despueacutes de crear el bucket aseguacuterese de que concede permisos de acceso al bucket y a suusuario de IAM

Note

Los nombres de bucket deben ser uacutenicos en Amazon S3 para todosAWScuentas Si nopuede utilizar codedeploydemobucket pruebe otro nombre de bucket por ejemplocodedeploydemobucket seguido de un guion y sus iniciales o alguacuten otro identificador uacutenicoA continuacioacuten cuando aparezca codedeploydemobucket en este tutorial aseguacuterese desustituirlo por el nombre de su bucketEl bucket de Amazon S3 debe crearse en el mismoAWSregioacuten en la que se lanzan las instanciasde Amazon EC2 de destino Por ejemplo si crea el bucket en la regioacuten EE UU Este (Norte deVirginia) las instancias de Amazon EC2 de destino deben lanzarse en la regioacuten EE UU Este(Norte de Virginia)

Temasbull Para crear un bucket de Amazon S3 (CLI) (p 75)bull Para crear un bucket de Amazon S3 (consola) (p 75)bull Conceder permisos al bucket de Amazon S3 y a su usuario de IAM (p 75)

Para crear un bucket de Amazon S3 (CLI)Llame a lambpara crear un bucket de Amazon S3 denominadocodedeploydemobucket

aws s3 mb s3codedeploydemobucket

Para crear un bucket de Amazon S3 (consola)

1 Abra la consola de Amazon S3 en httpsconsoleawsamazoncoms32 En la consola de Amazon S3 elijacrear un bucket3 En el cuadro Bucket name (Nombre del bucket) escriba un nombre para el bucket4 En la lista Region (Regioacuten) elija la regioacuten de destino y a continuacioacuten seleccione Create (Crear)

Conceder permisos al bucket de Amazon S3 y a su usuario de IAMDebe tener permisos para cargar en el bucket de Amazon S3 Puede especificar estos permisos medianteuna poliacutetica de bucket de Amazon S3 Por ejemplo en la siguiente poliacutetica de bucket de Amazon S3 el usodel caraacutecter comodiacuten () permiteAWScuenta111122223333para cargar archivos en cualquier directorio delbucket de Amazon S3 denominadocodedeploydemobucket

Statement [ Action [

Versioacuten de API 2014-10-0675

AWS CodeDeploy Guiacutea del usuarioPaso 3 Cargar la aplicacioacuten en Amazon S3

s3PutObject ] Effect Allow Resource arnawss3codedeploydemobucket Principal AWS [ 111122223333 ] ]

Para ver losAWSID de la cuenta consulteBuacutesqueda de suAWSID de la cuenta de

Ahora es un buen momento para verificar que el bucket de Amazon S3 permitiraacute las solicitudes dedescarga de cada instancia de Amazon EC2 participante Puede especificarla mediante una poliacutetica debucket de Amazon S3 Por ejemplo en la siguiente poliacutetica de bucket de Amazon S3 el uso del caraacutectercomodiacuten () permite cualquier instancia de Amazon EC2 con un perfil de instancia de IAM adjunto quecontenga el ARNarnawsiam444455556666roleCodeDeployDemopara descargar archivosdesde cualquier directorio del bucket de Amazon S3 denominadocodedeploydemobucket

Statement [ Action [ s3Get s3List ] Effect Allow Resource arnawss3codedeploydemobucket Principal AWS [ arnawsiam444455556666roleCodeDeployDemo ] ]

Para obtener informacioacuten acerca de coacutemo generar y asociar una poliacutetica de bucket de Amazon S3consulteEjemplos de poliacutetica de bucket

Para obtener informacioacuten acerca de coacutemo crear y asociar una poliacutetica de IAM consulteTrabajo conpoliacuteticas

Preparar los archivos de la aplicacioacuten para el depoacutesitoAseguacuterese de que los archivos de la aplicacioacuten de WordPress el archivo AppSpec y los scripts esteacutenorganizados en el equipo de desarrollo de manera similar a la siguiente

tmp |--WordPress |-- appspecyml |-- scripts | |-- change_permissionssh | |-- create_test_dbsh | |-- install_dependenciessh | |-- start_serversh | |-- stop_serversh |-- wp-admin

Versioacuten de API 2014-10-0676

AWS CodeDeploy Guiacutea del usuarioPaso 4 Implementar la aplicacioacuten

| |-- (various files) |-- wp-content | |-- (various files) |-- wp-includes | |-- (various files) |-- indexphp |-- licensetxt |-- readmehtml |-- (various files ending with php)

Agrupe los archivos de la aplicacioacuten en un uacutenico archivo dearchivo e inserte el archivo de archivoAgrupe los archivos de la aplicacioacuten de WordPress y el archivo de AppSpec en un archivo dealmacenamiento (lo que se conoce como una aplicacioacuten)revisioacuten)

Note

Es posible que se cobre por almacenar objetos en un bucket y por transferir revisiones de laaplicacioacuten dentro y fuera de un bucket Para obtener maacutes informacioacuten consulte Precios deAmazon S3

1 En el equipo de desarrollo cambie a la carpeta en la que se almacenan los archivos

cd tmpWordPress

Note

Si no cambia a esta carpeta la agrupacioacuten del archivo comenzaraacute en su carpeta actualPor ejemplo si la carpeta actual es tmp en lugar de tmpWordPress la agrupacioacutencomenzaraacute con los archivos y subcarpetas de la carpeta tmp lo que puede incluir algo maacutesque la subcarpeta WordPress

2 Ejecute el comando create-application para registrar una aplicacioacuten nueva denominadaWordPress_App

aws deploy create-application --application-name WordPress_App

3 Llame a CodeDeploypushpara agrupar los archivos cargar las revisiones en Amazon S3 y registra enCodeDeploy sobre la revisioacuten cargada todo con una accioacuten

aws deploy push --application-name WordPress_App --s3-location s3codedeploydemobucketWordPressAppzip --ignore-hidden-files

Este comando agrupa los archivos del directorio actual (excepto los archivos ocultos) en unuacutenico archivo de almacenamiento denominadoWordPressAppzip carga la revisioacuten enelcodedeploydemobuckety registra informacioacuten con CodeDeploy sobre la revisioacuten cargada

Paso 4 Implemente la aplicacioacuten de WordPressAhora implementaraacute la revisioacuten de aplicacioacuten de WordPress de ejemplo que cargoacute en Amazon S3 Puedeutilizar elAWS CLIo la consola de CodeDeploy para implementar la revisioacuten y monitorizar el progreso dela implementacioacuten Una vez implementada correctamente la revisioacuten de la aplicacioacuten comprobaraacute losresultados

Versioacuten de API 2014-10-0677

AWS CodeDeploy Guiacutea del usuarioPaso 4 Implementar la aplicacioacuten

Temasbull Implemente la revisioacuten de la aplicacioacuten con CodeDeploy (p 78)bull Monitorizacioacuten y solucioacuten de problemas de la implementacioacuten (p 80)bull Verificacioacuten de la implementacioacuten (p 81)

Implemente la revisioacuten de la aplicacioacuten con CodeDeployUtilice la AWS CLI o la consola para implementar la revisioacuten de la aplicacioacuten

Temasbull Para implementar la revisioacuten de la aplicacioacuten (CLI) (p 78)bull Para implementar la revisioacuten de la aplicacioacuten (consola) (p 79)

Para implementar la revisioacuten de la aplicacioacuten (CLI)

1 La implementacioacuten necesita un grupo de implementaciones Sin embargo para crear el grupo deimplementaciones primero necesita un ARN de rol de servicio Un rol de servicio es un rol de IAM queconcede a un servicio permiso para actuar en su nombre En este caso el rol de servicio concede aCodeDeploy permiso de acceso a sus instancias de Amazon EC2 para ampliar (leer) sus etiquetas deinstancia de Amazon EC2

Ya debe haber seguido las instrucciones de Creacioacuten de un rol de servicio de (CLI) (p 39) para crearun rol de servicio Para obtener el ARN del rol de servicio consulte Obtenga el ARN del rol de servicio(CLI) (p 41)

2 Ahora que tiene el rol de servicio ARN llame alcreate-deployment-grouppara crear ungrupo de implementaciones denominadoWordPress_DepGroup asociado a la aplicacioacutendenominadaWordPress_App utilizando la etiqueta de Amazon EC2 denominadaCodeDeployDemoyconfiguracioacuten de implementacioacuten denominadaCodeDeployDefaultOneAtATime

aws deploy create-deployment-group --application-name WordPress_App --deployment-group-name WordPress_DepGroup --deployment-config-name CodeDeployDefaultOneAtATime --ec2-tag-filters Key=NameValue=CodeDeployDemoType=KEY_AND_VALUE --service-role-arn serviceRoleARN

Note

Lacreate-deployment-groupproporciona soporte para crear activadores que dan comoresultado el enviacuteo de notificaciones de Amazon SNS a los suscriptores de temas sobreeventos especiacuteficos en implementaciones e instancias El comando tambieacuten admite opcionespara revertir automaacuteticamente implementaciones y configurar alarmas para detener lasimplementaciones cuando se cumplen los umbrales de supervisioacuten en alarmas de AmazonCloudWatch Los comandos de estas acciones no se incluyen en este tutorial

3 Antes de crear una implementacioacuten las instancias del grupo de implementacioacuten deben tener instaladoel agente de CodeDeploy instalado Puede instalar el agente desde la liacutenea de comandos con AWSSystems Manager mediante el comando siguiente

aws ssm create-association --name AWS-ConfigureAWSPackage --targets Key=tagNameValues=CodeDeployDemo --parameters action=Installname=AWSCodeDeployAgent --schedule-expression cron(0 2 SUN )

Versioacuten de API 2014-10-0678

AWS CodeDeploy Guiacutea del usuarioPaso 4 Implementar la aplicacioacuten

Este comando crea una asociacioacuten en Systems Manager State Manager que instalaraacute el agentede CodeDeploy y despueacutes intentaraacute actualizarlo todos los domingos por la mantildeana a las 200Para obtener maacutes informacioacuten sobre el agente de CodeDeploy consulteTrabajar con el agente deCodeDeploy Para obtener maacutes informacioacuten acerca de Systems Manager consulteiquestQueacute es AWSSystems Manager

4 Ejecute ahora el comando create-deployment para crear una implementacioacuten asociada a la aplicacioacutenWordPress_App la configuracioacuten de implementacioacuten CodeDeployDefaultOneAtATimey el grupo de implementaciones WordPress_DepGroup utilizando la revisioacuten de la aplicacioacutenWordPressAppzip del bucket codedeploydemobucket

aws deploy create-deployment --application-name WordPress_App --deployment-config-name CodeDeployDefaultOneAtATime --deployment-group-name WordPress_DepGroup --s3-location bucket=codedeploydemobucketbundleType=zipkey=WordPressAppzip

Para implementar la revisioacuten de la aplicacioacuten (consola)

1 Antes de utilizar la consola de CodeDeploy para implementar la revisioacuten de la aplicacioacuten necesita unARN de rol de servicio ARN Un rol de servicio es un rol de IAM que concede a un servicio permisopara actuar en su nombre En este caso el rol de servicio concede a CodeDeploy permiso de accesoa sus instancias de Amazon EC2 para ampliar (leer) sus etiquetas de instancia de Amazon EC2

Ya debe haber seguido las instrucciones de Creacioacuten de un rol de servicio de (consola) (p 37) paracrear un rol de servicio Para obtener el ARN del rol de servicio consulte Obtenga el ARN del rol deservicio (consola) (p 40)

2 Ahora que tiene el ARN use la consola de CodeDeploy para implementar la revisioacuten de la aplicacioacuten

Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

3 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones4 En la lista de aplicaciones elijaAplicacioacuten WordPress_5 En la pestantildea Deployment groups (Grupos de implementaciones) elija Create deployment group

(Crear grupo de implementaciones)6 En Deployment group name (Nombre de grupo de implementacioacuten) escriba WordPress_DepGroup7 En Deployment type elija In-place deployment8 EnConfiguracioacuten del entorno seleccioneInstancias de Amazon EC29 EnConfiguracioacuten del agente conAWS Systems Manager mantenga los valores predeterminados10 En Key (Clave) introduzca Name11 En Valor escriba CodeDeployDemo

Note

Despueacutes de escribirCodeDeployDemo un1debe aparecer enInstancias coincidpara confirmarque CodeDeploy ha encontrado una instancia de Amazon EC2 que coincida

12 EnConfiguracioacuten de implementacioacuten eligeCodeDeployDefaultOneAtATime13 En Service role ARN (ARN de rol de servicio) elija el ARN del rol de servicio y seleccione Create

deployment group (Crear grupo de implementacioacuten)

Versioacuten de API 2014-10-0679

AWS CodeDeploy Guiacutea del usuarioPaso 4 Implementar la aplicacioacuten

14 Elija Create deployment (Crear implementacioacuten)15 En Deployment group (Grupo de implementacioacuten) elija WordPress_DepGroup16 Junto aRepository type eligeMi aplicacioacuten se almacena en Amazon S3 EnUbicacioacuten de revisioacuten

introduzca la ubicacioacuten de la revisioacuten de aplicacioacuten de WordPress de ejemplo que cargoacute antes enAmazon S3 Para obtener la ubicacioacuten

a Abra la consola de Amazon S3 en httpsconsoleawsamazoncoms3b En la lista de buckets elijacodedeploydemobucket(o el nombre del bucket en el que cargoacute la

revisioacuten de la aplicacioacuten)c En la lista de objetos elijaWordPressAppzip que esd En la pestantildea Overview (Informacioacuten general) copie el valor del campo Link (Enlace) en el

portapapeles

Debe ser similar al siguiente

httpss3amazonawscomcodedeploydemobucketWordPressAppzip

e Regrese a la consola de CodeDeploy y enUbicacioacuten de revisioacuten pegue elViacutenculovalor de campo17 Si en la lista File type (Tipo de archivo) aparece un mensaje en el que se indica que no se ha podido

detectar el tipo de archivo seleccione zip18 (Opcional) Escriba un comentario en el cuadro Deployment description19 AmpliarAnulaciones de grupos de implementaciones y deConfiguracioacuten de implementacioacuten

eligeCodeDeployDefaultOneAtATime20 Elija Start deployment (Iniciar la implementacioacuten) En la paacutegina Deployments se mostraraacute informacioacuten

sobre la implementacioacuten que acaba de crear

Monitorizacioacuten y solucioacuten de problemas de la implementacioacutenUtilice la AWS CLI o la consola para monitorizar y resolver problemas de la implementacioacuten

Temasbull Para monitorizar y solucionar problemas en la implementacioacuten (CLI) (p 80)bull Para monitorizar y resolver problemas de la implementacioacuten (consola) (p 81)

Para monitorizar y solucionar problemas en la implementacioacuten (CLI)

1 Obtenga el ID de la implementacioacuten para ello ejecute el comando list-deployments para la aplicacioacutenWordPress_App y el grupo de implementaciones WordPress_DepGroup

aws deploy list-deployments --application-name WordPress_App --deployment-group-name WordPress_DepGroup --query deployments --output text

2 Llame al comando get-deployment con el ID de la implementacioacuten

aws deploy get-deployment --deployment-id deploymentID --query deploymentInfostatus --output text

3 El comando devuelve el estado general de la implementacioacuten Si todo sale bien el valor esSucceeded

Si el estado general esFailed puede llamar a comandos comoinstancias de implementacioacuten delistasyget-deployment-instancepara solucionar los problemas Si desea conocer maacutes opcionesde solucioacuten de problemas consulte Anaacutelisis de archivos de registro para investigar los errores deimplementacioacuten en instancias (p 473)

Versioacuten de API 2014-10-0680

AWS CodeDeploy Guiacutea del usuarioPaso 4 Implementar la aplicacioacuten

Para monitorizar y resolver problemas de la implementacioacuten (consola)

En la paacuteginaImplementacionesen la consola de CodeDeploy puede monitorizar el estado de laimplementacioacuten en laEstadocolumn

Para obtener maacutes informacioacuten acerca de la implementacioacuten sobre todo si el valor de la columna Statustiene un valor distinto de Succeeded

1 En la tabla Deployments (Implementaciones) elija el nombre de la implementacioacuten Cuando seproduce un error en una implementacioacuten aparece un mensaje que describe el motivo del error

2 En Actividad de instancia aparece maacutes informacioacuten sobre la implementacioacuten Cuando se unaimplementacioacuten falla es posible que pueda determinar las instancias de Amazon EC2 y el paso delproceso en el que se ha producido el error

3 Si desea continuar con la solucioacuten de problemas puede aplicar una teacutecnica como la descrita en ViewInstance Details (p 258) Tambieacuten puede analizar los archivos de log de la implementacioacuten en unainstancia de Amazon EC2 Para obtener maacutes informacioacuten consulte Anaacutelisis de archivos de registropara investigar los errores de implementacioacuten en instancias (p 473)

Verificacioacuten de la implementacioacutenUna vez efectuada con eacutexito la implementacioacuten puede comprobar que la instalacioacuten de WordPressfunciona Utilice la direccioacuten DNS puacuteblica de la instancia de Amazon EC2 seguida deWordPress paraver el sitio en un navegador web (Para obtener el valor de DNS puacuteblico en la consola de Amazon EC2elija la instancia de Amazon EC2 y enDescripcioacuten busque el valor deDNS puacuteblico)

Por ejemplo si la direccioacuten DNS puacuteblica de la instancia de Amazon EC2esec2-01-234-567-890compute-1amazonawscom usariacutea la siguiente direccioacuten URL

httpec2-01-234-567-890compute-1amazonawscomWordPress

Cuando vea el sitio en el navegador deberiacutea aparecer una paacutegina de bienvenida de WordPress que tieneun aspecto similar al siguiente

Versioacuten de API 2014-10-0681

AWS CodeDeploy Guiacutea del usuarioPaso 5 Actualiza y vuelve a desplegar tu aplicacioacuten

Si la instancia de Amazon EC2 no tiene ninguna regla entrante HTTP en su grupo de seguridad la paacuteginade bienvenida de WordPress no apareceraacute Si aparece un mensaje que indica que el servidor remotono responde aseguacuterese de que el grupo de seguridad de la instancia de Amazon EC2 tiene la regla deentrada Para obtener maacutes informacioacuten consulte Agregar una regla de entrada que permita el traacuteficoHTTP a su instancia de Amazon Linux o RHEL Amazon EC2 (p 70)

Paso 5 Actualiza y vuelve a implementar tu aplicacioacutenWordPressAhora que ha implementado correctamente la revisioacuten de la aplicacioacuten actualice el coacutedigo de WordPressen el equipo de desarrollo y a continuacioacuten utilice CodeDeploy para volver a implementar el sitioPosteriormente deberiacutea poder ver los cambios en el coacutedigo en la instancia de Amazon EC2

Temasbull Configurar el sitio de WordPress (p 82)bull Modificacioacuten del sitio (p 83)bull Volver a implementar el sitio (p 83)

Configurar el sitio de WordPressPara ver los efectos del cambio del coacutedigo termine de configurar el sitio de WordPress para tener unainstalacioacuten plenamente funcional

1 Escriba la URL del sitio web en el navegador web La URL es la direccioacuten DNS puacuteblicade la instancia Amazon EC2 con unaWordPress Para este sitio de WordPress de

Versioacuten de API 2014-10-0682

AWS CodeDeploy Guiacutea del usuarioPaso 5 Actualiza y vuelve a desplegar tu aplicacioacuten

ejemplo (y la direccioacuten DNS puacuteblica de la instancia Amazon EC2) la URL eshttpec2-01-234-567-890compute-1amazonawscomWordPress

2 Si no ha configurado el sitio todaviacutea aparece la paacutegina de bienvenida predeterminada de WordPressElija iexclVamos

3 En la paacutegina de configuracioacuten de la base de datos escriba los siguientes valores para utilizar la basede datos MySQL predeterminada

bull Database Name (Nombre de la base de datos) testbull User Name (Nombre del usuario) rootbull Contrasentildea Deje en blancobull Database Host (Host de base de datos) localhostbull Table Prefix (Prefijo de tabla) wp_

Elija Submit para configurar la base de datos4 Continuacutee con la configuracioacuten del sitio En la paacutegina Welcome rellene los valores deseados y luego

seleccione Install WordPress Cuando se haya completado la instalacioacuten puede iniciar sesioacuten en elpanel

Important

Durante la implementacioacuten de la aplicacioacuten de WordPress el script change_permissionsshha actualizado los permisos de la carpeta tmpWordPress de forma que cualquiera puedeescribir en ella Este es un buen momento para ejecutar el siguiente comando para restringir lospermisos de forma que solo usted el propietario pueda escribir en ella

chmod -R 755 varwwwhtmlWordPress

Modificacioacuten del sitioPara modificar el sitio de WordPress vaya a la carpeta de la aplicacioacuten en el equipo de desarrollo

cd tmpWordPress

Para modificar algunos colores del sitio en el archivo wp-contentthemestwentyfifteenstylecss utilice un editor de texto o sed para cambiar fff a 768331

En Linux u otros sistemas con sed GNU utilice

sed -i sfff768331g wp-contentthemestwentyfifteenstylecss

En macOS Unix u otros sistemas con sed BSD utilice

sed -i sfff768331g wp-contentthemestwentyfifteenstylecss

Volver a implementar el sitioAhora que ha modificado el coacutedigo del sitio utilice Amazon S3 y CodeDeploy para volver a implementar elsitio

Versioacuten de API 2014-10-0683

AWS CodeDeploy Guiacutea del usuarioPaso 5 Actualiza y vuelve a desplegar tu aplicacioacuten

Agrupe y cargue los cambios en Amazon S3 como se describe enAgrupe los archivos de la aplicacioacuten enun uacutenico archivo de archivo e inserte el archivo de archivo (p 77) (Cuando siga esas instruccionesrecuerde que no tiene que crear una aplicacioacuten) Asigne a la nueva revisioacuten la misma clave que antes(WordPressAppzip) Caacuterguela en el mismo bucket de Amazon S3 que creoacute anteriormente (porejemplocodedeploydemobucket)

UsarAWS CLI la consola de CodeDeploy o las API de CodeDeploy para volver a implementar el sitio

Temasbull Para volver implementar el sitio (CLI) (p 84)bull Para volver a implementar el sitio (consola) (p 84)

Para volver implementar el sitio (CLI)

Llame al comando create-deployment para crear una implementacioacuten basada en la revisioacutenrecieacuten cargada Utilice la aplicacioacuten WordPress_App la configuracioacuten de implementacioacutenCodeDeployDefaultOneAtATime el grupo de implementaciones WordPress_DepGroup y la revisioacutenWordPressAppzip del bucket codedeploydemobucket

aws deploy create-deployment --application-name WordPress_App --deployment-config-name CodeDeployDefaultOneAtATime --deployment-group-name WordPress_DepGroup --s3-location bucket=codedeploydemobucketbundleType=zipkey=WordPressAppzip

Puede comprobar el estado de la implementacioacuten como se describe en Monitorizacioacuten y solucioacuten deproblemas de la implementacioacuten (p 80)

Una vez que CodeDeploy ha vuelto a implementar el sitio visiacutetelo de nuevo en el navegador web paraverificar que los colores han cambiado (Puede que tenga que actualizar el navegador) Si los colores hancambiado iexclenhorabuena Ha modificado y vuelto a implementar correctamente su sitio

Para volver a implementar el sitio (consola)

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary a continuacioacuten elijaAplicaciones3 En la lista de aplicaciones elijaAplicacioacuten WordPress_4 En la pestantildea Deployment groups (Grupos de implementaciones) elija WordPress_DepGroup5 Elija Create deployment (Crear implementacioacuten)6 En la paacutegina Create deployment

a En Deployment group (Grupo de implementacioacuten) elija WordPress_DepGroupb En el navegadorRepository typearea elijaMi aplicacioacuten se almacena en Amazon S3y a

continuacioacuten copie el enlace de Amazon S3 de la revisioacuten en elUbicacioacuten de revisioacuten Paraencontrar el valor del enlace

i En una pestantildea diferente del navegador

Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon S3 en httpsconsoleawsamazoncoms3

Versioacuten de API 2014-10-0684

AWS CodeDeploy Guiacutea del usuarioPaso 6 Eliminar recursos

Vaya a y abracodedeploydemobuckety a continuacioacuten elija la revisioacutenWordPressAppzipii Si el archivo dePropiedadesno estaacute visible en la consola de Amazon S3 elija

laPropiedadesbotoacuteniii En el navegadorPropiedades copie el valor de laViacutenculoen el campoUbicacioacuten de revisioacutenen

la consola de CodeDeployc Si aparece un mensaje que indica que el tipo de archivo no se pudo detectar elija zipd Deje el cuadro Deployment description en blancoe AmpliarAnulaciones de grupos de implementacionesy deConfiguracioacuten de implementacioacuten

eligeCodeDeployDefaultOneAtATimef Elija Start deployment (Iniciar la implementacioacuten) En la paacutegina Deployments se mostraraacute

informacioacuten sobre la implementacioacuten que acaba de crearg Puede comprobar el estado de la implementacioacuten como se describe en Monitorizacioacuten y solucioacuten

de problemas de la implementacioacuten (p 80)

Una vez que CodeDeploy ha vuelto a implementar el sitio visiacutetelo de nuevo en el navegador webpara verificar que los colores han cambiado (Puede que tenga que actualizar el navegador) Silos colores han cambiado iexclenhorabuena Ha modificado y vuelto a implementar correctamente susitio

Paso 6 Limpia tu aplicacioacuten de WordPress y recursosrelacionadosHa actualizado correctamente el coacutedigo de WordPress y ha vuelto a implementar el sitio Para evitarcargos recurrentes por los recursos que ha creado para este tutorial debe eliminar

bull CualquierAWS CloudFormationpila (o finalizar todas las instancias Amazon EC2 si las ha creado fueradeAWS CloudFormation)

bull Todos los buckets de Amazon S3bull LaWordPress_Appaplicacioacuten en CodeDeploybull LaAWS Systems ManagerAsociacioacuten del Administrador de estados de para el agente de CodeDeploy

Puede utilizar elAWS CLI elAWS CloudFormation consolas Amazon S3 Amazon EC2 y CodeDeploy olas consolasAWSAPI para realizar la limpieza

Temasbull Para limpiar los recursos (CLI) (p 85)bull Para limpiar los recursos (consola) (p 86)bull Siguientes pasos (p 87)

Para limpiar los recursos (CLI)1 Si ha utilizado la plantilla de AWS CloudFormation para este tutorial ejecute el comando delete-stack

para la pila CodeDeployDemoStack Asiacute terminaraacute todas las instancias Amazon EC2 asociadas yeliminaraacute todos los roles de IAM que haya creado la pila

aws cloudformation delete-stack --stack-name CodeDeployDemoStack

2 Para eliminar el bucket de Amazon S3 llame alrmcomando con el--recursivecambiar contra eldepoacutesito llamadocodedeploydemobucket Asiacute eliminaraacute el bucket y todos los objetos que contiene

Versioacuten de API 2014-10-0685

AWS CodeDeploy Guiacutea del usuarioPaso 6 Eliminar recursos

aws s3 rm s3codedeploydemobucket --recursive

3 Para eliminar la aplicacioacuten WordPress_App realice una llamada al comando delete-application Estoeliminaraacute tambieacuten todos los registros de grupo de implementaciones asociados y los registros deimplementacioacuten de la aplicacioacuten

aws deploy delete-application --application-name WordPress_App

4 Para eliminar la asociacioacuten del Administrador de estado de Systems Manager llame aldelete-associationcomando

aws ssm delete-association --assocation-id association-id

Para obtener el valor de id-asociacioacuten llame al comando describe-association

aws ssm describe-association --name AWS-ConfigureAWSPackage --targets Key=tagNameValues=CodeDeployDemo

Si no has usado elAWS CloudFormationpila para este tutorial llame alterminate-instancespara finalizarcualquier instancia de Amazon EC2 que haya creado manualmente Indique el ID de la instancia AmazonEC2 para terminar

aws ec2 terminate-instances --instance-ids instanceId

Para limpiar los recursos (consola)Si ha utilizado la plantilla de AWS CloudFormation para este tutorial elimine la pila de AWSCloudFormation asociada

1 Inicie sesioacuten en la AWS Management Console y abra la consola de AWS CloudFormation en httpsconsoleawsamazoncomcloudformation

2 En el cuadro Filter (Filtro) escriba el nombre de la pila de AWS CloudFormation que creoacuteanteriormente (por ejemplo CodeDeployDemoStack)

3 Seleccione la casilla junto al nombre de la pila En el menuacute Actions (Acciones) elija Delete Stack(Eliminar pila)

AWS CloudFormationelimina la pila termina todas las instancias Amazon EC2 asociadas y eliminatodos los roles de IAM correspondientes

Para terminar las instancias Amazon EC2 que haya creado fuera de unAWS CloudFormationpila

1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2

2 En la lista INSTANCES elija Instances3 En el campo de buacutesqueda escriba el nombre de la instancia Amazon EC2 que desee eliminar (por

ejemploCodeDeployDemo) y a continuacioacuten pulse Intro4 Seleccione el nombre de la instancia Amazon EC25 En el menuacute Actions seleccione Instance State y elija Terminate Cuando se le pregunte elija Yes

Terminate

Repita estos pasos para cada instancia

Versioacuten de API 2014-10-0686

AWS CodeDeploy Guiacutea del usuarioTutorial Implementacioacuten de una aplicacioacuten Hello

World en una instancia de Windows Server

Para eliminar el bucket de Amazon S3

1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon S3 en httpsconsoleawsamazoncoms3

2 En la lista de buckets busque y elija el nombre del bucket de Amazon S3 que haya creadoanteriormente (por ejemplocodedeploydemobucket)

3 Para eliminar un bucket primero debe eliminar su contenido Seleccione todos los archivos delbucket como WordPressAppzip En el menuacute Actions elija Delete Cuando se le pida confirmar laeliminacioacuten elija OK

4 Una vez vaciacuteo puede eliminar el bucket En la lista de buckets elija la liacutenea del bucket (pero no sunombre) Elija Delete bucket y cuando se le pida que confirme seleccione OK

Para eliminar elWordPress_Appaplicacioacuten de CodeDeploy

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary despueacutes elijaAplicaciones3 En la lista de aplicaciones elijaAplicacioacuten WordPress_4 En la paacutegina Application details (Detalles de la aplicacioacuten) elija Delete application (Eliminar

aplicacioacuten)5 Cuando se le solicite introduzca el nombre de la aplicacioacuten para confirmar que desea eliminarla y

seleccione Delete (Eliminar)

Para eliminar la asociacioacuten del Administrador de estado de Systems Manager

1 Abra el iconoAWS Systems Managerconsola en httpsconsoleawsamazoncomsystems-manager2 En el panel de navegacioacuten elija Administrador de estados3 Elija la asociacioacuten que ha creado y despueacutes elija Eliminar

Siguientes pasosSi ha llegado hasta aquiacute iexclenhorabuena Ha completado correctamente una implementacioacuten deCodeDeploy a continuacioacuten ha actualizado el coacutedigo del sitio y lo ha aplicado de nuevo

Tutorial Despliega un laquohola mundoraquo aplicacioacutencon CodeDeploy (Windows Server)

En este tutorial implementa una uacutenica paacutegina web en una sola instancia Amazon EC2 de Windows Serverque ejecuta Internet Information Services (IIS) como servidor web Esta paacutegina web muestra un mensajelaquoHello Worldraquo message

iquestNo es lo que estaacute buscando

bull Para practicar la implementacioacuten en una instancia Amazon EC2 de Linux o Red Hat Enterprise Linux(RHEL) consulteTutorial Implementar WordPress en una instancia de Amazon EC2 (Amazon Linux oRed Hat Enterprise Linux y Linux macOS o Unix) (p 68)

Versioacuten de API 2014-10-0687

AWS CodeDeploy Guiacutea del usuarioPaso 1 Lance una instancia Amazon EC2

bull Para practicar la implementacioacuten en una instancia on-premises consulte Tutorial Implementar unaaplicacioacuten en una instancia local con CodeDeploy (Windows Server Ubuntu Server o Red Hat EnterpriseLinux) (p 103)

Los pasos de este tutorial se presentan desde una perspectiva de Windows Aunque puede completar lamayoriacutea de estos pasos en un equipo local que ejecuta Linux macOS o Unix debe adaptar los pasos enlos que se utilizan rutas de directorio basadas en Windows comoctemp Ademaacutes si desea conectarsea la instancia Amazon EC2 necesita una aplicacioacuten cliente que pueda conectarse mediante el Protocolode Escritorio remoto (RDP) a la instancia Amazon EC2 que ejecuta Windows Server (Windows incluye unaaplicacioacuten cliente de conexioacuten RDP de forma predeterminada)

Antes de comenzar este tutorial debe completar los requisitos previos indicados enIntroduccioacuten aCodeDeploy (p 35) incluida la configuracioacuten del usuario de IAM la instalacioacuten o la actualizacioacuten delAWSCLIy crear un perfil de instancia de IAM y un rol de servicio de

Temasbull Paso 1 Lance una instancia de Amazon EC2 de Windows Server (p 88)bull Paso 2 Configurar el contenido de origen para implementarlo en la instancia de Amazon EC2 de

Windows Server (p 90)bull Paso 3 Sube tu laquohola mundoraquo aplicacioacuten a Amazon S3 (p 92)bull Paso 4 Implemente su aplicacioacuten Hello World (p 95)bull Paso 5 Actualiza y vuelve a desplegar tu laquohola mundoraquo revisiones de (p 99)bull Paso 6 Limpia tu laquohola mundoraquo aplicaciones y recursos relacionados (p 101)

Paso 1 Lance una instancia de Amazon EC2 deWindows ServerPara implementar la aplicacioacuten Hello World con CodeDeploy necesita una instancia Amazon EC2 que seejecuta en Windows Server

Siga las instrucciones en Creacioacuten de una instancia de Amazon EC2 para CodeDeploy (p 217) Cuandoesteacute listo para asignar una etiqueta de instancia Amazon EC2 a la instancia aseguacuterese de especificar laclave de etiquetaNamey el valor de etiqueta deCodeDeployDemo (Si especifica otra clave u otro valor deetiqueta las instrucciones de Paso 4 Implemente su aplicacioacuten Hello World (p 95) pueden producirresultados inesperados)

Despueacutes de lanzar la instancia Amazon EC2 vuelva a esta paacutegina y continuacutee con la seccioacuten siguiente Nocontinuacutee en Crear una aplicacioacuten con CodeDeploy (p 273) como paso siguiente

Connect con la instancia Amazon EC2Una vez lanzada la instancia Amazon EC2 siga estas instrucciones para practicar la conexioacuten a ella

Note

En estas instrucciones se supone que estaacute trabajando con Windows y con la aplicacioacuten cliente deconexioacuten a escritorio de Windows Para obtener informacioacuten consulteConectarse a una instanciade Windows mediante RDP Es posible que necesite adaptar estas instrucciones para otrossistemas operativos u otras aplicaciones cliente de conexioacuten RDP

1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2

Versioacuten de API 2014-10-0688

AWS CodeDeploy Guiacutea del usuarioPaso 1 Lance una instancia Amazon EC2

2 En el panel de navegacioacuten bajo Instances elija Instances3 Busque su instancia de Windows Server en la lista y seleccioacutenela4 Elija Connect5 Elija Get Password (Obtener contrasentildea) y a continuacioacuten elija Choose File (Seleccionar archivo)6 Busque y seleccione el archivo de key pair de la instancia Amazon EC2 asociado a la instancia de

Amazon EC2 de Windows Server y a continuacioacuten elijaAbierto7 Elija Decrypt Password (Descifrar contrasentildea) Apunte la contrasentildea que se muestra La necesitaraacute en

el paso 108 Elija Download Remote Desktop File (Descargar archivo de escritorio remoto) y abra el archivo9 Si se le pide conectarse a pesar de que el editor de la conexioacuten remota no pueda identificarse haacutegalo10 Escriba la contrasentildea que ha anotado en el paso 7 y continuacutee (Si la aplicacioacuten cliente de conexioacuten

RDP solicita un nombre de usuario escriba Administrator)11 Si se le pide que se conecte a pesar de que la identidad del equipo remoto no pueda verificarse

haacutegalo12 Despueacutes de haberse conectado se muestra el escritorio de la instancia Amazon EC2 que se ejecuta

en Windows Server13 Ahora puede desconectar de la instancia Amazon EC2

Warning

No interrumpa ni termine la instancia De lo contrario CodeDeploy no podraacute implementarseen ella

Agregar una regla entrante que permita el traacutefico HTTP a suinstancia de Amazon EC2 de Windows ServerEl siguiente paso confirma que la instancia Amazon EC2 tiene un puerto HTTP abierto para que se puedaver la paacutegina web implementada en la instancia de Amazon EC2 de Windows Server en un navegador

1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2

2 ElegirInstanciasy a continuacioacuten elija su instancia3 En la paacuteginaDescripcioacutenpestantildea enGrupos de seguridad eligeVer reglas de entrada

Debe aparecer una lista de reglas en el grupo de seguridad como el siguiente

Security Groups associated with i-1234567890abcdef0 Ports Protocol Source launch-wizard-N 22 tcp 00000

4 UNDERGrupos de seguridad elija el grupo de seguridad de la instancia Amazon EC2 Podriacuteallamarselaunch-wizard-N La N del nombre es un nuacutemero asignado al grupo de seguridad cuandose creoacute la instancia

Elija la pestantildea Inbound (Reglas entrantes) Si el grupo de seguridad de la instancia estaacute configuradocorrectamente deberiacutea aparecer una regla con los siguientes valores

bull Type HTTPbull Protocolo TCPbull Rango de puertos 80bull Fuente 00000

Versioacuten de API 2014-10-0689

AWS CodeDeploy Guiacutea del usuarioPaso 2 Configurar el contenido de origen

5 Si no ve una regla con estos valores utilice los procedimientos descritos enAgregar reglas a un grupode seguridadpara antildeadirlos a una nueva regla de seguridad

Paso 2 Configurar el contenido de origen paraimplementarlo en la instancia de Amazon EC2 deWindows ServerHa llegado el momento de configurar el contenido de origen de la aplicacioacuten para tener algo queimplementar en la instancia de Amazon EC2 En este tutorial implementaraacute una uacutenica paacutegina web enla instancia de Amazon EC2 que ejecuta Windows Server que a su vez ejecutaraacute Internet InformationServices (IIS) como servidor web Esta paacutegina web mostraraacute un mensaje Hello World message

Temasbull Crear la paacutegina web (p 90)bull Crear un script para ejecutar la aplicacioacuten (p 91)bull Agregar un archivo de especificacioacuten de la aplicacioacuten (p 91)

Crear la paacutegina web1 Cree un subdirectorio (subcarpeta) denominado HelloWorldApp en su carpeta ctemp y a

continuacioacuten pase a esa carpeta

mkdir ctempHelloWorldAppcd ctempHelloWorldApp

Note

La ubicacioacuten de la carpeta no tiene por queacute ser ctemp ni el nombre de la subcarpetaHelloWorldApp Si utiliza otra ubicacioacuten u otro nombre de subcarpeta aseguacuterese deutilizarlos en este tutorial

2 Utilice un editor de texto para crear un archivo dentro de la carpeta Asigne el nombre indexhtml alarchivo

notepad indexhtml

3 Antildeada el siguiente coacutedigo HTML al archivo y guaacuterdelo

ltDOCTYPE html PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgtlthtmlgtltheadgt lttitlegtHello Worldlttitlegt ltstylegt body color ffffff background-color 0188cc font-family Arial sans-serif font-size14px ltstylegtltheadgtltbodygt ltdiv align=centergtlth1gtHello Worldlth1gtltdivgt

Versioacuten de API 2014-10-0690

AWS CodeDeploy Guiacutea del usuarioPaso 2 Configurar el contenido de origen

ltdiv align=centergtlth2gtYou have successfully deployed an application using CodeDeploylth2gtltdivgt ltdiv align=centergt ltpgtWhat to do next Take a look through the lta href=httpsawsamazoncomcodedeploygtCodeDeploy Documentationltagtltpgt ltdivgtltbodygtlthtmlgt

Crear un script para ejecutar la aplicacioacutenA continuacioacuten crearaacute un script que CodeDeploy utilizaraacute para configurar el servidor web de destino en lainstancia de Amazon EC2

1 En la misma subcarpeta donde se guarda el archivo indexhtml utilice un editor de texto para crearotro archivo Asigne el nombre before-installbat al archivo

notepad before-installbat

2 Antildeada el siguiente coacutedigo de script de procesamiento por lotes al archivo y a continuacioacuten guaacuterdelo

REM Install Internet Information Server (IIS)cWindowsSysnativeWindowsPowerShellv10powershellexe -Command Import-Module -Name ServerManagercWindowsSysnativeWindowsPowerShellv10powershellexe -Command Install-WindowsFeature Web-Server

Agregar un archivo de especificacioacuten de la aplicacioacutenA continuacioacuten antildeadiraacute un archivo de especificacioacuten de la aplicacioacuten (archivo AppSpec) ademaacutes de lapaacutegina web y el archivo con el script de procesamiento por lotes El archivo AppSpec es unYAML-archivocon formato utilizado por CodeDeploy para

bull Asignar los archivos de origen de la revisioacuten de la aplicacioacuten a sus destinos en la instanciabull Especificar los scripts que deben ejecutarse en la instancia durante la implementacioacuten

El archivo AppSpec debe denominarseappspecyml Debe ir en la carpeta raiacutez de coacutedigo fuente de laaplicacioacuten

1 Utilice un editor de texto para crear otro archivo en la misma carpeta en la que se encuentranindexhtml y before-installbat Asigne el nombre appspecyml al archivo

notepad appspecyml

2 Antildeada el siguiente coacutedigo YAML al archivo y guaacuterdelo

version 00os windowsfiles - source indexhtml destination cinetpubwwwroothooks BeforeInstall - location before-installbat timeout 900

Versioacuten de API 2014-10-0691

AWS CodeDeploy Guiacutea del usuarioPaso 3 Cargue su aplicacioacuten en Amazon S3

CodeDeploy utilizaraacute este archivo de AppSpec para copiar elindexhtmlen la carpeta raiacutez de coacutedigofuente de la aplicacioacuten a lacinetpubwwwrooten la instancia de Amazon EC2 de destino Durantela implementacioacuten CodeDeploy ejecutaraacute elbefore-installbatscript de procesamiento por lotesen la instancia de Amazon EC2 de destino durante elBeforeInstallevento del ciclo de vida de laimplementacioacuten Si este script tarda maacutes de 900 segundos (15 minutos) en ejecutarse CodeDeploydetendraacute la implementacioacuten en la instancia Amazon EC2 y la marcaraacute como erroacutenea

Para obtener maacutes informacioacuten sobre la configuracioacuten consulte Referencia del archivo CodeDeployAppSpec (p 407)

Important

Las ubicaciones y el nuacutemero de espacios entre cada uno de los elementos de este archivoson importantes Si el espaciado es incorrecto CodeDeploy generaraacute un error que puederesultar difiacutecil de depurar Para obtener maacutes informacioacuten consulte Espaciado de archivosAppSpec (p 440)

Paso 3 Sube tu laquohola mundoraquo aplicacioacuten a AmazonS3Ahora prepararaacute y cargaraacute su contenido de origen en una ubicacioacuten desde la que CodeDeploy puedaimplementarla Las siguientes instrucciones explican coacutemo aprovisionar un bucket de Amazon S3preparar los archivos de la revisioacuten de la aplicacioacuten para el bucket agrupar los archivos de la revisioacuten y acontinuacioacuten enviar la revisioacuten al bucket

Note

Aunque no se trata en este tutorial puede utilizar CodeDeploy para implementar aplicacionesdesde repositorios de GitHub en instancias Para obtener maacutes informacioacuten consulte Integracioacutende CodeDeploy con GitHub (p 63)

Temasbull Aprovisionar un bucket de Amazon S3 (p 92)bull Preparar los archivos de la aplicacioacuten para el depoacutesito (p 94)bull Agrupe los archivos de la aplicacioacuten en un uacutenico archivo de archivo e inserte el archivo de

archivo (p 94)

Aprovisionar un bucket de Amazon S3Cree un contenedor de almacenamiento obaldeen Amazon S3 o utilice un bucket existente Aseguacuteresede que puede cargar la revisioacuten en el bucket de y que las instancias de Amazon EC2 utilizadas en lasimplementaciones pueden descargar la revisioacuten del bucket

Puede utilizar elAWS CLI la consola de Amazon S3 o las API de Amazon S3 para crear un bucket deAmazon S3 Despueacutes de crear el bucket aseguacuterese de que concede permisos de acceso al bucket y a suusuario de IAM

Note

Los nombres de bucket deben ser uacutenicos en Amazon S3 para todosAWScuentas Si nopuede utilizar codedeploydemobucket pruebe otro nombre de bucket por ejemplocodedeploydemobucket seguido de un guion y sus iniciales o alguacuten otro identificador uacutenicoA continuacioacuten cuando aparezca codedeploydemobucket en este tutorial aseguacuterese desustituirlo por el nombre de su bucketEl bucket de Amazon S3 debe crearse en el mismoAWSregioacuten en la que se lanzan las instanciasde Amazon EC2 de destino Por ejemplo si crea el bucket en la regioacuten EE UU Este (Norte de

Versioacuten de API 2014-10-0692

AWS CodeDeploy Guiacutea del usuarioPaso 3 Cargue su aplicacioacuten en Amazon S3

Virginia) las instancias de Amazon EC2 de destino deben lanzarse en la regioacuten EE UU Este(Norte de Virginia)

Temasbull Para crear un bucket de Amazon S3 (CLI) (p 93)bull Para crear un bucket de Amazon S3 (consola) (p 93)bull Conceder permisos al bucket de Amazon S3 y a su usuario de IAM (p 93)

Para crear un bucket de Amazon S3 (CLI)

Llame a lambpara crear un bucket de Amazon S3 denominadocodedeploydemobucket

aws s3 mb s3codedeploydemobucket

Para crear un bucket de Amazon S3 (consola)

1 Abra la consola de Amazon S3 en httpsconsoleawsamazoncoms32 En la consola de Amazon S3 elijaCrear un bucket3 En el cuadro Bucket name (Nombre del bucket) escriba un nombre para el bucket4 En la lista Region (Regioacuten) elija la regioacuten de destino y a continuacioacuten seleccione Create (Crear)

Conceder permisos al bucket de Amazon S3 y a su usuario de IAM

Debe tener permisos para cargar en el bucket de Amazon S3 Puede especificar estos permisos a traveacutesde una poliacutetica de bucket de Amazon S3 Por ejemplo en la siguiente poliacutetica de bucket de Amazon S3el uso del caraacutecter comodiacuten () permiteAWScuenta111122223333para cargar archivos en cualquierdirectorio del bucket de Amazon S3 denominadocodedeploydemobucket

Statement [ Action [ s3PutObject ] Effect Allow Resource arnawss3codedeploydemobucket Principal AWS [ 111122223333 ] ]

Para ver losAWSID de cuenta consulteBuacutesqueda de suAWSID de la cuenta de

Ahora es un buen momento para verificar que el bucket de Amazon S3 permitiraacute las solicitudes dedescarga de cada instancia de Amazon EC2 participante Puede especificarlo a traveacutes de una poliacutetica debucket de Amazon S3 Por ejemplo en la siguiente poliacutetica de bucket de Amazon S3 el uso del caraacutectercomodiacuten () permite cualquier instancia de Amazon EC2 con un perfil de instancia de IAM adjunto quecontenga el ARNarnawsiam444455556666roleCodeDeployDemopara descargar archivosdesde cualquier directorio del bucket de Amazon S3 denominadocodedeploydemobucket

Versioacuten de API 2014-10-0693

AWS CodeDeploy Guiacutea del usuarioPaso 3 Cargue su aplicacioacuten en Amazon S3

Statement [ Action [ s3Get s3List ] Effect Allow Resource arnawss3codedeploydemobucket Principal AWS [ arnawsiam444455556666roleCodeDeployDemo ] ]

Para obtener informacioacuten acerca de coacutemo generar y asociar una poliacutetica de bucket de Amazon S3consulteEjemplos de poliacutetica de bucket

Su cuenta debe tener permiso para cargar la revisioacuten en el bucket de Amazon S3 Una forma deespecificarlo es a traveacutes de una poliacutetica de IAM La siguiente poliacutetica de IAM permite que el usuario de IAMcargue revisiones en cualquier lugar del bucket de Amazon S3 denominadocodedeploydemobucket

Version2012-10-17 Statement[ EffectAllow Action[s3PutObject] Resourcearnawss3codedeploydemobucket ]

Para obtener informacioacuten acerca de coacutemo crear y asociar una poliacutetica de IAM consulteTrabajo conpoliacuteticas

Preparar los archivos de la aplicacioacuten para el depoacutesitoAseguacuterese de que la paacutegina web el archivo de AppSpec y el script se organizan en su equipo dedesarrollo de este modo

c |-- temp |--HelloWorldApp |-- appspecyml |-- before-installbat |-- indexhtml

Agrupe los archivos de la aplicacioacuten en un uacutenico archivo dearchivo e inserte el archivo de archivoAgrupe los archivos en un archivo de almacenamiento (se denomina una revisioacuten de la aplicacioacuten)

Note

Es posible que se cobre por almacenar objetos en un bucket y por transferir revisiones de laaplicacioacuten dentro y fuera de un bucket Para obtener maacutes informacioacuten consulte Precios deAmazon S3

Versioacuten de API 2014-10-0694

AWS CodeDeploy Guiacutea del usuarioPaso 4 Implementar la aplicacioacuten

1 En el equipo de desarrollo cambie a la carpeta en la que se almacenan los archivos

cd ctempHelloWorldApp

Note

Si no cambia a esta carpeta la agrupacioacuten del archivo comenzaraacute en su carpeta actualPor ejemplo si la carpeta actual es ctemp en lugar de ctempHelloWorldApp laagrupacioacuten comenzaraacute con los archivos y subcarpetas de la carpeta ctemp lo que puedeincluir algo maacutes que la subcarpeta HelloWorldApp

2 Llame a lacreate-applicationpara registrar una aplicacioacuten nueva denominadaHelloWorld_AppconCodeDeploy

aws deploy create-application --application-name HelloWorld_App

3 Llame a CodeDeploypushpara agrupar los archivos cargar las revisiones en Amazon S3 y registra enCodeDeploy sobre la revisioacuten cargada todo con una accioacuten

aws deploy push --application-name HelloWorld_App --s3-location s3codedeploydemobucketHelloWorld_Appzip --ignore-hidden-files

Este comando agrupa los archivos del directorio actual (excepto los archivos ocultos) en unuacutenico archivo de almacenamiento denominadoHelloWorld_Appzip carga la revisioacuten enelcodedeploydemobuckety registra informacioacuten con CodeDeploy sobre la revisioacuten cargada

Paso 4 Implemente su aplicacioacuten Hello WorldAhora implementaraacute la revisioacuten de la aplicacioacuten Hello World de ejemplo que ha cargado en Amazon S3Utilizas elAWS CLIo la consola de CodeDeploy para implementar la revisioacuten y monitorizar el progresode la implementacioacuten Una vez implementada correctamente la revisioacuten de la aplicacioacuten comprobaraacute losresultados

Temasbull Implemente la revisioacuten de la aplicacioacuten con CodeDeploy (p 95)bull Monitorizacioacuten y solucioacuten de problemas de la implementacioacuten (p 97)bull Verificacioacuten de la implementacioacuten (p 98)

Implemente la revisioacuten de la aplicacioacuten con CodeDeployPuede implementar su aplicacioacuten con la CLI o la consola

Temasbull Para implementar la revisioacuten de la aplicacioacuten (CLI) (p 95)bull Para implementar la revisioacuten de la aplicacioacuten (consola) (p 96)

Para implementar la revisioacuten de la aplicacioacuten (CLI)

1 En primer lugar la implementacioacuten necesita un grupo de implementaciones Sin embargo para crearel grupo de implementaciones primero necesita un ARN de rol de servicio Un rol de servicio es un rolde IAM que concede a un servicio permiso para actuar en su nombre En este caso el rol de servicioconcede a CodeDeploy permiso de acceso a sus instancias de Amazon EC2 para ampliar (leer) susetiquetas de instancia Amazon EC2

Versioacuten de API 2014-10-0695

AWS CodeDeploy Guiacutea del usuarioPaso 4 Implementar la aplicacioacuten

Ya debe haber seguido las instrucciones de Creacioacuten de un rol de servicio de (CLI) (p 39) para crearun rol de servicio Para obtener el ARN del rol de servicio consulte Obtenga el ARN del rol de servicio(CLI) (p 41)

2 Ahora que tiene el ARN llame alcreate-deployment-grouppara crear un grupo de implementacionesdenominadoHelloWorld_DepGroup asociado a la aplicacioacuten denominadaHelloWorld_Apputilizando la etiqueta de instancia de Amazon EC2 denominadaCodeDeployDemoconfiguracioacuten deimplementacioacuten denominadaCodeDeployDefaultOneAtATime con el ARN del rol de servicio

aws deploy create-deployment-group --application-name HelloWorld_App --deployment-group-name HelloWorld_DepGroup --deployment-config-name CodeDeployDefaultOneAtATime --ec2-tag-filters Key=NameValue=CodeDeployDemoType=KEY_AND_VALUE --service-role-arn serviceRoleARN

Note

Lacreate-deployment-groupproporciona soporte para crear activadores que dan comoresultado el enviacuteo de notificaciones de Amazon SNS a los suscriptores de temas sobreeventos especiacuteficos en implementaciones e instancias El comando tambieacuten admite opcionespara revertir automaacuteticamente implementaciones y configurar alarmas para detener lasimplementaciones cuando se cumplen los umbrales de supervisioacuten en alarmas de AmazonCloudWatch Los comandos de estas acciones no se incluyen en este tutorial

3 Para crear una implementacioacuten las instancias del grupo de implementaciones deben tener instaladoel agente de CodeDeploy Puede instalar el agente desde la liacutenea de comandos con AWS SystemsManager mediante el comando siguiente

aws ssm create-association --name AWS-ConfigureAWSPackage --targets Key=tagNameValues=CodeDeployDemo --parameters action=Installname=AWSCodeDeployAgent --schedule-expression cron(0 2 SUN )

Este comando crea una asociacioacuten en Systems Manager de estados de que instalaraacute el agentede CodeDeploy y despueacutes intentaraacute actualizarlo todos los domingos por la mantildeana a las 200Para obtener maacutes informacioacuten sobre el agente de CodeDeploy consulteTrabajar con el agentede CodeDeploy Para obtener maacutes informacioacuten sobre Systems Manager consulteiquestQueacute es AWSSystems Manager

4 Ejecute ahora el comando create-deployment para crear una implementacioacuten asociada a la aplicacioacutenHelloWorld_App la configuracioacuten de implementacioacuten CodeDeployDefaultOneAtATimey el grupo de implementaciones HelloWorld_DepGroup utilizando la revisioacuten de la aplicacioacutenHelloWorld_Appzip del bucket codedeploydemobucket

aws deploy create-deployment --application-name HelloWorld_App --deployment-config-name CodeDeployDefaultOneAtATime --deployment-group-name HelloWorld_DepGroup --s3-location bucket=codedeploydemobucketbundleType=zipkey=HelloWorld_Appzip

Para implementar la revisioacuten de la aplicacioacuten (consola)

1 Para utilizar la consola de CodeDeploy para implementar la revisioacuten de la aplicacioacuten primero necesitaun ARN de rol de servicio ARN Un rol de servicio es un rol de IAM que concede a un servicio permisopara actuar en su nombre En este caso el rol de servicio concede a CodeDeploy permiso de accesoa sus instancias de Amazon EC2 para ampliar (leer) sus etiquetas de instancia Amazon EC2

Ya debe haber seguido las instrucciones de Creacioacuten de un rol de servicio de (consola) (p 37) paracrear un rol de servicio Para obtener el ARN del rol de servicio consulte Obtenga el ARN del rol deservicio (consola) (p 40)

Versioacuten de API 2014-10-0696

AWS CodeDeploy Guiacutea del usuarioPaso 4 Implementar la aplicacioacuten

2 Ahora que tiene el ARN puede utilizar la consola de CodeDeploy para implementar la revisioacuten de laaplicacioacuten

Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicia sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizasteenIntroduccioacuten a CodeDeploy (p 35)

3 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones4 Elija HelloWorld_App5 En la pestantildea Deployment groups (Grupos de implementaciones) elija Create deployment group

(Crear grupo de implementaciones)6 En Deployment group name (Nombre de grupo de implementacioacuten) escriba HelloWorld_DepGroup7 En Service Role (Rol de servicio) elija el nombre del rol de servicio8 En Deployment type (Tipo de implementacioacuten) elija In-place (In situ)9 EnConfiguracioacuten del entorno seleccioneInstancias de Amazon EC210 EnConfiguracioacuten del agente conAWS Systems Manager mantenga los valores predeterminados11 En Key (Clave) introduzca Name12 En Valor escriba CodeDeployDemo13 EnConfiguracioacuten de implementacioacuten eligeCodeDeployDefaultOneAtATime14 En Load Balancer (Balanceador de carga) anule la seleccioacuten de Enable load balancing (Habilitar

balanceo de carga)15 Elija Create deployment group16 Elija Create deployment (Crear implementacioacuten)17 En Deployment group (Grupo de implementacioacuten) elija HelloWorld_DepGroup18 EnTipo de revisioacuten eligeMi aplicacioacuten se almacena en Amazon S3 y luego enUbicacioacuten de

revisioacuten introduzca la ubicacioacuten de la revisioacuten de la aplicacioacuten Hello World de ejemplo que cargoacuteanteriormente en Amazon S3 Para obtener la ubicacioacuten

a Abra la consola de Amazon S3 en httpsconsoleawsamazoncoms3b En la lista de buckets seleccionecodedeploydemobucket(o el nombre del bucket en el que cargoacute

la revisioacuten de la aplicacioacuten)c En la lista de objetos elija HelloWorld_Appzipd En la pestantildea Overview (Informacioacuten general) elija Copy path (Ruta de copia)e Regrese a la consola de CodeDeploy y enUbicacioacuten de revisioacuten pegue elViacutenculovalor de campo

19 En Revision file type (Tipo de archivo de revisioacuten) elija zip20 (Opcional) Escriba un comentario en Deployment description (Descripcioacuten de implementacioacuten)21 Elija Create deployment (Crear implementacioacuten) En la paacutegina Deployments se mostraraacute informacioacuten

sobre la implementacioacuten que acaba de crear

Monitorizacioacuten y solucioacuten de problemas de la implementacioacutenUtilice la AWS CLI o la consola para monitorizar y resolver problemas de la implementacioacuten

Temasbull Para monitorizar y solucionar problemas en la implementacioacuten (CLI) (p 98)

Versioacuten de API 2014-10-0697

AWS CodeDeploy Guiacutea del usuarioPaso 4 Implementar la aplicacioacuten

bull Para monitorizar y resolver problemas de la implementacioacuten (consola) (p 98)

Para monitorizar y solucionar problemas en la implementacioacuten (CLI)

1 Obtenga el ID de la implementacioacuten para ello ejecute el comando list-deployments para la aplicacioacutenHelloWorld_App y el grupo de implementaciones HelloWorld_DepGroup

aws deploy list-deployments --application-name HelloWorld_App --deployment-group-name HelloWorld_DepGroup --query deployments --output text

2 Llame al comando get-deployment con el ID de la implementacioacuten

aws deploy get-deployment --deployment-id deploymentID --query deploymentInfostatus --output text

3 El comando devuelve el estado general de la implementacioacuten Si todo sale bien el valor esSucceeded

Si el estado general esFailed puede llamar a comandos comoinstancias de implementacioacuten-list-deployment-yget-deployment-instancepara solucionar los problemas Si desea conocer maacutes opcionesde solucioacuten de problemas consulte Anaacutelisis de archivos de registro para investigar los errores deimplementacioacuten en instancias (p 473)

Para monitorizar y resolver problemas de la implementacioacuten (consola)En la paacuteginaImplementacionesen la consola de CodeDeploy puede monitorizar el estado de laimplementacioacuten en laEstadocolumn

Para obtener maacutes informacioacuten acerca de la implementacioacuten sobre todo si el valor de la columna Statustiene un valor distinto de Succeeded

1 En la tabla Deployments (Implementaciones) elija el ID de implementacioacuten Cuando se produce unerror en una implementacioacuten aparece un mensaje que describe el motivo del error en la paacutegina dedetalles de la implementacioacuten

2 Aparece maacutes informacioacuten sobre las instancias de la implementacioacuten Cuando se una implementacioacutenfalla es posible que pueda determinar las instancias de Amazon EC2 y el paso del proceso en el quese ha producido el error

3 Si desea realizar maacutes resolucioacuten de problemas puede utilizar una teacutecnica como View InstanceDetails (p 258) Tambieacuten puede analizar los archivos de log de la implementacioacuten en una instanciade Amazon EC2 Para obtener maacutes informacioacuten consulte Anaacutelisis de archivos de registro parainvestigar los errores de implementacioacuten en instancias (p 473)

Verificacioacuten de la implementacioacutenDespueacutes que la implementacioacuten se realiza correctamente verifique que funciona la instalacioacuten Utilice ladireccioacuten DNS puacuteblica de la instancia de Amazon EC2 para ver la paacutegina web en un navegador web (Paraobtener el valor de DNS puacuteblico en la consola de Amazon EC2 seleccione la instancia de Amazon EC2 yen laDescripcioacuten busque el valor enDNS puacuteblico)

Por ejemplo si la direccioacuten DNS puacuteblica de la instancia de Amazon EC2esec2-01-234-567-890compute-1amazonawscom usariacutea la siguiente direccioacuten URL

httpec2-01-234-567-890compute-1amazonawscom

Si la operacioacuten se realiza correctamente deberiacutea ver una paacutegina web Hello World

Versioacuten de API 2014-10-0698

AWS CodeDeploy Guiacutea del usuarioPaso 5 Actualiza y vuelve a desplegar tu aplicacioacuten

Paso 5 Actualiza y vuelve a desplegar tu laquoholamundoraquo revisiones deAhora que ha implementado correctamente la revisioacuten de la aplicacioacuten actualice el coacutedigo de la paacuteginaweb en el equipo de desarrollo y a continuacioacuten utilice CodeDeploy para volver a implementar el sitioUna vez implementada nuevamente la revisioacuten debe poder ver los cambios en el coacutedigo en la instancia deAmazon EC2

Temasbull Modificar la paacutegina web (p 99)bull Nuevo implementacioacuten del sitio (p 99)

Modificar la paacutegina web1 Vaya a la subcarpeta ctempHelloWorldApp y use un editor de texto para modificar el archivo

indexhtml

cd ctempHelloWorldAppnotepad indexhtml

2 Revise el contenido del archivo indexhtml para cambiar el color de fondo y parte del texto de lapaacutegina web y a continuacioacuten guarde el archivo

ltDOCTYPE html PUBLIC -W3CDTD HTML 401 TransitionalEN httpwwww3orgTRhtml4loosedtdgtlthtmlgtltheadgt lttitlegtHello Again Worldlttitlegt ltstylegt body color ffffff background-color 66cc00 font-family Arial sans-serif font-size14px ltstylegtltheadgtltbodygt ltdiv align=centergtlth1gtHello Again Worldlth1gtltdivgt ltdiv align=centergtlth2gtYou have successfully deployed a revision of an application using CodeDeploylth2gtltdivgt ltdiv align=centergt ltpgtWhat to do next Take a look through the lta href=httpsawsamazoncomcodedeploygtCodeDeploy Documentationltagtltpgt ltdivgtltbodygtlthtmlgt

Nuevo implementacioacuten del sitioAhora que ha modificado el coacutedigo utilice Amazon S3 y CodeDeploy para volver a implementar la paacuteginaweb

Agrupe y cargue los cambios en Amazon S3 como se describe enAgrupe los archivos de la aplicacioacuten enun uacutenico archivo de archivo e inserte el archivo de archivo (p 94) (Cuando siga esas instrucciones

Versioacuten de API 2014-10-0699

AWS CodeDeploy Guiacutea del usuarioPaso 5 Actualiza y vuelve a desplegar tu aplicacioacuten

recuerde que no tiene que crear una nueva aplicacioacuten) Asigne a la nueva revisioacuten la misma clave queantes (HelloWorld_Appzip) Caacuterguela en el mismo bucket de Amazon S3 que creoacute anteriormente (porejemplocodedeploydemobucket)

UsarAWS CLIo la consola de CodeDeploy para volver a implementar el sitio

Temasbull Para volver implementar el sitio (CLI) (p 100)bull Para volver a implementar el sitio (consola) (p 100)

Para volver implementar el sitio (CLI)

Ejecute el comando create-deployment para crear una implementacioacuten basada en la revisioacuten queha cargado utilizando tambieacuten la aplicacioacuten HelloWorld_App la configuracioacuten de implementacioacutenCodeDeployDefaultOneAtATime el grupo de implementaciones HelloWorld_DepGroup y larevisioacuten de la aplicacioacuten HelloWorld_Appzip del bucket codedeploydemobucket

aws deploy create-deployment --application-name HelloWorld_App --deployment-config-name CodeDeployDefaultOneAtATime --deployment-group-name HelloWorld_DepGroup --s3-location bucket=codedeploydemobucketbundleType=zipkey=HelloWorld_Appzip

Puede comprobar el estado de la nueva implementacioacuten como se describe en Monitorizacioacuten y solucioacuten deproblemas de la implementacioacuten (p 97)

Cuando CodeDeploy haya vuelto a implementar el sitio visite de nuevo el sitio en el navegador web paraverificar que el color de fondo y el texto de la paacutegina web han cambiado (Puede que tenga que actualizarel navegador) Si el color de fondo y el texto se han modificado iexclenhorabuena Ha modificado y ha vuelto aimplementar su sitio

Para volver a implementar el sitio (consola)

1 Inicie sesioacuten en elAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten elija Applications (Aplicaciones)3 En la lista Applications (Aplicaciones) elija HelloWorld_App4 En la pestantildea Deployments (Implementaciones) elija Create deployment (Crear implementacioacuten)

a En la lista Deployment group elija HelloWorld_DepGroupb EnUbicacioacuten de la revisioacuten introduzca el enlace de Amazon S3 para su revisioacuten

Para encontrar el valor del enlace

i Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon S3 en httpsconsoleawsamazoncoms3

Vaya a y abracodedeploydemobuckety luego elija la revisioacutenHelloWorld_Appzip en laconsola de Amazon S3

ii Si el archivo dePropiedadesno se muestra en la consola de Amazon S3 elijalaPropiedadesBotoacuten

iii En el panel Properties (Propiedades) copie el valor del campo Link (Enlace)Versioacuten de API 2014-10-06

100

AWS CodeDeploy Guiacutea del usuarioPaso 6 Eliminar recursos

iv Vuelva a la consola de CodeDeploy a continuacioacuten pegue el enlace enUbicacioacuten de larevisioacuten

vc En Revision file type (Tipo de archivo de revisioacuten) si aparece un mensaje en el que se indica que

no se ha podido detectar el tipo de archivo elija zipd Deje Deployment description (Descripcioacuten de implementacioacuten) en blancoe AmpliarAnulaciones de grupos de implementacionesEn el navegadorConfiguracioacuten de

implementacioacutenlista elijaCodeDeployDefaultOneAtATimey luego elijaCrear implementacioacuten

Puede comprobar el estado de la implementacioacuten como se describe en Monitorizacioacuten y solucioacutende problemas de la implementacioacuten (p 97)

Cuando CodeDeploy haya vuelto a implementar el sitio visite de nuevo el sitio en el navegadorweb para verificar que el color de fondo y el texto de la paacutegina web han cambiado (Puedeque tenga que actualizar el navegador) Si el color de fondo y el texto se han modificadoiexclenhorabuena Ha modificado y ha vuelto a implementar su sitio

Paso 6 Limpia tu laquohola mundoraquo aplicaciones yrecursos relacionadosHa actualizado el coacutedigo de Hello World correctamente e implementado de nuevo el sitio Para evitarcargos recurrentes por los recursos que ha creado para completar este tutorial debe eliminar

bull CualquierAWS CloudFormationapila (o terminar todas las instancias de Amazon EC2) si las ha creadofuera deAWS CloudFormation)

bull Todos los buckets de Amazon S3bull LaHelloWorld_Appaplicacioacuten en CodeDeploybull LaAWS Systems ManagerAsociacioacuten de Administrador de estados de para el agente de CodeDeploy

Puede utilizar elAWS CLI elAWS CloudFormation consolas Amazon S3 Amazon EC2 y CodeDeploy olas consolasAWSAPI para realizar la limpieza

Temasbull Para limpiar los recursos (CLI) (p 101)bull Para limpiar los recursos (consola) (p 102)bull Siguientes pasos (p 103)

Para limpiar los recursos (CLI)1 Si utilizoacute la pila de AWS CloudFormation para este tutorial elimiacutenela realizando una llamada al

comando delete-stack para la pila denominada CodeDeployDemoStack Esto termina todas lasinstancias de Amazon EC2 vinculadas y eliminaraacute todos los roles de IAM asociados y creadosoriginalmente por el stack

aws cloudformation delete-stack --stack-name CodeDeployDemoStack

2 Para eliminar el bucket de Amazon S3 llame alrmcomando con el--recursivecambiar contra eldepoacutesito llamadocodedeploydemobucket Asiacute elimina el bucket y todos los objetos que contiene

aws s3 rm s3codedeploydemobucket --recursive

Versioacuten de API 2014-10-06101

AWS CodeDeploy Guiacutea del usuarioPaso 6 Eliminar recursos

3 Para eliminar elHelloWorld_Appdesde CodeDeploy llame aldelete-applicationcomando Estoelimina todos los registros de grupo de implementaciones asociados y los registros de implementacioacutende la aplicacioacuten

aws deploy delete-application --application-name HelloWorld_App

4 Para eliminar la asociacioacuten del Administrador de estados de Systems Manager llame aldelete-associationcomando

aws ssm delete-association --assocation-id association-id

Para obtener el valor de id-asociacioacuten llame al comando describe-association

aws ssm describe-association --name AWS-ConfigureAWSPackage --targets Key=tagNameValues=CodeDeployDemo

5 Si no has usado elAWS CloudFormationpila para este tutorial llame alterminate-instancesparaterminar las instancias de Amazon EC2 que haya creado manualmente Indique el ID de la instanciaAmazon EC2 que desea terminar

aws ec2 terminate-instances --instance-ids instanceId

Para limpiar los recursos (consola)Si ha utilizado la plantilla de AWS CloudFormation para este tutorial elimine la pila de AWSCloudFormation asociada

1 Inicie sesioacuten en la AWS Management Console y abra la consola de AWS CloudFormation en httpsconsoleawsamazoncomcloudformation

2 En el campo de buacutesqueda escriba el nombre de la pila de AWS CloudFormation (por ejemploCodeDeployDemoStack)

3 Seleccione la casilla junto al nombre de la pila4 En el menuacute Actions (Acciones) elija Delete Stack (Eliminar pila) Esto elimina la pila terminaraacute todas

las instancias de Amazon EC2 asociadas y eliminaraacute todos los roles de IAM asociados

Para terminar las instancias de Amazon EC2 que haya creado fuera de unAWS CloudFormationpila

1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2

2 En el aacuterea Instances elija Instances3 En el campo de buacutesqueda escriba el nombre de la instancia Amazon EC2 que desee eliminar y a

continuacioacuten pulseEntrar4 Seleccione la instancia Amazon EC25 Elija Actions seleccione Instance State y elija Terminate Cuando se le pregunte elija Yes Terminate

Repita estos pasos para todas las instancias de Amazon EC2

Para eliminar el bucket de Amazon S3

1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon S3 en httpsconsoleawsamazoncoms3

2 En la lista de buckets busque y seleccione el nombre del bucket de Amazon S3 (porejemplocodedeploydemobucket)

Versioacuten de API 2014-10-06102

AWS CodeDeploy Guiacutea del usuarioTutorial Implementacioacuten de una

aplicacioacuten en una instancia on-premises

3 Para eliminar un bucket primero debe eliminar su contenido Seleccione todos los archivos del bucketcomo HelloWorld_Appzip En el menuacute Actions elija Delete Cuando se le pida confirmar laeliminacioacuten elija OK

4 Una vez vaciacuteo puede eliminar el bucket En la lista de buckets elija la liacutenea del bucket (pero no sunombre) Elija Delete bucket y cuando se le pida que confirme seleccione OK

Para eliminar elHelloWorld_Appaplicacioacuten de CodeDeploy

1 Inicie sesioacuten en elAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary a continuacioacuten seleccioneAplicaciones

3 Elija HelloWorld_App4 Seleccione Delete application (Eliminar aplicacioacuten)5 Cuando se le pregunte escriba Delete y a continuacioacuten elija Delete (Eliminar)

Para eliminar la asociacioacuten del Administrador de estados de Systems Manager

1 Abra el iconoAWS Systems Managerconsola en httpsconsoleawsamazoncomsystems-manager2 En el panel de navegacioacuten elija Administrador de estados3 Elija la asociacioacuten que ha creado y despueacutes elija Eliminar

Siguientes pasosSi ha llegado hasta aquiacute ha realizado correctamente una implementacioacuten con CodeDeploy iexclEnhorabuena

Tutorial Implementar una aplicacioacuten en unainstancia local con CodeDeploy (Windows ServerUbuntu Server o Red Hat Enterprise Linux)

Este tutorial le daraacute experiencia con CodeDeploy guiaacutendole por la implementacioacuten de una revisioacuten de unaaplicacioacuten en una uacutenica instancia on-premises es decir en un dispositivo fiacutesico que no es una instanciaAmazon EC2 con Windows Server Ubuntu Server o Red Hat Enterprise Linux (RHEL) Para obtener maacutesinformacioacuten sobre las instancias on-premises y coacutemo funcionan con CodeDeploy consulteWorking withOn-Premises Instances (p 230)

iquestNo es lo que estaacute buscando

bull Para practicar la implementacioacuten en una instancia Amazon EC2 que ejecuta Amazon Linux o RHELconsulteTutorial Implementar WordPress en una instancia de Amazon EC2 (Amazon Linux o Red HatEnterprise Linux y Linux macOS o Unix) (p 68)

bull Para practicar la implementacioacuten en una instancia Amazon EC2 que ejecuta Windows ServerconsulteTutorial Despliega un laquohola mundoraquo aplicacioacuten con CodeDeploy (Windows Server) (p 87)

Versioacuten de API 2014-10-06103

AWS CodeDeploy Guiacutea del usuarioRequisitos previos

Temasbull Requisitos previos (p 104)bull Paso 1 Configuracioacuten de la instancia on-premises (p 104)bull Paso 2 Creacioacuten de una revisioacuten de aplicacioacuten de muestra (p 104)bull Paso 3 Agrupe y cargue la revisioacuten de la aplicacioacuten en Amazon S3 (p 108)bull Paso 4 Implementar la revisioacuten de la aplicacioacuten (p 108)bull Paso 5 Verificacioacuten de la implementacioacuten (p 108)bull Paso 6 Limpiar recursos (p 108)

Requisitos previosAntes de comenzar este tutorial debe completar los requisitos previos enIntroduccioacuten aCodeDeploy (p 35) que incluyen configurar el usuario de IAM instalar o actualizar elAWS CLIy crear unrol de servicio No es necesario crear un perfil de instancia de IAM como se describe en los requisitosprevios Las instancias on-premises no utilizan perfiles de instancia de IAM

El dispositivo fiacutesico que configuraraacute como instancia on-premises debe emplear uno de los sistemasoperativos indicados en Sistemas operativos compatibles con el agente de CodeDeploy (p 175)

Paso 1 Configuracioacuten de la instancia on-premisesAntes de implementar en la instancia on-premises debe configurarla Siga las instrucciones de Workingwith On-Premises Instances (p 230) y a continuacioacuten vuelva a esta paacutegina

Instalacioacuten del agente de CodeDeployUna vez configurada la instancia on-premises siga los pasos para las instancias on-premises enInstalacioacutendel agente de CodeDeployy vuelva a esta paacutegina

Paso 2 Creacioacuten de una revisioacuten de aplicacioacuten demuestraEn este paso crearaacute una revisioacuten de aplicacioacuten de ejemplo para implementarla en la instancia en lasinstalaciones

Dado que es difiacutecil conocer el software y las caracteriacutesticas que ya estaacuten instalados -o que las poliacuteticasde su organizacioacuten permiten instalar- en la instancia on-premises la revisioacuten de aplicacioacuten de ejemploque incluimos aquiacute usa simplemente scripts por lotes (en Windows Server) o scripts shell (en UbuntuServer y RHEL) para escribir archivos de texto en una ubicacioacuten de la instancia on-premises Seescribe un archivo en cada uno de los eventos del ciclo de vida de la implementacioacuten de CodeDeploycomoInstalarAfterInstallApplicationStart yValidateService Durante el evento BeforeInstall del ciclode vida de la implementacioacuten se ejecutaraacute un script para eliminar los archivos antiguos escritos en lasimplementaciones anteriores de este ejemplo y crear una ubicacioacuten en la instancia on-premises en la queescribir los archivos nuevos

Note

La implementacioacuten de la revisioacuten de aplicacioacuten de ejemplo puede fallar si se da cualquiera de lassiguientes circunstancias

bull La cuenta de usuario que inicia el agente de CodeDeploy en la instancia on-premises no tienepermiso para ejecutar scripts

Versioacuten de API 2014-10-06104

AWS CodeDeploy Guiacutea del usuarioPaso 2 Creacioacuten de una revisioacuten de aplicacioacuten de muestra

bull La cuenta de usuario no tiene permiso para crear o eliminar carpetas en las ubicacionesindicadas en los scripts

bull La cuenta de usuario no tiene permiso para crear archivos de texto en las ubicaciones indicadasen los scripts

Note

Si ha configurado una instancia de Windows Server y desea implementar un ejemplo diferentepuede ser uacutetil usar el indicado enPaso 2 Configurar el contenido de origen para implementarloen la instancia de Amazon EC2 de Windows Server (p 90)en laTutorial Despliega un laquoholamundoraquo aplicacioacuten con CodeDeploy (Windows Server) (p 87)Hello WorldSi ha configurado una instancia de RHEL y desea implementar un ejemplo diferente puedeser uacutetil usar el indicado enPaso 2 Configurar el contenido de origen para implementarlo enla instancia Amazon Linux o Red Hat Enterprise Linux Amazon EC2 (p 70)en laTutorialImplementar WordPress en una instancia de Amazon EC2 (Amazon Linux o Red Hat EnterpriseLinux y Linux macOS o Unix) (p 68)Hello WorldEn la actualidad no hay ninguacuten ejemplo alternativo para Ubuntu Server

1 En el equipo de desarrollo cree un subdirectorio (subcarpeta) con el nombre CodeDeployDemo-OnPrem para almacenar los archivos de la revisioacuten de aplicacioacuten de ejemplo y a continuacioacuten situacuteeseen esa subcarpeta En este ejemplo se supone que usaraacute lactempcarpeta como carpeta raiacutez deWindows Server otmpcarpeta como carpeta raiacutez de Ubuntu Server y RHEL Si utiliza una carpetadiferente aseguacuterese de indicarla en lugar de la anterior en todo el tutorial

Para Windows

mkdir ctempCodeDeployDemo-OnPremcd ctempCodeDeployDemo-OnPrem

Para Linux macOS o Unix

mkdir tmpCodeDeployDemo-OnPremcd tmpCodeDeployDemo-OnPrem

2 En la raiacutez de la subcarpeta CodeDeployDemo-OnPrem utilice en editor de texto para crear dosarchivos con los nombres appspecyml e installtxt

appspecymlpara Windows Server

version 00os windowsfiles - source installtxt destination ctempCodeDeployExamplehooks BeforeInstall - location scriptsbefore-installbat timeout 900 AfterInstall - location scriptsafter-installbat timeout 900 ApplicationStart - location scriptsapplication-startbat timeout 900 ValidateService - location scriptsvalidate-servicebat timeout 900

Versioacuten de API 2014-10-06105

AWS CodeDeploy Guiacutea del usuarioPaso 2 Creacioacuten de una revisioacuten de aplicacioacuten de muestra

appspecymlpara Ubuntu Server y RHEL

version 00os linuxfiles - source installtxt destination tmpCodeDeployExamplehooks BeforeInstall - location scriptsbefore-installsh timeout 900 AfterInstall - location scriptsafter-installsh timeout 900 ApplicationStart - location scriptsapplication-startsh timeout 900 ValidateService - location scriptsvalidate-servicesh timeout 900

Para obtener maacutes informacioacuten acerca de los archivos de AppSpec consulte Agregar un archivode especificacioacuten de aplicacioacuten a una revisioacuten de CodeDeploy (p 308) y Referencia del archivoCodeDeploy AppSpec (p 407)

installtxt

The Install deployment lifecycle event successfully completed

3 En la raiacutez de la subcarpeta CodeDeployDemo-OnPrem cree una subcarpeta scripts y situacuteese enella

Para Windows

mkdir ctempCodeDeployDemo-OnPremscriptscd ctempCodeDeployDemo-OnPremscripts

Para Linux macOS o Unix

mkdir -p tmpCodeDeployDemo-OnPremscriptscd tmpCodeDeployDemo-OnPremscripts

4 En la raiacutez de lascriptssubcarpeta utilice un editor de texto para crear cuatro archivos con losnombresbefore-installbatafter-installbatapplication-startbat yvalidate-servicebatpara Windows Server obefore-installshafter-installshapplication-startsh yvalidate-serviceshpara Ubuntu Server y RHEL

Para Windows Server

before-installbat

set FOLDER=HOMEDRIVEtempCodeDeployExample

if exist FOLDER ( rd s q FOLDER)

mkdir FOLDER

Versioacuten de API 2014-10-06106

AWS CodeDeploy Guiacutea del usuarioPaso 2 Creacioacuten de una revisioacuten de aplicacioacuten de muestra

after-installbat

cd HOMEDRIVEtempCodeDeployExample

echo The AfterInstall deployment lifecycle event successfully completed gt after-installtxt

application-startbat

cd HOMEDRIVEtempCodeDeployExample

echo The ApplicationStart deployment lifecycle event successfully completed gt application-starttxt

validate-servicebat

cd HOMEDRIVEtempCodeDeployExample

echo The ValidateService deployment lifecycle event successfully completed gt validate-servicetxt

Para Ubuntu Server y RHEL

before-installsh

binbashexport FOLDER=tmpCodeDeployExample

if [ -d $FOLDER ]then rm -rf $FOLDERfi

mkdir -p $FOLDER

after-installsh

binbashcd tmpCodeDeployExample

echo The AfterInstall deployment lifecycle event successfully completed gt after-installtxt

application-startsh

binbashcd tmpCodeDeployExample

echo The ApplicationStart deployment lifecycle event successfully completed gt application-starttxt

validate-servicesh

binbashcd tmpCodeDeployExample

Versioacuten de API 2014-10-06107

AWS CodeDeploy Guiacutea del usuarioPaso 3 Agrupe y cargue la revisioacuten

de la aplicacioacuten en Amazon S3

echo The ValidateService deployment lifecycle event successfully completed gt validate-servicetxt

unset FOLDER

5 Solo para Ubuntu Server y RHEL aseguacuterese de que los cuatro scripts tengan permisos de ejecucioacuten

chmod +x scripts

Paso 3 Agrupe y cargue la revisioacuten de la aplicacioacuten enAmazon S3Para poder implementar la revisioacuten de la aplicacioacuten antes tiene que agrupar sus archivos y cargarel paquete en un bucket de Amazon S3 Siga las instrucciones en Crear una aplicacioacuten conCodeDeploy (p 273) y Enviar una revisioacuten de CodeDeploy en Amazon S3 (solo implementacionesde EC2locales) (p 316) (Aunque puede dar cualquier nombre a la aplicacioacuten y al grupo deimplementaciones le recomendamos especificar CodeDeploy-OnPrem-App como nombre para laaplicacioacuten y CodeDeploy-OnPrem-DG como nombre del grupo de implementaciones) Una vez que hayacompletado las instrucciones vuelve a esta paacutegina

Note

Como alternativa puede cargar el paquete de archivos en un repositorio de GitHub eimplementarlo desde alliacute Para obtener maacutes informacioacuten consulte Integracioacuten de CodeDeploy conGitHub (p 63)

Paso 4 Implementar la revisioacuten de la aplicacioacutenUna vez cargada la revisioacuten de la aplicacioacuten en un bucket de Amazon S3 intente implementarla en lainstancia on-premises Siga las instrucciones de Cree una implementacioacuten con CodeDeploy (p 324) y acontinuacioacuten vuelva a esta paacutegina

Paso 5 Verificacioacuten de la implementacioacutenPara comprobar si la implementacioacuten se ha realizado correctamente siga las instrucciones de Ver detallesde implementacioacuten de CodeDeploy (p 340) y a continuacioacuten vuelva a esta paacutegina

Si la implementacioacuten se ha realizado correctamente encontraraacute cuatro archivos de texto en lactempCodeDeployExamplecarpeta (para Windows Server) otmpCodeDeployExample(para UbuntuServer y RHEL)

Si la implementacioacuten ha fallado siga los pasos de resolucioacuten de problemas de View InstanceDetails (p 258) y Solucioacuten de problemas de instancias (p 472) Haga las correcciones necesariasvuelva a empaquetar y cargar la revisioacuten de la aplicacioacuten e intente implementarla de nuevo

Paso 6 Limpiar recursosPara evitar cargos recurrentes por los recursos que ha creado para este tutorial elimine el bucket deAmazon S3 si no va a utilizarlo Tambieacuten puede limpiar los recursos asociados como los registros de laaplicacioacuten y del grupo de implementaciones en CodeDeploy y la instancia on-premises

Puede utilizar elAWS CLIo una combinacioacuten de las consolas CodeDeploy y Amazon S3 yAWS CLIparalimpiar los recursos

Versioacuten de API 2014-10-06108

AWS CodeDeploy Guiacutea del usuarioPaso 6 Limpiar recursos

Limpieza de recursos (CLI)Para eliminar el bucket de Amazon S3

bull Ejecute el comando rm con el modificador --recursive para el bucket (por ejemplocodedeploydemobucket) El bucket y todos los objetos que contiene se eliminaraacuten

aws s3 rm s3your-bucket-name --recursive

Para eliminar los registros de la aplicacioacuten y el grupo de implementaciones en CodeDeploy

bull Llame a laeliminar aplicacioacutencomando contra la aplicacioacuten (por ejemploCodeDeploy-OnPrem-App)Los registros de la implementacioacuten y del grupo de implementaciones se eliminaraacuten

aws deploy delete-application --application-name your-application-name

Para cancelar el registro de la instancia on-premises y eliminar el usuario de IAM

bull Llame a laAnular registrocomando para la instancia on-premises y la regioacuten

aws deploy deregister --instance-name your-instance-name --delete-iam-user --region your-region

Note

Si no desea eliminar el usuario de IAM asociado a esta instancia on-premises utilice la--no-delete-iam-useropcioacuten en su lugar

Para desinstalar el agente de CodeDeploy y eliminar el archivo de configuracioacuten de la instanciaon-premises

bull Desde la instancia on-premises ejecute ladesinstalarcomando

aws deploy uninstall

Ha completado todos los pasos para limpiar los recursos utilizados en este tutorial

Limpieza de recursos (consola)Para eliminar el bucket de Amazon S3

1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon S3 en httpsconsoleawsamazoncoms3

2 Elija el icono junto al bucket que desea eliminar (por ejemplo codedeploydemobucket) pero noelija el bucket en siacute

3 Elija Acciones y a continuacioacuten elija Eliminar4 Cuando se le pida confirmacioacuten de que desea eliminar el bucket elija OK

Versioacuten de API 2014-10-06109

AWS CodeDeploy Guiacutea del usuarioTutorial Implementar en un grupo de Auto Scaling

Para eliminar los registros de la aplicacioacuten y el grupo de implementaciones en CodeDeploy

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten elija Applications (Aplicaciones)3 Elija el nombre de la aplicacioacuten que desea eliminar (por ejemplo CodeDeploy-OnPrem-App) y a

continuacioacuten elija Delete application (Eliminar aplicacioacuten)4 Cuando se le solicite introduzca el nombre de la aplicacioacuten para confirmar que desea eliminarla y

seleccione Delete (Eliminar)

No puede usar laAWS CodeDeploypara cancelar el registro de la instancia on-premises o para desinstalarel agente de CodeDeploy Siga las instrucciones en Para cancelar el registro de la instancia on-premises yeliminar el usuario de IAM (p 109)

Tutorial UsarCodeDeploypara implementar unaaplicacioacuten en un grupo de Auto Scaling

En este tutorial utilizaraacuteCodeDeployPara implementar una revisioacuten de una aplicacioacuten en un grupo de AutoScaling Amazon EC2 Auto Scaling lanza instancias de Amazon EC2 mediante condiciones predefinidasy a continuacioacuten termina esas instancias cuando ya no son necesarias Amazon EC2 Auto Scaling puedeayudarCodeDeployescalar garantizando que siempre cuenta con la cantidad correcta de instancias deAmazon EC2 disponibles para controlar la carga de implementaciones Para obtener informacioacuten acercade la integracioacuten de Amazon EC2 Auto Scaling conCodeDeploy consulteIntegracioacuten de CodeDeploy conAmazon EC2 Auto Scaling (p 53)

Temasbull Requisitos previos (p 110)bull Paso 1 Creacioacuten y configuracioacuten del grupo de Auto Scaling (p 111)bull Paso 2 Implementar la aplicacioacuten en el grupo de Auto Scaling (p 115)bull Paso 3 Compruebe sus resultados (p 121)bull Paso 4 Aumente el nuacutemero de instancias de Amazon EC2 en el grupo de Auto Scaling (p 122)bull Paso 5 Vuelve a comprobar los resultados (p 123)bull Paso 6 Eliminar recursos (p 125)

Requisitos previosPara seguir en este tutorial

bull Complete todos los pasos delIntroduccioacuten a CodeDeploy (p 35) incluida la configuracioacuten y configuracioacutendelAWS CLIy creacioacuten de un perfil de instancia de IAM (CodeDeployDemo-EC2-Instance-Profile)y un rol de servicio (CodeDeployDemo) UNARol de servicio dees un tipo especial de rol de IAM que daa un servicio permiso para actuar en nombre de un usuario

bull Si crea un grupo de Auto Scaling con una plantilla de lanzamiento debe agregar los siguientes permisosbull ec2RunInstances

bull ec2CreateTags

Versioacuten de API 2014-10-06110

AWS CodeDeploy Guiacutea del usuarioPaso 1 Creacioacuten y configuracioacuten del grupo de Auto Scaling

bull iamPassRole

Para obtener maacutes informacioacuten consultePaso 2 Crear un rol de servicio (p 36)Creacioacuten de una plantillade lanzamiento para un grupo de Auto Scaling yCompatibilidad con las plantillas de lanzamientoenlaGuiacutea del usuario de Amazon EC2 Auto Scaling

bull Cree y utilice una revisioacuten que sea compatible con una instancia de Ubuntu Server yCodeDeploy Parasu revisioacuten puede realizar una de las siguientes accionesbull Cree y utilice la revisioacuten de ejemplo en Paso 2 Creacioacuten de una revisioacuten de aplicacioacuten de

muestra (p 104) en el tutorial Tutorial Implementar una aplicacioacuten en una instancia local conCodeDeploy (Windows Server Ubuntu Server o Red Hat Enterprise Linux) (p 103)

bull Para crear su propia revisioacuten consulte Uso de revisiones de aplicaciones de CodeDeploy (p 307)bull Crear un grupo de seguridad denominadoCodeDeployDemo-AS-SGcon los siguientes ejemplos

deRegla de entradabull Type HTTPbull Origen Dondequiera

Esto es necesario para ver la aplicacioacuten y verificar el eacutexito de la implementacioacuten Para obtenerinformacioacuten sobre coacutemo crear un grupo de seguridad consulteCrear un grupo de seguridaden laGuiacutea delusuario de Amazon EC2

Paso 1 Creacioacuten y configuracioacuten del grupo de AutoScalingEn este paso crearaacute un grupo de Auto Scaling que contiene una uacutenica instancia Amazon EC2 de AmazonLinux RHEL o Windows Server En un paso posterior indicaraacute a Amazon EC2 Auto Scaling que antildeada otrainstancia de Amazon EC2 yCodeDeployimplementaraacute la revisioacuten en eacutel

Temasbull Para crear y configurar el grupo de Auto Scaling (CLI) (p 111)bull Para crear y configurar el grupo de Auto Scaling (consola) (p 114)

Para crear y configurar el grupo de Auto Scaling (CLI)1 Llame a lacreate-launch-templatepara crear una plantilla de lanzamiento de Amazon EC2

Antes de invocar este comando necesitaraacute el ID de una AMI adecuada para este tutorialrepresentado por el marcador de posicioacuten image-id Tambieacuten necesitaraacute el nombre de un key pairde instancia Amazon EC2 para permitir el acceso a la instancia de Amazon EC2 representado por elmarcador de posicioacutenNombre de clave

Para obtener el ID de una AMI adecuada para este tutorial

a Abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2b En el panel de navegacioacuten en Instances elija Instances y seleccione Launch Instancec En la paacuteginaQuick Start (Inicio raacutepido)Pestantildea dePaacutegina Choose an Amazon Machine Image

(Elegir una Amazon Machine Image) observe el ID de la AMI junto aAMI de Amazon Linux 2RedHat Enterprise Linux 71Ubuntu Server 1404 LTS o bienMicrosoft Windows Server 2012 R2

Note

Si dispone de una versioacuten personalizada de una AMI que sea compatible conCodeDeploy eliacutejala aquiacute en lugar de buscarla en la pestantildea Quick Start (Inicio raacutepido)

Versioacuten de API 2014-10-06111

AWS CodeDeploy Guiacutea del usuarioPaso 1 Creacioacuten y configuracioacuten del grupo de Auto Scaling

Para obtener informacioacuten sobre el uso de una AMI personalizada conCodeDeployyAmazon EC2 Auto Scaling consulteUso de una AMI personalizada con CodeDeploy yAmazon EC2 Auto Scaling (p 57)

Como key pair de la instancia de Amazon EC2 indique el nombre del key pair de su instancia deAmazon EC2

Ejecute el comando create-launch-template

En maacutequinas Linux macOS o Unix locales

aws ec2 create-launch-template --launch-template-name CodeDeployDemo-AS-Launch-Template --launch-template-data fileconfigjson

Contenido delconfigjsonfile

InstanceTypet1micro ImageIdimage-id IamInstanceProfile NameCodeDeployDemo-EC2-Instance-Profile KeyNamekey-name

En los equipos locales con Windows

aws ec2 create-launch-template --launch-template-name CodeDeployDemo-AS-Launch-Template --launch-template-data fileconfigjson

Contenido delconfigjsonfile

InstanceTypet1micro ImageIdimage-id IamInstanceProfile NameCodeDeployDemo-EC2-Instance-Profile KeyNamekey-name

Estos comandos junto con elconfigjson cree una plantilla de lanzamiento de Amazon EC2llamadaCodeDeployPlantilla de demostracioacuten como lanzamiento para su grupo de Auto Scalingque se crearaacute en un paso siguiente seguacuten el tipo de instancia t1micro Amazon EC2 Basado entus aportaciones paraImageIdIamInstanceProfile yKeyName la plantilla de lanzamientotambieacuten especifica el ID de AMI el nombre del perfil de instancia asociado con el rol de IAM que seva a transferir a las instancias en el lanzamiento y el key pair de Amazon EC2 que se va a utilizar alconectarse a las instancias

2 Llame a lacreate-auto-scaling-grouppara crear un grupo de Auto Scaling Necesitaraacute el nombre de unade las zonas de disponibilidad de una de las regiones enumeradas enRegioacuten y puntos de enlaceenlaAWSReferencia general de representado por el marcador de posicioacutenAvailability zone

Note

Para ver una lista de las zonas de disponibilidad de una regioacuten ejecute este comandoVersioacuten de API 2014-10-06

112

AWS CodeDeploy Guiacutea del usuarioPaso 1 Creacioacuten y configuracioacuten del grupo de Auto Scaling

aws ec2 describe-availability-zones --region region-name

Por ejemplo para ver una lista de zonas de disponibilidad de la regioacuten EE UU Oeste(Oregoacuten) ejecute el comando siguiente

aws ec2 describe-availability-zones --region us-west-2

Para obtener una lista de los identificadores de nombres de regioacuten consulte Nombres debuckets del kit de recursos por regioacuten (p 449)

En maacutequinas Linux macOS o Unix locales

aws autoscaling create-auto-scaling-group --auto-scaling-group-name CodeDeployDemo-AS-Group --launch-template CodeDeployDemo-AS-Launch-TemplateVersion=$Latest --min-size 1 --max-size 1 --desired-capacity 1 --availability-zones availability-zone --tags Key=NameValue=CodeDeployDemoPropagateAtLaunch=true

En los equipos locales con Windows

aws autoscaling create-auto-scaling-group --auto-scaling-group-name CodeDeployDemo-AS-Group --launch-template CodeDeployDemo-AS-Launch-TemplateVersion=$Latest --min-size 1 --max-size 1 --desired-capacity 1 --availability-zones availability-zone --tags Key=NameValue=CodeDeployDemoPropagateAtLaunch=true

Estos comandos crean un grupo de Auto Scaling denominadoCodeDeployDemo-AS-Groupbasadoen la plantilla de lanzamiento de Amazon EC2 denominadaCodeDeployDemo-AS-Launch-Template Este grupo de Auto Scaling tiene una uacutenica instancia de Amazon EC2 y se crea enla zona de disponibilidad especificada Cada instancia de este grupo de Auto Scaling tendraacute laetiquetaName=CodeDeployDemo La etiqueta se usaraacute al instalar el agente de CodeDeploy maacutesadelante

3 Ejecute el comando describe-auto-scaling-groups con CodeDeployDemo-AS-Group

aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names CodeDeployDemo-AS-Group --query AutoScalingGroups[0]Instances[][HealthStatus LifecycleState] --output text

No continuacutee hasta que los valores devueltos indiquen Healthy y InService4 Las instancias de un grupo de Auto Scaling deben tener laCodeDeployagente instalado para ser

utilizado enCodeDeployImplementaciones Instalacioacuten delCodeDeployagente llamando alcreate-associationcomando deAWS Systems Managercon las etiquetas que se agregaron al crear el grupo deAuto Scaling

aws ssm create-association --name AWS-ConfigureAWSPackage --targets Key=tagNameValues=CodeDeployDemo --parameters action=Install name=AWSCodeDeployAgent --schedule-expression cron(0 2 SUN )

Versioacuten de API 2014-10-06113

AWS CodeDeploy Guiacutea del usuarioPaso 1 Creacioacuten y configuracioacuten del grupo de Auto Scaling

Este comando crea una asociacioacuten en el Administrador de estado de Systems Manager que instalaraacuteelCodeDeployagente en todas las instancias del grupo de Auto Scaling y a continuacioacuten intenteactualizarla todos los domingos por la mantildeana a las 200 Para obtener maacutes informacioacuten acerca delaCodeDeployagente consulteUso delCodeDeployagente Para obtener maacutes informacioacuten acerca deSystems Manager consulteiquestQueacute es AWS Systems Manager

Para crear y configurar el grupo de Auto Scaling (consola)1 Abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec22 En la barra de navegacioacuten global aseguacuterese de que una de las regiones enumeradas enRegioacuten y

puntos de enlaceen laAWSReferencia general deestaacute seleccionado Los recursos de Amazon EC2Auto Scaling estaacuten asociados a la regioacuten especificada yCodeDeploysolo se admite en regionesseleccionadas

3 En la barra de navegacioacuten enInstancias eligePlantillas de lanzamiento4 Elija Create launch template (Crear plantilla de lanzamiento)5 En el navegadorNombre y descripcioacuten de la plantilla de lanzamiento paraNombre de la plantilla

de lanzamiento introduzcaCodeDeployDemo-AS-Launch-Template Mantenga los valorespredeterminados para el resto de los campos

6 En el navegadorImagen de maacutequina de Amazon (AMI) haz clic en el menuacute desplegable deAMI elijauna AMI adecuada para este tutorial

bull En la paacuteginaQuick Start (Inicio raacutepido)Pestantildea deAMIdesplegable elija una de las siguientesopciones AMI de Amazon Linux 2Red Hat Enterprise Linux 71Ubuntu Server 1404 LTS obienMicrosoft Windows Server 2012 R2

Note

Si dispone de una versioacuten personalizada de una AMI que sea compatible conCodeDeploy eliacutejala aquiacute en lugar de buscarla en la pestantildea Quick Start (Inicio raacutepido)Para obtener informacioacuten sobre el uso de una AMI personalizada conCodeDeployyAmazon EC2 Auto Scaling consulteUso de una AMI personalizada con CodeDeploy yAmazon EC2 Auto Scaling (p 57)

7 EnTipo de instancia selecciona el menuacute desplegable y eliget1micro Puede utilizar la barra debuacutesqueda para encontrarlo con maacutes rapidez

8 En el navegadorPar de claves (inicio de sesioacuten) seleccioneElija un key pair existente En elnavegadorSeleccionar un par de clavesElija el key pair de instancia de Amazon EC2 que ha creado ousado en los pasos anteriores

9 En el navegadorNetwork settings (Configuracioacuten de red) seleccioneVirtual Public Cloud (VPC)

En el navegadorGrupos de seguridadEn la lista desplegable elija el grupo de seguridad que ha creadoen laseccioacuten de requisitos previos del tutorial(CodeDeployDemo-AS-SG)

10 AmpliacuteeDetalles avanzadoscuadro de diaacutelogo En el navegadorPerfil de instancia IAMdesplegableseleccione el rol de IAM que ha creado anteriormente (CodeDeployDemo-EC2-Instance-Profile) enPerfil de instancia IAM

Deje el resto de las opciones predeterminadas11 Elija Create launch template (Crear plantilla de lanzamiento)12 En el navegadorPasos siguientes seleccioneCrear grupo de Auto Scaling13 En la paacuteginaElija la plantilla de lanzamiento o la configuracioacuten paraNombre de grupo de Auto Scaling

tipoCodeDeployDemo-AS-Group14 En el navegadorPlantilla de lanzamientocuadro de diaacutelogo la plantilla de lanzamiento

(CodeDeployDemo-AS-Launch-Template) debe rellenarse si no seleccioacutenela en el menuacutedesplegable Deje los valores predeterminados y elijaProacuteximo

Versioacuten de API 2014-10-06114

AWS CodeDeploy Guiacutea del usuarioPaso 2 Implementar la aplicacioacuten

en el grupo de Auto Scaling

15 En la paacuteginaPaacutegina Elegir opciones de lanzamiento de instancias en elRed paraVPC elija laVPC predeterminada A continuacioacuten paraZonas de disponibilidad y subredes elija una subredpredeterminada Debe crear una VPC si no puede elegir la predeterminada Para obtener maacutesinformacioacuten consulteIntroduccioacuten a Amazon VPC

16 En el navegadorNecesidades de tipo de instancia utilice la configuracioacuten predeterminada parasimplificar este paso (No anule la plantilla de lanzamiento) En este tutorial solo lanzaraacute instanciasbajo demanda con el tipo de instancia especificado en la plantilla de lanzamiento

17 Elija Next (Siguiente) para ir a la paacutegina Configure advanced options (Configuracioacuten de opcionesavanzadas)

18 Conserve los valores predeterminados y elijaProacuteximo19 En la paacuteginaConfigure el tamantildeo del grupo y las poliacuteticas de escalado conserve el valor

predeterminadoTamantildeo del grupovalores de 1 Elija Next( Siguiente)20 Omita el paso para configurar notificaciones y elijaProacuteximo21 En la paacuteginaAgregue etiquetas agregue una etiqueta para usarla al instalar elCodeDeployagente maacutes

tarde Elija Add tag

a En Key (Clave) introduzca Nameb En Valor escriba CodeDeployDemo

Elija Next( Siguiente)22 Revisar la informacioacuten del grupo de Auto Scaling enReview (Revisar)paacutegina y a continuacioacuten

eligeCrear grupo de Auto Scaling23 En la barra de navegacioacuten conGrupos de Auto Scalingseleccionado eligeCodeDeployDemo-

AS-Groupy luego elija laAdministracioacuten de instanciasPestantildea No continuacutee hasta que el valordeInServiceaparece en elCiclo de vidacolumna y el valor deSaludableaparece en elEstado demantenimiento decolumn

24 Instalacioacuten delCodeDeployagente siguiendo los pasos descritos enInstalacioacuten delCodeDeployagenteyutilizar elName=CodeDeployDemoEtiquetas de instancias

Paso 2 Implementar la aplicacioacuten en el grupo de AutoScalingEn este paso implementaraacute la revisioacuten en la uacutenica instancia Amazon EC2 del grupo de Auto Scaling

Temasbull Para crear la implementacioacuten (CLI) (p 115)bull Para crear la implementacioacuten (consola) (p 118)

Para crear la implementacioacuten (CLI)1 Ejecute el comando create-application para crear una aplicacioacuten denominada SimpleDemoApp

aws deploy create-application --application-name SimpleDemoApp

2 Ya debe haber creado un rol de servicio siguiendo las instrucciones del Paso 2 Creacioacuten de un rolde servicio para CodeDeploy (p 36) El rol de servicio daraacuteCodeDeploypermiso para acceder a susinstancias de Amazon EC2 y expandir (leer) sus etiquetas Necesitaraacute el rol de servicio ARN Paraobtener el rol de servicio ARN siga las instrucciones de Obtenga el ARN del rol de servicio (CLI) (p 41)

Versioacuten de API 2014-10-06115

AWS CodeDeploy Guiacutea del usuarioPaso 2 Implementar la aplicacioacuten

en el grupo de Auto Scaling

3 Ahora que tiene un ARN de rol de servicio llame alcreate-deployment-grouppara crearun grupo de implementaciones denominadoSimpleDemoDG asociada con la aplicacioacutendenominadaSimpleDemoApp mediante el grupo de Auto Scaling denominadoCodeDeployDemo-AS-Groupy configuracioacuten de implementacioacuten denominadaCodeDeployDefaultOneAtATime conel rol de servicio ARN especificado

Note

Lacreate-deployment-groupproporciona soporte para crear activadores que dan comoresultado el enviacuteo de notificaciones de Amazon SNS a los suscriptores de temas sobreeventos especiacuteficos en implementaciones e instancias El comando tambieacuten admite opcionespara revertir automaacuteticamente las implementaciones y configurar alarmas para detener lasimplementaciones al supervisar los umbrales en AmazonCloudWatchse cumplen las alarmasLos comandos de estas acciones no se incluyen en este tutorial

En maacutequinas Linux macOS o Unix locales

aws deploy create-deployment-group --application-name SimpleDemoApp --auto-scaling-groups CodeDeployDemo-AS-Group --deployment-group-name SimpleDemoDG --deployment-config-name CodeDeployDefaultOneAtATime --service-role-arn service-role-arn

En los equipos locales con Windows

aws deploy create-deployment-group --application-name SimpleDemoApp --auto-scaling-groups CodeDeployDemo-AS-Group --deployment-group-name SimpleDemoDG --deployment-config-name CodeDeployDefaultOneAtATime --service-role-arn service-role-arn

4 Ejecute el comando create-deployment para crear una implementacioacuten asociada a la aplicacioacutenSimpleDemoApp la configuracioacuten de implementacioacuten CodeDeployDefaultOneAtATime y elgrupo de implementaciones SimpleDemoDG utilizando la revisioacuten que se encuentra en el lugarespecificado

Para instancias Amazon Linux y RHEL Amazon EC2 llamadas desde maacutequinas Linux macOS o Unixlocales

aws deploy create-deployment --application-name SimpleDemoApp --deployment-config-name CodeDeployDefaultOneAtATime --deployment-group-name SimpleDemoDG --s3-location bucket=bucket-namebundleType=zipkey=sampleslatestSampleApp_Linuxzip

nombre-bucketes el nombre del bucket de Amazon S3 que contiene elCodeDeployArchivos delkit de recursos para su regioacuten Por ejemplo para la regioacuten EE UU Este (Ohio) sustituyanombre-bucketconaws-codedeploy-us-east-2 Para obtener una lista de los nombres de los bucketsconsulteNombres de buckets del kit de recursos por regioacuten (p 449)

Para instancias de Amazon EC2 y RHEL ejecutando desde equipos Windows locales

aws deploy create-deployment --application-name SimpleDemoApp --deployment-config-name CodeDeployDefaultOneAtATime --deployment-group-name SimpleDemoDG --s3-location bucket=bucket-namebundleType=zipkey=sampleslatestSampleApp_Linuxzip

Versioacuten de API 2014-10-06116

AWS CodeDeploy Guiacutea del usuarioPaso 2 Implementar la aplicacioacuten

en el grupo de Auto Scaling

nombre-bucketes el nombre del bucket de Amazon S3 que contiene elCodeDeployArchivos delkit de recursos para su regioacuten Por ejemplo para la regioacuten EE UU Este (Ohio) sustituyanombre-bucketconaws-codedeploy-us-east-2 Para obtener una lista de los nombres de los bucketsconsulteNombres de buckets del kit de recursos por regioacuten (p 449)

Para instancias de Amazon EC2 de Windows Server llamadas desde maacutequinas Linux macOS o Unixlocales

aws deploy create-deployment --application-name SimpleDemoApp --deployment-config-name CodeDeployDefaultOneAtATime --deployment-group-name SimpleDemoDG --s3-location bucket=bucket-namebundleType=zipkey=sampleslatestSampleApp_Windowszip

nombre-bucketes el nombre del bucket de Amazon S3 que contiene elCodeDeployArchivos delkit de recursos para su regioacuten Por ejemplo para la regioacuten EE UU Este (Ohio) sustituyanombre-bucketconaws-codedeploy-us-east-2 Para obtener una lista de los nombres de los bucketsconsulteNombres de buckets del kit de recursos por regioacuten (p 449)

Para instancias de Amazon EC2 de Windows Server ejecutando desde equipos Windows locales

aws deploy create-deployment --application-name SimpleDemoApp --deployment-config-name CodeDeployDefaultOneAtATime --deployment-group-name SimpleDemoDG --s3-location bucket=bucket-namebundleType=zipkey=sampleslatestSampleApp_Windowszip

nombre-bucketes el nombre del bucket de Amazon S3 que contiene elCodeDeployArchivos delkit de recursos para su regioacuten Por ejemplo para la regioacuten EE UU Este (Ohio) sustituyanombre-bucketconaws-codedeploy-us-east-2 Para obtener una lista de los nombres de los bucketsconsulteNombres de buckets del kit de recursos por regioacuten (p 449)

Note

En la actualidadCodeDeployNo ofrece una revisioacuten de ejemplo para implementar eninstancias de Amazon EC2 de Ubuntu Server Para crear su propia revisioacuten consulte Uso derevisiones de aplicaciones de CodeDeploy (p 307)

5 Ejecute el comando get-deployment para asegurarse de que la implementacioacuten se ha realizadocorrectamente

Antes de ejecutar este comando necesitaraacute el ID de la implementacioacuten que debe haberobtenido tras ejecutar el comando create-deployment Si necesita obtener de nuevo el ID de laimplementacioacuten ejecute el comando list-deployments para la aplicacioacuten SimpleDemoApp y el grupode implementaciones SimpleDemoDG

aws deploy list-deployments --application-name SimpleDemoApp --deployment-group-name SimpleDemoDG --query deployments --output text

Llame ahora al comando get-deployment utilizando el ID de la implementacioacuten

aws deploy get-deployment --deployment-id deployment-id --query deploymentInfostatus --output text

No continuacutee hasta que el valor devuelto sea Succeeded

Versioacuten de API 2014-10-06117

AWS CodeDeploy Guiacutea del usuarioPaso 2 Implementar la aplicacioacuten

en el grupo de Auto Scaling

Para crear la implementacioacuten (consola)1 Ya debe haber creado un rol de servicio siguiendo las instrucciones del Paso 2 Creacioacuten de un rol

de servicio para CodeDeploy (p 36) El rol de servicio daraacute a CodeDeploy permiso para accedera sus instancias y expandir (leer) sus etiquetas Antes de utilizar la consola de CodeDeploy paraimplementar la revisioacuten de la aplicacioacuten necesitaraacute el rol de servicio ARN Para obtener el rol deservicio ARN siga las instrucciones de Obtenga el ARN del rol de servicio (consola) (p 40)

2 Ahora que tiene el rol de servicio ARN puede utilizar la consola de CodeDeploy para implementar larevisioacuten de la aplicacioacuten

Inicie sesioacuten en laAWS Management Consoley abra elCodeDeployConsola de enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

3 En el panel de navegacioacuten expandaDesplegary luego seleccioneAplicaciones4 Elija Create application5 Elija Custom application (Aplicacioacuten personalizada)6 En Application name (Nombre de aplicacioacuten) escriba SimpleDemoApp7 En Compute platform (Plataforma de computacioacuten) elija EC2On-Premises8 Elija Create application9 En la pestantildea Deployment groups (Grupos de implementaciones) elija Create deployment group

(Crear grupo de implementaciones)10 En Deployment group name (Nombre de grupo de implementacioacuten) escriba SimpleDemoDG11 En Service Role (Rol de servicio) elija el nombre del rol de servicio12 En Deployment type (Tipo de implementacioacuten) elija In-place (In situ)13 EnConfiguracioacuten del entornoseleccionarGrupos de Auto Scalingy luego seleccioneCodeDeployDemo-

AS-Group14 EnConfiguracioacuten de implementacioacuten eligeCodeDeployPredeterminadaOneAtAhora15 Desactive Enable load balancing (Habilitar balanceo de carga)16 Elija Create deployment group17 En la paacutegina del grupo de implementaciones elija Create deployment (Crear implementacioacuten)18 EnTipo de revisioacuten eligeMi aplicacioacuten se almacena en Amazon S319 En Revision location (Ubicacioacuten de la revisioacuten) introduzca la ubicacioacuten de la aplicacioacuten de ejemplo

para el sistema operativo y la regioacuten

Para instancias Amazon Linux y RHEL Amazon EC2

Regioacuten Ubicacioacuten de aplicacioacuten de ejemplo

Regioacuten del este de EE UU (Ohio) https3-us-east-2amazonawscomaws-codedeploy-us-east-2sampleslatestSampleApp_Linuxzip

Regioacuten del este de EE UU (N Virginia) https3amazonawscomaws-codedeploy-us-east-1sampleslatestSampleApp_Linuxzip

Versioacuten de API 2014-10-06118

AWS CodeDeploy Guiacutea del usuarioPaso 2 Implementar la aplicacioacuten

en el grupo de Auto Scaling

Regioacuten Ubicacioacuten de aplicacioacuten de ejemplo

Regioacuten del oeste de EE UU (N California) https3-us-west-1amazonawscomaws-codedeploy-us-west-1sampleslatestSampleApp_Linuxzip

Regioacuten del oeste de EE UU (Oregon) https3-us-west-2amazonawscomaws-codedeploy-us-west-2sampleslatestSampleApp_Linuxzip

Canada (Central) Region https3-ca-central-1amazonawscomaws-codedeploy-ca-central-1sampleslatestSampleApp_Linuxzip

Europe (Ireland) Region https3-eu-west-1amazonawscomaws-codedeploy-eu-west-1sampleslatestSampleApp_Linuxzip

Europe (London) Region https3-eu-west-2amazonawscomaws-codedeploy-eu-west-2sampleslatestSampleApp_Linuxzip

Regioacuten de Europa (Pariacutes) https3-eu-west-3amazonawscomaws-codedeploy-eu-west-3sampleslatestSampleApp_Linuxzip

Europe (Frankfurt) Region https3-eu-central-1amazonawscomaws-codedeploy-eu-central-1sampleslatestSampleApp_Linuxzip

Regioacuten Asia Paciacutefico (Hong Kong) https3-ap-east-1amazonawscomaws-codedeploy-ap-east-1sampleslatestSampleApp_Linuxzip

Asia Pacific (Tokyo) Region https3-ap-northeast-1amazonawscomaws-codedeploy-ap-northeast-1sampleslatestSampleApp_Linuxzip

Asia Pacific (Seoul) Region https3-ap-northeast-2amazonawscomaws-codedeploy-ap-northeast-2sampleslatestSampleApp_Linuxzip

Asia Pacific (Singapore) Region https3-ap-southeast-1amazonawscomaws-codedeploy-ap-southeast-1sampleslatestSampleApp_Linuxzip

Asia Pacific (Sydney) Region https3-ap-southeast-2amazonawscomaws-codedeploy-ap-southeast-2sampleslatestSampleApp_Linuxzip

Regioacuten Asia-Paciacutefico (Mumbai) https3-ap-south-1amazonawscomaws-codedeploy-ap-south-1sampleslatestSampleApp_Linuxzip

Versioacuten de API 2014-10-06119

AWS CodeDeploy Guiacutea del usuarioPaso 2 Implementar la aplicacioacuten

en el grupo de Auto Scaling

Regioacuten Ubicacioacuten de aplicacioacuten de ejemplo

South America (Satildeo Paulo) Region https3-sa-east-1amazonawscomaws-codedeploy-sa-east-1sampleslatestSampleApp_Linuxzip

Para instancias Amazon EC2 de Windows Server

Regioacuten Ubicacioacuten de aplicacioacuten de ejemplo

Regioacuten del este de EE UU (Ohio) https3-us-east-2amazonawscomaws-codedeploy-us-east-2sampleslatestSampleApp_Windowszip

Regioacuten del este de EE UU (N Virginia) https3amazonawscomaws-codedeploy-us-east-1sampleslatestSampleApp_Windowszip

Regioacuten del oeste de EE UU (N California) https3-us-west-1amazonawscomaws-codedeploy-us-west-1sampleslatestSampleApp_Windowszip

Regioacuten del oeste de EE UU (Oregon) https3-us-west-2amazonawscomaws-codedeploy-us-west-2sampleslatestSampleApp_Windowszip

Canada (Central) Region https3-ca-central-1amazonawscomaws-codedeploy-ca-central-1sampleslatestSampleApp_Windowszip

Europe (Ireland) Region https3-eu-west-1amazonawscomaws-codedeploy-eu-west-1sampleslatestSampleApp_Windowszip

Europe (London) Region https3-eu-west-2amazonawscomaws-codedeploy-eu-west-2sampleslatestSampleApp_Windowszip

Regioacuten de Europa (Pariacutes) https3-eu-west-3amazonawscomaws-codedeploy-eu-west-3sampleslatestSampleApp_Windowszip

Europe (Frankfurt) Region https3-eu-central-1amazonawscomaws-codedeploy-eu-central-1sampleslatestSampleApp_Windowszip

Regioacuten Asia Paciacutefico (Hong Kong) https3-ap-east-1amazonawscomaws-codedeploy-ap-east-1sampleslatestSampleApp_Windowszip

Regioacuten Asia-Paciacutefico (Seuacutel) https3-ap-northeast-2amazonawscomaws-codedeploy-ap-northeast-2sampleslatestSampleApp_Windowszip

Versioacuten de API 2014-10-06120

AWS CodeDeploy Guiacutea del usuarioPaso 3 Compruebe sus resultados

Regioacuten Ubicacioacuten de aplicacioacuten de ejemplo

Asia Pacific (Singapore) Region https3-ap-southeast-1amazonawscomaws-codedeploy-ap-southeast-1sampleslatestSampleApp_Windowszip

Asia Pacific (Sydney) Region https3-ap-southeast-2amazonawscomaws-codedeploy-ap-southeast-2sampleslatestSampleApp_Windowszip

Regioacuten Asia-Paciacutefico (Mumbai) https3-ap-south-1amazonawscomaws-codedeploy-ap-south-1sampleslatestSampleApp_Windowszip

South America (Satildeo Paulo) Region https3-sa-east-1amazonawscomaws-codedeploy-sa-east-1sampleslatestSampleApp_Windowszip

Para instancias Amazon EC2 de Ubuntu Server

Escriba la ubicacioacuten de la revisioacuten de la aplicacioacuten personalizada almacenada en Amazon S320 Deje Deployment description (Descripcioacuten de implementacioacuten) en blanco21 Expanda Advanced (Avanzadas)22 Elija Create deployment (Crear implementacioacuten)

Note

Si aparece Failed (Error) en lugar de Succeeded (Correcto) puede ser convenienteprobar alguna de las teacutecnicas descritas en Monitorizacioacuten y solucioacuten de problemas de laimplementacioacuten (p 80) (utilizando SimpleDemoApp como nombre de la aplicacioacuten ySimpleDemoDG como nombre del grupo de implementaciones)

Paso 3 Compruebe sus resultadosEn este paso comprobaraacute queCodeDeployinstaloacute elSimpleDemoApprevisioacuten de la uacutenica instancia deAmazon EC2 en el grupo de Auto Scaling

Temasbull Para comprobar los resultados (CLI) (p 121)bull Para comprobar los resultados (consola) (p 122)

Para comprobar los resultados (CLI)En primer lugar necesitaraacute el DNS puacuteblico de la instancia de Amazon EC2

UsarAWS CLIPara obtener el DNS puacuteblico de la instancia de Amazon EC2 en el grupo de Auto Scalingejecutando eldescribe-instancescomando

Antes de ejecutar este comando necesitaraacute el ID de la instancia de Amazon EC2 Para obtener el IDejecute el comando describe-auto-scaling-groups con CodeDeployDemo-AS-Group igual que hizoanteriormente

Versioacuten de API 2014-10-06121

AWS CodeDeploy Guiacutea del usuarioPaso 4 Aumente el nuacutemero de instancias

de Amazon EC2 en el grupo de Auto Scaling

aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names CodeDeployDemo-AS-Group --query AutoScalingGroups[0]Instances[]InstanceId --output text

Llame ahora al comando describe-instances

aws ec2 describe-instances --instance-id instance-id --query Reservations[0]Instances[0]PublicDnsName --output text

El valor devuelto es el DNS puacuteblico de la instancia de Amazon EC2

Al usar un navegador web muestre elSimpleDemoRevisioacuten de la aplicacioacuten implementada en la instanciade Amazon EC2 utilizando una URL como la siguiente

httpec2-01-234-567-890compute-1amazonawscom

Si aparece la paacutegina de felicitacioacuten habraacute utilizado correctamenteCodeDeploypara implementar unarevisioacuten en una uacutenica instancia de Amazon EC2 en un grupo de Auto Scaling

A continuacioacuten antildeadiraacute una instancia de Amazon EC2 al grupo de Auto Scaling Despueacutes de que AmazonEC2 Auto Scaling haya antildeadido la instancia de Amazon EC2CodeDeployimplementaraacute la revisioacuten en lanueva instancia

Para comprobar los resultados (consola)En primer lugar necesitaraacute el DNS puacuteblico de la instancia de Amazon EC2

Abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2

En el panel de navegacioacuten de Amazon EC2 enAuto Scaling eligeGrupos de Auto Scalingy luegoseleccioneCodeDeployDemo-AS-Groupentrada

En la paacuteginaInstancias elija el ID de la instancia de Amazon EC2 en la lista

En la paacutegina Instances en la pestantildea Description tome nota del valor de Public DNS Debe tener unaspecto similar al siguiente ec2-01-234-567-890compute-1amazonawscom

Al usar un navegador web muestre elSimpleDemoRevisioacuten de la aplicacioacuten implementada en la instanciade Amazon EC2 utilizando una URL como la siguiente

httpec2-01-234-567-890compute-1amazonawscom

Si aparece la paacutegina de felicitacioacuten habraacute utilizado correctamenteCodeDeploypara implementar unarevisioacuten en una uacutenica instancia de Amazon EC2 en un grupo de Auto Scaling

A continuacioacuten antildeadiraacute una instancia de Amazon EC2 al grupo de Auto Scaling Despueacutes de que AmazonEC2 Auto Scaling haya antildeadido la instancia de Amazon EC2CodeDeployimplementaraacute la revisioacuten en lanueva instancia de Amazon EC2

Paso 4 Aumente el nuacutemero de instancias de AmazonEC2 en el grupo de Auto ScalingEn este paso indica al grupo de Auto Scaling que cree una instancia adicional de Amazon EC2 Despueacutesde que Amazon EC2 Auto Scaling cree la instanciaCodeDeployimplementa la revisioacuten en eacutel

Versioacuten de API 2014-10-06122

AWS CodeDeploy Guiacutea del usuarioPaso 5 Vuelve a comprobar los resultados

Temasbull Para reducir el nuacutemero de instancias de Amazon EC2 en el grupo de Auto Scaling (CLI) (p 123)bull Para reducir el nuacutemero de instancias de Amazon EC2 en el grupo de implementaciones

(consola) (p 123)

Para reducir el nuacutemero de instancias de Amazon EC2 en el grupode Auto Scaling (CLI)1 Llame a laupdate-auto-scaling-grouppara aumentar las instancias de Amazon EC2 en el grupo de

Auto Scaling denominadoCodeDeployDemo-AS-Groupde uno a dos

En maacutequinas Linux macOS o Unix locales

aws autoscaling update-auto-scaling-group --auto-scaling-group-name CodeDeployDemo-AS-Group --min-size 2 --max-size 2 --desired-capacity 2

En los equipos locales con Windows

aws autoscaling update-auto-scaling-group --auto-scaling-group-name CodeDeployDemo-AS-Group --min-size 2 --max-size 2 --desired-capacity 2

2 Aseguacuterese de que el grupo de Auto Scaling ahora tenga dos instancias de Amazon EC2 Ejecute elcomando describe-auto-scaling-groups con CodeDeployDemo-AS-Group

aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names CodeDeployDemo-AS-Group --query AutoScalingGroups[0]Instances[][HealthStatus LifecycleState] --output text

No continuacutee hasta que los dos valores devueltos indiquen Healthy y InService

Para reducir el nuacutemero de instancias de Amazon EC2 en el grupode implementaciones (consola)1 En la barra de navegacioacuten de Amazon EC2 enAuto Scaling eligeGrupos de Auto Scalingy luego

seleccioneCodeDeployDemo-AS-Group2 Seleccione Actions y luego Edit3 En la pestantildea Details (Detalles) en los cuadros Desired (Objetivos) Min (Miacutenimo) y Max (Maacuteximo)

escriba 2 y luego elija Save (Guardar)4 Seleccione la pestantildea Instances La nueva instancia de Amazon EC2 debe aparecer en la lista (Si la

instancia no aparece puede que tenga que pulsar el botoacuten Refresh varias veces) No continuacutee hastaque el valor deInServiceaparece en elCiclo de vidacolumna y el valor deSaludableaparece en elEstadode mantenimiento decolumn

Paso 5 Vuelve a comprobar los resultadosEn este paso comprobaraacute siCodeDeployinstaloacute elSimpleDemoRevisioacuten de la aplicacioacuten de la instancianueva del grupo de Auto Scaling

Versioacuten de API 2014-10-06123

AWS CodeDeploy Guiacutea del usuarioPaso 5 Vuelve a comprobar los resultados

Temasbull Para comprobar los resultados de la implementacioacuten automaacutetica (CLI) (p 124)bull Para comprobar los resultados de la implementacioacuten automaacutetica (consola) (p 124)

Para comprobar los resultados de la implementacioacuten automaacutetica(CLI)1 Antes de ejecutar el comando get-deployment necesitaraacute el ID de la implementacioacuten automaacutetica Para

obtener el ID ejecute el comando list-deployments con la aplicacioacuten SimpleDemoApp y el grupo deimplementaciones SimpleDemoDG

aws deploy list-deployments --application-name SimpleDemoApp --deployment-group-name SimpleDemoDG --query deployments --output text

Debe haber dos ID de implementacioacuten Utilice el que auacuten no haya empleado en una llamada alcomando get-deployment

aws deploy get-deployment --deployment-id deployment-id --query deploymentInfo[status creator] --output text

Ademaacutes del estado de la implementacioacuten debe verautoScalingen la salida del comando(autoScalingsignifica que Amazon EC2 Auto Scaling creoacute la implementacioacuten)

No continuacutee hasta que el estado de la implementacioacuten aparezca como Succeeded2 Antes de llamar aldescribe-instances necesitaraacute el ID de la nueva instancia de Amazon EC2 Para

obtener este ID ejecute de nuevo el comando describe-auto-scaling-groups con CodeDeployDemo-AS-Group

aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names CodeDeployDemo-AS-Group --query AutoScalingGroups[0]Instances[]InstanceId --output text

Ahora ejecute el comando describe-instances

aws ec2 describe-instances --instance-id instance-id --query Reservations[0]Instances[0]PublicDnsName --output text

En la salida dedescribe-instances observe el DNS puacuteblico de la nueva instancia de Amazon EC23 Al usar un navegador web muestre elSimpleDemoApprevisioacuten implementada en la instancia de

Amazon EC2 utilizando una URL como la siguiente

httpec2-01-234-567-890compute-1amazonawscom

Si aparece la paacutegina de felicitaciones has usadoCodeDeployPara implementar una revisioacuten en unainstancia de Amazon EC2 adicional en un grupo de Auto Scaling

Para comprobar los resultados de la implementacioacuten automaacutetica(consola)1 Inicie sesioacuten en laAWS Management Consoley abra elCodeDeployConsola de enhttps

consoleawsamazoncomcodedeployVersioacuten de API 2014-10-06

124

AWS CodeDeploy Guiacutea del usuarioPaso 6 Eliminar recursos

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary luego seleccioneImplementaciones

3 Elija el ID de la implementacioacuten que ha creado Amazon EC2 Auto Scaling

4 La paacutegina Deployment (Implementacioacuten) muestra informacioacuten sobre la implementacioacuten Normalmente

deberiacutea crear una implementacioacuten por su cuenta pero Amazon EC2 Auto Scaling ya ha creado unapor usted para implementar la revisioacuten en la nueva instancia de Amazon EC2

5 Cuando aparezca Succeeded (Correcto) en la parte superior de la paacutegina compruebe los resultadosen la instancia Primero debe obtener el DNS puacuteblico de la instancia

6 En el panel de navegacioacuten de Amazon EC2 enAuto Scaling eligeGrupos de Auto Scalingy luegoseleccioneCodeDeployDemo-AS-Groupentrada

7 En la paacuteginaInstancias elija el ID de la nueva instancia Amazon EC28 En la paacutegina Instances en la pestantildea Description tome nota del valor de Public DNS Debe tener un

aspecto similar al siguiente ec2-01-234-567-890compute-1amazonawscom

Muestre la SimpleDemoApp revisioacuten implementada en la instancia utilizando una URL como la siguiente

httpec2-01-234-567-890compute-1amazonawscom

Si aparece la paacutegina de felicitaciones has usadoCodeDeployPara implementar una revisioacuten en unainstancia de Amazon EC2 adicional en un grupo de Auto Scaling

Paso 6 Eliminar recursosEn este paso eliminaraacute el grupo de Auto Scaling para evitar cargos recurrentes por los recursosutilizados durante este tutorial Opcionalmente puede eliminar la configuracioacuten de Auto ScalingyCodeDeployregistros de componentes de implementacioacuten de

Temasbull Para limpiar los recursos (CLI) (p 125)bull Para limpiar los recursos (consola) (p 126)

Para limpiar los recursos (CLI)1 Eliminar el grupo de Auto Scaling llamando aldelete-auto-scaling-groupcomando

contraCodeDeployDemo-AS-Group Esto tambieacuten terminaraacute las instancias de Amazon EC2

aws autoscaling delete-auto-scaling-group --auto-scaling-group-name CodeDeployDemo-AS-Group --force-delete

2 Si lo desea elimine la plantilla de lanzamiento de Auto Scaling llamando aldelete-launch-templatecomando contra la configuracioacuten de lanzamiento denominadaCodeDeployDemo-AS-Launch-Template

aws ec2 delete-launch-template --launch-template-name CodeDeployDemo-AS-Launch-Template

Versioacuten de API 2014-10-06125

AWS CodeDeploy Guiacutea del usuarioPaso 6 Eliminar recursos

3 Si lo desea puede eliminar la aplicacioacuten de CodeDeploy ejecutando el comando delete-applicationcon la aplicacioacuten SimpleDemoApp Esto tambieacuten eliminaraacute los registros de implementacioacuten grupo deimplementaciones y revisioacuten asociados

aws deploy delete-application --application-name SimpleDemoApp

4 Para eliminar la asociacioacuten del Administrador de estado de Systems Manager ejecute ladelete-associationcomando

aws ssm delete-association --assocation-id association-id

Para obtener el valor de id-asociacioacuten llame al comando describe-association

aws ssm describe-association --name AWS-ConfigureAWSPackage --targets Key=tagNameValues=CodeDeployDemo

Para limpiar los recursos (consola)Para eliminar el grupo de Auto Scaling que tambieacuten termina las instancias de Amazon EC2

1Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2

2 En el panel de navegacioacuten de Amazon EC2 enAuto Scaling eligeGrupos de Auto Scalingy luego elijalaCodeDeployDemo-AS-Groupentrada

3 Elija Actions seleccione Delete y luego seleccione Yes Delete

(Opcional) Para eliminar la plantilla de lanzamiento

1 En la barra de navegacioacuten enAuto Scaling eligeConfiguraciones de lanzamientoy luegoseleccioneCodeDeployDemo-AS-Launch-Template

2 Elija Actions seleccione Delete launch configuration y luego seleccione Yes Delete

1 Opcionalmente puede eliminar la aplicacioacuten de CodeDeploy Esto tambieacuten eliminaraacute los registros deimplementacioacuten grupo de implementaciones y revisioacuten asociados Abra el iconoCodeDeployConsolade enhttpsconsoleawsamazoncomcodedeploy

2 Inicie sesioacuten en laAWS Management Consoley abra elCodeDeployConsola de enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

En el panel de navegacioacuten expandaDesplegary luego seleccioneAplicaciones

3 En la lista de aplicaciones elijaSimpleDemoApp4 En la paacutegina Application details (Detalles de la aplicacioacuten) elija Delete application (Eliminar

aplicacioacuten)5 Cuando se le pregunte escriba Delete y a continuacioacuten elija Delete (Eliminar)

Para eliminar la asociacioacuten del Administrador de estado de Systems Manager

Versioacuten de API 2014-10-06126

AWS CodeDeploy Guiacutea del usuarioTutorial Implementar una aplicacioacuten desde GitHub

1 Abra el iconoAWS Systems Managerconsola en httpsconsoleawsamazoncomsystems-manager2 En el panel de navegacioacuten elija Administrador de estados3 Elija la asociacioacuten que ha creado y despueacutes elija Eliminar

Tutorial Usa CodeDeploy para desplegar unaaplicacioacuten desde GitHub

En este tutorial usaraacute CodeDeploy para implementar una revisioacuten de aplicacioacuten de ejemplo desde GitHuba una sola instancia Amazon EC2 con Amazon Linux en una sola instancia de Red Hat Enterprise Linux(RHEL) o en una sola instancia de Windows Server Para obtener informacioacuten sobre la integracioacuten deGitHub con CodeDeploy consulteIntegracioacuten de CodeDeploy con GitHub (p 63)

Note

Tambieacuten puede utilizar CodeDeploy para implementar una revisioacuten de una aplicacioacuten desdeGitHub en una instancia de Ubuntu Server Puede utilizar la revisioacuten de ejemplo descritaenPaso 2 Creacioacuten de una revisioacuten de aplicacioacuten de muestra (p 104)enTutorial Implementaruna aplicacioacuten en una instancia local con CodeDeploy (Windows Server Ubuntu Server oRed Hat Enterprise Linux) (p 103)o bien crear una revisioacuten compatible con una instancia deUbuntu Server y CodeDeploy Para crear su propia revisioacuten consulte Planear una revisioacuten paraCodeDeploy (p 307) y Agregar un archivo de especificacioacuten de aplicacioacuten a una revisioacuten deCodeDeploy (p 308)

Temasbull Requisitos previos (p 127)bull Paso 1 Configure una cuenta de GitHub (p 127)bull Paso 2 Creacioacuten de un repositorio de GitHub (p 128)bull Paso 3 Cargue una aplicacioacuten de ejemplo en el repositorio GitHub (p 129)bull Paso 4 Aprovisionar una instancia (p 132)bull Paso 5 Crear una aplicacioacuten y un grupo de implementaciones (p 133)bull Paso 6 Implementacioacuten de la aplicacioacuten en la instancia (p 134)bull Paso 7 Supervisar y verificar la implementacioacuten (p 137)bull Paso 8 Eliminar recursos (p 138)

Requisitos previosAntes de empezar este tutorial haga lo siguiente

bull Instale Git en su equipo local Para instalar Git consulteGit (descargas)bull Complete los pasos indicados en Introduccioacuten a CodeDeploy (p 35) incluida la instalacioacuten y

configuracioacuten de la AWS CLI Esto es especialmente importante si desea utilizar la AWS CLI paraimplementar una revisioacuten desde GitHub en la instancia

Paso 1 Configure una cuenta de GitHubNecesitaraacute una cuenta de GitHub para crear un repositorio de GitHub en el que almacenar la revisioacuten Si yatiene una cuenta de GitHub continuacutee en Paso 2 Creacioacuten de un repositorio de GitHub (p 128)

Versioacuten de API 2014-10-06127

AWS CodeDeploy Guiacutea del usuarioPaso 2 Creacioacuten de un repositorio de GitHub

1 Vaya a httpsgithubcomjoin2 Escriba un nombre de usuario su direccioacuten de correo electroacutenico y una contrasentildea3 Elija Sign up for GitHub y siga las instrucciones

Paso 2 Creacioacuten de un repositorio de GitHubNecesitaraacute un repositorio de GitHub para almacenar la revisioacuten

Si ya tiene un repositorio de GitHub aseguacuterese de indicar su nombre donde aparezcaCodeDeployGitHubDemo en este tutorial y continuacutee en el Paso 3 Cargue una aplicacioacuten de ejemplo en elrepositorio GitHub (p 129)

1 En la paacutegina de inicio de GitHub lleve a cabo alguna de las siguientes operaciones

bull En Your repositories elija New repositorybull En la barra de navegacioacuten seleccione Create new (+) y luego elija New repository

2 En la paacutegina Create a new repository haga lo siguiente

bull En el cuadro Repository name (Nombre del repositorio) indique CodeDeployGitHubDemobull Seleccione Public

Note

La opcioacuten predeterminada Public implica que cualquiera puede ver el repositorio Puedeseleccionar la opcioacuten Private (Privado) para limitar quieacuten puede ver el repositorio yconfirmarlo

bull Desactive la casilla Initialize this repository with a README En su lugar crearaacute un archivoREADMEmd manualmente en el siguiente paso

bull Elija Create repository3 Siga las instrucciones correspondientes al tipo de su equipo local para crear el repositorio con la liacutenea

de comandos

Note

Si ha activado la autenticacioacuten de dos factores en GitHub y se le solicita una contrasentildeaaseguacuterese de introducir su token de acceso personal en lugar de su contrasentildea de inicio desesioacuten de GitHub Para obtener informacioacuten consulteProporcionar el coacutedigo de autenticacioacuten2FA

En los equipos locales con Linux macOS o Unix

1 Desde el terminal ejecute sucesivamente los comandos siguientes donde user-name es su nombrede usuario de GitHub

mkdir tmpCodeDeployGitHubDemo

cd tmpCodeDeployGitHubDemo

touch READMEmd

git init Versioacuten de API 2014-10-06128

AWS CodeDeploy Guiacutea del usuarioPaso 3 Cargue una aplicacioacuten deejemplo en el repositorio GitHub

git add READMEmd

git commit -m My first commit

git remote add origin httpsgithubcomuser-nameCodeDeployGitHubDemogit

git push -u origin master

2 Deje el terminal abierto en la ubicacioacuten tmpCodeDeployGitHubDemo

En los equipos locales con Windows

1 Desde el siacutembolo del sistema abierto como administrador ejecute sucesivamente los comandossiguientes

mkdir ctempCodeDeployGitHubDemo

cd ctempCodeDeployGitHubDemo

notepad READMEmd

2 En el Bloc de notas guarde el archivo READMEmd Cierre el Bloc de notas Ejecute sucesivamente loscomandos siguientes donde user-name es su nombre de usuario de GitHub

git init

git add READMEmd

git commit -m My first commit

git remote add origin httpsgithubcomuser-nameCodeDeployGitHubDemogit

git push -u origin master

3 Deje el siacutembolo del sistema abierto en la ubicacioacuten ctempCodeDeployGitHubDemo

Paso 3 Cargue una aplicacioacuten de ejemplo en elrepositorio GitHubEn este paso copiaraacute una revisioacuten de ejemplo de un bucket de Amazon S3 puacuteblico en el repositorioGitHub (Para simplificar las revisiones de ejemplo incluidas para este tutorial son paacuteginas webindividuales)

Note

Si en lugar de nuestro ejemplo utiliza una revisioacuten propia esta deberaacute

Versioacuten de API 2014-10-06129

AWS CodeDeploy Guiacutea del usuarioPaso 3 Cargue una aplicacioacuten deejemplo en el repositorio GitHub

bull Seguir las directrices de Planear una revisioacuten para CodeDeploy (p 307) y Agregar un archivode especificacioacuten de aplicacioacuten a una revisioacuten de CodeDeploy (p 308)

bull Funcionar con el tipo de instancia correspondientebull Ser accesible desde el panel de GitHub

Si su revisioacuten cumple estos requisitos continuacutee en Paso 5 Crear una aplicacioacuten y un grupo deimplementaciones (p 133)Si va a implementar en una instancia de Ubuntu Server tendraacute que cargar en el repositorioGitHub una revisioacuten compatible con una instancia de Ubuntu Server y CodeDeploy Para obtenermaacutes informacioacuten consulte Planear una revisioacuten para CodeDeploy (p 307) y Agregar un archivode especificacioacuten de aplicacioacuten a una revisioacuten de CodeDeploy (p 308)

Temasbull Enviacuteo de una revisioacuten de ejemplo desde un equipo local con Linux macOS o Unix (p 130)bull Enviacuteo de una revisioacuten de ejemplo desde un equipo local con Windows (p 131)

Enviacuteo de una revisioacuten de ejemplo desde un equipo local conLinux macOS o UnixCon el terminal auacuten abierto por ejemplo en la ubicacioacuten tmpCodeDeployGitHubDemo ejecutesucesivamente los comandos siguientes

Note

Si tiene previsto implementar en una instancia de Windows ServersustituyaSampleApp_WindowszipparaSampleApp_Linuxzipen los comandos

(Amazon S3 copy command)

unzip SampleApp_Linuxzip

rm SampleApp_Linuxzip

git add

git commit -m Added sample app

git push

Donde(comando de copia de Amazon S3)es una de las siguientes opciones

bull aws s3 cp s3aws-codedeploy-us-east-2sampleslatestSampleApp_Linuxzip --region us-east-2para la regioacuten EE UU Este (Ohio)

bull aws s3 cp s3aws-codedeploy-us-east-1sampleslatestSampleApp_Linuxzip --region us-east-1para la regioacuten EE UU Este (Norte de Virginia)

bull aws s3 cp s3aws-codedeploy-us-west-1sampleslatestSampleApp_Linuxzip --region us-west-1para la regioacuten EE UU Oeste (Norte de California)

bull aws s3 cp s3aws-codedeploy-us-west-2sampleslatestSampleApp_Linuxzip --region us-west-2para la regioacuten EE UU Oeste (Oregoacuten)

Versioacuten de API 2014-10-06130

AWS CodeDeploy Guiacutea del usuarioPaso 3 Cargue una aplicacioacuten deejemplo en el repositorio GitHub

bull aws s3 cp s3aws-codedeploy-ca-central-1sampleslatestSampleApp_Linuxzip --region ca-central-1para la regioacuten Canadaacute (Central)

bull aws s3 cp s3aws-codedeploy-eu-west-1sampleslatestSampleApp_Linuxzip --region eu-west-1para la regioacuten de Europa (Irlanda)

bull aws s3 cp s3aws-codedeploy-eu-west-2sampleslatestSampleApp_Linuxzip --region eu-west-2para la regioacuten de Europa (Londres)

bull aws s3 cp s3aws-codedeploy-eu-west-3sampleslatestSampleApp_Linuxzip --region eu-west-3para la regioacuten de Europa (Pariacutes)

bull aws s3 cp s3aws-codedeploy-eu-central-1sampleslatestSampleApp_Linuxzip --region eu-central-1para la regioacuten de Europa (Fraacutencfort)

bull aws s3 cp s3aws-codedeploy-ap-east-1sampleslatestSampleApp_Linuxzip --region ap-east-1para la regioacuten Asia Paciacutefico (Hong Kong)

bull aws s3 cp s3aws-codedeploy-ap-northeast-1sampleslatestSampleApp_Linuxzip --region ap-northeast-1para la regioacuten Asia Paciacutefico (Tokio)

bull aws s3 cp s3aws-codedeploy-ap-northeast-2sampleslatestSampleApp_Linuxzip --region ap-northeast-2para la regioacuten Asia Paciacutefico (Seuacutel)

bull aws s3 cp s3aws-codedeploy-ap-southeast-1sampleslatestSampleApp_Linuxzip --region ap-southeast-1para la regioacuten Asia Paciacutefico (Singapur)

bull aws s3 cp s3aws-codedeploy-ap-southeast-2sampleslatestSampleApp_Linuxzip --region ap-southeast-2para la regioacuten Asia Paciacutefico (Siacutedney)

bull aws s3 cp s3aws-codedeploy-ap-south-1sampleslatestSampleApp_Linuxzip --region ap-south-1para la regioacuten Asia Paciacutefico (Mumbai)

bull aws s3 cp s3aws-codedeploy-sa-east-1sampleslatestSampleApp_Linuxzip --region sa-east-1para la regioacuten Ameacuterica del Sur (Satildeo Paulo)

Enviacuteo de una revisioacuten de ejemplo desde un equipo local conWindowsCon el siacutembolo del sistema auacuten abierto por ejemplo en la ubicacioacuten ctempCodeDeployGitHubDemoejecute sucesivamente los comandos siguientes

Note

Si tiene previsto implementar en una instancia Amazon Linux o RHELsustituyaSampleApp_LinuxzipparaSampleApp_Windowszipen los comandos

(Amazon S3 copy command)

Descomprima el contenido the del archivo ZIP directamente en el directorio local (por ejemplo ctempCodeDeployGitHubDemo) no en un nuevo subdirectorio

git add

git commit -m Added sample app

git push

Donde(comando de copia de Amazon S3)es una de las siguientes opciones

bull aws s3 cp s3aws-codedeploy-us-east-2sampleslatestSampleApp_Windowszip --region us-east-2para la regioacuten EE UU Este (Ohio)

Versioacuten de API 2014-10-06131

AWS CodeDeploy Guiacutea del usuarioPaso 4 Aprovisionar una instancia

bull aws s3 cp s3aws-codedeploy-us-east-1sampleslatestSampleApp_Windowszip --region us-east-1para la regioacuten US East (N Virginia)

bull aws s3 cp s3aws-codedeploy-us-west-1sampleslatestSampleApp_Windowszip --region us-west-1para la regioacuten EE UU Oeste (Norte deCalifornia)

bull aws s3 cp s3aws-codedeploy-us-west-2sampleslatestSampleApp_Windowszip --region us-west-2para la regioacuten EE UU Oeste (Oregoacuten)

bull aws s3 cp s3aws-codedeploy-ca-central-1sampleslatestSampleApp_Windowszip --region ca-central-1para la regioacuten Canadaacute (Central)

bull aws s3 cp s3aws-codedeploy-eu-west-1sampleslatestSampleApp_Windowszip --region eu-west-1para la regioacuten de Europa (Irlanda)

bull aws s3 cp s3aws-codedeploy-eu-west-2sampleslatestSampleApp_Windowszip --region eu-west-2para la regioacuten de Europa (Londres)

bull aws s3 cp s3aws-codedeploy-eu-west-3sampleslatestSampleApp_Windowszip --region eu-west-3para la regioacuten de Europa (Pariacutes)

bull aws s3 cp s3aws-codedeploy-eu-central-1sampleslatestSampleApp_Windowszip --region eu-central-1para la regioacuten de Europa (Fraacutencfort)

bull aws s3 cp s3aws-codedeploy-ap-east-1sampleslatestSampleApp_Windowszip --region ap-east-1para la regioacuten Asia Paciacutefico (Hong Kong)

bull aws s3 cp s3aws-codedeploy-ap-northeast-1sampleslatestSampleApp_Windowszip --region ap-northeast-1para la regioacuten Asia Paciacutefico (Tokio)

bull aws s3 cp s3aws-codedeploy-ap-northeast-2sampleslatestSampleApp_Windowszip --region ap-northeast-2para la regioacuten Asia Paciacutefico (Seuacutel)

bull aws s3 cp s3aws-codedeploy-ap-southeast-1sampleslatestSampleApp_Windowszip --region ap-southeast-1para la regioacuten Asia Paciacutefico (Singapur)

bull aws s3 cp s3aws-codedeploy-ap-southeast-2sampleslatestSampleApp_Windowszip --region ap-southeast-2para la regioacuten Asia Paciacutefico (Siacutedney)

bull aws s3 cp s3aws-codedeploy-ap-south-1sampleslatestSampleApp_Windowszip --region ap-south-1para la regioacuten Asia Paciacutefico (Mumbai)

bull aws s3 cp s3aws-codedeploy-sa-east-1sampleslatestSampleApp_Windowszip --region sa-east-1para la regioacuten Ameacuterica del Sur (Satildeo Paulo)

Para enviar su propia revisioacuten a una instancia de Ubuntu Server copie la revisioacuten en el repositorio local ya continuacioacuten ejecute lo siguiente

git add git commit -m Added Ubuntu appgit push

Paso 4 Aprovisionar una instanciaEn este paso crearaacute o configuraraacute la instancia en la que va a implementar la aplicacioacuten de ejemploPuede implementar en una instancia Amazon EC2 o en una instancia on-premises basada en uno de lossistemas operativos compatibles con CodeDeploy Para obtener informacioacuten consulte Sistemas operativoscompatibles con el agente de CodeDeploy (p 175) (Si ya tiene una instancia configuradas para su usoen implementaciones de CodeDeploy continuacutee en el paso siguiente)

Para aprovisionar una instancia

1 Siga las instrucciones enLance una instancia de Amazon EC2 (consola) (p 217)para aprovisionaruna instancia

Versioacuten de API 2014-10-06132

AWS CodeDeploy Guiacutea del usuarioPaso 5 Crear una aplicacioacuten yun grupo de implementaciones

2 Al iniciar la instancia no se olvide de especificar una etiqueta en elAgregue etiquetas(Se ha creadoel certificado) Para obtener maacutes informacioacuten sobre coacutemo especificar la etiqueta consulteLance unainstancia de Amazon EC2 (consola) (p 217)

Para comprobar que el agente de CodeDeploy se estaacute ejecutando en la instancia

bull Siga las instrucciones enVerifique que el agente de CodeDeploy esteacute en ejecucioacuten (p 186)paracomprobar que el agente se estaacute ejecutando

Una vez abastecida la instancia y comprobado que el agente de CodeDeploy se estaacute ejecutando vaya alsiguiente paso

Paso 5 Crear una aplicacioacuten y un grupo deimplementacionesEn este paso utilizaraacute la consola de CodeDeploy o laAWS CLIPara crear una aplicacioacuten y un grupo deimplementaciones que despueacutes usaraacute para implementar la revisioacuten de ejemplo desde el repositorio GitHub

Creacioacuten de una aplicacioacuten y un grupo de implementaciones(consola)1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttps

consoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary luego elijaAplicaciones

3 Seleccione Create application (Crear aplicacioacuten) y a continuacioacuten seleccione Custom application(Aplicacioacuten personalizada)

4 En Application name (Nombre de aplicacioacuten) escriba CodeDeployGitHubDemo-App5 En Compute platform (Plataforma de computacioacuten) elija EC2On-Premises6 Elija Create application7 En la pestantildea Deployment groups (Grupos de implementaciones) elija Create deployment group

(Crear grupo de implementaciones)8 En Deployment group name (Nombre de grupo de implementacioacuten) escriba

CodeDeployGitHubDemo-DepGrp9 EnRol de servicio elija el nombre del rol de servicio CodeDeploy que creoacute enCrear un rol de servicio

para CodeDeploy (p 36)10 En Deployment type (Tipo de implementacioacuten) elija In-place (In situ)11 EnConfiguracioacuten del entorno en funcioacuten del tipo de instancia que utilice elijaInstancias de Amazon

EC2oInstancias on-premises En Key (Clave) y Value (Valor) escriba la clave y el valor de la etiquetade instancia que se aplicoacute a la instancia como parte de Paso 4 Aprovisionar una instancia (p 132)

12 En Deployment configuration (Configuracioacuten de implementacioacuten) elija CodeDeployDefaultAllatOnce13 En Load Balancer (Balanceador de carga) anule la seleccioacuten de Enable load balancing (Habilitar

balanceo de carga)14 Expanda Advanced (Avanzadas)

Versioacuten de API 2014-10-06133

AWS CodeDeploy Guiacutea del usuarioPaso 6 Implementacioacuten de la aplicacioacuten en la instancia

15 En Alarms (Alarmas) seleccione Ignore alarm configuration (Ignorar las alarmas)16 Elija Create deployment group (Crear grupo de implementaciones) y vaya al paso siguiente

Creacioacuten de una aplicacioacuten y un grupo de implementaciones(CLI)1 Llame acreate-applicationpara crear una aplicacioacuten en CodeDeploy

denominadaCodeDeployGitHubDemo-App

aws deploy create-application --application-name CodeDeployGitHubDemo-App

2 Ejecute el comando create-deployment-group para crear un grupo de implementaciones denominadoCodeDeployGitHubDemo-DepGrp

bull Si la implementacioacuten es en una instancia Amazon EC2ec2-clave-etiquetaes la clave de laetiqueta de instancia Amazon EC2 que se aplicoacute a la instancia Amazon EC2 como parte dePaso 4Aprovisionar una instancia (p 132)

bull Si la implementacioacuten es en una instancia Amazon EC2ec2-tag-valuees el valor de la etiqueta deinstancia Amazon EC2 que se aplicoacute a la instancia Amazon EC2 como parte dePaso 4 Aprovisionaruna instancia (p 132)

bull Si va a implementar en una instancia on-premises on-premises-tag-key es la clave de etiquetade instancia on-premises que se aplicoacute a la instancia on-premises en Paso 4 Aprovisionar unainstancia (p 132)

bull Si va a implementar en una instancia on-premises on-premises-tag-value es el valor deetiqueta de instancia on-premises que se aplicoacute a la instancia on-premises en Paso 4 Aprovisionaruna instancia (p 132)

bull service-role-arnes el ARN de rol de servicio para el rol de servicio que creoacute enCrear un rolde servicio para CodeDeploy (p 36) (Siga las instrucciones de Obtenga el ARN del rol de servicio(CLI) (p 41) para determinar el ARN del rol de servicio)

aws deploy create-deployment-group --application-name CodeDeployGitHubDemo-App --ec2-tag-filters Key=ec2-tag-keyType=KEY_AND_VALUEValue=ec2-tag-value --on-premises-tag-filters Key=on-premises-tag-keyType=KEY_AND_VALUEValue=on-premises-tag-value --deployment-group-name CodeDeployGitHubDemo-DepGrp --service-role-arn service-role-arn

Note

Lacreate-deployment-groupproporciona soporte para crear activadores que dan comoresultado el enviacuteo de notificaciones de Amazon SNS a los suscriptores de temas sobreeventos especiacuteficos en implementaciones e instancias El comando tambieacuten admite opcionespara revertir automaacuteticamente implementaciones y configurar alarmas para detener lasimplementaciones cuando se cumplen los umbrales de supervisioacuten en alarmas de AmazonCloudWatch Los comandos para estas acciones no se incluyen en este tutorial

Paso 6 Implementacioacuten de la aplicacioacuten en lainstanciaEn este paso debe utilizar la consola de CodeDeploy o laAWS CLIpara implementar la revisioacuten de ejemplodesde el repositorio GitHub en la instancia

Versioacuten de API 2014-10-06134

AWS CodeDeploy Guiacutea del usuarioPaso 6 Implementacioacuten de la aplicacioacuten en la instancia

Para implementar la revisioacuten (consola)1 En la paacutegina Deployment group details (Detalles del grupo de implementaciones) elija Create

deployment (Crear implementacioacuten)2 En Deployment group (Grupo de implementacioacuten) elija CodeDeployGitHubDemo-DepGrp3 En Revision type (Tipo de revisioacuten) elija GitHub4 En Connect to GitHub realice una de las siguientes acciones

bull Para crear una conexioacuten entre aplicaciones de CodeDeploy y una cuenta de GitHub cierre la sesioacutende GitHub en otra pestantildea del navegador web En GitHub account (Cuenta de GitHub) introduzcaun nombre para identificar esta conexioacuten y luego elija Connect to GitHub (Conectar a GitHub) Lapaacutegina web le pediraacute que autorice a CodeDeploy para interactuar con GitHub para la aplicacioacutendenominadaCodeDeployGitHubDemo-App Continuacutee en el paso 5

bull Para utilizar una conexioacuten que haya creado previamente seleccione su nombre en GitHub accounty a continuacioacuten elija Connect to GitHub Continuacutee en el paso 7

bull Para crear una conexioacuten con una cuenta de GitHub distinta cierre la sesioacuten de GitHub en otrapestantildea del navegador web Elija Connect to a different GitHub account y a continuacioacuten elijaConnect to GitHub Continuacutee en el paso 5

5 Siga las instrucciones de la paacutegina Sign in para iniciar sesioacuten con su cuenta de GitHub6 En la paacutegina Authorize application elija Authorize application7 En CodeDeployCrear implementacioacutenpaacutegina enNombre del repositorio introduce el nombre de

usuario de GitHub que utilizaste para iniciar sesioacuten seguido de una barra diagonal () seguido delnombre del repositorio en el que se insertoacute la revisioacuten de la aplicacioacuten (por ejemplomy-github-user-nameCodeDeployGitHubDemo)

Si no estaacute seguro del valor que debe introducir o si desea especificar un repositorio diferente

a En otra pestantildea del navegador web abra el Panel de GitHubb En Your repositories pase el cursor sobre el nombre del repositorio de destino Apareceraacute un

mensaje informativo con el nombre de usuario de GitHub o el nombre de la organizacioacuten seguidode una barra inclinada () y del nombre del repositorio Escriba este valor en Repository name(Nombre del repositorio)

Note

Si el nombre de repositorio de destino no se muestra en Your repositories (Susrepositorios) use el cuadro Search GitHub (Buscar GitHub) para buscar el repositorio deGitHub de destino y el nombre de usuario o nombre de organizacioacuten de GitHub

8 En el cuadro Commit ID (ID de confirmacioacuten) introduzca el ID de la confirmacioacuten asociada alalmacenamiento de la revisioacuten de la aplicacioacuten en GitHub

Si no estaacute seguro del valor que debe introducir

a En otra pestantildea del navegador web abra el Panel de GitHubb EnTus repositorios eligeDemo de GitHub de implementacioacuten de coacutedigoc En la lista de confirmaciones encuentre y copie el ID de la confirmacioacuten asociada al

almacenamiento de la revisioacuten de la aplicacioacuten en GitHub Este ID suele tener 40 caracteres y secompone de letras y nuacutemeros (No utilice la versioacuten corta del ID de confirmacioacuten que suele ser losprimeros 10 caracteres de la versioacuten larga)

d Pegue el ID de confirmacioacuten en el cuadro Commit ID9 Elija Deploy y continuacutee con el paso siguiente

Versioacuten de API 2014-10-06135

AWS CodeDeploy Guiacutea del usuarioPaso 6 Implementacioacuten de la aplicacioacuten en la instancia

Para implementar la revisioacuten (CLI)Antes de que puedas llamar a cualquierAWS CLIcomandos que interactuacutean con GitHub (como elcreate-deployment que ejecutaraacute a continuacioacuten) antes debe conceder a CodeDeploy permiso para utilizar sucuenta de usuario de GitHub para interactuar con GitHub para laCodeDeployGitHubDemo-Apprevisionesde Actualmente esto debe hacerse en la consola de CodeDeploy

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary luego elijaAplicaciones

3 ElegirAplicacioacuten de CodeDeployGitHub4 En la pestantildea Deployments (Implementaciones) elija Create deployment (Crear implementacioacuten)

Note

No va a crear una nueva implementacioacuten Actualmente esta es la uacutenica manera de concedera CodeDeploy el permiso para interactuar con GitHub en nombre de su cuenta de usuario deGitHub

5 DesdeGrupo de implementaciones eligeImplementacioacuten de coacutedigo GitHub Demo - DepGRP6 En Revision type (Tipo de revisioacuten) elija GitHub7 En Connect to GitHub realice una de las siguientes acciones

bull Para crear una conexioacuten entre aplicaciones de CodeDeploy y una cuenta de GitHub cierre lasesioacuten de GitHub en otra pestantildea del navegador web En GitHub account escriba el nombre paraidentificar esta conexioacuten y luego elija Connect to GitHub La paacutegina web le pediraacute que autorice aCodeDeploy para interactuar con GitHub para la aplicacioacuten denominadaCodeDeployGitHubDemo-App Continuacutee en el paso 8

bull Para utilizar una conexioacuten que haya creado previamente seleccione su nombre en GitHub accounty a continuacioacuten elija Connect to GitHub Continuacutee en el paso 10

bull Para crear una conexioacuten con una cuenta de GitHub distinta cierre la sesioacuten de GitHub en otrapestantildea del navegador web Elija Connect to a different GitHub account y a continuacioacuten elijaConnect to GitHub Continuacutee en el paso 8

8 Siga las instrucciones de la paacutegina Sign in para iniciar sesioacuten con su nombre de usuario de GitHub osu direccioacuten de correo electroacutenico y la contrasentildea correspondiente

9 En la paacutegina Authorize application elija Authorize application10 En CodeDeployCrear implementacioacutenpaacutegina elijaCancelar11 Ejecute el comando create-deployment para implementar la revisioacuten en la instancia desde el

repositorio de GitHub donde

bull repository es el nombre de cuenta de GitHub seguido de una barra inclinada () y delnombre del repositorio (CodeDeployGitHubDemo) por ejemplo MyGitHubUserNameCodeDeployGitHubDemo

Si no estaacute seguro del valor que debe indicar o si desea especificar un repositorio diferente

1 En otra pestantildea del navegador web abra el Panel de GitHub2 En Your repositories pase el cursor sobre el nombre del repositorio de destino Apareceraacute

un mensaje informativo con el nombre de usuario de GitHub o el nombre de la organizacioacutenseguido de una barra inclinada () y del nombre del repositorio Este es el valor que debe usar

Versioacuten de API 2014-10-06136

AWS CodeDeploy Guiacutea del usuarioPaso 7 Supervisar y verificar la implementacioacuten

Note

Si el nombre de repositorio de destino no aparece en Your repositories use el cuadroSearch GitHub para buscar repositorio de GitHub de destino y el nombre de usuario onombre de organizacioacuten de GitHub correspondiente

bull commit-id es la confirmacioacuten asociada al almacenamiento de la versioacuten de la revisioacuten de laaplicacioacuten en el repositorio (por ejemplo f835159a528eb76f)

Si no estaacute seguro del valor que debe usar

1 En otra pestantildea del navegador web abra el Panel de GitHub2 EnTus repositorios eligeDemo de GitHub de implementacioacuten de coacutedigo3 En la lista de confirmaciones busque el ID de la confirmacioacuten asociada al almacenamiento de

la revisioacuten de la aplicacioacuten en GitHub Este ID suele tener 40 caracteres y se compone de letrasy nuacutemeros (No utilice la versioacuten corta del ID de confirmacioacuten que suele ser los primeros 10caracteres de la versioacuten larga) Utilice este valor

Si se encuentra en un equipo local con Linux macOS o Unix

aws deploy create-deployment --application-name CodeDeployGitHubDemo-App --deployment-config-name CodeDeployDefaultOneAtATime --deployment-group-name CodeDeployGitHubDemo-DepGrp --description My GitHub deployment demo --github-location repository=repositorycommitId=commit-id

Si se encuentra en un equipo local con Windows

aws deploy create-deployment --application-name CodeDeployGitHubDemo-App --deployment-config-name CodeDeployDefaultOneAtATime --deployment-group-name CodeDeployGitHubDemo-DepGrp --description My GitHub deployment demo --github-location repository=repositorycommitId=commit-id

Paso 7 Supervisar y verificar la implementacioacutenEn este paso utilizaraacute la consola de CodeDeploy o laAWS CLIpara comprobar el eacutexito de laimplementacioacuten Utilizaraacute el navegador web para ver la paacutegina implementada en la instancia que ha creadoo configurado

Note

Si se trata de una implementacioacuten en una instancia de Ubuntu Server utilice su propia estrategiade pruebas para determinar si la revisioacuten implementada funciona seguacuten lo previsto en la instanciay a continuacioacuten continuacutee en el paso siguiente

Para monitorizar y comprobar la implementacioacuten (consola)

1 En el panel de navegacioacuten expandaDesplegary despueacutesImplementaciones

2 En la lista de implementaciones busque la fila cuyoAplicacioacutenValor deAplicacioacuten deCodeDeployGitHuby unGrupo de implementacionesValor deImplementacioacuten de coacutedigo GitHubDemo - DepGRP Si no aparece Succeeded o Failed en la columna Status pulse el botoacuten Refreshperioacutedicamente

3 Si aparece Failed en la columna Status siga las instrucciones de Ver los detalles de la instancia(consola) (p 258) para resolver los problemas de la implementacioacuten

Versioacuten de API 2014-10-06137

AWS CodeDeploy Guiacutea del usuarioPaso 8 Eliminar recursos

4 Si aparece Succeeded en la columna Status ya puede comprobar la implementacioacuten en elnavegador web Nuestra revisioacuten de ejemplo implementa una uacutenica paacutegina web en la instancia Si laimplementacioacuten es en una instancia Amazon EC2 en el navegador web vaya ahttppublic-dnspor ejemplo (por ejemplohttpec2-01-234-567-890compute-1amazonawscom)

5 Si puede ver la paacutegina web iexclenhorabuena Ahora que ha conseguido implementar una revisioacuten desdeGitHub con AWS CodeDeploy puede ir directamente al Paso 8 Eliminar recursos (p 138)

Para monitorizar y comprobar la implementacioacuten (CLI)

1 Para obtener el ID de implementacioacuten ejecute el comando list-deployments con la aplicacioacutenCodeDeployGitHubDemo-App y el grupo de implementaciones CodeDeployGitHubDemo-DepGrp

aws deploy list-deployments --application-name CodeDeployGitHubDemo-App --deployment-group-name CodeDeployGitHubDemo-DepGrp --query deployments --output text

2 Ejecute el comando get-deployment indicando el ID de la implementacioacuten obtenido en la salida delcomando list-deployments

aws deploy get-deployment --deployment-id deployment-id --query deploymentInfo[status creator] --output text

3 Si el resultado es Failed siga las instrucciones de Ver los detalles de la instancia (consola) (p 258)para resolver los problemas de la implementacioacuten

4 Si el resultado es Succeeded ya puede comprobar la implementacioacuten en el navegadorweb Nuestra revisioacuten de ejemplo implementa una uacutenica paacutegina web en la instancia Si laimplementacioacuten es en una instancia Amazon EC2 puede ver la paacutegina en el navegadorweb enhttppublic-dnspara la instancia Amazon EC2 (por ejemplohttpec2-01-234-567-890compute-1amazonawscom)

5 Si puede ver la paacutegina web iexclenhorabuena Ha conseguido implementar con AWS CodeDeploy desdeun repositorio de GitHub

Paso 8 Eliminar recursosPara evitar cargos adicionales por los recursos que ha utilizado en este tutorial debe terminar lainstancia Amazon EC2 y sus recursos asociados De forma opcional puede eliminar los registros de loscomponentes de implementacioacuten de CodeDeploy asociados a este tutorial Si el repositorio de GitHub erasolo para este tutorial puede eliminarlo ahora tambieacuten

Para eliminar unAWS CloudFormationstack (si utilizaste elAWSCloudFormationplantilla para crear una instancia Amazon EC2)1 Inicie sesioacuten en la AWS Management Console y abra la consola de AWS CloudFormation en https

consoleawsamazoncomcloudformation2 En la columna Stacks (Pilas) elija la pila que comience por CodeDeploySampleStack3 Elija Delete (Eliminar)4 Cuando se le solicite elija Delete stack (Eliminar pila) Se eliminaraacute la instancia Amazon EC2 y el perfil

de instancia de IAM y el rol de servicio asociados

Versioacuten de API 2014-10-06138

AWS CodeDeploy Guiacutea del usuarioTutorial Implementar un servicio de Amazon ECS

Para anular el registro y limpiar manualmente una instancia on-premises (si ha aprovisionado una instancia on-premises)1 UsarAWS CLIpara llamar aAnular registropara la instancia on-premises representada aquiacute porsu

nombre de instanciay la regioacuten asociada porsu regioacuten

aws deploy deregister --instance-name your-instance-name --no-delete-iam-user --region your-region

2 Desde la instancia on-premises ejecute eldesinstalarcomando

aws deploy uninstall

Para terminar manualmente una instancia Amazon EC2 (si hainiciado manualmente una instancia Amazon EC2)1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon EC2 en https

consoleawsamazoncomec22 En el panel de navegacioacuten bajo Instances elija Instances3 Seleccione la casilla junto a la instancia Amazon EC2 que desea terminar En el menuacute Actions

seleccione Instance State y elija Terminate4 Cuando se le pregunte elija Yes Terminate

Para eliminar los registros de los componentes deimplementacioacuten de CodeDeploy1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttps

consoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary luego elijaAplicaciones

3 ElegirAplicacioacuten de CodeDeployGitHub4 Seleccione Delete application (Eliminar aplicacioacuten)5 Cuando se le pregunte escriba Delete y a continuacioacuten elija Delete (Eliminar)

Para eliminar el repositorio de GitHubConsulteEliminacioacuten de un repositorioenAyuda de GitHub

Tutorial Implementar un servicio de Amazon ECSEn este tutorial aprenderaacute a implementar una aplicacioacuten de Amazon ECS Comience con una aplicacioacutende Amazon ECS que ya creoacute El primer paso consiste en actualizar la aplicacioacuten modificando su archivo

Versioacuten de API 2014-10-06139

AWS CodeDeploy Guiacutea del usuarioTutorial Implementar un servicio de Amazon ECS

de definicioacuten de tareas con una nueva etiqueta A continuacioacuten utilice CodeDeploy para implementar laactualizacioacuten Durante la implementacioacuten CodeDeploy instala la actualizacioacuten en un nuevo conjunto detareas de sustitucioacuten A continuacioacuten desviacutea el traacutefico de produccioacuten de la versioacuten original del servicio deAmazon ECS que se encuentra en su conjunto de tareas original a la versioacuten actualizada del conjunto detareas de sustitucioacuten

Durante una implementacioacuten de Amazon ECS CodeDeploy utiliza un balanceador de carga configuradocon dos grupos de destino y un agente de escucha de traacutefico de produccioacuten En el siguiente diagramase muestra coacutemo estaacuten relacionados el balanceador de carga el agente de escucha de produccioacuten losgrupos de destino y la aplicacioacuten de Amazon ECS antes de que comience la implementacioacuten En estetutorial se utiliza un balanceador de carga de aplicaciones Tambieacuten puede utilizar un Network LoadBalancer

Despueacutes de una implementacioacuten correcta el agente de escucha de traacutefico de produccioacuten ofrece el traacuteficoal nuevo conjunto de tareas de sustitucioacuten y se termina el conjunto de tareas original En el siguientediagrama se muestra coacutemo estaacuten relacionados los recursos despueacutes de una implementacioacuten correctaPara obtener maacutes informacioacuten consulte Queacute ocurre durante una implementacioacuten de Amazon ECS (p 22)

Para obtener informacioacuten acerca de coacutemo utilizar laAWS CLIPara implementar un servicio de AmazonECS consulteTutorial Creacioacuten de un servicio mediante una implementacioacuten laquobluegreenraquo Para obtener

Versioacuten de API 2014-10-06140

AWS CodeDeploy Guiacutea del usuarioRequisitos previos

informacioacuten acerca de coacutemo utilizar CodePipeline para detectar e implementar automaacuteticamente cambiosen un servicio de Amazon ECS con CodeDeploy consulteTutorial Creacioacuten de una canalizacioacuten con unorigen de Amazon ECR y la implementacioacuten de ECS-to-CodeDeploy

Despueacutes de completar este tutorial puede utilizar la aplicacioacuten de CodeDeploy y el grupo deimplementaciones que creoacute para antildeadir una prueba de validacioacuten de implementacioacuten enTutorialImplementacioacuten de un servicio Amazon ECS con una prueba de validacioacuten (p 147)

Temasbull Requisitos previos (p 141)bull Paso 1 Actualice la aplicacioacuten de Amazon ECS (p 141)bull Paso 2 Creacioacuten del archivo AppSpec (p 142)bull Paso 3 Utilice la consola de CodeDeploy para implementar su servicio Amazon ECS (p 143)bull Paso 4 Eliminar recursos (p 146)

Requisitos previosPara completar este tutorial primero debe realizar el siguiente procedimiento

bull Realice los pasos 2 y 3 de Introduccioacuten a CodeDeploy (p 35)bull Cree un Application Load Balancer configurado con dos grupos de destino y un agente de escucha Para

obtener informacioacuten sobre la creacioacuten un balanceador de carga mediante la consola consulte Configurarun equilibrador de carga grupos de destino y listeners para implementaciones de CodeDeploy AmazonECS (p 296) Para obtener informacioacuten acerca de la creacioacuten de un balanceador de carga mediantelaAWS CLI consultePaso 1 Creacioacuten de un Application Load Balanceren laGuiacutea del usuario AmazonElastic Container Cuando cree el balanceador de carga anote lo siguiente para este tutorialbull Nombre del balanceador de cargabull Los nombres de los grupos de destinobull El puerto utilizado por el agente de escucha del balanceador de carga

bull Cree un servicio y cluacutester de Amazon ECS Para obtener maacutes informacioacuten consulte los pasos 2 3 y 4enTutorial Creacioacuten de un servicio mediante una implementacioacuten laquobluegreenraquoen laGuiacutea del usuarioAmazon Elastic Container Anote lo siguiente para este tutorialbull El nombre del cluacutester de Amazon ECSbull El ARN de la definicioacuten de tarea utilizada por el servicio de Amazon ECSbull El nombre del contenedor utilizado por el servicio de Amazon ECS

bull Cree un bucket de Amazon S3 para su archivo AppSpec

Paso 1 Actualice la aplicacioacuten de Amazon ECSEn esta seccioacuten actualizaraacute la aplicacioacuten de Amazon ECS con una nueva revisioacuten de su definicioacuten detarea La revisioacuten actualizada antildeade un nuevo par de claves y etiquetas En Paso 3 Utilice la consola deCodeDeploy para implementar su servicio Amazon ECS (p 143) implemente la versioacuten actualizada de laaplicacioacuten de Amazon ECS

Para actualizar la definicioacuten de tarea realice el siguiente procedimiento

1 Abra la consola de Amazon ECS en httpsconsoleawsamazoncomecs2 En el panel de navegacioacuten elija Task Definitions3 Seleccione la casilla de verificacioacuten de la definicioacuten de tarea utilizada por el servicio de Amazon ECS4 Elija Create new revision (Crear nueva revisioacuten)

Versioacuten de API 2014-10-06141

AWS CodeDeploy Guiacutea del usuarioPaso 2 Creacioacuten del archivo AppSpec

5 En este tutorial realice una pequentildea actualizacioacuten de la definicioacuten de la tarea antildeadiendo una etiquetaEn la parte inferior de la paacutegina en Tags (Etiquetas) cree una nueva etiqueta escribiendo un nuevopar de clave y valor

6 Elija Create (Crear) Deberiacutea ver que el nuacutemero de revisioacuten de la definicioacuten de la tarea se haincrementado en uno

7 Seleccione la pestantildea JSON Anote lo siguiente ya que necesitaraacute esa informacioacuten en el siguientepaso

bull El valor de taskDefinitionArn Su formato es el siguiente arnawsecsaws-regionaccount-idtask-definitiontask-definition-familytask-definition-revision Este es el ARN de la definicioacuten de tarea actualizada

bull En el elemento containerDefinitions el valor de name Este es el nombre del contenedorbull En el elemento portMappings el valor de containerPort Este es el puerto del contenedor

Paso 2 Creacioacuten del archivo AppSpecEn esta seccioacuten crearaacute su archivo AppSpec y lo cargaraacute en el bucket de Amazon S3 que creoacute enlaRequisitos previos (p 141)seccioacuten El archivo AppSpec de una implementacioacuten de Amazon ECSespecifica la definicioacuten de tarea de el nombre del contenedor y el puerto del contenedor Para obtener maacutesinformacioacuten consulte Ejemplo de archivo AppSpec para una implementacioacuten de Amazon ECS (p 436) ySeccioacuten laquoresourcesraquo de AppSpec para implementaciones de Amazon ECS (p 416)

Para crear su archivo AppSpec

1 Si desea crear su archivo AppSpec mediante YAML cree un archivo denominadoappspecyml Sidesea crear su archivo AppSpec mediante JSON cree un archivo denominadoappspecjson

2 Elija la pestantildea adecuada en funcioacuten de si utiliza YAML o JSON para su archivo AppSpec y copie sucontenido en el archivo AppSpec que acaba de crear Para la propiedad TaskDefinition utiliceel ARN de definicioacuten de tarea que anotoacute en la seccioacuten Paso 1 Actualice la aplicacioacuten de AmazonECS (p 141)

JSON AppSpec

version 00 Resources [ TargetService Type AWSECSService Properties TaskDefinition arnawsecsaws-region-idaws-account-idtask-definitionecs-demo-task-definitionrevision-number LoadBalancerInfo ContainerName your-container-name ContainerPort your-container-port ]

YAML AppSpec

version 00Resources - TargetService

Versioacuten de API 2014-10-06142

AWS CodeDeploy Guiacutea del usuarioPaso 3 Utilice la consola de CodeDeploy

para implementar su servicio Amazon ECS

Type AWSECSService Properties TaskDefinition arnawsecsaws-region-idaws-account-idtask-definitionecs-demo-task-definitionrevision-number LoadBalancerInfo ContainerName your-container-name ContainerPort your-container-port

Note

El conjunto de tareas de sustitucioacuten hereda la subred el grupo de seguridad la versioacutende la plataforma y los valores de IP puacuteblicas asignados del conjunto de tareas originalPuede anular estos valores para el conjunto de tareas de sustitucioacuten estableciendo suspropiedades opcionales en el archivo AppSpec Para obtener maacutes informacioacuten consulte Seccioacuten laquoresourcesraquo de AppSpec para implementaciones de Amazon ECS (p 416) y Ejemplo de archivo AppSpec para una implementacioacuten de Amazon ECS (p 436)

3 Cargue su archivo AppSpec en el bucket de S3 que ha creado como requisito previo para este tutorial

Paso 3 Utilice la consola de CodeDeploy paraimplementar su servicio Amazon ECSEn esta seccioacuten crearaacute una aplicacioacuten de CodeDeploy y un grupo de implementaciones para implementarla aplicacioacuten de Amazon ECS actualizada Durante la implementacioacuten CodeDeploy desviacutea el traacuteficode produccioacuten de la aplicacioacuten de Amazon ECS a su nueva versioacuten en un nuevo conjunto de tareas desustitucioacuten Para completar este ejemplo necesita lo siguiente

bull El nombre del cluacutester de Amazon ECSbull El nombre del servicio de Amazon ECSbull El nombre del Application Load Balancerbull El puerto del agente de escucha de produccioacutenbull Los nombres de grupo de destinobull El nombre del bucket de S3 que creoacute

Para crear una aplicacioacuten CodeDeploy

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

2 Elija Create application3 En Application name (Nombre de aplicacioacuten) escriba ecs-demo-codedeploy-app4 En Compute platform (Plataforma de computacioacuten) elija Amazon ECS5 Elija Create application

Para crear un grupo de implementaciones de CodeDeploy

1 En la pestantildea Deployment groups (Grupos de implementaciones) de la paacutegina de la aplicacioacuten elijaCreate deployment group (Crear grupo de implementaciones)

2 En Deployment group name (Nombre de grupo de implementacioacuten) escriba ecs-demo-dg3 EnRol de servicio elija un rol de servicio que conceda a CodeDeploy acceso a Amazon ECS Para

obtener maacutes informacioacuten consulte Identity and Access Management en AWS CodeDeploy (p 378)4 EnConfiguracioacuten del entorno elija el nombre del cluacutester de Amazon ECS y el nombre del servicio

Versioacuten de API 2014-10-06143

AWS CodeDeploy Guiacutea del usuarioPaso 3 Utilice la consola de CodeDeploy

para implementar su servicio Amazon ECS

5 DesdeBalanceadores de carga elija el nombre del balanceador de carga que sirve el traacutefico a suservicio de Amazon ECS

6 DesdePuerto del agente de escucha de produccioacuten elija el puerto y el protocolo del agente deescucha que sirve el traacutefico de produccioacuten a su servicio de Amazon ECS (por ejemploHTTP 80) Estetutorial no incluye un agente de escucha de prueba opcional por lo que no elija un puerto en Testlistener port (Puerto de agente de escucha de prueba)

7 En Target group 1 name (Nombre de grupo de destino 1) y Target group 2 name (Nombre de grupode destino 2) elija dos grupos de destino diferentes para dirigir el traacutefico durante su implementacioacutenAseguacuterese de que se trata de los grupos de destino que ha creado para el balanceador de carga Noimporta el que se utilice para el grupo de destino 1 y el que se utilice para el grupo de destino 2

8 Elija Reroute traffic immediately (Redirigir el traacutefico de forma inmediata)9 En Original revision termination (Terminacioacuten de revisioacuten original) elija 0 days (0 diacuteas) 0 hours (0

horas) y 5 minutes (5 minutos) Esto le permite ver que la implementacioacuten se completa maacutes raacutepido quesi utiliza el valor predeterminado (1 hora)

Versioacuten de API 2014-10-06144

AWS CodeDeploy Guiacutea del usuarioPaso 3 Utilice la consola de CodeDeploy

para implementar su servicio Amazon ECS

Versioacuten de API 2014-10-06145

AWS CodeDeploy Guiacutea del usuarioPaso 4 Eliminar recursos

10 Elija Create deployment group

Para implementar la aplicacioacuten de Amazon ECS

1 En la paacutegina de la consola del grupo de implementaciones elija Create deployment (Crearimplementacioacuten)

2 En Deployment group (Grupo de implementaciones) elija ecs-demo-dg3 En Revision type (Tipo de revisioacuten) elija My application is stored in Amazon S3 (Mi aplicacioacuten estaacute

almacenada en Amazon S3) En Revision location (Ubicacioacuten de la revisioacuten) escriba el nombre de subucket de S3

4 En Revision file type (Tipo de archivo de revisioacuten) elija json o yaml seguacuten corresponda5 En el cuadro Deployment description (Descripcioacuten de la implementacioacuten) especifique una descripcioacuten

para la implementacioacuten (opcional)6 Elija Create deployment (Crear implementacioacuten)7 En Deployment status (Estado de implementacioacuten) puede monitorizar la implementacioacuten Despueacutes

de que el 100 del traacutefico de produccioacuten se dirija al conjunto de tareas de sustitucioacuten y antes deque transcurra el tiempo de espera de cinco minutos puede elegirFinalizar conjunto de tareasoriginalPara terminar inmediatamente el conjunto de tareas original Si no elige Terminate originaltask set (Terminar conjunto de tareas original) el conjunto de tareas original termina despueacutes de quetranscurra el tiempo de espera de cinco minutos especificado

Paso 4 Eliminar recursosEl proacuteximo tutorialTutorial Implementacioacuten de un servicio Amazon ECS con una prueba devalidacioacuten (p 147) se basa en este tutorial y utiliza la aplicacioacuten de CodeDeploy y el grupo deimplementaciones de que ha creado Si desea seguir los pasos de ese tutorial omita este paso y noelimine los recursos que ha creado

Versioacuten de API 2014-10-06146

AWS CodeDeploy Guiacutea del usuarioTutorial Implementacioacuten de un servicio

Amazon ECS con una prueba de validacioacuten

Note

SusAWSLa cuenta de no genera gastos por los recursos de CodeDeploy que ha creado

Los nombres de recursos de estos pasos son los nombres sugeridos en este tutorial (por ejemploecs-demo-codedeploy-apppara obtener el nombre de la aplicacioacuten de CodeDeploy) Si utilizoacute nombresdiferentes aseguacuterese de usarlos en el borrado

1 Utilice el comando delete-deployment-group para eliminar el grupo de implementacioacuten deCodeDeploy

aws deploy delete-deployment-group --application-name ecs-demo-codedeploy-app --deployment-group-name ecs-demo-dg --region aws-region-id

2 Utilice el comando delete-application para eliminar la aplicacioacuten de CodeDeploy

aws deploy delete-application --application-name ecs-demo-codedeploy-app --region aws-region-id

Tutorial Implementacioacuten de un servicio AmazonECS con una prueba de validacioacuten

En este tutorial aprenderaacute a utilizar una funcioacuten de Lambda para validar parte de la implementacioacuten deuna aplicacioacuten de Amazon ECS de actualizada En este tutorial se utiliza la aplicacioacuten de CodeDeployel grupo de implementaciones de CodeDeploy y la aplicacioacuten de Amazon ECS de que utilizoacute enTutorialImplementar un servicio de Amazon ECS (p 139) Complete ese tutorial antes de comenzar este

Para antildeadir una prueba de validacioacuten primero debe implementar la prueba en una funcioacuten LambdaA continuacioacuten en el archivo AppSpec de implementacioacuten debe especificar la funcioacuten Lambda parael enlace de ciclo de vida que desee probar Si se produce un error en una prueba de validacioacuten laimplementacioacuten se detiene se revisa y se marca como erroacutenea Si la prueba se realiza correctamente laimplementacioacuten continuacutea con el siguiente evento o enlace del ciclo de vida de la implementacioacuten

Durante una implementacioacuten de Amazon ECS con pruebas de validacioacuten CodeDeploy utiliza unbalanceador de carga configurado con dos grupos de destino un agente de escucha de traacutefico deproduccioacuten y un agente de escucha de traacutefico de prueba En el siguiente diagrama se muestra coacutemo estaacutenrelacionados el balanceador de carga los agentes de escucha de produccioacuten y prueba los grupos dedestino y la aplicacioacuten de Amazon ECS antes de que comience la implementacioacuten En este tutorial seutiliza un balanceador de carga de aplicaciones Tambieacuten puede utilizar un Network Load Balancer

Versioacuten de API 2014-10-06147

AWS CodeDeploy Guiacutea del usuarioTutorial Implementacioacuten de un servicio

Amazon ECS con una prueba de validacioacuten

Durante una implementacioacuten de Amazon ECS existen cinco enlaces de ciclo de vida para pruebas Eneste tutorial se implementa una prueba durante el tercer enlace de implementacioacuten de ciclo de vidaAfterAllowTestTraffic Para obtener maacutes informacioacuten consulte Lista de ganchos de eventos delciclo de vida de una implementacioacuten de Amazon ECS (p 423) Despueacutes de una implementacioacuten correctael agente de escucha de traacutefico de produccioacuten ofrece el traacutefico al nuevo conjunto de tareas de sustitucioacuteny se termina el conjunto de tareas original En el siguiente diagrama se muestra coacutemo estaacuten relacionadoslos recursos despueacutes de una implementacioacuten correcta Para obtener maacutes informacioacuten consulte Queacute ocurredurante una implementacioacuten de Amazon ECS (p 22)

Note

El uso de este tutorial puede producir cargos en su cuenta de AWS Entre ellos se incluyenposibles cargos por CodeDeployAWS Lambday CloudWatch Para obtener maacutes informacioacutenconsulteAWS CodeDeployde IPAMAWS Lambdade IPAM yPrecios de Amazon CloudWatch

Temasbull Requisitos previos (p 149)bull Paso 1 Crear un agente de escucha de prueba (p 149)bull Paso 2 Actualice la aplicacioacuten de Amazon ECS (p 149)

Versioacuten de API 2014-10-06148

AWS CodeDeploy Guiacutea del usuarioRequisitos previos

bull Paso 3 Crear una funcioacuten Lambda de enlace de ciclo de vida (p 150)bull Paso 4 Actualice el archivo AppSpec (p 151)bull Paso 5 Utilice la consola de CodeDeploy para implementar su servicio Amazon ECS (p 153)bull Paso 6 Visualice la salida de la funcioacuten de enlace de Lambda en CloudWatch Logs (p 154)bull Paso 7 Eliminar recursos (p 155)

Requisitos previosPara completar correctamente este tutorial primero debe realizar el siguiente procedimiento

bull Cumpla los requisitos previos de Requisitos previos (p 141) para Tutorial Implementar un servicio deAmazon ECS (p 139)

bull Realice los pasos que se indican en Tutorial Implementar un servicio de Amazon ECS (p 139) Anotelo siguientebull Nombre del balanceador de cargabull Los nombres de los grupos de destinobull El puerto utilizado por el agente de escucha del balanceador de cargabull El ARN del balanceador de carga Puede utilizarlo para crear un nuevo agente de escuchabull El ARN de uno de los grupos de destino Puede utilizarlo para crear un nuevo agente de escuchabull La aplicacioacuten CodeDeploy y el grupo de implementacioacuten que creebull El archivo de AppSpec que crea que utiliza la implementacioacuten de CodeDeploy Puede editar este

archivo en este tutorial

Paso 1 Crear un agente de escucha de pruebaUna implementacioacuten de Amazon ECS con pruebas de validacioacuten requiere un segundo agente deescucha Este agente de escucha se utiliza para servir traacutefico de prueba en la aplicacioacuten de Amazon ECSactualizada en un conjunto de tareas de sustitucioacuten Las pruebas de validacioacuten se ejecutan en el traacutefico deprueba

El agente de escucha del traacutefico de prueba puede utilizar cualquiera de los grupos de destino Usarcreate-agente de escucha AWS CLIpara crear un segundo agente de escucha con una regla predeterminada quereenviacutee el traacutefico de prueba al puerto 8080 Utilice el ARN del balanceador de carga y el ARN de uno de losgrupos de destino

aws elbv2 create-listener --load-balancer-arn your-load-balancer-arn --protocol HTTP --port 8080 --default-actions Type=forwardTargetGroupArn=your-target-group-arn --region your-aws-region

Paso 2 Actualice la aplicacioacuten de Amazon ECSEn esta seccioacuten actualizaraacute la aplicacioacuten de Amazon ECS para que utilice una nueva revisioacuten de sudefinicioacuten de tarea Puede crear la nueva revisioacuten y antildeadirle una actualizacioacuten secundaria antildeadiendo unaetiqueta

Para actualizar la definicioacuten de tarea realice el siguiente procedimiento

1 Abra la consola de Amazon ECS en httpsconsoleawsamazoncomecs2 En el panel de navegacioacuten elija Task Definitions

Versioacuten de API 2014-10-06149

AWS CodeDeploy Guiacutea del usuarioPaso 3 Crear una funcioacuten

Lambda de enlace de ciclo de vida

3 Seleccione la casilla de verificacioacuten de la definicioacuten de tarea utilizada por el servicio de Amazon ECS4 Elija Create new revision (Crear nueva revisioacuten)5 Realice una pequentildea actualizacioacuten de la definicioacuten de la tarea antildeadiendo una etiqueta En la parte

inferior de la paacutegina en Tags (Etiquetas) cree una nueva etiqueta escribiendo un nuevo par de clave yvalor

6 Elija Create (Crear) Deberiacutea ver que el nuacutemero de revisioacuten de la definicioacuten de la tarea se haincrementado en uno

7 Seleccione la pestantildea JSON Anote el valor de taskDefinitionArn Su formato es el siguientearnawsecsaws-region account-idtask-definitiontask-definition-familytask-definition-revision Este es el ARN de la definicioacuten de tarea actualizada

Paso 3 Crear una funcioacuten Lambda de enlace de ciclode vidaEn esta seccioacuten implementaraacute una funcioacuten Lambda para la implementacioacuten de AmazonECSAfterAllowTestTrafficenlace La funcioacuten Lambda ejecuta una prueba de validacioacutenantes de instalar la aplicacioacuten de Amazon ECS actualizada En este tutorial la funcioacuten LambdadevuelveSucceeded Durante una implementacioacuten real las pruebas de validacioacuten devuelvenSucceeded o Failed en funcioacuten del resultado de la prueba de validacioacuten Tambieacuten durante unaimplementacioacuten real puede implementar una funcioacuten de prueba de Lambda para uno o variosde los demaacutes enlaces de eventos del ciclo de vida de la implementacioacuten de Amazon ECS de(BeforeInstallAfterInstallBeforeAllowTraffic yAfterAllowTraffic) Para obtener maacutesinformacioacuten consulte Lista de ganchos de eventos del ciclo de vida de una implementacioacuten de AmazonECS (p 423)

Se requiere un rol de IAM para crear la funcioacuten de Lambda El rol concede a la funcioacuten de Lambda permisopara escribir en CloudWatch Logs y establecer el estado de un enlace de ciclo de vida de CodeDeploy

Para crear un rol de IAM

1 Abra la consola de IAM en httpsconsoleawsamazoncomiam2 En el panel de navegacioacuten seleccione Roles y a continuacioacuten Create role (Crear rol)3 Cree un rol con las propiedades siguientes

bull Trusted entity (Entidad de confianza) AWS Lambdabull Permisos AWSLambdaBasicExecutionRole Esto concede a la funcioacuten de Lambda permiso para

escribir en CloudWatch Logsbull Role name (Nombre de rol) lambda-cli-hook-role

Para obtener maacutes informacioacuten consulteCreacioacuten de unAWS LambdaRol de ejecucioacuten de4 Asocie el permiso codedeployPutLifecycleEventHookExecutionStatus al rol que ha

creado Esto concede a las funciones de Lambda permiso para establecer el estado de un enlacede ciclo de vida de CodeDeploy durante una implementacioacuten Para obtener maacutes informacioacutenconsulteAdicioacuten de permisos de identidad de IAMen laAWS Identity and Access ManagementGuiacutea delusuario deyPutLifecycleEventHookExecutionStatusen laReferencia de la API CodeDeploy

Para crear unAfterAllowTestTrafficFuncioacuten de enlace Lambda

1 Cree un archivo denominado AfterAllowTestTrafficjs con el siguiente contenido

use strict

Versioacuten de API 2014-10-06150

AWS CodeDeploy Guiacutea del usuarioPaso 4 Actualice el archivo AppSpec

const AWS = require(aws-sdk) const codedeploy = new AWSCodeDeploy(apiVersion 2014-10-06) exportshandler = (event context callback) =gt consolelog(Entering AfterAllowTestTraffic hook) Read the DeploymentId and LifecycleEventHookExecutionId from the event payload var deploymentId = eventDeploymentId var lifecycleEventHookExecutionId = eventLifecycleEventHookExecutionId var validationTestResult = Failed Perform AfterAllowTestTraffic validation tests here Set the test result to Succeeded for this tutorial consolelog(This is where AfterAllowTestTraffic validation tests happen) validationTestResult = Succeeded Complete the AfterAllowTestTraffic hook by sending CodeDeploy the validation status var params = deploymentId deploymentId lifecycleEventHookExecutionId lifecycleEventHookExecutionId status validationTestResult status can be Succeeded or Failed Pass CodeDeploy the prepared validation test results codedeployputLifecycleEventHookExecutionStatus(params function(err data) if (err) Validation failed consolelog(AfterAllowTestTraffic validation tests failed) consolelog(err errstack) callback(CodeDeploy Status update failed) else Validation succeeded consolelog(AfterAllowTestTraffic validation tests succeeded) callback(null AfterAllowTestTraffic validation tests succeeded) )

2 Cree un paquete de implementacioacuten de Lambda

zip AfterAllowTestTrafficzip AfterAllowTestTrafficjs

3 Usarcreate-functionpara crear una funcioacuten Lambda para suAfterAllowTestTrafficenlace

aws lambda create-function --function-name AfterAllowTestTraffic --zip-file filebAfterAllowTestTrafficzip --handler AfterAllowTestTraffichandler --runtime nodejs10x --role arnawsiamaws-account-idrolelambda-cli-hook-role

4 Anote el ARN de la funcioacuten de Lambda en lacreate-functionrespuesta Utilice este ARN cuandoactualice en el archivo AppSpec de la implementacioacuten de CodeDeploy en el siguiente paso

Paso 4 Actualice el archivo AppSpecEn esta seccioacuten actualizaraacute el archivo AppSpec con unHooksseccioacuten En el navegadorHooks debeespecificar una funcioacuten Lambda para laAfterAllowTestTrafficenlace de ciclo de vida

Versioacuten de API 2014-10-06151

AWS CodeDeploy Guiacutea del usuarioPaso 4 Actualice el archivo AppSpec

Para actualizar el archivo AppSpec

1 Abra el archivo de archivo AppSpec que creoacute en Paso 2 Creacioacuten del archivo AppSpec (p 142)delTutorial Implementar un servicio de Amazon ECS (p 139)

2 Actualice la propiedad TaskDefinition con el ARN de definicioacuten de tarea que anotoacute en Paso 2Actualice la aplicacioacuten de Amazon ECS (p 149)

3 Copie y pegue elHooksen el archivo de archivo de AppSpec Actualizar el ARNdespueacutesAfterAllowTestTrafficcon el ARN de la funcioacuten Lambda que anotoacute enPaso 3 Crear unafuncioacuten Lambda de enlace de ciclo de vida (p 150)

JSON AppSpec

version 00 Resources [ TargetService Type AWSECSService Properties TaskDefinition arnawsecsaws-region-idaws-account-idtask-definitionecs-demo-task-definitionrevision-number LoadBalancerInfo ContainerName sample-website ContainerPort 80 ] Hooks [ AfterAllowTestTraffic arnawslambdaaws-region-idaws-account-idfunctionAfterAllowTestTraffic ]

YAML AppSpec

version 00Resources - TargetService Type AWSECSService Properties TaskDefinition arnawsecsaws-region-idaws-account-idtask-definitionecs-demo-task-definitionrevision-number LoadBalancerInfo ContainerName sample-website ContainerPort 80Hooks - AfterAllowTestTraffic arnawslambdaaws-region-idaws-account-idfunctionAfterAllowTestTraffic

4 Guarde el archivo AppSpec y caacuterguelo en su bucket de S3

Versioacuten de API 2014-10-06152

AWS CodeDeploy Guiacutea del usuarioPaso 5 Utilice la consola de CodeDeploy

para implementar su servicio Amazon ECS

Paso 5 Utilice la consola de CodeDeploy paraimplementar su servicio Amazon ECSEn esta seccioacuten debe actualizar el grupo de implementaciones especificando el puerto para el agentede escucha de prueba Este es el agente de escucha que creoacute en Paso 1 Crear un agente de escuchade prueba (p 149) Durante la implementacioacuten CodeDeploy ejecuta la prueba de validacioacuten duranteelAfterAllowTestTrafficenlace de ciclo de vida de la implementacioacuten mediante el traacutefico de pruebaservido al conjunto de tareas de sustitucioacuten mediante el agente de escucha de prueba La prueba devalidacioacuten devuelve el resultado Succeeded por lo que la implementacioacuten avanza con el siguiente eventodel ciclo de vida de la implementacioacuten En un escenario real la funcioacuten de prueba devuelve Succeeded oFailed

Para antildeadir un agente de escucha de prueba a su grupo de implementaciones realice el siguienteprocedimiento

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

2 En el panel de navegacioacuten elija Applications (Aplicaciones)3 Elija la aplicacioacuten que ha creado en Tutorial Implementar un servicio de Amazon ECS (p 139) Si

utilizoacute el nombre sugerido es ecs-demo-codedeploy-app4 En Deployment groups (Grupos de implementaciones) elija el grupo de implementaciones que creoacute

en Tutorial Implementar un servicio de Amazon ECS (p 139) Si utilizoacute el nombre recomendado esecs-demo-dg

5 Elija Edit (Editar)6 En Test listener port (Puerto de agente de escucha de prueba) elija el puerto y el protocolo del agente

de escucha de prueba que creoacute anteriormente en este tutorial Esto deberiacutea serHTTP 80807 Elija Save changes (Guardar cambios)

Para implementar la aplicacioacuten de Amazon ECS

1 En la paacutegina de la consola del grupo de implementaciones elija Create deployment (Crearimplementacioacuten)

2 En Deployment group (Grupo de implementaciones) elija ecs-demo-dg3 En Revision type (Tipo de revisioacuten) elija My application is stored in Amazon S3 (Mi aplicacioacuten estaacute

almacenada en Amazon S3) EnUbicacioacuten de la revisioacutenEspecifique el nombre de su bucket de S3 ydel archivo AppSpec (por ejemplos3my-s3-bucketappspecjson)

4 En Revision file type (Tipo de archivo de revisioacuten) elija json o yaml seguacuten corresponda5 En el cuadro Deployment description (Descripcioacuten de la implementacioacuten) especifique una descripcioacuten

para la implementacioacuten (opcional)6 Elija Create deployment (Crear implementacioacuten)

Puede monitorizar la implementacioacuten en Deployment status (Estado de implementacioacuten) Despueacutes deque el 100 del traacutefico de produccioacuten se dirija al conjunto de tareas de sustitucioacuten puede elegirFinalizarconjunto de tareas originalPara terminar inmediatamente el conjunto de tareas original Si no eligeTerminate original task set (Terminar conjunto de tareas original) el conjunto de tareas original terminadespueacutes de la duracioacuten especificada al crear el grupo de implementaciones

Versioacuten de API 2014-10-06153

AWS CodeDeploy Guiacutea del usuarioPaso 6 Visualice la salida de la funcioacuten de

enlace de Lambda en CloudWatch Logs

Paso 6 Visualice la salida de la funcioacuten de enlace deLambda en CloudWatch LogsSi la implementacioacuten de CodeDeploy se realiza correctamente las pruebas de validacioacuten de las funcionesde enlace de Lambda tambieacuten se realizan correctamente Puede confirmarlo consultando el registro de lafuncioacuten de enlace de en CloudWatch Logs

1 Abra la consola de CloudWatch en httpsconsoleawsamazoncomcloudwatch2 En el panel de navegacioacuten elija Logs (Registros) Deberiacutea ver un nuevo grupo de registros para la

funcioacuten de enlace de Lambda que especificoacute en el archivo AppSpec

3 Elija el nuevo grupo de registros Debe ser awslambdaAfterAllowTestTrafficHook4 Elija el flujo de registros Si ve maacutes de un flujo de registros elija el que tenga la fecha y la hora maacutes

recientes en Last Event Time (Hora del uacuteltimo evento)5 Expanda los eventos de la secuencia de registros para confirmar que la funcioacuten de enlace de Lambda

escribioacute mensajes de eacutexito en el registro El ejemplo siguiente muestra laAfterAllowTrafficLafuncioacuten de enlace de Lambda fue exitosa

Versioacuten de API 2014-10-06154

AWS CodeDeploy Guiacutea del usuarioPaso 7 Eliminar recursos

Paso 7 Eliminar recursosCuando termine este tutorial debe limpiar los recursos asociados para evitar incurrir en cargos porrecursos que no estaacute utilizando Los nombres de recursos de este paso son los nombres sugeridos en estetutorial (por ejemploecs-demo-codedeploy-apppara el nombre de la aplicacioacuten CodeDeploy) Si utilizoacutenombres diferentes aseguacuterese de usarlos en el borrado

Para borrar los recursos del tutorial realice el siguiente procedimiento

1 Utilice el comando delete-deployment-group para eliminar el grupo de implementacioacuten deCodeDeploy

aws deploy delete-deployment-group --application-name ecs-demo-deployment-group --deployment-group-name ecs-demo-dg --region aws-region-id

2 Utilice el comando delete-application para eliminar la aplicacioacuten de CodeDeploy

aws deploy delete-application --application-name ecs-demo-deployment-group --region aws-region-id

3 Usardelete-functionpara eliminar la funcioacuten de enlace de Lambda

aws lambda delete-function --function-name AfterAllowTestTraffic

4 Usardelete-log-grouppara eliminar el grupo de registros de CloudWatch

aws logs delete-log-group --log-group-name awslambdaAfterAllowTestTraffic

Versioacuten de API 2014-10-06155

AWS CodeDeploy Guiacutea del usuarioTutorial Implemente una funcioacuten

Lambda medianteAWSSAM

Tutorial Implementar una funcioacuten Lambdaactualizada con CodeDeploy y laAWSModelo deaplicacioacuten sin servidor de

AWSSAM es un marco de coacutedigo abierto para crear aplicaciones sin servidor Transforma y ampliacutea lasintaxis YAML en unAWS SAMplantilla enAWS CloudFormationpara crear aplicaciones sin servidor comouna funcioacuten Lambda Para obtener maacutes informacioacuten consulteiquestQueacute es AWSiquestModelo de aplicacioacuten sinservidor de

En este tutorial utilizaraacuteAWSSAM para crear una solucioacuten que realizaraacute los siguientes procedimientos

bull Crea la funcioacuten de Lambdabull Crea la aplicacioacuten CodeDeploy y el grupo de implementacionesbull Crea dos funciones Lambda que ejecutan pruebas de validacioacuten de la implementacioacuten durante los

enlaces de ciclo de vida de CodeDeploybull Detecta cuaacutendo se actualiza la funcioacuten Lambda La actualizacioacuten de la funcioacuten Lambda activa una

implementacioacuten de CodeDeploy que desviacutea de forma incremental el traacutefico de produccioacuten de la versioacutenoriginal de la funcioacuten de Lambda a la versioacuten actualizada

Note

Este tutorial requiere que cree recursos de que podriacutean dar lugar a cargos en su cuenta de AWSEstos incluyen posibles cargos por CodeDeploy Amazon CloudWatch yAWS Lambda Paraobtener maacutes informacioacuten consultePrecios de CodeDeployPrecios de Amazon CloudWatchyAWS Lambdade IPAM

Temasbull Requisitos previos (p 156)bull Paso 1 Configurar la infraestructura (p 156)bull Paso 2 Actualizacioacuten de la funcioacuten Lambda (p 167)bull Paso 3 Implemente la funcioacuten de Lambda actualizada (p 168)bull Paso 4 Consulte los resultados de la implementacioacuten (p 171)bull Paso 5 Eliminar recursos (p 173)

Requisitos previosPara completar este tutorial primero debe realizar el siguiente procedimiento

bull Realice los pasos que se indican en Introduccioacuten a CodeDeploy (p 35)bull Instale la CLI de AWS Serverless Application Model Para obtener informacioacuten consulteInstalacioacuten

delAWSCLIP DE SAMbull Cree un bucket de S3AWS SAM carga los artefactos a los que se hace referencia en suAWSSAM

template (Plantilla de SAM)en este cubo

Paso 1 Configurar la infraestructuraEn este tema se muestra coacutemo utilizarAWS SAMpara crear archivos para suAWS SAMplantilla yfunciones Lambda A continuacioacuten utilice los comandos AWS SAM package y deploy para generar

Versioacuten de API 2014-10-06156

AWS CodeDeploy Guiacutea del usuarioPaso 1 Configurar la infraestructura

los componentes en su infraestructura Cuando la infraestructura esteacute lista dispondraacute de una aplicacioacutenCodeDeploy y un grupo de implementaciones la funcioacuten Lambda que se va a actualizar e implementary dos funciones Lambda que contienen pruebas de validacioacuten que se ejecutan al implementar la funcioacutenLambda Cuando haya terminado puede utilizarAWS CloudFormationpara ver los componentes y laconsola Lambda o laAWS CLIPara probar la funcioacuten de Lambda

Temasbull Creacioacuten de archivos (p 157)bull Empaque elAWSAplicacioacuten SAM (p 164)bull Implementar elAWSAplicacioacuten SAM (p 165)bull (Opcional) inspeccionar y probar su infraestructura (p 165)

Creacioacuten de archivosPara crear su infraestructura debe crear los siguientes archivos

bull templateyml

bull myDateTimeFunctionjs

bull beforeAllowTrafficjs

bull afterAllowTrafficjs

Temasbull Cree suAWSSAM template (Plantilla de SAM) (p 157)bull Creacioacuten de un archivo para la funcioacuten de Lambda (p 160)bull Cree un archivo para su funcioacuten BeforeAllowTraffic Lambda (p 162)bull Cree un archivo para la funcioacuten AfterAllowTraffic Lambda (p 163)

Cree suAWSSAM template (Plantilla de SAM)Creacioacuten de unAWSArchivo de plantilla SAM que especifica los componentes de la infraestructura

Para crear su realice el siguiente procedimientoAWSSAM template (Plantilla de SAM)

1 Cree un directorio llamado SAM-Tutorial2 En el directorio SAM-Tutorial cree un archivo denominado templateyml3 Copie el coacutedigo YAML siguiente en templateyml Esta es la plantilla de AWS SAM

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Description A sample SAM template for deploying Lambda functions

Resources Details about the myDateTimeFunction Lambda function myDateTimeFunction Type AWSServerlessFunction Properties Handler myDateTimeFunctionhandler Runtime nodejs10x Instructs your myDateTimeFunction is published to an alias named live AutoPublishAlias live Grants this function permission to call lambdaInvokeFunction Policies - Version 2012-10-17 Statement

Versioacuten de API 2014-10-06157

AWS CodeDeploy Guiacutea del usuarioPaso 1 Configurar la infraestructura

- Effect Allow Action - lambdaInvokeFunction Resource DeploymentPreference Specifies the deployment configuration Type Linear10PercentEvery1Minute Specifies Lambda functions for deployment lifecycle hooks Hooks PreTraffic Ref beforeAllowTraffic PostTraffic Ref afterAllowTraffic Specifies the BeforeAllowTraffic lifecycle hook Lambda function beforeAllowTraffic Type AWSServerlessFunction Properties Handler beforeAllowTraffichandler Policies - Version 2012-10-17 Grants this function permission to call codedeployPutLifecycleEventHookExecutionStatus Statement - Effect Allow Action - codedeployPutLifecycleEventHookExecutionStatus Resource Sub arnawscodedeploy$AWSRegion$AWSAccountIddeploymentgroup$ServerlessDeploymentApplication - Version 2012-10-17 Grants this function permission to call lambdaInvokeFunction Statement - Effect Allow Action - lambdaInvokeFunction Resource Ref myDateTimeFunctionVersion Runtime nodejs10x Specifies the name of the Lambda hook function FunctionName CodeDeployHook_beforeAllowTraffic DeploymentPreference Enabled false Timeout 5 Environment Variables NewVersion Ref myDateTimeFunctionVersion Specifies the AfterAllowTraffic lifecycle hook Lambda function afterAllowTraffic Type AWSServerlessFunction Properties Handler afterAllowTraffichandler Policies - Version 2012-10-17 Statement Grants this function permission to call codedeployPutLifecycleEventHookExecutionStatus - Effect Allow Action - codedeployPutLifecycleEventHookExecutionStatus Resource Sub arnawscodedeploy$AWSRegion$AWSAccountIddeploymentgroup$ServerlessDeploymentApplication - Version 2012-10-17 Statement Grants this function permission to call lambdaInvokeFunction - Effect Allow Action

Versioacuten de API 2014-10-06158

AWS CodeDeploy Guiacutea del usuarioPaso 1 Configurar la infraestructura

- lambdaInvokeFunction Resource Ref myDateTimeFunctionVersion Runtime nodejs10x Specifies the name of the Lambda hook function FunctionName CodeDeployHook_afterAllowTraffic DeploymentPreference Enabled false Timeout 5 Environment Variables NewVersion Ref myDateTimeFunctionVersion

Esta plantilla especifica lo siguiente Para obtener maacutes informacioacuten consulteAWS SAMconceptos deplantilla

Una funcioacuten Lambda llamadamyDateTimeFunction

Cuando se publica esta funcioacuten Lambda elAutoPublishAliasliacutenea de la plantilla la vincula a unalias denominadolive Maacutes adelante en este tutorial una actualizacioacuten de esta funcioacuten desencadenauna implementacioacuten de AWS CodeDeploy que desviacutea gradualmente el traacutefico de produccioacuten de laversioacuten original a la versioacuten actualizada

Dos funciones de validacioacuten de implementacioacuten Lambda

Las siguientes funciones Lambda se ejecutan durante los enlaces de ciclo de vida de CodeDeployLas funciones contienen coacutedigo que valida la implementacioacuten de myDateTimeFunctionactualizado El resultado de las pruebas de validacioacuten se transfiere a CodeDeploy utilizandosuPutLifecycleEventHookExecutionStatusMeacutetodo de API Si la prueba de validacioacuten falla seproduce un error en la implementacioacuten y se revisabull CodeDeployHook_beforeAllowTraffic se ejecuta durante el enlace deBeforeAllowTraffic

bull CodeDeployHook_afterAllowTraffic se ejecuta durante el enlace de AfterAllowTraffic

El nombre de ambas funciones comienza por CodeDeployHook_LaCodeDeployRoleForLambdapermite llamadas al Lambdainvokemeacutetodo de soloen funciones Lambda con nombres que comienzan con este prefijo Para obtener maacutesinformacioacuten consulteSeccioacuten hooks de AppSpec para unAWSImplementacioacuten deLambda (p 426)yPutLifecycleEventHookExecutionStatusen laReferencia de la API CodeDeploy

Deteccioacuten automaacutetica de una funcioacuten de Lambda actualizada

El teacutermino AutoPublishAlias indica al marco de trabajo que detecte cuaacutendo cambia la funcioacuten demyDateTimeFunction y a continuacioacuten la implementa con el alias live

Una configuracioacuten de implementacioacuten

La configuracioacuten de implementacioacuten determina la velocidad a la que la aplicacioacuten CodeDeploy cambiael traacutefico de la versioacuten original de la funcioacuten de Lambda a la nueva versioacuten Esta plantilla especifica laconfiguracioacuten de implementacioacuten predefinida Linear10PercentEvery1Minute

Note

No puede especificar una configuracioacuten de implementacioacuten personalizada enunAWSPlantilla de SAM Para obtener maacutes informacioacuten consulte Create a DeploymentConfiguration (p 269)

Funciones de enlace de ciclo de vida de implementacioacuten

La seccioacuten Hooks especifica las funciones que se van a ejecutar durante los enlaces deeventos del ciclo de vida PreTraffic especifica la funcioacuten que se ejecuta durante el enlaceBeforeAllowTraffic PostTraffic especifica la funcioacuten que se ejecuta durante el enlaceAfterAllowTraffic

Versioacuten de API 2014-10-06159

AWS CodeDeploy Guiacutea del usuarioPaso 1 Configurar la infraestructura

Permisos para que Lambda invoque otra funcioacuten Lambda

El especificadolambdaInvokeFunctionel permiso concede al rol utilizado porelAWSPermiso de aplicacioacuten SAM para invocar una funcioacuten Lambda Esto es obligatorio cuandolaCodeDeployHook_beforeAllowTrafficyCodeDeployHook_afterAllowTrafficinvocan lafuncioacuten Lambda implementada durante las pruebas de validacioacuten

Creacioacuten de un archivo para la funcioacuten de LambdaCree el archivo para la funcioacuten que actualizaraacute e implementaraacute maacutes adelante en este tutorial

Note

Una funcioacuten Lambda puede utilizar cualquier tiempo de ejecucioacuten admitido porAWS Lambda Paraobtener maacutes informacioacuten consulte Tiempos de ejecucioacuten de AWS Lambda

Para crear la funcioacuten de Lambda

1 Cree un archivo de texto y guaacuterdelo como myDateTimeFunctionjs en el directorio SAM-Tutorial

2 Copie el siguiente coacutedigo Nodejs en myDateTimeFunctionjs

use strict exportshandler = function(event context callback) if (eventbody) event = JSONparse(eventbody) var sc Status code var result = Response payload switch(eventoption) case date switch(eventperiod) case yesterday result = setDateResult(yesterday) sc = 200 break case today result = setDateResult() sc = 200 break case tomorrow result = setDateResult(tomorrow) sc = 200 break default result = error Must specify yesterday today or tomorrow sc = 400 break break Later in this tutorial you update this function by uncommenting this section The framework created by AWS SAM detects the update and triggers a deployment by CodeDeploy The deployment shifts production traffic to the updated version of this function

Versioacuten de API 2014-10-06160

AWS CodeDeploy Guiacutea del usuarioPaso 1 Configurar la infraestructura

case time var d = new Date() var h = dgetHours() var mi = dgetMinutes() var s = dgetSeconds() result = hour h minute mi second s sc = 200 break default result = error Must specify date or time sc = 400 break const response = statusCode sc headers Content-type applicationjson body JSONstringify( result ) callback(null response) function setDateResult(option) var d = new Date() Today var mo Month var da Day var y Year switch(option) case yesterday dsetDate(dgetDate() - 1) break case tomorrow dsetDate(dgetDate() + 1) default break mo = dgetMonth() + 1 Months are zero offset (0-11) da = dgetDate() y = dgetFullYear() result = month mo day da year y return result

La funcioacuten Lambda devuelve el diacutea el mes y el antildeo de ayer hoy o mantildeana Maacutes adelante en este tutorialquite el comentario del coacutedigo que actualiza la funcioacuten para devolver informacioacuten sobre el diacutea o la hora que

Versioacuten de API 2014-10-06161

AWS CodeDeploy Guiacutea del usuarioPaso 1 Configurar la infraestructura

especifique (por ejemplo el diacutea el mes y el antildeo o la hora minuto y segundo actuales) El marco de trabajocreado por AWS SAM detecta e implementa la versioacuten actualizada de la funcioacuten

Note

Esta funcioacuten Lambda tambieacuten se utiliza en unAWS Cloud9Hello WorldAWS Cloud9es unentorno de desarrollo integrado basado en la nube Para obtener informacioacuten sobre coacutemo crearejecutar actualizar y depurar esta funcioacuten enAWS Cloud9consulteAWS Lambdatutorial paraAWSCloud9

Cree un archivo para su funcioacuten BeforeAllowTraffic Lambda

Cree el archivo para subeforeAllowTrafficgancho funcioacuten Lambda

1 Cree un archivo de texto y guaacuterdelo como beforeAllowTrafficjs en el directorio SAM-Tutorial

2 Copie el siguiente coacutedigo Nodejs en beforeAllowTrafficjs Esta funcioacuten se ejecuta durante elenlace BeforeAllowTraffic de la implementacioacuten

use strict const AWS = require(aws-sdk) const codedeploy = new AWSCodeDeploy(apiVersion 2014-10-06) var lambda = new AWSLambda() exportshandler = (event context callback) =gt consolelog(Entering PreTraffic Hook) Read the DeploymentId and LifecycleEventHookExecutionId from the event payload var deploymentId = eventDeploymentId var lifecycleEventHookExecutionId = eventLifecycleEventHookExecutionId var functionToTest = processenvNewVersion consolelog(BeforeAllowTraffic hook tests started) consolelog(Testing new function version + functionToTest) Create parameters to pass to the updated Lambda function that include the newly added time option If the function did not update then the time option is invalid and function returns a statusCode of 400 indicating it failed var lambdaParams = FunctionName functionToTest Payload option time InvocationType RequestResponse var lambdaResult = Failed Invoke the updated Lambda function lambdainvoke(lambdaParams function(err data) if (err) an error occurred consolelog(err errstack) lambdaResult = Failed else successful response var result = JSONparse(dataPayload) consolelog(Result + JSONstringify(result)) consolelog(statusCode + resultstatusCode) Check if the status code returned by the updated function is 400 If it is then it failed If is not then it succeeded if (resultstatusCode = 400)

Versioacuten de API 2014-10-06162

AWS CodeDeploy Guiacutea del usuarioPaso 1 Configurar la infraestructura

consolelog(Validation succeeded) lambdaResult = Succeeded else consolelog(Validation failed) Complete the PreTraffic Hook by sending CodeDeploy the validation status var params = deploymentId deploymentId lifecycleEventHookExecutionId lifecycleEventHookExecutionId status lambdaResult status can be Succeeded or Failed Pass CodeDeploy the prepared validation test results codedeployputLifecycleEventHookExecutionStatus(params function(err data) if (err) Validation failed consolelog(CodeDeploy Status update failed) consolelog(err errstack) callback(CodeDeploy Status update failed) else Validation succeeded consolelog(CodeDeploy status updated successfully) callback(null CodeDeploy status updated successfully) ) )

Cree un archivo para la funcioacuten AfterAllowTraffic Lambda

Cree el archivo para suafterAllowTrafficgancho funcioacuten Lambda

1 Cree un archivo de texto y guaacuterdelo como afterAllowTrafficjs en el directorio SAM-Tutorial2 Copie el siguiente coacutedigo Nodejs en afterAllowTrafficjs Esta funcioacuten se ejecuta durante el

enlace AfterAllowTraffic de la implementacioacuten

use strict const AWS = require(aws-sdk) const codedeploy = new AWSCodeDeploy(apiVersion 2014-10-06) var lambda = new AWSLambda() exportshandler = (event context callback) =gt consolelog(Entering PostTraffic Hook) Read the DeploymentId and LifecycleEventHookExecutionId from the event payload var deploymentId = eventDeploymentId var lifecycleEventHookExecutionId = eventLifecycleEventHookExecutionId var functionToTest = processenvNewVersion consolelog(AfterAllowTraffic hook tests started) consolelog(Testing new function version + functionToTest) Create parameters to pass to the updated Lambda function that include the original date parameter If the function did not update as expected then the date option might be invalid If the parameter is invalid the function returns a statusCode of 400 indicating it failed

Versioacuten de API 2014-10-06163

AWS CodeDeploy Guiacutea del usuarioPaso 1 Configurar la infraestructura

var lambdaParams = FunctionName functionToTest Payload option date period today InvocationType RequestResponse var lambdaResult = Failed Invoke the updated Lambda function lambdainvoke(lambdaParams function(err data) if (err) an error occurred consolelog(err errstack) lambdaResult = Failed else successful response var result = JSONparse(dataPayload) consolelog(Result + JSONstringify(result)) consolelog(statusCode + resultstatusCode) Check if the status code returned by the updated function is 400 If it is then it failed If is not then it succeeded if (resultstatusCode = 400) consolelog(Validation of time parameter succeeded) lambdaResult = Succeeded else consolelog(Validation failed) Complete the PostTraffic Hook by sending CodeDeploy the validation status var params = deploymentId deploymentId lifecycleEventHookExecutionId lifecycleEventHookExecutionId status lambdaResult status can be Succeeded or Failed Pass CodeDeploy the prepared validation test results codedeployputLifecycleEventHookExecutionStatus(params function(err data) if (err) Validation failed consolelog(CodeDeploy Status update failed) consolelog(err errstack) callback(CodeDeploy Status update failed) else Validation succeeded consolelog(CodeDeploy status updated successfully) callback(null CodeDeploy status updated successfully) ) )

Empaque elAWSAplicacioacuten SAMAhora deberiacutea tener cuatro archivos en su directorio SAM-Tutorial

bull beforeAllowTrafficjs

bull afterAllowTrafficjs

bull myDateTimeFunctionjs

bull templateyml

Versioacuten de API 2014-10-06164

AWS CodeDeploy Guiacutea del usuarioPaso 1 Configurar la infraestructura

Ahora estaacute preparado para utilizar elAWSSAMsam packagepara crear y empaquetar artefactos para lasfunciones Lambda y la aplicacioacuten CodeDeploy Los artefactos se cargan en un bucket de S3 El resultadodel comando es un nuevo archivo llamado packageyml Este archivo lo utiliza elAWSSAMsam deployenel paso siguiente

Note

Para obtener maacutes informacioacuten sobre lasam packagecomando consulteAWS SAMReferencia decomandos de la CLIen laAWS Serverless Application ModelGuiacutea para desarrolladores

En el directorio SAM-Tutorial ejecute el siguiente elemento

sam package --template-file templateyml --output-template-file packageyml --s3-bucket your-S3-bucket

Para el registros3-bucketespecifique el bucket de Amazon S3 que ha creado como requisito previopara este tutorial Laoutput-template-fileespecifica el nombre del nuevo archivo que utilizaelAWSSAMsam deploycomando

Implementar elAWSAplicacioacuten SAMUsarAWSSAMsam deploycomando con elpackageymlpara crear las funciones Lambda y la aplicacioacutenCodeDeploy y el grupo de implementaciones medianteAWS CloudFormation

Note

Para obtener maacutes informacioacuten sobre lasam deploycomando consulteAWS SAMReferencia decomandos de la CLIen laAWS Serverless Application ModelGuiacutea para desarrolladores

En el directorio SAM-Tutorial ejecute el siguiente comando

sam deploy --template-file packageyml --stack-name my-date-time-app --capabilities CAPABILITY_IAM

La--capabilities CAPABILITY_IAMpara autorizar realice el siguiente procedimientoAWSCloudFormationPara crear roles de IAM

(Opcional) inspeccionar y probar su infraestructuraEn este tema se muestra coacutemo ver los componentes de la infraestructura y probar la funcioacuten Lambda

Para ver el resultado de la pila despueacutes de ejecutar sam deploy realice el siguienteprocedimiento

1 Abra la consola de AWS CloudFormation en httpsconsoleawsamazoncomcloudformation2 En el panel de navegacioacuten seleccione Stacks (Pilas) La pila my-date-time-app aparece en la

parte superior3 Elija la pestantildea Events (Eventos) para ver queacute eventos se han completado Puede ver los eventos

mientras la creacioacuten de la pila estaacute en curso Cuando se haya completado la creacioacuten de la pila podraacutever todos los eventos de creacioacuten esta

4 Con la pila seleccionada elija Resources (Recursos) En el navegadorTipo puede ver lasfunciones LambdamyDateTimeFunctionCodeDeployHook_beforeAllowTraffic

Versioacuten de API 2014-10-06165

AWS CodeDeploy Guiacutea del usuarioPaso 1 Configurar la infraestructura

yCodeDeployHook_afterAllowTraffic LaID fiacutesicosde cada una de las funciones Lambdacontiene un enlace para ver las funciones en la consola de Lambda

Note

El nombre delmyDateTimeFunctionLa funcioacuten Lambda va antepuesta al nombre de laAWSCloudFormationpila y tiene un identificador antildeadido por lo que parecemy-date-time-app-myDateTimeFunction-123456ABCDEF

5 Abra la consola de CodeDeploy en httpsconsoleawsamazoncomcodedeploy6 En el panel de navegacioacuten expanda Deploy (Implementar) y despueacutes elija Applications (Aplicaciones)7 Deberiacutea ver una nueva aplicacioacuten CodeDeploy creada porAWS CloudFormationcon un nombre que

empieza pormy-date-time-app-ServerlessDeploymentApplication Elija esta aplicacioacuten8 Deberiacutea ver un grupo de implementaciones con un nombre que comienza por my-date-time-app-

myDateTimeFunctionDeploymentGroup Elija este grupo de implementaciones

En Deployment configuration (Configuracioacuten de implementacioacuten) deberiacutea verCodeDeployDefaultLambdaLinear10PercentEvery1Minute

Para probar la funcioacuten (consola) (opcional) realice el siguiente procedimiento

1 Abra la consola de AWS Lambda en httpsconsoleawsamazoncomlambda2 En el panel de navegacioacuten elija la funcioacuten my-date-time-app-myDateTimeFunction En la

consola su nombre contiene un identificador por lo que tendraacute un aspecto similar a my-date-time-app-myDateTimeFunction-123456ABCDEF

3 Seleccione Test (Probar)4 En Event name (Nombre del evento) escriba un nombre para el evento de prueba5 Escriba lo siguiente para el evento de prueba y a continuacioacuten elija Create (Crear)

option date period today

6 Seleccione Test (Probar) Solo deberiacutea ver el evento de prueba en la lista de eventos de prueba

En Execution result (Resultado de ejecucioacuten) deberiacutea ver succeeded (correcto)7 En Execution result (Resultado de ejecucioacuten) expanda Details (Detalles) para ver los resultados

Deberiacutea ver el mes diacutea y antildeo actuales

Para probar la funcioacuten (opcional) realice el siguiente procedimientoAWS CLI)

1 Localice el ARN de la funcioacuten de Lambda Aparece en la parte superior de la consola Lambda cuandose visualiza la funcioacuten de

2 Ejecute el siguiente comando de Sustituya your-function-arn por el ARN de la funcioacuten

aws lambda invoke --function your-function-arn --cli-binary-format raw-in-base64-out --payload option date period today outtxt

3 Abra outtxt para confirmar que el resultado contiene el mes el diacutea y el antildeo actuales

Versioacuten de API 2014-10-06166

AWS CodeDeploy Guiacutea del usuarioPaso 2 Actualizacioacuten de la funcioacuten Lambda

Paso 2 Actualizacioacuten de la funcioacuten LambdaEn este tema actualizaraacute el archivo myDateTimeFunctionjs En el siguiente paso utilizaraacute el archivopara implementar la funcioacuten actualizada Esto activa CodeDeploy para que lo implemente cambiando eltraacutefico de produccioacuten de la versioacuten actual de la funcioacuten Lambda a la versioacuten actualizada

Para actualizar la funcioacuten Lambda

1 Abrir myDateTimeFunctionjs2 Elimine los dos marcadores de comentario ( y ) y el texto explicativo al principio y al final del

case denominado time en el bloque switch

El coacutedigo sin comentarios le permite transferir un nuevo paraacutemetro time a la funcioacuten Si pasa time ala funcioacuten actualizada devuelve el valor actual hour minute y second

3 Guarde myDateTimeFunctionjs Debe parecerse a lo siguiente

use strict

exportshandler = function(event context callback)

if (eventbody) event = JSONparse(eventbody)

var sc Status code var result = Response payload

switch(eventoption) case date switch(eventperiod) case yesterday result = setDateResult(yesterday) sc = 200 break case today result = setDateResult() sc = 200 break case tomorrow result = setDateResult(tomorrow) sc = 200 break default result = error Must specify yesterday today or tomorrow sc = 400 break break case time var d = new Date() var h = dgetHours() var mi = dgetMinutes() var s = dgetSeconds()

result = hour h minute mi second s sc = 200

Versioacuten de API 2014-10-06167

AWS CodeDeploy Guiacutea del usuarioPaso 3 Implemente la funcioacuten de Lambda actualizada

break

default result = error Must specify date or time sc = 400 break

const response = statusCode sc headers Content-type applicationjson body JSONstringify( result )

callback(null response)

function setDateResult(option)

var d = new Date() Today var mo Month var da Day var y Year

switch(option) case yesterday dsetDate(dgetDate() - 1) break case tomorrow dsetDate(dgetDate() + 1) default break

mo = dgetMonth() + 1 Months are zero offset (0-11) da = dgetDate() y = dgetFullYear()

result = month mo day da year y

return result

Paso 3 Implemente la funcioacuten de Lambda actualizadaEn este paso utilizaraacute el actualizadomyDateTimeFunctionjspara actualizar e iniciar la implementacioacutende la funcioacuten Lambda Puede monitorizar el progreso de la implementacioacuten en CodeDeploy oAWSLambdaconsola de

La liacutenea de AutoPublishAlias live de la plantilla de AWS SAM hace que la infraestructuradetecte actualizaciones en funciones que utilizan el alias live La actualizacioacuten de la funcioacuten activa unaimplementacioacuten de CodeDeploy que desviacutea el traacutefico de produccioacuten de la versioacuten original de la funcioacuten de ala versioacuten actualizada

Versioacuten de API 2014-10-06168

AWS CodeDeploy Guiacutea del usuarioPaso 3 Implemente la funcioacuten de Lambda actualizada

Lasam packageysam deployse utilizan para actualizar y activar la implementacioacuten de la funcioacutenLambda Ha ejecutado estos comandos en Empaque elAWSAplicacioacuten SAM (p 164) y ImplementarelAWSAplicacioacuten SAM (p 165)

Para implementar la funcioacuten Lambda actualizada realice el siguiente procedimiento

1 En el directorio SAM-Tutorial ejecute el siguiente comando

sam package --template-file templateyml --output-template-file packageyml --s3-bucket your-S3-bucket

Esto crea un nuevo conjunto de artefactos que hacen referencia a la funcioacuten de Lambda actualizadaen el bucket de S3

2 En el directorio SAM-Tutorial ejecute el siguiente comando

sam deploy --template-file packageyml --stack-name my-date-time-app --capabilities CAPABILITY_IAM

Dado que el nombre de la pila sigue siendo my-date-time-app AWS CloudFormation reconoceque se trata de una actualizacioacuten de la pila Para ver la pila actualizada devuelva la consola de AWSCloudFormation y en el panel de navegacioacuten elija Stacks (Pilas)

Para ver el traacutefico durante una implementacioacuten (consola CodeDeploy) (opcional) realice elsiguiente procedimiento

1 Abra la consola de CodeDeploy en httpsconsoleawsamazoncomcodedeploy2 En el panel de navegacioacuten expanda Applications (Aplicaciones) y a continuacioacuten elija la aplicacioacuten

my-date-time-app-ServerlessDeploymentApplication3 En Deployment groups (Grupos de implementaciones) elija el grupo de implementaciones de la

aplicacioacuten Su estado debe ser In progress (En curso)4 En Deployment group history (Historial de grupos de implementaciones) elija la implementacioacuten que

estaacute en curso

La barra de progreso Traffic shifting (Desviacuteo de traacutefico) y los porcentajes de los cuadros Original yReplacement (Sustitucioacuten) de esta paacutegina muestran su progreso

Versioacuten de API 2014-10-06169

AWS CodeDeploy Guiacutea del usuarioPaso 3 Implemente la funcioacuten de Lambda actualizada

Para ver el traacutefico durante una implementacioacuten (consola Lambda) (opcional) realice el siguienteprocedimiento

1 Abra la consola de AWS Lambda en httpsconsoleawsamazoncomlambda2 En el panel de navegacioacuten elija la funcioacuten my-date-time-app-myDateTimeFunction En la

consola su nombre contiene un identificador por lo que tendraacute un aspecto similar a my-date-time-app-myDateTimeFunction-123456ABCDEF

3 ElegirAlias dey luego seleccionevivir

Las ponderaciones situadas junto a la versioacuten original de la funcioacuten (versioacuten 1) y la versioacuten actualizadade la funcioacuten (versioacuten 2) muestran la cantidad de traacutefico que se ofrece a cada versioacuten en el momento enque se cargoacute esta paacutegina de la consola de AWS Lambda La paacutegina no actualiza las ponderaciones con elpaso del tiempo Si actualiza la paacutegina una vez al minuto la ponderacioacuten de la versioacuten 1 disminuye en un10 por ciento y la ponderacioacuten de la versioacuten 2 aumenta en un 10 por ciento hasta que la ponderacioacuten de laversioacuten 2 es 100

Versioacuten de API 2014-10-06170

AWS CodeDeploy Guiacutea del usuarioPaso 4 Consulte los resultados de la implementacioacuten

Paso 4 Consulte los resultados de la implementacioacutenEn este paso podraacute ver los resultados de la implementacioacuten Si la implementacioacuten se realizacorrectamente puede confirmar que la funcioacuten de Lambda actualizada recibe traacutefico de produccioacuten Si laimplementacioacuten falla puede utilizar CloudWatch Logs para ver el resultado de las pruebas de validacioacuten enla funcioacuten Lambda que se ejecutan durante los enlaces de ciclo de vida de la implementacioacuten

Temasbull Comprobacioacuten de la funcioacuten de implementada (p 171)bull Ver eventos de enlace en CloudWatch Logs (p 172)

Comprobacioacuten de la funcioacuten de implementadaLasam deployactualiza el comandomy-date-time-app-myDateTimeFunctionFuncioacuten Lambda Laversioacuten de la funcioacuten se actualiza a 2 y se antildeade al alias live

Para ver la actualizacioacuten en la consola de Lambda

1 Abra la consola de AWS Lambda en httpsconsoleawsamazoncomlambda2 En el panel de navegacioacuten elija la funcioacuten my-date-time-app-myDateTimeFunction En la

consola su nombre contiene un identificador por lo que tendraacute un aspecto similar a my-date-time-app-myDateTimeFunction-123456ABCDEF

3 Elija Qualifiers (Cualificadores) y a continuacioacuten Aliases (Alias) Una vez completada laimplementacioacuten (aproximadamente 10 minutos) para ellivealias deberiacuteas verVersioacuten 2

Versioacuten de API 2014-10-06171

AWS CodeDeploy Guiacutea del usuarioPaso 4 Consulte los resultados de la implementacioacuten

4 En Function code (Coacutedigo de funcioacuten) consulte el coacutedigo fuente de la funcioacuten Deben aparecer loscambios

5 Puede utilizar las instrucciones de prueba de Paso 2 Actualizacioacuten de la funcioacuten Lambda (p 167)para probar la funcioacuten actualizada (opcional) Cree un nuevo evento de prueba con la siguiente cargay a continuacioacuten confirme que el resultado contiene la hora el minuto y el segundo actuales

option time

Para utilizar la AWS CLI para probar la funcioacuten actualizada ejecute el siguiente comando y acontinuacioacuten abra outtxt para confirmar que el resultado contiene la hora el minuto y el segundoactuales

aws lambda invoke --function your-function-arn --payload option time outtxt

Note

Si utiliza la AWS CLI para probar la funcioacuten antes de que se complete la implementacioacutenes posible que reciba resultados inesperados Esto se debe a que CodeDeploy desviacuteade forma incremental el 10 por ciento del traacutefico a la versioacuten actualizada cada minutoDurante la implementacioacuten parte del traacutefico sigue apuntando a la versioacuten original por loque aws lambda invoke podriacutea utilizar la versioacuten original Despueacutes de 10 minutos laimplementacioacuten se ha completado y todo el traacutefico apunta a la nueva versioacuten de la funcioacuten

Ver eventos de enlace en CloudWatch LogsDurante elBeforeAllowTraffichook CodeDeploy ejecutasuCodeDeployHook_beforeAllowTrafficFuncioacuten Lambda Durante elAfterAllowTraffichookCodeDeploy ejecuta suCodeDeployHook_afterAllowTrafficFuncioacuten Lambda Cada funcioacutenejecuta una prueba de validacioacuten que invoca la versioacuten actualizada de la funcioacuten mediante el nuevoparaacutemetro time Si la actualizacioacuten de la funcioacuten Lambda se realiza correctamente eltimeno provocaun error y la validacioacuten se realiza correctamente Si la funcioacuten no se ha actualizado el paraacutemetro noreconocido provoca un error y la validacioacuten falla Estas pruebas de validacioacuten son solo para fines dedemostracioacuten Puede escribir sus propias pruebas para validar la implementacioacuten Puede utilizar la consolade CloudWatch Logs para ver las pruebas de validacioacuten

Para ver los eventos de enlace de CodeDeploy

1 Abra la consola de CloudWatch en httpsconsoleawsamazoncomcloudwatch2 En el panel de navegacioacuten elija Logs (Registros)

Versioacuten de API 2014-10-06172

AWS CodeDeploy Guiacutea del usuarioPaso 5 Eliminar recursos

3 En la lista de grupos de registros elija awslambdaCodeDeployHook_beforeAllowTraffic o awslambdaCodeDeployHook_afterAllowTraffic

4 Elija el flujo de registros Debe ver solo uno5 Expanda los eventos para ver sus detalles

Paso 5 Eliminar recursosPara evitar cargos adicionales por los recursos que ha utilizado en este tutorial elimine los recursoscreados por elAWS SAMla plantilla y los registros de CloudWatch creados por las funciones de validacioacutende Lambda

Para eliminar la pila de AWS CloudFormation

1 Inicie sesioacuten en la AWS Management Console y abra la consola de AWS CloudFormation en httpsconsoleawsamazoncomcloudformation

2 En la columna Stacks (Pilas) elija la pila de my-date-time-app y a continuacioacuten elija Delete(Eliminar)

3 Cuando se le solicite elija Delete stack (Eliminar pila) Las funciones Lambda la aplicacioacutenCodeDeploy y los roles de IAM creados porAWS SAMse eliminan

Para eliminar los registros en CloudWatch Logs

1 Abra la consola de CloudWatch en httpsconsoleawsamazoncomcloudwatch2 En el panel de navegacioacuten elija Logs (Registros)

Versioacuten de API 2014-10-06173

AWS CodeDeploy Guiacutea del usuarioPaso 5 Eliminar recursos

3 En la lista de grupos de registros elija el botoacuten situado junto a awslambdaCodeDeployHook_beforeAllowTraffic

4 En Actions (Acciones) elija Delete log group (Eliminar grupo de registros) y a continuacioacuten YesDelete (Siacute eliminar)

5 En la lista de grupos de registros elija el botoacuten situado junto a awslambdaCodeDeployHook_afterAllowTraffic

6 En Actions (Acciones) elija Delete log group (Eliminar grupo de registros) y a continuacioacuten YesDelete (Siacute eliminar)

Versioacuten de API 2014-10-06174

AWS CodeDeploy Guiacutea del usuarioSistemas operativos compatibles

con el agente de CodeDeploy

Trabajar con el agente deCodeDeploy

El agente de CodeDeploy es un paquete de software que una vez instalado y configurado en unainstancia permite utilizar dicha instancia en implementaciones de CodeDeploy

Important

La versioacuten miacutenima admitida del agente de CodeDeploy es la 110 El uso de un agente deCodeDeploy anterior podriacutea producir un error en las implementacionesNote

El agente de CodeDeploy solo es necesario si se realiza la implementacioacuten en una plataforma decomputacioacuten EC2On-Premises El agente no es necesario para las implementaciones que utilizanAmazon ECS oAWSPlataforma informaacutetica de Lambda

Un archivo de configuracioacuten se coloca en la instancia cuando se instala el agente Este archivo se utilizapara especificar coacutemo funciona el agente Este archivo de configuracioacuten especifica las rutas de directorioy otros ajustes que AWS CodeDeploy usa cuando interactuacutea con la instancia Puede cambiar algunasde las opciones de configuracioacuten en el archivo Para obtener informacioacuten sobre coacutemo trabajar con elarchivo de configuracioacuten del agente de CodeDeploy consulteReferencia de configuracioacuten del agenteCodeDeploy (p 441)

Para obtener maacutes informacioacuten sobre coacutemo usar el agente de CodeDeploy (por ejemplo los pasospara instalar actualizar y verificar versiones) consulteAdministracioacuten de operaciones del agente deCodeDeploy (p 186)

Temasbull Sistemas operativos compatibles con el agente de CodeDeploy (p 175)bull Protocolo de comunicacioacuten y puerto para el agente de CodeDeploy (p 176)bull Historial de versiones del agente de CodeDeploy (p 176)bull Revisioacuten de aplicaciones y limpieza de archivos de registro (p 183)bull Archivos instalados por el agente de CodeDeploy (p 183)bull Administracioacuten de operaciones del agente de CodeDeploy (p 186)

Sistemas operativos compatibles con el agente deCodeDeploy

Sistemas operativos AMI de Amazon EC2 compatiblesEl agente de CodeDeploy se ha probado en los siguientes sistemas operativos de AMI de Amazon EC2

bull Amazon Linux 201803x 201703x 201609x 201603x y 201409xbull Amazon Linux 2 (ARM x86)bull Ubuntu Server 2010 2004 LTS 1804 LTS 1604 LTS y 1404 LTSbull Microsoft Windows Server 2019 2016 2012 R2 y 2008 R2bull Red Hat Enterprise Linux (RHEL) 7x

Versioacuten de API 2014-10-06175

AWS CodeDeploy Guiacutea del usuarioSistemas operativos locales compatibles

El agente de CodeDeploy estaacute disponible como coacutedigo abierto para que pueda adaptarlo a susnecesidades Se puede utilizar con otros sistemas operativos de AMI de Amazon EC2 Para obtener maacutesinformacioacuten consulte laAgente de CodeDeployrepositorio en GitHub

Sistemas operativos locales compatiblesEl agente de CodeDeploy se ha probado en los siguientes sistemas operativos on-premises

bull Ubuntu Server 2010 2004 LTS 1804 LTS 1604 LTS y 1404 LTSbull Microsoft Windows Server 2019 2016 2012 R2 y 2008 R2bull Red Hat Enterprise Linux (RHEL) 7x

El agente de CodeDeploy estaacute disponible como coacutedigo abierto para que pueda adaptarlo a susnecesidades Se puede utilizar con otros sistemas operativos de instancias on-premises Para obtener maacutesinformacioacuten consulte laAgente de CodeDeployrepositorio en GitHub

Protocolo de comunicacioacuten y puerto para el agentede CodeDeploy

El agente de CodeDeploy se comunica con el exterior a traveacutes de HTTPS sobre el puerto 443

Cuando el agente de CodeDeploy se ejecuta en una instancia de EC2 utilizaraacute elMetadatos deEC2endpoint para recuperar informacioacuten relacionada con las instancias Obtenga maacutes informacioacuten sobre lalimitacioacuten y la concesioacuten de acceso al servicio de metadatos de instancia

Historial de versiones del agente de CodeDeploySus instancias se deben ejecutar en una versioacuten compatible del agente de CodeDeploy La versioacuten maacutesantigua compatible es la 110 Si ejecuta una versioacuten anterior las implementaciones en las instanciaspodriacutean producir un error

En la siguiente tabla se muestran todas las versiones del agente de CodeDeploy y las caracteriacutesticas ymejoras incluidas con cada versioacuten

Versioacuten Fecha delanzamiento de lanueva versioacuten

Detalles

132 6 de mayo de 2021 Important

CodeDeploy agent 132direccionesCVE-2018-1000201que afecta a los hostsde Windows que ejecutan el agente El CVE cita ruby-ffi que es una dependencia del agente de CodeDeploySi su agente se instaloacute con Amazon EC2 SystemsManager (SSM) y estaacute configurado para actualizarseautomaacuteticamente no se requiere ninguna accioacuten Delo contrario se requiere una accioacuten para actualizarmanualmente el agente Para actualizar el agente sigalas instrucciones que se describen enActualizar el agentede CodeDeploy en Windows Server

Versioacuten de API 2014-10-06176

AWS CodeDeploy Guiacutea del usuarioHistorial de versiones del agente de CodeDeploy

Versioacuten Fecha delanzamiento de lanueva versioacuten

Detalles

Fixed Problema al instalar el agente CodeDeploy en Ubuntu 2004y versiones posteriores

Fixed Problema intermitente que se produjo al extraer archivoscomprimidos porque las rutas relativas no se manejabancorrectamente

Se ha antildeadido Compatibilidad conAWS PrivateLinky los puntosde enlace de la VPCpara instancias de Windows

Se ha antildeadido Support Ubuntu 2010

Se ha antildeadido Mejoras en los archivos de AppSpec como sedescribe a continuacioacuten

bull Ahora puede especificar un nombre de archivo personalizadopara el archivo AppSpec al crear una implementacioacutenlocal Para obtener maacutes informacioacuten consulte Crear unaimplementacioacuten local (p 354)

bull El archivo de AppSpec ahora puede tener unyamlextensioacuten dearchivo

bull Ahora puede sobrescribir los archivos desplegados utilizandoun nuevo opcionalfile_exists_behaviorconfiguracioacuten enel archivo AppSpec Para obtener maacutes informacioacuten consulteSeccioacuten files de AppSpec (solo para implementaciones EC2On-Premises) (p 411)

Actualizado CodeDeploy utiliza ahora elAWSSDK for Ruby 30

131 22 de diciembre de2020

Fixed 130 que impidioacute que se iniciaran instancias locales

130 10 de noviembre de2020

Important

Esta versioacuten estaacute obsoleta

Fixed Se ha eliminado un certificado caducado que ya no seutilizoacute

Fixed Se ha eliminado el mensaje de solicitud del script dedesinstalacioacuten del agente utilizado porAWS Systems Manager loque facilita la degradacioacuten de un host o flota a una versioacuten anteriordel agente

Versioacuten de API 2014-10-06177

AWS CodeDeploy Guiacutea del usuarioHistorial de versiones del agente de CodeDeploy

Versioacuten Fecha delanzamiento de lanueva versioacuten

Detalles

121 23 de septiembre de2020

de modificacioacuten ActualizadoAWS SDK for Rubydependencia dev2 a v3

Se ha antildeadido Support para IMDSv2 Incluye un respaldosilencioso a IMDSv1 si las solicitudes http de IMDSv2 fallan

de modificacioacuten Se han actualizado las dependencias de Rake yRubyzip para los parches de seguridad

Fixed Aseguacuterese de que un archivo PID vaciacuteo devuelva el estadodeNo CodeDeploy Agent Runningy limpie el archivo PID aliniciar el agente

112 4 de agosto de 2020 Se ha antildeadido Support Ubuntu Server 1910 y 2004

Nota La versioacuten 1910 llegoacute a su fecha de fin de vida uacutetil y ya noes compatible con Ubuntu ni CodeDeploy

Se ha antildeadido Mejoras en la eficiencia de la memoria para Linuxy Ubuntu para liberar la memoria reservada maacutes oportunamente

Se ha antildeadido Compatibilidad con la laquolimpieza silenciosaraquo deWindows Server que provocaba que el agente no respondiera enalgunos casos

Se ha antildeadido Ignorar los directorios no vaciacuteos durante lalimpieza para evitar errores en la implementacioacuten

Se ha antildeadido Compatibilidad conAWSZona local en Los Aacutengeles(LA)

Se ha antildeadido Extraer AZ de metadatos de instancia paraproporcionar compatibilidad paraAWSLocal Zones

Se ha antildeadido Los usuarios ahora pueden proporcionar suarchivo en subdirectorios y no estaacuten obligados a almacenarlo en eldirectorio raiacutez

Se ha antildeadido Se ha detectado un problema con Rubyzip quepodriacutea provocar fugas de memoria Se ha actualizado el comandounzip para intentar utilizar primero una utilidad de descompresioacuteninstalada en el sistema antes de utilizar Rubyzip

Se ha antildeadidoenable_auth_policycomo configuracioacuten deagente

de modificacioacuten Las advertencias de descompresioacuten ahora seignoran para que las implementaciones continuacuteen

Versioacuten de API 2014-10-06178

AWS CodeDeploy Guiacutea del usuarioHistorial de versiones del agente de CodeDeploy

Versioacuten Fecha delanzamiento de lanueva versioacuten

Detalles

110 30 de junio de 2020 de modificacioacuten El control de versiones del agente deCodeDeploy sigue ahora la convencioacuten de control de versionesestaacutendar de Ruby

Se ha antildeadido Nuevo paraacutemetro del comando de instalacioacuten yactualizacioacuten para permitir la instalacioacuten de una versioacuten especiacuteficadel agente desde la liacutenea de comandos

Eliminaciones Se ha eliminado el actualizador automaacutetico delagente de CodeDeploy para Linux y Ubuntu Para configurarlas actualizaciones automaacuteticas del agente de CodeDeployconsulteInstale el agente de CodeDeploy medianteAWS SystemsManager

1011597 15 de noviembre de2018

Important

La versioacuten miacutenima admitida del agente de CodeDeployes la 110 El uso de un agente de CodeDeploy anteriorpodriacutea producir un error en las implementaciones

Mejora CodeDeploy admite Ubuntu 1804

Mejora CodeDeploy admite Ruby 25

Mejora CodeDeploy admite puntos de enlace de FIPS Paraobtener maacutes informacioacuten sobre los puntos de enlace de FIPSconsulte Informacioacuten general sobre FIPS 140-2 Para obtenerinformacioacuten sobre los puntos de enlace que se pueden utilizar conCodeBuild consulteRegiones y puntos de enlace de CodeDeploy

1011518 12 de junio de 2018 Mejora Se ha corregido un problema que provocada un error alcerrar el agente de CodeDeploy mientras aceptaba solicitudes desondeo

Mejora Se antildeadioacute una caracteriacutestica de seguimiento deimplementacioacuten que evita que el agente de CodeDeploy se cierrecuando una implementacioacuten estaacute en curso

Mejora Se mejoroacute el desempentildeo al eliminar archivos

1011458 6 de marzo de 2018 Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Mejora Se han mejorado las validaciones certificado para admitirmaacutes autoridades de confianza

Mejora Se corrigioacute un problema que provocaba que lainterfaz de comandos (CLI) local devolviera un error duranteuna implementacioacuten que incluiacutea un evento de ciclo de vidaBeforeInstall

Mejora Se ha corregido un problema que podriacutea provocar el errorde una implementacioacuten activa cuando se actualiza el agente deCodeDeploy

Versioacuten de API 2014-10-06179

AWS CodeDeploy Guiacutea del usuarioHistorial de versiones del agente de CodeDeploy

Versioacuten Fecha delanzamiento de lanueva versioacuten

Detalles

1011352 16 de noviembre de2017

Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Caracteriacutestica Se ha incluido una nueva funcioacuten para probar ydepurar una implementacioacuten de EC2local en una instancia oequipo local en el que esteacute instalado el agente de CodeDeploy

1011106 16 de mayo de 2017 Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Caracteriacutestica Se ha incluido nueva compatibilidad para eltratamiento de contenido en una ubicacioacuten de destino que noformaba parte de la revisioacuten de la aplicacioacuten de la implementacioacutencorrecta maacutes reciente Las opciones de implementacioacuten parael contenido existente incluyen ahora conservar el contenidosobrescribir el contenido o hacer fracasar la implementacioacuten

Mejora El agente de CodeDeploy ahora es compatible con laversioacuten 292 delAWS SDK for Ruby(aws-sdk-core 292)

1011095 29 de marzo de 2017 Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Mejora Se ha introducido compatibilidad para el agente deCodeDeploy en la regioacuten China (Pekiacuten)

Mejora Se puede ejecutar Puppet en instancias de WindowsServer cuando las invoca un enlace de evento de ciclo de vida

Mejora Se ha mejorado el tratamiento deuntaroperaciones

1011067 6 de enero de 2017 Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Mejora Se han revisado muchos mensajes de error para incluirmaacutes causas especiacuteficas para los errores de implementacioacuten

Mejora Se ha resuelto un problema que impediacutea al agente deCodeDeploy identificar la revisioacuten de la aplicacioacuten correcta que sedebe implementar durante algunas implementaciones

Mejora Se ha revertido el uso depushdypopdantes y despueacutesdeluntar

1011045 21 de noviembre de2016

Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Mejora El agente de CodeDeploy ahora es compatible con laversioacuten 2611 delAWS SDK for Ruby(aws-sdk-core 2611)

Versioacuten de API 2014-10-06180

AWS CodeDeploy Guiacutea del usuarioHistorial de versiones del agente de CodeDeploy

Versioacuten Fecha delanzamiento de lanueva versioacuten

Detalles

1011037 19 de octubre de2016

Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

El agente de CodeDeploy para las instancias de Amazon LinuxRHEL y Ubuntu Server se ha actualizado con el siguiente cambioPara las instancias de Windows Server la uacuteltima versioacuten siguesiendo 101998

Mejora El agente puede determinar ahora queacute versioacuten deRuby estaacute instalada en una instancia para que pueda invocarelcodedeploy-agentscript utilizando esa versioacuten

10110111 17 de agosto de2016

Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Mejora Se han eliminado los cambios introducidos por la versioacuten1011011 debido a problemas de compatibilidad con el shellEsta versioacuten del agente es funcionalmente equivalente a la versioacuten101998 publicada el 11 de julio de 2016

1011011 15 de agosto de2016

Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

El agente de CodeDeploy para las instancias de Amazon LinuxRHEL y Ubuntu Server se ha actualizado con los siguientescambios Para las instancias de Windows Server la uacuteltima versioacutensigue siendo 101998

Caracteriacutestica Se ha antildeadido compatibilidad para invocar elagente de CodeDeploy mediante el shell bash en sistemasoperativos en los que se usa el sistema systemd initMejora Admite compatibilidad para todas las versiones de Ruby2x en el agente de CodeDeploy y en el actualizador del agentede CodeDeploy Los agentes de CodeDeploy actualizados ya nodependen solo de Ruby 20 (Ruby 20 sigue siendo necesariopara las versiones deb y rpm del instalador del agente deCodeDeploy)

101998 11 de julio de 2016 Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Mejora Se ha corregido la compatibilidad para ejecutar elagente de CodeDeploy con perfiles de usuario distintosdenodo raiacutez La variable denominada USER se ha sustituidopor CODEDEPLOY_USER para evitar conflictos con variables delentorno

Versioacuten de API 2014-10-06181

AWS CodeDeploy Guiacutea del usuarioHistorial de versiones del agente de CodeDeploy

Versioacuten Fecha delanzamiento de lanueva versioacuten

Detalles

101966 16 de junio de 2016 Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Caracteriacutestica Se ha introducido compatibilidad para ejecutar elagente de CodeDeploy con perfiles de usuario distintos denodoraiacutez

Mejora Se ha corregido la compatibilidad para especificar elnuacutemero de revisiones de aplicacioacuten que desea que el agente deCodeDeploy archive para un grupo de implementaciones

Mejora El agente de CodeDeploy ahora es compatible con laversioacuten 23 delAWS SDK for Ruby(aws-sdk-core 23)

Mejora Se han corregido los problemas con la codificacioacuten UTF-8durante las implementaciones

Mejora Se ha mejorado la precisioacuten al identificar nombres deproceso

101950 24 de marzo de 2016 Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Caracteriacutestica Se ha antildeadido compatibilidad con el proxy deinstalacioacuten

Mejora Se ha actualizado el script de instalacioacuten para que nodescargue el agente de CodeDeploy si la uacuteltima versioacuten ya estaacuteinstalada

101934 11 de febrero de2016

Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Caracteriacutestica Se ha antildeadido compatibilidad para especificar elnuacutemero de revisiones de aplicacioacuten que desea que el agente deCodeDeploy archive para un grupo de implementaciones

101880 11 de enero de 2016 Nota Esta versioacuten ya no se admite y podriacutea producir un error enlas implementaciones

Mejora El agente de CodeDeploy ahora es compatible con laversioacuten 22 delAWS SDK for Ruby(aws-sdk-core 22) La versioacuten212 sigue siendo compatible

Versioacuten de API 2014-10-06182

AWS CodeDeploy Guiacutea del usuarioRevisioacuten de aplicaciones y limpieza de archivos de registro

Versioacuten Fecha delanzamiento de lanueva versioacuten

Detalles

101854 17 de noviembre de2015

Nota esta versioacuten ya no se admite Si utiliza esta versioacuten lasimplementaciones podriacutea producir un error

Caracteriacutestica Se ha introducido compatibilidad con el algoritmohash SHA-256

Caracteriacutestica Se presentoacute compatibilidad con el seguimiento deversiones enversionarchivos

Caracteriacutestica El ID del grupo de implementaciones ahora estaacutedisponible mediante el uso de una variable de entorno

Mejora Se ha antildeadido compatibilidad para supervisar los registrosdel agente de CodeDeploy medianteAmazon CloudWatch Logs

Para obtener informacioacuten relacionada consulte los siguientes temas

bull Determinar la versioacuten del agente de CodeDeploy (p 188)bull Instalacioacuten del agente de CodeDeploy (p 189)

Para ver un historial de versiones del agente de CodeDeploy consulte laRelease repository on GitHub

Revisioacuten de aplicaciones y limpieza de archivos deregistro

El agente de CodeDeploy archiva las revisiones y los archivos log en instancias El agente de CodeDeploylimpia estos artefactos para ahorrar espacio en disco

Registros de implementacioacuten de revisiones de Puede utilizar elmax_revisionsen el archivo deconfiguracioacuten del agente para especificar el nuacutemero de revisiones de aplicacioacuten que se deben archivarintroduciendo un nuacutemero entero positivo CodeDeploy archiva tambieacuten los archivos log de esas revisionesEl resto se elimina a excepcioacuten del archivo log de la uacuteltima implementacioacuten correcta Este archivo logse conserva siempre aunque el nuacutemero de implementaciones que han producido un error sea superioral nuacutemero de revisiones conservadas Si no se especifica ninguacuten valor CodeDeploy conserva las cincorevisiones maacutes recientes ademaacutes de la revisioacuten implementada en la actualidad

Registros CodeDeploy Para las instancias de Amazon Linux Ubuntu Server y RHEL el agente deCodeDeploy rota los archivos log en elvarlogawscodedeploy-agentfolder El archivo log rota alas 000000 (hora de la instancia) cada diacutea Los archivos log se eliminan al cabo de siete diacuteas El patroacutende nomenclatura para los archivos log movidos es codedeploy-agentYYYYMMDDlog

Archivos instalados por el agente de CodeDeployEl agente de CodeDeploy almacena las revisiones el historial de implementacioacuten y los scripts deimplementacioacuten en su directorio raiacutez en una instancia El nombre predeterminado y la ubicacioacuten de estedirectorio es

Versioacuten de API 2014-10-06183

AWS CodeDeploy Guiacutea del usuarioArchivos instalados por el agente de CodeDeploy

optcodedeploy-agentdeployment-rootpara instancias de Amazon Linux Ubuntu Server yRHEL

CProgramDataAmazonCodeDeploypara instancias de Windows Server

Puede utilizar elroot_diren el archivo de configuracioacuten del agente de CodeDeploy para configurar el nombrey la ubicacioacuten del directorio Para obtener maacutes informacioacuten consulte Referencia de configuracioacuten delagente CodeDeploy (p 441)

A continuacioacuten se muestra un ejemplo del archivo y de la estructura de directorios bajo el directorio raiacutezLa estructura supone que hay un nuacutemero N de grupos de implementacioacuten y cada grupo de implementacioacutencontiene un nuacutemero N de implementaciones

|--deployment-root|-- deployment group 1 ID | |-- deployment 1 ID | | |-- Contents and logs of the deployments revision| |-- deployment 2 ID| | |-- Contents and logs of the deployments revision| |-- deployment N ID| | |-- Contents and logs of the deployments revision|-- deployment group 2 ID| |-- deployment 1 ID| | |-- bundletar| | |-- deployment-archive| | | | -- contents of the deployments revision| | |-- logs| | | | -- scriptslog | |-- deployment 2 ID| | |-- bundletar| | |-- deployment-archive| | | | -- contents of the deployments revision| | |-- logs| | | | -- scriptslog | |-- deployment N ID| | |-- bundletar| | |-- deployment-archive| | | | -- contents of the deployments revision| | |-- logs| | | | -- scriptslog |-- deployment group N ID| |-- deployment 1 ID| | |-- Contents and logs of the deployments revision| |-- deployment 2 ID| | |-- Contents and logs of the deployments revision| |-- deployment N ID| | |-- Contents and logs of the deployments revision|-- deployment-instructions| |-- [deployment group 1 ID]_cleanup| |-- [deployment group 2 ID]_cleanup| |-- [deployment group N ID]_cleanup| |-- [deployment group 1 ID]_installjson| |-- [deployment group 2 ID]_installjson| |-- [deployment group N ID]_installjson| |-- [deployment group 1 ID]_last_successful_install| |-- [deployment group 2 ID]_last_successful_install| |-- [deployment group N ID]_last_successful_install| |-- [deployment group 1 ID]_most_recent_install| |-- [deployment group 2 ID]_most_recent_install| |-- [deployment group N ID]_most_recent_install|-- deployment-logs| |-- codedeploy-agent-deploymentslog

Versioacuten de API 2014-10-06184

AWS CodeDeploy Guiacutea del usuarioArchivos instalados por el agente de CodeDeploy

bull Las carpetas Deployment Group ID (ID de grupo de implementaciones) representan cada uno desus grupos de implementaciones El nombre de un directorio de grupo de implementaciones es suID (por ejemplo acde1916-9099-7caf-fd21-012345abcdef) Cada directorio de grupo deimplementaciones contiene un subdirectorio para cada implementacioacuten que se ha intentado en dichogrupo de implementaciones

Puede utilizar elbatch-get-Deploymentspara buscar un ID de grupo de implementacionesbull Las carpetas Deployment ID (ID de implementacioacuten) representan cada implementacioacuten en un grupo de

implementaciones El nombre de cada directorio de implementacioacuten es su ID Cada carpeta contienebull bundletar un archivo comprimido con el contenido de la revisioacuten de la implementacioacuten Utilice una

utilidad de descompresioacuten zip si desea ver la revisioacutenbull deployment-archive un directorio que contiene el contenido de la revisioacuten de la implementacioacutenbull logs un directorio que contiene un archivo scriptslog Este archivo indica el resultado de todos

los scripts especificados en el archivo AppSpec de la implementacioacuten

Si desea buscar la carpeta para una implementacioacuten pero no conoce su ID de implementacioacuten o IDde grupo de implementaciones puede utilizar la consola de AWS CodeDeploy o la AWS CLI parabuscarlas Para obtener maacutes informacioacuten consulte Ver detalles de implementacioacuten de CodeDeploy (p 340)

El nuacutemero maacuteximo predeterminado de las implementaciones que se pueden archivar en un grupo deimplementaciones es de cinco Cuando se alcanza ese nuacutemero se archivan las implementacionesfuturas y se elimina el archivo maacutes antiguo Puede utilizar elmax_revisionsen el archivo de configuracioacutendel agente de CodeDeploy para cambiar el valor predeterminado Para obtener maacutes informacioacutenconsulte Referencia de configuracioacuten del agente CodeDeploy (p 441)

Note

Si desea recuperar el espacio en disco duro utilizado por las implementaciones archivadasactualice el valor max_revisions a un nuacutemero bajo como por ejemplo 1 o 2 La siguienteimplementacioacuten elimina las implementaciones archivadas de modo que el nuacutemero sea igual alespecificado

bull deployment-instructions contiene cuatro archivos de texto para cada grupo de implementacionesbull [ID grupo de implementaciones]-cleanup un archivo de texto con una versioacuten deshacer de cada

comando que se ejecuta durante una implementacioacuten Un nombre de archivo de ejemplo esacde1916-9099-7caf-fd21-012345abcdef-cleanup

bull [ID de grupo de implementaciones]-installjson un archivo JSON creado durante la implementacioacutenmaacutes reciente Contiene los comandos que se ejecutan durante la implementacioacuten Un nombre dearchivo de ejemplo es acde1916-9099-7caf-fd21-012345abcdef-installjson

bull [ID de grupo de implementaciones]_last_successfull_install un archivo de texto que muestrael directorio de archivos de la uacuteltima implementacioacuten correcta Este archivo se crea cuando elagente de CodeDeploy ha copiado todos los archivos en la aplicacioacuten de implementacioacuten a lainstancia Lo utiliza el agente de CodeDeploy durante la siguiente implementacioacuten para determinarqueacuteApplicationStopyBeforeInstallscripts que se ejecutaraacuten Un nombre de archivo de ejemploes acde1916-9099-7caf-fd21-012345abcdef_last_successfull_install

bull [ID de grupo de implementaciones]_most_recent_install un archivo de texto que muestra elnombre del directorio de archivos de la implementacioacuten maacutes reciente Este archivo se creacuando los archivos de la implementacioacuten se han descargado correctamente El archivo [ID degrupo de implementaciones]_last_successfull_install se crea despueacutes de este archivo cuandolos archivos descargados se copian en su destino final Un nombre de archivo de ejemplo esacde1916-9099-7caf-fd21-012345abcdef_most_recent_install

bull deployment-logs contiene los archivos de registro siguientesbull Los archivos codedeploy-agentaaaammddlog se crean para cada diacutea que hay una implementacioacuten

Cada archivo de registro contiene informacioacuten acerca de las implementaciones del diacutea Estos archivosde registro podriacutean ser uacutetiles para depurar problemas como un problema de permisos El archivo deVersioacuten de API 2014-10-06

185

AWS CodeDeploy Guiacutea del usuarioAdministracioacuten de operaciones del agente de CodeDeploy

registro se denomina inicialmente codedeploy-agentlog Al diacutea siguiente se inserta la fechade sus implementaciones en el nombre del archivo Por ejemplo si hoy es 3 de enero de 2018puede ver informacioacuten acerca de todas las implementaciones de hoy en codedeploy-agentlogMantildeana 4 de enero de 2018 se cambia el nombre del archivo de registro a codedeploy-agent20180103log

bull codedeploy-agent-deploymentslog compila el contenido de los archivos scriptslog paracada implementacioacuten Los archivos scriptslog se encuentran en la subcarpeta logs debajode cada carpeta Deployment ID Las entradas de este archivo van precedidas de un ID deimplementacioacuten Por ejemplo [d-ABCDEF123]LifecycleEvent - BeforeInstall podriacuteahaberse escrito durante una implementacioacuten con un ID de d-ABCDEF123 Cuandocodedeploy-agent-deploymentslogalcanza el tamantildeo maacuteximo el agente de CodeDeploy sigue escribiendoen eacutel mientras elimina el contenido antiguo

Administracioacuten de operaciones del agente deCodeDeploy

Las instrucciones de esta seccioacuten indican coacutemo instalar desinstalar reinstalar o actualizar el agente deCodeDeploy y coacutemo comprobar que el agente de CodeDeploy se estaacute ejecutando

Important

La versioacuten miacutenima admitida del agente de CodeDeploy es la 110 El uso de un agente deCodeDeploy anterior podriacutea producir un error en las implementaciones

Temasbull Verifique que el agente de CodeDeploy esteacute en ejecucioacuten (p 186)bull Determinar la versioacuten del agente de CodeDeploy (p 188)bull Instalacioacuten del agente de CodeDeploy (p 189)bull Actualizacioacuten del agente de CodeDeploy (p 198)bull Desinstalacioacuten del agente de CodeDeploy (p 203)bull SendCodeDeployRegistros de agentes de aCloudWatch (p 204)

Verifique que el agente de CodeDeploy esteacute enejecucioacutenEsta seccioacuten describe los comandos que pueden ejecutarse cuando se sospecha que el agente deCodeDeploy ha dejado de ejecutarse en una instancia

Temasbull Verifique que el agente de CodeDeploy para Amazon Linux o RHEL se esteacute ejecutando (p 186)bull Verifique que el agente de CodeDeploy para Ubuntu Server se esteacute ejecutando (p 187)bull Verifique que el agente de CodeDeploy para Windows Server se estaacute ejecutando (p 187)

Verifique que el agente de CodeDeploy para Amazon Linux oRHEL se esteacute ejecutandoPara saber si el agente de CodeDeploy estaacute instalado y se estaacute ejecutando inicie sesioacuten en la instancia yejecute el comando siguiente

Versioacuten de API 2014-10-06186

AWS CodeDeploy Guiacutea del usuarioVerifique que el agente de CodeDeploy esteacute en ejecucioacuten

sudo service codedeploy-agent status

Si el comando devuelve un error el agente de CodeDeploy no estaacute instalado Instaacutelelo como se describeen Instale el agente CodeDeploy para Amazon Linux o RHEL (p 191)

Si el agente de CodeDeploy estaacute instalado y se estaacute ejecutando veraacute el mensajeThe AWS CodeDeployagent is running

Si ve el mensaje error No AWS CodeDeploy agent running inicie el servicio y ejecute uno poruno los dos comandos siguientes

sudo service codedeploy-agent start

sudo service codedeploy-agent status

Verifique que el agente de CodeDeploy para Ubuntu Server seesteacute ejecutandoPara saber si el agente de CodeDeploy estaacute instalado y se estaacute ejecutando inicie sesioacuten en la instancia yejecute el comando siguiente

sudo service codedeploy-agent status

Si el comando devuelve un error el agente de CodeDeploy no estaacute instalado Instaacutelelo como se describeen Instale el agente de CodeDeploy para Ubuntu Server (p 192)

Si el agente de CodeDeploy estaacute instalado y se estaacute ejecutando veraacute el mensajeThe AWS CodeDeployagent is running

Si ve el mensaje error No AWS CodeDeploy agent running inicie el servicio y ejecute uno poruno los dos comandos siguientes

sudo service codedeploy-agent start

sudo service codedeploy-agent status

Verifique que el agente de CodeDeploy para Windows Server seestaacute ejecutandoPara saber si el agente de CodeDeploy estaacute instalado y se estaacute ejecutando inicie sesioacuten en la instancia yejecute el comando siguiente

powershellexe -Command Get-Service -Name codedeployagent

Deberiacutea ver un resultado similar a este

Status Name DisplayName------ ---- -----------Running codedeployagent CodeDeploy Host Agent Service

Si el comando devuelve un error el agente de CodeDeploy no estaacute instalado Instaacutelelo como se describeen Instale el agente de CodeDeploy para Windows Server (p 193)

Versioacuten de API 2014-10-06187

AWS CodeDeploy Guiacutea del usuarioDeterminar la versioacuten del agente de CodeDeploy

Si Status muestra algo distinto de Running inicie el servicio con el comando siguiente

powershellexe -Command Start-Service -Name codedeployagent

Puede reiniciar el servicio con el comando siguiente

powershellexe -Command Restart-Service -Name codedeployagent

Puede detener el servicio con el comando siguiente

powershellexe -Command Stop-Service -Name codedeployagent

Determinar la versioacuten del agente de CodeDeployPara determinar la versioacuten del agente de CodeDeploy que se estaacute ejecutando en una instancia puedeproceder de dos maneras

Important

La versioacuten miacutenima admitida del agente de CodeDeploy es la 110 El uso de un agente deCodeDeploy anterior podriacutea producir un error en las implementaciones

La primera posible a partir de la versioacuten 101854 del agente de CodeDeploy consiste en observar elnuacutemero de versioacuten en unversionen la instancia La tabla siguiente muestra la ubicacioacuten y un ejemplo decadena de versioacuten para los distintos sistemas operativos compatibles

Sistema operativo Ubicacioacuten del archivo Ejemplo de cadenaagent_version

Amazon Linux y Red HatEnterprise Linux (RHEL)

optcodedeploy-agentversion

OFFICIAL_101854_rpm

Servidor Ubuntu optcodedeploy-agentversion

OFFICIAL_101854_deb

Windows Server CProgramDataAmazonCodeDeployversion

OFFICIAL_101854_msi

En segundo lugar puede ejecutar un comando en una instancia para determinar la versioacuten del agente deCodeDeploy

Temasbull Determinar la versioacuten en Amazon Linux o RHEL (p 188)bull Determinacioacuten de la versioacuten en Ubuntu Server (p 189)bull Determinar la versioacuten en Windows Server (p 189)

Determinar la versioacuten en Amazon Linux o RHELInicie sesioacuten en la instancia y ejecute el comando siguiente

sudo yum info codedeploy-agent

Versioacuten de API 2014-10-06188

AWS CodeDeploy Guiacutea del usuarioInstalacioacuten del agente de CodeDeploy

Determinacioacuten de la versioacuten en Ubuntu ServerInicie sesioacuten en la instancia y ejecute el comando siguiente

sudo dpkg -s codedeploy-agent

Determinar la versioacuten en Windows ServerInicie sesioacuten en la instancia y ejecute el comando siguiente

sc qdescription codedeployagent

Instalacioacuten del agente de CodeDeployPara utilizar CodeDeploy en las instancias EC2 o los servidores en las instalaciones primero debeinstalarse el agente de CodeDeploy Recomendamos instalar y actualizar el agente de CodeDeployconAWS Systems Manager para obtener maacutes informacioacuten acerca de Systems Manager consulteiquestQueacutees AWS Systems Manager Puede configurar la instalacioacuten y las actualizaciones programadas del agentede CodeDeploy con Systems Manager en la consola al crear los grupos de implementacioacuten

Tambieacuten puede instalar el agente de CodeDeploy directamente desde un bucket de S3 con la liacutenea decomandos

Temasbull Instale el agente de CodeDeploy medianteAWS Systems Manager (p 189)bull Instalacioacuten del agente de CodeDeploy con la liacutenea de comandos (p 190)

Instale el agente de CodeDeploy medianteAWS SystemsManagerPuede utilizar elAWS Management Consoleo elAWS CLIPara instalar el agente de CodeDeploy en susinstancias de Amazon EC2 o en las instalaciones conAWS Systems Manager Puede elegir entre instalaruna versioacuten especiacutefica o instalar siempre la uacuteltima versioacuten del agente Para obtener maacutes informacioacutenacerca de AWS Systems Manager consulte iquestQueacute es AWS Systems Manager

Uso deAWS Systems Manageres el meacutetodo recomendado para instalar y actualizar el agente deCodeDeploy Tambieacuten puede instalar el agente de CodeDeploy desde un bucket de Amazon S3 Paraobtener maacutes informacioacuten acerca del uso del enlace de descarga de Amazon S3 consulte Instalacioacuten delagente de CodeDeploy con la liacutenea de comandos (p 190)

Temasbull Requisitos previos (p 189)bull Instalacioacuten del agente de CodeDeploy (p 190)

Requisitos previosSiga los pasos deIntroduccioacuten a CodeDeploy (p 35)para configurar los permisos de IAM y elAWS CLI

Si instala el agente de CodeDeploy en un servidor en las instalaciones con Systems Managerdebe registrar el servidor local en Amazon EC2 Systems Manager Para obtener maacutes informacioacutenconsulteConfiguracioacuten de Systems Manager en entornos hiacutebridosen laAWS Systems ManagerGuiacutea delusuario de

Versioacuten de API 2014-10-06189

AWS CodeDeploy Guiacutea del usuarioInstalacioacuten del agente de CodeDeploy

Instalacioacuten del agente de CodeDeploy

Antes de utilizar Systems Manager para instalar el agente de CodeDeploy debe asegurarse de que lainstancia esteacute configurada correctamente para Systems Manager

Instalacioacuten o actualizacioacuten del agente de SSM

En una instancia de Amazon EC2 el agente de CodeDeploy requiere que la instancia ejecute la versioacuten232740 o posterior Antes de instalar el agente de CodeDeploy actualice o instale el agente de SSM enla instancia si auacuten no lo ha hecho

Las AMI de Amazon EC2 siguientes vienen con el agente de SSM preinstalado

bull AMI de Windows Server 2008-2012 R2 publicadas en noviembre de 2016 o posteriormentebull Windows Server 2016 y 2019bull Amazon Linux y Amazon Linux 2bull Ubuntu Server 1604 y 1804bull Optimizado para Amazon ECS

Para obtener informacioacuten sobre coacutemo instalar o actualizar el agente de SSM en una instancia conLinux consulteInstalacioacuten y configuracioacuten del agente de SSM en instancias de Linuxen laAWS SystemsManagerGuiacutea del usuario de

Para obtener informacioacuten acerca de la instalacioacuten o actualizacioacuten del agente de SSM en una instancia conWindows Server consulteInstalacioacuten y configuracioacuten del agente SSM en instancias de Windowsen laAWSSystems ManagerGuiacutea del usuario de

(Opcional) Verifique los prerrequisitos de Systems Manager

Antes de utilizar Run Command de Systems Manager para instalar el agente de CodeDeploy verifiqueque las instancias cumplen los requisitos miacutenimos de Systems Manager Para obtener maacutes informacioacutenconsulteConfiguracioacuten deAWS Systems Manageren laAWS Systems ManagerGuiacutea del usuario de

Instalacioacuten del agente de CodeDeploy

Con SSM puede instalar CodeDeploy una vez o configurar una programacioacuten para instalar nuevasversiones

Para instalar el agente de CodeDeploy elija laAWSCodeDeployAgentpaquete mientras sigues los pasosdeInstalacioacuten o actualizacioacuten de paquetes conAWS Systems Managerdistribuidor

Instalacioacuten del agente de CodeDeploy con la liacutenea de comandosNote

Le recomendamos que instale el agente de CodeDeploy conAWS Systems Managerpara poderconfigurar las actualizaciones programadas del agente Para obtener maacutes informacioacuten consulteInstale el agente de CodeDeploy medianteAWS Systems Manager (p 189)

Utilice los siguientes temas para instalar y ejecutar el agente de CodeDeploy mediante la liacutenea decomandos

Temasbull Instale el agente CodeDeploy para Amazon Linux o RHEL (p 191)bull Instale el agente de CodeDeploy para Ubuntu Server (p 192)bull Instale el agente de CodeDeploy para Windows Server (p 193)

Versioacuten de API 2014-10-06190

AWS CodeDeploy Guiacutea del usuarioInstalacioacuten del agente de CodeDeploy

Instale el agente CodeDeploy para Amazon Linux o RHELInicie sesioacuten en la instancia y ejecute uno a uno los comandos siguientes Ejecucioacuten del comandosudoyum updateprimero se considera una praacutectica recomendada cuando se utilizayumPara instalar paquetespero puede omitirlo si no desea actualizar todos sus paquetes

Note

En el cuarto comandohomeec2-userrepresenta el nombre de usuario predeterminadopara una instancia de Amazon Linux o RHEL Amazon EC2 Si la instancia se creoacute con unaAMI personalizada el propietario de la AMI puede haber especificado otro nombre de usuariopredeterminado

sudo yum update

sudo yum install ruby

sudo yum install wget

Para limpiar la AMI de cualquier informacioacuten de almacenamiento en cacheacute del agente anterior ejecute elsiguiente script

binbashCODEDEPLOY_BIN=optcodedeploy-agentbincodedeploy-agent$CODEDEPLOY_BIN stopyum erase codedeploy-agent -y

cd homeec2-user

wget httpsbucket-names3region-identifieramazonawscomlatestinstall

nombre-bucketes el nombre del bucket de Amazon S3 que contiene los archivos del kit de recursosde CodeDeploy de su regioacutenIdentificador de la regioacutenes el identificador de tu regioacuten Porejemplo para la regioacuten EE UU Este (Ohio) sustituyanombre-bucketconaws-codedeploy-us-east-2y sustituirIdentificador de la regioacutenconus-east-2 Para obtener una lista de losnombres de los buckets y los identificadores de regioacuten consulteNombres de buckets del kit de recursos porregioacuten (p 449)

chmod +x install

Para instalar la uacuteltima versioacuten del agente de CodeDeploy

bullsudo install auto

Para instalar una versioacuten especiacutefica del agente de CodeDeploy

bullsudo install auto -v releasescodedeploy-agent-rpm

Para comprobar que el servicio se estaacute ejecutando ejecute el siguiente comando

sudo service codedeploy-agent status

Versioacuten de API 2014-10-06191

AWS CodeDeploy Guiacutea del usuarioInstalacioacuten del agente de CodeDeploy

Si el agente de CodeDeploy estaacute instalado y se estaacute ejecutando veraacute el mensajeThe AWS CodeDeployagent is running

Si ve el mensaje error No AWS CodeDeploy agent running inicie el servicio y ejecute uno poruno los dos comandos siguientes

sudo service codedeploy-agent start

sudo service codedeploy-agent status

Instale el agente de CodeDeploy para Ubuntu ServerNote

Le recomendamos que instale el agente de CodeDeploy conAWS Systems Managerpara poderconfigurar las actualizaciones programadas del agente Para obtener maacutes informacioacuten consulteInstale el agente de CodeDeploy medianteAWS Systems Manager (p 189)

Para instalar el agente de CodeDeploy en Ubuntu Server

1 Inicie sesioacuten en la instancia2 Lleve a cabo una de las siguientes acciones en funcioacuten de la versioacuten de Ubuntu Server

bull En Ubuntu Server 1404 introduzca los siguientes comandos uno tras otro

sudo apt-get update

sudo apt-get install ruby20

sudo apt-get install wget

bull En Ubuntu Server 1604 y versiones posteriores introduzca los siguientes comandos uno tras otro

sudo apt update

sudo apt install ruby-full

sudo apt install wget

3 Escriba el siguiente comando

cd homeubuntu

homeubunturepresenta el nombre de usuario predeterminado para una instancia de UbuntuServer Si la instancia se creoacute con una AMI personalizada el propietario de la AMI puede haberespecificado otro nombre de usuario predeterminado

4 Escriba el siguiente comando

wget httpsbucket-names3region-identifieramazonawscomlatestinstall

nombre-bucketes el nombre del bucket de Amazon S3 que contiene los archivos del kit de recursosde CodeDeploy de su regioacutenIdentificador de la regioacutenes el identificador de tu regioacuten Porejemplo para la regioacuten EE UU Este (Ohio) sustituyanombre-bucketconaws-codedeploy-

Versioacuten de API 2014-10-06192

AWS CodeDeploy Guiacutea del usuarioInstalacioacuten del agente de CodeDeploy

us-east-2y sustituirIdentificador de la regioacutenconus-east-2 Para obtener una lista delos nombres de los buckets y los identificadores de regioacuten consulteNombres de buckets del kit derecursos por regioacuten (p 449)

5 Escriba el siguiente comando

chmod +x install

6 Realice alguna de las siguientes acciones

bull Para instalar la uacuteltima versioacuten del agente de CodeDeploy en Ubuntu 1404 1604 y 1804

sudo install auto

bull Para instalar la uacuteltima versioacuten del agente de CodeDeploy en Ubuntu 2004Note

Escribir la salida en un archivo de registro temporal es una solucioacuten alternativa que debeutilizarse mientras abordamos un error conocido con elinstallscript en Ubuntu 2004

sudo install auto gt tmplogfile

bull Para instalar una versioacuten especiacutefica del agente de CodeDeploy en Ubuntu 1404 1604 y 1804

sudo install auto -v releasescodedeploy-agent-deb

bull Para instalar una versioacuten especiacutefica del agente de CodeDeploy en Ubuntu 2004Note

Escribir la salida en un archivo de registro temporal es una solucioacuten alternativa que debeutilizarse mientras abordamos un error conocido con elinstallscript en Ubuntu 2004

sudo install auto -v releasescodedeploy-agent-deb gt tmplogfile

Para comprobar que el servicio se estaacute ejecutando

1 Escriba el siguiente comando

sudo service codedeploy-agent status

Si el agente de CodeDeploy estaacute instalado y se estaacute ejecutando veraacute el mensajeThe AWSCodeDeploy agent is running

2 Si ve el mensaje error No AWS CodeDeploy agent running inicie el servicio y ejecute unopor uno los dos comandos siguientes

sudo service codedeploy-agent start

sudo service codedeploy-agent status

Instale el agente de CodeDeploy para Windows ServerEn las instancias de Windows Server puede utilizar uno de estos meacutetodos para descargar e instalar elagente de CodeDeploy

Versioacuten de API 2014-10-06193

AWS CodeDeploy Guiacutea del usuarioInstalacioacuten del agente de CodeDeploy

bull UsarAWS Systems Manager(recomendado)bull Ejecutar una serie de comandos de Windows PowerShellbull Elegir un enlace de descarga directabull Ejecute un comando de copia de Amazon S3

Note

La carpeta en la que estaacute instalado el agente de CodeDeploy esCProgram DataAmazonCodeDeploy Aseguacuterese de que no haya cruces de directorios ni enlaces simboacutelicos en estaruta

Temasbull Utilizar Systems Manager (p 194)bull Usar Windows PowerShell (p 194)bull Usar un enlace directo (p 195)bull Utilizar un comando de copia de Amazon S3 (p 196)

Utilizar Systems Manager

Siga las instrucciones enInstale el agente de CodeDeploy medianteAWS Systems Manager (p 189)parainstalar el agente de CodeDeploy

Usar Windows PowerShell

Inicie sesioacuten en la instancia y ejecute los comandos siguientes en Windows PowerShell

1 Es necesario que todos los scripts y archivos de configuracioacuten que se hayan descargado de Internetesteacuten firmados por un editor de confianza Si se le pide que cambie la poliacutetica de ejecucioacuten escribaY

Set-ExecutionPolicy RemoteSigned

2 Cargue AWS Tools for Windows PowerShell

Import-Module AWSPowerShell

3 Cree un directorio donde se pueda descargar el archivo de instalacioacuten del agente de CodeDeploy

New-Item -Path ctemp -ItemType directory -Force

4 ConfigurarAWScredenciales que utilizan laSet-AWSCredentialyInitialize-AWSDefaultConfigurationcommands Para obtener maacutes informacioacuten consulteUsodeAWScredencialesen laAWSherramientas para la Guiacutea del usuario de PowerShell

5 Descargue el archivo de instalacioacuten del agente de CodeDeploy

Para instalar la uacuteltima versioacuten del agente de CodeDeploy

bullpowershellexe -Command Read-S3Object -BucketName bucket-name -Key latestcodedeploy-agentmsi -File ctempcodedeploy-agentmsi

Para instalar una versioacuten especiacutefica del agente de CodeDeploy

Versioacuten de API 2014-10-06194

AWS CodeDeploy Guiacutea del usuarioInstalacioacuten del agente de CodeDeploy

bullpowershellexe -Command Read-S3Object -BucketName bucket-name -Key releasescodedeploy-agent-msi -File ctempcodedeploy-agentmsi

nombre-bucketes el nombre del bucket de Amazon S3 que contiene los archivos del kit de recursosde CodeDeploy para su regioacuten Por ejemplo para la regioacuten EE UU Este (Ohio) sustituyanombre-bucketconaws-codedeploy-us-east-2 Para obtener una lista de los nombres de los bucketsconsulteNombres de buckets del kit de recursos por regioacuten (p 449)

6 Ejecute el archivo de instalacioacuten del agente de CodeDeploy

ctempcodedeploy-agentmsi quiet l ctemphost-agent-install-logtxt

Para comprobar que el servicio se estaacute ejecutando ejecute el siguiente comando

powershellexe -Command Get-Service -Name codedeployagent

Si el agente de CodeDeploy se acaba de instalar y no se ha iniciado despueacutes de ejecutar laGet-Servicecomando enEstado deberiacuteas verStart

Status Name DisplayName------ ---- -----------Start codedeployagent CodeDeploy Host Agent Service

Si el agente de CodeDeploy ya se estaacute ejecutando despueacutes de ejecutar laGet-Servicecomando enEstadodeberiacuteas verRunning

Status Name DisplayName------ ---- -----------Running codedeployagent CodeDeploy Host Agent Service

Usar un enlace directo

Si la configuracioacuten de seguridad del navegador en la instancia de Windows Server proporciona lospermisos (por ejemplo parahttps3amazonawscom) puede utilizar un enlace directo de suregioacuten para descargar el agente de CodeDeploy y luego ejecutar el instalador manualmente

Nombre de la regioacuten de Enlace de descarga

EE UU Este (Ohio) httpsaws-codedeploy-us-east-2s3amazonawscomlatestcodedeploy-agentmsi

EEUU Este (Norte de Virginia) httpsaws-codedeploy-us-east-1s3amazonawscomlatestcodedeploy-agentmsi

EEUU Oeste (Norte de California) httpsaws-codedeploy-us-west-1s3amazonawscomlatestcodedeploy-agentmsi

Versioacuten de API 2014-10-06195

AWS CodeDeploy Guiacutea del usuarioInstalacioacuten del agente de CodeDeploy

Nombre de la regioacuten de Enlace de descarga

EE UU Oeste (Oregoacuten) httpsaws-codedeploy-us-west-2s3amazonawscomlatestcodedeploy-agentmsi

Canadaacute (Central) httpsaws-codedeploy-ca-central-1s3amazonawscomlatestcodedeploy-agentmsi

Europa (Irlanda) httpsaws-codedeploy-eu-west-1s3amazonawscomlatestcodedeploy-agentmsi

Europe (London) httpsaws-codedeploy-eu-west-2s3amazonawscomlatestcodedeploy-agentmsi

Europa (Pariacutes) httpsaws-codedeploy-eu-west-3s3amazonawscomlatestcodedeploy-agentmsi

Europa (Fraacutencfort) httpsaws-codedeploy-eu-central-1s3amazonawscomlatestcodedeploy-agentmsi

Asia-Paciacutefico (Hong Kong) httpsaws-codedeploy-ap-east-1s3ap-east-1amazonawscomlatestcodedeploy-agentmsi

Asia-Paciacutefico (Tokio) httpsaws-codedeploy-ap-northeast-1s3amazonawscomlatestcodedeploy-agentmsi

Asia-Paciacutefico (Seuacutel) httpsaws-codedeploy-ap-northeast-2s3amazonawscomlatestcodedeploy-agentmsi

Asia Paciacutefico (Singapur) httpsaws-codedeploy-ap-southeast-1s3amazonawscomlatestcodedeploy-agentmsi

Asia-Paciacutefico (Siacutedney) httpsaws-codedeploy-ap-southeast-2s3amazonawscomlatestcodedeploy-agentmsi

Asia-Paciacutefico (Mumbai) httpsaws-codedeploy-ap-south-1s3amazonawscomlatestcodedeploy-agentmsi

Ameacuterica del Sur (Satildeo Paulo) httpsaws-codedeploy-sa-east-1s3amazonawscomlatestcodedeploy-agentmsi

Utilizar un comando de copia de Amazon S3

Si el archivo deAWS CLIestaacute instalado en la instancia puede utilizar Amazon S3CPPara descargar elagente de CodeDeploy y luego ejecutar el instalador manualmente Para obtener informacioacuten consulteInstalacioacuten de la AWS Command Line Interface en Microsoft Windows

Versioacuten de API 2014-10-06196

AWS CodeDeploy Guiacutea del usuarioInstalacioacuten del agente de CodeDeploy

Nombre de la regioacuten de Comando de copia de Amazon S3

EE UU Este (Ohio)aws s3 cp s3aws-codedeploy-us-east-2latestcodedeploy-agentmsi codedeploy-agentmsi

EEUU Este (Norte de Virginia)aws s3 cp s3aws-codedeploy-us-east-1latestcodedeploy-agentmsi codedeploy-agentmsi

EEUU Oeste (Norte de California)aws s3 cp s3aws-codedeploy-us-west-1latestcodedeploy-agentmsi codedeploy-agentmsi

EE UU Oeste (Oregoacuten)aws s3 cp s3aws-codedeploy-us-west-2latestcodedeploy-agentmsi codedeploy-agentmsi

Canadaacute (Central)aws s3 cp s3aws-codedeploy-ca-central-1latestcodedeploy-agentmsi codedeploy-agentmsi

Europa (Irlanda)aws s3 cp s3aws-codedeploy-eu-west-1latestcodedeploy-agentmsi codedeploy-agentmsi

Europe (London)aws s3 cp s3aws-codedeploy-eu-west-2latestcodedeploy-agentmsi codedeploy-agentmsi

Europa (Pariacutes)aws s3 cp s3aws-codedeploy-eu-west-3latestcodedeploy-agentmsi codedeploy-agentmsi

Europa (Fraacutencfort)aws s3 cp s3aws-codedeploy-eu-central-1latestcodedeploy-agentmsi codedeploy-agentmsi

Asia-Paciacutefico (Hong Kong)aws s3 cp s3aws-codedeploy-ap-east-1latestcodedeploy-agentmsi codedeploy-agentmsi

Asia-Paciacutefico (Tokio)aws s3 cp s3aws-codedeploy-ap-northeast-1latestcodedeploy-agentmsi codedeploy-agentmsi

Asia-Paciacutefico (Seuacutel)aws s3 cp s3aws-codedeploy-ap-northeast-2latestcodedeploy-agentmsi codedeploy-agentmsi

Versioacuten de API 2014-10-06197

AWS CodeDeploy Guiacutea del usuarioActualizacioacuten del agente de CodeDeploy

Nombre de la regioacuten de Comando de copia de Amazon S3

Asia Paciacutefico (Singapur)aws s3 cp s3aws-codedeploy-ap-southeast-1latestcodedeploy-agentmsi codedeploy-agentmsi

Asia-Paciacutefico (Siacutedney)aws s3 cp s3aws-codedeploy-ap-southeast-2latestcodedeploy-agentmsi codedeploy-agentmsi

Asia-Paciacutefico (Mumbai)aws s3 cp s3aws-codedeploy-ap-south-1latestcodedeploy-agentmsi codedeploy-agentmsi

Ameacuterica del Sur (Satildeo Paulo)aws s3 cp s3aws-codedeploy-sa-east-1latestcodedeploy-agentmsi codedeploy-agentmsi

Actualizacioacuten del agente de CodeDeployPuede configurar actualizaciones automaacuteticas programadas del agente de CodeDeploy en todoslos sistemas operativos compatibles medianteAWS Systems Manager Tambieacuten puede forzar lasactualizaciones en todos los sistemas operativos compatibles ejecutando un comando en una instancia

Temasbull Actualizar el agente de CodeDeploy en Amazon Linux o RHEL (p 198)bull Actualizar el agente de CodeDeploy en Ubuntu Server (p 198)bull Actualizar el agente de CodeDeploy en Windows Server (p 199)

Actualizar el agente de CodeDeploy en Amazon Linux o RHELPara configurar actualizaciones automaacuteticas programadas del agente de CodeDeploy medianteAWSSystems Manager siga los pasos que se indican enInstale el agente de CodeDeploy conAWS SystemsManager

Si desea forzar una actualizacioacuten del agente de CodeDeploy inicie sesioacuten en la instancia y ejecute elcomando siguiente

sudo optcodedeploy-agentbininstall auto

Actualizar el agente de CodeDeploy en Ubuntu ServerPara configurar actualizaciones automaacuteticas programadas del agente de CodeDeploy medianteAWSSystems Manager siga los pasos que se indican enInstale el agente de CodeDeploy conAWS SystemsManager

Si desea forzar una actualizacioacuten del agente de CodeDeploy inicie sesioacuten en la instancia y ejecute elcomando siguiente

sudo optcodedeploy-agentbininstall auto

Versioacuten de API 2014-10-06198

AWS CodeDeploy Guiacutea del usuarioActualizacioacuten del agente de CodeDeploy

Actualizar el agente de CodeDeploy en Windows ServerPuede habilitar las actualizaciones automaacuteticas del agente de CodeDeploy conAWS Systems ManagerCon Systems Manager puede configurar una programacioacuten de actualizacioacuten de sus instancias de AmazonEC2 o en las instalaciones mediante la creacioacuten de una asociacioacuten con Systems Manager State ManagerTambieacuten puede actualizar el agente de CodeDeploy mediante la desinstalacioacuten de la versioacuten actual einstala una maacutes reciente

Temasbull Configuracioacuten de la actualizacioacuten automaacutetica del agente de CodeDeploy conAWS Systems

Manager (p 199)bull Actualizar manualmente el agente de CodeDeploy (p 199)bull (Obsolado) Actualizacioacuten del agente de CodeDeploy con Windows Server Updater (p 199)

Configuracioacuten de la actualizacioacuten automaacutetica del agente de CodeDeploy conAWSSystems Manager

Para configurar Systems Manager y habilitar las actualizaciones automaacuteticas del agente de CodeDeploysiga las instrucciones deInstale el agente de CodeDeploy medianteAWS Systems Manager

Actualizar manualmente el agente de CodeDeploy

Para actualizar el agente de CodeDeploy manualmente puede instalar la versioacuten maacutes reciente desdela CLI o utilizar Systems Manager Siga las instrucciones enInstalacioacuten del agente de CodeDeploy Serecomienda desinstalar las versiones anteriores del agente de CodeDeploy siguiendo las instruccionesdeDesinstalacioacuten del agente de CodeDeploy

(Obsolado) Actualizacioacuten del agente de CodeDeploy con Windows Server UpdaterNote

El actualizador del agente de CodeDeploy para Windows Server estaacute obsoleto y no se actualizaraacutea ninguna versioacuten posterior a la 10111597

Para habilitar la actualizacioacuten automaacutetica del agente de CodeDeploy instale el actualizador del agente deCodeDeploy para Windows Server en las instancias nuevas o ya existentes El actualizador compruebaperioacutedicamente si existen versiones nuevas Cuando detecta una versioacuten nueva del agente el actualizadordesinstala la versioacuten actual si la hay antes de instalar la uacuteltima versioacuten

Si una implementacioacuten ya estaacute en curso cuando el actualizador detecta una nueva versioacuten continuaraacutehasta su finalizacioacuten Si se intenta iniciar una implementacioacuten durante el proceso de actualizacioacuten laimplementacioacuten falla

Si desea forzar una actualizacioacuten del agente de CodeDeploy siga las instrucciones deInstale el agente deCodeDeploy para Windows Server (p 193)

En las instancias de Windows Server puede descargar e instalar el actualizador del agente deCodeDeploy mediante la ejecucioacuten de comandos de Windows PowerShell utilizando un enlace dedescarga directa o ejecutando un comando copy de Amazon S3

Temasbull Usar Windows PowerShell (p 200)bull Usar un enlace directo (p 200)bull Utilizar un comando de copia de Amazon S3 (p 201)

Versioacuten de API 2014-10-06199

AWS CodeDeploy Guiacutea del usuarioActualizacioacuten del agente de CodeDeploy

Usar Windows PowerShell

Inicie sesioacuten en la instancia y ejecute uno por uno los comandos siguientes en Windows PowerShell

Set-ExecutionPolicy RemoteSigned

Si se le pide que cambie la poliacutetica de ejecucioacuten elija Y para que Windows PowerShell requiera que todoslos scripts y archivos de configuracioacuten descargados de Internet esteacuten firmados por un editor de confianza

Import-Module AWSPowerShell

New-Item -Path ctemp -ItemType directory -Force

powershellexe -Command Read-S3Object -BucketName bucket-name -Key latestcodedeploy-agent-updatermsi -File ctempcodedeploy-agent-updatermsi

ctempcodedeploy-agent-updatermsi quiet l ctemphost-agent-updater-logtxt

powershellexe -Command Get-Service -Name codedeployagent

nombre-bucketes el nombre del bucket de Amazon S3 que contiene los archivos del kit de recursosde CodeDeploy de su regioacuten Por ejemplo para la regioacuten EE UU Este (Ohio) sustituyanombre-bucketconaws-codedeploy-us-east-2 Para obtener una lista de los nombres de los bucketsconsulteNombres de buckets del kit de recursos por regioacuten (p 449)

Si desea averiguar un error en el proceso de actualizacioacuten escriba el comando siguiente para abrir elarchivo de registro del actualizador del agente de CodeDeploy

notepad CProgramDataAmazonCodeDeployUpdaterlogcodedeploy-agentupdaterlog

Usar un enlace directo

Si la configuracioacuten de seguridad del navegador en la instancia de Windows Server proporciona lospermisos necesarios (por ejemplo para https3amazonawscom ) puede utilizar un enlacedirecto para descargar el actualizador del agente de CodeDeploy Escriba la siguiente informacioacuten en labarra de direcciones del navegador y a continuacioacuten descargue y ejecute el instalador manualmente

Nombre de la regioacuten de Enlace de descarga

EE UU Este (Ohio) httpsaws-codedeploy-us-east-2s3amazonawscomlatestcodedeploy-agent-updatermsi

EEUU Este (Norte de Virginia) httpsaws-codedeploy-us-east-1s3amazonawscomlatestcodedeploy-agent-updatermsi

EEUU Oeste (Norte de California) httpsaws-codedeploy-us-west-1s3amazonawscomlatestcodedeploy-agent-updatermsi

EE UU Oeste (Oregoacuten) httpsaws-codedeploy-us-west-2s3amazonawscomlatestcodedeploy-agent-updatermsi

Versioacuten de API 2014-10-06200

AWS CodeDeploy Guiacutea del usuarioActualizacioacuten del agente de CodeDeploy

Nombre de la regioacuten de Enlace de descarga

Canadaacute (Central) httpsaws-codedeploy-ca-central-1s3amazonawscomlatestcodedeploy-agent-updatermsi

Europa (Irlanda) httpsaws-codedeploy-eu-west-1s3amazonawscomlatestcodedeploy-agent-updatermsi

Europe (London) httpsaws-codedeploy-eu-west-2s3amazonawscomlatestcodedeploy-agent-updatermsi

Europa (Pariacutes) httpsaws-codedeploy-eu-west-3s3amazonawscomlatestcodedeploy-agent-updatermsi

Europa (Fraacutencfort) httpsaws-codedeploy-eu-central-1s3amazonawscomlatestcodedeploy-agent-updatermsi

Asia-Paciacutefico (Hong Kong) httpsaws-codedeploy-ap-east-1s3amazonawscomlatestcodedeploy-agent-updatermsi

Asia-Paciacutefico (Tokio) httpsaws-codedeploy-ap-northeast-1s3amazonawscomlatestcodedeploy-agent-updatermsi

Asia-Paciacutefico (Seuacutel) httpsaws-codedeploy-ap-northeast-2s3amazonawscomlatestcodedeploy-agent-updatermsi

Asia Paciacutefico (Singapur) httpsaws-codedeploy-ap-southeast-1s3amazonawscomlatestcodedeploy-agent-updatermsi

Asia-Paciacutefico (Siacutedney) httpsaws-codedeploy-ap-southeast-2s3amazonawscomlatestcodedeploy-agent-updatermsi

Asia-Paciacutefico (Mumbai) httpsaws-codedeploy-ap-south-1s3amazonawscomlatestcodedeploy-agent-updatermsi

Ameacuterica del Sur (Satildeo Paulo) httpsaws-codedeploy-sa-east-1s3amazonawscomlatestcodedeploy-agent-updatermsi

Utilizar un comando de copia de Amazon S3

Si el archivo deAWS CLIestaacute instalado en la instancia puede utilizar Amazon S3CPPara descargarel actualizador del agente de CodeDeploy y luego ejecutar el instalador manualmente Para obtenerinformacioacuten consulte Instalacioacuten de la AWS Command Line Interface en Microsoft Windows

Versioacuten de API 2014-10-06201

AWS CodeDeploy Guiacutea del usuarioActualizacioacuten del agente de CodeDeploy

Nombre de la regioacuten de Comando de copia de Amazon S3

EE UU Este (Ohio)aws s3 cp s3aws-codedeploy-us-east-2latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

EEUU Este (Norte de Virginia)aws s3 cp s3aws-codedeploy-us-east-1latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

EEUU Oeste (Norte de California)aws s3 cp s3aws-codedeploy-us-west-1latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

EE UU Oeste (Oregoacuten)aws s3 cp s3aws-codedeploy-us-west-2latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Canadaacute (Central)aws s3 cp s3aws-codedeploy-ca-central-1latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Europa (Irlanda)aws s3 cp s3aws-codedeploy-eu-west-1latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Europe (London)aws s3 cp s3aws-codedeploy-eu-west-2latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Europa (Pariacutes)aws s3 cp s3aws-codedeploy-eu-west-3latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Europa (Fraacutencfort)aws s3 cp s3aws-codedeploy-eu-central-1latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Asia-Paciacutefico (Hong Kong)aws s3 cp s3aws-codedeploy-ap-east-1latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Asia-Paciacutefico (Tokio)aws s3 cp s3aws-codedeploy-ap-northeast-1latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Asia-Paciacutefico (Seuacutel)aws s3 cp s3aws-codedeploy-ap-northeast-2latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Versioacuten de API 2014-10-06202

AWS CodeDeploy Guiacutea del usuarioDesinstalacioacuten del agente de CodeDeploy

Nombre de la regioacuten de Comando de copia de Amazon S3

Asia Paciacutefico (Singapur)aws s3 cp s3aws-codedeploy-ap-southeast-1latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Asia-Paciacutefico (Siacutedney)aws s3 cp s3aws-codedeploy-ap-southeast-2latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Asia-Paciacutefico (Mumbai)aws s3 cp s3aws-codedeploy-ap-south-1latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Ameacuterica del Sur (Satildeo Paulo)aws s3 cp s3aws-codedeploy-sa-east-1latestcodedeploy-agent-updatermsi codedeploy-agent-updatermsi

Desinstalacioacuten del agente de CodeDeployPuede eliminar el agente de CodeDeploy de las instancias en las que ya no sea necesario o cuandodesee realizar una instalacioacuten desde cero

Desinstale el agente CodeDeploy de Amazon Linux o RHELPara desinstalar el agente de CodeDeploy inicie sesioacuten en la instancia y ejecute el comando siguiente

sudo yum erase codedeploy-agent

Desinstalacioacuten del agente de CodeDeploy de Ubuntu ServerPara desinstalar el agente de CodeDeploy inicie sesioacuten en la instancia y ejecute el comando siguiente

sudo dpkg --purge codedeploy-agent

Desinstalar el agente de CodeDeploy de Windows ServerPara desinstalar el agente de CodeDeploy inicie sesioacuten en la instancia y ejecute uno por uno los trescomandos siguientes

wmic

product where name=CodeDeploy Host Agent call uninstall nointeractive

exit

Tambieacuten puede iniciar sesioacuten en la instancia y en el Panel de control abra Programas y caracteriacutesticaselija CodeDeploy Host Agent y seleccione Desinstalar

Versioacuten de API 2014-10-06203

AWS CodeDeploy Guiacutea del usuarioSendCodeDeployRegistros de agentes de aCloudWatch

SendCodeDeployRegistros de agentes deaCloudWatchPuede enviarCodeDeploymeacutetrica de agente y datos de registro enCloudWatchUtilizandoelunificadoCloudWatchagente o maacutes sencillamente elCloudWatchagente

Utilice las siguientes instrucciones para instalar elCloudWatchagente y configurarlo para usarloconCodeDeployagentes

Requisitos previosAntes de empezar complete las siguientes tareas

bull Instalacioacuten delCodeDeployagente y aseguacuterate de que se esteacute ejecutando Para obtener maacutesinformacioacuten consulte Instalacioacuten del agente de CodeDeploy (p 189) y Verifique que el agente deCodeDeploy esteacute en ejecucioacuten (p 186)

bull Instalacioacuten delCloudWatchagente Para obtener maacutes informacioacuten consulteInstalacioacutendeCloudWatchagente

bull Antildeada los siguientes permisos a laCodeDeployPerfil de instancia IAMbull CloudWatchLogsFullAccesobull CloudWatchAgentServerPoliacutetica de

Para obtener maacutes informacioacuten sobre elCodeDeployperfil de instancia consultePaso 4 Crear un perfil deinstancias de IAM para sus instancias Amazon EC2 (p 43)deIntroduccioacuten a CodeDeploy (p 35)

Configuracioacuten delCloudWatchagente pararecopilarCodeDeployRegistros dePuede configurar elCloudWatchagente mediante un paso a paso por un asistente o creando o editandomanualmente un archivo de configuracioacuten

Para configurar laCloudWatchagente mediante el asistente (Linux)

1 Ejecute el asistente tal y como se describe enEjecute laCloudWatchasistente de configuracioacuten delagente de

2 En el asistente cuando se le preguntaDo you want to monitor any log filesentrar13 Especifique laCodeDeployarchivo de registro de agente seguacuten se indica a continuacioacuten

1 ParaLog file pathintroduzca la ruta de acceso para elCodeDeployarchivo de registro porejemplovarlogawscodedeploy-agentcodedeploy-agentlog

2 ParaLog group nameEscriba un nombre de grupo de registros por ejemplocodedeploy-agent-log

3 ParaLog stream nameEscriba un nombre de secuencia de registros porejemploinstance_id-codedeploy-agent-log

4 Cuando se le preguntoacuteDo you want to specify any additional log files introduzca15 Especifique laCodeDeployregistros de despliegue de agentes seguacuten se indica a continuacioacuten

1 ParaLog file pathintroduzca la ruta de acceso para elCodeDeployarchivo de registro dedespliegue por ejemplooptcodedeploy-agentdeployment-rootdeployment-logscodedeploy-agent-deploymentslog

2 ParaLog group nameEscriba un nombre de grupo de registros por ejemplocodedeploy-agent-deployment-log

Versioacuten de API 2014-10-06204

AWS CodeDeploy Guiacutea del usuarioSendCodeDeployRegistros de agentes de aCloudWatch

3 ParaLog stream nameEscriba un nombre de secuencia de registros porejemploinstance_id-codedeploy-agent-deployment-log

6 Cuando se le preguntoacuteDo you want to specify any additional log files introduzca17 Especifique laCodeDeployregistros de agente actualizador de la siguiente manera

1 ParaLog file pathintroduzca la ruta de acceso para elCodeDeployarchivo de registro delactualizador por ejemplotmpcodedeploy-agentupdatelog

2 ParaLog group nameEscriba un nombre de grupo de registros por ejemplocodedeploy-agent-updater-log

3 ParaLog stream nameEscriba un nombre de secuencia de registros porejemploinstance_id-codedeploy-agent-updater-log

Para configurar laCloudWatchagente mediante el asistente (Windows)

1 Ejecute el asistente tal y como se describe enEjecute laCloudWatchasistente de configuracioacuten delagente de

2 En el asistente cuando se le preguntaDo you want to monitor any customized logfilesentrar1

3 Especifique laCodeDeployarchivo de registro de la siguiente manera

1 ParaLog file pathintroduzca la ruta o elCodeDeployarchivo de registro de agente porejemploCProgramDataAmazonCodeDeploylogcodedeploy-agent-windows-logtxt

2 ParaLog group nameEscriba un nombre de grupo de registros por ejemplocodedeploy-agent-windows-log

3 ParaLog stream nameEscriba un nombre de secuencia de registros porejemploinstance_id-codedeploy-agent-windows-log

4 Cuando se le preguntoacuteDo you want to specify any additional log files introduzca15 Especifique laCodeDeployregistros de despliegue de agentes seguacuten se indica a continuacioacuten

1 ParaLog file pathintroduzca la ruta de accesoCodeDeployarchivo de registro de desplieguepor ejemploCProgramDataAmazonCodeDeploydeployment-logscodedeploy-agent-windows-deploymentslog

2 ParaLog group nameEscriba un nombre de grupo de registros por ejemplocodedeploy-agent-windows-deployment-log

3 ParaLog stream nameEscriba un nombre de secuencia de registros porejemploinstance_id-codedeploy-agent-windows-deployment-log

Para configurar laCloudWatchagente creando o editando manualmente un archivo deconfiguracioacuten (Linux)

1 Cree o edite elCloudWatcharchivo de configuracioacuten del agente tal como se describe enCree o edite deforma manual elCloudWatcharchivo de configuracioacuten del agente de

2 Aseguacuterese de que el archivo se llamaoptawsamazon-cloudwatch-agentetcamazon-cloudwatch-agentjsony que contiene el coacutedigo siguiente

logs logs_collected files collect_list [ file_path varlogawscodedeploy-agentcodedeploy-agentlog

Versioacuten de API 2014-10-06205

AWS CodeDeploy Guiacutea del usuarioSendCodeDeployRegistros de agentes de aCloudWatch

log_group_name codedeploy-agent-log log_stream_name instance_id-agent-log file_path optcodedeploy-agentdeployment-rootdeployment-logscodedeploy-agent-deploymentslog log_group_name codedeploy-agent-deployment-log log_stream_name instance_id-codedeploy-agent-deployment-log file_path tmpcodedeploy-agentupdatelog log_group_name codedeploy-agent-updater-log log_stream_name instance_id-codedeploy-agent-updater-log ]

Para configurar laCloudWatchagente creando o editando manualmente un archivo deconfiguracioacuten (Windows)

1 Cree o edite elCloudWatcharchivo de configuracioacuten del agente tal como se describe enCree o edite deforma manual elCloudWatcharchivo de configuracioacuten del agente de

2 Aseguacuterese de que el archivo se llamaCProgramDataAmazonAmazonCloudWatchAgentamazon-cloudwatch-agentjsony que contiene el coacutedigo siguiente

logs logs_collected files collect_list [ file_path CProgramDataAmazonCodeDeploylogcodedeploy-agent-windows-logtxt log_group_name codedeploy-agent-windows-log log_stream_name instance_id-codedeploy-agent-windows-log file_path CProgramDataAmazonCodeDeploydeployment-logscodedeploy-agent-windows-deploymentslog log_group_name codedeploy-agent-windows-deployment-log log_stream_name instance_id-codedeploy-agent-windows-deployment-log ]

Restablecer elCloudWatchagenteDespueacutes de realizar los cambios reinicie laCloudWatchagente tal y como se describe enComenzarelCloudWatchagente

Versioacuten de API 2014-10-06206

AWS CodeDeploy Guiacutea del usuarioComparacioacuten de instancias de

Amazon EC2 con instancias locales

Trabajo con instancias paraCodeDeploy

CodeDeploy admite implementaciones en instancias que ejecutan Amazon Linux Ubuntu Server Red HatEnterprise Linux (RHEL) y Windows Server

Puede utilizar CodeDeploy para implementar tanto instancias Amazon EC2 y como instancias on-premisesUna instancia on-premises es cualquier dispositivo fiacutesico que no es una instancia Amazon EC2 y quepuede ejecutar el agente de CodeDeploy y conectarse al servicio de puacuteblicosAWSPuntos de enlace deservicio de Puede utilizar CodeDeploy para implementar simultaacuteneamente una aplicacioacuten en instanciasAmazon EC2 en la nube y en equipos de sobremesa en su oficina o en servidores de su propio centro dedatos

Comparacioacuten de instancias de Amazon EC2 coninstancias locales

La siguiente tabla compara las instancias Amazon EC2 y las instancias on-premises

Asunto Instancias de Amazon EC2 Instancias on-premises

Es necesario instalar y ejecutaruna versioacuten del agente deCodeDeploy que sea compatiblecon el sistema operativo que seejecuta en la instancia

Siacute Siacute

La instancia debe poderconectarse a CodeDeploy

Siacute Siacute

Es necesario adjuntar un perfil deinstancias de IAM a la instanciaEl perfil de instancia de IAM debetener permisos para participaren las implementaciones deCodeDeploy Para obtenerinformacioacuten consulte Paso 4Crear un perfil de instancias deIAM para sus instancias AmazonEC2 (p 43)

Siacute No

Es necesario realizar uno delos siguientes procedimientospara autenticar y registrar lasinstancias

bull Crear un usuario de IAM paracada instancia y almacenar

No Siacute

Versioacuten de API 2014-10-06207

AWS CodeDeploy Guiacutea del usuarioTareas de instancia para CodeDeploy

Asunto Instancias de Amazon EC2 Instancias on-premiseslas credenciales de la cuentade usuario de IAM en texto sinformato en la instancia

bull Crear un rol de IAM quepueda asumir un usuario deIAM en cada instancia pararecuperar las credencialestemporales que se actualizanperioacutedicamente generadas atraveacutes deAWS Security TokenService

Es necesario registrar cadainstancia en CodeDeploy parapoder implementarla

No Siacute

Es necesario etiquetar cadainstancia para que CodeDeploypueda implementarla

Siacute Siacute

Puede participar en escenariosde Amazon EC2 Auto Scalingy Elastic Load Balancing comoparte de las implementaciones deCodeDeploy

Siacute No

Se pueden implementar a partirde buckets de Amazon S3 yrepositorios de GitHub

Siacute Siacute

Admiten disparadoresque solicitan el enviacuteo denotificaciones de correoelectroacutenico o SMS cuando seproducen eventos especificadosen las implementaciones oinstancias

Siacute Siacute

Se pueden facturar paraimplementaciones asociadas

No Siacute

Tareas de instancia para CodeDeployPara lanzar o configurar instancias para su uso en implementaciones elija entre las siguientesinstrucciones

Quiero lanzar una nueva instancia Amazon EC2para Amazon Linux o Windows Server

Para lanzar la instancia Amazon EC2 conel miacutenimo esfuerzo consulteCrear unainstancia Amazon EC2 para CodeDeploy (AWSCloudFormationplantilla) (p 221)

Para lanzar la instancia Amazon EC2 por sucuenta consulteCreacioacuten de una instancia de

Versioacuten de API 2014-10-06208

AWS CodeDeploy Guiacutea del usuarioEtiquetado de instancias para

implementaciones de CodeDeploy

Amazon EC2 para CodeDeploy (AWS CLIoconsola de Amazon EC2) (p 217)

Quiero lanzar una nueva instancia de UbuntuServer o RHEL Amazon EC2

Consulte Creacioacuten de una instancia de AmazonEC2 para CodeDeploy (AWS CLIo consola deAmazon EC2) (p 217)

Quiero configurar una instancia de Amazon LinuxWindows Server Ubuntu Server o RHEL AmazonEC2

Consulte Configurar una instancia de Amazon EC2para que funcione con CodeDeploy (p 228)

Quiero configurar una instancia on-premises(dispositivos fiacutesicos que no son instancias AmazonEC2) para Windows Server Ubuntu Server oRHEL

Consulte Working with On-PremisesInstances (p 230)

Quiero que CodeDeploy aprovisione unaflota de instancias de sustitucioacuten durante unaimplementacioacuten bluegreen

Consulte Uso de las implementaciones enCodeDeploy (p 323)

Para preparar instancias Amazon EC2 en grupos de Amazon EC2 Auto Scaling debe seguir algunospasos adicionales Para obtener maacutes informacioacuten consulte Integracioacuten de CodeDeploy con Amazon EC2Auto Scaling (p 53)

Temas

bull Tagging Instances for Deployments (p 209)bull Working with Amazon EC2 Instances (p 216)bull Working with On-Premises Instances (p 230)bull View Instance Details (p 258)bull Instance Health (p 259)

Etiquetado de instancias para grupos deimplementacioacuten en CodeDeploy

Para ayudar a administrar las instancias de Amazon EC2 y las instancias on-premises puede usaretiquetas para asignar sus propios metadatos a cada recurso Las etiquetas le permiten clasificar lasinstancias de diversas maneras por ejemplo seguacuten su finalidad propietario o entorno Esto es uacutetil cuandodispone de muchas instancias Puede identificar raacutepidamente una instancia o grupo de instancias enfuncioacuten de las etiquetas que haya asignado a ellos Cada etiqueta estaacute formada por una clave y un valoropcional ambos definidos por el usuario Para obtener maacutes informacioacuten consulteEtiquetado de losrecursos de Amazon EC2

Para especificar queacute instancias se incluyen en un grupo de implementaciones de CodeDeploy debeespecificar etiquetas en uno o variosgrupos de etiquetas Las instancias que cumplan sus criterios deetiqueta son las instancias en las que estaacute instalada la uacuteltima versioacuten de la aplicacioacuten en el momento decreacioacuten de la implementacioacuten de ese grupo de implementaciones

Note

Tambieacuten puede incluir grupos de Amazon EC2 Auto Scaling en grupos de implementaciones peroestos se identifican por sus nombres y no por las etiquetas que se aplican a las instancias Paraobtener informacioacuten consulte Integracioacuten de CodeDeploy con Amazon EC2 Auto Scaling (p 53)

Versioacuten de API 2014-10-06209

AWS CodeDeploy Guiacutea del usuarioEjemplo 1 Grupo de etiquetas individuales etiqueta uacutenica

Los criterios de las instancias en un grupo de implementaciones pueden ser tan sencillos como una uacutenicaetiqueta en un solo grupo de etiquetas Puede ser tan complejo como 10 etiquetas cada una en un maacuteximode tres grupos de etiquetas

Si utiliza un uacutenico grupo de etiquetas cualquier instancia que se identifique mediante al menos unaetiqueta del grupo se incluye en el grupo de implementaciones Si utiliza varios grupos de etiquetas solose incluyen las instancias que se identifican por al menos una etiqueta en cada uno de los grupos deetiquetas

En los siguientes ejemplos se muestra coacutemo las etiquetas y los grupos de etiquetas se pueden utilizar paraseleccionar las instancias de un grupo de implementaciones

Temasbull Ejemplo 1 Grupo de etiquetas individuales etiqueta uacutenica (p 210)bull Ejemplo 2 Grupo de etiquetas individuales etiquetas muacuteltiples (p 211)bull Ejemplo 3 Varios grupos de etiquetas etiquetas individuales (p 212)bull Ejemplo 4 Varios grupos de etiquetas varias etiquetas (p 214)

Ejemplo 1 Grupo de etiquetas individuales etiquetauacutenicaPuede especificar una uacutenica etiqueta en un uacutenico grupo de etiquetas

Grupo de etiquetas 1

Clave Valor

Nombre AppVersion-ABC

Cada instancia que se etiqueta con Name=AppVersion-ABC forma parte del grupo de implementacionesincluso si tiene otras etiquetas aplicadas

Vista de configuracioacuten de la consola de CodeDeploy

Estructura JSON

ec2TagSet ec2TagSetList [ [

Versioacuten de API 2014-10-06210

AWS CodeDeploy Guiacutea del usuarioEjemplo 2 Grupo de etiquetas

individuales etiquetas muacuteltiples

Type KEY_AND_VALUE Key Name Value AppVersion-ABC ] ]

Ejemplo 2 Grupo de etiquetas individuales etiquetasmuacuteltiplesTambieacuten puede especificar varias etiquetas en un uacutenico grupo de etiquetas

Grupo de etiquetas 1

Clave Valor

Regioacuten North

Regioacuten South

Regioacuten East

Una instancia que se etiqueta con cualquiera de estas tres etiquetas forma parte del grupo deimplementaciones incluso si tiene otras etiquetas aplicadas Si por ejemplo teniacutea otras instanciasetiquetadas Region=West estas no se incluiriacutean en el grupo de implementaciones

Vista de configuracioacuten de la consola de CodeDeploy

Estructura JSON

ec2TagSet ec2TagSetList [ [ Type KEY_AND_VALUE Key Region Value North

Versioacuten de API 2014-10-06211

AWS CodeDeploy Guiacutea del usuarioEjemplo 3 Varios grupos de etiquetas etiquetas individuales

Type KEY_AND_VALUE Key Region Value South Type KEY_AND_VALUE Key Region Value East ] ]

Ejemplo 3 Varios grupos de etiquetas etiquetasindividualesTambieacuten puede utilizar varios conjuntos de grupos de etiquetas con un uacutenico par de clave-valor en cadauno para especificar los criterios de las instancias de un grupo de implementaciones Cuando utiliza variosgrupos de etiquetas en un grupo de implementaciones solo las instancias identificadas por todos losgrupos de etiquetas se incluyen en el grupo de implementaciones

Grupo de etiquetas 1

Clave Valor

Nombre AppVersion-ABC

Grupo de etiquetas 2

Clave Valor

Regioacuten North

Grupo de etiquetas 3

Clave Valor

Tipo t2medium

Puede tener instancias en varias regiones y distintos tipos de instancia etiquetados conName=AppVersion-ABC En este ejemplo solo las instancias tambieacuten etiquetadas con Region=North yType=t2medium forman parte del grupo de implementaciones

Vista de configuracioacuten de la consola de CodeDeploy

Versioacuten de API 2014-10-06212

AWS CodeDeploy Guiacutea del usuarioEjemplo 3 Varios grupos de etiquetas etiquetas individuales

Estructura JSON

ec2TagSet ec2TagSetList [ [ Type KEY_AND_VALUE Key Name Value AppVersion-ABC ] [ Type KEY_AND_VALUE Key Region Value North ] [ Type KEY_AND_VALUE Key Type Value t2medium ] ]

Versioacuten de API 2014-10-06213

AWS CodeDeploy Guiacutea del usuarioEjemplo 4 Varios grupos de etiquetas varias etiquetas

Ejemplo 4 Varios grupos de etiquetas variasetiquetasAl utilizar varios grupos de etiquetas con varias etiquetas en uno o maacutes grupos una instancia debecoincidir con al menos una de las etiquetas de cada uno de los grupos

Grupo de etiquetas 1

Clave Valor

Entorno Beta

Entorno Staging

Grupo de etiquetas 2

Clave Valor

Regioacuten North

Regioacuten South

Regioacuten East

Grupo de etiquetas 3

Clave Valor

Tipo t2medium

Tipo t2large

En este ejemplo para que se incluya en el grupo de implementaciones una instancia debe ser etiquetadacon (1) Environment=Beta o Environment=Staging (2) Region=North Region=SouthoRegion=East y (3) Type=t2medium o Type=t2large

En modo de ilustracioacuten las instancias con los siguientes grupos de etiquetas estariacutean entre las que seincluyen en el grupo de implementaciones

bull Environment=Beta Region=NorthType=t2mediumbull Environment=StagingRegion=EastType=t2largebull Environment=StagingRegion=SouthType=t2large

Las instancias con los siguientes grupos de etiquetas no estariacutean entre las que se incluyen en el grupo deimplementaciones Los valores de clave resaltados hacen que las instancias que se excluyan

bull Environment=Beta Region=WestType=t2mediumbull Environment=StagingRegion=EastType=t2microbull Environment=ProductionRegion=SouthType=t2large

Vista de configuracioacuten de la consola de CodeDeploy

Versioacuten de API 2014-10-06214

AWS CodeDeploy Guiacutea del usuarioEjemplo 4 Varios grupos de etiquetas varias etiquetas

Estructura JSON

ec2TagSet ec2TagSetList [ [ Type KEY_AND_VALUE Key Environment Value Beta Type KEY_AND_VALUE Key Environment Value Staging

Versioacuten de API 2014-10-06215

AWS CodeDeploy Guiacutea del usuarioTrabajar con instancias Amazon EC2

] [ Type KEY_AND_VALUE Key Region Value North Type KEY_AND_VALUE Key Region Value South Type KEY_AND_VALUE Key Region Value East ] [ Type KEY_AND_VALUE Key Type Value t2medium Type KEY_AND_VALUE Key Type Value t2large ] ]

Trabajar con instancias Amazon EC2 paraCodeDeploy

Una instancia Amazon EC2 es un entorno de informaacutetica virtual que se crea y configura medianteAmazon Elastic Compute Cloud Amazon EC2 proporciona capacidad informaacutetica escalable en la nubede AWS Puede utilizar Amazon EC2 para lanzar tantos servidores virtuales como necesite para susimplementaciones de CodeDeploy de

Para obtener maacutes informacioacuten acerca de Amazon EC2 consulteGuiacutea de introduccioacuten a Amazon EC2

Las instrucciones de esta seccioacuten explican coacutemo crear y configurar instancias Amazon EC2 para utilizarlasen sus implementaciones de CodeDeploy de

Temasbull Creacioacuten de una instancia de Amazon EC2 para CodeDeploy (AWS CLIo consola de Amazon

EC2) (p 217)bull Crear una instancia Amazon EC2 para CodeDeploy (AWS CloudFormationplantilla) (p 221)bull Configurar una instancia de Amazon EC2 para que funcione con CodeDeploy (p 228)

Versioacuten de API 2014-10-06216

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de una instancia de

Amazon EC2 para CodeDeploy

Creacioacuten de una instancia de Amazon EC2 paraCodeDeploy (AWS CLIo consola de Amazon EC2)Estas instrucciones explican coacutemo lanzar una nueva instancia Amazon EC2 configurada para su uso enimplementaciones de CodeDeploy

Puedes utilizar nuestraAWS CloudFormationplantilla para lanzar una instancia Amazon EC2 queejecuta Amazon Linux o Windows Server que ya estaacute configurada para su uso en implementacionesde CodeDeploy No proporcionamos unAWS CloudFormationplantilla para instancias Amazon EC2 queejecutan Ubuntu Server o Red Hat Enterprise Linux (RHEL) Si desea conocer otras alternativas al uso dela plantilla consulte Trabajo con instancias para CodeDeploy (p 207)

Puede utilizar la consola de Amazon EC2AWS CLIo API de Amazon EC2 para lanzar una instancia deAmazon EC2

Lance una instancia de Amazon EC2 (consola)Requisitos previos

Si auacuten no lo ha hecho siga las instrucciones que figuran enIntroduccioacuten a CodeDeploy (p 35)para instalary configurar laAWS CLIy cree un perfil de instancia de IAM

Lance una instancia de Amazon EC2

1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2

2 En el panel de navegacioacuten elija Instances (Instancias) y seleccione Launch Instance (Lanzarinstancia)

3 En la paacuteginaPaso 1 Elegir una imagen de maacutequina de Amazon (AMI)paacutegina desde laQuickStart (Inicio raacutepido) busque el sistema operativo y la versioacuten que quiera utilizar y a continuacioacutenelijaSelect Debe elegir un sistema operativo de AMI de Amazon EC2 compatible con CodeDeployPara obtener maacutes informacioacuten consulte Sistemas operativos compatibles con el agente deCodeDeploy (p 175)

4 En la paacuteginaPaso 2 Paacutegina Choose an Instance Type elija cualquier tipo de instancia Amazon EC2disponible y a continuacioacuten elijaSiguiente Paacutegina Configure Instance Details (Configurar los detallesde la instancia)

5 En la paacuteginaPaso 3 Paacutegina Configure Instance Details (Configurar los detalles de la instancia)EnlaRol de IAMlista elija el rol de instancia de IAM que creoacute enPaso 4 Crear un perfil de instanciasde IAM para sus instancias Amazon EC2 (p 43) Si ha utilizado el nombre de rol sugerido elijaCodeDeployDemo-EC2-Instance-Profile Si ha creado su propio nombre de rol seleccioacutenelo

Note

SiLanzamiento a EC2-Classico una nube virtual privada (VPC) predeterminada no semuestra en laRedy no puede elegir un tipo de instancia Amazon EC2 distinto que admita ellanzamiento en EC2-Classic debe elegir o crear una VPC de Amazon y subred Elija Createnew VPC (Crear nueva VPC) o Create new subnet (Crear nueva subred) o ambas opcionesPara obtener maacutes informacioacuten consulteSu VPC y subredes

6 Seleccione Next (Siguiente) Add Storage (Agregar almacenamiento)7 Salir delPaso 4 Adicioacuten de almacenamientosin cambios y elijaSiguiente Antildeadir etiquetas8 En la paacuteginaPaso 5 Antildeadir etiquetaspaacutegina elijaAgregue etiqueta9 En el cuadro Key (Clave) escriba Name En el cuadro Value (Valor) escriba CodeDeployDemo

Versioacuten de API 2014-10-06217

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de una instancia de

Amazon EC2 para CodeDeploy

Important

El contenido de los cuadros Key (Clave) y Value (Valor) distingue entre mayuacutesculas yminuacutesculas

10 Seleccione Next (Siguiente) Configure Security Group (Configurar grupo de seguridad)11 En la paacuteginaPaso 6 Paacutegina Configure Security Group (Configurar grupo de seguridad) salga de

laCrear un nuevo grupo de seguridadopcioacuten seleccionada

Se configura un rol de SSH predeterminado para instancias Amazon EC2 que ejecutan Amazon LinuxUbuntu Server o RHEL Se configura un rol de RDP predeterminado para instancias de Amazon EC2que ejecutan Windows Server

12 Si desea abrir el puerto HTTP elija el botoacuten Add Rule (Antildeadir regla) y en la lista desplegableType (Tipo) elija HTTP Acepte el valor Source (Origen) predeterminado de Custom 00000(Personalizado 00000) y luego elija Review and Launch (Revisar y lanzar)

Note

En un entorno de produccioacuten recomendamos restringir el acceso a los puertos SSHRDP y HTTP en lugar de especificarEn cualquier lugar 0000 CodeDeploy no requiereacceso ilimitado a los puertos y no requiere acceso HTTP Para obtener maacutes informacioacutenconsulteSugerencias para proteger la instancia de Amazon EC2

Si aparece el cuadro de diaacutelogo Boot from General Purpose (SSD) (Arrancar desde uso general[SSD]) siga las instrucciones y luego seleccione Next (Siguiente)

13 Salir delPaso 7 Paacutegina Review Instance Launch (Revisar lanzamiento de instancia)sin cambios yelijaLanzamiento

14 En el cuadro de diaacutelogo Select an existing key pair or create a new key pair (Seleccionar par de clavesexistentes o crear nuevo par de claves) elija Choose an existing key pair (Elegir un par de clavesexistente) o Create a new key pair (Crear un nuevo par de claves) Si ya ha configurado un par declaves de la instancia de Amazon EC2 puede elegirlo aquiacute

Si auacuten no tiene un par de claves de instancia de Amazon EC2 elija Create a new key pair (Crear unnuevo par de claves) y asiacutegnele un nombre faacutecil de reconocer ElegirDescargar Par de clavesparadescargar el key pair de la instancia de Amazon EC2 en su equipo

Important

Debe disponer de un key pair si desea obtener acceso a su instancia Amazon EC2 con SSHo RDP

15 Elija Launch Instances16 Seleccione el ID de la instancia de Amazon EC2 No continuacutee hasta que la instancia se haya lanzado y

haya superado todas las comprobaciones

Instalacioacuten del agente de CodeDeploy

El agente de CodeDeploy debe instalarse en la instancia Amazon EC2 antes de usarlo enimplementaciones de CodeDeploy Para obtener maacutes informacioacuten consulte Instalacioacuten del agente deCodeDeploy (p 189)

Note

Puede configurar la instalacioacuten y las actualizaciones automaacuteticas del agente de CodeDeploy alcrear el grupo de implementacioacuten en la consola

Versioacuten de API 2014-10-06218

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de una instancia de

Amazon EC2 para CodeDeploy

Lance una instancia de Amazon EC2 (CLI)

Requisitos previos

Si auacuten no lo ha hecho siga las instrucciones que figuran enIntroduccioacuten a CodeDeploy (p 35)para instalary configurar laAWS CLIy cree un perfil de instancia de IAM

Lance una instancia de Amazon EC2

1 Solo para Windows ServerSi va a crear una instancia Amazon EC2 que ejecuta Windows Serverllame alcreate-security-groupyauthorize-security-group-ingresscomandos para crear un grupo deseguridad que permita el acceso RDP (que no se permite de forma predeterminada) y en su casoel acceso HTTP Por ejemplo para crear un grupo de seguridad denominadoDemostracioacuten deCodeDeploy-Windows-Security-Group ejecute los siguientes comandos uno a la vez

aws ec2 create-security-group --group-name CodeDeployDemo-Windows-Security-Group --description For launching Windows Server images for use with CodeDeploy

aws ec2 authorize-security-group-ingress --group-name CodeDeployDemo-Windows-Security-Group --to-port 3389 --ip-protocol tcp --cidr-ip 00000 --from-port 3389

aws ec2 authorize-security-group-ingress --group-name CodeDeployDemo-Windows-Security-Group --to-port 80 --ip-protocol tcp --cidr-ip 00000 --from-port 80

Note

Para fines de demostracioacuten estos comandos crean un grupo de seguridad que permiteacceso ilimitado a RDP a traveacutes del puerto 3389 y en su caso a HTTP a traveacutes del puerto80 Es recomendable que restrinja el acceso a los puertos HTTP y RDP CodeDeploy norequiere acceso ilimitado a los puertos y no requiere acceso HTTP Para obtener maacutesinformacioacuten consulteSugerencias para proteger la instancia de Amazon EC2

2 Llame arun-instancespara crear y lanzar la instancia de Amazon EC2

Antes de llamar a este comando debe recopilar lo siguiente

bull El ID de una imagen de maacutequina de Amazon (AMI) (id-ami) que utiliza para la instancia Paraobtener el ID consulteBuacutesqueda de una AMI de Linux

bull El nombre del tipo de instancia de Amazon EC2 (tipo de instancia) que creescomot1micro Para ver una lista consulteTipos de instancias de Amazon EC2

bull El nombre de un perfil de instancia de IAM con permiso para acceder al bucket de Amazon S3 en elque se almacenan los archivos de instalacioacuten del agente de CodeDeploy para la regioacuten

Para obtener informacioacuten sobre la creacioacuten de un perfil de instancia de IAM consultePaso 4 Crearun perfil de instancias de IAM para sus instancias Amazon EC2 (p 43)

bull El nombre de un key pair de instancia de Amazon EC2 (nombre-clave) para permitir el accesoSSH a una instancia Amazon EC2 que ejecuta Amazon Linux Ubuntu Server RHEL o RDP a unainstancia de Amazon EC2 que ejecuta Windows Server

Important

Escriba solo el nombre del par de claves no la extensioacuten de archivo del par de claves Porejemplo my-keypair no my-keypairpem

Versioacuten de API 2014-10-06219

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de una instancia de

Amazon EC2 para CodeDeploy

Para encontrar el nombre de un key pair abra la consola de Amazon EC2 enhttpsconsoleawsamazoncomec2 En el panel de navegacioacuten en Network amp Security (Red yseguridad) elija Key Pairs (Pares de claves) y anote el nombre del par de claves de la lista

Para generar un key pair consulteCreacioacuten de un key pair con Amazon EC2 Compruebe quecrea el key pair en una de las regiones que se encuentran en la lista deRegiones y puntos deenlaceenAWSReferencia general de De lo contrario no podraacute utilizar el key pair de la instanciaAmazon EC2 con CodeDeploy

Para Amazon Linux RHEL y Ubuntu Server

Para llamar arun-instancespara lanzar una instancia Amazon EC2 que ejecute Amazon Linux UbuntuServer o RHEL y adjuntar el perfil de instancia de IAM que creoacute enPaso 4 Crear un perfil de instanciasde IAM para sus instancias Amazon EC2 (p 43) Por ejemplo

aws ec2 run-instances --image-id ami-id --key-name key-name --count 1 --instance-type instance-type --iam-instance-profile Name=iam-instance-profile

Note

Este comando crea un grupo de seguridad predeterminado para la instancia Amazon EC2que permite el acceso a varios puertos incluido acceso ilimitado a SSH a traveacutes del puerto 22y en su caso a HTTP a traveacutes del puerto 80 Es recomendable que restrinja el acceso a lospuertos HTTP y SSH uacutenicamente CodeDeploy no requiere acceso ilimitado a los puertos yno requiere acceso a los puertos HTTP Para obtener maacutes informacioacuten consulteSugerenciaspara proteger la instancia de Amazon EC2

Para Windows Server

Para llamar arun-instancespara lanzar una instancia Amazon EC2 que ejecuta Windows Server yadjuntar el perfil de instancia de IAM que creoacute enPaso 4 Crear un perfil de instancias de IAM para susinstancias Amazon EC2 (p 43)y especifique el nombre del grupo de seguridad que creoacute en el Paso 1Por ejemplo

aws ec2 run-instances --image-id ami-id --key-name key-name --count 1 --instance-type instance-type --iam-instance-profile Name=iam-instance-profile --security-groups CodeDeploy-Windows-Security-Group

Estos comandos lanzan una sola instancia Amazon EC2 con la AMI el key pair y el tipo de instanciaespecificados con el perfil de instancia de IAM indicado y ejecutan el script especificado durante ellanzamiento

3 Anote el valor de InstanceID en la salida Si olvida este valor puede obtenerlo maacutes tarde si llamaadescribe-instancescontra el key pair de instancia de Amazon EC2

aws ec2 describe-instances --filters Name=key-nameValues=keyName --query Reservations[]Instances[][InstanceId] --output text

Utilice el ID de instancia para llamar alcreate-tags que etiqueta la instancia Amazon EC2 para queCodeDeploy pueda encontrarla maacutes adelante durante una implementacioacuten En el ejemplo siguientela etiqueta se denominaCodeDeployDemo pero puede especificar cualquier etiqueta de instancia deAmazon EC2 que desee

Versioacuten de API 2014-10-06220

AWS CodeDeploy Guiacutea del usuarioCrear una instancia Amazon EC2

(AWS CloudFormationplantilla)

aws ec2 create-tags --resources instance-id --tags Key=NameValue=CodeDeployDemo

Puede aplicar varias etiquetas a una instancia al mismo tiempo Por ejemplo

aws ec2 create-tags --resources instance-id --tags Key=NameValue=testInstance Key=RegionValue=West Key=EnvironmentValue=Beta

Para verificar que la instancia Amazon EC2 se ha lanzado y ha superado todas las comprobacionesutilice el ID de instancia para llamar aldescribe-instance-statuscomando

aws ec2 describe-instance-status --instance-ids instance-id --query InstanceStatuses[]InstanceStatus[Status] --output text

Si la instancia se ha lanzado y ha superado todas las comprobaciones aparece ok en la salida

Instalacioacuten del agente de CodeDeploy

El agente de CodeDeploy debe instalarse en la instancia Amazon EC2 antes de usarlo enimplementaciones de CodeDeploy Para obtener maacutes informacioacuten consulte Instalacioacuten del agente deCodeDeploy (p 189)

Note

Puede configurar la instalacioacuten y las actualizaciones automaacuteticas del agente de CodeDeploy alcrear el grupo de implementacioacuten en la consola

Crear una instancia Amazon EC2 para CodeDeploy(AWS CloudFormationplantilla)Puedes utilizar nuestraAWS CloudFormationplantilla para lanzar raacutepidamente una instancia AmazonEC2 que ejecute Amazon Linux o Windows Server Puede utilizar elAWS CLI la consola de CodeDeployo laAWSAPI para lanzar la instancia con la plantilla Ademaacutes de lanzar la instancia la plantilla hace losiguiente

bull Indica aAWS CloudFormationPara conceder permiso a la instancia para participar en lasimplementaciones de CodeDeploy

bull Etiqueta la instancia para que CodeDeploy pueda encontrarla durante una implementacioacutenbull Instala y ejecuta el agente de CodeDeploy en la instancia

No tiene que usar nuestroAWS CloudFormationpara configurar una instancia Amazon EC2 Si deseaconocer otras alternativas consulte Trabajo con instancias para CodeDeploy (p 207)

No proporcionamos unAWS CloudFormationplantilla para instancias Amazon EC2 que ejecutan UbuntuServer o Red Hat Enterprise Linux (RHEL)

Temasbull Antes de empezar (p 222)bull Lance una instancia Amazon EC2 con elAWS CloudFormationtemplate (consola) (p 222)bull Lance una instancia Amazon EC2 con elAWS CloudFormationplantilla (AWS CLI) (p 225)

Versioacuten de API 2014-10-06221

AWS CodeDeploy Guiacutea del usuarioCrear una instancia Amazon EC2

(AWS CloudFormationplantilla)

Antes de empezarAntes de poder utilizar elAWS CloudFormationplantilla para lanzar instancias Amazon EC2 aseguacuterese dehaber seguido los pasos siguientes

1 Aseguacuterese de realizar los pasos que se indican en Paso 3 Provisionar un usuario de IAM (p 41)Compruebe que la poliacutetica asignada al usuario de IAM tiene los siguientes permisos miacutenimos yagregue cualquiera que no esteacute presente

bull nube de formacioacuten bull codedeploybull ec2bull Iam Antildeadir rol al perfil de instanciabull IAM Crear perfil de instanciabull iamCreateRolebull IAM eliminar perfil de instanciabull iamDeleteRolebull iamDeleteRolePolicybull iamGetRolebull iamDeleteRolePolicybull iamPutRolePolicybull IAM Eliminar rol del perfil de instancia

2 Aseguacuterese de disponer de un key pair de instancia para permitir el acceso SSH a la instancia AmazonEC2 que ejecuta Amazon Linux o el acceso RDP a la instancia que ejecuta Windows Server

Para encontrar el nombre de un key pair abra la consola Amazon EC2 enhttpsconsoleawsamazoncomec2 En el panel de navegacioacuten en Network amp Security (Red y seguridad)elija Key Pairs (Pares de claves) y anote el nombre del par de claves de la lista

Para generar un key pair nuevo consulteCreacioacuten del key pair mediante Amazon EC2 Aseguacuteresede que crea el key pair en una de las regiones que se encuentran en la lista deRegiones y puntos deenlaceenAWSReferencia general de De lo contrario no puede utilizar el key pair de instancia conCodeDeploy

Lance una instancia Amazon EC2 con elAWSCloudFormationtemplate (consola)1 Inicie sesioacuten en la AWS Management Console y abra la consola de AWS CloudFormation en https

consoleawsamazoncomcloudformation

Important

Inicie sesioacuten en la AWS Management Console con la misma cuenta que utilizoacute enIntroduccioacuten a CodeDeploy (p 35) En la barra de navegacioacuten en el selector de regioneselija una de las regiones enumeradas enRegiones y puntos de enlaceenAWSReferenciageneral de CodeDeploy solo es compatible con estas regiones

2 Elija Create Stack3 EnChoose a template (Elegir una plantilla) eligeEspecificacioacuten de una URL de plantilla de Amazon

S3 En el cuadro escriba la ubicacioacuten de la plantilla de AWS CloudFormation para su regioacuten y acontinuacioacuten elija Next (Siguiente)

Versioacuten de API 2014-10-06222

AWS CodeDeploy Guiacutea del usuarioCrear una instancia Amazon EC2

(AWS CloudFormationplantilla)

Regioacuten Location ofAWS CloudFormationplantilla

Regioacuten del este de EE UU (Ohio) https3-us-east-2amazonawscomaws-codedeploy-us-east-2templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten del este de EE UU (N Virginia) https3amazonawscomaws-codedeploy-us-east-1templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten del oeste de EE UU (N California) https3-us-west-1amazonawscomaws-codedeploy-us-west-1templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten del oeste de EE UU (Oregon) https3-us-west-2amazonawscomaws-codedeploy-us-west-2templateslatestCodeDeploy_SampleCF_Templatejson

Canada (Central) Region https3-ca-central-1amazonawscomaws-codedeploy-ca-central-1templateslatestCodeDeploy_SampleCF_Templatejson

Europe (Ireland) Region https3-eu-west-1amazonawscomaws-codedeploy-eu-west-1templateslatestCodeDeploy_SampleCF_Templatejson

Europe (London) Region https3-eu-west-2amazonawscomaws-codedeploy-eu-west-2templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten de Europa (Pariacutes) https3-eu-west-3amazonawscomaws-codedeploy-eu-west-3templateslatestCodeDeploy_SampleCF_Templatejson

Europe (Frankfurt) Region https3-eu-central-1amazonawscomaws-codedeploy-eu-central-1templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten Asia Paciacutefico (Hong Kong) https3-ap-east-1amazonawscomaws-codedeploy-ap-east-1templateslatestCodeDeploy_SampleCF_Templatejson

Versioacuten de API 2014-10-06223

AWS CodeDeploy Guiacutea del usuarioCrear una instancia Amazon EC2

(AWS CloudFormationplantilla)

Regioacuten Location ofAWS CloudFormationplantilla

Asia Pacific (Tokyo) Region https3-ap-northeast-1amazonawscomaws-codedeploy-ap-northeast-1templateslatestCodeDeploy_SampleCF_Templatejson

Asia Pacific (Seoul) Region https3-ap-northeast-2amazonawscomaws-codedeploy-ap-northeast-2templateslatestCodeDeploy_SampleCF_Templatejson

Asia Pacific (Singapore) Region https3-ap-southeast-1amazonawscomaws-codedeploy-ap-southeast-1templateslatestCodeDeploy_SampleCF_Templatejson

Asia Pacific (Sydney) Region https3-ap-southeast-2amazonawscomaws-codedeploy-ap-southeast-2templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten Asia-Paciacutefico (Mumbai) https3-ap-south-1amazonawscomaws-codedeploy-ap-south-1templateslatestCodeDeploy_SampleCF_Templatejson

South America (Satildeo Paulo) Region aws-codedeploy-ap-northeast-1s3ap-east-1amazonawscomtemplateslatestCodeDeploy_SampleCF_Templatejson

4 En el cuadro Stack name (Nombre de la pila) escriba un nombre para la pila (por ejemploCodeDeployDemoStack)

5 En Parameters (Paraacutemetros) escriba lo siguiente y seleccione Next (Siguiente)

bull En InstanceCount escriba el nuacutemero de instancias que desea lanzar (Le recomendamos que dejeel valor predeterminado 1)

bull En InstanceType escriba el tipo de instancia que desea lanzar (o deje el valor predeterminadot1micro)

bull ParaKeyPairName escriba el nombre del key pair de instancia Escriba solo el nombre del par declaves no la extensioacuten de archivo del par de claves

bull ParaOperatingSystemcaja escribaWindowspara lanzar instancias que ejecutan Windows Server (odeje el valor predeterminado) deLinux)

bull En SSHLocation escriba el rango de direcciones IP que desea utilizar para conectarse a la instanciacon SSH o RDP (o deje el valor predeterminado 00000)

Important

El valor predeterminado es00000se proporciona uacutenicamente con fines ilustrativosCodeDeployno requiere instancias Amazon EC2 para tener acceso ilimitado a los puertosEs recomendable que restrinja el acceso a los puertos SSH (y HTTP) Para obtener maacutesinformacioacuten consulteConsejos para proteger la instancia Amazon EC2

Versioacuten de API 2014-10-06224

AWS CodeDeploy Guiacutea del usuarioCrear una instancia Amazon EC2

(AWS CloudFormationplantilla)

bull ParaTagKey escriba la clave de etiqueta de instancia que CodeDeploya utilizaraacute para identificar lasinstancias durante la implementacioacuten (o deje el valor predeterminadoNombre)

bull ParaTagValue escriba el valor de etiqueta de instancia que CodeDeploya utilizaraacute para identificarlas instancias durante la implementacioacuten (o deje el valor predeterminadoCodeDeployDemo)

6 En la paacutegina Options (Opciones) deje las casillas de opcioacuten vaciacuteas y elija Next (Siguiente)

Important

AWS CloudFormationlas etiquetas de son distintas de las etiquetas de CodeDeployAWSCloudFormationutiliza etiquetas para simplificar la administracioacuten de la infraestructuraCodeDeploy utiliza etiquetas para identificar instancias Amazon EC2 Ha especificadoetiquetas de CodeDeploy en elEspecificacioacuten de paraacutemetros(Se ha creado el certificado)

7 En la paacuteginaReview (Revisar) enCapacidades seleccione elReconozco queAWSCloudFormationpodriacutea crear recursos de IAMy a continuacioacuten elijaCrear

DespueacutesAWS CloudFormationha creado la pila y lanzado las instancias Amazon EC2 en elAWSCloudFormationconsolaCREATE_COMPLETEse mostraraacute en elEstadocolumn Este proceso puedetardar varios minutos

Para verificar que el agente de CodeDeployse estaacute ejecutando en las instancias Amazon EC2consulteAdministracioacuten de operaciones del agente de CodeDeploy (p 186)y a continuacioacuten vaya aCrearuna aplicacioacuten con CodeDeploy (p 273)

Lance una instancia Amazon EC2 con elAWSCloudFormationplantilla (AWS CLI)1 Utilice nuestra plantilla de AWS CloudFormation en una llamada al comando create-stack Esta pila

lanzaraacute en una nueva instancia Amazon EC2 con el agente de CodeDeploy instalado

Para lanzar una instancia Amazon EC2 que ejecute Amazon Linux

aws cloudformation create-stack --stack-name CodeDeployDemoStack --template-url templateURL --parameters ParameterKey=InstanceCountParameterValue=1 ParameterKey=InstanceTypeParameterValue=t1micro ParameterKey=KeyPairNameParameterValue=keyName ParameterKey=OperatingSystemParameterValue=Linux ParameterKey=SSHLocationParameterValue=00000 ParameterKey=TagKeyParameterValue=Name ParameterKey=TagValueParameterValue=CodeDeployDemo --capabilities CAPABILITY_IAM

Para lanzar una instancia Amazon EC2 que ejecute Windows Server

aws cloudformation create-stack --stack-name CodeDeployDemoStack --template-url template-url --parameters ParameterKey=InstanceCountParameterValue=1 ParameterKey=InstanceTypeParameterValue=t1micro ParameterKey=KeyPairNameParameterValue=keyName ParameterKey=OperatingSystemParameterValue=Windows ParameterKey=SSHLocationParameterValue=00000 ParameterKey=TagKeyParameterValue=Name ParameterKey=TagValueParameterValue=CodeDeployDemo --capabilities CAPABILITY_IAM

claveName (Nombre)es el nombre del key pair de instancia Escriba solo el nombre del par declaves no la extensioacuten de archivo del par de claves

Versioacuten de API 2014-10-06225

AWS CodeDeploy Guiacutea del usuarioCrear una instancia Amazon EC2

(AWS CloudFormationplantilla)

template-url es la ubicacioacuten de la plantilla de AWS CloudFormation para su regioacuten

Regioacuten Location ofAWS CloudFormationplantilla

Regioacuten del este de EE UU (Ohio) https3-us-east-2amazonawscomaws-codedeploy-us-east-2templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten del este de EE UU (N Virginia) https3amazonawscomaws-codedeploy-us-east-1templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten del oeste de EE UU (N California) https3-us-west-1amazonawscomaws-codedeploy-us-west-1templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten del oeste de EE UU (Oregon) https3-us-west-2amazonawscomaws-codedeploy-us-west-2templateslatestCodeDeploy_SampleCF_Templatejson

Canada (Central) Region https3-ca-central-1amazonawscomaws-codedeploy-ca-central-1templateslatestCodeDeploy_SampleCF_Templatejson

Europe (Ireland) Region https3-eu-west-1amazonawscomaws-codedeploy-eu-west-1templateslatestCodeDeploy_SampleCF_Templatejson

Europe (London) Region https3-eu-west-2amazonawscomaws-codedeploy-eu-west-2templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten de Europa (Pariacutes) https3-eu-west-3amazonawscomaws-codedeploy-eu-west-3templateslatestCodeDeploy_SampleCF_Templatejson

Europe (Frankfurt) Region https3-eu-central-1amazonawscomaws-codedeploy-eu-central-1templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten Asia Paciacutefico (Hong Kong) https3-ap-east-1amazonawscomaws-codedeploy-ap-east-1templateslatestCodeDeploy_SampleCF_Templatejson

Versioacuten de API 2014-10-06226

AWS CodeDeploy Guiacutea del usuarioCrear una instancia Amazon EC2

(AWS CloudFormationplantilla)

Regioacuten Location ofAWS CloudFormationplantilla

Asia Pacific (Tokyo) Region https3-ap-northeast-1amazonawscomaws-codedeploy-ap-northeast-1templateslatestCodeDeploy_SampleCF_Templatejson

Asia Pacific (Seoul) Region https3-ap-northeast-2amazonawscomaws-codedeploy-ap-northeast-2templateslatestCodeDeploy_SampleCF_Templatejson

Asia Pacific (Singapore) Region https3-ap-southeast-1amazonawscomaws-codedeploy-ap-southeast-1templateslatestCodeDeploy_SampleCF_Templatejson

Asia Pacific (Sydney) Region https3-ap-southeast-2amazonawscomaws-codedeploy-ap-southeast-2templateslatestCodeDeploy_SampleCF_Templatejson

Regioacuten Asia-Paciacutefico (Mumbai) https3-ap-south-1amazonawscomaws-codedeploy-ap-south-1templateslatestCodeDeploy_SampleCF_Templatejson

South America (Satildeo Paulo) Region aws-codedeploy-ap-northeast-1s3ap-east-1amazonawscomtemplateslatestCodeDeploy_SampleCF_Templatejson

Este comando crea unAWS CloudFormationpila llamadaCodeDeployDemoStack utilizandoelAWS CloudFormationen el bucket de Amazon S3 especificado La instancia Amazon EC2 sebasa en el tipo de instancia t1micro pero puede utilizar cualquier tipo Estaacute etiquetada con el valorCodeDeployDemo pero se puede etiquetar con cualquier valor Se le ha aplicado el par de claves deinstancia especificado

2 Ejecute el comando describe-stacks para comprobar que la pila de AWS CloudFormation denominadaCodeDeployDemoStack se ha creado correctamente

aws cloudformation describe-stacks --stack-name CodeDeployDemoStack --query Stacks[0]StackStatus --output text

No continuacutee hasta que se devuelva el valor CREATE_COMPLETE

Para comprobar que el agente de CodeDeploy se estaacute ejecutando en la instancia Amazon EC2consulteAdministracioacuten de operaciones del agente de CodeDeploy (p 186)y a continuacioacuten vaya aCrearuna aplicacioacuten con CodeDeploy (p 273)

Versioacuten de API 2014-10-06227

AWS CodeDeploy Guiacutea del usuarioConfigurar una instancia de Amazon EC2

Configurar una instancia de Amazon EC2 para quefuncione con CodeDeployEn estas instrucciones se muestra coacutemo configurar una instancia de Amazon EC2 que ejecutaAmazon Linux Ubuntu Server Red Hat Enterprise Linux (RHEL) o Windows Server para utilizarla enimplementaciones de CodeDeploy

Note

Si no tiene una instancia de Amazon EC2 puede utilizar elAWS CloudFormationplantilla paralanzar una que ejecute Amazon Linux o Windows Server No proporcionamos una plantilla paraUbuntu Server o RHEL

Paso 1 Verifique que el perfil de instancia de IAM esteacute adjuntadoa su instancia de Amazon EC21 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon EC2 en https

consoleawsamazoncomec22 En el panel de navegacioacuten bajo Instances elija Instances3 Busque su instancia de Amazon EC2 en la lista y seleccioacutenela4 En el panel de detalles en elDescripcioacuten observe el valor de en laRol de IAMy a continuacioacuten pase a

la siguiente seccioacuten

Si el campo estaacute vaciacuteo puede asociar a la instancia un perfil de instancia de IAM Para obtenerinformacioacuten consulteAsociar un rol de IAM a una instancia

Paso 2 Verifique que el perfil de instancia de IAM adjunto tengalos permisos de acceso correctos1 Abra la consola de IAM en httpsconsoleawsamazoncomiam2 Seleccione Roles (Roles) en el panel de navegacioacuten3 Busque y elija el nombre de rol de IAM que observoacute en el paso 4 de la seccioacuten anterior

Note

Si desea utilizar el rol de servicio generado por la plantilla de AWS CloudFormation en lugardel que creoacute siguiendo las instrucciones de Paso 2 Creacioacuten de un rol de servicio paraCodeDeploy (p 36) tenga en cuenta lo siguienteEn algunas versiones de nuestraAWS CloudFormation el nombre de visualizacioacuten delperfil de instancia de IAM generado y adjuntado a las instancias de Amazon EC2 no esel mismo que el nombre de visualizacioacuten en la consola de IAM Por ejemplo el perfil deinstancia de IAM podriacutea tener un nombre para mostrar deCodeDeploySampleStack-expnyi6-InstanceRoleInstanceProfile-IK8J8A9123EX mientras queel perfil de instancia de IAM en la consola de IAM podriacutea tener el nombre devisualizacioacutenCodeDeploySampleStack-expnyi6-InstanceRole-C5P33V1L64EXPara ayudarle a identificar el perfil de instancia en la consola de IAM veraacute el prefijodeCodeDeploySampleStack-expnyi6-InstanceRolees el mismo para ambos Paraobtener informacioacuten acerca de por queacute estos nombres de visualizacioacuten podriacutean ser diferentesconsultePerfiles de instancias

4 Seleccione la pestantildea Trust Relationships Si no hay entrada enLas entidades de confianzaque diceElproveedor (s) de identidad ec2amazonawscom no puede utilizar esta instancia de Amazon EC2

Versioacuten de API 2014-10-06228

AWS CodeDeploy Guiacutea del usuarioConfigurar una instancia de Amazon EC2

Deteacutengase y cree una instancia de Amazon EC2 con la informacioacuten deTrabajo con instancias paraCodeDeploy (p 207)

Si hay una entrada que digaEl proveedor (s) de identidad ec2amazonawscomy solamentealmacenaraacute sus aplicaciones en repositorios de GitHub y a continuacioacuten pase directamente aPaso 3Etiquetar la instancia de Amazon EC2 (p 230)

Si hay una entrada que digaEl proveedor (s) de identidad ec2amazonawscomy estaacute almacenandosus aplicaciones en buckets de Amazon S3 elija elPermisospestantildea

5 Si hay una poliacutetica en el aacuterea Permissions policies (Poliacuteticas de permisos) ampliacutee la poliacutetica y acontinuacioacuten elija Edit policy (Editar poliacutetica)

6 Seleccione la pestantildea JSON Si estaacute almacenando sus aplicaciones en buckets de Amazon S3aseguacuterese des3Getys3Listse encuentran en la lista de acciones especificadas

Puede tener un aspecto similar al siguiente

Statement[ResourceAction[ Some actions may already be listed here s3Gets3List Some more actions may already be listed here ]EffectAllow]

O puede tener un aspecto similar al siguiente

Version 2012-10-17 Statement [ Action [ Some actions may already be listed here s3Get s3List Some more actions may already be listed here ] ]

Si ni s3Get ni s3List figuran en la lista de acciones especificadas elija Edit (Editar)para antildeadirlas y a continuacioacuten elija Save (Guardar) (Si ni s3Get ni s3List es la uacuteltimaaccioacuten de la lista aseguacuterese de antildeadir una coma despueacutes de la accioacuten por lo tanto se valida eldocumento de la poliacutetica)

Note

Le recomendamos que restrinja esta poliacutetica uacutenicamente a los buckets de Amazon S3 a losque las instancias de Amazon EC2 deban tener acceso Aseguacuterese de conceder acceso alos buckets de Amazon S3 que contienen el agente de CodeDeploy De lo contrario podriacuteaproducirse un error cuando el agente de CodeDeploy se instale o actualice en las instanciasPara conceder al perfil de instancia de IAM acceso solo algunos buckets del kit de recursosde CodeDeploy en Amazon S3 utilice la poliacutetica siguiente pero elimine las liacuteneas de bucketsa los que no desee conceder acceso

Version 2012-10-17 Statement [ Effect AllowVersioacuten de API 2014-10-06

229

AWS CodeDeploy Guiacutea del usuarioTrabajar con instancias on-premises

Action [ s3Get s3List ] Resource [ arnawss3replace-with-your-s3-bucket-name arnawss3aws-codedeploy-us-east-2 arnawss3aws-codedeploy-us-east-1 arnawss3aws-codedeploy-us-west-1 arnawss3aws-codedeploy-us-west-2 arnawss3aws-codedeploy-ca-central-1 arnawss3aws-codedeploy-eu-west-1 arnawss3aws-codedeploy-eu-west-2 arnawss3aws-codedeploy-eu-west-3 arnawss3aws-codedeploy-eu-central-1 arnawss3aws-codedeploy-ap-east-1 arnawss3aws-codedeploy-ap-northeast-1 arnawss3aws-codedeploy-ap-northeast-2 arnawss3aws-codedeploy-ap-southeast-1 arnawss3aws-codedeploy-ap-southeast-2 arnawss3aws-codedeploy-ap-south-1 arnawss3aws-codedeploy-sa-east-1 ] ]

Paso 3 Etiquetar la instancia de Amazon EC2Para obtener instrucciones acerca de coacutemo etiquetar la instancia de Amazon EC2 para que CodeDeploypueda encontrarla durante una implementacioacuten consulteUso de etiquetas en la consolay a continuacioacutenvuelva a esta paacutegina

Note

Puede etiquetar la instancia de Amazon EC2 con la clave y el valor que desee Pero aseguacuterese deespecificar esta clave y valor cuando realice una implementacioacuten en ella

Paso 4 Instalacioacuten delAWS CodeDeployagente en la instanciade Amazon EC2Para obtener instrucciones acerca de coacutemo instalar el agente de CodeDeploy en la instancia deAmazon EC2 y verificar que se estaacute ejecutando consulteAdministracioacuten de operaciones del agente deCodeDeploy (p 186)y a continuacioacuten vaya aCrear una aplicacioacuten con CodeDeploy (p 273)

Trabajar con instancias on-premises paraCodeDeploy

Una instancia on-premises es cualquier dispositivo fiacutesico que no es una instancia Amazon EC2 y quepuede ejecutar el agente de CodeDeploy y conectarse a puacuteblicosAWSPuntos de enlace de servicio de

La implementacioacuten de una revisioacuten de la aplicacioacuten de CodeDeploy en una instancia on-premises implicados pasos principales

bull Paso 1 configurar cada instancia on-premises registrarla en CodeDeploy a continuacioacuten etiquetarla

Versioacuten de API 2014-10-06230

AWS CodeDeploy Guiacutea del usuarioRequisitos previos para configurar

una instancia on-premises

bull Paso 2 implementar revisiones de la aplicacioacuten de en la instancia on-premises

Note

Para experimentar con la creacioacuten e implementacioacuten de una revisioacuten de la aplicacioacuten demuestra en una instancia on-premises correctamente configurada y registrada consulteTutorial Implementar una aplicacioacuten en una instancia local con CodeDeploy (Windows ServerUbuntu Server o Red Hat Enterprise Linux) (p 103) Para obtener maacutes informacioacuten sobre lasinstancias on-premises y coacutemo funcionan con CodeDeploy consulteWorking with On-PremisesInstances (p 230)

Si ya no desea utilizar una instancia on-premises en las implementaciones puede eliminar las etiquetasde la instancia on-premises de los grupos de implementaciones Para utilizar un meacutetodo maacutes eficazelimine las etiquetas de la instancia on-premises de la instancia Tambieacuten puede anular el registro de unainstancia on-premises de forma expliacutecita para que ya no se pueda utilizar en ninguna implementacioacutenPara obtener maacutes informacioacuten consulte Administracioacuten de operaciones de instancias on-premises enCodeDeploy (p 253)

Las instrucciones de esta seccioacuten explican coacutemo configurar una instancia on-premises y a continuacioacutenregistrarla y etiquetarla en CodeDeploy para que se pueda utilizar en las implementaciones Esta seccioacutentambieacuten describe coacutemo utilizar CodeDeploy para obtener informacioacuten acerca de las instancias on-premisesy coacutemo anular el registro de una instancia on-premises si ya no piensa implementarla

Temasbull Requisitos previos para configurar una instancia on-premises (p 231)bull Registro de una instancia on-premises en CodeDeploy (p 232)bull Administracioacuten de operaciones de instancias on-premises en CodeDeploy (p 253)

Requisitos previos para configurar una instancia on-premisesSe deben cumplir los siguientes requisitos previos para poder registrar una instancia on-premise

Important

Si utiliza elinstancias de registro en localesy actualice perioacutedicamente las credenciales temporalesgeneradas con elAWS Security Token Service(AWS STS) existen otros requisitos previos Paraobtener informacioacuten consulte Requisitos previos de registro ARN de sesioacuten de IAM (p 247)

Requisitos de los dispositivos

El dispositivo que desea preparar registrar y etiquetar como una instancia on-premises con CodeDeploydebe ejecutarse en un sistema operativo compatible Para ver una lista consulte Sistemas operativoscompatibles con el agente de CodeDeploy (p 175)

Si su sistema operativo no es compatible el agente CodeDeploy estaacute disponible como coacutedigo abierto paraque pueda adaptarlo a sus necesidades Para obtener maacutes informacioacuten consulte laCodeDeployrepositorioen GitHub

Comunicacioacuten saliente

La instancia on-premises debe poder conectarse al puacuteblicoAWSendpoints de servicio para comunicarsecon CodeDeploy

El agente CodeDeploy se comunica con el exterior a traveacutes de HTTPS sobre el puerto 443

Versioacuten de API 2014-10-06231

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

Control administrativo

La cuenta local o de red utilizada en la instancia on-premises para configurar dicha debe poder ejecutarsecomosudooroot(para Ubuntu Server) o como administrador (para Windows Server)

Permisos de IAM

La identidad de IAM que utiliza para registrar la instancia on-premises debe tener permisos para completarel registro (y para anular el registro de la instancia on-premise seguacuten sea necesario)

Ademaacutes de la poliacutetica descrita enIntroduccioacuten a CodeDeploy (p 35) aseguacuterese de que la identidad de IAMde llamada tambieacuten tiene adjunta la siguiente poliacutetica adicional Para obtener informacioacuten acerca de coacutemoadjuntar directivas de IAM consulte Administracioacuten de directivas de IAM

Version 2012-10-17 Statement [ Effect Allow Action [ iamCreateAccessKey iamCreateUser iamDeleteAccessKey iamDeleteUser iamDeleteUserPolicy iamListAccessKeys iamListUserPolicies iamPutUserPolicy iamGetUser ] Resource ]

Registro de una instancia on-premises en CodeDeployPara registrar una instancia on-premise debe utilizar una identidad de IAM para autenticar las solicitudesPuede elegir entre las siguientes opciones para la identidad de IAM y el meacutetodo de registro que utilice

bull Utilice un ARN de usuario de IAM para autenticar las solicitudesbull Usarregistradorpara el proceso de registro maacutes automatizado Es el maacutes adecuado para registrar una

instancia on-premises individual Para obtener informacioacuten consulte Utilice el comando register (ARNde usuario de IAM) para registrar una instancia on-premises (p 233)

bull Usarinstancias de registro en localespara configurar manualmente la mayoriacutea de las opciones deregistro Es adecuado para registrar un pequentildeo nuacutemero de instancias on-premises Para obtenerinformacioacuten consulte Utilice el comando register-on-premises-instance (ARN de usuario de IAM) pararegistrar una instancia on-premises (p 237)

bull Utilice un ARN de rol de IAM para autenticar las solicitudesbull Usarinstancias de registro en localescomando y actualice perioacutedicamente las credenciales temporales

generadas conAWS Security Token Service(AWS STS) para configurar manualmente la mayoriacuteade las opciones de registro Es el maacutes adecuado para registrar un gran nuacutemero de instancias on-premises Para obtener informacioacuten consulte Utilice el comando register-on-premises-instance (ARNde sesioacuten de IAM) para registrar una instancia on-premises (p 246)

Temasbull Utilice el comando register (ARN de usuario de IAM) para registrar una instancia on-

premises (p 233)

Versioacuten de API 2014-10-06232

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

bull Utilice el comando register-on-premises-instance (ARN de usuario de IAM) para registrar una instanciaon-premises (p 237)

bull Utilice el comando register-on-premises-instance (ARN de sesioacuten de IAM) para registrar una instanciaon-premises (p 246)

Utilice el comando register (ARN de usuario de IAM) pararegistrar una instancia on-premisesEsta seccioacuten describe coacutemo configurar una instancia on-premises y coacutemo registrarla y etiquetarla enCodeDeploy con el miacutenimo esfuerzo El comando register resulta especialmente uacutetil cuando se trabaja conuna sola flota o con flotas pequentildeas de instancias on-premises Puede utilizar elregisterSoacutelo cuando utilizaun ARN de usuario de IAM para autenticar una instancia No puede utilizar elregistercon un ARN de sesioacutende IAM para la autenticacioacuten

Cuando utiliza elregister puede permitir que CodeDeploy haga lo siguiente

bull Crear un usuario de IAM enAWS Identity and Access Managementpara la instancia on-premises si noespecifica uno en particular con el comando

bull Guarde las credenciales del usuario de IAM en un archivo de configuracioacuten de la instancia on-premisesbull Registre la instancia on-premises en CodeDeploybull Antildeadir etiquetas a la instancia on-premises si las especifica como parte del comando

Note

Lainstancias de registro en localeses una alternativa alregistradorcomando Utiliza elregister-on-premises-instancesi desea configurar una instancia on-premises y registrarla y etiquetarla enCodeDeploy por su cuenta Laregister-on-premises-instanceTambieacuten le da la opcioacuten de utilizarun ARN de sesioacuten de IAM para registrar instancias en lugar de un ARN de usuario de IAMEste enfoque proporciona una gran ventaja si tiene grandes flotas de instancias on-premisesEspeciacuteficamente puede utilizar un solo ARN de sesioacuten de IAM para autenticar muacuteltiples instanciasen lugar de tener que crear un usuario de IAM para cada instancia on-premises a la vez Paraobtener maacutes informacioacuten consulte Utilice el comando register-on-premises-instance (ARNde usuario de IAM) para registrar una instancia on-premises (p 237) y Utilice el comandoregister-on-premises-instance (ARN de sesioacuten de IAM) para registrar una instancia on-premises (p 246)

Temasbull Paso 1 Instalacioacuten y configuracioacuten deAWS CLIen la instancia on-premises (p 233)bull Paso 2 Realice una llamada al comando register (p 235)bull Paso 3 Ejecute el comando de instalacioacuten (p 236)bull Paso 4 Implementar revisiones de la aplicacioacuten en la instancia on-premises (p 237)bull Paso 5 Seguimiento de las implementaciones en la instancia local (p 237)

Paso 1 Instalacioacuten y configuracioacuten deAWS CLIen la instancia on-premises

1 Instale la AWS CLI en la instancia on-premises Siga las instrucciones enConfiguracioacuten inicial delaAWS CLIen laAWS Command Line InterfaceGuiacutea del usuario de

Note

Los comandos de CodeDeploy para trabajar con instancias on-premises estaacuten disponiblesenAWS CLIversioacuten 1719 y posteriores Si ya tiene instalada la AWS CLI llame a aws --version para comprobar su versioacuten

Versioacuten de API 2014-10-06233

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

2 Configure la AWS CLI en la instancia on-premises Siga las instrucciones enConfiguracioacuten deAWSCLIenAWS Command Line InterfaceGuiacutea del usuario de

Important

A medida que configura elAWS CLI(por ejemplo llamando alaws configurecomando)aseguacuterese de especificar el ID de clave secreta y la clave de acceso secreta de un usuario deIAM que tenga como miacutenimo lo siguienteAWSpermisos de acceso ademaacutes de los permisosespecificados enRequisitos previos para configurar una instancia on-premises (p 231) Estole permite descargar e instalar el agente de CodeDeploy en la instancia on-premises Lospermisos de acceso podriacutean tener un aspecto similar a este

Version 2012-10-17 Statement [ Effect Allow Action [ codedeploy iamCreateAccessKey iamCreateUser iamDeleteAccessKey iamDeleteUser iamDeleteUserPolicy iamListAccessKeys iamListUserPolicies iamPutUserPolicy iamGetUser taggetTagKeys taggetTagValues tagGetResources ] Resource Effect Allow Action [ s3Get s3List ] Resource [ arnawss3aws-codedeploy-us-east-2 arnawss3aws-codedeploy-us-east-1 arnawss3aws-codedeploy-us-west-1 arnawss3aws-codedeploy-us-west-2 arnawss3aws-codedeploy-ca-central-1 arnawss3aws-codedeploy-eu-west-1 arnawss3aws-codedeploy-eu-west-2 arnawss3aws-codedeploy-eu-west-3 arnawss3aws-codedeploy-eu-central-1 arnawss3aws-codedeploy-ap-east-1 arnawss3aws-codedeploy-ap-northeast-1 arnawss3aws-codedeploy-ap-northeast-2 arnawss3aws-codedeploy-ap-southeast-1 arnawss3aws-codedeploy-ap-southeast-2 arnawss3aws-codedeploy-ap-south-1 arnawss3aws-codedeploy-sa-east-1 ] ]

Versioacuten de API 2014-10-06234

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

Paso 2 Realice una llamada al comando register

Para este paso se da por sentado que va a registrar la instancia on-premises desde la propia instancia on-premises Tambieacuten puede registrar una instancia on-premises desde un dispositivo o instancia diferenteque tenga la AWS CLI instalada y configurada como se describe en el paso anterior

UsarAWS CLIpara llamar aregistradorcomando especificando

bull Un nombre que identifique de manera uacutenica la instancia on-premises a CodeDeploy (con el--instance-nameopcioacuten)

Important

Para ayudarle a identificar la instancia on-premises en otro momento especialmente a efectosde depuracioacuten recomendamos encarecidamente que utilice un nombre que se asigne a algunascaracteriacutesticas exclusivas de la instancia on-premises (por ejemplo el nuacutemero de serie o alguacutenidentificador uacutenico de recurso interno si procede) Si especifica una direccioacuten MAC para unnombre debe tener en cuenta que las direcciones MAC contienen caracteres que CodeDeployno permite como los dos puntos () Para obtener una lista de los caracteres permitidosconsulte liacutemites de CodeDeploy (p 454)

bull Si lo desea el ARN de un usuario de IAM existente que desea asociar a esta instancia on-premises(con el--iam-user-arnopcioacuten) Para obtener el ARN de un usuario de IAM ejecute elget-usero elijael nombre de usuario de IAM en elUsuarios dede la consola de IAM y a continuacioacuten busque laARN deusuarioValor de laResumenseccioacuten Si no se especifica esta opcioacuten CodeDeploy crearaacute un usuario deIAM en su nombre en suAWSy asociarlo a la instancia on-premises

Important

Si especifica la opcioacuten --iam-user-arn ademaacutes debe crear manualmente el archivo deconfiguracioacuten de la instancia on-premises como se describe en Paso 4 Agregar un archivo deconfiguracioacuten a la instancia on-premises (p 242)Puede asociar un solo usuario de IAM a una sola instancia on-premises Intentar asociarun solo usuario de IAM a muacuteltiples instancias on-premises puede producir erroresimplementaciones fallidas en dichas instancias on-premises o implementaciones en dichasinstancias on-premises que permanecen en estado pendiente perpetuo

bull Si lo desea un conjunto de etiquetas de instancias on-premises (con el--tags) que CodeDeployutilizaraacute para identificar el conjunto de instancias Amazon EC2 en el que se implementaraacute Especifiquecada etiqueta con Key=tag-keyValue=tag-value (por ejemplo Key=NameValue=BetaKey=NameValue=WestRegion) Si no se especifica esta opcioacuten no se registraraacuten etiquetas Pararegistrar etiquetas en otro momento llame acomplementos de a instancias on-premisescomando

bull Opcionalmente elAWSregioacuten de en la que se registraraacute la instancia on-premises en CodeDeploy(con el--regionopcioacuten) Esta debe ser alguna de las regiones admitidas que se encuentran en lalista deRegiones y puntos de enlaceenAWSReferencia general de(por ejemplous-west-2) Si no seespecifica esta opcioacuten el valor predeterminadoAWSSe utilizaraacute la regioacuten asociada al usuario de IAM querealiza la llamada

Por ejemplo

aws deploy register --instance-name AssetTag12010298EX --iam-user-arn arnawsiam444455556666userCodeDeployUser-OnPrem --tags Key=NameValue=CodeDeployDemo-OnPrem --region us-west-2

El comando register hace lo siguiente

1 Si no se especifica un usuario de IAM existente lo crea le adjunta los permisos necesarios y generala clave secreta y la clave de acceso secreta correspondientes La instancia on-premises utilizaraacute esteusuario de IAM y sus permisos y credenciales para la autenticacioacuten e interaccioacuten con CodeDeploy

Versioacuten de API 2014-10-06235

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

2 Registra la instancia on-premises en CodeDeploy3 Si se especifica asocia en CodeDeploy las etiquetas que se especifican en el--tagscon el nombre de

la instancia on-premises registrada4 Si el usuario de IAM se creoacute tambieacuten crea el archivo de configuracioacuten requerido en el mismo directorio

desde el cual elregisterse llamoacute al comando

Si este comando encuentra alguacuten error aparece un mensaje en el que se describe coacutemo realizarmanualmente los pasos faltantes En caso contrario aparece un mensaje de confirmacioacuten en el que sedescribe coacutemo ejecutar el comando install seguacuten se indica en el siguiente paso

Paso 3 Ejecute el comando de instalacioacuten

Utilice la en la instancia on-premisesAWS CLIpara llamar ainstalarcomando especificando

bull La ruta al archivo de configuracioacuten (con la opcioacuten --config-file)bull Si lo desea si se reemplazaraacute el archivo de configuracioacuten que ya existe en la instancia on-premises

(con la opcioacuten --override-config) Si no se especifica no se sustituiraacute el archivo de configuracioacutenexistente

bull Opcionalmente elAWSregioacuten de en la que se registraraacute la instancia on-premises en CodeDeploy(con el--regionopcioacuten) Esta debe ser alguna de las regiones admitidas que se encuentran en lalista deRegiones y puntos de enlaceenAWSReferencia general de(por ejemplous-west-2) Si no seespecifica esta opcioacuten el valor predeterminadoAWSSe utilizaraacute la regioacuten asociada al usuario de IAM querealiza la llamada

bull Si lo desea una ubicacioacuten personalizada desde la que se instalaraacute el agente de CodeDeploy (con el--agent-installeropcioacuten) Esta opcioacuten sirve para instalar una versioacuten personalizada del agente deCodeDeploy con el que CodeDeploy no es oficialmente compatible (como la versioacuten personalizadabasada en elAgente de CodeDeployrepositorio en GitHub) El valor debe ser la ruta a un bucket deAmazon S3 que contenga cualquiera de los siguientesbull Un script de instalacioacuten del agente de CodeDeploy (para sistemas operativos basados en Linux o en

Unix similar al archivo de instalacioacuten delAgente de CodeDeployrepositorio en GitHub)bull Un archivo del paquete de instalacioacuten (msi) del agente de CodeDeploy (para sistemas operativos

basados en Windows)

Si no se especifica esta opcioacuten CodeDeploy intentaraacute instalar desde su propia ubicacioacuten una versioacutenoficialmente compatible del agente de CodeDeploy que sea compatible con el sistema operativo de lainstancia on-premises

Por ejemplo

aws deploy install --override-config --config-file tmpcodedeployonpremisesyml --region us-west-2 --agent-installer s3aws-codedeploy-us-west-2latestcodedeploy-agentmsi

El comando install hace lo siguiente

1 Comprueba si la instancia on-premises es una instancia Amazon EC2 Si lo es aparece un mensaje deerror

2 Copia el archivo de configuracioacuten de las instancias on-premises desde la ubicacioacuten especificada en lainstancia a la ubicacioacuten donde el agente de CodeDeploy espera encontrarlo siempre que el archivo yano esteacute en esa ubicacioacuten

Para Ubuntu Server y Red Hat Enterprise Linux (RHEL)) esto esetccodedeploy-agentconfcodedeployonpremisesyml

Para Windows Server esto esCProgramDataAmazonCodeDeployconfonpremisesyml

Versioacuten de API 2014-10-06236

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

Si se especificoacute la opcioacuten --override-config crea o sobrescribe el archivo3 Instala el agente de CodeDeploy en la instancia on-premises y a continuacioacuten lo inicia

Paso 4 Implementar revisiones de la aplicacioacuten en la instancia on-premises

Ahora estaacute listo para implementar revisiones de aplicaciones en la instancia on-premises registrada yetiquetada

La implementacioacuten de revisiones de aplicaciones en instancias on-premises es similar a la implementacioacutende revisiones de aplicaciones en instancias Amazon EC2 Para obtener instrucciones consulte Creeuna implementacioacuten con CodeDeploy (p 324) Estas instrucciones incluyen un enlace a los requisitosprevios incluida la creacioacuten de una aplicacioacuten la creacioacuten de un grupo de implementaciones y lapreparacioacuten de la revisioacuten de una aplicacioacuten Si necesita una revisioacuten de una aplicacioacuten sencilla paraimplementar puede crear la que se describe en Paso 2 Creacioacuten de una revisioacuten de aplicacioacuten demuestra (p 104) en el Tutorial Implementar una aplicacioacuten en una instancia local con CodeDeploy(Windows Server Ubuntu Server o Red Hat Enterprise Linux) (p 103)

Important

Si reutiliza un rol de servicio de CodeDeploy existente como parte de la creacioacuten deun grupo de implementaciones que tiene como destino instancias on-premises debeincluirTaggetalActionparte de la declaracioacuten de poliacutetica del rol de servicio Para obtener maacutesinformacioacuten consulte Paso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36)

Paso 5 Seguimiento de las implementaciones en la instancia local

Despueacutes de implementar una revisioacuten de una aplicacioacuten en instancias on-premises registradas yetiquetadas puede hacer un seguimiento del progreso de la implementacioacuten

El seguimiento de las implementaciones en instancias on-premises es similar al seguimiento de lasimplementaciones en instancias Amazon EC2 Para obtener instrucciones consulte Ver detalles deimplementacioacuten de CodeDeploy (p 340)

Para obtener maacutes opciones consulte Administracioacuten de operaciones de instancias on-premises enCodeDeploy (p 253)

Utilice el comando register-on-premises-instance (ARN deusuario de IAM) para registrar una instancia on-premisesSiga estas instrucciones para configurar una instancia on-premises registrarla y etiquetarla conCodeDeploy principalmente por su cuenta utilizando las credenciales estaacuteticas de un usuario de IAM parala autenticacioacuten

Temasbull Paso 1 Creacioacuten de un usuario de IAM para la instancia on-premises (p 238)bull Paso 2 Asignar permisos al usuario de IAM (p 238)bull Paso 3 Obtenga las credenciales de usuario de IAM (p 240)bull Paso 4 Agregar un archivo de configuracioacuten a la instancia on-premises (p 242)bull Paso 5 Instalacioacuten y configuracioacuten de AWS CLI (p 243)bull Paso 6 Establecer la variable de entorno AWS_REGION (solo Ubuntu Server y RHEL) (p 244)bull Paso 7 Instalacioacuten del agente de CodeDeploy (p 244)bull Paso 8 Registre la instancia on-premises en CodeDeploy (p 244)bull Paso 9 Etiquetado de la instancia on-premises (p 245)

Versioacuten de API 2014-10-06237

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

bull Paso 10 Implementar revisiones de aplicaciones en la instancia on-premises (p 246)bull Paso 11 Seguimiento de las implementaciones en la instancia local (p 246)

Paso 1 Creacioacuten de un usuario de IAM para la instancia on-premises

Cree un usuario de IAM que la instancia on-premises utilizaraacute para la autenticacioacuten e interaccioacuten conCodeDeploy

Important

Debe crear un usuario de IAM diferente para cada instancia on-premises que emplee Si intentareutilizar un usuario individual de IAM para varias instancias on-premises es posible que nopueda registrar o etiquetar correctamente esas instancias on-premises con CodeDeploy Lasimplementaciones en esas instancias on-premises pueden quedarse bloqueadas en un estadopendiente perpetuo o producir errores

Le recomendamos que asigne al usuario de IAM un nombre que identifique su finalidad comoCodeDeployUser-OnPrem

Puede utilizar elAWS CLIo la consola de IAM para crear un usuario de IAM Para obtener informacioacutenconsulteCreacioacuten de un usuario de IAM en suAWScuenta

Important

Si utilizas elAWS CLIo la consola de IAM para crear un nuevo usuario de IAM anote el ARNproporcionado para el usuario Necesitaraacute esta informacioacuten maacutes tarde en Paso 4 Agregar unarchivo de configuracioacuten a la instancia on-premises (p 242) y Paso 8 Registre la instancia on-premises en CodeDeploy (p 244)

Paso 2 Asignar permisos al usuario de IAM

Si su instancia on-premises va a implementar revisiones de aplicaciones desde buckets de Amazon S3debe asignar al usuario de IAM los permisos necesarios para interactuar con esos buckets Puede utilizarelAWS CLIo la consola de IAM para asignar permisos

Note

Si va a implementar revisiones de aplicaciones uacutenicamente desde repositorios de GitHub omitaeste paso y vaya directamente a Paso 3 Obtenga las credenciales de usuario de IAM (p 240)(Tambieacuten necesitaraacute informacioacuten acerca del usuario de IAM que creoacute enPaso 1 Creacioacuten de unusuario de IAM para la instancia on-premises (p 238) Se utilizaraacute en pasos posteriores)

Para asignar permisos (CLI)

1 Cree un archivo con el siguiente contenido de poliacutetica en la instancia o el dispositivo de Amazon EC2que va a utilizar para llamar a laAWS CLI Asigne al archivo un nombre como CodeDeploy-OnPrem-Permissionsjson y a continuacioacuten guaacuterdelo

Version 2012-10-17 Statement [ Action [ s3Get s3List ] Effect Allow Resource ]

Versioacuten de API 2014-10-06238

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

Note

Le recomendamos que restrinja esta poliacutetica uacutenicamente a los buckets de Amazon S3a los que su instancia on-premises necesite tener acceso Si restringe esta poliacuteticaaseguacuterese de conceder acceso tambieacuten a los buckets de Amazon S3 que contienen laAWSCodeDeployagente de De lo contrario podriacutea producirse un error siempre que el agente deCodeDeploy se instale o actualice en la instancia on-premises asociadaPor ejemplo

Version 2012-10-17 Statement [ Effect Allow Action [ s3Get s3List ] Resource [ arnawss3replace-with-your-s3-bucket-name arnawss3aws-codedeploy-us-east-2 arnawss3aws-codedeploy-us-east-1 arnawss3aws-codedeploy-us-west-1 arnawss3aws-codedeploy-us-west-2 arnawss3aws-codedeploy-ca-central-1 arnawss3aws-codedeploy-eu-west-1 arnawss3aws-codedeploy-eu-west-2 arnawss3aws-codedeploy-eu-west-3 arnawss3aws-codedeploy-eu-central-1 arnawss3aws-codedeploy-ap-east-1 arnawss3aws-codedeploy-ap-northeast-1 arnawss3aws-codedeploy-ap-northeast-2 arnawss3aws-codedeploy-ap-southeast-1 arnawss3aws-codedeploy-ap-southeast-2 arnawss3aws-codedeploy-ap-south-1 arnawss3aws-codedeploy-sa-east-1 ] ]

2 Llame a laput-user-policy especificando el nombre del usuario de IAM (con--user-name(opcioacuten)un nombre de la poliacutetica (con--policy-name) y la ruta al documento de poliacutetica recieacuten creado (conla--policy-documentopcioacuten) Por ejemplo suponiendo que el archivo CodeDeploy-OnPrem-Permissionsjson estaacute en el mismo directorio (carpeta) desde el que llama a este comando

Important

Aseguacuterese de incluir file antes del nombre de archivo Es obligatorio en este comando

aws iam put-user-policy --user-name CodeDeployUser-OnPrem --policy-name CodeDeploy-OnPrem-Permissions --policy-document fileCodeDeploy-OnPrem-Permissionsjson

Para asignar permisos (consola)

1 Abra la consola de IAM en httpsconsoleawsamazoncomiam2 En el panel de navegacioacuten seleccione Policies y a continuacioacuten seleccione Create Policy Si aparece

el botoacuten Get Started (Empezar) eliacutejalo y a continuacioacuten elija Create Policy (Crear poliacutetica)Versioacuten de API 2014-10-06

239

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

3 Junto a Create Your Own Policy seleccione Select4 En el cuadro Policy Name (Nombre de la poliacutetica) escriba un nombre para esta poliacutetica (por ejemplo

CodeDeploy-OnPrem-Permissions)5 En el navegadorPolicy Document escriba o pegue la siguiente expresioacuten de permisos que

permiteAWS CodeDeploypara implementar revisiones de aplicaciones desde cualquier bucket deAmazon S3 especificado en la poliacutetica en la instancia on-premises en nombre de la cuenta de usuariode IAM

Version 2012-10-17 Statement [ Action [ s3Get s3List ] Effect Allow Resource ]

6 Elija Create Policy (Crear poliacutetica)7 En el panel de navegacioacuten seleccione Users (Usuarios)8 En la lista de usuarios busque y elija el nombre del usuario de IAM que creoacute enPaso 1 Creacioacuten de

un usuario de IAM para la instancia on-premises (p 238)9 En la pestantildea Permissions en Managed Policies seleccione Attach Policy10 Seleccione la poliacutetica denominada CodeDeploy-OnPrem-Permissions y a continuacioacuten elija

Attach Policy (Asociar poliacutetica)

Paso 3 Obtenga las credenciales de usuario de IAMObtenga el ID de la clave secreta y la clave de acceso secreta para el usuario de IAM Los necesitaraacute paraPaso 4 Agregar un archivo de configuracioacuten a la instancia on-premises (p 242) Puede utilizar elAWSCLIo la consola de IAM para obtener el ID de clave secreta y la clave de acceso secreta

Note

Si ya tiene el ID de la clave secreta y la clave de acceso secreta omita este paso y vayadirectamente a Paso 4 Agregar un archivo de configuracioacuten a la instancia on-premises (p 242)

Para obtener las credenciales (CLI)

1 Llame a laclaves de acceso a listas especificando el nombre del usuario de IAM (con--user-name) yconsultar solo los ID de clave de acceso (con la--queryy--outputopciones) Por ejemplo

aws iam list-access-keys --user-name CodeDeployUser-OnPrem --query AccessKeyMetadata[]AccessKeyId --output text

2 Si en la salida no aparece ninguna clave o aparece informacioacuten acerca de una uacutenica clave llame alacreate-access-key especificando el nombre del usuario de IAM (con--user-nameopcioacuten)

aws iam create-access-key --user-name CodeDeployUser-OnPrem

En la salida de la llamada al comando create-access-key anote el valor de los campos AccessKeyIdy SecretAccessKey Necesitaraacute esta informacioacuten en Paso 4 Agregar un archivo de configuracioacuten ala instancia on-premises (p 242)

Versioacuten de API 2014-10-06240

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

Important

Esta seraacute la uacutenica vez que tendraacute acceso a la clave de acceso secreta Si olvida o pierde elacceso a esta clave de acceso secreta tendraacute que generar una nueva siguiendo los pasos dePaso 3 Obtenga las credenciales de usuario de IAM (p 240)

3 Si ya se muestran dos claves de acceso debe eliminar una de ellas llamando a ladelete-access-keyespecificando el nombre del usuario de IAM (con--user-name) y el ID de la clave de acceso que seva a eliminar (con la--access-key-idopcioacuten) A continuacioacuten llame al comando create-access-key como se ha descrito anteriormente en este paso A continuacioacuten se muestra un ejemplo de coacutemollamar al comando delete-access-key

aws iam delete-access-key --user-name CodeDeployUser-OnPrem --access-key-id access-key-ID

Important

Si llamas aldelete-access-keypara eliminar una de estas claves de acceso y una instanciaon-premises ya estaacute utilizando esta clave de acceso como se describe enPaso 4 Agregarun archivo de configuracioacuten a la instancia on-premises (p 242) deberaacute seguir lasinstrucciones que se indican enPaso 4 Agregar un archivo de configuracioacuten a la instancia on-premises (p 242)nuevamente para especificar otro ID de clave de acceso y otra clave deacceso secreta asociados a este usuario de IAM De lo contrario todas las implementacionesde esa instancia on-premises pueden quedarse bloqueadas en un estado pendiente perpetuoo producir errores

Para obtener las credenciales (consola)

1 a Abra la consola de IAM en httpsconsoleawsamazoncomiamb Si la lista de usuarios no se muestra en el panel de navegacioacuten elija Usersc En la lista de usuarios busque y elija el nombre del usuario de IAM que creoacute enPaso 1 Creacioacuten

de un usuario de IAM para la instancia on-premises (p 238)2 En la pestantildea Security credentials si en la lista no figura ninguna clave o si figura una sola una clave

seleccione Create access key

Si se muestran dos claves de acceso debe eliminar una de ellas Elija Delete junto a una de las clavesde acceso y luego seleccione Create access key

Important

Si eligeBorrarjunto a una de estas claves de acceso y una instancia on-premises yaestaacute utilizando esta clave de acceso como se describe enPaso 4 Agregar un archivode configuracioacuten a la instancia on-premises (p 242) deberaacute seguir las instruccionesque se indican enPaso 4 Agregar un archivo de configuracioacuten a la instancia on-premises (p 242)nuevamente para especificar otro ID de clave de acceso y otra clave deacceso secreta asociados a este usuario de IAM De lo contrario las implementaciones deesa instancia on-premises pueden quedarse bloqueadas en un estado pendiente perpetuo oproducir errores

3 Elija Show y anote el ID de la clave de acceso y la clave de acceso secreta Necesitaraacute estainformacioacuten para el siguiente paso Como alternativa puede elegir Download csv file para guardaruna copia del ID de la clave de acceso y la clave de acceso secreta

Important

A menos que anote o descargue las credenciales esta seraacute la uacutenica vez que tendraacute accesoa la clave de acceso secreta Si olvida o pierde el acceso a esta clave de acceso secretaVersioacuten de API 2014-10-06

241

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

tendraacute que generar una nueva siguiendo los pasos de Paso 3 Obtenga las credenciales deusuario de IAM (p 240)

4 Seleccione Close para volver a la paacutegina Users gt IAM User Name

Paso 4 Agregar un archivo de configuracioacuten a la instancia on-premises

Antildeada un archivo de configuracioacuten a la instancia on-premises utilizando los permisos raiacutez o deadministrador Este archivo de configuracioacuten se utilizaraacute para declarar las credenciales de usuario deIAM y el destino de destinoAWSregioacuten que se utilizaraacute para CodeDeploy El archivo debe antildeadirse a unaubicacioacuten especiacutefica de la instancia on-premises El archivo debe incluir el ARN el ID de la clave secretala clave de acceso secreta y el destino de destino del usuario de IAMAWSregion Este archivo debe seguirun formato especiacutefico

1 Cree un archivo denominadocodedeployonpremisesyml(para una instancia local de UbuntuServer o RHEL) oconfonpremisesyml(si se trata de una instancia on-premises de WindowsServer) en la siguiente ubicacioacuten de la instancia on-premises

bull Para Ubuntu Serveretccodedeploy-agentconfbull Para Windows ServerCProgramDataAmazonCodeDeploy

2 Utilice un editor de texto para antildeadir la siguiente informacioacuten al archivocodedeployonpremisesyml o confonpremisesyml recieacuten creado

---aws_access_key_id secret-key-idaws_secret_access_key secret-access-keyiam_user_arn iam-user-arnregion supported-region

Donde

bull secret-keyy-ides el ID de la clave secreta del usuario de IAM correspondiente que anotoacuteenPaso 1 Creacioacuten de un usuario de IAM para la instancia on-premises (p 238)oPaso 3 Obtengalas credenciales de usuario de IAM (p 240)

bull clave de acceso secretaes la clave de acceso secreta del usuario de IAMcorrespondiente que anotoacute enPaso 1 Creacioacuten de un usuario de IAM para la instancia on-premises (p 238)oPaso 3 Obtenga las credenciales de usuario de IAM (p 240)

bull iam-user-arn es el ARN del usuario de IAM que anotoacute anteriormente en Paso 1 Creacioacuten de unusuario de IAM para la instancia on-premises (p 238)

bull regioacuten admitidaes el identificador de una regioacuten admitida por CodeDeploy en la que seencuentran sus aplicaciones grupos de implementaciones y revisiones de aplicaciones deCodeDeploy (por ejemplous-west-2) Para obtener una lista de regiones consulteRegiones ypuntos de enlaceen laAWSReferencia general de

Important

Si eligioacuteBorrarjunto a una de las claves de acceso dePaso 3 Obtenga las credenciales deusuario de IAM (p 240) y su instancia on-premises ya estaacute utilizando el ID de clave deacceso y la clave de acceso secreta asociados tendraacute que seguir las instrucciones dePaso 4Agregar un archivo de configuracioacuten a la instancia on-premises (p 242)para especificarotro ID de clave de acceso y otra clave de acceso secreta asociados a este usuario de IAMDe lo contrario todas las implementaciones de su instancia on-premises pueden quedarsebloqueadas en un estado pendiente perpetuo o producir errores

Versioacuten de API 2014-10-06242

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

Paso 5 Instalacioacuten y configuracioacuten de AWS CLI

Instale y configure la AWS CLI en la instancia on-premises (ElAWS CLIse utilizaraacute enPaso 7 Instalacioacutendel agente de CodeDeploy (p 244)para descargar e instalar el agente de CodeDeploy en la instanciaon-premises)

1 Para instalar elAWS CLIen la instancia on-premises siga las instrucciones que se indicanenConfiguracioacuten inicial de laAWS CLIen laAWS Command Line InterfaceGuiacutea del usuario de

Note

Los comandos de CodeDeploy para trabajar con instancias on-premises estaacuten disponiblesdesde la versioacuten 1719 de laAWS CLI Si ya tiene instalada una versioacuten de la AWS CLIpuede llamar a aws --version para comprobar la versioacuten

2 Para configurar laAWS CLIen la instancia on-premises siga las instrucciones que se indicanenConfiguracioacuten deAWS CLIen laAWS Command Line InterfaceGuiacutea del usuario de

Important

Al configurar laAWS CLI(por ejemplo llamando alaws configure) aseguacuterese de especificarel ID de clave secreta y la clave de acceso secreta de un usuario de IAM que tengacomo miacutenimo lo siguienteAWSpermisos de acceso ademaacutes de los permisos de accesoespecificados en elRequisitos previos para configurar una instancia on-premises (p 231)Esto le permite descargar e instalar el agente de CodeDeploy en la instancia on-premises

Version 2012-10-17 Statement [ Effect Allow Action [ codedeploy ] Resource Effect Allow Action [ s3Get s3List ] Resource [ arnawss3aws-codedeploy-us-east-2 arnawss3aws-codedeploy-us-east-1 arnawss3aws-codedeploy-us-west-1 arnawss3aws-codedeploy-us-west-2 arnawss3aws-codedeploy-ca-central-1 arnawss3aws-codedeploy-eu-west-1 arnawss3aws-codedeploy-eu-west-2 arnawss3aws-codedeploy-eu-west-3 arnawss3aws-codedeploy-eu-central-1 arnawss3aws-codedeploy-ap-east-1 arnawss3aws-codedeploy-ap-northeast-1 arnawss3aws-codedeploy-ap-northeast-2 arnawss3aws-codedeploy-ap-southeast-1 arnawss3aws-codedeploy-ap-southeast-2 arnawss3aws-codedeploy-ap-south-1 arnawss3aws-codedeploy-sa-east-1 ] ]

Versioacuten de API 2014-10-06243

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

Estos permisos de acceso se pueden asignar al usuario de IAM que creoacute enPaso 1 Creacioacutende un usuario de IAM para la instancia on-premises (p 238)o a otro usuario de IAM Paraasignar estos permisos a un usuario de IAM siga las instrucciones dePaso 1 Creacioacuten de unusuario de IAM para la instancia on-premises (p 238) utilizando estos permisos de accesoen lugar de los indicados en ese paso

Paso 6 Establecer la variable de entorno AWS_REGION (solo Ubuntu Server yRHEL)

Si no ejecuta Ubuntu Server o RHEL en su instancia on-premises omita este paso y vaya directamenteaPaso 7 Instalacioacuten del agente de CodeDeploy (p 244)

Instale el agente de CodeDeploy en una instancia on-premises de Ubuntu Server o RHEL y permitaque la instancia actualice el agente de CodeDeploy siempre que haya disponible una nueva versioacutenPara ello establezca laAWS_REGIONvariable de entorno de la instancia al identificador de una de lasregiones admitidas por CodeDeploy Le recomendamos que establezca el valor en la regioacuten en la que seencuentran sus aplicaciones grupos de implementaciones y revisiones de aplicaciones de CodeDeploy(por ejemplous-west-2) Para obtener una lista de regiones consulteRegiones y puntos de enlaceenlaAWSReferencia general de

Para establecer la variable de entorno llame al siguiente comando desde el terminal

export AWS_REGION=supported-region

Donde supported-region es el identificador de regioacuten (por ejemplo us-west-2)

Paso 7 Instalacioacuten del agente de CodeDeploy

Instale el agente de CodeDeploy en la instancia on-premises

bull Si se trata de una instancia on-premises de Ubuntu Server siga las instrucciones deInstale el agente deCodeDeploy para Ubuntu Server (p 192)y a continuacioacuten vuelva a esta paacutegina

bull Si se trata de una instancia on-premises de RHEL siga las instrucciones que se indican enInstale elagente CodeDeploy para Amazon Linux o RHEL (p 191)y a continuacioacuten vuelva a esta paacutegina

bull Si se trata de una instancia on-premises de Windows Server siga las instrucciones deInstale el agentede CodeDeploy para Windows Server (p 193)y a continuacioacuten vuelva a esta paacutegina

Paso 8 Registre la instancia on-premises en CodeDeploy

En las instrucciones de este paso se da por supuesto que va a registrar la instancia on-premises desdela propia instancia on-premises Puede registrar una instancia on-premises desde un dispositivo ouna instancia diferente que tenga la AWS CLI instalada y configurada como se describe en el Paso 5Instalacioacuten y configuracioacuten de AWS CLI (p 243)

UsarAWS CLIpara registrar la instancia on-premises con CodeDeploy de manera que pueda utilizarse enlas implementaciones

1 Antes de poder utilizar laAWS CLI necesitaraacute el ARN del usuario de IAM que creoacute enPaso 1 Creacioacutende un usuario de IAM para la instancia on-premises (p 238) Si auacuten no tiene el ARN del usuario dellame aget-user especificando el nombre del usuario de IAM (con--user-nameopcioacuten) y consultassolo para el ARN de usuario (con la--queryy--outputopciones)

aws iam get-user --user-name CodeDeployUser-OnPrem --query UserArn --output text

Versioacuten de API 2014-10-06244

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

2 Llame a laregister-on-premies-instancia especificando

bull Un nombre que identifique de manera uacutenica la instancia on-premises (con la opcioacuten --instance-name)

Important

Para ayudarle a identificar la instancia on-premises especialmente a efectos dedepuracioacuten recomendamos encarecidamente que especifique un nombre que se asignea algunas caracteriacutesticas exclusivas de la instancia on-premises (por ejemplo el nuacutemerode serie o un identificador de recurso interno si procede) Si especifica una direccioacuten MACcomo nombre debe tener en cuenta que las direcciones MAC contienen caracteres queCodeDeploy no permite como los dos puntos () Para obtener una lista de los caracterespermitidos consulte liacutemites de CodeDeploy (p 454)

bull El ARN del usuario de IAM que creoacute enPaso 1 Creacioacuten de un usuario de IAM para la instancia on-premises (p 238)(con el--iam-user-arnopcioacuten)

Por ejemplo

aws deploy register-on-premises-instance --instance-name AssetTag12010298EX --iam-user-arn arnawsiam444455556666userCodeDeployUser-OnPrem

Paso 9 Etiquetado de la instancia on-premisesPuede utilizar laAWS CLIo la consola de CodeDeploy para etiquetar la instancia on-premises (CodeDeployutiliza etiquetas de instancias on-premises para identificar los destinos de implementacioacuten durante unaimplementacioacuten)

Para etiquetar la instancia on-premises (CLI)

bull Llame a lacomplementos de en instancias on-premises especificando

bull El nombre que identifica de manera uacutenica la instancia on-premises (con la opcioacuten --instance-names)

bull El nombre de la clave de etiqueta y el valor de etiqueta de la instancia on-premises que deseautilizar (con la opcioacuten --tags) Debe especificar tanto el nombre como el valor CodeDeploy nopermite etiquetas de instancias on-premises que solo tengan valores

Por ejemplo

aws deploy add-tags-to-on-premises-instances --instance-names AssetTag12010298EX --tags Key=NameValue=CodeDeployDemo-OnPrem

Para etiquetar la instancia on-premises (consola)

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el menuacute de CodeDeploy elijaInstancias on-premises3 En la lista de instancias on-premises elija la flecha situada junto a la instancia on-premises que desea

etiquetar

Versioacuten de API 2014-10-06245

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

4 En la lista de etiquetas seleccione o introduzca la clave y el valor que desee para la etiqueta Cuandointroduzca la clave y el valor de la etiqueta apareceraacute otra fila Puede repetir esta accioacuten para un

maacuteximo de 10 etiquetas Para quitar una etiqueta elija el icono de eliminacioacuten ( )5 Despueacutes de antildeadir las etiquetas seleccione Update Tags

Paso 10 Implementar revisiones de aplicaciones en la instancia on-premisesAhora estaacute listo para implementar revisiones de aplicaciones en la instancia on-premises registrada yetiquetada

La implementacioacuten de revisiones de aplicaciones en instancias on-premises es similar a la implementacioacutende revisiones de aplicaciones en instancias on-premises de Amazon EC2 Para obtener instruccionesconsulte Cree una implementacioacuten con CodeDeploy (p 324) Estas instrucciones incluyen un enlace alos requisitos previos incluida la creacioacuten de una aplicacioacuten la creacioacuten de un grupo de implementacionesy la preparacioacuten de la revisioacuten de una aplicacioacuten Si necesita una revisioacuten de una aplicacioacuten sencillapara implementar puede crear la que se describe en Paso 2 Creacioacuten de una revisioacuten de aplicacioacutende muestra (p 104) en el Tutorial Implementar una aplicacioacuten en una instancia local con CodeDeploy(Windows Server Ubuntu Server o Red Hat Enterprise Linux) (p 103)

Important

Si reutiliza un rol de servicio de CodeDeploy como parte de la creacioacuten de ungrupo de implementaciones que tiene como destino instancias on-premises debeincluirTaggetalActionparte de la declaracioacuten de poliacutetica del rol de servicio Para obtener maacutesinformacioacuten consulte Paso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36)

Paso 11 Seguimiento de las implementaciones en la instancia localDespueacutes de implementar una revisioacuten de una aplicacioacuten en instancias on-premises registradas yetiquetadas puede hacer un seguimiento del progreso de la implementacioacuten

El seguimiento de las implementaciones en instancias on-premises es similar al seguimiento de lasimplementaciones en instancias on-premises de Amazon EC2 Para obtener instrucciones consulte Verdetalles de implementacioacuten de CodeDeploy (p 340)

Utilice el comando register-on-premises-instance (ARN de sesioacutende IAM) para registrar una instancia on-premisesPara tener el maacuteximo control sobre la autenticacioacuten y el registro de las instancias on-premises puedeutilizar lainstancias de registro en localesy actualice perioacutedicamente las credenciales temporalesgeneradas con laAWS Security Token Service(AWS STS) Un rol de IAM estaacutetico para la instancia asumeel rol de estas actualizadasAWS STScredenciales para realizar operaciones de implementacioacuten deCodeDeploy

Este meacutetodo es muy uacutetil cuando necesita registrar un gran nuacutemero de instancias Le permite automatizarel proceso de registro con CodeDeploy Puede utilizar su propio sistema de identidad y autenticacioacutenpara autenticar instancias on-premises y distribuir credenciales de sesioacuten de IAM desde el servicio a lasinstancias que se van a usar con CodeDeploy

Note

Tambieacuten puede utilizar un usuario de IAM compartido distribuido a todas las instancias on-premises para llamar a la API AWS STSAssumeRole de con el fin de recuperar las credencialesde sesioacuten de las instancias on-premises Este meacutetodo es menos seguro y no se recomienda paraentornos de produccioacuten o criacuteticos

Utilice la informacioacuten de los siguientes temas para configurar una instancia on-premises con credencialesde seguridad temporales generadas con AWS STS

Versioacuten de API 2014-10-06246

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

Temasbull Requisitos previos de registro ARN de sesioacuten de IAM (p 247)bull Paso 1 Cree el rol de IAM que asumiraacuten las instancias locales (p 247)bull Paso 2 Generar credenciales temporales para una instancia individual medianteAWS STS (p 248)bull Paso 3 Antildeada un archivo de configuracioacuten a la instancia on-premises (p 249)bull Paso 4 Preparar una instancia on-premises para las implementaciones de CodeDeploy (p 250)bull Paso 5 Registre la instancia on-premises con CodeDeploy (p 251)bull Paso 6 Etiquetado de la instancia on-premises (p 252)bull Paso 7 Implementar revisiones de las aplicaciones en la instancia on-premises (p 252)bull Paso 8 Seguimiento de las implementaciones en la instancia local (p 253)

Requisitos previos de registro ARN de sesioacuten de IAMAdemaacutes de los requisitos previos indicados en Requisitos previos para configurar una instancia on-premises (p 231) deben cumplirse los siguientes requisitos adicionales

Permisos de IAM

La identidad de IAM que se utiliza para registrar una instancia on-premises debe tener permisos pararealizar operaciones de CodeDeploy Aseguacuterese de que laAWSCodeDeployFullAccessLa poliacuteticaadministrada estaacute asociada a la identidad de IAM Para obtener informacioacuten consulteAWSpoliacuteticasadministradasen laIAM User Guide

Sistema para actualizar las credenciales temporales

Si utiliza un ARN de sesioacuten de IAM para registrar instancias on-premises debe disponer de un sistemapara actualizar perioacutedicamente las credenciales temporales Las credenciales temporales caducandespueacutes de una hora o antes si se especifica un periodo maacutes corto cuando se generan las credencialesExisten dos meacutetodos para actualizar las credenciales

bull Meacutetodo 1 Utilice el sistema de identidad y autenticacioacuten de su red corporativa con un script CRON quesondee perioacutedicamente el sistema de identidad y autenticacioacuten y copie las credenciales de la uacuteltimasesioacuten en la instancia Esto le permite integrar su estructura de autenticacioacuten e identidad conAWSsinnecesidad de realizar cambios en el agente o en el servicio de CodeDeploy para permitir los tipos deautenticacioacuten que utiliza en la organizacioacuten

bull Meacutetodo 2 Ejecute perioacutedicamente un trabajo CRON en la instancia para llamar alAWS STSAssumeRoley escriba las credenciales de la sesioacuten en un archivo al que el agente de CodeDeploy tengaacceso Este meacutetodo requiere igualmente utilizar un usuario de IAM y copiar las credenciales en lainstancia on-premises pero puede volver a utilizar el mismo usuario de IAM y las mismas credencialesen toda la flota de instancias on-premises

Para obtener maacutes informacioacuten acerca de coacutemo crear y trabajar conAWS STScredenciales consulteAWSSecurity Token ServiceReferencia de la APIyUso de credenciales de seguridad temporales para solicitaracceso aAWSrecursos

Paso 1 Cree el rol de IAM que asumiraacuten las instancias localesPuede utilizar elAWS CLIo la consola de IAM para crear el rol de IAM que utilizaraacuten sus instancias on-premises para autenticar e interactuar con CodeDeploy

Solo tiene que crear un uacutenico rol de IAM Cada una de las instancias on-premises puede asumir este rolpara recuperar las credenciales de seguridad temporales que proporcionan los permisos concedidos a esterol

El rol que cree requeriraacute los siguientes permisos para tener acceso a los archivos necesarios para instalarel agente de CodeDeploy

Versioacuten de API 2014-10-06247

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

Version 2012-10-17 Statement [ Action [ s3Get s3List ] Effect Allow Resource ]

Le recomendamos que restrinja esta poliacutetica uacutenicamente a los buckets de Amazon S3 a los que suinstancia on-premises necesite tener acceso Si restringe esta poliacutetica aseguacuterese de conceder accesoa los buckets de Amazon S3 que contienen el agente de CodeDeploy De lo contrario podriacutea producirseun error siempre que el agente de CodeDeploy se instale o actualice en la instancia on-premisesPara obtener maacutes informacioacuten acerca de coacutemo controlar el acceso a los buckets de Amazon S3consulteAdministracioacuten de los permisos de acceso a los recursos de Amazon S3

Para crear el rol de IAM

1 Llame al comando create-role usando la opcioacuten --role-name para especificar un nombre parael rol de IAM (por ejemplo CodeDeployInstanceRole) y la opcioacuten --assume-role-policy-document para proporcionar los permisos

Cuando cree el rol de IAM para esta instancia puede asignarle el nombreCodeDeployInstanceRole e incluir los permisos necesarios en un archivo denominadoCodeDeployRolePolicyjson

aws iam create-role --role-name CodeDeployInstanceRole --assume-role-policy-document fileCodeDeployRolePolicyjson

2 En la salida de la llamada al comando create-role anote el valor del campo ARN Por ejemplo

arnawsiam123456789012roleCodeDeployInstanceRole

Necesitaraacute el ARN del rol cuando utilice la API AWS STSAssumeRole de para generar credencialestemporales para cada instancia

Para obtener maacutes informacioacuten acerca de la creacioacuten de roles de IAM consulteCreacioacuten de un rol paradelegar permisos a unAWSServicio deenIAM User Guide

Para obtener maacutes informacioacuten acerca de la asignacioacuten de permisos a un rol existente consulteput-role-policyenAWS CLIReferencia de los comandos

Paso 2 Generar credenciales temporales para una instancia individualmedianteAWS STS

Antes de generar las credenciales temporales que se utilizaraacuten para registrar una instancia on-premisesdebe crear o elegir la identidad de IAM (usuario o rol) para la que se generaraacuten las credencialestemporales El permiso stsAssumeRole debe estar incluido en la configuracioacuten de poliacutetica de estaidentidad de IAM

Para obtener informacioacuten sobre la concesioacutenstsAssumeRolepermisos para una identidad de IAMconsulteCreacioacuten de un rol para delegar permisos a unAWSServicio deyAssumeRole

Versioacuten de API 2014-10-06248

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

Hay dos formas de generar credenciales temporales

bull Usarasumir rolcomando con elAWS CLI Por ejemplo

aws sts assume-role --role-arn arnawsiam12345ACCOUNTrolerole-arn --role-session-name session-name

Dondebull 12345ACCOUNT es el nuacutemero de cuenta de 12 diacutegitos de su organizacioacutenbull role-arn es el ARN del rol que se va a asumir que generoacute en Paso 1 Cree el rol de IAM que

asumiraacuten las instancias locales (p 247)bull session-name es el nombre que desea asignar a la sesioacuten del rol que va a crear ahora

Note

Si utiliza un script CRON que sondea perioacutedicamente el sistema de identidad y autenticacioacuteny copia las credenciales de la uacuteltima sesioacuten en la instancia (meacutetodo 1) para actualizarcredenciales temporales descrito enRequisitos previos de registro ARN de sesioacuten deIAM (p 247)) puedes usar cualquier soporteAWSSDK para llamarAssumeRole

bull Utilice una herramienta proporcionada porAWS

La herramienta aws-codedeploy-session-helper genera credenciales de AWS STS y las escribe enun archivo que usted coloca en la instancia Esta herramienta es adecuada para el meacutetodo 2 deactualizacioacuten de credenciales temporales que se describe en Requisitos previos de registro ARN desesioacuten de IAM (p 247) En este meacutetodo la herramienta aws-codedeploy-session-helper se instala encada instancia y ejecuta el comando usando los permisos del usuario de IAM Cada instancia utiliza lasmismas credenciales de usuario de IAM junto con esta herramienta

Para obtener maacutes informacioacuten consulte aws-codedeploy-session-helper en el repositorio de GitHub

Note

Una vez que haya creado las credenciales de inicio de sesioacuten de IAM coloacutequelas en cualquierubicacioacuten de la instancia on-premises En el siguiente paso configuraraacute el agente deCodeDeploy para obtener acceso a las credenciales de esta ubicacioacuten

Antes de continuar aseguacuterese de que el sistema que se utilizaraacute para actualizar perioacutedicamentelas credenciales temporales estaacute instalado Si las credenciales temporales no se actualizan lasimplementaciones en la instancia on-premises produciraacuten un error Para obtener maacutes informacioacuten consulteSistema para actualizar las credenciales temporales en Requisitos previos de registro ARN de sesioacuten deIAM (p 247)

Paso 3 Antildeada un archivo de configuracioacuten a la instancia on-premises

Antildeada un archivo de configuracioacuten a la instancia on-premises utilizando los permisos raiacutez o deadministrador Este archivo de configuracioacuten se utilizaraacute para declarar las credenciales de IAM y eldestinoAWSregioacuten que se utilizaraacute para CodeDeploy El archivo debe antildeadirse a una ubicacioacuten especiacuteficade la instancia on-premises El archivo debe incluir el ARN de sesioacuten temporal de IAM su ID de clavesecreta y clave de acceso secreta y el destinoAWSregion

Para antildeadir un archivo de configuracioacuten

1 Cree un archivo denominadocodedeployonpremisesyml(para una instancia local de UbuntuServer o RHEL) oconfonpremisesyml(si se trata de una instancia on-premises de WindowsServer) en la siguiente ubicacioacuten de la instancia on-premises

bull Para Ubuntu Serveretccodedeploy-agentconfVersioacuten de API 2014-10-06

249

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

bull Para Windows ServerCProgramDataAmazonCodeDeploy2 Utilice un editor de texto para antildeadir la siguiente informacioacuten al archivo

codedeployonpremisesyml o confonpremisesyml recieacuten creado

---iam_session_arn iam-session-arnaws_credentials_file credentials-fileregion supported-region

Donde

bull iam-session-arn es el ARN de la sesioacuten de IAM que anotoacute en Paso 2 Generar credencialestemporales para una instancia individual medianteAWS STS (p 248)

bull credentials-file es la ubicacioacuten del archivo de credenciales del ARN de sesioacuten temporalanotado en Paso 2 Generar credenciales temporales para una instancia individual medianteAWSSTS (p 248)

bull Regiones admitidases una de las regiones admitidas por CodeDeploy tal como se indicaenRegiones y puntos de enlaceenAWSReferencia general de

Paso 4 Preparar una instancia on-premises para las implementaciones deCodeDeploy

Instalacioacuten y configuracioacuten deAWS CLI

Instale y configure la AWS CLI en la instancia on-premises (ElAWS CLIse utilizaraacute para descargar einstalar el agente de CodeDeploy en la instancia on-premises)

1 Para instalar elAWS CLIen la instancia on-premises siga las instrucciones que se indicanenConfiguracioacuten inicial de laAWS CLIen laAWS Command Line InterfaceGuiacutea del usuario de

Note

Los comandos de CodeDeploy para trabajar con instancias on-premises estaacuten disponiblesdesde la versioacuten 1719 de laAWS CLI Si ya tiene instalada una versioacuten de la AWS CLI puedellamar a aws --version para comprobar la versioacuten

2 Para configurar laAWS CLIen la instancia on-premises siga las instrucciones que se indicanenConfiguracioacuten deAWS CLIen laAWS Command Line InterfaceGuiacutea del usuario de

Important

A medida que configure laAWS CLI(por ejemplo llamando alaws configure) aseguacuterese deespecificar el ID de clave secreta y la clave de acceso secreta de un usuario de IAM que tengacomo miacutenimo los permisos que se describen enRequisitos previos de registro ARN de sesioacutende IAM (p 247)

Establecer la variable de entorno AWS_REGION (solo Ubuntu Server y RHEL)

Si no va a ejecutar Ubuntu Server o RHEL en su instancia on-premises omita este paso y vayadirectamente a laquoInstalar el agente de CodeDeployraquo

Instale el agente de CodeDeploy en una instancia on-premises de Ubuntu o RHEL y permita que lainstancia actualice el agente de CodeDeploy siempre que haya disponible una nueva versioacuten Para elloestablezca laAWS_REGIONvariable de entorno de la instancia al identificador de una de las regionesadmitidas por CodeDeploy Le recomendamos que establezca el valor en la regioacuten en la que seencuentran sus aplicaciones grupos de implementaciones y revisiones de aplicaciones de CodeDeploy

Versioacuten de API 2014-10-06250

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

(por ejemplous-west-2) Para obtener una lista de las regiones consulteRegiones y puntos de enlaceenlaAWSReferencia general de

Para establecer la variable de entorno llame al siguiente comando desde el terminal

export AWS_REGION=supported-region

Donde supported-region es el identificador de regioacuten (por ejemplo us-west-2)

Instalacioacuten del agente de CodeDeploy

bull Si se trata de una instancia on-premises de Ubuntu Server siga las instrucciones que se indicanenInstale el agente de CodeDeploy para Ubuntu Server (p 192)y a continuacioacuten vuelva a esta paacutegina

bull Si se trata de una instancia on-premises de RHEL siga las instrucciones que se indican enInstale elagente CodeDeploy para Amazon Linux o RHEL (p 191)y a continuacioacuten vuelva a esta paacutegina

bull Si se trata de una instancia on-premises de Windows Server siga las instrucciones que se indicanenInstale el agente de CodeDeploy para Windows Server (p 193)y a continuacioacuten vuelva a estapaacutegina

Paso 5 Registre la instancia on-premises con CodeDeployEn las instrucciones de este paso se da por supuesto que va a registrar la instancia on-premises desde lapropia instancia on-premises Puede registrar una instancia on-premises desde un dispositivo o instanciadiferente que tenga la AWS CLI instalada y configurada

UsarAWS CLIpara registrar la instancia on-premises con CodeDeploy de manera que pueda utilizarse enlas implementaciones

Para poder utilizar la AWS CLI necesitaraacute el ARN de las credenciales de sesioacuten temporales que ha creadoen Paso 3 Antildeada un archivo de configuracioacuten a la instancia on-premises (p 249) Por ejemplo en elcaso de una instancia que identifique como AssetTag12010298EX

arnstsiam123456789012assumed-roleCodeDeployInstanceRoleAssetTag12010298EX

Llame a lainstancias de registro en locales especificando

bull Un nombre que identifique de manera uacutenica la instancia on-premises (con la opcioacuten --instance-name)

Important

Para ayudar a identificar la instancia on-premises especialmente a efectos de depuracioacuten esabsolutamente recomendable que especifique un nombre que se corresponda con algunascaracteriacutesticas exclusivas de la instancia on-premises (por ejemplo el nombre de sesioacuten de lascredenciales de STS y el nuacutemero de serie de un identificador de recurso interno si procede)Si especifica una direccioacuten MAC como nombre debe tener en cuenta que las direcciones MACcontienen caracteres que CodeDeploy no permite como los dos puntos () Para obtener unalista de los caracteres permitidos consulte liacutemites de CodeDeploy (p 454)

bull El ARN de sesioacuten de IAM que configura para autenticar varias instancias on-premises en Paso 1 Cree elrol de IAM que asumiraacuten las instancias locales (p 247)

Por ejemplo

aws deploy register-on-premises-instance --instance-name name-of-instance --iam-session-arn arnawsstsaccount-idassumed-rolerole-to-assumesession-name

Versioacuten de API 2014-10-06251

AWS CodeDeploy Guiacutea del usuarioRegistro de una instancia on-premises

Donde

bull name-of-instance es el nombre que se utiliza para identificar la instancia on-premises como porejemplo AssetTag12010298EX

bull account-id es el ID de cuenta de 12 diacutegitos de su organizacioacuten como 111222333444bull role-to-assume es el nombre del rol de IAM que ha creado para la instancia comoCodeDeployInstanceRole

bull session-name es el nombre del rol de la sesioacuten que especificoacute en Paso 2 Generar credencialestemporales para una instancia individual medianteAWS STS (p 248)

Paso 6 Etiquetado de la instancia on-premises

Puede utilizar o bien laAWS CLIo la consola de CodeDeploy para etiquetar la instancia on-premises(CodeDeploy utiliza etiquetas de instancias on-premises para identificar los destinos de implementacioacutendurante una implementacioacuten)

Para etiquetar la instancia on-premises (CLI)

bull Llame a laComplementos a instancias on-premises especificando

bull El nombre que identifica de manera uacutenica la instancia on-premises (con la opcioacuten --instance-names)

bull El nombre de la clave de etiqueta y el valor de etiqueta de la instancia on-premises que deseautilizar (con la opcioacuten --tags) Debe especificar tanto el nombre como el valor CodeDeploy nopermite etiquetas de instancias on-premises que solo tengan valores

Por ejemplo

aws deploy add-tags-to-on-premises-instances --instance-names AssetTag12010298EX --tags Key=NameValue=CodeDeployDemo-OnPrem

Para etiquetar la instancia on-premises (consola)

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegar y elijaInstancias on-premises3 En la lista de instancias on-premises elija el nombre de la instancia on-premises que desea etiquetar4 En la lista de etiquetas seleccione o introduzca la clave y el valor que desee para la etiqueta Cuando

introduzca la clave y el valor de la etiqueta apareceraacute otra fila Puede repetir esta accioacuten para unmaacuteximo de 10 etiquetas Para quitar una etiqueta elija Remove (Quitar)

5 Despueacutes de antildeadir las etiquetas seleccione Update Tags

Paso 7 Implementar revisiones de las aplicaciones en la instancia on-premises

Ahora estaacute listo para implementar revisiones de aplicaciones en la instancia on-premises registrada yetiquetada

La implementacioacuten de revisiones de aplicaciones en instancias on-premises es similar a la implementacioacutende revisiones de aplicaciones en instancias Amazon EC2 Para obtener instrucciones consulte Cree

Versioacuten de API 2014-10-06252

AWS CodeDeploy Guiacutea del usuarioAdministracioacuten de operaciones de instancias on-premises

una implementacioacuten con CodeDeploy (p 324) Estas instrucciones incluyen un enlace a los requisitosprevios incluida la creacioacuten de una aplicacioacuten la creacioacuten de un grupo de implementaciones y lapreparacioacuten de la revisioacuten de una aplicacioacuten Si necesita una revisioacuten de una aplicacioacuten sencilla paraimplementar puede crear la que se describe en Paso 2 Creacioacuten de una revisioacuten de aplicacioacuten demuestra (p 104) en el Tutorial Implementar una aplicacioacuten en una instancia local con CodeDeploy(Windows Server Ubuntu Server o Red Hat Enterprise Linux) (p 103)

Important

Si reutiliza un rol de servicio de CodeDeploy como parte de la creacioacuten de ungrupo de implementaciones que tiene como destino instancias on-premises debeincluirTaggetalActionparte de la declaracioacuten de poliacutetica del rol de servicio Para obtener maacutesinformacioacuten consulte Paso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36)

Paso 8 Seguimiento de las implementaciones en la instancia local

Despueacutes de implementar una revisioacuten de una aplicacioacuten en instancias on-premises registradas yetiquetadas puede hacer un seguimiento del progreso de la implementacioacuten

El seguimiento de las implementaciones en instancias on-premises es similar al seguimiento de lasimplementaciones en instancias Amazon EC2 Para obtener instrucciones consulte Ver detalles deimplementacioacuten de CodeDeploy (p 340)

Administracioacuten de operaciones de instancias on-premises en CodeDeployLas instrucciones en esta seccioacuten explican coacutemo administrar operaciones en sus instancias on-premisesdespueacutes de haberlas registrado con CodeDeploy por ejemplo obtener maacutes informacioacuten acerca de dichasinstancias eliminar sus etiquetas y desinstalarlas y anular sus registros

Temasbull Obtiene informacioacuten acerca de una instancia local individual (p 253)bull Obtiene informacioacuten acerca de varias instancias on-premises (p 254)bull Eliminacioacuten manual de etiquetas de instancias on-premises de una instancia on-premises (p 255)bull Desinstale automaacuteticamente el agente de CodeDeploy y elimine el archivo de configuracioacuten de la

instancia on-premises (p 256)bull Anular registro automaacutetico de una instancia on-premises (p 256)bull Anular registro manual de una instancia on-premises (p 257)

Obtiene informacioacuten acerca de una instancia local individualEn las instrucciones de Ver detalles de implementacioacuten de CodeDeploy (p 340) se describe coacutemoobtener informacioacuten acerca de una instancia on-premises individual Puede utilizar elAWS CLIo la consolade CodeDeploy para obtener maacutes informacioacuten acerca de una instancia local individual

Para obtener informacioacuten acerca de una instancia on-premises individual (CLI)

bull Llame aget-on-premises-instance especificando el nombre que identifica la instancia on-premises deforma exclusiva con el--instance-nameopcioacuten)

aws deploy get-on-premises-instance --instance-name AssetTag12010298EX

Versioacuten de API 2014-10-06253

AWS CodeDeploy Guiacutea del usuarioAdministracioacuten de operaciones de instancias on-premises

Para obtener informacioacuten acerca de una instancia on-premises individual (consola)

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegar y elijaInstancias on-premises3 En la lista de instancias on-premises elija el nombre de una instancia on-premises para ver sus

detalles

Obtiene informacioacuten acerca de varias instancias on-premisesEn las instrucciones de Ver detalles de implementacioacuten de CodeDeploy (p 340) se describe coacutemoobtener informacioacuten acerca de instancias on-premises Puede utilizar elAWS CLIo la consola deCodeDeploy para obtener maacutes informacioacuten acerca de instancias on-premises

Para obtener informacioacuten acerca de varias instancias on-premises (CLI)

1 Para obtener una lista de nombres de instancias on-premises realice una llamada ainstancias de list-on-localcomando especificando

bull Si obtener informacioacuten acerca de todas instancias on-premises registradas o cuyos registros sehayan anulado con las opciones --registration-status y Registered o Deregisteredrespectivamente Si omite este paso se devolveraacuten tanto los nombres de instancias on-premisesregistrados como aquellos cuyos registros se hayan anulado

bull Si obtener solo informacioacuten acerca de las instancias on-premises con etiquetas especiacuteficas deinstancia on-premises con la opcioacuten --tag-filters Especifique Key Valuey Type que deberaacuteser KEY_AND_VALUE para cada etiqueta de instancia on-premises Separe las etiquetas de lasinstancias on-premises con espacios entre cada conjunto de Key Valuey Type

Por ejemplo

aws deploy list-on-premises-instances --registration-status Registered --tag-filters Key=NameValue=CodeDeployDemo-OnPremType=KEY_AND_VALUE Key=NameValue=CodeDeployDemo-OnPrem-BetaType=KEY_AND_VALUE

2 Para obtener informacioacuten maacutes detallada realice una llamada ainstancias de obtencioacuten por lotes enlocales con los nombres de las instancias on-premises (con--instance-namesopcioacuten)

aws deploy batch-get-on-premises-instances --instance-names AssetTag12010298EX AssetTag09920444EX

Para obtener informacioacuten acerca de varias instancias on-premises (consola)

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegar y elijaInstancias on-premises

Versioacuten de API 2014-10-06254

AWS CodeDeploy Guiacutea del usuarioAdministracioacuten de operaciones de instancias on-premises

Se mostraraacute Informacioacuten acerca de las instancias on-premises

Eliminacioacuten manual de etiquetas de instancias on-premises deuna instancia on-premisesPor lo general una etiqueta de instancia on-premises se elimina de dicha instancia cuando deja de usarseo en caso de querer eliminar la instancia on-premises del grupo de implementaciones que la utiliza Utilicela AWS CLI o la consola de AWS CodeDeploy para eliminar las etiquetas de las instancias locales dedichas instancias

No necesita eliminar las etiquetas de instancias on-premises desde una instancia on-premises antes anularsu registro

Eliminar las etiquetas de instancias on-premises de una instancia on-premises no anula su registro nidesinstala el agente de CodeDeploy de la instancia No elimina el archivo de configuracioacuten de la instanciani elimina el usuario de IAM asociado a la instancia

Para anular el registro de una instancia on-premises automaacuteticamente consulte Anular registro automaacuteticode una instancia on-premises (p 256)

Para anular el registro de una instancia on-premises manualmente consulte Anular registro manual de unainstancia on-premises (p 257)

Para desinstalar el agente de CodeDeploy automaacuteticamente y eliminar el archivo de configuracioacuten de lainstancia on-premises consulteDesinstale automaacuteticamente el agente de CodeDeploy y elimine el archivode configuracioacuten de la instancia on-premises (p 256)

Para desinstalar manualmente el agente de CodeDeploy de la instancia on-premisesconsulteAdministracioacuten de operaciones del agente de CodeDeploy (p 186)

Para eliminar manualmente el usuario de IAM asociado consulteEliminacioacuten de un usuario de IAMdeAWScuenta

Para eliminar etiquetas de instancias on-premises de una instancia on-premises (CLI)

bull Llame aremove-tags-from-on-premises-instances especificando

bull Los nombres que identifican de manera uacutenica las instancias on-premises con la opcioacuten --instance-names

bull Los nombres y valores de las etiquetas que desea quitar con la opcioacuten --tags

Por ejemplo

aws deploy remove-tags-from-on-premises-instances --instance-names AssetTag12010298EX --tags Key=NameValue=CodeDeployDemo-OnPrem

Para eliminar etiquetas de instancias on-premises de una instancia on-premises (consola)

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

Versioacuten de API 2014-10-06255

AWS CodeDeploy Guiacutea del usuarioAdministracioacuten de operaciones de instancias on-premises

2 En el panel de navegacioacuten expandaDesplegar y elijaInstancias on-premises3 En la lista de instancias on-premises elija el nombre de la instancia on-premises cuyas etiquetas

desea eliminar4 En la seccioacuten Tags (Etiquetas) elija Remove (Quitar) junto a cada etiqueta que desee quitar5 Despueacutes de eliminar las etiquetas seleccione Update tags

Desinstale automaacuteticamente el agente de CodeDeploy y elimineel archivo de configuracioacuten de la instancia on-premisesPor lo general si ya no tiene pensado implementar el agente de CodeDeploy lo desinstala y elimina elarchivo de configuracioacuten de la instancia on-premises

Note

Desinstalar automaacuteticamente el agente de CodeDeploy y eliminar el archivo de configuracioacuten dela instancia on-premises no cancela el registro de dicha instancia Tampoco desvincula ningunaetiqueta de instancia on-premises asociada a la instancia on-premises ni elimina el usuario deIAM asociado a la instancia on-premisesPara anular el registro de una instancia on-premises automaacuteticamente consulte Anular registroautomaacutetico de una instancia on-premises (p 256)Para anular el registro de una instancia on-premises manualmente consulte Anular registromanual de una instancia on-premises (p 257)Para desvincular etiquetas asociadas a una instancia on-premises manualmenteconsulte Eliminacioacuten manual de etiquetas de instancias on-premises de una instancia on-premises (p 255)Para desinstalar manualmente el agente de CodeDeploy de la instancia on-premisesconsulteAdministracioacuten de operaciones del agente de CodeDeploy (p 186)Para eliminar manualmente el usuario de IAM asociado consulteEliminacioacuten de un usuario deIAM deAWScuenta

Utilice la en la instancia on-premisesAWS CLIpara llamar adesinstalarcomando

Por ejemplo

aws deploy uninstall

El comando uninstall hace lo siguiente

1 Detiene la ejecucioacuten del agente de CodeDeploy en la instancia on-premises2 Desinstala el agente de CodeDeploy de la instancia on-premises3 Elimina el archivo de configuracioacuten de la instancia on-premises (Para Ubuntu Server y RHEL esto es

etccodedeploy-agentconfcodedeployonpremisesyml Para Windows Server esto esCProgramDataAmazonCodeDeployconfonpremisesyml)

Anular registro automaacutetico de una instancia on-premisesPor lo general si ya no tiene pensado implementar la instancia on-premises debe anular su registroAl anular el registro de una instancia on-premises dicha instancia deja de incluirse en cualquierimplementacioacuten incluso si forma parte de las etiquetas de instancias on-premises de un grupo deimplementaciones Puede utilizar la AWS CLI para anular el registro de las instancias on-premises

Note

No es posible utilizar la consola de CodeDeploy para cancelar el registro de una instancia on-premises Ademaacutes la anulacioacuten del registro de una instancia on-premises elimina aquellas

Versioacuten de API 2014-10-06256

AWS CodeDeploy Guiacutea del usuarioAdministracioacuten de operaciones de instancias on-premises

etiquetas que esteacuten asociadas a la instancia on-premises ni desinstala el agente de CodeDeployde la instancia on-premises ni elimina el archivo de configuracioacuten de instancia on-premises dedicha instanciaPara realizar parte de las actividades descritas en esta seccioacuten (no todas) desde la consola deCodeDeploy consulte la seccioacuten correspondiente enAnular registro manual de una instancia on-premises (p 257)Para desvincular etiquetas asociadas a una instancia on-premises manualmenteconsulte Eliminacioacuten manual de etiquetas de instancias on-premises de una instancia on-premises (p 255)Para desinstalar el agente de CodeDeploy automaacuteticamente y eliminar el archivo de configuracioacutende la instancia on-premises consulteDesinstale automaacuteticamente el agente de CodeDeploy yelimine el archivo de configuracioacuten de la instancia on-premises (p 256)Para desinstalar manualmente solo el agente de CodeDeploy de la instancia on-premisesconsulteAdministracioacuten de operaciones del agente de CodeDeploy (p 186)

UsarAWS CLIpara llamar aAnular registrocomando especificando

bull El nombre que identifica de manera uacutenica la instancia on-premises en CodeDeploy (con--instance-nameopcioacuten)

bull De manera opcional si desea eliminar el usuario de IAM asociado a la instancia on-premises Elcomportamiento predeterminado es eliminar al usuario de IAM Si no desea eliminar el usuario de IAMasociado a la instancia on-premises especifique la opcioacuten --no-delete-iam-user en el comando

bull Opcionalmente elAWSregioacuten en la que se registroacute la instancia on-premises con CodeDeploy (con--regionopcioacuten) Debe ser una de las regiones admitidas que se encuentran enRegiones y puntos deenlaceen laAWSReferencia general de(por ejemplous-west-2) Si no se especifica esta opcioacuten elvalor predeterminadoAWSSe utilizaraacute una regioacuten asociada al usuario de IAM que realiza la llamada

Ejemplo que anula el registro de una instancia y elimina al usuario

aws deploy deregister --instance-name AssetTag12010298EX --region us-west-2

Ejemplo que anula el registro de una instancia y no elimina al usuario

aws deploy deregister --instance-name AssetTag12010298EX --no-delete-iam-user --region us-west-2

El comando deregister hace lo siguiente

1 Anular el registro de la instancia on-premises con CodeDeploy2 Si se especifica elimina el usuario de IAM asociado a la instancia on-premises

Despueacutes de cancelar el registro de una instancia on-premises

bull Deja de aparecer en la consola inmediatamentebull Puede crear otra instancia con el mismo nombre inmediatamente

Si este comando encuentra alguacuten error aparece un mensaje en el que se describe coacutemo realizarmanualmente los pasos faltantes En caso contrario aparece un mensaje de confirmacioacuten en el que sedescribe coacutemo realizar una llamada al comando uninstall

Anular registro manual de una instancia on-premisesPor lo general si ya no tiene pensado implementar la instancia on-premises debe anular su registroUtilice la AWS CLI para anular el registro de instancias on-premises

Versioacuten de API 2014-10-06257

AWS CodeDeploy Guiacutea del usuarioVisualizacioacuten de los detalles de la instancia

Cancelar el registro de una instancia on-premises manualmente no desinstala el agente de CodeDeployNo elimina el archivo de configuracioacuten de la instancia ni elimina el usuario de IAM asociado a la instanciani elimina etiquetas asociadas a la instancia

Para desinstalar el agente de CodeDeploy automaacuteticamente y eliminar el archivo de configuracioacuten de lainstancia on-premises consulteDesinstale automaacuteticamente el agente de CodeDeploy y elimine el archivode configuracioacuten de la instancia on-premises (p 256)

Para desinstalar solo el agente de CodeDeploy manualmente consulteAdministracioacuten de operaciones delagente de CodeDeploy (p 186)

Para eliminar manualmente el usuario de IAM asociado consulteEliminacioacuten de un usuario de IAMdeAWScuenta

Para eliminar manualmente solo las etiquetas de instancias on-premises asociadas consulte Eliminacioacutenmanual de etiquetas de instancias on-premises de una instancia on-premises (p 255)

bull Llame aanular registro en la instancia local especificando el nombre que identifica la instancia on-premises de forma exclusiva con el--instance-nameopcioacuten)

aws deploy deregister-on-premises-instance --instance-name AssetTag12010298EX

Despueacutes de cancelar el registro de una instancia on-premises

bull Deja de aparecer en la consola inmediatamentebull Puede crear otra instancia con el mismo nombre inmediatamente

Ver los detalles de la instancia con CodeDeployPuede utilizar la consola de CodeDeploy laAWS CLIo las API de CodeDeploy para ver detalles sobre lasinstancias que se utilizan en una implementacioacuten

Para obtener maacutes informacioacuten sobre el uso de las acciones de la API de CodeDeploy para verinstanciasGetDeploymentInstanceListDeploymentInstances yListOnPremisesInstances

Temasbull Ver los detalles de la instancia (consola) (p 258)bull Visualizacioacuten de los detalles de la instancia (CLI) (p 259)

Ver los detalles de la instancia (consola)Para ver los detalles de la instancia

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicia sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizasteenIntroduccioacuten a CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary luego elijaImplementacionesNote

Si no se muestran entradas aseguacuterese de que se ha seleccionado la regioacuten correcta Enla barra de navegacioacuten en el selector de regiones elija una de las regiones enumeradas

Versioacuten de API 2014-10-06258

AWS CodeDeploy Guiacutea del usuarioVisualizacioacuten de los detalles de la instancia (CLI)

enRegiones y puntos de enlaceen laAWSReferencia general de CodeDeploy solo se admite enestas regiones

3 Para ver los detalles de la implementacioacuten elija el ID de implementacioacuten para la instancia4 Puede ver todas las instancias en la seccioacuten Instance activity (Actividad de instancia) de la paacutegina de la

implementacioacuten5 Para ver informacioacuten acerca de los eventos del ciclo de vida de la implementacioacuten individual de una

instancia en la paacutegina de detalles de la implementacioacuten en la columna Events elija View events

Note

Si se muestra Failed en cualquiera de los eventos del ciclo de vida en la paacutegina de detallesde la instancia elija View logs View in EC2 o ambas opciones Puede encontrar consejos desolucioacuten de problemas en Solucioacuten de problemas de instancias (p 472)

6 Si desea ver maacutes informacioacuten sobre una instancia de Amazon EC2 elija el ID de la instancia en laID deinstancia decolumn

Visualizacioacuten de los detalles de la instancia (CLI)Si desea utilizar la AWS CLI para ver los detalles de la instancia ejecute el comando get-deployment-instance o al comando list-deployment-instances

Para ver los detalles de una sola instancia ejecute elget-deployment-instancecomando especificando

bull El ID de implementacioacuten uacutenico Para obtener el ID de implementacioacuten ejecute elimplementaciones delistascomando

bull El ID de instancia uacutenico Para obtener el ID de instancia ejecute elinstancias de implementacioacuten-list-deployment-comando

Para ver una lista de los ID de instancias que se utilizan en una implementacioacuten ejecute elinstancias deimplementacioacuten-list-deployment-comando especificando

bull El ID de implementacioacuten uacutenico Para obtener el ID de implementacioacuten ejecute elimplementaciones delistascomando

bull Si lo prefiere puede incluir uacutenicamente los ID de instancia especiacuteficos por su estado de implementacioacuten(Si no se especifican se enumeraraacuten todos los ID de instancia coincidentes independientemente de suestado de implementacioacuten)

Estado de instancia de CodeDeployCodeDeploy monitoriza el estado de las instancias en un grupo de implementaciones Produce un erroren las implementaciones si el nuacutemero de instancias en buen estado es inferior al nuacutemero de instancias enbuen estado que se han especificado para el grupo de implementaciones durante una implementacioacuten Porejemplo si el 85 de las instancias deben estar en buen estado durante una implementacioacuten y el grupode implementaciones contiene 10 instancias toda la implementacioacuten daraacute un error aunque solo una uacutenicainstancia produzca un error Esto se debe a que cuando se desconecta una instancia para que se puedainstalar la uacuteltima revisioacuten de la aplicacioacuten el nuacutemero de instancias en buen estado ya estaacute al 90 Al haberuna instancia con error y otra instancia desconectada solo el 80 de las instancias se encuentran en buenestado y disponibles CodeDeploy produciraacute un error en toda la implementacioacuten

Es importante recordar que debe cumplirse lo siguiente para que la implementacioacuten global tenga eacutexito

bull CodeDeploy puede implementarse en cada instancia de la implementacioacuten

Versioacuten de API 2014-10-06259

AWS CodeDeploy Guiacutea del usuarioEstado

bull La implementacioacuten debe tener eacutexito en una instancia como miacutenimo Esto significa que aunque elvalor miacutenimo de hosts en buen estado sea 0 la implementacioacuten debe realizarse correctamente enuna instancia como miacutenimo (es decir al menos una instancia debe estar en buen estado) para que laimplementacioacuten global se realice correctamente

El nuacutemero miacutenimo de instancias en buen estado necesarias se define como parte de la configuracioacuten deuna implementacioacuten

Important

Durante una implementacioacuten bluegreen la configuracioacuten de la implementacioacuten y el valor miacutenimode hosts en buen estado se aplican a las instancias del entorno de sustitucioacuten y no a las delentorno original Sin embargo cuando se cancela el registro de las instancias del entorno originalen el balanceador de carga toda la implementacioacuten se marca como erroacutenea aunque solo hayauna instancia original cuyo registro no se haya podido cancelar correctamente

CodeDeploy ofrece tres configuraciones de implementacioacuten predeterminadas que tienen valores miacutenimosde hosts en buen estado usados comuacutenmente

Nombre de configuracioacuten de la implementacioacutenpredeterminada

Valor miacutenimo de hosts en buen estado predefinido

CodeDeployDefaultOneAtATime 99

CodeDeployDefaultHalfAtATime 50

CodeDeployDefaultAllAtOnce 0

Encontraraacute maacutes informacioacuten acerca de las configuraciones de implementacioacuten predeterminadas en Uso deconfiguraciones de implementacioacuten en CodeDeploy (p 264)

Puede crear configuraciones de implementacioacuten personalizadas en CodeDeploy para definir sus propiosvalores miacutenimos de hosts en buen estado Puede definir estos valores como nuacutemeros enteros o comoporcentajes mediante las siguientes operaciones

bull Comominimum-healthy-hostscuando utilizas elcreate-deployment-configcomando en elAWS CLIbull ComoValueen laMinimumHealthyHoststipo de datos en la API de CodeDeploybull Como MinimumHealthyHosts cuando utiliza AWSCodeDeployDeploymentConfig en una plantilla de

AWS CloudFormation

Temasbull Estado (p 260)bull Miacutenimo de instancias e implementaciones en buen estado (p 261)

EstadoCodeDeploy asigna dos valores de estado de mantenimiento a cada instanciaEstado de revisioacutenyestadode una instancia

Estado de revisioacuten

El estado de revisioacuten se basa en la revisioacuten de aplicacioacuten instalada actualmente en la instancia Tienelos siguientes valores de estado

Versioacuten de API 2014-10-06260

AWS CodeDeploy Guiacutea del usuarioMiacutenimo de instancias e implementaciones en buen estado

bull Current La revisioacuten instalada en la instancia coincide con la revisioacuten de la uacuteltima implementacioacutencorrecta del grupo de implementaciones

bull Antiguo La revisioacuten instalada en la instancia coincide con una versioacuten anterior de la aplicacioacutenbull Unknown La revisioacuten de la aplicacioacuten no se ha instalado correctamente en la instancia

Estado de la instancia

El estado de la instancia se basa en si las implementaciones en una instancia se han realizadocorrectamente Tiene los siguientes valoresbull Healthy La uacuteltima implementacioacuten en la instancia se realizoacute correctamentebull Unhealthy El intento de implementar una revisioacuten en la instancia dio un error o auacuten no se ha

implementado una revisioacuten en la instancia

CodeDeploy utiliza el estado de revisioacuten y el estado de la instancia para programar la implementacioacuten enlas instancias del grupo de implementaciones en el orden que se indica a continuacioacuten

1 Estado de la instancia Unhealthy2 Estado de revisioacuten Unknown3 Estado de revisioacuten Old4 Estado de revisioacuten Current

Si toda la implementacioacuten se realiza correctamente la revisioacuten se actualiza y los valores de estado delgrupo de implementaciones se actualizan para reflejar la uacuteltima implementacioacuten

bull Todas las instancias actuales que teniacutean una implementacioacuten satisfactoria siguen vigentes De locontrario pasan a tener el estado Unknown

bull Todas las instancias Old o Unknown que teniacutean una implementacioacuten satisfactoria siguen vigentes De locontrario pasan a tener el estado Old o Unknown

bull Todas las instancias Healthy que teniacutean una implementacioacuten satisfactoria siguen en buen estado De locontrario pasan a tener el estado Unhealthy

bull Todas las instancias Unhealthy que teniacutean una implementacioacuten satisfactoria pasan a tener el estadoHealthy De lo contrario permanecen con el estado Unhealthy

Si se produce un error en toda la implementacioacuten o si se detiene la implementacioacuten

bull Todas las instancias en las que CodeDeploy intentoacute implementar la revisioacuten de la aplicacioacuten tienesu propio estado de instancia establecido en Healthy o Unhealthy en funcioacuten de si el intento deimplementacioacuten para esa instancia se produjo correctamente o dio un error

bull Todas las instancias en las que CodeDeploy no intentoacute implementar la revisioacuten de la aplicacioacutenconservan su valor de estado de instancia actual

bull La revisioacuten del grupo de implementaciones sigue siendo la misma

Miacutenimo de instancias e implementaciones en buenestadoCodeDeploy permite especificar un nuacutemero miacutenimo de instancias en buen estado para la implementacioacutencon dos propoacutesitos principales

bull Para determinar si la implementacioacuten global se realizoacute correctamente o dio un error La implementacioacutense realiza correctamente si la revisioacuten de la aplicacioacuten se implementoacute satisfactoriamente en al menos elnuacutemero miacutenimo de instancias en buen estado

Versioacuten de API 2014-10-06261

AWS CodeDeploy Guiacutea del usuarioMiacutenimo de instancias e implementaciones en buen estado

bull Para determinar el nuacutemero de instancias que deben estar en buen estado durante una implementacioacutenpara que la implementacioacuten se pueda realizar correctamente

Puede especificar el nuacutemero miacutenimo de instancias en buen estado para su grupo de implementacionescomo un nuacutemero de instancias o como un porcentaje del total de instancias Si especifica un porcentaje alcomienzo de la implementacioacuten CodeDeploy convierte el porcentaje al nuacutemero equivalente de instanciasredondeando todas las fracciones de instancias

CodeDeploy realiza un seguimiento del estado de las instancias del grupo de implementaciones duranteel proceso de implementacioacuten y utiliza el nuacutemero miacutenimo de instancias en buen estado especificado enla implementacioacuten para determinar si debe continuar con la implementacioacuten El principio baacutesico es queuna implementacioacuten no debe provocar nunca que el nuacutemero de instancias en buen estado sea inferior alnuacutemero miacutenimo especificado La uacutenica excepcioacuten a esta regla es cuando un grupo de implementacionestiene inicialmente menos instancias en buen estado que el nuacutemero miacutenimo especificado En ese caso elproceso de implementacioacuten no reduce el nuacutemero de instancias en buen estado

Note

CodeDeploy intentaraacute realizar la implementacioacuten en todas las instancias de un grupo deimplementaciones incluso en aquellas que tengan actualmente el estado Stopped En el caacutelculode hosts miacutenimos en buen estado una instancia detenida tiene el mismo efecto que una instanciaerroacutenea Para resolver los errores de implementacioacuten debido a demasiadas instancias detenidasreinicie las instancias o cambie sus etiquetas para excluirlas del grupo de implementaciones

CodeDeploy comienza el proceso de implementacioacuten intentando implementar la revisioacuten de la aplicacioacutenen las instancias en mal estado del grupo de implementaciones Para cada implementacioacuten satisfactoriaCodeDeploy cambia el estado de la instancia a Healthy y la antildeade a las instancias en buen estado delgrupo de implementaciones A continuacioacuten CodeDeploy compara el nuacutemero actual de instancias en buenestado con el nuacutemero miacutenimo especificado de instancias en buen estado

bull Si el nuacutemero de instancias en buen estado es menor o igual que el nuacutemero miacutenimo especificado deinstancias en buen estado CodeDeploy cancela la implementacioacuten para garantizar que el nuacutemero deinstancias en buen estado no se reduzca con maacutes implementaciones

bull Si el nuacutemero de instancias en buen estado es mayor que el nuacutemero miacutenimo especificado de instanciasen buen estado en al menos una CodeDeploy implementa la revisioacuten de la aplicacioacuten en el conjuntooriginal de instancias en buen estado

Si una implementacioacuten en una instancia en buen estado da un error CodeDeploy cambia el estado de lainstancia a Unhealthy A medida que avanza la implementacioacuten CodeDeploy actualiza el nuacutemero actualde instancias en buen estado actual y lo compara con el nuacutemero miacutenimo especificado de instancias enbuen estado Si el nuacutemero de instancias en buen estado cae por debajo del nuacutemero miacutenimo especificadoen alguacuten momento del proceso de implementacioacuten CodeDeploy detiene la implementacioacuten De este modose impide la posibilidad de que la proacutexima implementacioacuten produzca un error haciendo que el nuacutemero deinstancias en buen estado sea inferior al nuacutemero miacutenimo especificado

Note

Aseguacuterese de que el nuacutemero miacutenimo de instancias en buen estado que especifique sea inferior alnuacutemero total de instancias del grupo de implementaciones Si especifica un valor de porcentajerecuerde que se redondearaacute De lo contrario cuando comience la implementacioacuten el nuacutemerode instancias en buen estado ya seraacute inferior o igual que el nuacutemero miacutenimo especificadode instancias en buen estado y CodeDeploy produciraacute inmediatamente un error en toda laimplementacioacuten

CodeDeploy usa tambieacuten el nuacutemero miacutenimo especificado de instancias en buen estado y el nuacutemeroreal de instancias en buen estado para determinar si y coacutemo implementar la revisioacuten de la aplicacioacutenen varias instancias De forma predeterminada CodeDeploy implementa la revisioacuten de la aplicacioacuten en

Versioacuten de API 2014-10-06262

AWS CodeDeploy Guiacutea del usuarioMiacutenimo de instancias e implementaciones en buen estado

tantas instancias como puede sin que exista el riesgo de que el nuacutemero de instancias en buen estadoespecificado caiga por debajo del nuacutemero miacutenimo especificado de instancias en buen estado Por ejemplo

bull Si su grupo de implementaciones tiene 10 instancias y establece el nuacutemero miacutenimo de instancias enbuen estado en 9 CodeDeploy realiza la implementacioacuten en una instancia cada vez

bull Si su grupo de implementaciones tiene 10 instancias y establece el nuacutemero miacutenimo de instancias enbuen estado en 0 CodeDeploy realiza la implementacioacuten en todas las instancias a la vez

Ejemplos

En los siguientes ejemplos se presupone que existe un grupo de implementaciones con 10 instancias

Miacutenimo de instancias en 95

CodeDeploy redondea el nuacutemero miacutenimo de instancias en buen estado miacutenimo a 10 instancias lo queequivale al nuacutemero de instancias en buen estado Toda la implementacioacuten produce inmediatamente unerror sin que se implemente la revisioacuten en ninguna de las instancias

Miacutenimo de instancias en 9

CodeDeploy implementa la revisioacuten en una instancia cada vez Si se produce un error deimplementacioacuten en alguna instancia CodeDeploy produce inmediatamente un error en toda laimplementacioacuten ya que el nuacutemero de instancias en buen estado es igual al nuacutemero miacutenimo deinstancias en buen estado La excepcioacuten a esta regla es que si se produce un error en la uacuteltimainstancia la implementacioacuten se realiza correctamente

CodeDeploy continuacutea la implementacioacuten una instancia cada vez hasta que se produzca un error enalguna implementacioacuten o hasta que se complete toda la implementacioacuten Si las 10 implementacionesse realizan correctamente el grupo de implementaciones tendraacute ahora 10 instancias en buen estado

Miacutenimo de instancias en 8

CodeDeploy implementa la revisioacuten en dos instancias a la vez Si dos de estas implementaciones danun error CodeDeploy produce inmediatamente un error en toda la implementacioacuten La excepcioacuten aesta regla es que si la uacuteltima instancia es la segunda instancia que da error la implementacioacuten serealiza correctamente

Miacutenimo de instancias en 0

CodeDeploy implementa la revisioacuten en todo el grupo de implementaciones a la vez La implementacioacutendebe realizarse correctamente al menos en una instancia para que la implementacioacuten global se realicecorrectamente Si hay 0 instancias en buen estado la implementacioacuten no se realiza correctamenteEsto se debe al requisito de que para considerar que una implementacioacuten global se ha realizadocorrectamente al menos una instancia debe estar en buen estado cuando finalice la implementacioacutenglobal incluso si el valor miacutenimo de instancias en buen estado es 0

Versioacuten de API 2014-10-06263

AWS CodeDeploy Guiacutea del usuarioConfiguraciones de implementacioacuten en una

plataforma de computacioacuten EC2On-Premises

Uso de configuraciones deimplementacioacuten en CodeDeploy

Una configuracioacuten de implementacioacuten es un conjunto de reglas y condiciones de eacutexito o fracaso queCodeDeploy utiliza durante una implementacioacuten Estas reglas y condiciones variacutean en funcioacuten de sila implementacioacuten se realiza en una plataforma de computacioacuten EC2On-PremisesAWSPlataformainformaacutetica Lambda o plataforma informaacutetica Amazon ECS

Configuraciones de implementacioacuten en unaplataforma de computacioacuten EC2On-Premises

Cuando se realiza la implementacioacuten en una plataforma de computacioacuten EC2On-Premises laconfiguracioacuten de implementacioacuten especifica a traveacutes de un valor miacutenimo de hosts en buen estadoel nuacutemero o porcentaje de instancias que deben estar disponibles en cualquier momento de laimplementacioacuten

Puede utilizar una de las tres configuraciones de implementacioacuten predefinidas proporcionada por AWSo bien crear una configuracioacuten de implementacioacuten personalizada Para obtener maacutes informacioacuten acercade la creacioacuten de configuraciones de implementacioacuten personalizadas consulteCreate a DeploymentConfiguration (p 269) Si no especifica una configuracioacuten de implementacioacuten CodeDeploy usaraacuteCodeDeployDefaultOneAtATime

Para obtener maacutes informacioacuten acerca de la monitorizacioacuten y evaluacioacuten que CodeDeploy hace del estadode las instancias durante la implementacioacuten consulteInstance Health (p 259) Para ver una lista de lasconfiguraciones de implementacioacuten ya registradas en su cuenta de AWS consulte View DeploymentConfiguration Details (p 270)

Configuraciones de implementacioacuten predefinidas parauna plataforma de computacioacuten EC2On-PremisesLa siguiente tabla muestra las configuraciones de implementacioacuten predefinidas

Configuracioacuten de implementacioacuten Descripcioacuten

CodeDeployDefaultAllAtOnce Implementaciones in situIntenta implementar una revisioacuten de aplicacioacuten entantas instancias a la vez como sea posible Elestado de la implementacioacuten global se muestracomo Realizado correctamente cuando la revisioacutende la aplicacioacuten se haya implementado en una omaacutes instancias El estado de la implementacioacutenglobal se muestra como Error cuando la revisioacutende la aplicacioacuten no se ha implementado enninguna instancia Tomando como ejemplonueve instancias CodeDeployDefaultAllAtOnceintenta implementar en las nueve a la vez Laimplementacioacuten global tiene eacutexito si se realiza

Versioacuten de API 2014-10-06264

AWS CodeDeploy Guiacutea del usuarioConfiguraciones de implementacioacuten predefinidas

Configuracioacuten de implementacioacuten Descripcioacutende forma correcta incluso la implementacioacuten enuna sola instancia Devuelve un error solo si seproduce un error en las implementaciones de lasnueve instancias

Implementaciones bluegreen

bull Implementacioacuten en entorno dereemplazo Sigue las mismas reglas queCodeDeployDefaultAllAtOnce para lasimplementaciones in situ

bull Redireccioacuten del traacutefico Desviacutea el traacutefico a todaslas instancias del entorno de sustitucioacuten a la vezTiene eacutexito si el traacutefico se dirige correctamente aal menos una instancia Fracasa si la redireccioacutendel traacutefico falla para todas las instancias

CodeDeployDefaultHalfAtATime Implementaciones in situ

Implementa hasta en la mitad de las instancias ala vez (redondeando a la baja) La implementacioacutenglobal tiene eacutexito si la revisioacuten de la aplicacioacutense implementa en al menos la mitad de lasinstancias (redondeando al alza) De lo contrario laimplementacioacuten produce un error En el ejemplo denueve instancias se implementa hasta en cuatroinstancias a la vez La implementacioacuten global tieneeacutexito si la implementacioacuten es correcta en cinco omaacutes instancias De lo contrario la implementacioacutenproduce un error

Implementaciones bluegreen

bull Implementacioacuten en entorno dereemplazo Sigue las mismas reglas queCodeDeployDefaultHalfAtATime para lasimplementaciones in situ

bull Redireccioacuten del traacutefico Desviacutea el traacutefico haciala mitad de las instancias del entorno desustitucioacuten cada vez Tiene eacutexito si la redireccioacutenes correcta para al menos la mitad de lasinstancias De lo contrario da un error

Versioacuten de API 2014-10-06265

AWS CodeDeploy Guiacutea del usuarioConfiguraciones de implementacioacuten predefinidas

Configuracioacuten de implementacioacuten Descripcioacuten

CodeDeployDefaultOneAtATime Implementaciones in situ

Implementa la revisioacuten de la aplicacioacuten en solo unainstancia cada vez

En el caso de grupos de implementaciones quecontengan maacutes de una instancia

bull La implementacioacuten global tiene eacutexito si larevisioacuten de la aplicacioacuten se implementa entodas las instancias La excepcioacuten a esta reglase da cuando falla la implementacioacuten en lauacuteltima instancia la implementacioacuten global sigueteniendo eacutexito Esto se debe a que con laconfiguracioacuten CodeDeployDefaultOneAtATimeCodeDeployDefaultOneAtATime

bull La implementacioacuten global fracasa si laimplementacioacuten de la revisioacuten de la aplicacioacutenfalla en cualquier instancia salvo la uacuteltima

bull En el ejemplo con nueve instancias laimplementacioacuten se hace en una instancia cadavez La implementacioacuten global tiene eacutexito si laimplementacioacuten en las primeras ocho instanciasse realiza de forma correcta La implementacioacutenglobal genera un error si la implementacioacuten enalguna de las primeras ocho instancias devuelveun error

En el caso de grupos de implementaciones quecontengan una uacutenica instancia la implementacioacutenglobal solo tiene eacutexito si la implementacioacuten en lauacutenica instancia es correcta

Implementaciones bluegreen

bull Implementacioacuten en entorno dereemplazo Sigue las mismas reglas queCodeDeployDefaultOneAtATime para lasimplementaciones in situ

bull Redireccioacuten del traacutefico Desviacutea el traacutefico a unainstancia del entorno de sustitucioacuten cada vezTiene eacutexito si el traacutefico se redirige correctamentea todas las instancias de sustitucioacuten Fracasaen cuanto la redireccioacuten falla La excepcioacuten aesta regla se da cuando no puede registrarse lauacuteltima instancia la implementacioacuten global sigueteniendo eacutexito

Versioacuten de API 2014-10-06266

AWS CodeDeploy Guiacutea del usuarioConfiguraciones de implementacioacuten en unaplataforma de computacioacuten Amazon ECS

Configuraciones de implementacioacuten en unaplataforma de computacioacuten Amazon ECS

Cuando se realiza la implementacioacuten en una plataforma de computacioacuten Amazon ECS la configuracioacuten deimplementacioacuten especifica coacutemo se desviacutea el traacutefico al conjunto de tareas de Amazon ECS actualizado dePuede cambiar el traacutefico mediante uncanariolineal o bientodo a la vezconfiguracioacuten de implementacioacutenPara obtener maacutes informacioacuten consulte Configuracioacuten de implementacioacuten (p 13)

Tambieacuten puede crear su propia configuracioacuten de implementacioacuten canary o linear Para obtener maacutesinformacioacuten consulte Create a Deployment Configuration (p 269)

Configuraciones de implementacioacuten predefinidas parauna plataforma informaacutetica de Amazon ECSLa siguiente tabla muestra las configuraciones predefinidas disponibles para implementaciones AmazonECS

Configuracioacuten de implementacioacuten Descripcioacuten

CodeDeployDefaultECSLinear10PercentEvery1MinutesDesviacutea el 10 por ciento del traacutefico cada minutohasta que se desviacutea todo el traacutefico

CodeDeployDefaultECSLinear10PercentEvery3MinutesDesviacutea el 10 por ciento del traacutefico cada tresminutos hasta que se desviacutea todo el traacutefico

CodeDeployDefaultECSCanary10Percent5Minutes Desviacutea el 10 por ciento del traacutefico en el primerincremento El 90 por ciento restante seimplementa cinco minutos maacutes tarde

CodeDeployDefaultECSCanary10Percent15Minutes Desviacutea el 10 por ciento del traacutefico en el primerincremento El 90 por ciento restante seimplementa 15 minutos maacutes tarde

CodeDeployDefaultECSAllAtOnce Desviacutea todo el traacutefico al contenedor de AmazonECS actualizado a la vez

Configuraciones de implementacioacuten paraAWSCloudFormationImplementaciones bluegreen(Amazon ECS)

Cuando se implementa en una plataforma informaacutetica de Amazon ECS a traveacutes deAWSCloudFormationImplementaciones bluegreen (azulverde) la configuracioacuten de implementacioacuten especificacoacutemo se desviacutea el traacutefico al contenedor de Amazon ECS de actualizado Puede cambiar el traacutefico medianteuncanariolineal o bientodo a la vezconfiguracioacuten de implementacioacuten Para obtener maacutes informacioacutenconsulte Configuracioacuten de implementacioacuten (p 13)

conAWS CloudFormationImplementaciones bluegreen no puede crear su propia configuracioacuten deimplementacioacuten laquocanaryraquo o laquolinearraquo personalizada Para obtener instrucciones paso a pasoAWSCloudFormationpara gestionar las implementaciones bluegreen (azulverde) de Amazon ECS

Versioacuten de API 2014-10-06267

AWS CodeDeploy Guiacutea del usuarioConfiguraciones de implementacioacuten en

unaAWS Lambdaplataforma de computacioacuten

consulteAutomatice las implementaciones laquobluegreenraquo de ECS a traveacutes de CodeDeploy usandoAWSCloudFormationen laAWS CloudFormationGuiacutea del usuario de

Note

Gestioacuten de implementaciones bluegreen (azulverde) de Amazon ECS conAWSCloudFormationNo estaacute disponible en las regiones Europa (Milaacuten) Aacutefrica (Ciudad del Cabo) yAsia-Paciacutefico (Osaka)

Configuraciones de implementacioacuten en unaAWSLambdaplataforma de computacioacuten

Cuando se despliega en unAWSPlataforma de computacioacuten Lambda la configuracioacuten de implementacioacutenespecifica el modo en que se desviacutea el traacutefico a las nuevas versiones de funciones Lambda en laaplicacioacuten Puede cambiar el traacutefico mediante uncanariolineal o bientodo a la vezconfiguracioacuten deimplementacioacuten Para obtener maacutes informacioacuten consulte Configuracioacuten de implementacioacuten (p 13)

Tambieacuten puede crear su propia configuracioacuten de implementacioacuten canary o linear Para obtener maacutesinformacioacuten consulte Create a Deployment Configuration (p 269)

Configuraciones de implementacioacuten predefinidas paraunAWS Lambdaplataforma de computacioacutenLa siguiente tabla muestra las configuraciones predefinidas disponibles para implementaciones AWSLambda

Configuracioacuten de implementacioacuten Descripcioacuten

CodeDeployDefaultLambdaCanary10Percent5MinutesDesviacutea el 10 por ciento del traacutefico en el primerincremento El 90 por ciento restante seimplementa cinco minutos maacutes tarde

CodeDeployDefaultLambdaCanary10Percent10MinutesDesviacutea el 10 por ciento del traacutefico en el primerincremento El 90 por ciento restante seimplementa 10 minutos maacutes tarde

CodeDeployDefaultLambdaCanary10Percent15MinutesDesviacutea el 10 por ciento del traacutefico en el primerincremento El 90 por ciento restante seimplementa 15 minutos maacutes tarde

CodeDeployDefaultLambdaCanary10Percent30MinutesDesviacutea el 10 por ciento del traacutefico en el primerincremento El 90 por ciento restante seimplementa 30 minutos maacutes tarde

CodeDeployDefaultLambdaLinear10PercentEvery1MinuteDesviacutea el 10 por ciento del traacutefico cada minutohasta que se desviacutea todo el traacutefico

CodeDeployDefaultLambdaLinear10PercentEvery2MinutesDesviacutea el 10 por ciento del traacutefico cada dosminutos hasta que se desviacutea todo el traacutefico

CodeDeployDefaultLambdaLinear10PercentEvery3MinutesDesviacutea el 10 por ciento del traacutefico cada tresminutos hasta que se desviacutea todo el traacutefico

CodeDeployDefaultLambdaLinear10PercentEvery10MinutesDesviacutea el 10 por ciento del traacutefico cada 10 minutoshasta que se desviacutea todo el traacutefico

Versioacuten de API 2014-10-06268

AWS CodeDeploy Guiacutea del usuarioCrear una configuracioacuten de implementacioacuten

Configuracioacuten de implementacioacuten Descripcioacuten

CodeDeployDefaultLambdaAllAtOnce Desviacutea todo el traacutefico a las funciones de Lambdaactualizadas a la vez

Temas

bull Create a Deployment Configuration (p 269)bull View Deployment Configuration Details (p 270)bull Delete a Deployment Configuration (p 271)

Crear una configuracioacuten de implementacioacuten conCodeDeploy

Puede utilizar la consola de CodeDeployAWS CLI las API de CodeDeploy o unAWSCloudFormationplantilla para crear configuraciones de implementacioacuten personalizadas

Para obtener informacioacuten sobre coacutemo utilizar una plantilla de AWS CloudFormation para crearuna configuracioacuten de implementacioacuten consulte AWS CloudFormationplantillas para referencia deCodeDeploy (p 444)

Para utilizar elAWS CLIpara crear una configuracioacuten de implementacioacuten con la ejecute lacreate-deployment-configcomando especificando

bull Un nombre que identifique de forma uniacutevoca la configuracioacuten de implementacioacuten Este nombre debeser uacutenico entre todas las configuraciones de implementacioacuten creadas con CodeDeploy asociadas asuAWSaccount

bull El nuacutemero o el porcentaje miacutenimo de instancias en buen estado que deben estar disponibles encualquier momento durante la implementacioacuten Para obtener maacutes informacioacuten consulte InstanceHealth (p 259)

En el siguiente ejemplo se crea una configuracioacuten de implementacioacuten de EC2on-premise denominadaThreeQuartersHealthy que requiere que un 75 de las instancias de destino se encuentren en buenestado durante la implementacioacuten

aws deploy create-deployment-config --deployment-config-name ThreeQuartersHealthy --minimum-healthy-hosts type=FLEET_PERCENTvalue=75

En el siguiente ejemplo se crea una deAWSLa configuracioacuten de implementacioacuten de Lambda denominadaCanary25Percent45Minutes Utiliza el cambio de traacutefico de la versioacuten Canary para desviar el 25 por cientodel traacutefico en el primer incremento El 75 por ciento restante se desviaraacute 45 minutos maacutes tarde

aws deploy create-deployment-config --deployment-config-name Canary25Percent45Minutes --traffic-routing-config type=TimeBasedCanarytimeBasedCanary=canaryPercentage=25canaryInterval=45 --compute-platform Lambda

En el siguiente ejemplo se crea una configuracioacuten de implementacioacuten de Amazon ECS denominadaCanary25Percent45Minutes Utiliza el cambio de traacutefico de la versioacuten Canary para desviar el 25 por cientodel traacutefico en el primer incremento El 75 por ciento restante se desviaraacute 45 minutos maacutes tarde

Versioacuten de API 2014-10-06269

AWS CodeDeploy Guiacutea del usuarioVer detalles de la configuracioacuten de implementacioacuten

aws deploy create-deployment-config --deployment-config-name Canary25Percent45Minutes --traffic-routing-config type=TimeBasedCanarytimeBasedCanary=canaryPercentage=25canaryInterval=45 --compute-platform ECS

Ver detalles de la configuracioacuten de implementacioacutencon CodeDeploy

Puede utilizar la consola de CodeDeploy laAWS CLI o las API de CodeDeploy para ver detalles sobrelas configuraciones de implementacioacuten asociadas a suAWSaccount Para obtener descripciones delas configuraciones de implementacioacuten de CodeDeploy predefinidas consulteConfiguraciones deimplementacioacuten predefinidas para una plataforma de computacioacuten EC2On-Premises (p 264)

Temasbull Ver detalles de la configuracioacuten de implementacioacuten (consola) (p 270)bull Visualizacioacuten de la configuracioacuten de implementacioacuten (CLI) (p 270)

Ver detalles de la configuracioacuten de implementacioacuten(consola)Para utilizar la consola de CodeDeploy para ver una lista de los nombres de configuraciones deimplementacioacuten

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacuten aCodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegar y elijaConfiguraciones de implementacioacuten

Aquiacute puede ver los nombres de las configuraciones de implementacioacuten y los criterios de cadaconfiguracioacuten de implementacioacuten

Note

Si no se muestran entradas aseguacuterese de que se ha seleccionado la regioacuten correcta Enla barra de navegacioacuten en el selector de regiones elija una de las regiones enumeradasenRegiones y puntos de enlace deen laAWSReferencia general de CodeDeploy solo escompatible con estas regiones

Visualizacioacuten de la configuracioacuten de implementacioacuten(CLI)Si desea utilizar la AWS CLI para ver los detalles de las configuraciones de implementacioacuten llame alcomando get-deployment-config o list-deployment-configs

Para ver los detalles de una uacutenica configuracioacuten de implementacioacuten llame alget-deployment-configespecificando el nombre uacutenico de la configuracioacuten de implementacioacuten

Versioacuten de API 2014-10-06270

AWS CodeDeploy Guiacutea del usuarioEliminacioacuten de una configuracioacuten de implementacioacuten

Para ver informacioacuten detallada sobre varias configuraciones de implementacioacuten llame alimplementacionesde listascomando

Eliminar una configuracioacuten de implementacioacuten conCodeDeploy

Puede utilizar elAWS CLIo las API de CodeDeploy para eliminar las configuraciones de implementacioacutenpersonalizadas asociadas a suAWSaccount No puede eliminar las configuraciones de implementacioacutenintegradas como CodeDeployDefaultAllAtOnce CodeDeployDefaultHalfAtATime yCodeDeployDefaultOneAtATime

Warning

No puede eliminar una configuracioacuten de implementacioacuten personalizadas que todaviacutea estaacute en usoSi elimina una configuracioacuten de implementacioacuten personalizada no utilizada ya no podraacute asociarlacon nuevas implementaciones y nuevos grupos de implementaciones Esta accioacuten no se puededeshacer

Para utilizar elAWS CLIpara eliminar una configuracioacuten de implementacioacuten llame aldelete-deployment-config especificando el nombre de la configuracioacuten de la implementacioacuten Para ver una lista de losnombres de las configuraciones de implementacioacuten llame allist-deployment-configscomando

El siguiente ejemplo elimina una configuracioacuten de implementacioacuten denominada ThreeQuartersHealthy

aws deploy delete-deployment-config --deployment-config-name ThreeQuartersHealthy

Versioacuten de API 2014-10-06271

AWS CodeDeploy Guiacutea del usuario

Trabajar con aplicaciones enCodeDeploy

Despueacutes de configurar las instancias pero antes de implementar una revisioacuten debe crear una aplicacioacutenen CodeDeploy Unaplicacioacutenes simplemente un nombre o contenedor que CodeDeploy utiliza paraasegurarse de que se haga referencia a la revisioacuten la configuracioacuten de implementacioacuten y el grupo deimplementaciones correctos durante la implementacioacuten

Utilice la siguiente informacioacuten de la tabla que se indica a continuacioacuten para realizar estos pasos

Plataforma de computacioacuten Escenario Informacioacuten para el pasosiguiente

EC2On-Premises Todaviacutea no he creado lasinstancias

Consulte Trabajo con instanciaspara CodeDeploy (p 207) ya continuacioacuten vuelva a estapaacutegina

EC2On-Premises He creado las instancias pero noha terminado de etiquetarlas

Consulte Tagging Instancesfor Deployments (p 209) y acontinuacioacuten vuelva a estapaacutegina

EC2On-PremisesAWSLambdayAmazon ECS

Todaviacutea no he creado unaaplicacioacuten

Consulte Crear una aplicacioacutencon CodeDeploy (p 273)

EC2On-PremisesAWSLambdayAmazon ECS

Ya he creado una aplicacioacutenpero no he creado un grupo deimplementaciones

Consulte Creacioacuten de un grupode implementaciones conCodeDeploy (p 288)

EC2On-PremisesAWSLambdayAmazon ECS

Ya he creado una aplicacioacuten y ungrupo de implementaciones perono he creado una revisioacuten de laaplicacioacuten

Consulte Uso de revisionesde aplicaciones deCodeDeploy (p 307)

EC2On-PremisesAWSLambdayAmazon ECS

Ya he creado una aplicacioacuten yun grupo de implementacionesy ya he cargado la revisioacuten demi aplicacioacuten Estoy listo para laimplementacioacuten

Consulte Cree unaimplementacioacuten conCodeDeploy (p 324)

Temasbull Crear una aplicacioacuten con CodeDeploy (p 273)bull Ver detalles de la aplicacioacuten con CodeDeploy (p 282)bull Creacioacuten de una regla de notificacioacuten (p 283)bull Cambiar el nombre de una aplicacioacuten CodeDeploy (p 285)bull Eliminar una aplicacioacuten en CodeDeploy (p 285)

Versioacuten de API 2014-10-06272

AWS CodeDeploy Guiacutea del usuarioCree una aplicacioacuten

Crear una aplicacioacuten con CodeDeployUnaplicacioacutenes simplemente un nombre o contenedor que CodeDeploy utiliza para asegurarse de que sehaga referencia a la revisioacuten la configuracioacuten de implementacioacuten y el grupo de implementaciones correctosdurante la implementacioacuten Puede utilizar la consola de CodeDeploy laAWS CLI las API de CodeDeploy ounAWS CloudFormationplantilla para crear aplicaciones

El coacutedigo o revisioacuten de la aplicacioacuten se instala en las instancias mediante un proceso llamadoimplementacioacuten CodeDeploy admite dos tipos de implementaciones

bull Implementacioacuten in situ Se detiene la aplicacioacuten de cada instancia del grupo de implementaciones seinstala la uacuteltima revisioacuten de la aplicacioacuten y se inicia y valida la nueva versioacuten de la aplicacioacuten Puedeutilizar un balanceador de carga de modo que se cancele el registro de cada instancia durante suimplementacioacuten y a continuacioacuten vuelva a ponerse en servicio una vez completada la implementacioacutenSolo las implementaciones que usan la plataforma de computacioacuten EC2On-Premises pueden utilizarimplementaciones laquoin-placeraquo Para obtener maacutes informacioacuten acerca de las implementaciones in-placeconsulte Descripcioacuten general de una implementacioacuten laquoin-placeraquo (p 8)

bull Implementacioacuten bluegreen El funcionamiento de la implementacioacuten depende de la plataforma decomputacioacuten que utilicebull Bluegreen en una plataforma de computacioacuten EC2On-Premises Las instancias de un grupo de

implementaciones (el entorno original) se sustituyen por otro conjunto de instancias (el entorno desustitucioacuten) siguiendo estos pasosbull Se aprovisionan las instancias para el entorno de sustitucioacutenbull Se instala la uacuteltima revisioacuten de la aplicacioacuten en las instancias de sustitucioacutenbull Se produce un tiempo de espera opcional para actividades tales como pruebas de aplicaciones y

verificacioacuten del sistemabull Las instancias del entorno de sustitucioacuten se registran automaacuteticamente en un balanceador de carga

de Elastic Load Balancing lo que hace que el traacutefico se redirija a ellas Las instancias del entornooriginal se anulan al registro de y se pueden terminar o seguir ejecutando para otros usos

Note

Si utiliza una plataforma informaacutetica EC2local tenga en cuenta que las implementaciones enazul y verde funcionan uacutenicamente con instancias de Amazon EC2

bull Bluegreen en unAWS Lambdao plataforma informaacutetica Amazon ECS El traacutefico se desviacutea enincrementos de acuerdo con unacanariolineal o bientodo a la vezconfiguracioacuten de implementacioacutenPara obtener maacutes informacioacuten consulte Configuracioacuten de implementacioacuten (p 13)

bull Implementaciones bluegreen (azul-verde) conAWS CloudFormation El traacutefico se desplaza de losrecursos actuales a los recursos actualizados como parte de unaAWS CloudFormationactualizacioacuten depila de Actualmente solo se admiten implementaciones de ECS bluegreen (azulverde)

Para obtener maacutes informacioacuten acerca de las implementaciones bluegreen consulte Descripcioacuten generalde una implementacioacuten laquobluegreenraquo (p 9)

Cuando utiliza la consola de CodeDeploy para crear una aplicacioacuten tambieacuten configura su primer grupo deimplementaciones al mismo tiempo Cuando utiliza la AWS CLI para crear una aplicacioacuten crea su primergrupo de implementaciones en un paso independiente

Para ver una lista de las aplicaciones ya registradas en su cuenta de AWS consulte Ver detalles de laaplicacioacuten con CodeDeploy (p 282) Para obtener informacioacuten sobre el uso de una plantilla de AWSCloudFormation para crear una aplicacioacuten consulte AWS CloudFormationplantillas para referencia deCodeDeploy (p 444)

Versioacuten de API 2014-10-06273

AWS CodeDeploy Guiacutea del usuarioCree una aplicacioacuten para una

implementacioacuten in situ (consola)

Los dos tipos de implementacioacuten no se aplican a todos los destinos En la tabla siguiente se muestra unalista de los tipos de implementacioacuten que funcionan con implementaciones en los tres tipos de destinos deimplementacioacuten

Destino de implementacioacuten In situ Azulverde

Amazon EC2 Siacute Siacute

Implementacioacuten on-premise Siacute No

Sin servidorAWSFunciones deLambda

No Siacute

Aplicaciones de Amazon ECS No Siacute

Temasbull Cree una aplicacioacuten para una implementacioacuten in situ (consola) (p 274)bull Cree una aplicacioacuten para una implementacioacuten bluegreen (consola) (p 276)bull Creacioacuten de una aplicacioacuten para una implementacioacuten de servicios de Amazon ECS (consola)

(p 279)bull Cree una aplicacioacuten para unaAWS Lambdaimplementacioacuten de funciones (consola) (p 281)bull Crear una aplicacioacuten (CLI) (p 282)

Cree una aplicacioacuten para una implementacioacuten in situ(consola)Para utilizar la consola de CodeDeploy para crear una aplicacioacuten para una implementacioacuten in situ

Warning

No siga estos pasos si

bull No ha preparado sus instancias para su uso en implementaciones de CodeDeployPara configurar sus instancias siga las instrucciones de Trabajo con instancias paraCodeDeploy (p 207) y a continuacioacuten siga los pasos de este tema

bull Desea crear una aplicacioacuten que utilice una configuracioacuten de implementacioacuten personalizadapero todaviacutea no ha creado dicha configuracioacuten de implementacioacuten Siga las instrucciones deCreate a Deployment Configuration (p 269) y a continuacioacuten siga los pasos de este tema

bull No tiene un rol de servicio que confiacutee en CodeDeploy con la confianza y los permisos miacutenimosnecesarios necesarios Para crear y configurar un rol de servicio con los permisos necesariossiga las instrucciones de Paso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36) y acontinuacioacuten vuelva a los pasos de este tema

bull Desea seleccionar un Classic Load Balancer Application Load Balancer o Network LoadBalancer en Elastic Load Balancing para la implementacioacuten in situ pero todaviacutea no lo hacreado

Para utilizar la consola de CodeDeploy para crear una aplicacioacuten para una implementacioacuten in situ

1 Inicie sesioacuten en la enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Versioacuten de API 2014-10-06274

AWS CodeDeploy Guiacutea del usuarioCree una aplicacioacuten para una

implementacioacuten in situ (consola)

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expanda Deploy (Implementar) y a continuacioacuten elija Getting started(Introduccioacuten)

3 Elija Create application4 En Application name (Nombre de la aplicacioacuten) especifique el nombre de la aplicacioacuten5 En Compute platform (Plataforma de computacioacuten) elija EC2On-Premises6 Elija Create application7 En la paacutegina de la aplicacioacuten en la pestantildea Deployment groups (Grupos de implementaciones) elija

Create deployment group (Crear grupo de implementacioacuten)8 En Deployment group name (Nombre de grupo de implementaciones) introduzca un nombre que

describa el grupo de implementaciones

Note

Si desea utilizar la misma configuracioacuten empleada en otro grupo de implementaciones(incluido el nombre del grupo de implementaciones las etiquetas los nombres de grupode Amazon EC2 Auto Scaling o ambos y la configuracioacuten de implementacioacuten) especifiqueesos valores en esta paacutegina Aunque este nuevo grupo de implementaciones y el grupo deimplementaciones existente tienen el mismo nombre CodeDeploy los trata como grupos deimplementaciones independientes porque cada uno de ellos estaacute asociado a una aplicacioacutenindependiente

9 EnRol de servicio elija una rol de servicio que conceda a CodeDeploy acceso a a la instancia dedestino

10 En Deployment type (Tipo de implementacioacuten) elija In-place (In situ)11 En Environment configuration (Configuracioacuten del entorno) seleccione una de las opciones siguientes

a Grupos de Auto Scaling de Amazon EC2 Introduzca o elija el nombre de un grupo de AmazonEC2 Auto Scaling en el que implementar su revisioacuten de la aplicacioacuten Cuando se lanzan nuevasinstancias Amazon EC2 como parte de un grupo de Amazon EC2 Auto Scaling CodeDeploypuede implementar automaacuteticamente las revisiones en las nuevas instancias Puede antildeadir hasta10 grupos de Amazon EC2 Auto Scaling a un grupo de implementaciones

b Instancias de Amazon EC2oInstancias on-premises En el navegadorClaveyValor introduzcalos valores del par clave-valor que utilizoacute para etiquetar las instancias Puede etiquetar hasta 10pares de clave-valor en un uacutenico grupo de etiquetas

i Puede utilizar comodines en laValorpara identificar todas las instancias etiquetadas endeterminados patrones por ejemplo instancias Amazon EC2 centros de costos y nombresde grupo similares etc Por ejemplo si eligeNombreen laClavecampo e introduzcaGRP-aen laValor CodeDeploy identifica todas las instancias que se ajustan a ese patroacutencomoGRP-1aGRP-2a yGRP-XYZ-a

ii El campo Value (Valor) distingue entre mayuacutesculas y minuacutesculasiii Para eliminar un par clave-valor de la lista elija Remove tag (Quitar etiqueta)

Como CodeDeploy busca instancias que coincidan con cada par clave-valor o nombre de grupode Amazon EC2 Auto Scaling especificado muestra el nuacutemero de instancias coincidentes Elija elnuacutemero para obtener maacutes informacioacuten sobre las instancias

Si desea redefinir los criterios de las instancias en las que se han realizado implementacioneselija Add tag group para crear un grupo de etiquetas Puede crear un maacuteximo de tres grupos deetiquetas con hasta diez pares de clave-valor cada uno Cuando utiliza varios grupos de etiquetas

Versioacuten de API 2014-10-06275

AWS CodeDeploy Guiacutea del usuarioCree una aplicacioacuten para una

implementacioacuten bluegreen (consola)

en un grupo de implementaciones solo las instancias identificadas por todos los grupos deetiquetas se incluyen en el grupo de implementaciones Esto significa una instancia debe coincidircon al menos una de las etiquetas de cada uno de los grupos que se deben incluir en el grupo deimplementaciones

Para obtener informacioacuten sobre el uso de grupos de etiquetas para redefinir el grupo deimplementaciones consulte Tagging Instances for Deployments (p 209)

12 En Deployment settings (Configuracioacuten de la implementacioacuten) elija una configuracioacuten deimplementacioacuten para controlar la velocidad en que la aplicacioacuten se implementa en las instancias porejemplo una a una o todas a la vez Para obtener maacutes informacioacuten acerca de las configuraciones deimplementacioacuten consulte Uso de configuraciones de implementacioacuten en CodeDeploy (p 264)

13 (Opcional) EnBalanceador de carga seleccioneHabilitar balancing de cargay a continuacioacuten elija unClassic Load Balancer Application Load Balancer o Network Load Balancer (Balanceador de carga dered) para administrar el traacutefico a las instancias durante los procesos de implementacioacuten

El registro de cada instancia se anula desde el balanceador de carga (Classic Load Balancers) ogrupo de destino (Balanceadores de carga de aplicacioacuten y Balanceadores de carga de red) para evitarque el traacutefico se direccione a ella durante la implementacioacuten La instancia se vuelve a registrar cuandola implementacioacuten se haya completado

Para obtener maacutes informacioacuten sobre los balanceadores de carga de las implementaciones deCodeDeploy consulteIntegrating CodeDeploy with Elastic Load Balancing (p 57)

14 (Opcional) ExpandaAvanzadoy configure las opciones que desea incluir en la implementacioacutenpor ejemplo disparadores de notificaciones de Amazon SNS alarmas de Amazon CloudWatch orestauraciones automaacuteticas

Para obtener maacutes informacioacuten consulte Configuracioacuten de las opciones avanzadas de un grupo deimplementaciones (p 303)

15 Elija Create deployment group

El siguiente paso consiste en preparar una revisioacuten para implementar en la aplicacioacuten y el grupode implementaciones Para obtener instrucciones consulte Uso de revisiones de aplicaciones deCodeDeploy (p 307)

Cree una aplicacioacuten para una implementacioacuten bluegreen (consola)Para utilizar la consola de CodeDeploy para crear una aplicacioacuten para una implementacioacuten bluegreen

Note

Despliegue en elAWSLa plataforma de computacioacuten Lambda es siempre una implementacioacutenbluegreen No especifique una opcioacuten de tipo de implementacioacuten

Warning

No siga estos pasos si

bull No tiene instancias con el agente de CodeDeploy instalado que desea sustituir durante elproceso de implementacioacuten bluegreen Para configurar sus instancias siga las instruccionesde Trabajo con instancias para CodeDeploy (p 207) y a continuacioacuten siga los pasos de estetema

bull Desea crear una aplicacioacuten que utilice una configuracioacuten de implementacioacuten personalizadapero todaviacutea no ha creado dicha configuracioacuten de implementacioacuten Siga las instrucciones deCreate a Deployment Configuration (p 269) y a continuacioacuten siga los pasos de este tema

Versioacuten de API 2014-10-06276

AWS CodeDeploy Guiacutea del usuarioCree una aplicacioacuten para una

implementacioacuten bluegreen (consola)

bull No tiene un rol de servicio que confiacutee en CodeDeploy como miacutenimo con la confianza y lospermisos que se describen enPaso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36)Para crear y configurar un rol de servicio siga las instrucciones de Paso 2 Creacioacuten de un rolde servicio para CodeDeploy (p 36) y a continuacioacuten siga los pasos de este tema

bull No ha creado un Classic Load Balancer Application Load Balancer o Network Load Balanceren Elastic Load Balancing para el registro de las instancias en su entorno de sustitucioacutenPara obtener maacutes informacioacuten consulte Configurar un equilibrador de carga en Elastic LoadBalancing para implementaciones de CodeDeploy Amazon EC2 (p 295)

1 Inicie sesioacuten en la enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expanda Deploy (Implementar) y a continuacioacuten elija Getting started(Introduccioacuten)

3 En Application name (Nombre de la aplicacioacuten) especifique el nombre de la aplicacioacuten4 En Compute platform (Plataforma de computacioacuten) elija EC2On-Premises5 Elija Create application6 En la paacutegina de la aplicacioacuten en la pestantildea Deployment groups (Grupos de implementaciones) elija

Create deployment group (Crear grupo de implementacioacuten)7 En Deployment group name (Nombre de grupo de implementaciones) introduzca un nombre que

describa el grupo de implementaciones

Note

Si desea utilizar la misma configuracioacuten empleada en otro grupo de implementaciones(incluido el nombre del grupo de implementaciones las etiquetas los nombres de grupo deAuto Scaling de Amazon EC2 y la configuracioacuten de implementacioacuten) elija esos valores enesta paacutegina Aunque este nuevo grupo de implementaciones y el grupo de implementacionesexistente tienen el mismo nombre CodeDeploy los trata como grupos de implementacionesindependientes porque cada uno de ellos estaacute asociado a una aplicacioacuten independiente

8 EnRol de servicio elija una rol de servicio que conceda a CodeDeploy acceso a a la instancia dedestino

9 En Deployment type (Tipo de implementacioacuten) elija Bluegreen10 En Environment configuration elija el meacutetodo que desea utilizar para proporcionar instancias para su

entorno de sustitucioacuten

a Copiar automaacuteticamente el grupo de Amazon EC2 Auto Scaling CodeDeploy crea un grupo deAmazon EC2 Auto Scaling al copiar uno que haya especificado

b Aprovisionar instancias manualmente No especifica las instancias de su entorno de sustitucioacutenhasta que crea una implementacioacuten de Debe crear las instancias antes de empezar laimplementacioacuten En su lugar en este caso debe especificar las instancias que desea sustituir

11 En funcioacuten de su eleccioacuten en el paso 10 lleve a cabo alguna de las siguientes operaciones

bull Si eligioacuteCopiar automaacuteticamente el grupo de Amazon EC2 Auto Scaling EnGrupo de AmazonEC2 Auto Scaling elija o introduzca el nombre del grupo Auto Scaling de Amazon EC2 que deseautilizar como plantilla para el grupo Amazon EC2 Auto Scaling para las instancias del entorno dereemplazo El nuacutemero de instancias actualmente en buen estado en buen estado en el grupo deAmazon EC2 Auto Scaling que elija se crea en su entorno de sustitucioacuten

bull Si eligioacuteAprovisionar instancias manualmente HabilitarGrupos de Auto Scaling de AmazonEC2Instancias de Amazon EC2o ambos para especificar instancias que se van a agregar a este

Versioacuten de API 2014-10-06277

AWS CodeDeploy Guiacutea del usuarioCree una aplicacioacuten para una

implementacioacuten bluegreen (consola)

grupo de implementacioacuten Introduzca los valores de etiqueta de Amazon EC2 o los nombres degrupo de Amazon EC2 Auto Scaling para identificar las instancias de su entorno original (es decirlas instancias que desea sustituir o que ejecutan la revisioacuten de la aplicacioacuten actual)

12 (Opcional) EnBalanceador de carga habilitarHabilitar balancing de cargay a continuacioacuten elija unClassic Load Balancer Application Load Balancer o Network Load Balancer (Balanceador de carga dered) para administrar el traacutefico a las instancias durante los procesos de implementacioacuten

El registro de cada instancia se anula desde el balanceador de carga (Classic Load Balancers) ogrupo de destino (Balanceadores de carga de aplicacioacuten y Balanceadores de carga de red) para evitarque el traacutefico se direccione a ella durante la implementacioacuten La instancia se vuelve a registrar cuandola implementacioacuten se haya completado

Para obtener maacutes informacioacuten sobre los balanceadores de carga de las implementaciones deCodeDeploy consulteIntegrating CodeDeploy with Elastic Load Balancing (p 57)

13 En Deployment settings revise las opciones predeterminadas para redirigir el traacutefico al entorno desustitucioacuten queacute configuracioacuten de implementacioacuten desea utilizar para la implementacioacuten y coacutemo segestionan las instancias en el entorno original despueacutes de la implementacioacuten

Si desea cambiar la configuracioacuten continuacutee con el paso siguiente De lo contrario vaya al paso 1514 Para cambiar la configuracioacuten de la implementacioacuten bluegreen cambie cualquiera de los siguientes

ajustes

Opcioacuten Opciones

Traffic rerouting (Nuevo enrutamiento del traacutefico) bull Redirigir el traacutefico de forma inmediata Tanpronto como se aprovisionan las instancias delentorno de sustitucioacuten y se instala en ellas lauacuteltima revisioacuten de la aplicacioacuten se registranautomaacuteticamente en el balanceador de cargalo que hace que el traacutefico se redirija a ellasSe anula el registro de las instancias en elentorno original

bull Voy a elegir si redirigir el traacutefico Las instanciasdel entorno de sustitucioacuten no se registranautomaacuteticamente en el balanceador decarga de a menos que redirija el traacuteficomanualmente Si se agota el tiempo de esperaespecificado sin que se redirija el traacuteficoel estado de la implementacioacuten cambia aStopped

Configuracioacuten de implementacioacuten Elija el modo en que las instancias del entornode sustitucioacuten se registran en el balanceador decarga por ejemplo una a una o todas a la vez

Note

Una vez que el traacutefico se dirige alentorno de sustitucioacuten de formasatisfactoria se anula el registro detodas las instancias del entorno originala la vez independientemente de laconfiguracioacuten de implementacioacuten quehaya seleccionado

Versioacuten de API 2014-10-06278

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de una aplicacioacuten para una implementacioacuten

de servicios de Amazon ECS (consola)

Opcioacuten OpcionesPara obtener maacutes informacioacuten consulte Usode configuraciones de implementacioacuten enCodeDeploy (p 264)

Original instances (Instancias originales) bull Finalizacioacuten de las instancias originales delgrupo de implementacioacuten Una vez que eltraacutefico se redirige al entorno de sustitucioacutenlas instancias cuyo registro se anuloacute en elbalanceador de carga se terminan tras elperiodo de espera especificado

bull Mantener en ejecucioacuten las instanciasoriginales del grupo de implementacioacuten Unavez que el traacutefico se redirige al entorno desustitucioacuten las instancias cuyo registro seanuloacute en el balanceador de carga se siguenejecutando

15 (Opcional) EnAvanzado configure las opciones que desea incluir en la implementacioacuten por ejemplodisparadores de notificaciones de Amazon SNS alarmas de Amazon CloudWatch o restauracionesautomaacuteticas

Para obtener informacioacuten acerca de coacutemo especificar opciones avanzadas en grupos deimplementaciones consulte Configuracioacuten de las opciones avanzadas de un grupo deimplementaciones (p 303)

16 Elija Create deployment group

El siguiente paso consiste en preparar una revisioacuten para implementar en la aplicacioacuten y el grupode implementaciones Para obtener instrucciones consulte Uso de revisiones de aplicaciones deCodeDeploy (p 307)

Creacioacuten de una aplicacioacuten para una implementacioacutende servicios de Amazon ECS (consola)Puede utilizar la consola de CodeDeploy para crear una aplicacioacuten para una implementacioacuten de servicioECS de Amazon

1 Inicie sesioacuten en la enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegar y elijaIntroduccioacuten3 En la paacutegina Create application (Crear aplicacioacuten) elija Use CodeDeploy (Utilizar CodeDeploy)4 En Application name (Nombre de la aplicacioacuten) especifique el nombre de la aplicacioacuten5 DesdePlataforma de computacioacuten eligeAmazon ECS6 Elija Create application7 En la paacutegina de la aplicacioacuten en la pestantildea Deployment groups (Grupos de implementaciones) elija

Create deployment group (Crear grupo de implementacioacuten) Para obtener maacutes informacioacuten sobrelo que necesita para crear un grupo de implementacioacuten para una implementacioacuten de Amazon ECSconsulteAntes de iniciar una implementacioacuten de Amazon ECS (p 19)

Versioacuten de API 2014-10-06279

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de una aplicacioacuten para una implementacioacuten

de servicios de Amazon ECS (consola)

8 En Deployment group name (Nombre de grupo de implementaciones) introduzca un nombre quedescriba el grupo de implementaciones

Note

Si desea utilizar la misma configuracioacuten empleada en otro grupo de implementaciones(incluido el nombre del grupo de implementaciones y la configuracioacuten de implementacioacuten)elija esos valores en esta paacutegina Aunque este nuevo grupo y el grupo existente podriacutean tenerel mismo nombre CodeDeploy los trata como grupos de implementaciones independientesporque cada uno de ellos estaacute asociado a una aplicacioacuten independiente

9 EnRol de servicio elija un rol de servicio que conceda acceso a CodeDeploy a Amazon ECS Paraobtener maacutes informacioacuten consulte Paso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36)

10 DesdeLoad balancer name (Nombre del balanceador de carga) elija el nombre del balanceador decarga que sirve el traacutefico a su servicio ECS de Amazon

11 DesdePuerto de agente de escucha de produccioacuten elija el puerto y el protocolo del agente de escuchaque sirve el traacutefico de produccioacuten a su servicio ECS de Amazon

12 (Opcional) DesdePuerto de agente de escucha de prueba elija el puerto y el protocolo de un agentede escucha de prueba que sirve el traacutefico a la tarea de sustitucioacuten establecida en su servicio ECS deAmazon durante la implementacioacuten Puede especificar una o maacutes funciones de Lambda en el archivode AppSpec que se ejecutan durante laAfterAllowTestTrafficgancho Las funciones puedenejecutar pruebas de validacioacuten Si una prueba de validacioacuten falla se desencadena una reversioacuten deimplementacioacuten Si se superan las pruebas de validacioacuten se desencadena el siguiente enlace del ciclode vida de la implementacioacuten BeforeAllowTraffic Si no se especifica un puerto de escucha deprueba no ocurre nada durante elAfterAllowTestTrafficgancho Para obtener maacutes informacioacutenconsulte Seccioacuten hooks de AppSpec para una implementacioacuten de Amazon ECS (p 422)

13 En Target group 1 name (Nombre de grupo de destino 1) y Target group 2 name (Nombre de grupode destino 2) elija los grupos de destino utilizados para dirigir el traacutefico durante su implementacioacutenCodeDeploy vincula un grupo de destino al conjunto de tareas original de su servicio ECS de Amazony el otro a su conjunto de tareas de sustitucioacuten Para obtener maacutes informacioacuten consulteGrupos dedestino para los Application Load Balancers

14 ElegirRedirigir el traacutefico de forma inmediataoEspecificar cuaacutendo se va a redirigir el traacuteficoparadeterminar cuaacutendo redirigir el traacutefico al servicio Amazon ECS actualizado

Si eligeRedirigir el traacutefico de forma inmediata la implementacioacuten vuelve a enrutar automaacuteticamente eltraacutefico despueacutes de aprovisionar el conjunto de tareas de reemplazo

Si eligeEspecificar cuaacutendo se va a redirigir el traacuteficoy a continuacioacuten elija el nuacutemero de diacuteashoras y minutos que debe esperar despueacutes de aprovisionar correctamente el conjunto de tareas dereemplazo Durante este tiempo de espera se ejecutan las pruebas de validacioacuten de las funcionesLambda especificadas en el archivo AppSpec Si el tiempo de espera caduca antes de que se vuelva aenrutar el traacutefico el estado de la implementacioacuten cambia aStopped

15 ParaTerminacioacuten de revisioacuten original elija el nuacutemero de diacuteas horas y minutos que deben esperardespueacutes de que se haya realizado correctamente la implementacioacuten antes de que finalice el conjuntode tareas original de su servicio Amazon ECS

16 (Opcional) EnAvanzado configure las opciones que desea incluir en la implementacioacuten por ejemplodisparadores de notificaciones de Amazon SNS alarmas de Amazon CloudWatch o restauracionesautomaacuteticas

Para obtener maacutes informacioacuten consulte Configuracioacuten de las opciones avanzadas de un grupo deimplementaciones (p 303)

Versioacuten de API 2014-10-06280

AWS CodeDeploy Guiacutea del usuarioCree una aplicacioacuten para unaAWS

Lambdaimplementacioacuten de funciones (consola)

Cree una aplicacioacuten para unaAWSLambdaimplementacioacuten de funciones (consola)Puede utilizar la consola de CodeDeploy para crear una aplicacioacuten para unaAWS Lambdadespliegue defunciones

1 Inicie sesioacuten en la enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegar y elijaIntroduccioacuten3 En la paacutegina Create application (Crear aplicacioacuten) elija Use CodeDeploy (Utilizar CodeDeploy)4 Especifique el nombre de la aplicacioacuten en Application name (Nombre de la aplicacioacuten)5 En Compute platform (Plataforma de computacioacuten) elija AWS Lambda6 Elija Create application7 En la paacutegina de la aplicacioacuten en la pestantildea Deployment groups (Grupos de implementaciones) elija

Create deployment group (Crear grupo de implementacioacuten)8 En Deployment group name (Nombre de grupo de implementaciones) introduzca un nombre que

describa el grupo de implementaciones

Note

Si desea utilizar la misma configuracioacuten empleada en otro grupo de implementaciones(incluido el nombre del grupo de implementaciones y la configuracioacuten de implementacioacuten)elija esos valores en esta paacutegina Aunque este nuevo grupo de implementaciones y el grupode implementaciones existente podriacutean tener el mismo nombre CodeDeploy los trata comogrupos de implementaciones independientes porque cada uno de ellos estaacute asociado a unaaplicacioacuten independiente

9 EnRol de servicio elija un rol de servicio que conceda acceso a CodeDeploy aAWS Lambda Paraobtener maacutes informacioacuten consulte Paso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36)

10 Si desea utilizar una configuracioacuten de implementacioacuten predefinida elija una en Deploymentconfiguration (Configuracioacuten de implementacioacuten) y a continuacioacuten vaya al paso 12 Para crear unaconfiguracioacuten personalizada continuacutee al paso siguiente

Para obtener maacutes informacioacuten acerca de las configuraciones de implementacioacuten consulte Configuraciones de implementacioacuten en unaAWS Lambdaplataforma de computacioacuten (p 268)

11 Para crear una configuracioacuten personalizada elija Create deployment configuration (Crearconfiguracioacuten de implementacioacuten) y a continuacioacuten haga lo siguiente

a En Deployment configuration name (Nombre de la configuracioacuten de implementacioacuten) introduzcaun nombre para la configuracioacuten

b En Type (Tipo) elija un tipo de configuracioacuten Si elige Canary el traacutefico se desviacutea en dosincrementos Si elige Linear el traacutefico se desviacutea en incrementos iguales con el mismo nuacutemero deminutos entre incrementos

c En Step introduzca el porcentaje de traacutefico comprendido entre 1 y 99 que se debe desviar Siel tipo de configuracioacuten es Canary este es el porcentaje de traacutefico que se desviacutea en el primerincremento El traacutefico restante se desviacutea despueacutes del intervalo seleccionado en el segundoincremento Si el tipo de configuracioacuten es Linear este es el porcentaje de traacutefico que se desviacutea alcomienzo de cada intervalo

Versioacuten de API 2014-10-06281

AWS CodeDeploy Guiacutea del usuarioCrear una aplicacioacuten (CLI)

d En Interval (Intervalo) introduzca el nuacutemero de minutos Si el tipo de configuracioacuten es Canaryeste es el nuacutemero de minutos entre el primer y el segundo desviacuteo de traacutefico Si el tipo deconfiguracioacuten es Linear (Lineal) este es el nuacutemero de minutos entre cada desviacuteo incremental

Note

La duracioacuten maacutexima de una implementacioacuten de AWS Lambda es de dos diacuteas o 2 880minutos Por lo tanto el valor maacuteximo especificado para Interval en una configuracioacutenldquocanaryrdquo es de 2 800 minutos EL valor maacuteximo para una configuracioacuten ldquolinearrdquo dependedel valor de Step Por ejemplo si el porcentaje de incremento de un desviacuteo de traacuteficoldquolinearrdquo es del 25 hay cuatro desviacuteos de traacutefico El valor de intervalo maacuteximo es de2880 dividido entre cuatro o 720 minutos

e Elija Create deployment configuration (Crear configuracioacuten de implementacioacuten)12 (Opcional) EnAvanzado configure las opciones que desea incluir en la implementacioacuten por ejemplo

disparadores de notificaciones de Amazon SNS alarmas de Amazon CloudWatch o restauracionesautomaacuteticas

Para obtener maacutes informacioacuten consulte Configuracioacuten de las opciones avanzadas de un grupo deimplementaciones (p 303)

13 Elija Create deployment group

Crear una aplicacioacuten (CLI)Para utilizar elAWS CLIpara crear una aplicacioacuten llame a lacrear aplicacioacuten especificando un nombreque represente de forma exclusiva la aplicacioacuten (En unAWScuenta de un nombre de aplicacioacuten deCodeDeploy solo puede utilizarse una vez en cada regioacuten Puede reutilizar el nombre de una aplicacioacuten endiferentes regiones)

Despueacutes de utilizar la AWS CLI para crear una aplicacioacuten el siguiente paso consiste en crear un grupo deimplementaciones que especifica las instancias en las que se implementaraacuten las revisiones Para obtenerinstrucciones consulte Creacioacuten de un grupo de implementaciones con CodeDeploy (p 288)

Despueacutes de crear el grupo de implementaciones el siguiente paso consiste en preparar una revisioacuten paraimplementar en la aplicacioacuten y el grupo de implementaciones Para obtener instrucciones consulte Uso derevisiones de aplicaciones de CodeDeploy (p 307)

Ver detalles de la aplicacioacuten con CodeDeployPuede utilizar la consola de CodeDeploy laAWS CLIo las API de CodeDeploy para ver detalles acerca detodas las aplicaciones asociadas a suAWSaccount

Temasbull Ver los detalles de la aplicacioacuten (consola) (p 282)bull Ver los detalles de la aplicacioacuten (CLI) (p 283)

Ver los detalles de la aplicacioacuten (consola)Para utilizar la consola de CodeDeploy para ver los detalles de la aplicacioacuten

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Versioacuten de API 2014-10-06282

AWS CodeDeploy Guiacutea del usuarioVer los detalles de la aplicacioacuten (CLI)

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacuten aCodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegar y elijaIntroduccioacuten3 Para ver informacioacuten detallada adicional acerca de la aplicacioacuten elija el nombre de la aplicacioacuten de la

lista

Ver los detalles de la aplicacioacuten (CLI)Si desea utilizar la AWS CLI para ver los detalles de las aplicaciones llame al comando get-applicationbatch-get-application o al comando list-applications

Para ver informacioacuten detallada acerca de una sola aplicacioacuten llame alget-application especificando elnombre de la aplicacioacuten

Para ver informacioacuten detallada acerca de muacuteltiples aplicaciones llame albatch-get-apps especificandomuacuteltiples nombres de aplicaciones

Para ver una lista de nombres de aplicaciones llame alaplicaciones de listacomando

Creacioacuten de una regla de notificacioacutenPuede utilizar reglas de notificacioacuten para notificar a los usuarios cuando hay cambios en las aplicacionesde implementacioacuten como eacutexitos y errores de implementacioacuten Las reglas de notificacioacuten especifican tantolos eventos como el tema de Amazon SNS que se utiliza para enviar notificaciones Para obtener maacutesinformacioacuten consulte iquestQueacute son las notificaciones

Puede utilizar la consola o la AWS CLI para crear reglas de notificacioacuten para AWS CodeDeploy

Para crear una regla de notificacioacuten (consola)

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

2 Elija Application (Aplicacioacuten) y a continuacioacuten elija una aplicacioacuten donde desea agregarnotificaciones

3 En la paacutegina de la aplicacioacuten elija Notify (Notificar) y a continuacioacuten elija Create notification rule(Crear regla de notificacioacuten) Tambieacuten puede ir a la paacutegina Settings (Configuracioacuten) para la aplicacioacuteny elegir Create notification rule (Crear regla de notificacioacuten)

4 En Notification name (Nombre de la notificacioacuten) introduzca un nombre para la regla5 En Detail type (Tipo de detalle) elija Basic (Baacutesico) si desea que solo la informacioacuten proporcionada

en Amazon EventBridge se incluya en la notificacioacuten ElegirCompletosi desea incluir la informacioacutenproporcionada en Amazon EventBridge y otra informacioacuten que CodeDeploy o el administrador denotificaciones podriacutea suministrar

Para obtener maacutes informacioacuten consulteDescripcioacuten del contenido y la seguridad de las notificaciones6 En Events that trigger notifications (Eventos que activan notificaciones) seleccione los eventos para

los que desea enviar notificaciones

Categoriacutea Eventos

Implementacioacuten Con error

Versioacuten de API 2014-10-06283

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de una regla de notificacioacuten

Categoriacutea EventosSucceeded

Started

7 En Targets (Destinos) elija Create SNS topic (Crear tema SNS)

Note

Cuando crea el tema se aplica la poliacutetica que permite a CodeDeploy publicar eventos enel tema El uso de un tema creado especiacuteficamente para las notificaciones de CodeDeploytambieacuten ayuda a garantizar que solo agregue usuarios a la lista de suscripciones para el temaque desee ver notificaciones sobre esta aplicacioacuten de implementacioacuten

Despueacutes del prefijo codestar-notifications- escriba un nombre para el tema y a continuacioacuten elijaSubmit (Enviar)

Note

Si desea utilizar un tema de Amazon SNS existente en lugar de crear uno nuevo enTargets (Destinos) elija su ARN Aseguacuterese de que el tema tiene la directiva de accesoadecuada y de que la lista de suscriptores contiene salo aquellos usuarios a los quese permite ver informacioacuten sobre la aplicacioacuten de implementacioacuten Para obtener maacutesinformacioacuten consulteConfiguracioacuten de los temas de Amazon SNS existentes para lasnotificacionesyDescripcioacuten del contenido y la seguridad de las notificaciones

8 Para terminar de crear la regla elija Submit (Enviar)9 Debe suscribir a los usuarios al tema de Amazon SNS para la regla antes de que puedan recibir

notificaciones Para obtener maacutes informacioacuten consulteSuscripcioacuten de usuarios a temas deAmazon SNS que son destinos Tambieacuten puede configurar la integracioacuten entre notificaciones yAWSChatbotpara enviar notificaciones a las salas de chat de Amazon Chime o a los canales de Slack Paraobtener maacutes informacioacuten consulteConfiguracioacuten de la integracioacuten entre notificaciones yAWS Chatbot

Para crear una regla de notificacioacuten (AWS CLI)

1 En un terminal o siacutembolo del sistema ejecute el comando create-notification rule para generar elesqueleto JSON

aws codestar-notifications create-notification-rule --generate-cli-skeleton gt rulejson

Puede asignar al archivo el nombre que desee En este ejemplo el archivo se denomina rulejson2 Abra el archivo JSON en un editor de texto sin formato y ediacutetelo para incluir el recurso los

tipos de eventos y el destino de Amazon SNS que desea para la regla En el siguiente ejemplose muestra una regla de notificacioacuten denominadaMyNotificationRulepara una aplicacioacutendenominadaMyDeploymentApplicationen unAWScuenta con el ID123456789012 Lasnotificaciones se enviacutean con el tipo de detalle completo a un tema de Amazon SNS llamadoCodestar- Notificaciones - Mi tema de notificacioacutencuando las implementaciones se realizancorrectamente

Name MyNotificationRule EventTypeIds [ codedeploy-application-deployment-succeeded ] Resource arnawscodebuildus-east-2123456789012MyDeploymentApplication Targets [

Versioacuten de API 2014-10-06284

AWS CodeDeploy Guiacutea del usuarioCambiar el nombre de una aplicacioacuten

TargetType SNS TargetAddress arnawssnsus-east-2123456789012codestar-notifications-MyNotificationTopic ] Status ENABLED DetailType FULL

Guarde el archivo3 Mediante el archivo que acaba de modificar en el terminal o liacutenea de comandos vuelva a ejecutar el

comando create-notification-rule para crear la regla de notificacioacuten

aws codestar-notifications create-notification-rule --cli-input-json filerulejson

4 Si se ejecuta correctamente el comando devuelve el ARN de la regla de notificacioacuten similar a losiguiente

Arn arnawscodestar-notificationsus-east-1123456789012notificationruledc82df7a-EXAMPLE

Cambiar el nombre de una aplicacioacuten CodeDeployPuede utilizar elAWS CLIo las API de CodeDeploy para cambiar el nombre de una aplicacioacuten

Para ver una lista de nombres de aplicaciones ejecute laAWS CLIllamar a laaplicaciones de listacomando

Para obtener maacutes informacioacuten acerca del uso de laAWS CLIpara cambiar el nombre de una aplicacioacutenconsulteaplicacioacuten de actualizacioacuten

Para obtener maacutes informacioacuten acerca del uso de las API de CodeDeploy para cambiar el nombre de unaaplicacioacuten consulteAplicacioacuten API_Update

Eliminar una aplicacioacuten en CodeDeployPuede utilizar la consola de CodeDeploy laAWS CLIo una accioacuten de API de CodeDeploy paraeliminar aplicaciones Para obtener informacioacuten sobre el uso de la accioacuten de la API de CodeDeployconsulteDeleteApplication

Warning

La eliminacioacuten de una aplicacioacuten elimina la informacioacuten sobre la aplicacioacuten del sistemaCodeDeploy incluida toda la informacioacuten del grupo de implementaciones relacionada y losdetalles de implementacioacuten La eliminacioacuten de una aplicacioacuten creada para una implementacioacutenEC2on-premises no elimina las revisiones de aplicacioacuten relacionadas de las instancias ni eliminala revisiones de los buckets de Amazon S3 La eliminacioacuten de una aplicacioacuten creada para unaimplementacioacuten EC2on-premises no termina las instancias Amazon EC2 ni cancela el registro delas instancias on-premises Esta accioacuten no se puede deshacer

Temasbull Eliminar una aplicacioacuten de (consola) (p 286)bull Eliminar una aplicacioacuten (AWS CLI) (p 286)

Versioacuten de API 2014-10-06285

AWS CodeDeploy Guiacutea del usuarioEliminar una aplicacioacuten de (consola)

Eliminar una aplicacioacuten de (consola)Para utilizar la consola de CodeDeploy para eliminar una aplicacioacuten

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones3 En la lista de aplicaciones seleccione la aplicacioacuten que desea eliminar

Aparece una paacutegina que contiene detalles sobre la aplicacioacuten4 ElegirEliminar aplicacioacutenen la parte superior derecha5 Escriba cuando se le solicitedeletepara confirmar que desea eliminar la aplicacioacuten y a continuacioacuten

seleccioneBorrar

Eliminar una aplicacioacuten (AWS CLI)Para utilizar elAWS CLIpara eliminar una aplicacioacuten realice una llamada alEliminar aplicacioacutenespecificando el nombre de la aplicacioacuten Para ver una lista de nombres de aplicaciones realice unallamada alaplicaciones de listacomando

Versioacuten de API 2014-10-06286

AWS CodeDeploy Guiacutea del usuarioGrupos de implementacioacuten en implementaciones

de plataformas informaacuteticas de Amazon ECS

Trabajar con grupos deimplementaciones en CodeDeploy

Puede especificar uno o varios grupos de implementaciones para una aplicacioacuten de CodeDeployCada implementacioacuten de aplicacioacuten utiliza uno de sus grupos de implementaciones El grupo deimplementaciones contiene los ajustes y las configuraciones utilizadas durante la implementacioacuten Lamayoriacutea de los ajustes del grupo de implementaciones dependen de la plataforma de computacioacutenutilizada por su aplicacioacuten Algunas opciones de configuracioacuten tales como restauracionesdesencadenadores y alarmas se puede configurar para grupos de implementaciones para cualquierplataforma de computacioacuten

Grupos de implementacioacuten en implementaciones deplataformas informaacuteticas de Amazon ECS

En una implementacioacuten de Amazon ECS un grupo de implementaciones especifica el servicio de AmazonECS el balanceador de carga el agente de escucha de prueba opcional y dos grupos de destino Tambieacutenespecifica cuando debe redirigirse el traacutefico al conjunto de tareas de sustitucioacuten y cuaacutendo terminar elconjunto de tareas original y la aplicacioacuten Amazon ECS despueacutes de una implementacioacuten correcta

Grupos de implementaciones enAWSLambdaimplementaciones de plataformas decomputacioacuten

En unAWSImplementacioacuten de Lambda un grupo de implementaciones define un conjunto deconfiguraciones de CodeDeploy para implementaciones futuras de unAWS Lambdafuncioacuten Por ejemploel grupo de implementaciones especifica coacutemo dirigir el traacutefico a una nueva versioacuten de una funcioacuten deLambda Tambieacuten podriacutea especificar alarmas y restauraciones Una uacutenica implementacioacuten en unAWSElgrupo de implementaciones Lambda puede invalidar una o varias configuraciones de grupo

Grupos de implementaciones en implementacionesEC2On-Premises

En una implementacioacuten EC2On-Premises un grupo de implementaciones es un conjunto de instanciasindividuales dirigidas a una implementacioacuten Un grupo de implementaciones contiene instanciasetiquetadas individualmente instancias Amazon EC2 en grupos de Amazon EC2 Auto Scaling o ambas

En una implementacioacuten local las instancias del grupo de implementaciones se actualizan con la uacuteltimarevisioacuten de la aplicacioacuten

En una implementacioacuten bluegreen (bluegreen) el traacutefico se redirige de un conjunto de instancias aotra desinstalando las instancias originales de un balanceador de carga y registrando un conjunto desustitucioacuten de instancias que suele tener instalada la uacuteltima revisioacuten de la aplicacioacuten

Versioacuten de API 2014-10-06287

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de un grupo de implementaciones

Es posible asociar maacutes de un grupo de implementaciones a una aplicacioacuten en CodeDeploy Esto permiteimplementar una revisioacuten de la aplicacioacuten en diferentes conjuntos de instancias en diferentes momentosPor ejemplo puede utilizar un grupo de implementaciones para implementar una revisioacuten de la aplicacioacutenen un conjunto de instancias etiquetadas Test en las que garantice la calidad del coacutedigo A continuacioacutenpuede realizar una verificacioacuten adicional implementando la misma revisioacuten de la aplicacioacuten en un grupode implementaciones con instancias etiquetadas como Staging Por uacuteltimo cuando todo esteacute listo paralanzar la uacuteltima aplicacioacuten y ponerla a disposicioacuten de los clientes puede implementar a un grupo deimplementaciones que incluya instancias etiquetadas como Production

Tambieacuten puede utilizar varios grupos de etiquetas para afinar auacuten maacutes los criterios para las instanciasincluidas en un grupo de implementaciones Para obtener informacioacuten consulte Tagging Instances forDeployments (p 209)

Cuando utiliza la consola de CodeDeploy para crear una aplicacioacuten tambieacuten configura su primer grupo deimplementaciones al mismo tiempo Cuando utiliza la AWS CLI para crear una aplicacioacuten crea su primergrupo de implementaciones en un paso independiente

Para ver una lista de los grupos de implementaciones que ya estaacuten asociados a su cuenta de AWSconsulte Ver detalles del grupo de implementacioacuten con CodeDeploy (p 300)

Para obtener informacioacuten sobre las etiquetas de las instancias de Amazon EC2 consulteUso de etiquetasmediante la consola Para obtener maacutes informacioacuten acerca de instancias on-premises consulte Workingwith On-Premises Instances (p 230) Para obtener informacioacuten acerca de Amazon EC2 Auto ScalingconsulteIntegracioacuten de CodeDeploy con Amazon EC2 Auto Scaling (p 53)

Temas

bull the section called ldquoCreacioacuten de un grupo de implementacionesrdquo (p 288)bull the section called ldquoVer detalles del grupo de implementacioacutenrdquo (p 300)bull the section called ldquoCambiar la configuracioacuten del grupo de implementacioacutenrdquo (p 301)bull the section called ldquoConfiguracioacuten de las opciones avanzadas de un grupo de

implementacionesrdquo (p 303)bull the section called ldquoEliminar un grupo de implementacionesrdquo (p 305)

Creacioacuten de un grupo de implementaciones conCodeDeploy

Puede utilizar la consola de CodeDeployAWS CLI las API de CodeDeploy o unAWSCloudFormationplantilla para crear grupos de implementacioacuten Para obtener maacutes informacioacuten sobre coacutemoutilizar una plantilla de AWS CloudFormation para crear un grupo de implementaciones consulte AWSCloudFormationplantillas para referencia de CodeDeploy (p 444)

Cuando utiliza la consola de CodeDeploy para crear una aplicacioacuten tambieacuten configura su primer grupo deimplementaciones al mismo tiempo Cuando utiliza la AWS CLI para crear una aplicacioacuten crea su primergrupo de implementaciones en un paso independiente

Como parte de la creacioacuten de un grupo de implementaciones debe especificar un rol de servicio Paraobtener maacutes informacioacuten consulte Paso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36)

Temasbull Crear un grupo de implementaciones para una implementacioacuten in situ (consola) (p 289)bull Crear un grupo de implementaciones para una implementacioacuten EC2On-Premises bluegreen

(consola) (p 291)bull Crear un grupo de implementacioacuten para una implementacioacuten de Amazon ECS (consola) (p 294)

Versioacuten de API 2014-10-06288

AWS CodeDeploy Guiacutea del usuarioCrear un grupo de implementaciones

para una implementacioacuten in situ (consola)

bull Configurar un equilibrador de carga en Elastic Load Balancing para implementaciones de CodeDeployAmazon EC2 (p 295)

bull Configurar un equilibrador de carga grupos de destino y listeners para implementaciones deCodeDeploy Amazon ECS (p 296)

bull Creacioacuten de un grupo de implementaciones (CLI) (p 299)

Crear un grupo de implementaciones para unaimplementacioacuten in situ (consola)Para utilizar la consola de CodeDeploy para crear un grupo de implementaciones para una implementacioacutenin situ

Warning

No siga estos pasos si

bull No ha preparado sus instancias para utilizarlas en la primera implementacioacuten de CodeDeployde una aplicacioacuten Para configurar sus instancias siga las instrucciones de Trabajo coninstancias para CodeDeploy (p 207) y a continuacioacuten siga los pasos de este tema

bull Desea crear un grupo de implementaciones que utilice una configuracioacuten de implementacioacutenpersonalizada pero todaviacutea no ha creado dicha configuracioacuten de implementacioacuten Siga lasinstrucciones de Create a Deployment Configuration (p 269) y a continuacioacuten siga los pasosde este tema

bull No dispone de un rol de servicio que confiacutee en CodeDeploy como miacutenimo con laconfianza y los permisos que se describen enPaso 2 Creacioacuten de un rol de servicio paraCodeDeploy (p 36) Para crear y configurar un rol de servicio siga las instrucciones de Paso 2Creacioacuten de un rol de servicio para CodeDeploy (p 36) y a continuacioacuten siga los pasos de estetema

bull Desea seleccionar una instancia de Classic Load Balancer Application Load Balancer oNetwork Load Balancer en Elastic Load Balancing para la implementacioacuten in situ pero todaviacuteano lo ha creado

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones3 En la paacutegina Applications elija el nombre de la aplicacioacuten para la que desea crear un grupo de

implementaciones4 En la paacutegina de la aplicacioacuten en la pestantildea Deployment groups (Grupos de implementaciones) elija

Create deployment group (Crear grupo de implementacioacuten)5 En Deployment group name (Nombre de grupo de implementaciones) introduzca un nombre que

describa el grupo de implementaciones

Note

Si desea utilizar la misma configuracioacuten empleada en otro grupo de implementaciones(incluido el nombre del grupo de implementaciones las etiquetas los nombres de grupode Amazon EC2 Auto Scaling o ambos y la configuracioacuten de implementacioacuten) especifiqueesos valores en esta paacutegina Aunque este nuevo grupo de implementaciones y el grupo deimplementaciones existente tienen el mismo nombre CodeDeploy los trata como grupos de

Versioacuten de API 2014-10-06289

AWS CodeDeploy Guiacutea del usuarioCrear un grupo de implementaciones

para una implementacioacuten in situ (consola)

implementaciones independientes porque cada uno de ellos estaacute asociado a una aplicacioacutenindependiente

6 EnRol de servicio elija un rol de servicio que conceda acceso a CodeDeploy a su instancia de destino7 En Deployment type (Tipo de implementacioacuten) elija In-place (In situ)8 En Environment configuration (Configuracioacuten del entorno) seleccione una de las opciones siguientes

a Grupos de Auto Scaling de Amazon EC2 Introduzca o elija el nombre de un grupo de AmazonEC2 Auto Scaling en el que implementar su revisioacuten de la aplicacioacuten Cuando se lanzan nuevasinstancias Amazon EC2 como parte de un grupo de Amazon EC2 Auto Scaling CodeDeploypuede implementar automaacuteticamente las revisiones en las nuevas instancias Puede antildeadir hasta10 grupos de Amazon EC2 Auto Scaling a un grupo de implementaciones

b Instancias de Amazon EC2oInstancias on-premises En el navegadorClaveyValor introduzcalos valores del par clave-valor que utilizoacute para etiquetar las instancias Puede etiquetar hasta 10pares de clave-valor en un uacutenico grupo de etiquetas

i Puede utilizar comodines enValorpara identificar todas las instancias etiquetadas endeterminados patrones por ejemplo instancias Amazon EC2 centros de costos nombresde grupo y otros elementos similares Por ejemplo si eligeNombreen laClavecampo eintroduzcaGRP-aen laValor CodeDeploy identifica todas las instancias que se ajustan a esepatroacuten comoGRP-1aGRP-2a yGRP-XYZ-a

ii El campo Value (Valor) distingue entre mayuacutesculas y minuacutesculasiii Para eliminar un par clave-valor de la lista elija el icono de eliminacioacuten

Como CodeDeploy busca instancias que coincidan con cada par clave-valor o nombre de grupode Amazon EC2 Auto Scaling muestra el nuacutemero de instancias coincidentes Para obtener maacutesinformacioacuten sobre las instancias haga clic en el nuacutemero

Si desea redefinir los criterios de las instancias en las que se han realizado implementacioneselija Add tag group para crear un grupo de etiquetas Puede crear un maacuteximo de tres grupos deetiquetas con hasta 10 pares de clave-valor cada uno Cuando utiliza varios grupos de etiquetasen un grupo de implementaciones solo las instancias identificadas por todos los grupos deetiquetas se incluyen en el grupo de implementaciones Esto significa una instancia debe coincidircon al menos una de las etiquetas de cada uno de los grupos que se deben incluir en el grupo deimplementaciones

Para obtener informacioacuten sobre el uso de grupos de etiquetas para redefinir el grupo deimplementaciones consulte Tagging Instances for Deployments (p 209)

9 EnConfiguracioacuten del agente con Systems Manager especifique coacutemo desea instalar y actualizar elagente de CodeDeploy en las instancias del grupo de implementacioacuten Para obtener maacutes informacioacutensobre el agente de CodeDeploy consulteTrabajar con el agente de CodeDeploy Para obtener maacutesinformacioacuten acerca de Systems Manager consulteiquestQueacute es Systems Manager

a Nunca Omita la configuracioacuten de la instalacioacuten de CodeDeploy con Systems Manager Lasinstancias deben tener el agente instalado para utilizarlo en implementaciones por lo tanto elijaesta opcioacuten uacutenicamente si desea instalar el agente de CodeDeploy de otra forma

b Solo una vez Systems Manager instalaraacute el agente de CodeDeploy una vez en cada instancia delgrupo de implementacioacuten

c Ahora y programa actualizaciones Systems Manager crearaacute una asociacioacuten con el Administradorde estados que instala el agente de CodeDeploy en la programacioacuten que configure Para obtenermaacutes informacioacuten acerca del Administrador de estados y las asociaciones consulte Acerca delAdministrador de estados

10 En la lista Deployment configuration (Configuracioacuten de implementacioacuten) elija una configuracioacuten deimplementacioacuten para controlar el modo en que se implementan las instancias por ejemplo una a unao todas a la vez Para obtener maacutes informacioacuten acerca de las configuraciones de implementacioacutenconsulte Uso de configuraciones de implementacioacuten en CodeDeploy (p 264)

Versioacuten de API 2014-10-06290

AWS CodeDeploy Guiacutea del usuarioCrear un grupo de implementaciones para una

implementacioacuten EC2On-Premises bluegreen (consola)

11 (Opcional) EnBalanceador de carga seleccioneActivar balanceo de cargay a continuacioacuten elijauna instancia de Classic Load Balancer Application Load Balancer o Network Load Balancer paraadministrar el traacutefico a las instancias durante los procesos de implementacioacuten

El registro de cada instancia se anula desde el balanceador de carga (Classic Load Balancers) ogrupo de destino (Balanceadores de carga de aplicaciones y balanceadores de carga de red) paraevitar que el traacutefico se direccione a ella durante la implementacioacuten La instancia se vuelve a registrarcuando la implementacioacuten se haya completado

Para obtener maacutes informacioacuten sobre los balanceadores de carga de las implementaciones deCodeDeploy consulteIntegrating CodeDeploy with Elastic Load Balancing (p 57)

12 (Opcional) ExpandaAvanzadoy configure las opciones que desea incluir en la implementacioacutenpor ejemplo disparadores de notificaciones de Amazon SNS alarmas de Amazon CloudWatch orestauraciones automaacuteticas

Para obtener maacutes informacioacuten consulte Configuracioacuten de las opciones avanzadas de un grupo deimplementaciones (p 303)

13 Elija Create deployment group

Crear un grupo de implementaciones para unaimplementacioacuten EC2On-Premises bluegreen(consola)Para utilizar la consola de CodeDeploy para crear un grupo de implementaciones para una implementacioacutenbluegreen

Warning

No siga estos pasos si

bull No dispone de instancias con el agente de CodeDeploy instalado que desea sustituir duranteel proceso de implementacioacuten bluegreen Para configurar sus instancias siga las instruccionesde Trabajo con instancias para CodeDeploy (p 207) y a continuacioacuten siga los pasos de estetema

bull Desea crear una aplicacioacuten que utilice una configuracioacuten de implementacioacuten personalizadapero todaviacutea no ha creado dicha configuracioacuten de implementacioacuten Siga las instrucciones deCreate a Deployment Configuration (p 269) y a continuacioacuten siga los pasos de este tema

bull No dispone de un rol de servicio que confiacutee en CodeDeploy como miacutenimo con laconfianza y los permisos que se describen enPaso 2 Creacioacuten de un rol de servicio paraCodeDeploy (p 36) Para crear y configurar un rol de servicio siga las instrucciones de Paso 2Creacioacuten de un rol de servicio para CodeDeploy (p 36) y a continuacioacuten siga los pasos de estetema

bull No ha creado una instancia de Classic Load Balancer o Application Load Balancer en ElasticLoad Balancing para el registro de las instancias en su entorno de sustitucioacuten Para obtenermaacutes informacioacuten consulte Configurar un equilibrador de carga en Elastic Load Balancing paraimplementaciones de CodeDeploy Amazon EC2 (p 295)

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

Versioacuten de API 2014-10-06291

AWS CodeDeploy Guiacutea del usuarioCrear un grupo de implementaciones para una

implementacioacuten EC2On-Premises bluegreen (consola)

2 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones3 En la paacutegina Applications elija el nombre de la aplicacioacuten para la que desea crear un grupo de

implementaciones4 En la paacutegina de la aplicacioacuten en la pestantildea Deployment groups (Grupos de implementaciones) elija

Create deployment group (Crear grupo de implementacioacuten)5 En Deployment group name (Nombre de grupo de implementaciones) introduzca un nombre que

describa el grupo de implementaciones

Note

Si desea utilizar la misma configuracioacuten empleada en otro grupo de implementaciones(incluido el nombre del grupo de implementaciones las etiquetas los nombres de grupo deAuto Scaling de Amazon EC2 y la configuracioacuten de implementacioacuten) elija esos valores enesta paacutegina Aunque este nuevo grupo de implementaciones y el grupo de implementacionesexistente tienen el mismo nombre CodeDeploy los trata como grupos de implementacionesindependientes porque estaacuten asociados a una aplicacioacuten independiente

6 EnRol de servicio elija un rol de servicio que conceda acceso a CodeDeploy a su instancia de destino7 En Deployment type (Tipo de implementacioacuten) elija Bluegreen8 En Environment configuration elija el meacutetodo que desea utilizar para proporcionar instancias para su

entorno de sustitucioacuten

a Automatically copy Amazon EC2 Auto Scaling CodeDeploy crea un grupo de Amazon EC2 AutoScaling copiando uno que especifique

b Aprovisionar instancias manualmente No especifica las instancias del entorno de sustitucioacutenhasta que crea una implementacioacuten Debe crear las instancias antes de empezar laimplementacioacuten En su lugar en este caso debe especificar las instancias que desea sustituir

9 EnConfiguracioacuten del agente con Systems Manager especifique coacutemo desea instalar y actualizar elagente de CodeDeploy en las instancias del grupo de implementacioacuten Para obtener maacutes informacioacutensobre el agente de CodeDeploy consulteTrabajar con el agente de CodeDeploy Para obtener maacutesinformacioacuten acerca de Systems Manager consulteiquestQueacute es Systems Manager

a Nunca Omita la configuracioacuten de la instalacioacuten de CodeDeploy con Systems Manager Lasinstancias deben tener el agente instalado para su uso en las implementaciones por lo tanto elijaesta opcioacuten uacutenicamente si desea instalar el agente CodeDeploy de de otra forma

b Solo una vez Systems Manager instalaraacute el agente de CodeDeploy una vez en cada instancia delgrupo de implementacioacuten

c Ahora y programa actualizaciones Systems Manager crearaacute una asociacioacuten con el Administradorde estados que instala el agente de CodeDeploy en la programacioacuten que configure Para obtenermaacutes informacioacuten acerca del Administrador de estados y las asociaciones consulte Acerca delAdministrador de estados

10 En funcioacuten de su eleccioacuten en el paso 8 lleve a cabo alguna de las siguientes operaciones

bull Si eligioacuteAutomatically copy Amazon EC2 Auto Scaling EnGrupo de Amazon EC2 Auto Scaling elijao introduzca el nombre del grupo Auto Scaling de Amazon EC2 que desea utilizar como plantillapara el grupo Amazon EC2 Auto Scaling creado para las instancias del entorno de reemplazoEl nuacutemero de instancias actualmente en buen estado en el grupo de Amazon EC2 Auto Scalingseleccionado se crea en su entorno de sustitucioacuten

bull Si eligioacuteAprovisionar instancias manualmente SelectGrupos de Auto Scaling de AmazonEC2Intancias de Amazon EC2 Auto Scalingo ambos para especificar instancias que se van aagregar a este grupo de implementacioacuten Introduzca los valores de etiqueta de Auto Scaling deAmazon EC2 o los nombres de grupo de Amazon EC2 Auto Scaling para identificar las instanciasde su entorno original (es decir las instancias que desea sustituir o que ejecutan la revisioacuten de laaplicacioacuten actual)

Versioacuten de API 2014-10-06292

AWS CodeDeploy Guiacutea del usuarioCrear un grupo de implementaciones para una

implementacioacuten EC2On-Premises bluegreen (consola)

11 (Opcional) EnBalanceador de carga seleccioneActivar balanceo de cargay a continuacioacuten elijauna instancia de Classic Load Balancer Application Load Balancer o Network Load Balancer paraadministrar el traacutefico a las instancias durante los procesos de implementacioacuten

El registro de cada instancia se anula desde el balanceador de carga (Classic Load Balancers) ogrupo de destino (Balanceadores de carga de aplicaciones y balanceadores de carga de red) paraevitar que el traacutefico se direccione a ella durante la implementacioacuten La instancia se vuelve a registrarcuando la implementacioacuten se haya completado

Para obtener maacutes informacioacuten sobre los balanceadores de carga de las implementaciones deCodeDeploy consulteIntegrating CodeDeploy with Elastic Load Balancing (p 57)

12 En Deployment settings revise las opciones predeterminadas para redirigir el traacutefico al entorno desustitucioacuten queacute configuracioacuten de implementacioacuten desea utilizar para la implementacioacuten y coacutemo segestionan las instancias en el entorno original despueacutes de la implementacioacuten

Si desea cambiar la configuracioacuten continuacutee con el paso siguiente De lo contrario vaya al paso 1313 Para cambiar la configuracioacuten de la implementacioacuten bluegreen elija cualquiera de los siguientes

ajustes

Opcioacuten Opciones

Traffic rerouting (Nuevo enrutamiento del traacutefico) bull Redirigir el traacutefico de forma inmediata Tanpronto como se aprovisionan las instancias delentorno de sustitucioacuten y se instala en ellas lauacuteltima revisioacuten de la aplicacioacuten se registranautomaacuteticamente en el balanceador de cargalo que hace que el traacutefico se redirija a ellasSe anula el registro de las instancias en elentorno original

bull Voy a elegir si redirigir el traacutefico Las instanciasdel entorno de sustitucioacuten no se registranautomaacuteticamente en el balanceador de cargaa menos que redirija el traacutefico manualmenteSi se agota el tiempo de espera especificadosin que se redirija el traacutefico el estado de laimplementacioacuten cambia a Stopped

Configuracioacuten de implementacioacuten Elija el modo en que las instancias del entornode sustitucioacuten se registran en el balanceador decarga por ejemplo una a una o todas a la vez

Note

Una vez que el traacutefico se dirige alentorno de sustitucioacuten de formasatisfactoria se anula el registro detodas las instancias del entorno originala la vez independientemente de laconfiguracioacuten de implementacioacuten quehaya seleccionado

Para obtener maacutes informacioacuten consulte Usode configuraciones de implementacioacuten enCodeDeploy (p 264)

Original instances (Instancias originales) bull Finalizacioacuten de las instancias originales delgrupo de implementacioacuten Una vez que el

Versioacuten de API 2014-10-06293

AWS CodeDeploy Guiacutea del usuarioCrear un grupo de implementacioacuten para unaimplementacioacuten de Amazon ECS (consola)

Opcioacuten Opcionestraacutefico se redirige al entorno de sustitucioacutenlas instancias cuyo registro se anuloacute en elbalanceador de carga se terminan tras elperiodo de espera especificado

bull Mantener en ejecucioacuten las instanciasoriginales del grupo de implementacioacutenDespueacutes de redirigir el traacutefico al entornode sustitucioacuten las instancias cuyo registrose anuloacute en el balanceador de carga semantienen en ejecucioacuten

14 (Opcional) EnAvanzado configure las opciones que desea incluir en la implementacioacuten por ejemplodisparadores de notificaciones de Amazon SNS alarmas de Amazon CloudWatch o restauracionesautomaacuteticas

Para obtener informacioacuten acerca de coacutemo especificar opciones avanzadas en grupos deimplementaciones consulte Configuracioacuten de las opciones avanzadas de un grupo deimplementaciones (p 303)

15 Elija Create deployment group

Crear un grupo de implementacioacuten para unaimplementacioacuten de Amazon ECS (consola)1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttps

consoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones3 Desde la Applications table (Tabla de aplicaciones) seleccione el nombre de la aplicacioacuten asociada al

grupo de implementaciones que desea editar4 En la paacutegina de aplicacioacuten en Deployment groups (Grupos de implementaciones) seleccione el

nombre del grupo de implementaciones que desea editar5 En la paacutegina de la aplicacioacuten en la pestantildea Deployment groups (Grupos de implementaciones) elija

Create deployment group (Crear grupo de implementacioacuten) Para obtener maacutes informacioacuten sobrelo que necesita para crear un grupo de implementacioacuten para una implementacioacuten de Amazon ECSconsulteAntes de iniciar una implementacioacuten de Amazon ECS (p 19)

6 En Deployment group name (Nombre de grupo de implementaciones) introduzca un nombre quedescriba el grupo de implementaciones

Note

Si desea utilizar la misma configuracioacuten empleada en otro grupo de implementaciones(incluido el nombre del grupo de implementaciones y la configuracioacuten de implementacioacuten)elija esos valores en esta paacutegina Aunque este nuevo grupo y el grupo existente pueden tenerel mismo nombre CodeDeploy los trata como grupos de implementaciones independientesporque cada uno de ellos estaacute asociado a una aplicacioacuten independiente

7 EnRol de servicio elija una rol de servicio que conceda acceso a CodeDeploy a Amazon ECS Paraobtener maacutes informacioacuten consulte Paso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36)

Versioacuten de API 2014-10-06294

AWS CodeDeploy Guiacutea del usuarioConfigurar un equilibrador de carga

en Elastic Load Balancing paraimplementaciones de CodeDeploy Amazon EC2

8 DesdeLoad balancer name (Nombre del balanceador de carga) elija el nombre del balanceador decarga que sirve el traacutefico a su servicio de Amazon ECS

9 DesdePuerto de agente de escucha de produccioacuten elija el puerto y el protocolo del agente de escuchaque sirve el traacutefico de produccioacuten a su servicio ECS de Amazon

10 (Opcional) DesdePuerto de agente de escucha de prueba elija el puerto y el protocolo de un agentede escucha de prueba que sirve el traacutefico a la tarea de sustitucioacuten definida en su servicio ECSde Amazon durante la implementacioacuten Puede especificar una o maacutes funciones de Lambda en elarchivo de AppSpec que se ejecutan durante laAfterAllowTestTrafficgancho Las funcionespueden ejecutar pruebas de validacioacuten Si la prueba de validacioacuten falla se activa una reversioacuten deimplementacioacuten Si se superan las pruebas de validacioacuten se desencadena el siguiente enlace del ciclode vida de la implementacioacuten BeforeAllowTraffic Si no se especifica un puerto de escucha deprueba no ocurre nada durante elAfterAllowTestTrafficgancho Para obtener maacutes informacioacutenconsulte Seccioacuten hooks de AppSpec para una implementacioacuten de Amazon ECS (p 422)

11 En Target group 1 name (Nombre de grupo de destino 1) y Target group 2 name (Nombre de grupode destino 2) elija los grupos de destino utilizados para dirigir el traacutefico durante su implementacioacutenCodeDeploy vincula un grupo de destino al conjunto de tareas original del servicio de Amazon ECSy el otro a su conjunto de tareas de sustitucioacuten Para obtener maacutes informacioacuten consulteGrupos dedestino para los Application Load Balancers

12 ElegirRedirigir el traacutefico de forma inmediataoEspecificar cuaacutendo se va a redirigir el traacuteficoparadeterminar cuaacutendo redirigir el traacutefico al servicio Amazon ECS actualizado

Si eligeRedirigir el traacutefico de forma inmediata la implementacioacuten vuelve a enrutar automaacuteticamente eltraacutefico despueacutes de aprovisionar el conjunto de tareas de reemplazo

Si eligeEspecificar cuaacutendo se va a redirigir el traacuteficoy a continuacioacuten elija el nuacutemero de diacuteashoras y minutos que debe esperar despueacutes de aprovisionar correctamente el conjunto de tareas dereemplazo Durante este tiempo de espera se ejecutan las pruebas de validacioacuten de las funcionesLambda especificadas en el archivo AppSpec Si el tiempo de espera caduca antes de que se vuelva aenrutar el traacutefico el estado de la implementacioacuten cambia aStopped

13 ParaRescisioacuten de revisioacuten original elija el nuacutemero de diacuteas horas y minutos que deben esperardespueacutes de que se haya realizado correctamente la implementacioacuten antes de que finalice el conjuntode tareas original de su servicio Amazon ECS

14 (Opcional) EnAvanzado configure las opciones que desea incluir en la implementacioacuten por ejemplodisparadores de notificaciones de Amazon SNS alarmas de Amazon CloudWatch o restauracionesautomaacuteticas

Para obtener maacutes informacioacuten consulte Configuracioacuten de las opciones avanzadas de un grupo deimplementaciones (p 303)

Configurar un equilibrador de carga en Elastic LoadBalancing para implementaciones de CodeDeployAmazon EC2Para poder ejecutar cualquier implementacioacuten bluegreen o una implementacioacuten in situ para la que deseaespecificar un balanceador de carga opcional en el grupo de implementaciones debe crear un ClassicLoad Balancer Application Load Balancer o Network Load Balancer en Elastic Load Balancing Paralas implementaciones bluegreen debe utilizar dicho balanceador de carga para registrar las instanciasque componen su entorno de sustitucioacuten Opcionalmente las instancias de su entorno original puedenregistrarse en este mismo balanceador de carga

Para configurar el Classic Load Balancer siga las instrucciones enTutorial Creacioacuten de un Classic LoadBalancerenGuiacutea del usuario para Classic Load Balancers Tenga en cuenta lo siguiente

Versioacuten de API 2014-10-06295

AWS CodeDeploy Guiacutea del usuarioConfigurar un equilibrador de cargagrupos de destino y listeners para

implementaciones de CodeDeploy Amazon ECSbull EnPaso 2 Define Load Balancer (Definir balanceador de carga) enCrear LB Inside elija la misma VPC

que seleccionoacute al crear las instanciasbull EnPaso 5 Registrar instancias EC2 con el Load Balancer seleccione las instancias que se encuentren

actualmente en su grupo de implementaciones (implementaciones in situ) o que ha designado que esteacutenen su entorno original (implementaciones bluegreen)

bull EnPaso 7 Crear y verificar su balanceador de carga anote la direccioacuten DNS del balanceador de carga

Por ejemplo si denominoacute su balanceador de carga my-load-balancer su direccioacuten DNS apareceraacuteen un formato como my-load-balancer-1234567890us-east-2elbamazonawscom

Para configurar un Application Load Balancer siga las instrucciones en uno de los siguientes temas

bull Creacioacuten de un Application Load Balancerbull Tutorial Creacioacuten de un Application Load Balancer medianteAWS CLI

Para configurar un Network Load Balancer siga las instrucciones en uno de los siguientes temas

bull Crear un balanceador de carga de redbull Tutorial Creacioacuten de un Network Load Balancer medianteAWS CLI

Para configurar el Classic Load Balancer siga las instrucciones enTutorial Creacioacuten de un Classic LoadBalancer

Configurar un equilibrador de carga grupos de destinoy listeners para implementaciones de CodeDeployAmazon ECSPara poder ejecutar una implementacioacuten con la plataforma informaacutetica Amazon ECS debe crear unApplication Load Balancer o un Network Load Balancer dos grupos de destino y uno o dos agentesde escucha En este tema se muestra coacutemo crear un Application Load Balancer Para obtener maacutesinformacioacuten consulte Antes de iniciar una implementacioacuten de Amazon ECS (p 19)

Uno de los grupos de destino dirige el traacutefico al conjunto de tareas original de la aplicacioacuten de AmazonECS El otro grupo de destino dirige el traacutefico a su conjunto de tareas de sustitucioacuten Durante laimplementacioacuten CodeDeploy crea un conjunto de tareas de sustitucioacuten y redirige el traacutefico desde elconjunto de tareas original al nuevo CodeDeploy determina queacute grupo de destino se utiliza para cadaconjunto de tareas

El balanceador de carga utiliza un agente de escucha para dirigir el traacutefico hacia los grupos de destinoEs obligatorio un agente de escucha de produccioacuten Puede especificar un agente de escucha de pruebaopcional que dirija el traacutefico hacia conjunto de tareas de sustitucioacuten mientras ejecuta las pruebas devalidacioacuten

El balanceador de carga debe utilizar una VPC con dos subredes puacuteblicas en diferentes zonas dedisponibilidad Los siguientes pasos muestran coacutemo confirmar la VPC predeterminada crear un AmazonEC2 Application Load Balancer y a continuacioacuten crear dos grupos de destino para el balanceador decarga Para obtener maacutes informacioacuten consulteGrupos de destino para los balanceadores de carga de red

Verificar la VPC predeterminada las subredes puacuteblicas y el grupode seguridadEn este tema se muestra coacutemo crear un Amazon EC2 Application Load Balancer dos grupos de destinoy dos puertos que se pueden utilizar durante una implementacioacuten de Amazon ECS Uno de los puertos

Versioacuten de API 2014-10-06296

AWS CodeDeploy Guiacutea del usuarioConfigurar un equilibrador de cargagrupos de destino y listeners para

implementaciones de CodeDeploy Amazon ECSes opcional y solo es necesario si dirige el traacutefico a un puerto de prueba para las pruebas de validacioacutendurante la implementacioacuten

1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon VPC en httpsconsoleawsamazoncomvpc

2 Compruebe la VPC predeterminada que se va a utilizar En el panel de navegacioacuten elija Your VPCs(Sus VPC) Fiacutejese en queacute VPC muestra Yes (Siacute) en la columna Default VPC (VPC predeterminada)Esta seraacute su VPC predeterminada Contiene las subredes predeterminadas que utiliza

3 Elija Subnets (Subredes) Anote los ID de subred de dos subredes que muestran Yes (Siacute) en lacolumna Default subnet (Subred predeterminada) Puede utilizar estos ID al crear el balanceador decarga

4 Elija cada subred y a continuacioacuten elija la pestantildea Description (Descripcioacuten) Compruebe que lassubredes que desea utilizar se encuentran en diferentes zonas de disponibilidad

5 Elija las subredes y a continuacioacuten elija la pestantildea Route Table (Tabla de ruteo) Para verificar quecada subred que desea utilizar es una subred puacuteblica confirme que la tabla de enrutamiento incluyeuna fila con un enlace a una gateway de Internet

6 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2

7 En el panel de navegacioacuten elija Security Groups8 Compruebe que el grupo de seguridad que desee utilizar esteacute disponible y anote su ID de grupo (por

ejemplo sg-abcd1234) Puede utilizarlo al crear el balanceador de carga

Crear un Application Load Balancer de Amazon EC2 dos gruposde destino y oyentes (consola)Para utilizar la consola de Amazon EC2 para crear un Application Load Balancer de Amazon EC2

1 Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2

2 En el panel de navegacioacuten seleccione Load Balancers3 Elija Create Load Balancer (Crear balanceador de carga)4 Elija Application Load Balancer (Balanceador de carga de aplicacioacuten) y a continuacioacuten Create (Crear)5 En Name (Nombre) especifique el nombre del balanceador de carga6 En Scheme (Esquema) elija Internet-facing (Expuesto a Internet)7 En IP address type (Tipo de direccioacuten IP) elija ipv48 Configure un segundo puerto de agente de escucha para el balanceador de carga (opcional) Puede

ejecutar pruebas de validacioacuten de implementacioacuten con el traacutefico de prueba que se ofrece a estepuerto

a En Load Balancer Protocol (Protocolo de balanceador de carga) elija Add listener (Antildeadir agentede escucha)

b En Load Balancer Protocol (Cargar protocolo de balanceador) del segundo agente de escuchaelija HTTP

c En Load Balancer Port (Puerto del balanceador de carga) escriba 80809 En Availability Zones (Zonas de disponibilidad) en VPC elija la VPC predeterminada y a

continuacioacuten seleccione las dos subredes predeterminadas que desea utilizar10 Seleccione Next (Siguiente) Configure Security Settings (Configurar configuracioacuten de seguridad)11 Seleccione Next (Siguiente) Configurar grupos de seguridad12 Elija Select an existing security group (Seleccionar un grupo de seguridad existente) despueacutes el grupo

de seguridad predeterminado y a continuacioacuten anote su ID13 Seleccione Next (Siguiente) Configuracioacuten del enrutamiento

Versioacuten de API 2014-10-06297

AWS CodeDeploy Guiacutea del usuarioConfigurar un equilibrador de cargagrupos de destino y listeners para

implementaciones de CodeDeploy Amazon ECS14 En Target group (Grupo de destino) elija New target group (Nuevo grupo de destino) y configure su

primer grupo de destino

a En Name (Nombre) introduzca un nombre de grupo de destino (por ejemplo target-group-1)b En Target type (Tipo de destino) elija IPc En Protocol (Protocolo) elija HTTP En Port (Puerto) introduzca 80d Seleccione Next (Siguiente) Registrar destinos

15 Seleccione Next (Siguiente) Review (Revisar)y despueacutesCrear

Para crear un segundo grupo de destino para el balanceador de carga

1 Despueacutes de aprovisionar el balanceador de carga abra la consola de Amazon EC2 En el panel denavegacioacuten elija Target Groups

2 Elija Create target group3 En Name (Nombre) introduzca un nombre de grupo de destino (por ejemplo target-group-2)4 En Target type (Tipo de destino) elija IP5 En Protocol (Protocolo) elija HTTP En Port (Puerto) introduzca 806 En VPC elija la VPC predeterminada7 Elija Create (Crear)

Note

Para que la implementacioacuten de Amazon ECS se ejecute debe tener dos grupos de destinocreados para el balanceador de carga Puede utilizar el ARN de uno de los grupos dedestino al crear su servicio de Amazon ECS Para obtener maacutes informacioacuten consultePaso 4Creacioacuten de un servicio de Amazon ECSen laGuiacutea del usuario de Amazon ECS

Crear un Application Load Balancer de Amazon EC2 dos gruposde destino y oyentes (CLI)Para crear un Application Load Balancer medianteAWS CLI

1 Utilice el comando create-load-balancer para crear un balanceador de carga de aplicacionesEspecifique dos subredes que no esteacuten en la misma zona de disponibilidad y un grupo de seguridad

aws elbv2 create-load-balancer --name bluegreen-alb --subnets subnet-abcd1234 subnet-abcd5678 --security-groups sg-abcd1234 --region us-east-1

El resultado contiene el nombre de recurso de Amazon (ARN) del balanceador de carga con elsiguiente formato

arnawselasticloadbalancingregionaws_account_idloadbalancerappbluegreen-albe5ba62739c16e642

2 Usarcreate-target-grouppara crear su primer grupo de destino CodeDeploy dirige el traacutefico de estegrupo de destino al conjunto de tareas original o de sustitucioacuten del servicio

aws elbv2 create-target-group --name bluegreentarget1 --protocol HTTP --port 80 --target-type ip --vpc-id vpc-abcd1234 --region us-east-1

El resultado contiene el ARN del primer grupo de destino con el siguiente formatoVersioacuten de API 2014-10-06

298

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de un grupo de implementaciones (CLI)

arnawselasticloadbalancingregionaws_account_idtargetgroupbluegreentarget1209a844cd01825a4

3 Usarcreate-target-grouppara crear el segundo grupo objetivo CodeDeploy dirige el traacutefico del grupode destino al conjunto de tareas que no sirve su primer grupo de destino Por ejemplo si su primergrupo de destino dirige el traacutefico al conjunto de tareas original este grupo de destino dirige el traacutefico alconjunto de tareas de sustitucioacuten

aws elbv2 create-target-group --name bluegreentarget2 --protocol HTTP --port 80 --target-type ip --vpc-id vpc-abcd1234 --region us-east-1

El resultado contiene el ARN del segundo grupo de destino con el siguiente formato

arnawselasticloadbalancingregionaws_account_idtargetgroupbluegreentarget2209a844cd01825a4

4 Utilice el comando create-listener para crear un agente de escucha con una regla predeterminada quereenviacutee el traacutefico de produccioacuten al puerto 80

aws elbv2 create-listener --load-balancer-arn arnawselasticloadbalancingregionaws_account_idloadbalancerappbluegreen-albe5ba62739c16e642 --protocol HTTP --port 80 --default-actions Type=forwardTargetGroupArn=arnawselasticloadbalancingregionaws_account_idtargetgroupbluegreentarget1209a844cd01825a4 --region us-east-1

El resultado incluye el ARN del agente de escucha con el siguiente formato

arnawselasticloadbalancingregionaws_account_idlistenerappbluegreen-albe5ba62739c16e642665750bec1b03bd4

5 Utilice el comando create-listener para crear un segundo agente de escucha con una reglapredeterminada que reenviacutee el traacutefico de prueba al puerto 8080 (opcional) Puede ejecutar pruebas devalidacioacuten de implementacioacuten con el traacutefico de prueba que se ofrece a este puerto

aws elbv2 create-listener --load-balancer-arn arnawselasticloadbalancingregionaws_account_idloadbalancerappbluegreen-albe5ba62739c16e642 --protocol HTTP --port 8080 --default-actions Type=forwardTargetGroupArn=arnawselasticloadbalancingregionaws_account_idtargetgroupbluegreentarget2209a844cd01825a4 --region us-east-1

El resultado incluye el ARN del agente de escucha con el siguiente formato

arnawselasticloadbalancingregionaws_account_idlistenerappbluegreen-albe5ba62739c16e642665750bec1b03bd4

Creacioacuten de un grupo de implementaciones (CLI)Para utilizar elAWS CLIpara crear un grupo de implementaciones de realice una llamada alcreate-deployment-groupcomando especificando

Versioacuten de API 2014-10-06299

AWS CodeDeploy Guiacutea del usuarioVer detalles del grupo de implementacioacuten

bull El nombre de la aplicacioacuten Para ver una lista de nombres de aplicaciones realice una llamadaalaplicaciones de listacomando

bull Un nombre para el grupo de implementaciones Se crearaacute un grupo de implementaciones con estenombre para la aplicacioacuten especificada Un grupo de implementacioacuten solo se puede asociar a unaaplicacioacuten

bull Informacioacuten sobre las etiquetas grupos de etiquetas o nombres de grupo de Amazon EC2 Auto Scalingque identifican las instancias que se deben incluir en el grupo de implementaciones

bull El identificador del nombre de recurso de Amazon (ARN) del rol de servicio que permite a CodeDeployactuar en nombre de suAWScuenta al interactuar con otrosAWSServicios de Para obtener el ARN delrol de servicio consulte Obtenga el ARN del rol de servicio (CLI) (p 41) Para obtener maacutes informacioacutenacerca de los roles de servicio consulteTeacuterminos y conceptos de rolesenIAM User Guide

bull Informacioacuten sobre el tipo de implementacioacuten ya sea una implementacioacuten in situ o bluegreen que sedesea asociar al grupo de implementaciones

bull (Opcional) El nombre de una configuracioacuten de implementacioacuten existente Para ver una lista deconfiguraciones de implementacioacuten consulte View Deployment Configuration Details (p 270) Si no seespecifica CodeDeploy utiliza una configuracioacuten de implementacioacuten predeterminada

bull (Opcional) Comandos para crear un disparador que inserta notificaciones sobre eventos deimplementaciones e instancias a los que estaacuten suscritos a un tema de Amazon Simple NotificationService Para obtener maacutes informacioacuten consulte Monitoring Deployments with Amazon SNS EventNotifications (p 365)

bull (Opcional) Comandos para antildeadir alarmas de CloudWatch existentes al grupo de implementaciones quese activan si una meacutetrica especificada en una alarma no alcanza o supera el umbral definido

bull (Opcional) Comandos de una implementacioacuten para recuperar la uacuteltima revisioacuten correcta conocidacuando falla una implementacioacuten o se activa una alarma de CloudWatch

bull Para las implementaciones in situbull (Opcional) El nombre del Classic Load Balancer o Application Load Balancer en Elastic Load

Balancing que gestiona el traacutefico a las instancias durante los procesos de implementacioacutenbull Para las implementaciones bluegreen

bull Configuracioacuten del proceso de implementacioacuten bluegreenbull Coacutemo se aprovisionan las nuevas instancias en el entorno de sustitucioacutenbull Si se redirige el traacutefico hacia el entorno de sustitucioacuten de inmediato o se espera un periacuteodo de

tiempo especificado para redirigir el traacutefico manualmentebull Si se deben terminar las instancias del entorno original

bull El nombre del Classic Load Balancer o Application Load Balancer en Elastic Load Balancing que sedebe utilizar para las instancias registradas en el entorno de sustitucioacuten

Ver detalles del grupo de implementacioacuten conCodeDeploy

Puede utilizar la consola de CodeDeployAWS CLIo las API de CodeDeploy para ver informacioacuten detalladasobre todos los grupos de implementaciones asociados a una aplicacioacuten

Temasbull Ver detalles del grupo de implementaciones (consola) (p 300)bull Ver detalles del grupo de implementaciones (CLI) (p 301)

Ver detalles del grupo de implementaciones (consola)Para utilizar la consola de CodeDeploy para ver los detalles del grupo de implementaciones

Versioacuten de API 2014-10-06300

AWS CodeDeploy Guiacutea del usuarioVer detalles del grupo de implementaciones (CLI)

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacuten aCodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones3 En la paacutegina Applications elija el nombre de aplicacioacuten asociado con el grupo de implementaciones

Note

Si no se muestran entradas aseguacuterese de seleccionar la regioacuten correcta En la barra denavegacioacuten en el selector de regiones elija una de las regiones enumeradas enPuntos deenlace de la regioacuten yen laAWSReferencia general de CodeDeploy solo es compatible conestas regiones

4 Para ver los detalles de un solo grupo de implementaciones en la pestantildea Deployment groups (Grupode implementaciones) elija el nombre del grupo de implementaciones

Ver detalles del grupo de implementaciones (CLI)Para utilizar la AWS CLI para ver los detalles del grupo de implementaciones ejecute el comando get-deployment-group o al comando list-deployment-groups

Para ver los detalles sobre un uacutenico grupo de implementaciones llame alget-deployment-groupcomandoespecificando

bull El nombre de la aplicacioacuten asociada con el grupo de implementaciones Para obtener el nombre de laaplicacioacuten llame alAplicaciones de listacomando

bull El nombre del grupo de implementaciones Para obtener el nombre del grupo de implementacionesllame algrupos de despliegue de listascomando

Para ver una lista de los nombres de los grupos de implementaciones llame algrupos de despliegue delistas especificando el nombre de aplicacioacuten asociado a los grupos de implementaciones Para obtener elnombre de la aplicacioacuten ejecute elAplicaciones de listacomando

Cambiar la configuracioacuten del grupo deimplementacioacuten con CodeDeploy

Puede utilizar la consola de CodeDeployAWS CLIo las API de CodeDeploy para cambiar la configuracioacutende un grupo de implementaciones

Warning

No utilice estos pasos si desea que el grupo de implementaciones utilice un grupo deimplementaciones personalizado que todaviacutea no se ha creado En lugar de ello siga lasinstrucciones en Create a Deployment Configuration (p 269) y a continuacioacuten vuelva a estetema No utilice estos pasos si desea que el grupo de implementaciones utilice un rol de serviciodiferente que todaviacutea no se ha creado El rol de servicio de confiar en CodeDeploy comomiacutenimo con los permisos que se describen enPaso 2 Creacioacuten de un rol de servicio paraCodeDeploy (p 36) Para crear y configurar un rol de servicio con los permisos correctos siga lasinstrucciones de Paso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36) y a continuacioacutenvuelva a este tema

Versioacuten de API 2014-10-06301

AWS CodeDeploy Guiacutea del usuarioCambiar la configuracioacuten del grupo

de implementaciones (consola)

Temasbull Cambiar la configuracioacuten del grupo de implementaciones (consola) (p 302)bull Cambiar la configuracioacuten del grupo de implementacioacuten (CLI) (p 302)

Cambiar la configuracioacuten del grupo deimplementaciones (consola)Para utilizar la consola de CodeDeploy para cambiar la configuracioacuten del grupo de implementaciones

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacuten aCodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones3 En la lista de aplicaciones elija el nombre de la aplicacioacuten que estaacute asociada al grupo de

implementaciones que desea cambiar

Note

Si no se muestran entradas aseguacuterese de que se ha seleccionado la regioacuten correcta Enla barra de navegacioacuten en el selector de regiones elija una de las regiones enumeradasenRegiones y puntos de enlace deen laAWSReferencia general de CodeDeploy solo escompatible con estas regiones

4 Elija la pestantildea Deployment groups (Grupos de implementaciones) y a continuacioacuten elija el nombre delgrupo de implementaciones que desea modificar

5 En la paacutegina Depoyment group (Grupo de implementaciones) elija Edit (Editar)6 Edite las opciones del grupo de implementaciones seguacuten sea necesario

Para obtener maacutes informacioacuten sobre los componentes del grupo de implementaciones consulteCreacioacuten de un grupo de implementaciones con CodeDeploy (p 288)

7 Elija Save changes (Guardar cambios)

Cambiar la configuracioacuten del grupo de implementacioacuten(CLI)Para utilizar elAWS CLIPara cambiar la configuracioacuten del grupo de implementaciones llame algrupo deimplementacioacuten-actualizacioacutencomando especificando

bull Para EC2On-Premises yAWSImplementaciones de Lambdabull El nombre de la aplicacioacuten Para ver una lista de nombres de aplicaciones llame alaplicaciones de

listacomandobull El nombre actual del grupo de implementaciones Para ver una lista de nombres de grupos de

implementaciones llame algrupos de despliegue de listascomandobull (Opcional) Un nombre diferente para el grupo de implementacionesbull (Opcional) Un Nombre de recurso de Amazon (ARN) que corresponde a un rol de servicio que permite

a CodeDeploy actuar sobre suAWSnombre de la cuenta al interactuar con otrosAWSServicios de Para obtener el ARN del rol de servicio consulte Obtenga el ARN del rol de servicio (CLI) (p 41)

Versioacuten de API 2014-10-06302

AWS CodeDeploy Guiacutea del usuarioConfiguracioacuten de las opciones avanzadas

de un grupo de implementaciones

Para obtener maacutes informacioacuten acerca de los roles de servicio consulteTeacuterminos y conceptos derolesenIAM User Guide

bull (Opcional) El nombre de la configuracioacuten de implementacioacuten Para ver una lista de configuracionesde implementacioacuten consulte View Deployment Configuration Details (p 270) (Si no se especificaCodeDeploy utiliza una configuracioacuten de implementacioacuten predeterminada)

bull (Opcional) Comandos para antildeadir una o varias alarmas de CloudWatch existentes al grupo deimplementaciones que se activan si un meacutetrica especificada en una alarma no alcanza o supera elumbral definido

bull (Opcional) Comandos de una implementacioacuten para recuperar la uacuteltima revisioacuten correcta conocidacuando falla una implementacioacuten o se activa una alarma de CloudWatch

bull (Opcional) Comandos para crear o actualizar un disparador que publica en un tema en AmazonSimple Notification Service para que los suscriptores de ese tema reciban notificaciones sobreeventos de implementaciones e instancias en este grupo de implementaciones Para obtenerinformacioacuten consulte Monitoring Deployments with Amazon SNS Event Notifications (p 365)

bull Solo para las implementaciones EC2On-premisesbull (Opcional) Etiquetas o grupos de etiquetas de sustitucioacuten que identifican de forma exclusiva las

instancias que se deben incluir en el grupo de implementacionesbull (Opcional) Los nombres de los grupos de sustitucioacuten de Amazon EC2 Auto Scaling que se van a

antildeadir al grupo de implementacionesbull Solo para las implementaciones de Amazon ECS

bull El servicio Amazon ECS que se va a implementarbull Informacioacuten del balanceador de carga incluido el Application Load Balancer o el Network Load

Balancer los grupos de destino requeridos para una implementacioacuten de Amazon ECS e informacioacutendel agente de escucha de prueba opcional

Configuracioacuten de las opciones avanzadas de ungrupo de implementaciones

Al crear o actualizar un grupo de implementaciones puede configurar una serie de opciones paraproporcionar mayor control y supervisioacuten de las implementaciones de dicho grupo de implementaciones

Utilice la informacioacuten de esta paacutegina para ayudarle a configurar las opciones avanzadas cuando trabajecon grupos de implementaciones en los siguientes temas

bull Crear una aplicacioacuten con CodeDeploy (p 273)bull Creacioacuten de un grupo de implementaciones con CodeDeploy (p 288)bull Cambiar la configuracioacuten del grupo de implementacioacuten con CodeDeploy (p 301)

Disparadores de notificaciones de Amazon SNS Puede antildeadir desencadenadores a un grupo deimplementaciones de CodeDeploy para recibir notificaciones sobre eventos relacionados con lasimplementaciones de dicho grupo de implementaciones Estas notificaciones se enviacutean a los destinatariosque estaacuten suscritos a un tema de Amazon SNS que forma parte de la accioacuten del disparador

Ya debe haber configurado el tema de Amazon SNS al que sentildealaraacute este disparador y CodeDeploy debetener permiso para publicar en el tema desde este grupo de implementaciones Si auacuten no ha completadoestos pasos de configuracioacuten puede antildeadir disparadores al grupo de implementaciones maacutes adelante

Si desea crear un disparador ahora para recibir notificaciones sobre los eventos de implementacioacuten delgrupo de implementaciones de esta aplicacioacuten elija Create trigger

Si la implementacioacuten es para una instancia de Amazon EC2 puede crear y recibir notificaciones sobre lasinstancias

Versioacuten de API 2014-10-06303

AWS CodeDeploy Guiacutea del usuarioConfiguracioacuten de las opciones avanzadas

de un grupo de implementaciones

Para obtener maacutes informacioacuten consulte Monitoring Deployments with Amazon SNS EventNotifications (p 365)

Alarmas de Amazon CloudWatch Puede crear una alarma de CloudWatch que vigile una sola meacutetricadurante el periodo especificado y realice una o varias acciones en funcioacuten del valor de la meacutetrica conrespecto a un determinado umbral durante varios periodos de tiempo En una implementacioacuten de AmazonEC2 puede crear una alarma para la instancia o el grupo de Auto Scaling de Amazon EC2 que esteacuteutilizando en las operaciones de CodeDeploy Para unAWSLambda y una implementacioacuten de AmazonECS puede crear una alarma para los errores de una funcioacuten de Lambda

Puede configurar que una implementacioacuten se detenga cuando una alarma de Amazon CloudWatch detecteque una meacutetrica no alcanza o supera un umbral definido

Ya debe haber creado la alarma en CloudWatch para poder antildeadirla a un grupo de implementaciones

1 Para antildeadir la monitorizacioacuten de alarmas al grupo de implementaciones en Alarms (Alarmas) elija Addalarm (Antildeadir alarma)

2 Introduzca el nombre de una alarma de CloudWatch que ya haya configurado para monitorizar estaimplementacioacuten

Debe escribir la alarma de CloudWatch exactamente como se creoacute en CloudWatch Para ver una listade alarmas abra la consola de CloudWatch enhttpsconsoleawsamazoncomcloudwatchy luegoseleccioneALARMA

Additional options

bull Si quiere que las implementaciones procedan sin tener en cuenta las alarmas de cuenta que hayaantildeadido elija Ignore alarm configuration

Esta opcioacuten resulta uacutetil si desea desactivar temporalmente la monitorizacioacuten de alarmas de un grupo deimplementaciones sin tener que antildeadir las mismas alarmas de nuevo maacutes tarde

bull (Opcional) Si desea que las implementaciones continuacuteen en caso de que CodeDeploy no puedarecuperar el estado de alarma de Amazon CloudWatch elijaContinuar las implementaciones incluso si elestado de la alarma no estaacute disponible

Note

Esta opcioacuten corresponde aignorePollAlarmFailureen laAlarmConfigurationobjeto de la API deCodeDeploy

Para obtener maacutes informacioacuten consulte Supervisioacuten de implementaciones con alarmas de CloudWatch enCodeDeploy (p 360)

User rollbacks Puede configurar una implementacioacuten o un grupo de implementaciones para que serestauren automaacuteticamente si falla una implementacioacuten o si se supera un umbral de monitorizacioacuten quehaya especificado En este caso se implementa la uacuteltima versioacuten correcta conocida de una revisioacuten dela aplicacioacuten Puede configurar ajustes opcionales para un grupo de implementaciones cuando utilice laconsola para crear una aplicacioacuten y crear o actualizar un grupo de implementaciones Al crear una nuevaimplementacioacuten tambieacuten puede optar por anular la configuracioacuten de restauracioacuten automaacutetica especificadapara el grupo de implementaciones

bull Puede habilitar la restauracioacuten de las implementaciones a la versioacuten correcta conocida maacutes reciente siocurre alguacuten problema eligiendo una o ambas de las opciones siguientes

bull Roll back when a deployment fails CodeDeploy redistribuye la uacuteltima revisioacuten correcta conocidacomo una nueva implementacioacuten

Versioacuten de API 2014-10-06304

AWS CodeDeploy Guiacutea del usuarioEliminar un grupo de implementaciones

bull Roll back when alarm thresholds are met (Restaurar cuando se alcancen los umbrales de alarma)Si antildeadioacute una alarma a esta aplicacioacuten en el paso anterior CodeDeploy redistribuye la uacuteltimarevisioacuten correcta conocida cuando se active una o varias de las alarmas especificadas

Note

Para no tener en cuenta temporalmente una configuracioacuten de restauracioacuten elija Disablerollbacks Esta opcioacuten resulta uacutetil si desea deshabilitar temporalmente las restauracionesautomaacuteticas sin tener que configurar la misma configuracioacuten de nuevo maacutes tarde

Para obtener maacutes informacioacuten consulte Redesplegar y deshacer una implementacioacuten conCodeDeploy (p 345)

Actualizaciones automaacuteticas de instancias obsoletas En determinadas circunstancias CodeDeploy puedeimplementar una revisioacuten obsoleta de la aplicacioacuten en las instancias de Amazon EC2 Por ejemplo sisus instancias EC2 se lanzan en un grupo de Auto Scaling (ASG) mientras se estaacute llevando a cabo unaimplementacioacuten de CodeDeploy esas instancias reciben la revisioacuten anterior de la aplicacioacuten en lugar dela uacuteltima Para actualizar esas instancias CodeDeploy inicia automaacuteticamente una implementacioacuten deseguimiento (inmediatamente despueacutes de la primera) para actualizar cualquier instancia obsoleta Si deseacambiar este comportamiento predeterminado para que las instancias EC2 desactualizadas queden en larevisioacuten anterior puede hacerlo a traveacutes de la API de CodeDeploy o laAWS Command Line Interface(CLI)

Para configurar actualizaciones automaacuteticas de instancias obsoletas a traveacutesde la API incluya eloutdatedInstancesStrategyparaacutemetro request enelUpdateDeploymentGroupoCreateDeploymentGroupaction Para obtener maacutes informacioacuten consultelaAWS CodeDeployReferencia de la API

Para configurar las actualizaciones automaacuteticas a traveacutes delAWS CLI utilice uno de los siguientescomandos

aws deploy update-deployment-group arguments --outdated-instances-strategyUPDATE|IGNORE

O

aws deploy create-deployment-group arguments --outdated-instances-strategyUPDATE|IGNORE

dondeargumentsse sustituye por los argumentos necesarios para la implementacioacuten yACTUALIZAR|IGNOREse sustituye porUPDATEpara habilitar actualizaciones automaacuteticas oIGNOREpara deshabilitarlas

Ejemplo

aws deploy update-deployment-group --application-name MyApp --current-deployment-group-name MyDG --region us-east-1 --outdated-instances-strategyIGNORE

Para obtener maacutes informacioacuten sobre estosAWS CLIconsulte laAWS CLIReferencia de los comandos

Eliminar un grupo de implementacioacuten conCodeDeploy

Puede utilizar la consola de CodeDeploy laAWS CLIo las API de CodeDeploy para eliminar grupos deimplementaciones asociados a suAWSaccount

Versioacuten de API 2014-10-06305

AWS CodeDeploy Guiacutea del usuarioEliminacioacuten de un grupo de implementaciones (consola)

Warning

Si elimina un grupo de implementaciones todos los detalles asociados a ese grupo tambieacutense eliminaraacuten de CodeDeploy Las instancias utilizadas en el grupo de implementaciones nocambiaraacuten Esta accioacuten no se puede deshacer

Temasbull Eliminacioacuten de un grupo de implementaciones (consola) (p 306)bull Eliminacioacuten de un grupo de implementaciones (CLI) (p 306)

Eliminacioacuten de un grupo de implementaciones(consola)Para utilizar la consola de CodeDeploy para eliminar un grupo de implementaciones

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacuten aCodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones3 En la lista de aplicaciones seleccione el nombre de la aplicacioacuten asociada al grupo de

implementaciones4 En la paacutegina Application details (Detalles de la aplicacioacuten) en la pestantildea Deployment groups (Grupos de

implementaciones) elija el nombre del grupo de implementaciones que desea eliminar5 En la paacutegina Deployment details (Detalles de la implementacioacuten) elija Delete (Eliminar)6 Cuando se le solicite escriba el nombre del grupo de implementaciones que desea eliminar y a

continuacioacuten seleccione Delete

Eliminacioacuten de un grupo de implementaciones (CLI)Para utilizar elAWS CLIPara eliminar un grupo de implementaciones llame aldelete-deployment-groupcomando especificando

bull El nombre de la aplicacioacuten asociada al grupo de implementaciones Para ver una lista de nombres deaplicaciones llame alaplicaciones de listacomando

bull El nombre del grupo de implementaciones asociado a la aplicacioacuten Para ver una lista de nombres degrupos de implementaciones llame algrupos de despliegue de listascomando

Versioacuten de API 2014-10-06306

AWS CodeDeploy Guiacutea del usuarioPlanear una revisioacuten

Uso de revisiones de aplicaciones deCodeDeploy

En CodeDeploy una revisioacuten contiene una versioacuten de los archivos fuente que CodeDeploy implementaraacuteen las instancias o scripts que CodeDeploy ejecutaraacute en las instancias

Tienes que planificar la revisioacuten agregarle un archivo AppSpec a la revisioacuten y a continuacioacuten enviarla aAmazon S3 o GitHub Una vez enviada la revisioacuten puede implementarla

Temasbull Planear una revisioacuten para CodeDeploy (p 307)bull Agregar un archivo de especificacioacuten de aplicacioacuten a una revisioacuten de CodeDeploy (p 308)bull Elija un tipo de repositorio de CodeDeploy (p 314)bull Enviar una revisioacuten de CodeDeploy en Amazon S3 (solo implementaciones de EC2locales) (p 316)bull Ver detalles de una revisioacuten de aplicacioacuten con CodeDeploy (p 319)bull Registrar una revisioacuten de aplicacioacuten en Amazon S3 con CodeDeploy (p 320)

Planear una revisioacuten para CodeDeployCon unos buenos planes es mucho maacutes faacutecil implementar las revisiones

Para las implementaciones en unaAWSLambda o una plataforma informaacutetica de Amazon ECS unarevisioacuten es la misma que el archivo AppSpec La siguiente informacioacuten no es aplicable Para obtenermaacutes informacioacuten consulteAgregar un archivo de especificacioacuten de aplicacioacuten a una revisioacuten deCodeDeploy (p 308)

Para las implementaciones en una plataforma informaacutetica EC2local comience por crear un directorioraiacutez vaciacuteo en la maacutequina de desarrollo Ahiacute es donde almacenaraacute los archivos de coacutedigo fuente (comolos archivos de texto y binarios los ejecutables los paquetes etc) que se van a implementan en lasinstancias o los scripts que se van a ejecutar en las instancias

Por ejemplo en latmpcarpeta raiacutez en Linux macOS o Unix o lactempcarpeta raiacutez en Windows

tmp or ctemp (root folder) |--content (subfolder) | |--myTextFiletxt | |--mySourceFilerb | |--myExecutableFileexe | |--myInstallerFilemsi | |--myPackagerpm | |--myImageFilepng |--scripts (subfolder) | |--myShellScriptsh | |--myBatchScriptbat | |--myPowerShellScriptps1 |--appspecyml

La carpeta raiacutez tambieacuten debe incluir un archivo de especificacioacuten de la aplicacioacuten (archivo AppSpec) tal ycomo se muestra aquiacute Para obtener maacutes informacioacuten consulte Agregar un archivo de especificacioacuten deaplicacioacuten a una revisioacuten de CodeDeploy (p 308)

Versioacuten de API 2014-10-06307

AWS CodeDeploy Guiacutea del usuarioAdicioacuten de un archivo AppSpec

Agregar un archivo de especificacioacuten de aplicacioacutena una revisioacuten de CodeDeploy

En este tema se muestra coacutemo antildeadir un archivo AppSpec a la implementacioacuten Tambieacuten incluye plantillasque permiten crear un archivo AppSpec para unaAWSImplementacioacuten de Lambda y EC2On-Premises

Temasbull Adicioacuten de un archivo AppSpec para una implementacioacuten de Amazon ECS (p 308)bull Adicioacuten de un archivo AppSpec para unAWSImplementacioacuten de Lambda (p 310)bull Adicioacuten de un archivo AppSpec para una implementacioacuten de EC2On-Premises (p 312)

Adicioacuten de un archivo AppSpec para unaimplementacioacuten de Amazon ECSPara una implementacioacuten en una plataforma informaacutetica de Amazon ECS

bull El archivo AppSpec especifica la definicioacuten de tareas de Amazon ECS utilizada para la implementacioacutenun nombre de contenedor y el mapeo de puertos utilizado para dirigir el traacutefico y funciones Lambdaopcionales ejecutadas despueacutes de los eventos de ciclo de vida de implementacioacuten

bull Una revisioacuten es lo mismo que un archivo AppSpecbull Se puede escribir un archivo AppSpec utilizando JSON o YAMLbull Un archivo AppSpec se puede guardar como un archivo de texto o introducir directamente en

una consola al crear una implementacioacuten Para obtener maacutes informacioacuten consulte Crear unaimplementacioacuten de Amazon ECS (consola) (p 327)

Para crear un archivo AppSpec

1 Copie la plantilla JSON o YAML en un editor de texto o en el editor de AppSpec en la consola2 Modifique la plantilla como sea necesario3 Utilice un validador de JSON o YAML para validar el archivo AppSpec Si utiliza el editor de AppSpec

el archivo se valida al elegir Create deployment (Crear implementacioacuten)4 Si utiliza un editor de texto guarde el archivo Si utiliza elAWS CLIPara crear la implementacioacuten utilice

una referencia al archivo AppSpec si estaacute en el disco duro o en un bucket de Amazon S3 Si utiliza laconsola debe enviar el archivo AppSpec en Amazon S3

Plantilla de archivo de AppSpec de YAML para unaimplementacioacuten de Amazon ECS con instruccionesA continuacioacuten se muestra una plantilla YAML de un archivo AppSpec para una implementacioacuten deAmazon ECS con todas las opciones disponibles Para obtener maacutes informacioacuten acerca de los eventos delciclo de vida que se deben utilizar en la seccioacuten hooks consulte Seccioacuten hooks de AppSpec para unaimplementacioacuten de Amazon ECS (p 422)

This is an appspecyml template file for use with an Amazon ECS deployment in CodeDeploy The lines in this template that start with the hashtag are comments that can be safely left in the file or ignored

Versioacuten de API 2014-10-06308

AWS CodeDeploy Guiacutea del usuarioAdicioacuten de un archivo AppSpec para

una implementacioacuten de Amazon ECS

For help completing this file see the AppSpec File Reference in the CodeDeploy User Guide at httpsdocsawsamazoncomcodedeploylatestuserguideapp-spec-refhtmlversion 00 In the Resources section you must specify the following the Amazon ECS service task definition name and the name and port of the your load balancer to route traffic target version and (optional) the current version of your AWS Lambda function Resources - TargetService Type AWSECSService Properties TaskDefinition Specify the ARN of your task definition (arnawsecsregionaccount-idtask-definitiontask-definition-family-nametask-definition-revision-number) LoadBalancerInfo ContainerName Specify the name of your Amazon ECS applications container ContainerPort Specify the port for your container where traffic reroutes Optional properties PlatformVersion Specify the version of your Amazon ECS Service NetworkConfiguration AwsvpcConfiguration Subnets [] Specify one or more comma-separated subnets in your Amazon ECS service SecurityGroups [] Specify one or more comma-separated security groups in your Amazon ECS service AssignPublicIp Specify ENABLED or DISABLED (Optional) In the Hooks section specify a validation Lambda function to run during a lifecycle event Hooks Hooks for Amazon ECS deployments are - BeforeInstall Specify a Lambda function name or ARN - AfterInstall Specify a Lambda function name or ARN - AfterAllowTestTraffic Specify a Lambda function name or ARN - BeforeAllowTraffic Specify a Lambda function name or ARN - AfterAllowTraffic Specify a Lambda function name or ARN

Plantilla JSON del archivo AppSpec para una implementacioacuten deAmazon ECSA continuacioacuten se muestra una plantilla JSON de un archivo AppSpec para una implementacioacuten deAmazon ECS con todas las opciones disponibles Para ver las instrucciones de plantilla consulte loscomentarios de la versioacuten YAML en la seccioacuten anterior Para obtener maacutes informacioacuten acerca de loseventos del ciclo de vida que se deben utilizar en la seccioacuten hooks consulte Seccioacuten hooks de AppSpecpara una implementacioacuten de Amazon ECS (p 422)

version 00 Resources [ TargetService Type AWSECSService Properties TaskDefinition LoadBalancerInfo ContainerName ContainerPort PlatformVersion NetworkConfiguration AwsvpcConfiguration Subnets [

Versioacuten de API 2014-10-06309

AWS CodeDeploy Guiacutea del usuarioAdicioacuten de un archivo AppSpec paraunAWSImplementacioacuten de Lambda

] SecurityGroups [ ] AssignPublicIp ] Hooks [ BeforeInstall AfterInstall AfterAllowTestTraffic BeforeAllowTraffic AfterAllowTraffic ]

Adicioacuten de un archivo AppSpec paraunAWSImplementacioacuten de LambdaPara una implementacioacuten en unaAWSPlataforma de computacioacuten Lambda

bull El archivo AppSpec contiene instrucciones acerca de coacutemo se deben implementar y utilizar las funcionesde Lambda para la validacioacuten de la implementacioacuten

bull Una revisioacuten es lo mismo que un archivo AppSpecbull Se puede escribir un archivo AppSpec utilizando JSON o YAMLbull Un archivo AppSpec se puede guardar como un archivo de texto o introducir directamente en un

editor de AppSpec de la consola al crear una implementacioacuten Para obtener maacutes informacioacuten consulteCreacioacuten de unAWSImplementacioacuten de Lambda Compute Platform (consola) (p 328)

Para crear un archivo AppSpec

1 Copie la plantilla JSON o YAML en un editor de texto o en el editor de AppSpec en la consola2 Modifique la plantilla como sea necesario3 Utilice un validador de JSON o YAML para validar el archivo AppSpec Si utiliza el editor de AppSpec

el archivo se valida al elegir Create deployment (Crear implementacioacuten)4 Si utiliza un editor de texto guarde el archivo Si utiliza elAWS CLIPara crear la implementacioacuten utilice

una referencia al archivo AppSpec si estaacute en el disco duro o en un bucket de Amazon S3 Si utiliza laconsola debe enviar el archivo AppSpec en Amazon S3

Versioacuten de API 2014-10-06310

AWS CodeDeploy Guiacutea del usuarioAdicioacuten de un archivo AppSpec paraunAWSImplementacioacuten de Lambda

Plantilla de archivo YAML AppSpec para unAWSLambdadespliegue con instruccionesPara obtener maacutes informacioacuten acerca de los eventos del ciclo de vida que se deben utilizar en la seccioacutenhooks consulte Seccioacuten hooks de AppSpec para unAWSImplementacioacuten de Lambda (p 426)

This is an appspecyml template file for use with an AWS Lambda deployment in CodeDeploy The lines in this template starting with the hashtag symbol are instructional comments and can be safely left in the file or ignored For help completing this file see the AppSpec File Reference in the CodeDeploy User Guide at httpsdocsawsamazoncomcodedeploylatestuserguideapp-spec-refhtmlversion 00 In the Resources section specify the name alias target version and (optional) the current version of your AWS Lambda function Resources - MyFunction Replace MyFunction with the name of your Lambda function Type AWSLambdaFunction Properties Name Specify the name of your Lambda function Alias Specify the alias for your Lambda function CurrentVersion Specify the current version of your Lambda function TargetVersion Specify the version of your Lambda function to deploy (Optional) In the Hooks section specify a validation Lambda function to run during a lifecycle event Replace LifeCycleEvent with BeforeAllowTraffic or AfterAllowTraffic Hooks - LifeCycleEvent Specify a Lambda validation function between double-quotes

Archivo JSON AppSpec para unAWS Lambdaplantilla dedespliegueEn la siguiente plantilla sustituya ldquoMyFunctionrdquo por el nombre de la funcioacuten de AWS Lambda En la seccioacutenHooks opcional sustituya los eventos del ciclo de vida por BeforeAllowTraffic o AfterAllowTraffic

Para obtener maacutes informacioacuten acerca de los eventos del ciclo de vida que se deben utilizar en la seccioacutenHooks consulte Seccioacuten hooks de AppSpec para unAWSImplementacioacuten de Lambda (p 426)

version 00 Resources [ MyFunction Type AWSLambdaFunction Properties Name Alias CurrentVersion TargetVersion ] Hooks [ LifeCycleEvent ]

Versioacuten de API 2014-10-06311

AWS CodeDeploy Guiacutea del usuarioAdicioacuten de un archivo AppSpec para una

implementacioacuten de EC2On-Premises

Adicioacuten de un archivo AppSpec para unaimplementacioacuten de EC2On-PremisesSin un archivo AppSpec CodeDeploy no puede asignar un destino a los archivos de origen de la revisioacutende la aplicacioacuten ni ejecutar scripts para la implementacioacuten en una plataforma de computacioacuten EC2On-Premises

Cada revisioacuten debe contener un uacutenico archivo AppSpec

Para antildeadir un archivo AppSpec a una revisioacuten

1 Copie la plantilla en un editor de texto2 Modifique la plantilla como sea necesario3 Utilice un validador YAML para comprobar la validez del archivo AppSpec4 Guarde el archivo como appspecyml en el directorio raiacutez de la revisioacuten5 Ejecute uno de los comandos siguientes para comprobar que ha situado el archivo AppSpec en el

directorio raiacutez

bull Para Linux macOS o Unix

find pathtorootdirectory -name appspecyml

Si se encuentra el archivo AppSpec no devuelve ninguna salidabull Para Windows

dir pathtorootdirectoryappspecyml

UNAArchivo no encontradoSi el archivo AppSpec no se encuentra apareceraacute el error6 Almacene la revisioacuten en Amazon S3 o GitHub

Para obtener instrucciones consulte Enviar una revisioacuten de CodeDeploy en Amazon S3 (soloimplementaciones de EC2locales) (p 316)

Plantilla de archivo AppSpec para una implementacioacuten de EC2On-Premises con instrucciones

Note

Las implementaciones en instancias de Windows Server no admiten elrunaselemento Si va aimplementar en instancias de Windows Server no lo incluya en el archivo de AppSpec

This is an appspecyml template file for use with an EC2On-Premises deployment in CodeDeploy The lines in this template starting with the hashtag symbol are instructional comments and can be safely left in the file or ignored For help completing this file see the AppSpec File Reference in the CodeDeploy User Guide at httpsdocsawsamazoncomcodedeploylatestuserguideapp-spec-refhtmlversion 00 Specify os linux if this revision targets Amazon Linux Red Hat Enterprise Linux (RHEL) or Ubuntu Server instances Specify os windows if this revision targets Windows Server instances

Versioacuten de API 2014-10-06312

AWS CodeDeploy Guiacutea del usuarioAdicioacuten de un archivo AppSpec para una

implementacioacuten de EC2On-Premises

(You cannot specify both os linux and os windows)os linux os windows During the Install deployment lifecycle event (which occurs between the BeforeInstall and AfterInstall events) copy the specified files in source starting from the root of the revisions file bundle to destination on the Amazon EC2 instance Specify multiple source and destination pairs if you want to copy from multiple sources or to multiple destinations If you are not copying any files to the Amazon EC2 instance then remove the files section altogether A blank or incomplete files section may cause associated deployments to failfiles - source destination - source destination For deployments to Amazon Linux Ubuntu Server or RHEL instances you can specify a permissions section here that describes special permissions to apply to the files in the files section as they are being copied over to the Amazon EC2 instance For more information see the documentation If you are deploying to Windows Server instances then remove the permissions section altogether A blank or incomplete permissions section may cause associated deployments to failpermissions - object pattern except owner group mode acls - context user type range type - If you are not running any commands on the Amazon EC2 instance then remove the hooks section altogether A blank or incomplete hooks section may cause associated deployments to failhooks For each deployment lifecycle event specify multiple location entries if you want to run multiple scripts during that event You can specify timeout as the number of seconds to wait until failing the deployment if the specified scripts do not run within the specified time limit for the specified event For example 900 seconds is 15 minutes If not specified the default is 1800 seconds (30 minutes) Note that the maximum amount of time that all scripts must finish executing for each individual deployment lifecycle event is 3600 seconds (1 hour) Otherwise the deployment will stop and CodeDeploy will consider the deployment to have failed to the Amazon EC2 instance Make sure that the total number of seconds that are specified in timeout for all scripts in each individual deployment lifecycle event does not exceed a combined 3600 seconds (1 hour) For deployments to Amazon Linux Ubuntu Server or RHEL instances you can specify runas in an event to run as the specified user For more information see the documentation If you are deploying to Windows Server instances remove runas altogether If you do not want to run any commands during a particular deployment lifecycle event remove that event declaration altogether Blank or incomplete event declarations may cause associated deployments to fail

Versioacuten de API 2014-10-06313

AWS CodeDeploy Guiacutea del usuarioEleccioacuten de un tipo de repositorio

During the ApplicationStop deployment lifecycle event run the commands in the script specified in location starting from the root of the revisions file bundle ApplicationStop - location timeout runas - location timeout runas During the BeforeInstall deployment lifecycle event run the commands in the script specified in location BeforeInstall - location timeout runas - location timeout runas During the AfterInstall deployment lifecycle event run the commands in the script specified in location AfterInstall - location timeout runas - location timeout runas During the ApplicationStart deployment lifecycle event run the commands in the script specified in location ApplicationStart - location timeout runas - location timeout runas During the ValidateService deployment lifecycle event run the commands in the script specified in location ValidateService - location timeout runas - location timeout runas

Elija un tipo de repositorio de CodeDeployLa ubicacioacuten de almacenamiento de los archivos necesarios para CodeDeploy se denominarepository Eluso de un repositorio depende de la plataforma de computacioacuten que se utilice en la implementacioacuten

bull EC2On-Premises Para implementar el coacutedigo de la aplicacioacuten en una o varias instancias elcoacutedigo debe agruparse en un archivo de almacenamiento y colocarse en un repositorio en el queCodeDeploy pueda tener acceso durante el proceso de implementacioacuten Tiene que agrupar el contenidoimplementable y un archivo AppSpec en un archivo de almacenamiento y a continuacioacuten cargarlo enuno de los tipos de repositorio admitidos por CodeDeploy

bull AWSLambdayAmazon ECS Las implementaciones necesitan un archivo AppSpec al que se puedatener acceso durante una implementacioacuten de una de las siguientes manerasbull Desde un bucket de Amazon S3

Versioacuten de API 2014-10-06314

AWS CodeDeploy Guiacutea del usuarioEleccioacuten de un tipo de repositorio

bull Desde el texto escrito directamente en el editor de AppSpec de la consola Para obtener maacutesinformacioacuten consulte Creacioacuten de unAWSImplementacioacuten de Lambda Compute Platform(consola) (p 328) y Crear una implementacioacuten de Amazon ECS (consola) (p 327)

bull Si utiliza elAWS CLI puede hacer referencia a un archivo AppSpec que esteacute en el disco duro o enuna unidad de red Para obtener maacutes informacioacuten consulte Creacioacuten de unAWSImplementacioacuten deLambda Compute Platform (CLI) (p 334) y Crear una implementacioacuten de Amazon ECS ComputePlatform (CLI) (p 333)

CodeDeploy admite actualmente los siguientes tipos de repositorio

Tipo de repositorio Detalles del repositorio Plataforma de computacioacutencompatible

Amazon S3 Amazon Simple StorageService(Amazon S3) eselAWSpara almacenamientode objetos seguro y escalableAmazon S3 almacena datoscomo objetos dentro deBucketsde Un objeto consta de unarchivo y opcionalmentecualquier metadato que describaese archivo

Para almacenar un objeto enAmazon S3 debe cargar enun bucket el archivo Al cargarun archivo puede configurarpermisos y metadatos en elobjeto

Maacutes informacioacuten

bull Cree un bucket de Amazon S3bull Enviar una revisioacuten de

CodeDeploy en Amazon S3(solo implementaciones deEC2locales) (p 316)

bull Implementacioacuten automaacuteticadesde Amazon S3 medianteCodeDeploy

Las implementaciones queutilizan las siguientes plataformasde computacioacuten puedenalmacenar la revisioacuten enunAmazon S3bucket

bull EC2On-Premisesbull AWS Lambdabull Amazon ECS

GitHub Puede almacenar las revisionesde aplicacioacuten en repositoriosde GitHub Puede activar unaimplementacioacuten desde unrepositorio de GitHub siempreque el coacutedigo fuente de eserepositorio cambie

Maacutes informacioacuten

bull Integracioacuten de CodeDeploycon GitHub (p 63)

Solo las implementaciones deEC2in situ pueden almacenarla revisioacuten en un repositorio deGitHub

Versioacuten de API 2014-10-06315

AWS CodeDeploy Guiacutea del usuarioEnviar una revisioacuten

bull Tutorial Usa CodeDeploypara desplegar una aplicacioacutendesde GitHub (p 127)

Bitbucket Puede implementar coacutedigoen grupos de implementacioacutende instancias EC2 medianteel uso de laCanalizacioacutenCodeDeployenCanalizacioacuten deBitbucket Bitbucket Pipelinesofrece funciones de integracioacutencontinua e implementacioacutencontinua (CICD) incluidas lasimplementaciones de BitbucketLa canalizacioacuten de CodeDeployinserta primero el artefactoen un bucket de S3 que hayaespecificado y a continuacioacutenimplementa el artefacto decoacutedigo desde el bucket

Maacutes informacioacuten

bull Consulte la canalizacioacuten deCodeDeploy de Bitbucket

Solo las implementaciones deEC2in situ pueden almacenarla revisioacuten en un repositorio deBitBucket

Note

UnAWS LambdaLa implementacioacuten de solo funciona con un repositorio de Amazon S3

Enviar una revisioacuten de CodeDeploy en Amazon S3(solo implementaciones de EC2locales)

Despueacutes de planificar la revisioacuten tal y como se describe enPlanear una revisioacuten paraCodeDeploy (p 307)y agregue un archivo AppSpec a la revisioacuten tal como se describe enAgregarun archivo de especificacioacuten de aplicacioacuten a una revisioacuten de CodeDeploy (p 308) estaacute listo paraempaquetar los archivos de componentes y enviar la revisioacuten a Amazon S3 Para las implementaciones eninstancias Amazon EC2 puede utilizar CodeDeploy para implementar la revisioacuten desde Amazon S3 en lasinstancias

Note

CodeDeploy tambieacuten puede utilizarse para implementar revisiones que se han enviado a GitHubPara obtener maacutes informacioacuten consulte su documentacioacuten de GitHub

Suponemos que ya ha seguido las instrucciones de Introduccioacuten a CodeDeploy (p 35) para configurar laAWS CLI Esto resulta de gran importancia para ejecutar el comando push que se describe maacutes adelante

Aseguacuterese de que tiene un bucket de Amazon S3 Siga las instrucciones enCrear un bucket

Si la implementacioacuten se realiza en instancias Amazon EC2 el bucket de Amazon S3 de destino se debecrear o encontrar en la misma regioacuten que las instancias de destino Por ejemplo si desea implementaruna revisioacuten en algunas instancias en la regioacuten EE UU Este (Norte de Virginia) y en otras instancias enla regioacuten EE UU (Oregoacuten) deberaacute tener un bucket en la regioacuten EE UU Este (Norte de Virginia) con una

Versioacuten de API 2014-10-06316

AWS CodeDeploy Guiacutea del usuarioImpulsar una revisioacuten mediante elAWS CLI

copia de la revisioacuten y otro bucket en la regioacuten EE UU (Oregoacuten) con otra copia de la misma revisioacuten Eneste caso deberiacutea crear dos implementaciones independientes una en la regioacuten de EE UU Este (Nortede Virginia) y otra en la regioacuten EE UU (Oregoacuten) aunque la revisioacuten es la misma en ambas regiones ybuckets

Debe disponer de permisos para cargar en el bucket de Amazon S3 Puede especificar estos permisosmediante una poliacutetica de bucket de Amazon S3 Por ejemplo en la siguiente poliacutetica de bucket de AmazonS3 el uso del caraacutecter comodiacuten () permiteAWScuenta111122223333cargar archivos en cualquierdirectorio del bucket de Amazon S3 denominadocodedeploydemobucket

Statement [ Action [ s3PutObject ] Effect Allow Resource arnawss3codedeploydemobucket Principal AWS [ 111122223333 ] ]

Para ver losAWSID de cuenta consulteBuacutesqueda deAWSID de la cuenta de

Para obtener informacioacuten sobre coacutemo generar y asociar una poliacutetica de bucket de Amazon S3consulteEjemplos de poliacutetica de bucket

El usuario de IAM que llama alpushdebe disponer como miacutenimo de permisos para cargar larevisioacuten en cada bucket de Amazon S3 de destino Por ejemplo la siguiente poliacutetica de IAMpermite que su usuario de IAM cargue revisiones en cualquier lugar del bucket de Amazon S3denominadocodedeploydemobucket

Version 2012-10-17 Statement [ Effect Allow Action [ s3PutObject ] Resource arnawss3codedeploydemobucket ]

Para obtener informacioacuten sobre coacutemo crear y asociar una poliacutetica de IAM consulteTrabajo con poliacuteticas

Impulsar una revisioacuten mediante elAWS CLINote

Lapushagrupa los artefactos de aplicacioacuten y un archivo AppSpec en una revisioacuten El formatode archivo de esta revisioacuten es un archivo ZIP comprimido El comando no se puede utilizar conunAWSLambda o una implementacioacuten de Amazon ECS porque cada una espera una revisioacuten quesea un archivo AppSpec con formato JSON o YAML

Versioacuten de API 2014-10-06317

AWS CodeDeploy Guiacutea del usuarioImpulsar una revisioacuten mediante elAWS CLI

Ejecute el comando push para agrupar y enviar la revisioacuten de una implementacioacuten Sus paraacutemetros son

bull --application-name (cadena) obligatorio Nombre de la aplicacioacuten CodeDeploy que se asociaraacute a larevisioacuten de la aplicacioacuten

bull --s3-location (cadena) obligatorio Informacioacuten sobre la ubicacioacuten de la revisioacuten de la aplicacioacuten quese cargaraacute en Amazon S3 Debe especificar un bucket de Amazon S3 y una clave La clave es elnombre de la revisioacuten CodeDeploy comprime el contenido antes de que se cargue Utilice el formatos3your-S3-bucket-nameyour-keyzip

bull --ignore-hidden-files o --no-ignore-hidden-files (booleano) opcional Usar--no-ignore-hidden-filesmarca (el valor predeterminado) para empaquetar y cargar archivos ocultos en Amazon S3Usar--ignore-hidden-filesmarca para no empaquetar y cargar archivos ocultos en Amazon S3

bull --source (cadena) opcional Ubicacioacuten del contenido que se implementaraacute y el archivo AppSpec en lamaacutequina de desarrollo que se comprimiraacute y cargaraacute en Amazon S3 La ubicacioacuten se especifica como unaruta relativa al directorio actual Si no se especifica la ruta relativa o si se utiliza un uacutenico punto para laruta () se utiliza el directorio actual

bull --description (cadena) opcional Un comentario que resume la revisioacuten de la aplicacioacuten Si no seespecifica la cadena predeterminada laquoSubido porAWS CLI Se utiliza time UTCraquo donde time es lahora actual del sistema en horario universal coordinado (UTC)

Puede utilizar elAWS CLIEnviar una revisioacuten de una implementacioacuten de Amazon EC2 Un comando deenviacuteo de ejemplo tiene este aspecto

En Linux macOS o Unix

aws deploy push --application-name WordPress_App --description This is a revision for the application WordPress_App --ignore-hidden-files --s3-location s3codedeploydemobucketWordPressAppzip --source

En Windows

aws deploy push --application-name WordPress_App --description This is a revision for the application WordPress_App --ignore-hidden-files --s3-location s3codedeploydemobucketWordPressAppzip --source

Este comando hace lo siguiente

bull Asocia los archivos agrupados con una aplicacioacuten denominada WordPress_Appbull Adjunta una descripcioacuten a la revisioacutenbull Ignora los archivos ocultosbull Asigna a la revisioacuten el nombre WordPressAppzip y la enviacutea a un bucket llamadocodedeploydemobucket

bull Agrupa todos los archivos del directorio raiacutez en la revisioacuten

Despueacutes de que el empuje se ejecute correctamente puede utilizar laAWS CLIo la consola de CodeDeploypara implementar la revisioacuten desde Amazon S3 Para implementar esta revisioacuten con la AWS CLI

En Linux macOS o Unix

aws deploy create-deployment --application-name WordPress_App --deployment-config-name your-deployment-config-name --deployment-group-name your-deployment-group-name

Versioacuten de API 2014-10-06318

AWS CodeDeploy Guiacutea del usuarioVer detalles de una revisioacuten de aplicacioacuten

--s3-location bucket=codedeploydemobucketkey=WordPressAppzipbundleType=zip

En Windows

aws deploy create-deployment --application-name WordPress_App --deployment-config-name your-deployment-config-name --deployment-group-name your-deployment-group-name --s3-location bucket=codedeploydemobucketkey=WordPressAppzipbundleType=zip

Para obtener maacutes informacioacuten consulte Cree una implementacioacuten con CodeDeploy (p 324)

Ver detalles de una revisioacuten de aplicacioacuten conCodeDeploy

Puede utilizar la consola de CodeDeploy laAWS CLI o las API de CodeDeploy para ver detalles de todaslas revisiones registradas en suAWScuenta de una aplicacioacuten especificada

Para obtener informacioacuten sobre el registro de una revisioacuten consulte Registrar una revisioacuten de aplicacioacuten enAmazon S3 con CodeDeploy (p 320)

Temasbull Ver detalles de una revisioacuten de aplicacioacuten (consola) (p 319)bull Ver detalles de una revisioacuten de aplicacioacuten (CLI) (p 319)

Ver detalles de una revisioacuten de aplicacioacuten (consola)Para ver los detalles de una revisioacuten de aplicacioacuten

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacuten aCodeDeploy (p 35)

2 En el panel de navegacioacuten expanda Deploy (Implementar) y elija Applications (Aplicaciones)

Note

Si no se muestran entradas aseguacuterese de seleccionar la regioacuten correcta En la barra denavegacioacuten en el selector de regiones elija una de las regiones enumeradas enRegiones ypuntos de enlaceen laAWSReferencia general de CodeDeploy solo es compatible en estasregiones

3 Elija el nombre de la aplicacioacuten que tiene la revisioacuten que desea ver4 En la paacutegina Application details (Detalles de la aplicacioacuten) elija la pestantildea Revisions (Revisiones) y

examine la lista de revisiones registradas para la aplicacioacuten Elija una revisioacuten y a continuacioacuten elijaView details (Ver detalles)

Ver detalles de una revisioacuten de aplicacioacuten (CLI)Si desea utilizar la AWS CLI para ver una revisioacuten de una aplicacioacuten llame al comando get-application-revision o al comando list-application-revisions

Versioacuten de API 2014-10-06319

AWS CodeDeploy Guiacutea del usuarioRegistro de una revisioacuten de una aplicacioacuten

Note

Las referencias a GitHub solo se aplican a implementaciones en EC2On-Premises Lasrevisiones para las implementaciones de AWS Lambda no funcionan con GitHub

Para ver detalles de una sola revisioacuten de aplicacioacuten llame alget-application-revisioncomandoespecificando

bull El nombre de la aplicacioacuten Para obtener el nombre de la aplicacioacuten ejecute elUsar una lista deaplicacionescomando

bull En el caso de una revisioacuten almacenada en GitHub el nombre del repositorio de GitHub y el ID de laconfirmacioacuten asociada a la revisioacuten almacenada en el repositorio

bull En el caso de una revisioacuten almacenada en Amazon S3 el nombre del bucket de Amazon S3 quecontiene la revisioacuten el nombre y tipo del archivo de almacenamiento y opcionalmente el identificadorde versioacuten de Amazon S3 y la ETag del archivo de almacenamiento Si se especificoacute el identificador deversioacuten la ETag o ambos al ejecutarregister-application-revision deben especificarse aquiacute

Para ver detalles de varias revisiones de aplicacioacuten llame allist-revisiones de aplicacionescomandoespecificando

bull El nombre de la aplicacioacuten Para obtener el nombre de la aplicacioacuten ejecute elUsar una lista deaplicacionescomando

bull Opcionalmente para ver solo los detalles de las revisiones en Amazon S3 el nombre del bucket deAmazon S3 que contiene las revisiones

bull Opcionalmente para ver solo los detalles de las revisiones en Amazon S3 una cadena prefijo para limitarla buacutesqueda de las revisiones de aplicacioacuten de Amazon S3 (Si no se especifica CodeDeploy mostraraacutetodas las revisiones de aplicacioacuten que coincidan en Amazon S3)

bull Opcionalmente si se deben mostrar los detalles de las revisiones en funcioacuten de si son revisionesde destino de un grupo de implementaciones (Si no se especifica CodeDeploy mostraraacute todas lasrevisiones coincidentes)

bull Opcionalmente el nombre de la columna y el orden en que deben mostrarse la lista de detalles de lasrevisiones (Si no se especifica CodeDeploy mostraraacute los resultados en un orden arbitrario)

Es posible incluir todas las revisiones o solo las revisiones almacenadas en Amazon S3 No es posibleincluir solo las revisiones almacenadas en GitHub

Registrar una revisioacuten de aplicacioacuten en Amazon S3con CodeDeploy

Si ya has llamado alpushpara enviar una revisioacuten de una aplicacioacuten a Amazon S3 no es necesarioregistrar la revisioacuten Sin embargo si carga una revisioacuten en Amazon S3 por otros medios y desea queaparezca en la consola de CodeDeploy o a traveacutes de laAWS CLI siga estos pasos para registrar primero larevisioacuten

Si ha enviado una revisioacuten de una aplicacioacuten a un repositorio de GitHub y desea que aparezca en laconsola de CodeDeploy o a traveacutes de laAWS CLI tambieacuten debe seguir estos pasos

Solo puede utilizar laAWS CLIo las API de CodeDeploy para registrar revisiones de aplicaciones enAmazon S3 o GitHub

Temasbull Registro de una revisioacuten en Amazon S3 con CodeDeploy (CLI) (p 321)

Versioacuten de API 2014-10-06320

AWS CodeDeploy Guiacutea del usuarioRegistro de una revisioacuten en

Amazon S3 con CodeDeploy (CLI)

bull Registro de una revisioacuten en GitHub con CodeDeploy (CLI) (p 321)

Registro de una revisioacuten en Amazon S3 conCodeDeploy (CLI)1 Cargue la revisioacuten en Amazon S32 Llame a laregister-application-revision especificando

bull El nombre de la aplicacioacuten Para ver una lista de nombres de aplicaciones ejecute laAplicaciones delistacomando

bull informacioacuten acerca de la revisioacuten que desea registrarbull El nombre del bucket de Amazon S3 que contiene la revisioacutenbull Nombre y tipo de archivo de la revisioacuten cargada ParaAWS Lambdaimplementaciones de la

revisioacuten es un archivo de AppSpec escrito en JSON o YAML Para las implementaciones EC2On-Premises la revisioacuten contiene una versioacuten de los archivos fuente que CodeDeploy implementaraacuteen las instancias o de los scripts que CodeDeploy ejecutaraacute en las instancias

Note

Los formatos de archivo tar y tar comprimido (tar y targz) no se admiten para lasinstancias de Windows Server

bull (Opcional) Identificador de versioacuten de Amazon S3 correspondiente a la versioacuten (Si no seespecifica el identificador de versioacuten CodeDeploy usaraacute la versioacuten maacutes reciente)

bull (Opcional) ETag de la revisioacuten (Si no se especifica la ETag CodeDeploy omitiraacute la validacioacuten deobjeto)

bull (Opcional) Una descripcioacuten que desee asociar a la revisioacuten

La informacioacuten sobre las revisiones de Amazon S3 puede especificarse en la liacutenea de comandos utilizandola sintaxis siguiente como parte de laregister-application-revisionLlame a (versionyeTagson opcionales)

Para un archivo de revisioacuten para una implementacioacuten EC2On-Premises

--s3-location bucket=stringkey=stringbundleType=tar|tgz|zipversion=stringeTag=string

Para un archivo de revisioacuten para unAWSDespliegue de Lambda

--s3-location bucket=stringkey=stringbundleType=JSON|YAMLversion=stringeTag=string

Registro de una revisioacuten en GitHub con CodeDeploy(CLI)

Note

Las implementaciones de AWS Lambda no funcionan con GitHub

1 Cargue la revisioacuten en el repositorio GitHub2 Llame a laregister-application-revision especificando

bull El nombre de la aplicacioacuten Para ver una lista de nombres de aplicaciones ejecute laAplicaciones delistacomando

bull informacioacuten acerca de la revisioacuten que desea registrar

Versioacuten de API 2014-10-06321

AWS CodeDeploy Guiacutea del usuarioRegistro de una revisioacuten en GitHub con CodeDeploy (CLI)

bull El nombre de usuario de GitHub o el nombre del grupo asignado al repositorio que contiene larevisioacuten seguido de una barra inclinada () y del nombre del repositorio

bull El ID de la confirmacioacuten correspondiente a la revisioacuten en el repositoriobull (Opcional) Una descripcioacuten que desee asociar a la revisioacuten

La informacioacuten sobre las revisiones de GitHub puede especificarse en la liacutenea de comandos utilizando lasintaxis siguiente como parte de la llamada a register-application-revision

--github-location repository=stringcommitId=string

Versioacuten de API 2014-10-06322

AWS CodeDeploy Guiacutea del usuario

Uso de las implementaciones enCodeDeploy

En CodeDeploy una implementacioacuten es el proceso de instalar contenido en una o varias instanciasy los componentes implicados en eacutel El contenido puede ser coacutedigo archivos web y de configuracioacutenejecutables paquetes scripts etc CodeDeploy implementa contenido almacenado en un repositorio deorigen de acuerdo con las reglas de configuracioacuten especificadas

Si utiliza la plataforma de computacioacuten EC2On-Premises pueden ejecutarse simultaacuteneamente dosimplementaciones en el mismo conjunto de instancias

CodeDeploy ofrece dos opciones de tipo de implementacioacuten in situ e implementaciones laquobluegreenraquo (azulverde)

bull Implementacioacuten in situ Se detiene la aplicacioacuten de cada instancia del grupo de implementacioacuten seinstala la uacuteltima revisioacuten de la aplicacioacuten y se inicia y valida la nueva versioacuten de la aplicacioacuten Puedeutilizar un balanceador de carga de modo que se cancele el registro de cada instancia durante suimplementacioacuten y a continuacioacuten vuelva a ponerse en servicio una vez completada la implementacioacutenSolo las implementaciones que usan la plataforma de computacioacuten EC2On-Premises pueden utilizarimplementaciones laquoin-placeraquo Para obtener maacutes informacioacuten acerca de las implementaciones in-placeconsulte Descripcioacuten general de una implementacioacuten laquoin-placeraquo (p 8)

bull Implementacioacuten bluegreen El funcionamiento de la implementacioacuten depende de la plataforma decomputacioacuten que utilicebull Bluegreen en una plataforma de computacioacuten EC2On-Premises Las instancias de un grupo de

implementacioacuten (el entorno original) se sustituyen por otro conjunto de instancias (el entorno desustitucioacuten) siguiendo estos pasosbull Se aprovisionan instancias para el entorno de sustitucioacutenbull La uacuteltima revisioacuten de la aplicacioacuten se instala en las instancias de sustitucioacutenbull Se produce un tiempo de espera opcional para actividades tales como pruebas de aplicaciones y

verificacioacuten del sistemabull Las instancias del entorno de sustitucioacuten se registran con un balanceador de carga de Elastic Load

Balancing lo que provoca que el traacutefico se redirija a ellas Las instancias del entorno original secancelan del registro y pueden terminarse o mantenerse en ejecucioacuten para otros usos

Note

Si utiliza una plataforma informaacutetica EC2local tenga en cuenta que las implementaciones enazul y verde funcionan uacutenicamente con instancias de Amazon EC2

bull Bluegreen en unaAWS Lambdao plataforma informaacutetica Amazon ECS El traacutefico se desviacutea enincrementos de acuerdo con unacanariolineal o bientodo a la vezconfiguracioacuten de implementacioacutenPara obtener maacutes informacioacuten consulte Configuracioacuten de implementacioacuten (p 13)

bull Implementaciones bluegreen (azul-verde) conAWS CloudFormation El traacutefico se desplaza de losrecursos actuales a los recursos actualizados como parte de unaAWS CloudFormationactualizacioacuten depila de Actualmente solo se admiten implementaciones de ECS bluegreen (azulverde)

Para obtener maacutes informacioacuten acerca de las implementaciones bluegreen consulte Descripcioacuten generalde una implementacioacuten laquobluegreenraquo (p 9)

Para obtener informacioacuten sobre la implementacioacuten automaacutetica desde Amazon S3 consulteImplementacioacutenautomaacutetica desde Amazon S3 mediante CodeDeploy

Versioacuten de API 2014-10-06323

AWS CodeDeploy Guiacutea del usuarioCrear una implementacioacuten

Temasbull Cree una implementacioacuten con CodeDeploy (p 324)bull Ver detalles de implementacioacuten de CodeDeploy (p 340)bull Ver datos de registro de las implementaciones de CodeDeploy EC2On-Premises (p 342)bull Detener una implementacioacuten con CodeDeploy (p 344)bull Redesplegar y deshacer una implementacioacuten con CodeDeploy (p 345)bull Implementar una aplicacioacuten en otroAWScuenta (p 349)bull Usar el agente de CodeDeploy para validar un paquete de implementacioacuten en una maacutequina

local (p 352)

Cree una implementacioacuten con CodeDeployPuede utilizar la consola de CodeDeployAWS CLIo las API de CodeDeploy para crear una implementacioacutenque instale revisiones aplicaciones que ya haya enviado a Amazon S3 o si la implementacioacuten estaacute en unaplataforma de computacioacuten EC2On-Premises GitHub en las instancias de un grupo de implementaciones

El proceso para crear una implementacioacuten depende de la plataforma de computacioacuten usada en laimplementacioacuten

Temasbull Requisitos previos para la implementacioacuten (p 324)bull Crear una implementacioacuten de Amazon ECS (consola) (p 327)bull Creacioacuten de unAWSImplementacioacuten de Lambda Compute Platform (consola) (p 328)bull Crear una implementacioacuten de Compute Platform (consola) de EC2On-Premises (p 329)bull Crear una implementacioacuten de Amazon ECS Compute Platform (CLI) (p 333)bull Creacioacuten de unAWSImplementacioacuten de Lambda Compute Platform (CLI) (p 334)bull Crear una implementacioacuten de plataforma de computacioacuten EC2On-Premises (CLI) (p 335)bull Cree una implementacioacuten bluegreen (azulverde) de Amazon ECS medianteAWS

CloudFormation (p 337)

Requisitos previos para la implementacioacutenAseguacuterese de seguir estos pasos antes de iniciar una implementacioacuten

Requisitos previos de implementacioacuten en unAWSLambdaplataforma de computacioacutenbull Cree una aplicacioacuten que incluya al menos un grupo de implementaciones Para obtener maacutes

informacioacuten consulte Crear una aplicacioacuten con CodeDeploy (p 273) y Creacioacuten de un grupo deimplementaciones con CodeDeploy (p 288)

bull Prepare la revisioacuten de la aplicacioacuten (es decir el archivo AppSpec) que especifica la versioacuten de la funcioacutenLambda que va a implementar El archivo AppSpec tambieacuten puede especificar funciones Lambda paravalidar la implementacioacuten Para obtener maacutes informacioacuten consulteUso de revisiones de aplicaciones deCodeDeploy (p 307)

bull Si desea utilizar una configuracioacuten de implementacioacuten personalizada para su implementacioacuten creacuteelaantes de iniciar el proceso de implementacioacuten Para obtener informacioacuten consulte Create a DeploymentConfiguration (p 269)

Versioacuten de API 2014-10-06324

AWS CodeDeploy Guiacutea del usuarioRequisitos previos para la implementacioacuten

Requisitos previos de implementacioacuten en una plataforma decomputacioacuten EC2On-Premisesbull Si se trata de una implementacioacuten in-place cree o configure las instancias en las que desea realizar la

implementacioacuten Para obtener informacioacuten consulte Trabajo con instancias para CodeDeploy (p 207)Si se trata de una implementacioacuten bluegreen dispone de un grupo de Amazon EC2 Auto Scaling parautilizarlo como plantilla para el entorno de sustitucioacuten o de una o varias instancias o grupos de AmazonEC2 Auto Scaling que deberaacute especificar como entorno original Para obtener maacutes informacioacuten consulteTutorial UsarCodeDeploypara implementar una aplicacioacuten en un grupo de Auto Scaling (p 110) yIntegracioacuten de CodeDeploy con Amazon EC2 Auto Scaling (p 53)

bull Cree una aplicacioacuten que incluya al menos un grupo de implementaciones Para obtener maacutesinformacioacuten consulte Crear una aplicacioacuten con CodeDeploy (p 273) y Creacioacuten de un grupo deimplementaciones con CodeDeploy (p 288)

bull Prepare la revisioacuten de la aplicacioacuten que desea implementar en las instancias del grupo deimplementaciones Para obtener informacioacuten consulte Uso de revisiones de aplicaciones deCodeDeploy (p 307)

bull Si desea utilizar una configuracioacuten de implementacioacuten personalizada para su implementacioacuten creacuteelaantes de iniciar el proceso de implementacioacuten Para obtener informacioacuten consulte Create a DeploymentConfiguration (p 269)

bull Si estaacute implementando una revisioacuten de la aplicacioacuten desde un bucket de Amazon S3 el bucket estaacute en elmismoAWSRegioacuten como instancias del grupo de implementaciones

bull Si estaacute implementando una revisioacuten de la aplicacioacuten desde un bucket de Amazon S3 debe haberseaplicado al bucket una poliacutetica de bucket de Amazon S3 Esta poliacutetica concede a las instancias lospermisos necesarios para descargar la revisioacuten de la aplicacioacuten

Por ejemplo la siguiente poliacutetica de bucket de Amazon S3 permite cualquier instancia de Amazon EC2con un perfil de instancia de IAM adjunto que contenga el ARNarnawsiam444455556666roleCodeDeployDemopara descargar desde cualquier parte del bucket de Amazon S3denominadocodedeploydemobucket

Statement [ Action [ s3Get s3List ] Effect Allow Resource arnawss3codedeploydemobucket Principal AWS [ arnawsiam444455556666roleCodeDeployDemo ] ]

La siguiente poliacutetica de bucket de Amazon S3 permite cualquier instancia on-premises con un usuario deIAM asociado que contenga el ARNarnawsiam444455556666userCodeDeployUserparadescargar desde cualquier parte del bucket de Amazon S3 denominadocodedeploydemobucket

Statement [ Action [ s3Get

Versioacuten de API 2014-10-06325

AWS CodeDeploy Guiacutea del usuarioRequisitos previos para la implementacioacuten

s3List ] Effect Allow Resource arnawss3codedeploydemobucket Principal AWS [ arnawsiam444455556666userCodeDeployUser ] ]

Para obtener informacioacuten acerca de coacutemo generar y asociar una poliacutetica de bucket de Amazon S3consulteEjemplos de poliacutetica de bucket

bull Si estaacute creando una implementacioacuten laquobluegreenraquo o si ha especificado un Classic Load BalancerApplication Load Balancer o Network Load Balancer en el grupo de implementaciones para unaimplementacioacuten in situ habraacute creado una VPC mediante Amazon VPC que contenga al menos dossubredes (CodeDeploy utiliza Elastic Load Balancing que requiere que todas las instancias de un grupode balanceadores de carga se encuentren en una uacutenica VPC)

Si no ha creado una VPC consulte laGuiacutea de introduccioacuten a Amazon VPCbull Si estaacute creando una implementacioacuten laquobluegreenraquo haber configurado un Classic Load Balancer

Application Load Balancer o Network Load Balancer en Elastic Load Balancing y haberlo utilizado pararegistrar las instancias que componen el entorno original

Note

Las instancias del entorno de sustitucioacuten se registraraacuten con el balanceador de carga en otromomento

Para configurar el Classic Load Balancer realice los pasos descritos enTutorial Creacioacuten de un ClassicLoad BalancerenGuiacutea del usuario para Classic Load Balancers Al hacerlo tenga presente lo siguientebull EnPaso 2 Define Load Balancer (Definir balanceador de carga) enCrear LB Inside elija la misma

VPC que seleccionoacute al crear las instanciasbull EnPaso 5 Registrar instancias EC2 con el Load Balancer seleccione las instancias del entorno

originalbull EnPaso 7 Crear y verificar su balanceador de carga anote la direccioacuten DNS del balanceador de

carga

Por ejemplo si denominoacute su balanceador de carga my-load-balancer su direccioacuten DNS apareceraacuteen un formato como my-load-balancer-1234567890us-east-2elbamazonawscom

Al pegar el nombre del DNS en el campo de direccioacuten de un navegador web debe poder ver laaplicacioacuten que ha implementado para su entorno original

Para configurar un Application Load Balancer siga las instrucciones en uno de los siguientes temasbull Creacioacuten de un Application Load Balancerbull Tutoriales Crear un Application Load Balancer mediante elAWS CLI

Para configurar un Network Load Balancer siga las instrucciones en uno de los siguientes temasbull Crear un balanceador de carga de redbull Tutoriales Cree un Network Load Balancer mediante elAWS CLI

Versioacuten de API 2014-10-06326

AWS CodeDeploy Guiacutea del usuarioCrear una implementacioacuten de Amazon ECS (consola)

Requisitos previos de implementacioacuten para una implementacioacutenbluegreen (azulverde) medianteAWS CloudFormationbull La plantilla no necesita modelar recursos para una aplicacioacuten de CodeDeploy o un grupo de

implementacionesbull La plantilla debe incluir recursos para una VPC usando Amazon VPC que contenga al menos dos

subredesbull La plantilla debe incluir recursos para Classic Load Balancer Application Load Balancer o Network Load

Balancer en Elastic Load Balancing que se utiliza para dirigir el traacutefico a los grupos de destino

Crear una implementacioacuten de Amazon ECS (consola)En este tema se muestra coacutemo implementar un servicio de Amazon ECS mediante la consola Paraobtener maacutes informacioacuten consulte Tutorial Implementar un servicio de Amazon ECS (p 139) y TutorialImplementacioacuten de un servicio Amazon ECS con una prueba de validacioacuten (p 147)

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 Realice alguna de las siguientes acciones

bull Si desea implementar una aplicacioacuten en el panel de navegacioacuten expanda Deploy (Implementar)y a continuacioacuten elija Applications (Aplicaciones) Elija el nombre de la aplicacioacuten que deseaimplementar Aseguacuterese de que laPlataforma de computacioacutencolumna para su aplicacioacuten esAmazonECS

bull Si desea volver a implementar una implementacioacuten en el panel de navegacioacuten expandaDeploy (Implementar) y a continuacioacuten elija Deployments (Implementaciones) Seleccione laimplementacioacuten que desea volver a implementar y en la columna Application (Aplicacioacuten) elijael nombre de su aplicacioacuten Aseguacuterese de que laPlataforma de computacioacutencolumna para suimplementacioacuten esAmazon ECS

3 En la pestantildea Deployments (Implementaciones) elija Create deployment (Crear implementacioacuten)

Note

La aplicacioacuten debe tener un grupo de implementacioacuten antes de poder implementarlaSi la aplicacioacuten no tiene un grupo de implementaciones en laGrupos deimplementacionespestantildea elijaCreacioacuten de un grupo de implementaciones Paraobtener maacutes informacioacuten consulte Creacioacuten de un grupo de implementaciones conCodeDeploy (p 288)

4 En Deployment group (Grupo de implementaciones) elija el grupo de implementaciones que va autilizar para esta implementacioacuten

5 Junto a Revision location (Ubicacioacuten de la revisioacuten) elija el lugar donde se encuentra la revisioacuten

bull Mi aplicacioacuten se almacena en Amazon S3mdash Para obtener informacioacuten consulteEspecificarinformacioacuten acerca de una revisioacuten almacenada en un bucket de Amazon S3 (p 331)y despueacutesvuelva al paso 6

bull Utilizar el editor AppSpec seleccione JSON o YAML y a continuacioacuten especifique el archivoAppSpec en el editor Puede guardar el archivo AppSpec seleccionandoGuardar como archivo detexto Cuando elija Deploy (Implementar) al final de estos pasos recibiraacute un error si el coacutedigo JSON

Versioacuten de API 2014-10-06327

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de unAWSImplementacioacuten de

Lambda Compute Platform (consola)

o YAML no es vaacutelido Para obtener maacutes informacioacuten acerca de coacutemo crear un archivo AppSpecconsulteAgregar un archivo de especificacioacuten de aplicacioacuten a una revisioacuten de CodeDeploy (p 308)

6 (Opcional) En el cuadro Deployment description (Descripcioacuten de la implementacioacuten) introduzca unadescripcioacuten para la implementacioacuten

7 (Opcional) En Rollback configuration overrides puede especificar opciones de restauracioacutenautomaacutetica de esta implementacioacuten distintas de las que se hayan especificado para el grupo deimplementaciones si las hay

Para obtener informacioacuten acerca de restauraciones en CodeDeploy consulteReimplementacionesy restauracioacuten de implementaciones (p 18)yRedesplegar y deshacer una implementacioacuten conCodeDeploy (p 345)

Elija una de las siguientes opciones

bull Roll back when a deployment fails CodeDeploy redistribuye la uacuteltima revisioacuten correcta conocidacomo una nueva implementacioacuten

bull Roll back when alarm thresholds are met (Roll back when si se antildeaden alarmas al grupo deimplementaciones CodeDeploy redistribuye la uacuteltima revisioacuten correcta conocida al activarse una omaacutes alarmas especificadas

bull Deshabilitar rollbacks no se realizan restauraciones de la implementacioacuten8 Elija Create deployment (Crear implementacioacuten)

Para realizar un seguimiento del estado de la implementacioacuten consulte Ver detalles deimplementacioacuten de CodeDeploy (p 340)

Creacioacuten de unAWSImplementacioacuten de LambdaCompute Platform (consola)En este tema se muestra coacutemo implementar una funcioacuten de Lambda mediante la consola

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 Realice alguna de las siguientes acciones

bull Si desea implementar una aplicacioacuten en el panel de navegacioacuten expanda Deploy (Implementar)y a continuacioacuten elija Applications (Aplicaciones) Elija el nombre de la aplicacioacuten que deseaimplementar Aseguacuterese de que laPlataforma de computacioacutencolumna para su aplicacioacutenesAWSLambda

bull Si desea volver a implementar una implementacioacuten en el panel de navegacioacuten expandaDeploy (Implementar) y a continuacioacuten elija Deployments (Implementaciones) Seleccione laimplementacioacuten que desea volver a implementar y en la columna Application (Aplicacioacuten) elijael nombre de su aplicacioacuten Aseguacuterese de que laPlataforma de computacioacutencolumna para suimplementacioacuten esAWSLambda

3 En la pestantildea Deployments (Implementaciones) elija Create deployment (Crear implementacioacuten)

Note

La aplicacioacuten debe tener un grupo de implementacioacuten antes de poder implementarlaSi la aplicacioacuten no tiene un grupo de implementaciones en laGrupos deimplementacionespestantildea elijaCreacioacuten de un grupo de implementaciones Para

Versioacuten de API 2014-10-06328

AWS CodeDeploy Guiacutea del usuarioCrear una implementacioacuten de ComputePlatform (consola) de EC2On-Premises

obtener maacutes informacioacuten consulte Creacioacuten de un grupo de implementaciones conCodeDeploy (p 288)

4 En Deployment group (Grupo de implementaciones) elija el grupo de implementaciones que va autilizar para esta implementacioacuten

5 Junto a Revision location (Ubicacioacuten de la revisioacuten) elija el lugar donde se encuentra la revisioacuten

bull Mi aplicacioacuten se almacena en Amazon S3mdash Para obtener informacioacuten consulteEspecificarinformacioacuten acerca de una revisioacuten almacenada en un bucket de Amazon S3 (p 331)y despueacutesvuelva al paso 6

bull Utilizar el editor AppSpec seleccione JSON o YAML y a continuacioacuten especifique el archivoAppSpec en el editor Puede guardar el archivo AppSpec seleccionandoGuardar como archivo detexto Cuando elija Deploy (Implementar) al final de estos pasos recibiraacute un error si el coacutedigo JSONo YAML no es vaacutelido Para obtener maacutes informacioacuten acerca de coacutemo crear un archivo AppSpecconsulteAgregar un archivo de especificacioacuten de aplicacioacuten a una revisioacuten de CodeDeploy (p 308)

6 (Opcional) En el cuadro Deployment description (Descripcioacuten de la implementacioacuten) introduzca unadescripcioacuten para la implementacioacuten

7 (Opcional) ExpandaModificaciones de grupo de implementacionespara elegir una configuracioacuten deimplementacioacuten que controle coacutemo se desviacutea el traacutefico a una versioacuten de la funcioacuten Lambda distinta dela que se especifica en el grupo de implementaciones

Para obtener maacutes informacioacuten consulte Configuraciones de implementacioacuten en unaAWSLambdaplataforma de computacioacuten (p 268)

8 (Opcional) En Rollback configuration overrides puede especificar opciones de restauracioacutenautomaacutetica de esta implementacioacuten distintas de las que se hayan especificado para el grupo deimplementaciones si las hay

Para obtener informacioacuten acerca de restauraciones en CodeDeploy consulteReimplementacionesy restauracioacuten de implementaciones (p 18)yRedesplegar y deshacer una implementacioacuten conCodeDeploy (p 345)

Elija una de las siguientes opciones

bull Roll back when a deployment fails CodeDeploy redistribuye la uacuteltima revisioacuten correcta conocidacomo una nueva implementacioacuten

bull Roll back when alarm thresholds are met (Roll back when si se antildeaden alarmas al grupo deimplementaciones CodeDeploy redistribuye la uacuteltima revisioacuten correcta conocida al activarse una omaacutes alarmas especificadas

bull Deshabilitar rollbacks no se realizan restauraciones de la implementacioacuten9 Elija Create deployment (Crear implementacioacuten)

Para realizar un seguimiento del estado de la implementacioacuten consulte Ver detalles deimplementacioacuten de CodeDeploy (p 340)

Crear una implementacioacuten de Compute Platform(consola) de EC2On-PremisesEn este tema se muestra coacutemo implementar una aplicacioacuten en Amazon EC2 o en un servidor localmediante la consola

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Versioacuten de API 2014-10-06329

AWS CodeDeploy Guiacutea del usuarioCrear una implementacioacuten de ComputePlatform (consola) de EC2On-Premises

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 Realice alguna de las siguientes acciones

bull Si desea implementar una aplicacioacuten en el panel de navegacioacuten expanda Deploy (Implementar)y a continuacioacuten elija Applications (Aplicaciones) Elija el nombre de la aplicacioacuten que deseaimplementar Aseguacuterese de que laPlataforma de computacioacutencolumna para su aplicacioacuten esEC2On-Premises

bull Si desea volver a implementar una implementacioacuten en el panel de navegacioacuten expanda Deploy(Implementar) y a continuacioacuten elija Deployments (Implementaciones) Localice la implementacioacutenque desea volver a implementar y a continuacioacuten elija el nombre de su aplicacioacuten en la columnaApplication (Aplicacioacuten) Aseguacuterese de que laPlataforma de computacioacutencolumna para suimplementacioacuten esEC2On-Premises

3 En la pestantildea Deployments (Implementaciones) elija Create deployment (Crear implementacioacuten)

Note

La aplicacioacuten debe tener un grupo de implementacioacuten antes de poder implementarlaSi la aplicacioacuten no tiene un grupo de implementaciones en laGrupos deimplementacionespestantildea elijaCreacioacuten de un grupo de implementaciones Paraobtener maacutes informacioacuten consulte Creacioacuten de un grupo de implementaciones conCodeDeploy (p 288)

4 En Deployment group (Grupo de implementaciones) elija el grupo de implementaciones que va autilizar para esta implementacioacuten

5 Junto a Repository type (Tipo de repositorio) seleccione el tipo de repositorio en el que estaacutealmacenada la revisioacuten

bull Mi aplicacioacuten se almacena en Amazon S3mdash Para obtener informacioacuten consulteEspecificarinformacioacuten acerca de una revisioacuten almacenada en un bucket de Amazon S3 (p 331)y despueacutesvuelva al paso 6

bull Mi aplicacioacuten estaacute almacenada en GitHubmdash Para obtener informacioacuten consulteEspecificarinformacioacuten sobre una revisioacuten almacenada en un repositorio de GitHub (p 332)y despueacutesvuelva al paso 6

6 (Opcional) En el cuadro Deployment description (Descripcioacuten de la implementacioacuten) introduzca unadescripcioacuten para la implementacioacuten

7 (Opcional) ExpandaSustituir configuracioacuten de implementacioacutenpara elegir una configuracioacuten deimplementacioacuten que controle coacutemo se desviacutea el traacutefico a Amazon EC2 o al servidor on-premisesdistinto del que se especifica en el grupo de implementaciones

Para obtener maacutes informacioacuten consulte Uso de configuraciones de implementacioacuten enCodeDeploy (p 264)

8 a Seleccione Dont fail the deployment if the ApplicationStop lifecycle event fails (Dar como vaacutelidala implementacioacuten si el evento ApplicationStop del ciclo de vida produce un error) si desea queuna implementacioacuten en una instancia se realice correctamente si el evento del ciclo de vidaApplicationStop produce un error

b AmpliarConfiguracioacuten adicional del comportamiento de implementacioacutenpara especificar el modoen que CodeDeploy gestiona archivos en una ubicacioacuten de destino de implementacioacuten que nohaya formado parte de la implementacioacuten anterior realizada correctamente

Elija una de las siguientes opciones

bull Error de implementacioacutenmdash Se notifica un error y el estado de implementacioacuten cambia aFailed

Versioacuten de API 2014-10-06330

AWS CodeDeploy Guiacutea del usuarioCrear una implementacioacuten de ComputePlatform (consola) de EC2On-Premises

bull Sobrescribir el contenido si hay un archivo del mismo nombre en la ubicacioacuten de destino laversioacuten de la revisioacuten de la aplicacioacuten lo sustituye

bull Mantenga el contenido si hay un archivo del mismo nombre en la ubicacioacuten de destino elarchivo se conserva y la versioacuten de la revisioacuten de la aplicacioacuten no se copia en la instancia

Para obtener maacutes informacioacuten consulte Comportamiento de reversioacuten con contenidoexistente (p 347)

9 (Opcional) En Rollback configuration overrides puede especificar opciones de restauracioacutenautomaacutetica de esta implementacioacuten distintas de las que se hayan especificado para el grupo deimplementaciones si las hay

Para obtener informacioacuten acerca de restauraciones en CodeDeploy consulteReimplementacionesy restauracioacuten de implementaciones (p 32)yRedesplegar y deshacer una implementacioacuten conCodeDeploy (p 345)

Elija una de las siguientes opciones

bull Roll back when a deployment fails CodeDeploy redistribuye la uacuteltima revisioacuten correcta conocidacomo una nueva implementacioacuten

bull Roll back when alarm thresholds are met (Roll back when si se antildeaden alarmas al grupo deimplementaciones CodeDeploy implementa la uacuteltima revisioacuten correcta conocida al activarse una omaacutes alarmas especificadas

bull Deshabilitar rollbacks no se realizan restauraciones de la implementacioacuten10 Elija Start deployment (Iniciar la implementacioacuten)

Para realizar un seguimiento del estado de la implementacioacuten consulte Ver detalles deimplementacioacuten de CodeDeploy (p 340)

Temasbull Especificar informacioacuten acerca de una revisioacuten almacenada en un bucket de Amazon S3 (p 331)bull Especificar informacioacuten sobre una revisioacuten almacenada en un repositorio de GitHub (p 332)

Especificar informacioacuten acerca de una revisioacuten almacenada en unbucket de Amazon S3Si sigues los pasos descritos enCrear una implementacioacuten de Compute Platform (consola) de EC2On-Premises (p 329) siga estos pasos para antildeadir detalles acerca de una revisioacuten de la aplicacioacutenalmacenada en un bucket de Amazon S3

1 Copie el enlace Amazon S3 de la revisioacuten enUbicacioacuten de revisioacuten Para encontrar el valor del enlace

a En una pestantildea diferente del navegador

Inicie sesioacuten en la AWS Management Console y abra la consola de Amazon S3 en httpsconsoleawsamazoncoms3

Busque y seleccione la revisioacutenb Si el panel Properties no estaacute visible elija el botoacuten Propertiesc En el navegadorPropiedades copie el valor deViacutenculoen laUbicacioacuten de revisioacutenen la consola de

CodeDeploy

Versioacuten de API 2014-10-06331

AWS CodeDeploy Guiacutea del usuarioCrear una implementacioacuten de ComputePlatform (consola) de EC2On-Premises

Para especificar una ETag (una suma de comprobacioacuten de archivo) como parte de la ubicacioacuten de larevisioacuten

bull Si el valor del campo Link (Enlace) termina en versionId=versionId antildeada ampetag= y la ETagal final del valor del campo Link (Enlace)

bull Si el valor del campo Link (Enlace) no especifica un ID de versioacuten antildeada etag= y la ETag al finaldel valor del campo Link (Enlace)

Note

Aunque no es tan faacutecil como copiar el valor del campo Link tambieacuten puede escribir laubicacioacuten de la revisioacuten en uno de los siguientes formatoss3bucket-namefoldersobjectNames3bucket-namefoldersobjectNameversionId=versionIds3bucket-namefoldersobjectNameetag=etags3bucket-namefoldersobjectNameversionId=versionIdampetag=etagbucket-names3amazonawscomfoldersobjectName

2 Si aparece un mensaje en la lista File type que indique que no se ha podido detectar el tipo de archivoseleccione el tipo de archivo de la revisioacuten En caso contrario acepte el tipo de archivo detectado

Especificar informacioacuten sobre una revisioacuten almacenada en unrepositorio de GitHubSi estaacute siguiendo los pasos descritos en Crear una implementacioacuten de Compute Platform (consola)de EC2On-Premises (p 329) siga estos tambieacuten para antildeadir detalles acerca de una revisioacuten de laaplicacioacuten almacenada en un repositorio de GitHub

1 En Connect to GitHub realice una de las siguientes acciones

bull Para crear una conexioacuten entre aplicaciones de CodeDeploy en una cuenta de GitHub cierre lasesioacuten de GitHub en otra pestantildea del navegador web En GitHub account (Cuenta de GitHub)introduzca un nombre para identificar esta conexioacuten y luego elija Connect to GitHub (Conectar aGitHub) La paacutegina web le pediraacute que autorice a CodeDeploy para interactuar con GitHub para laaplicacioacuten Continuacutee en el paso 2

bull Para utilizar una conexioacuten que haya creado previamente seleccione su nombre en GitHub accounty a continuacioacuten elija Connect to GitHub Continuacutee en el paso 4

bull Para crear una conexioacuten con una cuenta de GitHub distinta cierre la sesioacuten de GitHub en otrapestantildea del navegador web Elija Connect to a different GitHub account y a continuacioacuten elijaConnect to GitHub Continuacutee en el paso 2

2 Si se le pide iniciar sesioacuten en GitHub siga las instrucciones de la paacutegina Sign in Inicie sesioacuten con sunombre de usuario de GitHub o su direccioacuten de correo electroacutenico y contrasentildea

3 Si aparece la paacutegina Authorize application elija Authorize application4 En la paacutegina Create deployment (Crear implementacioacuten) en el cuadro Repository name (Nombre de

repositorio) escriba el nombre de usuario de GitHub o el nombre de la organizacioacuten que contiene larevisioacuten seguido de una barra inclinada () y del nombre del repositorio que contiene la revisioacuten Si noestaacute seguro del valor que debe especificar

a En otra pestantildea del navegador web abra el panel de Githubb En Your repositories pase el cursor sobre el nombre del repositorio de destino Apareceraacute un

mensaje informativo con el nombre de usuario de GitHub o el nombre de la organizacioacuten seguidode una barra inclinada () y del nombre del repositorio Escriba el valor mostrado en el cuadroRepository name (Nombre de repositorio)

Versioacuten de API 2014-10-06332

AWS CodeDeploy Guiacutea del usuarioCrear una implementacioacuten de Amazon

ECS Compute Platform (CLI)

Note

Si el nombre de repositorio de destino no aparece en Your repositories use el cuadroSearch GitHub para buscar repositorio de GitHub de destino y el nombre de usuario onombre de organizacioacuten

5 En el campo Commit ID (ID de confirmacioacuten) escriba el ID de la confirmacioacuten que hace referencia a larevisioacuten en el repositorio Si no estaacute seguro del valor que debe especificar

a En otra pestantildea del navegador web abra el panel de Githubb En Your repositories seleccione el nombre del repositorio que contiene la confirmacioacuten de

destinoc En la lista de confirmaciones busque y copie el ID de confirmacioacuten que hace referencia a la

revisioacuten en el repositorio Este ID suele tener 40 caracteres y se compone de letras y nuacutemerosNo utilice la versioacuten corta del ID de confirmacioacuten que suele ser los primeros 10 caracteres de laversioacuten larga

d Pegue el ID de confirmacioacuten en el cuadro Commit ID

Crear una implementacioacuten de Amazon ECS ComputePlatform (CLI)Una vez creada la aplicacioacuten y la revisioacuten (en las implementaciones Amazon ECS el archivo AppSpec)

Llame alcreate (implementacioacuten)comando de especificando

bull Un nombre de aplicacioacuten Para ver una lista de nombres de aplicaciones ejecute elGenerar una lista deaplicacionescomando

bull El nombre del grupo de implementaciones Para ver una lista de los nombres de los grupos deimplementaciones llame algrupos de despliegue de listascomando

bull Informacioacuten acerca de la revisioacuten a implementar

Para revisiones almacenadas en Amazon S3bull El nombre del bucket de Amazon S3 que contiene la revisioacutenbull El nombre de la revisioacuten cargadabull El identificador de versioacuten de Amazon S3 de la revisioacuten (opcional) (Si no se especifica el identificador

de versioacuten CodeDeploy usa la versioacuten maacutes reciente)bull La ETag de la revisioacuten (opcional) (Si no se especifica la ETag CodeDeploy omite la validacioacuten de

objeto)

Para las revisiones almacenadas en un archivo que no estaacute en Amazon S3 necesita el nombre dearchivo y su ruta El archivo de revisioacuten estaacute escrito en JSON o YAML por lo que probablemente tengauna extensioacuten json o yaml

bull Una descripcioacuten para la implementacioacuten (opcional)

El archivo de revisioacuten se puede especificar como un archivo cargado en un bucket de Amazon S3 o comouna cadena La sintaxis de cada uno cuando se usa como parte del comando create-deployment es

bull Bucket de Amazon S3

Los paraacutemetros version y eTag son opcionales

--s3-location bucket=stringkey=stringbundleType=JSON|YAMLversion=stringeTag=string

Versioacuten de API 2014-10-06333

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de unAWSImplementacioacutende Lambda Compute Platform (CLI)

bull Cadena

--revision revisionType String string contentrevision-as-string

Note

El comando create-deployment puede cargar una revisioacuten desde un archivo Para obtener maacutesinformacioacuten consulte Carga de paraacutemetros desde un archivo

Para las plantillas de revisioacuten de implementaciones de AWS Lambda consulte Adicioacuten de un archivoAppSpec para unAWSImplementacioacuten de Lambda (p 310) Para ver una revisioacuten de ejemplo consulte Ejemplo de archivo de AppSpec para unAWSImplementacioacuten de Lambda (p 438)

Para realizar un seguimiento del estado de la implementacioacuten consulte Ver detalles de implementacioacuten deCodeDeploy (p 340)

Creacioacuten de unAWSImplementacioacuten de LambdaCompute Platform (CLI)

Una vez creada la aplicacioacuten y la revisioacuten (enAWSImplementaciones Lambda este es el archivo AppSpec)

Llame alcreate (implementacioacuten)comando de especificando

bull Un nombre de aplicacioacuten Para ver una lista de nombres de aplicaciones ejecute elGenerar una lista deaplicacionescomando

bull El nombre del grupo de implementaciones Para ver una lista de los nombres de los grupos deimplementaciones llame algrupos de despliegue de listascomando

bull Informacioacuten acerca de la revisioacuten a implementar

Para revisiones almacenadas en Amazon S3bull El nombre del bucket de Amazon S3 que contiene la revisioacutenbull El nombre de la revisioacuten cargadabull El identificador de versioacuten de Amazon S3 de la revisioacuten (opcional) (Si no se especifica el identificador

de versioacuten CodeDeploy usa la versioacuten maacutes reciente)bull La ETag de la revisioacuten (opcional) (Si no se especifica la ETag CodeDeploy omite la validacioacuten de

objeto)

Para las revisiones almacenadas en un archivo que no estaacute en Amazon S3 necesita el nombre dearchivo y su ruta El archivo de revisioacuten estaacute escrito en JSON o YAML por lo que probablemente tengauna extensioacuten json o yaml

bull El nombre de la configuracioacuten de implementacioacuten a utilizar (opcional) Para ver una lista deconfiguraciones de implementacioacuten llame allist-deployment-configscomando Si no se especifica unaconfiguracioacuten de implementacioacuten CodeDeploy utiliza una predeterminada especiacutefica

bull Una descripcioacuten para la implementacioacuten (opcional)

El archivo de revisioacuten se puede especificar como un archivo cargado en un bucket de Amazon S3 o comouna cadena La sintaxis de cada uno cuando se usa como parte del comando create-deployment es

bull Bucket de Amazon S3

Los paraacutemetros version y eTag son opcionales

Versioacuten de API 2014-10-06334

AWS CodeDeploy Guiacutea del usuarioCrear una implementacioacuten de plataformade computacioacuten EC2On-Premises (CLI)

--s3-location bucket=stringkey=stringbundleType=JSON|YAMLversion=stringeTag=string

bull Cadena

--revision revisionType String string contentrevision-as-string

Note

El comando create-deployment puede cargar una revisioacuten desde un archivo Para obtener maacutesinformacioacuten consulte Carga de paraacutemetros desde un archivo

Para las plantillas de revisioacuten de implementaciones de AWS Lambda consulte Adicioacuten de un archivoAppSpec para unAWSImplementacioacuten de Lambda (p 310) Para ver una revisioacuten de ejemplo consulte Ejemplo de archivo de AppSpec para unAWSImplementacioacuten de Lambda (p 438)

Para realizar un seguimiento del estado de la implementacioacuten consulte Ver detalles de implementacioacuten deCodeDeploy (p 340)

Crear una implementacioacuten de plataforma decomputacioacuten EC2On-Premises (CLI)Para utilizar elAWS CLIpara implementar una revisioacuten de la plataforma de computacioacuten EC2On-Premises

1 Una vez preparadas las instancias creada la aplicacioacuten y enviada la revisioacuten realice alguna de lassiguientes accionesbull Si desea implementar una revisioacuten de un bucket de Amazon S3 continuacutee con el paso 2bull Si desea implementar una revisioacuten de un repositorio de GitHub primero siga los pasos descritos en

Connect una aplicacioacuten CodeDeploy a un repositorio de GitHub (p 337) y despueacutes continuacutee con elpaso 2

2 Llame alcreate (implementacioacuten)comando de especificandobull --application-name Un nombre de aplicacioacuten Para ver una lista de nombres de aplicaciones

ejecute elGenerar una lista de aplicacionescomandobull --deployment-group-name Un grupo de implementaciones de Amazon EC2 Para ver una lista

de los nombres de los grupos de implementaciones llame algrupos de despliegue de listascomandobull --revision informacioacuten acerca de la revisioacuten a implementar

Para revisiones almacenadas en Amazon S3bull s3Location El nombre del bucket de Amazon S3 que contiene la revisioacutenbull s3Location --gt key El nombre de la revisioacuten cargadabull s3Location --gt bundleType El tipo de archivo de la revisioacuten cargada

Note

Los formatos de archivo tar y tar comprimido (tar y targz) no se admiten para lasinstancias de Windows Server

bull s3Location --gt version El identificador de versioacuten de Amazon S3 de la revisioacuten (opcional)(Si no se especifica el identificador de versioacuten CodeDeploy usa la versioacuten maacutes reciente)

bull s3Location --gt eTag (Opcional) La ETag de la revisioacuten (Si no se especifica la ETagCodeDeploy omite la validacioacuten de objeto)

Para revisiones almacenadas en GitHubVersioacuten de API 2014-10-06

335

AWS CodeDeploy Guiacutea del usuarioCrear una implementacioacuten de plataformade computacioacuten EC2On-Premises (CLI)

bull gitHubLocation --gt repository El nombre de usuario de GitHub o el nombre del grupoasignado al repositorio que contiene la revisioacuten seguido de una barra inclinada () seguido delnombre del repositorio

bull gitHubLocation --gt commitId El ID de confirmacioacuten de la revisioacutenbull --deployment-config-name El nombre de la configuracioacuten de implementacioacuten a utilizar

(opcional) Para ver una lista de configuraciones de implementacioacuten llame allist-deployment-configscomando Si no se especifica una configuracioacuten de implementacioacuten CodeDeploy utiliza unapredeterminada especiacutefica

bull --ignore-application-stop-failures | --no-ignore-application-stop-failures(Opcional) Si desea que la implementacioacuten en una instancia continuacutee en laBeforeInstalleventodel ciclo de vida de la implementacioacuten si elApplicationStopfalla el evento del ciclo de vida de laimplementacioacuten

bull --description (Opcional) una descripcioacuten para la implementacioacutenbull --file-exists-behavior (Opcional) Como parte del proceso de implementacioacuten el agente

de CodeDeploy elimina de cada instancia todos los archivos instalados por la implementacioacuten maacutesreciente Elija queacute ocurre cuando los archivos que no formaban parte de una implementacioacuten anterioraparecen en las ubicaciones de implementacioacuten de destino

bull --target-instances En el caso de implementaciones bluegreen informacioacuten acerca de lasinstancias que pertenecen al entorno de sustitucioacuten en una implementacioacuten bluegreen incluidos losnombres de uno o varios grupos de Amazon EC2 Auto Scaling o la clave tipo y valor del filtro deetiquetas utilizado para identificar instancias Amazon EC2

Note

Utilice esta sintaxis como parte delcreate-deploymentllamada para especificar informacioacuten de unarevisioacuten en Amazon S3 directamente en la liacutenea de comandos Los paraacutemetros version y eTagson opcionales

--s3-location bucket=stringkey=stringbundleType=tar|tgz|zipversion=stringeTag=string

Utilice esta sintaxis como parte de la llamada create-deployment para especificar informacioacutensobre una revisioacuten en GitHub directamente en la liacutenea de comandos

--github-location repository=stringcommitId=string

Para obtener informacioacuten acerca de las revisiones que se han transferido llame allista-aplicaciones-revisionescomando

Para realizar un seguimiento del estado de la implementacioacuten consulte Ver detalles de implementacioacuten deCodeDeploy (p 340)

referencia de comandos create-deploymentA continuacioacuten se muestra la estructura de comandos y las opciones para elcreate-deploymentcomando Para obtener maacutes informacioacuten consulte lacreate (implementacioacuten)reference intheAWS CLIReferencia de los comandos

create-deployment--application-name ltvaluegt[--deployment-group-name ltvaluegt][--revision ltvaluegt][--deployment-config-name ltvaluegt][--description ltvaluegt]

Versioacuten de API 2014-10-06336

AWS CodeDeploy Guiacutea del usuarioCree una implementacioacuten bluegreen (azulverde)de Amazon ECS medianteAWS CloudFormation

[--ignore-application-stop-failures | --no-ignore-application-stop-failures][--target-instances ltvaluegt][--auto-rollback-configuration ltvaluegt][--update-outdated-instances-only | --no-update-outdated-instances-only][--file-exists-behavior ltvaluegt][--s3-location ltvaluegt][--github-location ltvaluegt][--cli-input-json ltvaluegt][--generate-cli-skeleton ltvaluegt]

Connect una aplicacioacuten CodeDeploy a un repositorio de GitHubAntes de implementar una aplicacioacuten desde un repositorio de GitHub por primera vez usando elAWS CLIprimero debe conceder a CodeDeploy el permiso para interactuar con GitHub en nombre de su cuenta deGitHub Este paso seguirse una vez por cada aplicacioacuten en la consola de CodeDeploy

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 Elija Applications (Aplicaciones)3 En Applications (Aplicaciones) elija la aplicacioacuten que desea vincular a su cuenta de usuario de GitHub

y seleccione Deploy application (Implementar aplicacioacuten)

Note

No estaacute creando una implementacioacuten Actualmente esta es la uacutenica manera de conceder aCodeDeploy el permiso para interactuar con GitHub en nombre de su cuenta de usuario deGitHub

4 Junto a Repository type elija My application revision is stored in GitHub5 Elija Connect to GitHub

Note

Si ve un enlace Connect to a different GitHub accountPuede haber autorizado ya a CodeDeploy para interactuar con GitHub en nombre de unacuenta de GitHub distinta para la aplicacioacutenPuede haber revocado a CodeDeploy la autorizacioacuten para interactuar con GitHub en nombrede la cuenta de GitHub registrada para todas las aplicaciones vinculadas en CodeDeployPara obtener maacutes informacioacuten consulte Autenticacioacuten de GitHub con aplicaciones enCodeDeploy (p 64)

6 Si todaviacutea no ha iniciado sesioacuten en GitHub siga las instrucciones de la paacutegina Sign in7 En la paacutegina Authorize application elija Authorize application8 Ahora que CodeDeploy tiene permiso elijaCancelary continuacutee con los pasos descritos enCrear una

implementacioacuten de plataforma de computacioacuten EC2On-Premises (CLI) (p 335)

Cree una implementacioacuten bluegreen (azulverde) deAmazon ECS medianteAWS CloudFormationPuede usarAWS CloudFormationpara administrar implementaciones bluegreen (azulverde) de AmazonECS a traveacutes de CodeDeploy Para generar la implementacioacuten defina los recursos verdes y azules y

Versioacuten de API 2014-10-06337

AWS CodeDeploy Guiacutea del usuarioCree una implementacioacuten bluegreen (azulverde)de Amazon ECS medianteAWS CloudFormation

especifique la configuracioacuten de enrutamiento y estabilizacioacuten del traacutefico que se va a utilizar en AWSCloudFormation En este tema se describen las diferencias entre las implementaciones bluegreen (azulverde) de Amazon ECS administradas por CodeDeploy y las implementaciones administradas porAWSCloudFormation

Para obtener instrucciones paso a pasoAWS CloudFormationpara administrar las implementaciones bluegreen (azulverde) de Amazon ECS consulteAutomatice las implementaciones laquobluegreenraquo de ECS atraveacutes de CodeDeploy utilizandoAWS CloudFormationen laAWS CloudFormationGuiacutea del usuario de

Note

Administracioacuten de implementaciones bluegreen (azulverde) de Amazon ECS conAWSCloudFormationno estaacute disponible en la regioacuten Asia-Paciacutefico (Osaka)

Diferencias entre las implementaciones bluegreen (azulverde)de Amazon ECS mediante CodeDeploy yAWS CloudFormationLaAWS CloudFormationmodelos de plantilla de pila de recursos e infraestructura de Amazon ECSrelacionados con tareas de asiacute como las opciones de configuracioacuten para implementaciones Por lo tantohay diferencias entre las implementaciones bluegreen (azulverde) estaacutendar de Amazon ECS y lasimplementaciones bluegreen (azulverde) que se crean a traveacutes deAWS CloudFormation

A diferencia de las implementaciones bluegreen (azulverde) estaacutendar de Amazon ECS no modela ni creamanualmente lo siguiente

bull No crea una aplicacioacuten de AWS CodeDeploy especificando un nombre que represente de formaexclusiva lo que desea implementar

bull No crea un grupo de implementacioacuten de AWS CodeDeploybull No se especifica unaarchivo de especificacioacuten de la aplicacioacuten(archivo AppSpec) La informacioacuten que

normalmente se administra con el archivo AppSpec como las opciones de configuracioacuten ponderadas olos eventos del ciclo de vida se administra mediante el enlace AWSCodeDeployBlueGreen

En esta tabla se resumen las diferencias en el flujo de trabajo de alto nivel entre los tipos deimplementacioacuten

Funcioacuten Implementaciones bluegreen(azulverde) estaacutendar

Implementaciones bluegreen (azul-verde) con AWSCloudFormation

Especifique el cluacutester deAmazon ECS el servicioAmazon ECS el ApplicationLoad Balancer o Network LoadBalancer el agente de escuchade produccioacuten el agente deescucha de prueba y dos gruposde destino

Cree un grupo deimplementaciones deCodeDeploy que especifiqueestos recursos

Cree una plantilla de AWSCloudFormation para modelarestos recursos

Especifique el cambio que se vaa implementar

Cree una aplicacioacuten CodeDeploy Cree una plantilla de AWSCloudFormation que especifiquela imagen del contenedor

Especifique la definicioacuten de tareade Amazon ECS el nombre

Cree un archivo AppSpec queespecifique estos recursos

Cree una plantilla de AWSCloudFormation para modelarestos recursos

Versioacuten de API 2014-10-06338

AWS CodeDeploy Guiacutea del usuarioCree una implementacioacuten bluegreen (azulverde)de Amazon ECS medianteAWS CloudFormation

Funcioacuten Implementaciones bluegreen(azulverde) estaacutendar

Implementaciones bluegreen (azul-verde) con AWSCloudFormation

del contenedor y el puerto delcontenedor

Especifique las opcionesde cambio de traacutefico deimplementacioacuten y los enlaces deeventos de ciclo de vida

Cree un archivo AppSpec queespecifique estas opciones

Cree una plantilla de AWSCloudFormation que utilicelos paraacutemetros de enlaceAWSCodeDeployBlueGreenpara especificar estas opciones

Alarmas de CloudWatch Cree una alarma de CloudWatchque desencadene unarestauracioacuten

Configure una alarma deCloudWatch en elAWSCloudFormationNivel de pila quedesencadene una restauracioacuten

Restauracioacutenreimplementacioacuten Especifique las opciones derestauracioacuten y reimplementacioacuten

Cancele la actualizacioacuten de lapila en AWS CloudFormation

Supervisioacuten de implementaciones laquobluegreenraquo de Amazon ECSa traveacutes deAWS CloudFormationPuede monitorear implementaciones bluegreen (azulverde) a traveacutes deAWS CloudFormationyCodeDeploy Para obtener maacutes informacioacuten sobre la monitorizacioacuten deAWS CloudFormationconsulteMonitoreo de eventos laquobluegreenraquoAWS CloudFormationen laAWS CloudFormationGuiacutea delusuario de

Para ver el estado de implementacioacuten de implementaciones bluegreen (azulverde) enCodeDeploy

1 Inicie sesioacuten enAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En Deployments (Implementaciones) aparece la implementacioacuten desencadenada por la actualizacioacutende la pila de AWS CloudFormation Elija la implementacioacuten para ver el Deployment history (Historial deimplementaciones)

3 Elija la implementacioacuten para ver el estado de cambio de traacutefico Tenga en cuenta que el grupo deaplicacioacuten e implantacioacuten no se han creado

Versioacuten de API 2014-10-06339

AWS CodeDeploy Guiacutea del usuarioVer detalles de las implementaciones

4 Lo siguiente se aplica para restaurar o detener la implementacioacuten

bull La implementacioacuten correcta aparece en CodeDeploy y muestra que la implementacioacuten fue iniciadaporAWS CloudFormation

bull Si desea detener y restaurar la implementacioacuten debe cancelar la actualizacioacuten de la pila en AWSCloudFormation

Ver detalles de implementacioacuten de CodeDeployPuede utilizar la consola de CodeDeployAWS CLI o las API de CodeDeploy para ver informacioacutendetallada acerca de las implementaciones asociadas a suAWSaccount

Note

Puede ver los logs de las implementaciones de EC2on-premise en las instancias en lassiguientes ubicaciones

bull Amazon Linux RHEL y Ubuntu Serveroptcodedeploy-agentdeployment-rootdeployment-logscodedeploy-agent-deploymentslog

bull Windows Server CProgramDataAmazonCodeDeploy ltDEPLOYMENT-GROUP-IDgtltDEPLOYMENT-IDgt logs scriptslog

Para obtener maacutes informacioacuten consulte Anaacutelisis de archivos de registro para investigar los erroresde implementacioacuten en instancias (p 473)

Temasbull Ver los detalles de las implementaciones (consola) (p 341)bull Ver los detalles de las implementaciones (CLI) (p 341)

Versioacuten de API 2014-10-06340

AWS CodeDeploy Guiacutea del usuarioVer los detalles de las implementaciones (consola)

Ver los detalles de las implementaciones (consola)Para utilizar la consola de CodeDeploy para ver los detalles de las implementaciones

1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttpsconsoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary luego elijaImplementaciones

Note

Si no se muestran entradas aseguacuterese de seleccionar la regioacuten correcta En la barra denavegacioacuten en el selector de regiones elija una de las regiones enumeradas enRegiones ypuntos de enlaceen laAWSReferencia general de CodeDeploy solo es compatible con estasregiones

3 Para ver maacutes detalles sobre una uacutenica implementacioacuten en Deployment history (Historial deimplementaciones) elija el ID de la implementacioacuten o seleccione el botoacuten situado junto al ID deimplementacioacuten y a continuacioacuten elija View (Ver)

Ver los detalles de las implementaciones (CLI)Para utilizar la AWS CLI para ver los detalles de las implementaciones ejecute el comando get-deployment o al comando batch-get-deployments Puede llamar al comando list-deploymentspara obtener una lista de ID exclusivos de las implementaciones para utilizar como entradas del comandoget-deployment y del comando batch-get-deployments

Para ver los detalles de una uacutenica implementacioacuten llame alget-deployment especificando elidentificador exclusivo de las implementaciones Para obtener el ID de implementacioacuten llame allist-deploymentscomando

Para ver los detalles de muacuteltiples implementaciones llame albatch-get-deployments especificando variosidentificadores exclusivos de las implementaciones Para obtener los ID de implementacioacuten llame allist-deploymentscomando

Para ver una lista de los ID de implementacioacuten llame allist-deploymentscomando especificando

bull El nombre de la aplicacioacuten asociada a la implementacioacuten Para ver una lista de nombres de aplicacionesllame allist-applicationscomando

bull El nombre del grupo de implementaciones asociado a la implementacioacuten Para ver una lista de nombresde grupos de implementaciones llame algrupos de despliegue de listascomando

bull Si lo prefiere puede incluir detalles acerca de las implementaciones por su estado de implementacioacuten(Si no se especifican se enumeraraacuten todas las implementaciones coincidentes independientemente desu estado de implementacioacuten)

bull Si lo prefiere puede incluir detalles acerca de las implementaciones por la hora de inicio o final decreacioacuten o ambas (Si no se especifican se enumeraraacuten todas las implementaciones coincidentesindependientemente de sus horas de creacioacuten)

Versioacuten de API 2014-10-06341

AWS CodeDeploy Guiacutea del usuarioVer datos del registro de implementacioacuten

Ver datos de registro de las implementaciones deCodeDeploy EC2On-Premises

Para ver los datos de registro creados por una implementacioacuten de CodeDeploy configure el agente deAmazon CloudWatch Logs de modo que visualice los datos agregados en la consola de CloudWatch obien inicie sesioacuten en una instancia individual para consultar el archivo de registro

Note

Los registros no son compatibles conAWSImplementaciones de Lambda o Amazon ECS Sepueden crear solo para implementaciones EC2On-Premises

Temasbull Ver los datos del archivo de registro en la consola de Amazon CloudWatch (p 342)bull Ver archivos de registro de una instancia (p 342)

Ver los datos del archivo de registro en la consola deAmazon CloudWatchCuando el agente de Amazon CloudWatch Logs estaacute instalado en una instancia los datos del log detodas las implementaciones efectuadas en ella estaraacuten disponibles en la consola de CloudWatchPara simplificar le recomendamos que utilice Amazon CloudWatch Logs para monitorizar de formacentralizada los archivos de log en lugar de hacerlo en cada instancia Para obtener informacioacuten sobre laconfiguracioacuten del agente de Amazon CloudWatch Logs consulteVer los logs de CodeDeploy en la consolade CloudWatch Logs

Ver archivos de registro de una instanciaPara ver los datos del log de implementacioacuten de una instancia individual puede iniciar sesioacuten en lainstancia y examinar la informacioacuten sobre errores u otros eventos de implementacioacuten

Temasbull Para ver los archivos de log de implementacioacuten en las instancias de Amazon Linux RHEL y Ubuntu

Server (p 342)bull Para ver los archivos de log de implementacioacuten en las instancias de Windows Server (p 344)

Para ver los archivos de log de implementacioacuten en las instanciasde Amazon Linux RHEL y Ubuntu ServerEn las instancias de Amazon Linux RHEL y Ubuntu Server los logs de implementacioacuten se encuentran enla ubicacioacuten siguiente

optcodedeploy-agentdeployment-rootdeployment-logscodedeploy-agent-deploymentslog

Para ver o analizar los logs de implementacioacuten de las instancias de Amazon Linux RHEL y Ubuntu Serverinicie sesioacuten en la instancia y a continuacioacuten ejecute el comando siguiente para abrir el archivo de log delagente de CodeDeploy

Versioacuten de API 2014-10-06342

AWS CodeDeploy Guiacutea del usuarioVer archivos de registro de una instancia

less varlogawscodedeploy-agentcodedeploy-agentlog

Ejecute los comandos siguientes para buscar mensajes de error en el archivo de log

Comando Resultado

amp ERROR Muestra solo los mensajes de error del archivo delog Utilice un uacutenico espacio delante y detraacutes de lapalabra ERROR

ERROR Busca el mensaje de error siguiente

ERROR Busca el mensaje de error anterior sup2 Utilice unuacutenico espacio delante y detraacutes de la palabraERROR

G Ir al final del archivo de log

g Ir al inicio del archivo de log

q Salir del archivo de log

h Conozca otros comandos

sup1 Despueacutes de escribir ERROR tiponpara ir al mensaje de error siguiente Escriba N para ir al mensajede error anterior

sup2 Despueacutes de escribir ERROR tiponpara ir al mensaje de error siguiente o escribaNpara ir al mensajede error anterior

Tambieacuten puede ejecutar el comando siguiente para abrir un archivo de log de scripts de CodeDeploy

less optcodedeploy-agentdeployment-rootdeployment-group-IDdeployment-IDlogsscriptslog

Ejecute los comandos siguientes para buscar mensajes de error en el archivo de log

Comando Resultado

ampstderr Muestra solo los mensajes de error del archivo delog

stderr Busca el mensaje de error siguiente

stderr Busca el mensaje de error anterior

G Ir al final del archivo de log

g Ir al inicio del archivo de log

q Salir del archivo de log

h Conozca otros comandos

sup1Despueacutes de escribirstderr tiponPara ir al mensaje de error siguiente hacia delante Escriba N para iral mensaje de error anterior hacia atraacutes

sup2 Despueacutes de escribirstderr tiponPara ir al mensaje de error siguiente hacia atraacutes Escriba N para ir almensaje de error anterior hacia delante

Versioacuten de API 2014-10-06343

AWS CodeDeploy Guiacutea del usuarioDetener una implementacioacuten

Para ver los archivos de log de implementacioacuten en las instanciasde Windows ServerArchivo de registro del agente CodeDeploy En las instancias de Windows Server el archivo de log delagente de CodeDeploy se encuentra en la ubicacioacuten siguiente

CProgramDataAmazonCodeDeploylogcodedeploy-agent-logtxt

Para ver o analizar el archivo de log del agente de CodeDeploy en una instancia de Windows Server iniciesesioacuten en la instancia y a continuacioacuten ejecute el comando siguiente para abrir el archivo

notepad CProgramDataAmazonCodeDeploylogcodedeploy-agent-logtxt

Para buscar mensajes de error en el archivo de registro pulse CTRL+F escriba ERROR [ y acontinuacioacuten pulse Intro para encontrar el primer error

Archivos de registro de scripts CodeDeploy En las instancias de Windows Server los registros deimplementacioacuten se encuentran en la ubicacioacuten siguiente

CProgramDataAmazonCodeDeploydeployment-group-iddeployment-idlogsscriptslog

Donde

bull deployment-group-id es una cadena similar a examplebf3a9c7a-7c19-4657-8684-b0c68d0cd3c4

bull deployment-id es un identificador similar a d-12EXAMPLE

Ejecute el comando siguiente para abrir un archivo de log de scripts de CodeDeploy

notepad CProgramDataAmazonCodeDeploydeployment-group-IDdeployment-IDlogsscriptslog

Para buscar mensajes de error en el archivo de registro pulse CTRL+F escriba stderr y a continuacioacutenpulse Intro para encontrar el primer error

Detener una implementacioacuten con CodeDeployPuede utilizar la consola de CodeDeploy laAWS CLIo las API de CodeDeploy para detenerimplementaciones asociadas a suAWSaccount

Warning

Detener una implementacioacuten de EC2local puede dejar a algunas o a todas las instancias de losgrupos de implementaciones en un estado de implementacioacuten indeterminado Para obtener maacutesinformacioacuten consulte Implementaciones detenidas y con error (p 31)

Puede detener una implementacioacuten o detener y restaurar una implementacioacutenbull Detener una implementacioacuten (consola) (p 345)bull Detener una implementacioacuten (CLI) (p 345)

Note

Si la implementacioacuten es una implementacioacuten laquobluegreenraquo a traveacutes deAWS CloudFormationno puede llevar a cabo esta tarea en la consola de CodeDeploy Vaya a la consola de AWSCloudFormation para realizar esta tarea

Versioacuten de API 2014-10-06344

AWS CodeDeploy Guiacutea del usuarioDetener una implementacioacuten (consola)

Detener una implementacioacuten (consola)1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttps

consoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary luego seleccioneImplementaciones

Note

Si no se muestran entradas aseguacuterese de seleccionar la regioacuten correcta En la barra denavegacioacuten en el selector de regiones elija una de las regiones enumeradas enRegiones ypuntos de enlaceen laAWSReferencia general de CodeDeploy solo es compatible con estasregiones

3 Elija la implementacioacuten que desea que deje de hacer una de las siguientes acciones

1 Elija Stop deployment (Detener la implementacioacuten) para detener la implementacioacuten sin realizar unarestauracioacuten

2 Elija Stop and roll back deployment (Detener y restaurar la implementacioacuten) para detener yrestaurar la implementacioacuten

Para obtener maacutes informacioacuten consulte Redesplegar y deshacer una implementacioacuten conCodeDeploy (p 345)

Note

Si Stop deployment (Detener la implementacioacuten) y Stop and roll back deployment (Detenery restaurar la implementacioacuten) aparecen no disponibles la implementacioacuten ha progresadohasta un punto en el que no puede detenerse

Detener una implementacioacuten (CLI)Llame a ladetener el despliegue especificando el ID de implementacioacuten Para ver una lista de los ID deimplementacioacuten llame a laimplementaciones de listascomando

Redesplegar y deshacer una implementacioacuten conCodeDeploy

CodeDeploy resta las implementaciones volviendo a implementar una revisioacuten implementadaanteriormente de una aplicacioacuten como una nueva implementacioacuten Estas implementaciones restauradasson desde el punto de vista teacutecnico nuevas implementaciones con nuevos ID de implementacioacuten enlugar de versiones recuperadas de una implementacioacuten anterior

Las implementaciones se pueden restaurar de forma automaacutetica o manual

Temasbull Restauraciones automaacuteticas (p 346)bull Restauraciones manuales (p 346)bull Flujo de trabajo de la restauracioacuten y reimplementacioacuten (p 346)

Versioacuten de API 2014-10-06345

AWS CodeDeploy Guiacutea del usuarioRestauraciones automaacuteticas

bull Comportamiento de reversioacuten con contenido existente (p 347)

Restauraciones automaacuteticasPuede configurar una implementacioacuten o un grupo de implementaciones para que se restaurenautomaacuteticamente si falla una implementacioacuten o si se supera un umbral de monitorizacioacuten que hayaespecificado En este caso se implementa la uacuteltima versioacuten correcta conocida de una revisioacuten de laaplicacioacuten Puede configurar restauraciones automaacuteticas al crear una aplicacioacuten o al crear o actualizar ungrupo de implementaciones

Al crear una nueva implementacioacuten tambieacuten puede optar por anular la configuracioacuten de restauracioacutenautomaacutetica especificada para el grupo de implementaciones

Note

Puede utilizar Amazon Simple Notification Service para recibir una notificacioacuten cuando seresta automaacuteticamente una implementacioacuten Para obtener informacioacuten consulte MonitoringDeployments with Amazon SNS Event Notifications (p 365)

Para obtener maacutes informacioacuten acerca de coacutemo configurar restauraciones automaacuteticas consulteConfiguracioacuten de las opciones avanzadas de un grupo de implementaciones (p 303)

Restauraciones manualesSi no ha configurado restauraciones automaacuteticas puede restaurar manualmente una implementacioacutencreando una nueva implementacioacuten que utilice cualquier revisioacuten de una aplicacioacuten implementadaanteriormente y siguiendo los pasos para volver a implementar una revisioacuten Puede hacerlo si unaaplicacioacuten se ha quedado en un estado desconocido En lugar de dedicar mucho tiempo a resolverproblemas puede volver a implementar la aplicacioacuten a un estado operativo conocido Para obtener maacutesinformacioacuten consulte Cree una implementacioacuten con CodeDeploy (p 324)

Note

Si elimina una instancia de un grupo de implementaciones CodeDeploy no desinstala nada quepuede que ya se haya instalado en dicha instancia

Flujo de trabajo de la restauracioacuten y reimplementacioacutenCuando se inicia una restauracioacuten automaacutetica o cuando inicia manualmente una reimplementacioacuten o unarestauracioacuten manual CodeDeploy intenta primero eliminar de cada instancia participante todos los archivosque se han instalado correctamente por uacuteltima vez CodeDeploy realiza este proceso comprobando elarchivo de limpieza

optcodedeploy-agentdeployment-rootdeployment-instructionsdeployment-group-ID-cleanup(para instancias de Amazon Linux Ubuntu Server y RHEL)

CProgramDataAmazonCodeDeploydeployment-instructionsdeployment-group-ID-cleanuparchivo (para instancias de Windows Server)

Si existe CodeDeploy utiliza el archivo de limpieza para eliminar de la instancia todos los archivosenumerados antes de empezar la nueva implementacioacuten

Por ejemplo los dos primeros archivos de texto y los dos archivos de script ya estaban implementadosuna instancia Amazon EC2 que ejecutaba Windows Server y los scripts crearon dos archivos de texto maacutesdurante los eventos del ciclo de vida de la implementacioacuten

ctempatxt (previously deployed by CodeDeploy)ctempbtxt (previously deployed by CodeDeploy)

Versioacuten de API 2014-10-06346

AWS CodeDeploy Guiacutea del usuarioComportamiento de reversioacuten con contenido existente

ctempcbat (previously deployed by CodeDeploy)ctempdbat (previously deployed by CodeDeploy)ctempetxt (previously created by cbat)ctempftxt (previously created by dbat)

El archivo de limpieza enumeraraacute uacutenicamente los dos primeros archivos de texto y dos archivos de script

ctempatxtctempbtxt ctempcbat ctempdbat

Antes de la nueva implementacioacuten CodeDeploy eliminaraacute solo los dos primeros archivos de texto y los dosarchivos de script dejando intactos los uacuteltimos dos archivos de texto

ctempatxt will be removedctempbtxt will be removedctempcbat will be removedctempdbat will be removedctempetxt will remainctempftxt will remain

Como parte de este proceso CodeDeploy no intentaraacute revertir o conciliar de alguacuten modo las accionesrealizadas por ninguacuten script en las implementaciones anteriores durante las reimplementacionesposteriores ya sean recuperaciones manuales o automaacuteticas Por ejemplo sicbatydbatlos archivoscontienen loacutegica para no volver a crear eletxtyftxtarchivos si ya existen luego las versionesanteriores deetxtyftxtpermaneceraacute intacto cada vez que se ejecute CodeDeploycbatydbatenimplementaciones posteriores Puede antildeadir loacutegica cbat y dbat para comprobar y eliminar siempre lasversiones anteriores de etxt y ftxt antes de crear otras nuevas

Comportamiento de reversioacuten con contenido existenteComo parte del proceso de implementacioacuten el agente de CodeDeploy elimina de cada instancia todoslos archivos instalados por la implementacioacuten maacutes reciente Si en las ubicaciones de implementacioacuten dedestino aparecen archivos que no formaban parte de una implementacioacuten anterior puede elegir queacute haceCodeDeploy con ellos durante la siguiente implementacioacuten

bull Fail the deployment se notifica un error y el estado de la implementacioacuten cambia a Failedbull Sobrescribir el contenido la versioacuten del archivo de la revisioacuten de la aplicacioacuten sustituye a la versioacuten ya

incluida en la instanciabull Mantener el contenido el archivo de la ubicacioacuten de destino se conserva y la versioacuten de la revisioacuten de la

aplicacioacuten no se copia en la instancia

Puede elegir este comportamiento al crear una implementacioacuten Si crea una implementacioacuten en la consolaconsulteCrear una implementacioacuten de Compute Platform (consola) de EC2On-Premises (p 329)Si se crea una implementacioacuten con elAWS CLI consulteCrear una implementacioacuten de plataforma decomputacioacuten EC2On-Premises (CLI) (p 335)

Puede optar por conservar los archivos que desea que formen parte de la proacutexima implementacioacuten sintener que antildeadirlos al paquete de revisioacuten de la aplicacioacuten Por ejemplo podriacutea cargar directamente en lainstancia los archivos que son necesarios para la implementacioacuten pero que no se antildeadieron al paquetede revisioacuten de la aplicacioacuten O podriacutea cargar archivos en la instancia si sus aplicaciones ya estaacuten en suentorno de produccioacuten pero desea utilizar CodeDeploy por primera vez para implementarlos

En el caso de las restauraciones en las que se vuelve a implementar la uacuteltima revisioacuten de la aplicacioacutenimplementada correctamente debido a un error de implementacioacuten se aplica la opcioacuten de gestioacuten decontenido de la uacuteltima implementacioacuten correcta a la implementacioacuten de restauracioacuten

Versioacuten de API 2014-10-06347

AWS CodeDeploy Guiacutea del usuarioComportamiento de reversioacuten con contenido existente

Sin embargo si la implementacioacuten erroacutenea se configuroacute para sobrescribir en lugar de para conservar losarchivos podriacutea producirse un resultado inesperado durante la restauracioacuten En concreto los archivosque esperaba conservar puede que los elimine la implementacioacuten erroacutenea Los archivos no estaacuten en lainstancia cuando se ejecuta la implementacioacuten de restauracioacuten

En el siguiente ejemplo existen tres implementaciones Cualquier archivo que se sobrescribe (elimina)durante la segunda implementacioacuten erroacutenea ya no estaraacute disponible (no se puede conservar) cuando seimplemente de nuevo la 1ordf revisioacuten de la aplicacioacuten durante la 3ordf implementacioacuten

Implementacioacuten Revisioacuten de laaplicacioacuten

Opcioacuten desobrescritura delcontenido

Estado de laimplementacioacuten

Comportamiento yresultado

1ordf implementacioacuten 1ordf revisioacuten de laaplicacioacuten

RETAIN Succeeded CodeDeploydetecta archivosen las ubicacionesde destinoque no fueronimplementados porla implementacioacutenanterior Estosarchivos podriacuteancolocarse alliacutedeliberadamentepara que formenparte de laimplementacioacutenactual Seconservan yregistran comoparte del paquetede implementacioacutenactual

2ordf implementacioacuten 2ordf revisioacuten de laaplicacioacuten

OVERWRITE Con error Durante elproceso deimplementacioacutenCodeDeployelimina todoslos archivos queforman partede la anteriorimplementacioacutencorrecta Estoincluye losarchivos quese conservarondurante la 1ordfimplementacioacuten

Sin embargo laimplementacioacutenfalla por motivosajenos

3ordf implementacioacuten 1ordf revisioacuten de laaplicacioacuten

RETAIN Dado que estaacutehabilitada larestauracioacuten

Versioacuten de API 2014-10-06348

AWS CodeDeploy Guiacutea del usuarioImplementar una aplicacioacuten en otroAWScuenta

Implementacioacuten Revisioacuten de laaplicacioacuten

Opcioacuten desobrescritura delcontenido

Estado de laimplementacioacuten

Comportamiento yresultado

automaacutetica parala implementacioacuteno grupo deimplementacionesCodeDeployimplementa lauacuteltima revisioacutende la aplicacioacutencorrecta conocidala 1ordf revisioacuten de laaplicacioacuten

Sin embargolos archivosque deseabaconservar en la 1ordfimplementacioacuten seeliminaron antesde que fallara la2ordf implementacioacuteny no se puedenrecuperarmedianteAWSCodeDeployPuede antildeadirlosusted mismo a lainstancia si sonnecesarios parala 1ordf revisioacuten dela aplicacioacuten opuede crear unanueva revisioacuten dela aplicacioacuten

Implementar una aplicacioacuten en otroAWScuentaLas organizaciones suelen tener varias cuentas de AWS que utilizan para fines diferentes (por ejemplouna para tareas de administracioacuten de sistemas y otra para tareas de desarrollo prueba y produccioacuten o unaasociada a entornos de desarrollo y prueba y otra asociada a un entorno de produccioacuten)

Si bien puede llevar a cabo tareas relacionadas en cuentas diferentes los grupos de implementaciones deCodeDeploy y las instancias Amazon EC2 en las que se implementan estaacuten estrictamente vinculadas a lascuentas con las que se crearon Por ejemplo no se puede antildeadir una instancia que lanzoacute en una cuenta aun grupo de implementaciones en otra

Suponga que tiene dos cuentas de AWS su cuenta de desarrollo y su cuenta de produccioacuten Trabajaprincipalmente en la cuenta de desarrollo pero desea poder iniciar implementaciones en su cuenta deproduccioacuten sin un conjunto completo de credenciales alliacute o sin tener que salir de la cuenta de desarrollo einiciar sesioacuten en la cuenta de produccioacuten

Despueacutes de seguir los pasos de configuracioacuten entre cuentas puede iniciar implementaciones quepertenecen a otra cuenta de la organizacioacuten sin necesitar un conjunto completo de credenciales para esa

Versioacuten de API 2014-10-06349

AWS CodeDeploy Guiacutea del usuarioPaso 1 Creacioacuten de S3 Bucket en cualquiera de las cuentas

otra cuenta Esto es posible en parte utilizando una capacidad proporcionada por elAWS Security TokenService(AWS STS) que le otorga acceso temporal a esa cuenta

Paso 1 Creacioacuten de S3 Bucket en cualquiera de lascuentasEn la cuenta de desarrollo o en la cuenta de produccioacuten

bull Si auacuten no lo ha hecho cree un bucket de Amazon S3 en el cual se almacenaraacuten las revisiones de laaplicacioacuten para la cuenta de produccioacuten Para obtener informacioacuten consulteCreacioacuten de bucket deAmazon S3 Incluso puede utilizar el mismo bucket y revisiones de la aplicacioacuten para ambas cuentasimplementando los mismos archivos a su entorno de produccioacuten que ya proboacute y verificoacute en la cuenta dedesarrollo

Paso 2 Conceder permisos de bucket de AmazonS3 al perfil de instancia de IAM de la cuenta deproduccioacutenSi el bucket de Amazon S3 que creoacute en el paso 1 estaacute en la cuenta de produccioacuten este paso no esnecesario El rol que asuma despueacutes ya tendraacute acceso a este bucket porque tambieacuten estaraacute en la cuentade produccioacuten

Si creoacute el bucket de Amazon S3 en la cuenta de desarrollo haga lo siguiente

bull En la cuenta de produccioacuten cree un perfil de instancia de IAM Para obtener informacioacuten consultePaso 4 Crear un perfil de instancias de IAM para sus instancias Amazon EC2 (p 43)

Note

Anote el ARN de este perfil de instancia de IAM Deberaacute antildeadirlo a la poliacutetica de bucketscruzados que cree a continuacioacuten

bull En la cuenta de desarrollo conceda acceso al bucket de Amazon S3 que creoacute en la cuenta de desarrolloal perfil de instancia de IAM que acaba de crear en la cuenta de produccioacuten Para obtener informacioacutenconsulteEjemplo 2 Propietario del bucket de que concede permisos de bucket entre cuentas

Tenga en cuenta lo siguiente cuando complete el proceso de conceder permisos de bucket entrecuentasbull En el ejemplo del tutorial la Cuenta A representa la cuenta de desarrollo y la Cuenta B representa la

cuenta de produccioacutenbull Cuando realice las tareas de la cuenta A (cuenta de desarrollo) modifique la siguiente poliacutetica de

bucket para conceder permisos entre cuentas en lugar de utilizar la poliacutetica de ejemplo del tutorial

Version 2012-10-17 Statement [ Sid Cross-account permissions Effect Allow Principal AWS arnawsiamaccount-idrolerole-name Action [ s3Get s3List

Versioacuten de API 2014-10-06350

AWS CodeDeploy Guiacutea del usuarioPaso 3 Creacioacuten de recursos y un rol

entre cuentas en la cuenta de produccioacuten

] Resource [ arnawss3bucket-name ] ]

account-idrepresenta el nuacutemero de cuenta de la cuenta de produccioacuten en la que acaba de crear elperfil de instancia de IAM

role-namerepresenta el nombre del perfil de instancia de IAM que acaba de crear

bucket-name representa el nombre del bucket que creoacute en el paso 1 Aseguacuterese de incluir despueacutes del nombre de su bucket para conceder acceso a cada uno de los archivos dentro del bucket

Paso 3 Creacioacuten de recursos y un rol entre cuentasen la cuenta de produccioacutenEn su cuenta de produccioacuten

bull Cree los recursos de CodeDeploy (aplicacioacuten grupo de implementaciones configuracioacuten deimplementacioacuten instancias Amazon EC2 perfil de instancia Amazon EC2 rol de servicio etc) siguiendolas instrucciones de esta guiacutea

bull Cree un rol adicional un rol de IAM entre cuentas que un usuario de su cuenta de desarrollo puedaasumir para llevar a cabo operaciones de CodeDeploy en esta cuenta de produccioacuten

UsarGuiacutea de en el tutorial Delegar el acceso entre cuentasAWScuentas con roles de IAMComo guiacuteapara ayudarle a crear el rol entre cuentas En lugar de agregar los permisos de muestra del tutorial aldocumento de la poliacutetica debe adjuntar como miacutenimo los dos siguientesAWSpoliacuteticas suministradas ala funcioacutenbull AmazonS3FullAccess necesaria solamente si el bucket de S3 estaacute en la cuenta de desarrollo

Proporciona el rol asumido de la cuenta de produccioacuten con acceso total a los servicios y recursos deAmazon S3 en la cuenta de desarrollo donde se almacena la revisioacuten

bull AWSCodeDeployDeployerAccess habilita a un usuario de IAM a registrar e implementar revisiones

Si desea crear y administrar grupos de implementaciones y no solamente iniciarimplementaciones antildeada la poliacutetica AWSCodeDeployFullAccess en lugar de la poliacuteticaAWSCodeDeployDeployerAccess Para obtener maacutes informacioacuten acerca del uso de poliacuteticasadministradas de IAM para conceder permisos para tareas de CodeDeploy consulteAWSPoliacuteticasadministradas por (predefinidas) para CodeDeploy (p 385)

Puede adjuntar poliacuteticas adicionales si desea ejecutar tareas en otros servicios de AWS mientras utilizaeste rol entre cuentas

Important

Cuando cree el rol de IAM entre cuentas anote los detalles que necesitaraacute para acceder a lacuenta de produccioacutenPara utilizar la AWS Management Console para intercambiar los roles debe proporcionar una delas siguientes opciones

bull Una URL para acceder a la cuenta de produccioacuten con las credenciales del rol asumidoEncontraraacute la URL en la paacutegina Review que aparece al final del proceso de creacioacuten de rolentre cuentas

Versioacuten de API 2014-10-06351

AWS CodeDeploy Guiacutea del usuarioPaso 4 Cargue la revisioacuten de la

aplicacioacuten en el bucket de Amazon S3

bull El nombre del rol entre cuentas y el nuacutemero del ID de la cuenta o el alias

Para utilizar la AWS CLI para intercambiar los roles debe proporcionar una de las siguientesopciones

bull El ARN del rol entre cuentas que asumiraacute

Paso 4 Cargue la revisioacuten de la aplicacioacuten en elbucket de Amazon S3En la cuenta en la que creoacute el bucket de Amazon S3

bull Cargue la revisioacuten de la aplicacioacuten al bucket de Amazon S3 Para obtener informacioacuten consulte Enviaruna revisioacuten de CodeDeploy en Amazon S3 (solo implementaciones de EC2locales) (p 316)

Paso 5 Asumir el rol de acceso entre cuentas eimplementar aplicacionesEn la cuenta de desarrollo puede utilizar la AWS CLI o la AWS Management Console para asumir el rolentre cuentas e iniciar la implementacioacuten en la cuenta de produccioacuten

Para obtener instrucciones acerca de coacutemo usar elAWS Management Consolepara cambiar deroles e iniciar implementaciones consulteCambio a un rol (AWS Management Console)yCrear unaimplementacioacuten de Compute Platform (consola) de EC2On-Premises (p 329)

Para obtener instrucciones acerca de coacutemo usar elAWS CLIpara asumir el rol de acceso entre cuentase iniciar implementaciones consulteCambio a un rol de IAM (AWS Command Line Interface)yCrear unaimplementacioacuten de plataforma de computacioacuten EC2On-Premises (CLI) (p 335)

Para obtener maacutes informacioacuten acerca de asumir un rol a traveacutes deAWS STS consulteAssumeRoleenlaAWS Security Token ServiceGuiacutea del usuario deyasumir rolen laAWS CLIReferencia de los comandos

Tema relacionado

bull CodeDeploy Implementacioacuten de una cuenta de desarrollo a una cuenta de produccioacuten

Usar el agente de CodeDeploy para validar unpaquete de implementacioacuten en una maacutequina local

Mediante el agente de CodeDeploy puede implementar contenido en una instancia a la que esteacuteconectado Esto le permite probar la integridad del archivo de especificacioacuten de la aplicacioacuten (archivoAppSpec) que va a utilizar en una implementacioacuten y del contenido que va a implementar

No necesita crear una aplicacioacuten ni un grupo de implementaciones Si desea implementar contenidoalmacenado en la instancia local tampoco necesita una cuenta de AWS Para las pruebas maacutes sencillaspuede ejecutar el archivocodedeploy-local sin especificar opciones en un directorio que contenga elarchivo AppSpec y el contenido que va a implementar Existen opciones para otros escenarios de pruebaen la herramienta

Mediante la validacioacuten de un paquete de implementacioacuten en una maacutequina local puede

Versioacuten de API 2014-10-06352

AWS CodeDeploy Guiacutea del usuarioRequisitos previos

bull Probar la integridad de una revisioacuten de la aplicacioacutenbull Probar el contenido de un archivo AppSpecbull Probar CodeDeploy por primera vez con su coacutedigo de aplicacioacuten existentebull Implementar contenido raacutepidamente cuando ya ha iniciado sesioacuten en una instancia

Puede implementar el contenido almacenado en la instancia local o en un tipo de repositorio remotocompatible (buckets de Amazon S3 o repositorios de GitHub puacuteblicos)

Requisitos previosAntes de iniciar una implementacioacuten local siga los pasos que se indican a continuacioacuten

bull Cree o utilice un tipo de instancia compatible con el agente de CodeDeploy Para obtener informacioacutenconsulte Sistemas operativos compatibles con el agente de CodeDeploy (p 175)

bull Instale la versioacuten 1011352 o posterior del agente de CodeDeploy Para obtener informacioacuten consulteInstalacioacuten del agente de CodeDeploy (p 189)

bull Si va a implementar su contenido desde un bucket de Amazon S3 o un repositorio de GitHubaprovisione un usuario de IAM para su uso con CodeDeploy Para obtener informacioacuten consulte Paso 3Provisionar un usuario de IAM (p 41)

bull Si va a implementar la revisioacuten de la aplicacioacuten desde un bucket de Amazon S3 cree un bucket deAmazon S3 en la regioacuten en la que estaacute trabajando y aplique una poliacutetica de bucket de Amazon S3 albucket Esta poliacutetica concede a las instancias los permisos necesarios para descargar la revisioacuten de laaplicacioacuten

Por ejemplo la siguiente poliacutetica de bucket de Amazon S3 permite a cualquierinstancia de Amazon EC2 con un perfil de instancia de IAM adjunto que contenga elARNarnawsiam444455556666roleCodeDeployDemodescargar desde cualquier lugar albucket de Amazon S3 denominadocodedeploydemobucket

Statement [ Action [ s3Get s3List ] Effect Allow Resource arnawss3codedeploydemobucket Principal AWS [ arnawsiam444455556666roleCodeDeployDemo ] ]

La siguiente poliacutetica de bucket de Amazon S3 permite a cualquier instancia on-premises conun usuario de IAM asociado que contenga el ARNarnawsiam444455556666userCodeDeployUserdescargar desde cualquier lugar al bucket de Amazon S3denominadocodedeploydemobucket

Statement [ Action [

Versioacuten de API 2014-10-06353

AWS CodeDeploy Guiacutea del usuarioCrear una implementacioacuten local

s3Get s3List ] Effect Allow Resource arnawss3codedeploydemobucket Principal AWS [ arnawsiam444455556666userCodeDeployUser ] ]

Para obtener informacioacuten acerca de coacutemo generar y asociar una poliacutetica de bucket de Amazon S3consulteEjemplos de poliacutetica de bucket

bull Si va a implementar la revisioacuten de la aplicacioacuten desde un bucket de Amazon S3 o un repositorio deGitHub configure un perfil de instancia de IAM y asoacutecielo a la instancia Para obtener informacioacutenconsulte Paso 4 Crear un perfil de instancias de IAM para sus instancias Amazon EC2 (p 43) Creacioacutende una instancia de Amazon EC2 para CodeDeploy (AWS CLIo consola de Amazon EC2) (p 217) yCrear una instancia Amazon EC2 para CodeDeploy (AWS CloudFormationplantilla) (p 221)

bull Si va a implementar su contenido desde GitHub cree una cuenta y un repositorio puacuteblico de GitHubPara crear una cuenta de GitHub consulte Join GitHub Para crear un repositorio de GitHubconsulteCrear un repositorio

Note

Actualmente no se admiten repositorios privados Si el contenido estaacute almacenado en unrepositorio de GitHub privado puede descargarlo en la instancia y utilizar la opcioacuten --bundle-location para especificar su ruta local

bull Prepare el contenido (incluido un archivo AppSpec) que desea implementar en la instancia y coloacutequeloen la instancia local en su bucket de Amazon S3 o en el repositorio de GitHub Para obtenerinformacioacuten consulte Uso de revisiones de aplicaciones de CodeDeploy (p 307)

bull Si desea utilizar valores distintos de los predeterminados para otras opciones de configuracioacutencree el archivo de configuracioacuten y coloacutequelo en la instancia (etccodedeploy-agentconfcodedeployagentymlpara instancias de Amazon Linux RHEL o Ubuntu Server oCProgramDataAmazonCodeDeployconfymlpara instancias de Windows Server) Para obtener informacioacutenconsulte Referencia de configuracioacuten del agente CodeDeploy (p 441)

Note

Si utiliza un archivo de configuracioacuten en instancias de Amazon Linux RHEL o Ubuntu Serverdebebull Usar las variables root_dir y log_dir para especificar ubicaciones distintas de las

predeterminadas para la carpeta raiacutez de la implementacioacuten y las carpetas del directorio dearchivos log

bull Usarsudopara ejecutar comandos del agente de CodeDeploy

Crear una implementacioacuten localEn la instancia en la que desea crear la implementacioacuten local abra una sesioacuten del terminal (instanciasde Amazon Linux RHEL o Ubuntu Server) o un siacutembolo del sistema (Windows Server) para ejecutar loscomandos de la herramienta

Note

El comando codedeploy-local se instala en las siguientes ubicaciones

Versioacuten de API 2014-10-06354

AWS CodeDeploy Guiacutea del usuarioCrear una implementacioacuten local

bull En Amazon Linux RHEL o Ubuntu Serveroptcodedeploy-agentbinbull En Windows ServerCProgramDataAmazonCodeDeploybin

Sintaxis baacutesica de los comandos

codedeploy-local [options]

Sinopsis

codedeploy-local[--bundle-location ltvaluegt][--type ltvaluegt][--file-exists-behavior ltvaluegt][--deployment-group ltvaluegt][--events ltcomma-separated valuesgt][--agent-configuration-file ltvaluegt][--appspec-filename ltvaluegt]

Opciones

-l --bundle-location

La ubicacioacuten del paquete de revisioacuten de la aplicacioacuten Si no especifica una ubicacioacuten la herramienta utilizael directorio en el que estaacute trabajando actualmente de forma predeterminada Si especifica un valor en --bundle-location tambieacuten debe especificar uno en --type

Ejemplos de formato de ubicacioacuten del paquete

bull Instancias de Amazon Linux RHEL o Ubuntu Serverpathtolocalbundletgzbull Instancia de Windows Server localCpathtolocalbundlebull Bucket de Amazon S3s3mybucketbundletarbull Repositorio de GitHub httpsgithubcomaccount-namerepository-name

-t --type

El formato del paquete de revisioacuten de la aplicacioacuten Los tipos admitidos son tgz tar zip y directorySi no especifica un tipo la herramienta usa directory de manera predeterminada Si especifica un valoren --type tambieacuten debe especificar uno en --bundle-location

-b --file-exists-behavior

Indica coacutemo se tratan los archivos que ya existen en la ubicacioacuten de destino de una implementacioacutenpero que no forman parte de una implementacioacuten anterior realizada correctamente Las opciones sonDISALLOW OVERWRITE RETAIN Para obtener maacutes informacioacuten consultefileExistsBehaviorenAWSCodeDeployReferencia de la API

-g --deployment-group

La ruta a la carpeta que es la ubicacioacuten de destino del contenido que se va a implementar Si no especificauna carpeta la herramienta crea una llamada default-local-deployment-group dentro del directorio raiacutez dela implementacioacuten Para cada implementacioacuten local que cree la herramienta crea un subdirectorio dentrode esta carpeta con nombres como d-98761234-local

-e --events

Un conjunto de enlaces de eventos del ciclo de vida que desea ejecutar en lugar de los eventos quefiguran en el archivo AppSpec Se pueden especificar varios enlaces separados por comas Puede utilizaresta opcioacuten si

Versioacuten de API 2014-10-06355

AWS CodeDeploy Guiacutea del usuarioEjemplos

bull Desea ejecutar un conjunto de eventos diferentes sin tener que actualizar el archivo AppSpecbull Desea ejecutar un uacutenico enlace de evento como una excepcioacuten al contenido del archivo AppSpec como

por ejemploApplicationStop

Si no especifica los eventos DownloadBundle e Install en la lista de invalidacioacuten estos se ejecutaraacutenantes que todos los enlaces de evento que siacute especifique Si incluyesDownloadBundleyInstalaren la listade--events estos deber ir precedidos uacutenicamente de eventos que se ejecutan normalmente antes queellos en las implementaciones de CodeDeploy Para obtener informacioacuten consulte Seccioacuten hooks deAppSpec (p 422)

-c --agent-configuration-file

La ubicacioacuten de un archivo de configuracioacuten que se utiliza para la implementacioacuten si estaacute almacenado enuna ubicacioacuten distinta de la predeterminada Un archivo de configuracioacuten especifica alternativas a otrosvalores y comportamientos predeterminados de una implementacioacuten

De forma predeterminada los archivos de configuracioacuten se almacenan enetccodedeploy-agentconfcodedeployagentyml(Instancias de Amazon Linux RHEL o Ubuntu Server) oCProgramDataAmazonCodeDeployconfyml(Windows Server) Para obtener maacutes informacioacutenconsulte Referencia de configuracioacuten del agente CodeDeploy (p 441)

-Amdashappspec-filename

El nombre del archivo AppSpec si le ha dado un nombre distinto del predeterminado De formapredeterminada el archivo AppSpec se denominaappspecymloappspecyaml

-h --help

Muestra un resumen del contenido de ayuda

-v --version

Muestra el nuacutemero de versioacuten de la herramienta

EjemplosA continuacioacuten se proporcionan ejemplos de formatos de comandos vaacutelidos

codedeploy-local

codedeploy-local --bundle-location pathtolocalbundledirectory

codedeploy-local --bundle-location Cpathtolocalbundlezip --type zip --deployment-group my-deployment-group

codedeploy-local --bundle-location pathtolocaldirectory --type directory --deployment-group my-deployment-group

Implementar un paquete desde Amazon S3

codedeploy-local --bundle-location s3mybucketbundletgz --type tgz

codedeploy-local --bundle-location s3mybucketbundlezipversionId=1234ampetag=47e8 --type zip --deployment-group my-deployment-group

Versioacuten de API 2014-10-06356

AWS CodeDeploy Guiacutea del usuarioEjemplos

Implementar un paquete desde un repositorio de GitHub puacuteblico

codedeploy-local --bundle-location httpsgithubcomawslabsaws-codedeploy-sample-tomcat --type zip

codedeploy-local --bundle-location httpsapigithubcomreposawslabsaws-codedeploy-sample-tomcatzipballmaster --type zip

codedeploy-local --bundle-location httpsapigithubcomreposawslabsaws-codedeploy-sample-tomcatzipballHEAD --type zip

codedeploy-local --bundle-location httpsapigithubcomreposawslabsaws-codedeploy-sample-tomcatzipball1a2b3c4d --type zip

Implementar un paquete especificando varios eventos del ciclo de vida

codedeploy-local --bundle-location pathtolocalbundletar --type tar --application-folder my-deployment --events DownloadBundleInstallApplicationStartHealthCheck

Detener una aplicacioacuten implementada anteriormente mediante el evento del ciclo de vida ApplicationStop

codedeploy-local --bundle-location pathtolocalbundletgz --type tgz --deployment-group --events ApplicationStop

Implementar con un ID de grupo de implementaciones especiacutefico

codedeploy-local --bundle-location Cpathtolocalbundledirectory --deployment-group 1234abcd-5dd1-4774-89c6-30b107ac5dca

codedeploy-local --bundle-location Cpathtolocalbundlezip --type zip --deployment-group 1234abcd-5dd1-4774-89c6-30b107ac5dca

Versioacuten de API 2014-10-06357

AWS CodeDeploy Guiacutea del usuarioHerramientas automatizadas

Monitorizar implementaciones enCodeDeploy

La monitorizacioacuten es una parte importante del mantenimiento de la fiabilidad la disponibilidad y elrendimiento de CodeDeploy y susAWSsoluciones Debe recopilar datos de monitorizacioacuten de todaslas partes de su solucioacuten de AWS para que le resulte maacutes sencillo depurar un error que se produceen distintas partes del coacutedigo en caso de que ocurra No obstante antes de comenzar a monitorearCodeDeploy debe crear un plan que incluya respuestas a las siguientes preguntas

bull iquestCuaacuteles son los objetivos de la monitorizacioacutenbull iquestQueacute recursos va a monitorizarbull iquestCon queacute frecuencia va a monitorizar estos recursosbull iquestQueacute herramientas de monitoreo va a utilizarbull iquestQuieacuten se encargaraacute de realizar las tareas de monitoreobull iquestQuieacuten deberiacutea recibir una notificacioacuten cuando surjan problemas

El siguiente paso consiste en establecer un punto de referencia del desempentildeo de CodeDeploy normalen su entorno Para ello se mide el desempentildeo en distintos momentos y bajo distintas condiciones decarga A medida que realice el monitoreo de CodeDeploy vaya almacenando los datos de monitorizacioacutenhistoacutericos a fin de poder compararlos con los datos de rendimiento actual identificar patrones derendimiento normal y anomaliacuteas y desarrollar meacutetodos para la solucioacuten de problemas

Por ejemplo si utiliza CodeDeploy puede monitorizar el estado de las implementaciones y las instanciasde destino Si fallan las implementaciones o las instancias puede que tenga que volver a configurarun archivo de especificacioacuten de la aplicacioacuten volver a instalar o actualizar el agente de CodeDeployactualizar la configuracioacuten de una aplicacioacuten o grupo de implementaciones o realizar cambios en laconfiguracioacuten de la instancia o un archivo AppSpec

Para establecer un punto de referencia debe como miacutenimo monitorizar los elementos siguientes

bull Eventos y estado de la implementacioacutenbull Eventos y estado de la instancia

Herramientas de monitoreo automatizadasAWSproporciona varias herramientas que puede utilizar para monitorizar CodeDeploy Puede configuraralgunas de estas herramientas para que monitoricen por usted pero otras herramientas requierenintervencioacuten manual Le recomendamos que automatice las tareas de monitorizacioacuten en la medida de loposible

Puede utilizar las siguientes herramientas de monitorizacioacuten automatizada para monitorizar CodeDeploy einformar cuando haya alguacuten problema

bull Alarmas de Amazon CloudWatch vigile una meacutetrica durante un periodo de tiempo especificado y realiceuna o varias acciones seguacuten el valor que tenga la meacutetrica en comparacioacuten con un determinado umbraldurante una serie de periodos de tiempo La accioacuten es una notificacioacuten enviada a un tema de Amazon

Versioacuten de API 2014-10-06358

AWS CodeDeploy Guiacutea del usuarioHerramientas manuales

Simple Notification Service (Amazon SNS) o a una poliacutetica de Amazon EC2 Auto Scaling Las alarmasde CloudWatch no invocan acciones tan solo por tener un estado determinado es necesario que elestado haya cambiado y se mantenga durante un nuacutemero especiacutefico de periodos Para obtener maacutesinformacioacuten consulte Monitoring Deployments with Amazon CloudWatch Tools (p 360)

Para obtener informacioacuten acerca de coacutemo actualizar su rol de servicio para trabajar con la monitorizacioacutende alarmas de CloudWatch consulteConceder permisos de CloudWatch a un rol de servicioCodeDeploy (p 361) Para obtener informacioacuten sobre coacutemo antildeadir la monitorizacioacuten de alarmas deCloudWatch a sus operaciones de CodeDeployCrear una aplicacioacuten con CodeDeploy (p 273)Creacioacutende un grupo de implementaciones con CodeDeploy (p 288) o bienCambiar la configuracioacuten del grupode implementacioacuten con CodeDeploy (p 301)

bull Amazon CloudWatch Logs monitoree almacene y obtenga acceso a los archivos de registro de AWSCloudTrail u otras fuentes Para obtener maacutes informacioacuten consulte Monitoreo de archivos de registro enla guiacutea del usuario de Amazon CloudWatch

Para obtener informacioacuten acerca del uso de la consola de CloudWatch para ver los registros deCodeDeploy consulteVer los registros de CodeDeploy en CloudWatch Logs

bull Amazon CloudWatch Events seleccione los eventos y diriacutejalos hacia uno o varios flujos o funcionesde destino para realizar cambios capturar informacioacuten de estado y aplicar medidas correctivas Paraobtener maacutes informacioacuten consulte iquestQueacute es Amazon CloudWatch Events en la guiacutea del usuario deAmazon CloudWatch

Para obtener informacioacuten acerca del uso de CloudWatch Events en sus operaciones de CodeDeployconsulteMonitoreo de implementaciones de mediante Amazon CloudWatch Events (p 362)

bull Monitoreo de registros de AWS CloudTrail comparta archivos de registro entre cuentas monitoree losarchivos de registro de CloudTrail en tiempo real enviaacutendolos a CloudWatch Logs escriba aplicacionesde procesamiento de registros en Java y compruebe que los archivos de registro no hayan cambiadodespueacutes de que CloudTrail los entregara Para obtener maacutes informacioacuten consulte Uso de archivos deregistro de CloudTrail en la Guiacutea del usuario de AWS CloudTrail

Para obtener informacioacuten acerca del uso de CloudTrail con CodeDeploy consulteMonitoringDeployments (p 364)

bull Amazon Simple Notification Service configure disparadores basados en eventos para recibirnotificaciones por correo electroacutenico o SMS sobre eventos de implementaciones e instancias comoel eacutexito o el error Para obtener maacutes informacioacuten consulteCrear un temayiquestQueacute es Amazon SimpleNotification Service

Para obtener informacioacuten acerca de coacutemo configurar notificaciones de Amazon SNS para CodeDeployconsulteMonitoring Deployments with Amazon SNS Event Notifications (p 365)

Herramientas de monitoreo manualesOtra parte importante del monitoreo de CodeDeploy implica el monitoreo manual de los elementos queno cubren las alarmas de CloudWatch CodeDeploy CloudWatch y otrosAWSLos paneles de consola deproporcionan una vista raacutepida del estado de suAWSentorno de Es recomendable que tambieacuten compruebelos archivos de registro de las implementaciones de CodeDeploy

bull La consola de CodeDeploy muestrabull El estado de las implementacionesbull La fecha y la hora de cada uno de los uacuteltimos intentos de implementacioacuten y la uacuteltima implementacioacuten

correcta de una revisioacutenbull El nuacutemero de instancias correctas erroacuteneas omitidas o en curso de una implementacioacutenbull El estado de las instancias on-premise

Versioacuten de API 2014-10-06359

AWS CodeDeploy Guiacutea del usuarioMonitorizacioacuten de implementaciones con

herramientas de Amazon CloudWatch

bull La fecha y la hora en las que se han registrado o anulado las instancias on-premisebull La paacutegina de inicio de CloudWatch muestra

bull Alarmas y estado actualbull Graacuteficos de alarmas y recursosbull Estado de los servicios

Ademaacutes puede utilizar CloudWatch para hacer lo siguientebull Crear paneles personalizados para monitorear los servicios que le interesanbull Realizar un graacutefico con los datos de las meacutetricas para resolver problemas y descubrir tendenciasbull Buscar y examinar todas sus meacutetricas de recursos de AWSbull Crear y editar las alarmas de notificacioacuten de problemas

Temas

bull Monitoring Deployments with Amazon CloudWatch Tools (p 360)bull Monitoring Deployments (p 364)bull Monitoring Deployments with Amazon SNS Event Notifications (p 365)

Monitorizacioacuten de implementaciones conherramientas de Amazon CloudWatch

Puede supervisar las implementaciones de CodeDeploy mediante las siguientes herramientas deCloudWatch Amazon CloudWatch Events alarmas de CloudWatch y Amazon CloudWatch Logs

Revisar los registros creados por el agente de CodeDeploy y las implementaciones puede ayudarle asolucionar las causas de los errores de implementacioacuten En lugar de revisar los registros de CodeDeployen una instancia cada vez puede utilizar CloudWatch Logs para monitorizar todos los registros en unaubicacioacuten central

Para obtener informacioacuten sobre el uso de alarmas de CloudWatch y CloudWatch Events para monitorizarsus implementaciones de CodeDeploy consulte los siguientes temas

Temasbull Supervisioacuten de implementaciones con alarmas de CloudWatch en CodeDeploy (p 360)bull Monitoreo de implementaciones de mediante Amazon CloudWatch Events (p 362)

Supervisioacuten de implementaciones con alarmas deCloudWatch en CodeDeployPuede crear una alarma de CloudWatch para una instancia o grupo de Amazon EC2 Auto Scaling queutilice en sus operaciones de CodeDeploy Una alarma vigila una uacutenica meacutetrica durante el periacuteodoespecificado y realiza una o varias acciones seguacuten el valor de la meacutetrica relativo a un determinado umbraldurante varios periacuteodos de tiempo Las alarmas de CloudWatch invocan acciones cuando cambia suestado (por ejemplo desdeOKaALARM)

Mediante la funcionalidad de alarma nativa de CloudWatch puede especificar cualquiera de las accionescompatibles con CloudWatch si falla una instancia que utiliza en una implementacioacuten por ejemploenviar una notificacioacuten de Amazon SNS o detener terminar reiniciar o recuperar una instancia Para

Versioacuten de API 2014-10-06360

AWS CodeDeploy Guiacutea del usuarioMonitorizacioacuten de implementaciones

con alarmas de CloudWatch

sus operaciones de CodeDeploy puede configurar un grupo de implementaciones para deteneruna implementacioacuten siempre que se active cualquier alarma de CloudWatch asociada al grupo deimplementaciones

Puede asociar hasta diez alarmas de CloudWatch con un grupo de implementaciones de CodeDeploy Sise activa cualquiera de las alarmas especificadas la implementacioacuten se detiene y el estado se actualizaa Stopped Para utilizar esta opcioacuten debe conceder permisos de CloudWatch a su rol de servicio deCodeDeploy

Para obtener informacioacuten sobre coacutemo configurar alarmas de CloudWatch en la consola de CloudWatchconsulteCreacioacuten de alarmas de Amazon CloudWatchen laGuiacutea del usuario de Amazon CloudWatch

Para obtener informacioacuten sobre coacutemo asociar una alarma de CloudWatch con un grupo deimplementaciones en CodeDeploy consulteCreacioacuten de un grupo de implementaciones conCodeDeploy (p 288)yCambiar la configuracioacuten del grupo de implementacioacuten con CodeDeploy (p 301)

Temasbull Conceder permisos de CloudWatch a un rol de servicio CodeDeploy (p 361)

Conceder permisos de CloudWatch a un rol de servicioCodeDeployPara poder utilizar la monitorizacioacuten de alarmas de CloudWatch con sus implementaciones debe concederpermiso al rol de servicio que utiliza en sus operaciones de CodeDeploy para obtener acceso a losrecursos de CloudWatch

Para conceder permisos de CloudWatch a un rol de servicio

1 Inicie sesioacuten en la AWS Management Console y abra la consola de IAM en httpsconsoleawsamazoncomiam

2 En el panel de navegacioacuten de la consola de IAM elijaRoles de3 Elija el nombre del rol de servicio que usaraacute en las operaciones de AWS CodeDeploy4 En la pestantildea Permissions en el aacuterea Inline Policies elija Create Role Policy

ndasho bienndash

Si el botoacuten Create Role Policy no estaacute disponible expanda el aacuterea Inline Policies y despueacutes elija clickhere

5 En la paacutegina Set Permissions elija Custom Policy y despueacutes Select6 En la paacutegina Review Policy en el campo Policy Name escriba un nombre que identifique esta poliacutetica

como CWAlarms7 Pegue la siguiente informacioacuten en el campo Policy Document

Version 2012-10-17 Statement [ Effect Allow Action cloudwatchDescribeAlarms Resource ]

8 Seleccione Apply Policy

Versioacuten de API 2014-10-06361

AWS CodeDeploy Guiacutea del usuarioMonitoreo de implementaciones de

mediante Amazon CloudWatch Events

Monitoreo de implementaciones de mediante AmazonCloudWatch EventsPuede utilizar Amazon CloudWatch Events para detectar cambios en el estado de una instancia o unaimplementacioacuten (un laquoeventoraquo) en sus operaciones de CodeDeploy y reaccionar ante dichos cambios Acontinuacioacuten en funcioacuten de las reglas que se creen CloudWatch Events invocaraacute una o varias accionesde destino cuando una implementacioacuten o una instancia entre en el estado especificado en una regla Enfuncioacuten del tipo de cambio de estado es posible que desee enviar notificaciones capturar informacioacuten deestado tomar medidas correctivas iniciar eventos o adoptar otras medidas Si utiliza CloudWatch Eventscomo parte de sus operaciones de CodeDeploy puede seleccionar los siguientes tipos de destinos

bull Funciones de AWS Lambdabull Flujos de Kinesisbull Colas de Amazon SQSbull Destinos integrados (EC2 CreateSnapshot API callEC2 RebootInstances API callEC2StopInstances API call yEC2 TerminateInstances API call)

bull Temas de Amazon SNS

A continuacioacuten se indican algunos casos de uso

bull Utilice una funcioacuten Lambda para pasar una notificacioacuten a un canal de Slack siempre que se produzcanerrores en las implementaciones

bull Enviacutee datos acerca de las implementaciones o instancias a un flujo de Kinesis para permitir unamonitorizacioacuten completa del estado en tiempo real

bull Utilice acciones de alarma de CloudWatch para detener terminar reiniciar o recuperar automaacuteticamenteinstancias de Amazon EC2 cuando se produzca el evento de implementacioacuten o de instanciaespecificado

En las demaacutes partes de este tema se describe el procedimiento baacutesico para crear una regla deCloudWatch Events para CodeDeploy No obstante antes de crear reglas de eventos que utilizaraacute en susoperaciones de CodeDeploy debe hacer lo siguiente

bull Complete los requisitos previos de CloudWatch Events Para obtener informacioacuten consulteAmazonCloudWatch Events

bull Familiariacutecese con los eventos las reglas y los destinos de CloudWatch Events Para obtener maacutesinformacioacuten consulteiquestQueacute es Amazon CloudWatch EventsyNuevos eventos de CloudWatch realice unseguimiento y responda a los cambios en suAWSrecursos

bull Crear el destino o los destinos que se utilizaraacuten en las reglas de eventos

Para crear una regla de CloudWatch Events para CodeDeploy

1 Abra la consola de CloudWatch en httpsconsoleawsamazoncomcloudwatch2 En el panel de navegacioacuten elija Events (Eventos)3 Elija Create rule (Crear regla) y a continuacioacuten en Event selector (Selector de eventos) elija AWS

CodeDeploy4 Especifique un tipo de detalle

bull Para crear una regla que se aplique a todos los cambios de estado de las instancias y lasimplementaciones elija Any detail type (Cualquier tipo de detalle) y continuacutee en el paso 6

Versioacuten de API 2014-10-06362

AWS CodeDeploy Guiacutea del usuarioMonitoreo de implementaciones de

mediante Amazon CloudWatch Events

bull Para crear una regla que solo se aplique a las instancias elija Specific detail type (Tipos dedetalles especiacuteficos) y a continuacioacuten seleccione CodeDeploy Instance State-change Notification(Notificacioacuten de cambio de estado de instancia de CodeDeploy)

bull Para crear una regla que solo se aplique a las implementaciones elija Specific detail type (Tiposde detalles especiacuteficos) y a continuacioacuten seleccione CodeDeploy Deployment State-changeNotification (Notificacioacuten de cambio de estado de implementacioacuten de CodeDeploy)

5 Especifique los cambios de estado a los que se aplica la regla

bull Para crear una regla que se aplique a todos los cambios de estado elija Any state (Cualquierestado)

bull Para crear una regla que se aplique uacutenicamente a algunos cambios de estado seleccione Specificstate(s) (Estados especiacuteficos) y luego elija uno o varios valores de estado de la lista En la siguientetabla se muestran los valores de estado que puede elegir

Valores de estado de implementacioacuten Valores de estado de instancia

FAILURE

START

STOP

QUEUED

READY

SUCCESS

FAILURE

START

READY

SUCCESS

6 Especifique las aplicaciones de CodeDeploy a las que se aplica la regla

bull Para crear una regla que se aplique a todas las aplicaciones elija Any application (Cualquieraplicacioacuten) y continuacutee en el paso 8

bull Para crear una regla que se aplique uacutenicamente a una aplicacioacuten seleccione Specific application(Aplicacioacuten especiacutefica) y luego elija el nombre de la aplicacioacuten en la lista

7 Especifique los grupos de implementaciones a los que se aplica la regla

bull Para crear una regla que se aplique a todos los grupos de implementaciones asociados a laaplicacioacuten seleccionada elija Any deployment group (Cualquier grupo de implementaciones)

bull Para crear una regla que se aplique uacutenicamente a uno de los grupos de implementacionesasociados a la aplicacioacuten seleccionada seleccione Specific deployment group(s) (Grupos deimplementaciones especiacuteficos) y a continuacioacuten elija el nombre del grupo de implementaciones enla lista

8 Revise la configuracioacuten de las reglas para asegurarse de que se ajusta a los requisitos demonitorizacioacuten de eventos

9 En el aacuterea Targets seleccione Add target10 En la lista Select target type elija el tipo de destino que haya preparado para usarlo con esta regla y

luego configure las opciones adicionales que requiera dicho tipo11 Seleccione Configure details12 En la paacutegina Configure rule details (Configurar detalles de la regla) escriba un nombre y la descripcioacuten

de la regla y a continuacioacuten elija la casilla State (Estado) para habilitar la regla ahora13 Si estaacute satisfecho con la regla elija Create rule (Crear regla)

Versioacuten de API 2014-10-06363

AWS CodeDeploy Guiacutea del usuarioMonitorizar implementaciones conAWS CloudTrail

Monitorizar implementaciones conAWS CloudTrailCodeDeploy se integra con CloudTrail un servicio que captura las llamadas a la API realizadas por o ennombre de CodeDeploy en suAWSy entrega los archivos de registro en un bucket de Amazon S3 que seespecifique CloudTrail captura las llamadas al API de la consola de CodeDeploy desde los comandosde CodeDeploy a traveacutes de laAWS CLIo desde las API de CodeDeploy directamente Con la informacioacutenrecopilada por CloudTrail puede identificar la solicitud que se realizoacute a CodeDeploy la direccioacuten IPde origen desde la que se realizoacute la solicitud quieacuten realizoacute la solicitud cuaacutendo se realizoacute etceacuteteraPara obtener maacutes informacioacuten sobre CloudTrail incluido coacutemo configurarlo y habilitarlo consulteAWSCloudTrailGuiacutea del usuario de

Informacioacuten de CodeDeploy en CloudTrailCuando el registro de CloudTrail estaacute habilitado en suAWScuenta de las llamadas a la API realizadas alas acciones de CodeDeploy se registran en archivos de registro Los registros de CodeDeploy se escribenjunto con otrosAWSregistros de servicio de en un archivo de registro de CloudTrail determina cuaacutendodebe crearse un nuevo archivo y escribir en eacutel en funcioacuten del periodo de tiempo y del tamantildeo del archivo

Todas las acciones de CodeDeploy de se registran y documentan en laAWS CodeDeployReferencia deliacutenea de comandosy laAWS CodeDeployReferencia de la API Todas las llamadas realizadas para crearimplementaciones eliminar aplicaciones y registrar la revisiones de aplicacioacuten por ejemplo generanentradas en los archivos log de CloudTrail

Cada entrada de registro contiene informacioacuten sobre quieacuten generoacute la solicitud La informacioacuten de identidaddel usuario que figura en el log le ayudaraacute a determinar si la solicitud se hizo con credenciales de usuariode IAM o raiacutez con credenciales de seguridad temporales para un rol o un usuario federado o bienmediante otro servicio de AWS Para obtener maacutes informacioacuten consulte el campo userIdentity en laReferencia de eventos de CloudTrail

Puede almacenar los archivos de registro en su bucket durante todo el tiempo que desee pero tambieacutenpuede definir reglas de ciclo de vida de Amazon S3 para archivar o eliminar archivos de registroautomaacuteticamente De forma predeterminada se usa el cifrado del servidor de Amazon S3 (SSE) para cifrarlos archivos log

Puede hacer que CloudTrail publique notificaciones de Amazon SNS cuando se entreguen nuevosarchivos log Para obtener maacutes informacioacuten consulte Configuracioacuten de notificaciones de Amazon SNSpara CloudTrail

Tambieacuten puede agregar archivos de registro de CodeDeploy desde variosAWSregiones ymuacuteltiplesAWScuentas en un uacutenico bucket de Amazon S3 Para obtener maacutes informacioacutenconsulteRecepcioacuten de archivos de registro de CloudTrail de varias regiones

Descripcioacuten de las entradas de archivos log deCodeDeployLos archivos de registro de CloudTrail pueden contener una o varias entradas de registro cada una delas cuales estaacute compuesta por varios eventos con formato JSON Una entrada de registro representa unauacutenica solicitud de cualquier origen e incluye informacioacuten sobre la accioacuten solicitada los paraacutemetros la fechay la hora de la accioacuten etceacutetera Las entradas de registro no se muestran en ninguacuten orden concreto Esdecir no representan un rastro de la pila ordenada de las llamadas a API puacuteblicas

En el ejemplo siguiente se muestra una entrada de registro de CloudTrail que ilustra la accioacuten Crear grupode implementaciones de CodeDeploy

Records [

Versioacuten de API 2014-10-06364

AWS CodeDeploy Guiacutea del usuarioSupervisioacuten de implementaciones con

notificaciones de eventos de Amazon SNS

eventVersion 102 userIdentity type AssumedRole principalId AKIAI44QH8DHBEXAMPLE203011311 arn arnawssts123456789012assumed-roleexample-role203011311 accountId 123456789012 accessKeyId AKIAIOSFODNN7EXAMPLE sessionContext attributes mfaAuthenticated false creationDate 2014-11-27T035736Z sessionIssuer type Role principalId AKIAI44QH8DHBEXAMPLE arn arnawsiam123456789012roleexample-role accountId 123456789012 userName example-role eventTime 2014-11-27T035736Z eventSource codedeployamazonawscom eventName CreateDeploymentGroup awsRegion us-west-2 sourceIPAddress 203011311 userAgent example-user-agent-string requestParameters applicationName ExampleApplication serviceRoleArn arnawsiam123456789012roleexample-instance-group-role deploymentGroupName ExampleDeploymentGroup ec2TagFilters [ value CodeDeployDemo type KEY_AND_VALUE key Name ] deploymentConfigName CodeDeployDefaultHalfAtATime responseElements deploymentGroupId 7d64e680-e6f4-4c07-b10a-9e117EXAMPLE requestID 86168559-75e9-11e4-8cf8-75d18EXAMPLE eventID 832b82d5-d474-44e8-a51d-093ccEXAMPLE eventType AwsApiCall recipientAccountId 123456789012 additional entries ]

Supervisioacuten de implementaciones connotificaciones de eventos de Amazon SNS

Puede antildeadir disparadores a un grupo de implementaciones de CodeDeploy para recibir notificacionessobre eventos relacionados con las implementaciones o instancias en ese grupo de implementacionesEstas notificaciones se enviacutean a los destinatarios que estaacuten suscritos a un tema de Amazon SNS queforma parte de la accioacuten del disparador

Puede recibir notificaciones de eventos de CodeDeploy en mensajes SMS o de correo electroacutenicoTambieacuten puede utilizar de otras formas los datos JSON que se crean cuando se produce un evento

Versioacuten de API 2014-10-06365

AWS CodeDeploy Guiacutea del usuarioConcesioacuten de permisos de Amazon SNS a un rol de servicio

determinado como enviar mensajes a colas de Amazon SQS o invocar una funcioacuten enAWS LambdaPara conocer la estructura de los datos JSON proporcionados para los disparadores de implementacioacuten einstancia consulte Formatos de datos JSON para activadores de CodeDeploy (p 374)

Puede optar por utilizar disparadores para recibir notificaciones si

bull Es desarrollador y necesita saber cuaacutendo se detiene o cuaacutendo se produce un error en unaimplementacioacuten para que pueda solucionar los problemas

bull Es administrador del sistema y necesita saber en cuaacutentas instancias se producen errores para podermonitorizar el estado de la flota de Amazon EC2

bull Es administrador y que quiere ver raacutepidamente el nuacutemero de eventos de implementaciones e instanciaspara ello puede usar reglas de filtrado que dirijan los diferentes tipos de notificaciones a carpetas de sucliente de correo electroacutenico de escritorio

Puede crear hasta 10 disparadores para cada grupo de implementaciones de CodeDeploy para cualquierade los siguientes tipos de eventos

Eventos de implementacioacuten Eventos de instancia

bull Correctobull Errorbull Startedbull Stopped (Detenido)bull Reversioacutenbull Readysup1bull Todos los eventos de implementacioacuten

bull Correctobull Errorbull Startedbull Readysup1bull Todos los eventos de instancia

sup1Se aplica uacutenicamente a las implementaciones ldquobluegreenrdquo (bluegreen) Indica que la uacuteltima revisioacutende la aplicacioacuten se ha instalado en las instancias de un entorno de sustitucioacuten y que el traacutefico delentorno original se puede redirigir ahora tras un balanceador de carga Para obtener maacutes informacioacutenconsulteUso de las implementaciones en CodeDeploy (p 323)

Temasbull Conceder permisos de Amazon SNS a un rol de servicio CodeDeploy (p 366)bull Creacioacuten de un disparador para un evento de CodeDeploy (p 367)bull Edicioacuten de un activador en un grupo de implementacioacuten de CodeDeploy (p 372)bull Eliminar un desencadenador de un grupo de implementacioacuten de CodeDeploy (p 373)bull Formatos de datos JSON para activadores de CodeDeploy (p 374)

Conceder permisos de Amazon SNS a un rol deservicio CodeDeployPara que sus disparadores puedan generar notificaciones el rol de servicio que usa en las operaciones deCodeDeploy debe recibir permiso de acceso a los recursos de Amazon SNS

Para conceder permisos de Amazon SNS a un rol de servicio

1 Inicie sesioacuten en la AWS Management Console y abra la consola de IAM en httpsconsoleawsamazoncomiam

Versioacuten de API 2014-10-06366

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de un disparador para un evento de CodeDeploy

2 En la consola de IAM en el panel de navegacioacuten elijaRoles de3 Elija el nombre del rol de servicio que usaraacute en las operaciones de AWS CodeDeploy4 En la pestantildea Permissions en el aacuterea Inline Policies elija Create Role Policy

ndasho bienndash

Si el botoacuten Create Role Policy no estaacute disponible expanda el aacuterea Inline Policies y despueacutes elija clickhere

5 En la paacutegina Set Permissions elija Custom Policy y despueacutes Select6 En la paacutegina Review Policy (Revisar la poliacutetica) en el campo Policy Name (Nombre de la poliacutetica)

introduzca un nombre que identifique esta poliacutetica como SNSPublish7 Pegue la siguiente informacioacuten en el campo Policy Document

Version 2012-10-17 Statement [ Effect Allow Action snsPublish Resource ]

8 Seleccione Apply Policy

Creacioacuten de un disparador para un evento deCodeDeployPuede crear un disparador que publique un tema de Amazon Simple Notification Service (Amazon SNS)para unAWS CodeDeployevento de implementacioacuten o instancia A continuacioacuten cuando se produceese evento todos los suscriptores del tema asociado reciben notificaciones a traveacutes del punto de enlaceespecificado en el tema como un mensaje SMS o un mensaje de correo electroacutenico Amazon SNS ofrecevarios meacutetodos para suscribirse a temas

Antes de crear un disparador debe configurar el tema de Amazon SNS para que apunte el disparadorPara obtener informacioacuten consulteCrear un tema Cuando cree un tema recomendamos que le asigneun nombre que identifique su finalidad con un formato comoTopic-group-us-west-3-deploy-failoTopic-group-project-2-instance-stop

Tambieacuten debe conceder permisos de Amazon SNS a un rol de servicio CodeDeploy para que se puedanenviar notificaciones para su disparador Para obtener informacioacuten consulte Conceder permisos deAmazon SNS a un rol de servicio CodeDeploy (p 366)

Una vez que haya creado el tema puede antildeadir suscriptores Para obtener informacioacuten sobre coacutemo crearadministrar y suscribirse a los temas consulteiquestQueacute es Amazon Simple Notification Service

Creacioacuten de un disparador para enviar notificaciones paraeventos de CodeDeploy (consola)Puede utilizar la consola de CodeDeploy para crear disparadores para un evento de CodeDeploy Alfinalizar el proceso de configuracioacuten se enviacutea un mensaje de notificacioacuten de prueba para garantizar quetanto los permisos como los detalles de los desencadenadores estaacuten configurados correctamente

Versioacuten de API 2014-10-06367

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de un disparador para un evento de CodeDeploy

Para crear un desencadenador para un evento de CodeDeploy

1 En la AWS Management Console abra la consola de AWS CodeDeploy2 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttps

consoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

3 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones4 En la paacutegina Applications (Aplicaciones) elija el nombre de la aplicacioacuten asociada al grupo de

implementaciones en el que desee antildeadir un disparador5 En la paacutegina Application details (Detalles de la aplicacioacuten) elija el grupo de implementaciones en el

que desee antildeadir un disparador6 Elija Edit (Editar)7 Expanda Advanced (Opciones avanzadas) (opcional)8 En el aacuterea Triggers (Disparadores) elija Create trigger (Crear disparador)9 En el panel Create deployment trigger (Crear disparador de implementaciones) realice lo siguiente

a En Trigger name (Nombre del disparador) introduzca un nombre para el disparador que facilite laidentificacioacuten de su finalidad Recomendamos un formato como Trigger-group-us-west-3-deploy-fail o Trigger-group-eu-central-instance-stop

b EnEventos elija el tipo o los tipos de evento que desee que disparen el enviacuteo de notificacionespor parte del tema de Amazon SNS

c EnTemas de Amazon SNS elija el nombre del tema que ha creado para enviar notificacionespara este disparador

d Elija Create trigger CodeDeploy enviacutea una notificacioacuten de prueba para confirmar que haconfigurado correctamente el acceso entre CodeDeploy y el tema de Amazon SNS En funcioacuten deltipo de punto de enlace que haya seleccionado para el tema y de si se ha suscrito al tema recibeun mensaje SMS o de correo electroacutenico de confirmacioacuten

10 Elija Save changes (Guardar cambios)

Creacioacuten de un disparador para enviar notificaciones paraeventos de CodeDeploy (CLI)Puede utilizar la CLI para incluir disparadores al crear un grupo de implementaciones o bien puede antildeadirdisparadores a un grupo de implementaciones existente

Para crear un disparador de enviacuteo de notificaciones para un nuevo grupo deimplementaciones

Cree un archivo JSON para configurar el grupo de implementaciones y a continuacioacuten ejecute el comandocreate-deployment-group con la opcioacuten --cli-input-json

La forma maacutes sencilla de crear el archivo JSON es utilizar la opcioacuten --generate-cli-skeleton paraobtener una copia del formato JSON y a continuacioacuten proporcionar los valores necesarios en un editor detexto sin formato

1 Ejecute el siguiente comando y a continuacioacuten copie los resultados en un editor de texto sin formato

aws deploy create-deployment-group --generate-cli-skeleton

Versioacuten de API 2014-10-06368

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de un disparador para un evento de CodeDeploy

2 Antildeada al resultado el nombre de una aplicacioacuten de CodeDeploy existente

applicationName TestApp-us-east-2 deploymentGroupName deploymentConfigName ec2TagFilters [ Key Value Type ] onPremisesInstanceTagFilters [ Key Value Type ] autoScalingGroups [ ] serviceRoleArn triggerConfigurations [ triggerName triggerTargetArn triggerEvents [ ] ]

3 Proporcione los valores de los paraacutemetros que desea configurar

Cuando utilice el comando create-deployment-group debe proporcionar como miacutenimo los valores delos siguientes paraacutemetros

bull applicationName el nombre de una aplicacioacuten ya creada en su cuentabull deploymentGroupName un nombre para el grupo de implementaciones que va a crearbull serviceRoleArn el ARN de un rol de servicio existente configurado para CodeDeploy en

su cuenta Para obtener informacioacuten consulte Paso 2 Creacioacuten de un rol de servicio paraCodeDeploy (p 36)

En la seccioacuten triggerConfigurations proporcione valores para los siguientes paraacutemetros

bull triggerName el nombre que desea asignar al disparador para que pueda identificarlo faacutecilmenteRecomendamos un formato como Trigger-group-us-west-3-deploy-fail o Trigger-group-eu-central-instance-stop

bull triggerTargetArn el ARN del tema de Amazon SNS que ha creado para asociar al disparadoren este formatoarnawssnsus-east-2444455556666NewTestTopic

bull triggerEvents el tipo de evento o eventos para los que desea dispararnotificaciones Puede especificar uno o varios tipos de eventos separando concomas los distintos nombres de tipo de evento (por ejemplo triggerEvents[DeploymentSuccessDeploymentFailureInstanceFailure]) Cuando antildeademaacutes de un tipo de evento las notificaciones de todos esos tipos se enviacutean al tema especificado enlugar de enviarse a un tema diferente para cada una de ellas Puede elegir entre los siguientes tiposde evento

Versioacuten de API 2014-10-06369

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de un disparador para un evento de CodeDeploy

bull DeploymentStartbull DeploymentSuccessbull DeploymentFailurebull DeploymentStopbull DeploymentRollbackbull DeploymentReady (se aplica uacutenicamente a las instancias de sustitucioacuten en una implementacioacuten

ldquobluegreenrdquo)bull InstanceStartbull InstanceSuccessbull InstanceFailurebull InstanceReady (se aplica uacutenicamente a las instancias de sustitucioacuten en una implementacioacuten ldquoblue

greenrdquo)

El siguiente ejemplo de configuracioacuten crea un grupo de implementaciones denominado dep-group-ghi-789-2 para una aplicacioacuten llamada TestApp-us-east-2 y un disparador que provoca el enviacuteode notificaciones siempre que una implementacioacuten comience o se realice correctamente o cuando seproduzca un error en ella

applicationName TestApp-us-east-2 deploymentConfigName CodeDeployDefaultOneAtATime deploymentGroupName dep-group-ghi-789-2 ec2TagFilters [ Key Name Value Project-ABC Type KEY_AND_VALUE ] serviceRoleArn arnawsiam444455556666roleAnyCompany-service-role triggerConfigurations [ triggerName Trigger-group-us-east-2 triggerTargetArn arnawssnsus-east-2444455556666us-east-deployments triggerEvents [ DeploymentStart DeploymentSuccess DeploymentFailure ] ]

4 Guarde las actualizaciones como un archivo JSON y a continuacioacuten llame a dicho archivo con laopcioacuten --cli-input-json cuando ejecute el comando create-deployment-group

Important

Aseguacuterese de incluir file antes del nombre de archivo Es obligatorio en este comando

aws deploy create-deployment-group --cli-input-json filefilenamejson

Al finalizar el proceso de creacioacuten recibe un mensaje de notificacioacuten de prueba que indica que tantolos permisos como los detalles de los disparadores estaacuten configurados correctamente

Versioacuten de API 2014-10-06370

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de un disparador para un evento de CodeDeploy

Para crear un disparador de enviacuteo de notificaciones para un grupo deimplementaciones existente

Para utilizar elAWS CLIPara antildeadir disparadores de eventos de CodeDeploy a un grupo deimplementaciones cree un archivo JSON para actualizar el grupo de implementaciones y a continuacioacutenejecute lagrupo de implementacioacuten-actualizacioacutenmediante la--cli-input-jsonopcioacuten

La forma maacutes sencilla de crear el archivo JSON es ejecutar el comando get-deployment-group paraobtener una copia de la configuracioacuten del grupo de implementaciones en formato JSON y a continuacioacutenactualizar los valores de los paraacutemetros en un editor de texto sin formato

1 Ejecute el siguiente comando y a continuacioacuten copie los resultados en un editor de texto sin formato

aws deploy get-deployment-group --application-name application --deployment-group-name deployment-group

2 Elimine lo siguiente del resultado

bull Al principio del resultado elimine deploymentGroupInfobull Al final del resultado elimine bull Elimine la fila que contiene deploymentGroupIdbull Elimine la fila que contiene deploymentGroupName

El contenido de su archivo de texto debe tener ahora un aspecto similar al siguiente

applicationName TestApp-us-east-2 deploymentConfigName CodeDeployDefaultOneAtATime autoScalingGroups [] ec2TagFilters [ Type KEY_AND_VALUE Value Project-ABC Key Name ] triggerConfigurations [] serviceRoleArn arnawsiam444455556666roleAnyCompany-service-role onPremisesInstanceTagFilters []

3 En la seccioacuten triggerConfigurations antildeada datos para los paraacutemetros triggerEventstriggerTargetArn y triggerName Para obtener informacioacuten acerca de los paraacutemetros deconfiguracioacuten de disparadores consulte TriggerConfig

El contenido de su archivo de texto debe tener ahora un aspecto similar al siguiente Este coacutedigoprovoca el enviacuteo de notificaciones siempre que una implementacioacuten comience o se realicecorrectamente o cuando se produzca un error en ella

applicationName TestApp-us-east-2 deploymentConfigName CodeDeployDefaultOneAtATime autoScalingGroups [] ec2TagFilters [ Type KEY_AND_VALUE Value Project-ABC Key Name

Versioacuten de API 2014-10-06371

AWS CodeDeploy Guiacutea del usuarioEdicioacuten de un desencadenadoren un grupo de implementacioacuten

] triggerConfigurations [ triggerEvents [ DeploymentStart DeploymentSuccess DeploymentFailure ] triggerTargetArn arnawssnsus-east-2444455556666us-east-deployments triggerName Trigger-group-us-east-2 ] serviceRoleArn arnawsiam444455556666roleAnyCompany-service-role onPremisesInstanceTagFilters []

4 Guarde las actualizaciones como un archivo JSON y a continuacioacuten ejecute el comando update-deployment-group con la opcioacuten --cli-input-json Aseguacuterese de incluir la opcioacuten --current-deployment-group-name y especifique el nombre de su archivo JSON en filename

Important

Aseguacuterese de incluir file antes del nombre de archivo Es obligatorio en este comando

aws deploy update-deployment-group --current-deployment-group-name deployment-group-name --cli-input-json filefilenamejson

Al finalizar el proceso de creacioacuten recibe un mensaje de notificacioacuten de prueba que indica que tantolos permisos como los detalles de los disparadores estaacuten configurados correctamente

Edicioacuten de un activador en un grupo deimplementacioacuten de CodeDeploySi sus necesidades de notificacioacuten cambian puede modificar el desencadenador en lugar de crear unonuevo

Modificacioacuten de un disparador de CodeDeploy (CLI)Para utilizar elAWS CLIPara cambiar los detalles de los desencadenadores de eventos de CodeDeploycuando actualiza un grupo de implementaciones cree un archivo JSON para definir los cambios enlas propiedades del grupo de implementaciones y a continuacioacuten ejecute lagrupo de implementacioacuten-actualizacioacutencomando con el--cli-input-jsonopcioacuten

La forma maacutes sencilla de crear el archivo JSON es ejecutar el comando get-deployment-group paraobtener los detalles del grupo de implementaciones actual en formato JSON y a continuacioacuten editar losvalores necesarios en un editor de texto sin formato

1 Ejecute el siguiente comando sustituyendo application y deployment-group por los nombres desu aplicacioacuten y grupo de implementaciones

aws deploy get-deployment-group --application-name application --deployment-group-name deployment-group

2 Copie los resultados del comando en un editor de texto sin formato y a continuacioacuten elimine losiguiente

bull Al principio del resultado elimine deploymentGroupInfo

Versioacuten de API 2014-10-06372

AWS CodeDeploy Guiacutea del usuarioEliminar un desencadenador

de un grupo de implementacioacuten

bull Al final del resultado elimine bull Elimine la fila que contiene deploymentGroupIdbull Elimine la fila que contiene deploymentGroupName

El contenido de su archivo de texto debe tener ahora un aspecto similar al siguiente

applicationName TestApp-us-east-2 deploymentConfigName CodeDeployDefaultOneAtATime autoScalingGroups [] ec2TagFilters [ Type KEY_AND_VALUE Value East-1-Instances Key Name ] triggerConfigurations [ triggerEvents [ DeploymentStart DeploymentSuccess DeploymentFailure DeploymentStop ] triggerTargetArn arnawssnsus-east-2111222333444Trigger-group-us-east-2 triggerName Trigger-group-us-east-2 ] serviceRoleArn arnawsiam444455556666roleAnyCompany-service-role onPremisesInstanceTagFilters []

3 Cambie los paraacutemetros seguacuten sea necesario Para obtener informacioacuten acerca de los paraacutemetros deconfiguracioacuten de disparadores consulte TriggerConfig

4 Guarde las actualizaciones como un archivo JSON y a continuacioacuten ejecute el comando update-deployment-group con la opcioacuten --cli-input-json Aseguacuterese de incluir la opcioacuten --current-deployment-group-name y especifique el nombre de su archivo JSON en filename

Important

Aseguacuterese de incluir file antes del nombre de archivo Es obligatorio en este comando

aws deploy update-deployment-group --current-deployment-group-name deployment-group-name --cli-input-json filefilenamejson

Al finalizar el proceso de creacioacuten recibe un mensaje de notificacioacuten de prueba que indica que tanto lospermisos como los detalles de los disparadores estaacuten configurados correctamente

Eliminar un desencadenador de un grupo deimplementacioacuten de CodeDeployDada la limitacioacuten de 10 desencadenadores por grupo de implementaciones es posible que desee eliminardesencadenadores si ya no se utilizan No puede deshacer la eliminacioacuten de un disparador pero puedevolver a crearlos

Versioacuten de API 2014-10-06373

AWS CodeDeploy Guiacutea del usuarioFormatos de datos JSON para activadores

Eliminacioacuten de un desencadenador de un grupo deimplementaciones (consola)1 Inicie sesioacuten en laAWS Management Consoley abra la consola de CodeDeploy enhttps

consoleawsamazoncomcodedeploy

Note

Inicie sesioacuten con la misma cuenta o informacioacuten de usuario de IAM que utilizoacute enIntroduccioacutena CodeDeploy (p 35)

2 En el panel de navegacioacuten expandaDesplegary despueacutesAplicaciones3 En la paacutegina Applications (Aplicaciones) elija el nombre de la aplicacioacuten asociada al grupo de

implementaciones en el que desee eliminar un disparador4 En la paacutegina Application details (Detalles de la aplicacioacuten) elija el grupo de implementaciones en el

que desee eliminar un disparador5 Elija Edit (Editar)6 Expanda Advanced (Opciones avanzadas) (opcional)7 En el aacuterea Triggers (Disparadores) elija el disparador que desee eliminar y a continuacioacuten elija

Delete trigger (Eliminar disparador)8 Elija Save changes (Guardar cambios)

Eliminacioacuten de un desencadenador de un grupo deimplementaciones (CLI)Si desea utilizar la CLI para eliminar un disparador llame algrupo de implementacioacuten-actualizacioacuten con losparaacutemetros de configuracioacuten de disparador vaciacuteos especificando lo siguiente

bull El nombre de la aplicacioacuten asociada al grupo de implementaciones Para ver una lista de los nombres delas aplicaciones llame alaplicaciones de listacomando

bull El nombre del grupo de implementaciones asociado a la aplicacioacuten Para ver una lista de los nombres delos grupos de implementaciones llame algrupos de despliegue de listascomando

Por ejemplo

aws deploy update-deployment-group --application-name application-name --current-deployment-group-name deployment-group-name --trigger-configurations

Formatos de datos JSON para activadores deCodeDeployPuede utilizar la salida JSON que se crea cuando se activa un disparador para una implementacioacuten o unainstancia en un flujo de trabajo de notificacioacuten personalizado por ejemplo enviar mensajes a colas deAmazon SQS o invocar una funcioacuten enAWS Lambda

Note

Esta guiacutea no trata sobre el modo de configurar las notificaciones en JSON Para obtenerinformacioacuten sobre coacutemo usar Amazon SNS para enviar mensajes a colas de Amazon SQSconsulteEnviacuteo de mensajes de Amazon SNS Messages to Amazon SQS Para obtenerinformacioacuten sobre coacutemo usar Amazon SNS para invocar una funcioacuten Lambda consulteInvocacioacutende funciones Lambda mediante notificaciones de Amazon SNS

Versioacuten de API 2014-10-06374

AWS CodeDeploy Guiacutea del usuarioFormatos de datos JSON para activadores

Los siguientes ejemplos muestran la estructura de la salida JSON disponible con los disparadores deCodeDeploy

Salida JSON de ejemplo para disparadores basados en instancias

region us-east-2 accountId 111222333444 eventTriggerName trigger-group-us-east-instance-succeeded deploymentId d-75I7MBT7C instanceId arnawsec2us-east-2444455556666instancei-496589f7 lastUpdatedAt 1446744207564 instanceStatus Succeeded lifecycleEvents [ LifecycleEvent ApplicationStop LifecycleEventStatus Succeeded StartTime 1446744188595 EndTime 1446744188711 LifecycleEvent BeforeInstall LifecycleEventStatus Succeeded StartTime 1446744189827 EndTime 1446744190402 More lifecycle events might be listed here ]

Salida JSON de ejemplo para disparadores basados en implementaciones

region us-west-1 accountId 111222333444 eventTriggerName Trigger-group-us-west-3-deploy-failed applicationName ProductionApp-us-west-3 deploymentId d-75I7MBT7C deploymentGroupName dep-group-def-456 createTime 1446744188595 completeTime 1446744190402 deploymentOverview Failed 10 InProgress 0 Pending 0 Skipped 0 Succeeded 0 status Failed errorInformation ErrorCode IAM_ROLE_MISSING ErrorMessage IAM Role is missing for deployment group dep-group-def-456

Versioacuten de API 2014-10-06375

AWS CodeDeploy Guiacutea del usuarioProteccioacuten de los datos

Seguridad enAWSCodeDeployLa seguridad en la nube de AWS es la mayor prioridad Como cliente de AWS se beneficia de unaarquitectura de red y un centro de datos que se han disentildeado para satisfacer los requisitos de seguridadde las organizaciones maacutes exigentes

La seguridad es una responsabilidad compartida entre AWS y usted El modelo de responsabilidadcompartida la describe como seguridad de la nube y seguridad en la nube

bull Seguridad de la nube AWS es responsable de proteger la infraestructura que ejecuta los serviciosde AWS en la nube de AWS AWS tambieacuten proporciona servicios que puede utilizar de forma seguraAuditores externos prueban y verifican perioacutedicamente la eficacia de nuestra seguridad en el marcode los programas de conformidad de AWS Para obtener maacutes informacioacuten acerca de los programas deconformidad que se aplican aAWSCodeDeploy consulteAWSServicios de incluidos en el aacutembito delprograma de conformidad

bull Seguridad en la nube su responsabilidad viene determinada por el servicio de AWS que utilice Tambieacuteneres responsable de otros factoresincluida la confidencialidad de los datos los requisitos de la empresay la legislacioacuten y los reglamentos aplicables

Esta documentacioacuten le ayuda a comprender coacutemo aplicar el modelo de responsabilidad compartida cuandose utiliza CodeDeploy En los siguientes temas se muestra coacutemo configurar CodeDeploy para satisfacersus objetivos de seguridad y conformidad Tambieacuten aprende a usar otrosAWSservicios que ayudan amonitorizar y proteger su CodeDeploy de AWS

Temasbull Proteccioacuten de los datos enAWSCodeDeploy (p 376)bull Identity and Access Management en AWS CodeDeploy (p 378)bull Registro y monitoreo en CodeDeploy (p 404)bull Validacioacuten de la conformidad enAWSCodeDeploy (p 405)bull Resiliencia enAWSCodeDeploy (p 405)bull Seguridad de la infraestructura enAWSCodeDeploy (p 406)

Proteccioacuten de los datos enAWSCodeDeployLaAWS modelo de responsabilidad compartidase aplica a la proteccioacuten de datos enAWSCodeDeployComo se describe en este modelo AWS es responsable de proteger la infraestructura global que ejecutatoda la Nube de AWS Usted es responsable de mantener el control sobre el contenido alojado en estainfraestructura Este contenido incluye la configuracioacuten de seguridad y las tareas de administracioacuten parael que utiliza Servicios de AWS Para obtener maacutes informacioacuten sobre la privacidad de los datos consultelas Preguntas frecuentes sobre la privacidad de datos Para obtener informacioacuten sobre la proteccioacuten dedatos en Europa consulte la publicacioacuten de blog AWSShared Responsability Model and GDPR en el Blogde seguridad de AWS

Con fines de proteccioacuten de datos recomendamos proteger las credenciales de Cuenta de AWS yconfigurar cuentas de usuario individuales con AWS Identity and Access Management (IAM) De estamanera solo se otorgan a cada usuario los permisos necesarios para cumplir con sus obligacioneslaborales Tambieacuten recomendamos proteger sus datos de las siguientes formas

bull Utilice Multi-Factor Authentication (MFA) con cada cuentabull Utilice SSLTLS para comunicarse con los recursos de AWS Recomendamos TLS 12 o una versioacuten

posterior

Versioacuten de API 2014-10-06376

AWS CodeDeploy Guiacutea del usuarioPrivacidad del traacutefico entre redes

bull Configure la API y el registro de actividad del usuario con AWS CloudTrailbull Utilice las soluciones de cifrado de AWS junto con todos los controles de seguridad predeterminados

dentro de los servicios de AWSbull Utilice avanzados servicios de seguridad administrados como Amazon Macie que lo ayuden a detectar

y proteger los datos personales almacenados en Amazon S3bull Si necesita moacutedulos criptograacuteficos validados FIPS 140-2 al acceder a AWS a traveacutes de una interfaz de

liacutenea de comandos o una API utilice un punto de enlace de FIPS Para obtener maacutes informacioacuten sobrelos puntos de enlace de FIPS disponibles consulte Estaacutendar de procesamiento de la informacioacuten federal(FIPS) 140-2

Recomendamos encarecidamente que nunca introduzca informacioacuten de identificacioacuten confidencial comopor ejemplo direcciones de email de sus clientes en etiquetas o en los campos de formato libre como elcampo Name (Nombre) Esto incluye cuando trabaje con CodeDeploy u otrosAWSservicios que utilizanla consola APIAWS CLI o bienAWSSDK Los datos que ingresa en etiquetas o campos de formatolibre utilizados para los nombres se pueden utilizar para los registros de facturacioacuten o diagnoacutestico Siproporciona una URL a un servidor externo recomendamos encarecidamente que no incluya informacioacutende credenciales en la URL a fin de validar la solicitud para ese servidor

Privacidad del traacutefico entre redesCodeDeployes un servicio de implementacioacuten completamente administrado que admite instanciasEC2 funciones Lambda Amazon ECS y servidores en las instalaciones Para las instancias EC2 y losservidores en las instalaciones un agente basado en host se comunica con CodeDeploy mediante TLS

Actualmente la comunicacioacuten entre el agente y el servicio precisa una conexioacuten a Internet saliente paraque el agente pueda comunicarse con el puacuteblico CodeDeploy y puntos de enlace de servicio Amazon S3En una nube virtual privada esto se puede lograr con una gateway de Internet una conexioacuten de VPN desitio a sitio a su red corporativa o una conexioacuten directa

La CodeDeploy es compatible con servidores proxy HTTP

Puntos de enlace de la VPC de Amazon impulsados porAWS PrivateLink estaacuten disponibles paraCodeDeploy en determinadas regiones Para obtener maacutes informacioacuten consulte Usar CodeDeploy conAmazon Virtual Private Cloud (p 446)

Note

La CodeDeploy El agente de solo es necesario si se realiza la implementacioacuten en una plataformade computacioacuten en las instalaciones de Amazon EC2de El agente no es necesario para lasimplementaciones que utilizan Amazon ECS oAWS Lambdaplataforma de computacioacuten

Cifrado en reposoEl coacutedigo de cliente no se almacena en CodeDeploy Como servicio de implementacioacuten CodeDeploy estaacuteenviando comandos a la CodeDeploy agente de que se ejecuta en instancias EC2 o servidores en lasinstalaciones La CodeDeploy agent de ejecuta los comandos mediante TLS Los datos del modelo deservicio para las implementaciones la configuracioacuten de la implementacioacuten los grupos de implementacioacutenlas aplicaciones y las revisiones de aplicaciones se almacenan en Amazon DynamoDB y se cifran enreposo mediante unClave propiedad de AWS propiedad de CodeDeploy y gestionada por Para obtenermaacutes informacioacuten consulteClave propiedad de AWSs

Cifrado en traacutensitoLa CodeDeploy agente de inicia todas las comunicaciones con CodeDeploy a traveacutes del puerto 443 Elagente sondea CodeDeploy y escucha un comando La CodeDeploy agente de es de coacutedigo abierto

Versioacuten de API 2014-10-06377

AWS CodeDeploy Guiacutea del usuarioAdministracioacuten de claves de cifrado

Todos service-to-service y client-to-service la comunicacioacuten se cifra en traacutensito mediante TLS Esto protegelos datos del cliente en traacutensito entre CodeDeploy y otros servicios como Amazon S3

Administracioacuten de claves de cifradoNo hay claves de cifrado para que administre La CodeDeploy Los datos del modelo de servicio se cifranmediante unClave propiedad de AWS propiedad de CodeDeploy y gestionada por Para obtener maacutesinformacioacuten consulteClave propiedad de AWSs

Identity and Access Management en AWSCodeDeploy

AWS Identity and Access Management (IAM) es un Servicio de AWS que ayuda a los administradores acontrolar de forma segura el acceso a los recursos de AWS Los administradores de IAM controlan quieacutenpuede serautenticado(iniciado sesioacuten) yautorizado(tienen permisos) para usar CodeDeploy de AWS IAMes un Servicio de AWS que se puede utilizar sin cargo adicional

Temasbull Puacuteblico (p 378)bull Autenticacioacuten con identidades (p 379)bull Administracioacuten de acceso mediante poliacuteticas (p 381)bull Coacutemo AWS CodeDeploy funciona con IAM (p 382)bull AWSPoliacuteticas administradas por (predefinidas) para CodeDeploy (p 385)bull Actualizaciones de CodeDeploy enAWSpoliacuteticas administradas (p 390)bull Ejemplos de poliacuteticas basadas en identidad de AWS CodeDeploy (p 390)bull Solucioacuten de problemas de identidades y accesos en AWS CodeDeploy (p 395)bull Referencia de permisos de CodeDeploy (p 397)bull Prevencioacuten del suplente confuso entre servicios (p 403)

PuacuteblicoCoacutemo se utilizaAWS Identity and Access Management(IAM) difiere en funcioacuten del trabajo que realice enCodeDeploy

Usuario de serviciomdash Si utiliza la CodeDeploy Servicio para realizar su trabajo su administrador leproporciona las credenciales y los permisos que necesita A medida que utilizas maacutes CodeDeploycaracteriacutesticas para realizar su trabajo es posible que necesite permisos adicionales Entender coacutemo seadministra el acceso puede ayudarle a solicitar los permisos correctos a su administrador Si no puedeacceder a una caracteriacutestica en CodeDeploy consulteSolucioacuten de problemas de identidades y accesos enAWS CodeDeploy (p 395)

Administrador de serviciosmdash Si estaacutes a cargo de CodeDeploy recursos de su empresa probablementetenga acceso completo a CodeDeploy Su trabajo consiste en determinar cuaacutel de CodeDeploycaracteriacutesticas y recursos a los que deben acceder sus empleados A continuacioacuten debe enviar solicitudesa su administrador de IAM para cambiar los permisos de los usuarios de su servicio Revise la informacioacutende esta paacutegina para conocer los conceptos baacutesicos de IAM Para obtener maacutes informacioacuten sobrecoacutemo la empresa puede utilizar IAM con CodeDeploy consulteCoacutemo AWS CodeDeploy funciona conIAM (p 382)

Administrador de IAM si es un administrador de IAM es posible que quiera conocer informacioacuten sobrecoacutemo escribir poliacuteticas para administrar el acceso a CodeDeploy Para ver el ejemplo CodeDeploy Poliacuteticas

Versioacuten de API 2014-10-06378

AWS CodeDeploy Guiacutea del usuarioAutenticacioacuten con identidades

basadas en identidades que puede utilizar en IAM consulteEjemplos de poliacuteticas basadas en identidad deAWS CodeDeploy (p 390)

Autenticacioacuten con identidadesLa autenticacioacuten es la manera de iniciar sesioacuten en AWS mediante credenciales de identidad Para obtenermaacutes informacioacuten acerca de coacutemo iniciar sesioacuten con la AWS Management Console consulte Inicio desesioacuten en la AWS Management Console como usuario de IAM o usuario raiacutez en la Guiacutea del usuario deIAM

Debe estar autenticado (haber iniciado sesioacuten en AWS) como el usuario raiacutez de la Cuenta de AWS comoun usuario de IAM o asumiendo un rol de IAM Tambieacuten puede utilizar la autenticacioacuten de inicio de sesioacutenuacutenico de la empresa o incluso iniciar sesioacuten con Google o Facebook En estos casos su administradorhabraacute configurado previamente la federacioacuten de identidad mediante roles de IAM Cuando obtiene accesoa AWS mediante credenciales de otra empresa asume un rol indirectamente

Para iniciar sesioacuten directamente en la AWS Management Console utilice la contrasentildea con su direccioacuten deemail de usuario raiacutez o con su nombre de usuario de IAM Puede acceder a AWS mediante programacioacutenutilizando sus claves de acceso de usuario raiacutez o usuario de IAM AWS proporciona SDK y herramientasde liacutenea de comandos para firmar criptograacuteficamente su solicitud con sus credenciales Si no utiliza lasherramientas de AWS debe firmar usted mismo la solicitud Para ello utilice Signature Version 4 unprotocolo para autenticar solicitudes de API de entrada Para obtener maacutes informacioacuten acerca de coacutemoautenticar solicitudes consulte Proceso de firma de Signature Version 4 en la Referencia general de AWS

Independientemente del meacutetodo de autenticacioacuten que utilice es posible que tambieacuten deba proporcionarinformacioacuten de seguridad adicional Por ejemplo AWS le recomienda el uso de la autenticacioacuten multifactor(MFA) para aumentar la seguridad de su cuenta Para obtener maacutes informacioacuten consulte Uso de laautenticacioacuten multifactor (MFA) en AWS en la Guiacutea del usuario de IAM

Cuenta de AWS usuario raiacutezCuando se crea una Cuenta de AWS por primera vez se comienza con una uacutenica identidad de inicio desesioacuten que tiene acceso completo a todos los recursos y Servicios de AWS de la cuenta Esta identidadrecibe el nombre de usuario raiacutez de la Cuenta de AWS y se accede a ella iniciando sesioacuten con el email yla contrasentildea que utilizoacute para crear la cuenta Recomendamos encarecidamente que no utilice el usuarioraiacutez en sus tareas cotidianas ni siquiera en las tareas administrativas En lugar de ello es mejor centildeirse ala praacutectica recomendada de utilizar el usuario final exclusivamente para crear al primer usuario de IAM Acontinuacioacuten guarde las credenciales del usuario raiacutez en un lugar seguro y utiliacutecelas tan solo para algunastareas de administracioacuten de cuentas y servicios

Usuarios y grupos de IAMUn usuario de IAM es una identidad de la Cuenta de AWS que dispone de permisos especiacuteficos para unasola persona o aplicacioacuten Un usuario de IAM puede tener credenciales a largo plazo como un nombrede usuario y una contrasentildea o un conjunto de claves de acceso Para obtener informacioacuten sobre coacutemogenerar claves de acceso consulte Administracioacuten de claves de acceso de los usuarios de IAM en la Guiacuteadel usuario de IAM Al generar claves de acceso para un usuario de IAM aseguacuterese de ver y guardar deforma segura el par de claves No puede recuperar la clave de acceso secreta en el futuro En su lugardebe generar un nuevo par de claves de acceso

Un grupo de IAM es una identidad que especifica un conjunto de usuarios de IAM No puede iniciar sesioacutencomo grupo Puede usar los grupos para especificar permisos para varios usuarios a la vez Los gruposfacilitan la administracioacuten de los permisos de grandes conjuntos de usuarios Por ejemplo podriacutea tener ungrupo cuyo nombre fuese IAMAdmins y conceder permisos a dicho grupo para administrar los recursos deIAM

Los usuarios son diferentes de los roles Un usuario se asocia exclusivamente a una persona o aplicacioacutenpero la intencioacuten es que cualquier usuario pueda asumir un rol que necesite Los usuarios tienen

Versioacuten de API 2014-10-06379

AWS CodeDeploy Guiacutea del usuarioAutenticacioacuten con identidades

credenciales permanentes a largo plazo y los roles proporcionan credenciales temporales Para obtenermaacutes informacioacuten consulte Cuaacutendo crear un usuario de IAM (en lugar de un rol) en la Guiacutea del usuario deIAM

IAM rolesUn rol de IAM es una identidad de la Cuenta de AWS que dispone de permisos especiacuteficos Es similar a unusuario de IAM pero no estaacute asociado a una determinada persona Puede asumir temporalmente un rol deIAM en la AWS Management Consolecambiando de roles Puede asumir un rol llamando a una operacioacutende la AWS CLI o de la API de AWS o utilizando una URL personalizada Para obtener maacutes informacioacutenacerca de los meacutetodos para el uso de roles consulte Uso de roles de IAM en la Guiacutea del usuario de IAM

Los roles de IAM con credenciales temporales son uacutetiles en las siguientes situaciones

bull Permisos de usuario de IAM temporales un usuario de IAM puede asumir un rol de IAM para recibirtemporalmente permisos distintos que le permitan realizar una tarea concreta

bull Acceso de usuarios federados en lugar de crear un usuario de IAM puede utilizar identidadesexistentes de AWS Directory Service del directorio de usuarios de su empresa o de un proveedorde identidades web A estas identidades se les llama usuarios federados AWS asigna una funcioacuten aun usuario federado cuando se solicita acceso a traveacutes de un proveedor de identidad Para obtenermaacutes informacioacuten acerca de los usuarios federados consulte Usuarios federados y roles en la Guiacutea delusuario de IAM

bull Acceso entre cuentas puede utilizar un rol de IAM para permitir que alguien (una entidad principalde confianza) de otra cuenta acceda a los recursos de la cuenta Los roles son la forma principalde conceder acceso entre cuentas No obstante con algunos Servicios de AWS se puede adjuntaruna poliacutetica directamente a un recurso (en lugar de utilizar un rol como representante) Para obtenerinformacioacuten acerca de la diferencia entre los roles y las poliacuteticas basadas en recursos para el accesoentre cuentas consulte Coacutemo los roles de IAM difieren de las poliacuteticas basadas en recursos en la Guiacuteadel usuario de IAM

bull Acceso entre servicios algunos Servicios de AWS utilizan caracteriacutesticas de otros Servicios de AWSPor ejemplo cuando realiza una llamada en un servicio es comuacuten que ese servicio ejecute aplicacionesen Amazon EC2 o almacene objetos en Amazon S3 Es posible que un servicio haga esto usando lospermisos de la entidad principal usando un rol de servicio o usando un rol vinculado a serviciosbull Permisos principales cuando utiliza un usuario o un rol de IAM para llevar a cabo acciones en AWS

se lo considera una entidad principal Las poliacuteticas conceden permisos a una entidad principalCuando utiliza algunos servicios es posible que realice una accioacuten que desencadene otra accioacuten enun servicio diferente En este caso debe tener permisos para realizar ambas acciones Para ver siuna accioacuten requiere acciones dependientes adicionales en una poliacutetica consulte Acciones recursos yclaves de condicioacuten de AWS CodeDeploy en la Referencia de autorizaciones de servicio

bull Rol de servicio un rol de servicio es un rol de IAM que adopta un servicio para realizar acciones en sunombre Un administrador de IAM puede crear modificar y eliminar un rol de servicio desde IAM Paraobtener maacutes informacioacuten consulte Creacioacuten de un rol para delegar permisos a un Servicio de AWS enla Guiacutea del usuario de IAM

bull Rol vinculado a servicio un rol vinculado a servicio es un tipo de rol de servicio que estaacute vinculado aun Servicio de AWS El servicio puede asumir el rol para realizar una accioacuten en su nombre Los rolesvinculados a servicios aparecen en la cuenta de IAM y son propiedad del servicio Un administrador deIAM puede ver pero no editar los permisos de los roles vinculados a servicios

bull Aplicaciones que se ejecutan en Amazon EC2 puede utilizar un rol de IAM que le permita administrarcredenciales temporales para las aplicaciones que se ejecutan en una instancia de EC2 y realizansolicitudes a la AWS CLI o a la API de AWS Es preferible hacerlo de este modo a almacenar clavesde acceso en la instancia de EC2 Para asignar un rol de AWS a una instancia de EC2 y ponerla adisposicioacuten de todas las aplicaciones cree un perfil de instancia adjuntado a la instancia Un perfil deinstancia contiene el rol y permite a los programas que se ejecutan en la instancia de EC2 obtenercredenciales temporales Para obtener maacutes informacioacuten consulte Uso de un rol de IAM para concederpermisos a aplicaciones que se ejecutan en instancias Amazon EC2 en la Guiacutea del usuario de IAM

Versioacuten de API 2014-10-06380

AWS CodeDeploy Guiacutea del usuarioAdministracioacuten de acceso mediante poliacuteticas

Para obtener informacioacuten sobre el uso de los roles de IAM consulte Cuaacutendo crear un rol de IAM (en lugarde un usuario) en la Guiacutea del usuario de IAM

Administracioacuten de acceso mediante poliacuteticasPara controlar el acceso en AWS se crean poliacuteticas y se adjuntan a identidades de IAM o recursos deAWS Una poliacutetica es un objeto de AWS que cuando se asocia a una identidad o un recurso define suspermisos Puede iniciar sesioacuten como usuario raiacutez o usuario de IAM o puede asumir un rol de IAM Cuandorealiza una solicitud AWS evaluacutea las poliacuteticas relacionadas basadas en identidad o en recursos Lospermisos en las poliacuteticas determinan si la solicitud se permite o se deniega Las mayoriacutea de las poliacuteticasse almacenan en AWS como documentos JSON Para obtener maacutes informacioacuten sobre la estructura y elcontenido de los documentos de poliacutetica JSON consulte Informacioacuten general de poliacuteticas JSON en la Guiacuteadel usuario de IAM

Los administradores pueden utilizar las poliacuteticas JSON de AWS para especificar quieacuten tiene acceso a queacuteEs decir queacute entidad principal puede realizar acciones en queacute recursos y bajo queacute condiciones

Cada entidad de IAM (usuario o rol) comienza sin permisos En otras palabras de forma predeterminadalos usuarios no pueden hacer nada ni siquiera cambiar sus propias contrasentildeas Para conceder permisoa un usuario para hacer algo el administrador debe adjuntarle una poliacutetica de permisos O bien eladministrador puede agregar al usuario a un grupo que tenga los permisos necesarios Cuando eladministrador concede permisos a un grupo todos los usuarios de ese grupo obtienen los permisos

Las poliacuteticas de IAM definen permisos para una accioacuten independientemente del meacutetodo que se utilicepara realizar la operacioacuten Por ejemplo suponga que dispone de una poliacutetica que permite la accioacuteniamGetRole Un usuario con dicha poliacutetica puede obtener informacioacuten del usuario de la AWSManagement Console la AWS CLI o la API de AWS

Poliacuteticas basadas en identidadLas poliacuteticas basadas en identidad son documentos de poliacuteticas de permisos JSON que puede adjuntara una identidad como un usuario de IAM un grupo de usuarios o un rol Estas poliacuteticas controlan queacuteacciones pueden realizar los usuarios y los roles en queacute recursos y bajo queacute condiciones Para obtenermaacutes informacioacuten sobre coacutemo crear una poliacutetica basada en identidad consulte Creacioacuten de poliacuteticas de IAMen la Guiacutea del usuario de IAM

Las poliacuteticas basadas en identidad pueden clasificarse ademaacutes como poliacuteticas insertadas o poliacuteticasadministradas Las poliacuteticas insertadas se integran directamente en un uacutenico usuario grupo o rol Laspoliacuteticas administradas son poliacuteticas independientes que puede adjuntar a varios usuarios grupos y rolesde su Cuenta de AWS Las poliacuteticas administradas incluyen las poliacuteticas administradas por AWS y laspoliacuteticas administradas por el cliente Para obtener maacutes informacioacuten acerca de coacutemo elegir una poliacuteticaadministrada o una poliacutetica insertada consulte Elegir entre poliacuteticas administradas y poliacuteticas insertadas enla Guiacutea del usuario de IAM

Otros tipos de poliacuteticasAWS admite otros tipos de poliacuteticas adicionales menos frecuentes Estos tipos de poliacuteticas puedenestablecer el maacuteximo de permisos que los tipos de poliacuteticas maacutes frecuentes le otorgan

bull Liacutemites de permisos un liacutemite de permisos es una caracteriacutestica avanzada que le permite establecer lospermisos maacuteximos que una poliacutetica basada en identidad puede conceder a una entidad de IAM (usuarioo rol de IAM) Puede establecer un liacutemite de permisos para una identidad Los permisos resultantesson la interseccioacuten de las poliacuteticas basadas en identidad de la entidad y los liacutemites de sus permisosLas poliacuteticas basadas en recursos que especifiquen el usuario o rol en el campo Principal noestaraacuten restringidas por el liacutemite de permisos Una denegacioacuten expliacutecita en cualquiera de estas poliacuteticasanularaacute el permiso Para obtener maacutes informacioacuten sobre los liacutemites de los permisos consulte Liacutemites depermisos para las entidades de IAM en la Guiacutea del usuario de IAM

Versioacuten de API 2014-10-06381

AWS CodeDeploy Guiacutea del usuarioCoacutemo AWS CodeDeploy funciona con IAM

bull Poliacuteticas de control de servicio (SCP) las SCP son poliacuteticas de JSON que especifican los permisosmaacuteximos de una organizacioacuten o una unidad organizativa en AWS Organizations AWS Organizationses un servicio que le permite agrupar y administrar de manera centralizada varias Cuentas de AWS queposea su empresa Si habilita todas las caracteriacutesticas en una organizacioacuten entonces podraacute aplicarpoliacuteticas de control de servicio (SCP) a una o todas sus cuentas Las SCP limitan los permisos de lasentidades de las cuentas miembro incluido cada usuario raiacutez de la Cuenta de AWS Para obtener maacutesinformacioacuten acerca de Organizations y las SCP consulte Funcionamiento de las SCP en la Guiacutea delusuario de AWS Organizations

bull Poliacuteticas de sesioacuten las poliacuteticas de sesioacuten son poliacuteticas avanzadas que se pasan como paraacutemetrocuando se crea una sesioacuten temporal mediante programacioacuten para un rol o un usuario federado Lospermisos de la sesioacuten resultantes son la interseccioacuten de las poliacuteticas basadas en identidad del rol y laspoliacuteticas de la sesioacuten Los permisos tambieacuten pueden proceder de una poliacutetica basada en recursos Unadenegacioacuten expliacutecita en cualquiera de estas poliacuteticas anularaacute el permiso Para obtener maacutes informacioacutenconsulte Poliacuteticas de sesioacuten en la Guiacutea del usuario de IAM

Varios tipos de poliacuteticasCuando se aplican varios tipos de poliacuteticas a una solicitud los permisos resultantes son maacutes complicadosde entender Para obtener informacioacuten acerca de coacutemo AWS decide si permitir o no una solicitud cuandohay varios tipos de poliacuteticas implicados consulte Loacutegica de evaluacioacuten de poliacuteticas en la Guiacutea del usuariode IAM

Coacutemo AWS CodeDeploy funciona con IAMAntes de utilizar IAM para administrar el acceso a CodeDeploy debe saber queacute caracteriacutesticas de IAMestaacuten disponibles para su uso con CodeDeploy Para obtener maacutes informacioacuten consulteAWSServicios quefuncionan con IAMen laIAM User Guide

Temasbull Poliacuteticas basadas en identidades de CodeDeploy (p 382)bull Poliacuteticas basadas en recursos de CodeDeploy (p 385)bull Autorizacioacuten basada en etiquetas de CodeDeploy (p 385)bull Funciones de IAM de CodeDeploy (p 385)

Poliacuteticas basadas en identidades de CodeDeployCon las poliacuteticas basadas en identidades de IAM puede especificar las acciones permitidas o denegadasasiacute como los recursos y las condiciones en las que se permiten o deniegan las acciones CodeDeployadmite acciones claves de condiciones y recursos Para obtener maacutes informacioacuten acerca de los elementosque utiliza en una poliacutetica de JSON consulteReferencia de los elementos de las poliacuteticas de JSON deIAMen laIAM User Guide

AccionesLos administradores pueden utilizar las poliacuteticas JSON de AWS para especificar quieacuten tiene acceso a queacuteEs decir queacute entidad principal puede llevar a cabo acciones en queacute recursos y bajo queacute condiciones

El elemento Action de una poliacutetica JSON describe las acciones que puede utilizar para permitir o denegarel acceso en una poliacutetica Las acciones de la poliacutetica generalmente tienen el mismo nombre que laoperacioacuten de API de AWS asociada Hay algunas excepciones como acciones de solo permiso que notienen una operacioacuten de API coincidente Tambieacuten hay algunas operaciones que requieren varias accionesen una poliacutetica Estas acciones adicionales se denominan acciones dependientes

Incluya acciones en una poliacutetica para conceder permisos y asiacute llevar a cabo la operacioacuten asociada

Versioacuten de API 2014-10-06382

AWS CodeDeploy Guiacutea del usuarioCoacutemo AWS CodeDeploy funciona con IAM

Acciones de poliacutetica en CodeDeploy utilice lacodedeployprefijo antes de la accioacuten Por ejemploel permiso codedeployGetApplication concede al usuario permiso para realizar la operacioacutenGetApplication Las instrucciones de la poliacutetica deben incluir unActionoNotActionelementoCodeDeploy define su propio conjunto de acciones que describen las tareas que se pueden realizar coneste servicio

Para especificar varias acciones en una uacutenica instruccioacuten sepaacuterelas con comas del siguiente modo

Action [ codedeployaction1 codedeployaction2

Puede utilizar caracteres comodiacuten para especificar varias acciones () Por ejemplo incluya la accioacutensiguiente para especificar todas las acciones que comiencen por la palabra Describe

Action ec2Describe

Para obtener una lista de CodeDeploy acciones consulteAcciones definidas porAWS CodeDeployen laIAMUser Guide

Para una tabla que muestra una lista de todos los CodeDeploy Acciones de la API de y los recursos a losque se aplican consulteReferencia de permisos de CodeDeploy (p 397)

Recursos

Los administradores pueden utilizar las poliacuteticas JSON de AWS para especificar quieacuten tiene acceso a queacuteEs decir queacute entidad principal puede realizar acciones en queacute recursos y bajo queacute condiciones

El elemento Resource de la poliacutetica JSON especifica el objeto u objetos a los que se aplica la accioacutenLas instrucciones deben contener un elemento Resource o NotResource Como praacutectica recomendadaespecifique un recurso utilizando el Nombre de recurso de Amazon (ARN) Puede hacerlo para accionesque admitan un tipo de recurso especiacutefico conocido como permisos de nivel de recurso

Para las acciones que no admiten permisos de nivel de recurso como las operaciones de descripcioacutenutilice un caraacutecter comodiacuten () para indicar que la instruccioacuten se aplica a todos los recursos

Resource

Por ejemplo puede indicar un grupo de implementaciones (myDeploymentGroup) en su instruccioacutenutilizando su ARN del modo siguiente

Resource arnawscodedeployus-west-2123456789012deploymentgroupmyApplicationmyDeploymentGroup

Tambieacuten puede especificar todos los grupos de implementaciones que pertenecen a una cuenta medianteel caraacutecter comodiacuten () del modo siguiente

Resource arnawscodedeployus-west-2123456789012deploymentgroup

Para especificar todos los recursos o si una accioacuten de API no admite ARN utilice el caraacutecter comodiacuten ()en el elemento Resource de la siguiente manera

Resource

Versioacuten de API 2014-10-06383

AWS CodeDeploy Guiacutea del usuarioCoacutemo AWS CodeDeploy funciona con IAM

Alguno CodeDeploy Las acciones de la API de aceptan varios recursos (porejemploBatchGetDeploymentGroups) Para especificar varios recursos en una uacutenica instruccioacutensepare sus ARN con comas tal y como se indica a continuacioacuten

Resource [arn1 arn2]

CodeDeploy proporciona un conjunto de operaciones para trabajar con los recursos de CodeDeploy Paraver la lista de las operaciones disponibles consulte Referencia de permisos de CodeDeploy (p 397)

Para obtener una lista de CodeDeploy tipos de recursos de y sus ARN consulteRecursos definidosporAWS CodeDeployen laIAM User Guide Para obtener maacutes informacioacuten acerca de las acciones en lasque puede especificar el ARN de cada recurso consulteAcciones definidas porAWS CodeDeploy

Recursos y operaciones de CodeDeploy

En CodeDeploy el recurso principal es un grupo de implementacioacuten En las poliacuteticas se emplean nombresde recurso de Amazon (ARN) para identificar los recursos a los que se aplican las poliacuteticas CodeDeployadmite otros recursos que pueden utilizarse con grupos de implementaciones incluidas las aplicacioneslas configuraciones de implementaciones y las instancias Estos elementos se denominan subrecursosEstos recursos y subrecursos tienen ARN uacutenicos asociados a ellos Para obtener maacutes informacioacutenconsulteNombres de recursos de Amazon (ARN)en laReferencia general de Amazon Web Services

Tipo de recurso Formato de ARN

Grupo deimplementaciones

arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

Aplicacioacuten arnawscodedeployregionaccount-idapplicationapplication-name

Configuracioacuten deimplementacioacuten

arnawscodedeployregionaccount-iddeploymentconfigdeployment-configuration-name

Instancia arnawscodedeployregionaccount-idinstanceinstance-ID

Todos CodeDeployrecursos

arnawscodedeploy

Todos CodeDeployrecursos de quepertenecen a la cuentaespecificada en la regioacutendeterminada

arnawscodedeployregionaccount-id

Note

La mayoriacutea de los servicios de AWS tratan el caraacutecter de dos puntos () o la barra diagonal ()como el mismo caraacutecter en los ARN Sin embargo CodeDeploy utiliza una coincidencia exactaen las reglas y los patrones de recursos Aseguacuterese de utilizar los caracteres de ARN correctoscuando cree patrones de eventos para que coincidan con la sintaxis de ARN en el recurso

Claves de condicioacutenCodeDeploy no proporciona ninguna clave de condicioacuten especiacutefica del servicio pero admite el uso dealgunas claves de condicioacuten globales Para obtener maacutes informacioacuten consulteAWSClaves de contexto decondicioacuten globales deen laIAM User Guide

Versioacuten de API 2014-10-06384

AWS CodeDeploy Guiacutea del usuarioAWSPoliacuteticas administradas por(predefinidas) para CodeDeploy

Ejemplos

Para ver ejemplos de CodeDeploy Poliacuteticas basadas en identidades consulteEjemplos de poliacuteticasbasadas en identidad de AWS CodeDeploy (p 390)

Poliacuteticas basadas en recursos de CodeDeployCodeDeploy no admite poliacuteticas basadas en recursos Para ver un ejemplo de una paacutegina detallada depoliacuteticas basadas en recursos consulteUso de poliacuteticas basadas en recursos paraAWS Lambda

Autorizacioacuten basada en etiquetas de CodeDeployCodeDeploy no admite el etiquetado de recursos o el control de acceso basado en etiquetas

Funciones de IAM de CodeDeployUnRol de IAMes una entidad en laAWScuenta de que dispone de permisos especiacuteficos

Uso de credenciales temporales con CodeDeployPuede utilizar credenciales temporales para iniciar sesioacuten con federacioacuten asumir un rol de IAM o asumir unrol de acceso entre cuentas Las credenciales de seguridad temporales se obtienen mediante una llamadaa operaciones de la API de AWS STS como AssumeRole o GetFederationToken

CodeDeploy admite el uso de credenciales temporales

Roles vinculados a serviciosCodeDeploy no admite roles vinculados a servicios

Roles de servicioEsta caracteriacutestica permite que un servicio asuma un rol de servicio en su nombre Este rol permite queel servicio obtenga acceso a los recursos de otros servicios para completar una accioacuten en su nombreLos roles de servicio aparecen en su cuenta de IAM y son propiedad de la cuenta Esto significa que unadministrador de IAM puede cambiar los permisos de este rol Sin embargo hacerlo podriacutea deteriorar lafuncionalidad del servicio

CodeDeploy admite roles de servicio

Elegir un rol de IAM en CodeDeployCuando se crea un recurso de grupo de implementaciones de CodeDeploy debe elegir un rol parapermitir CodeDeploy para obtener acceso a Amazon EC2 en su nombre Si ha creado previamente unrol de servicio o un rol vinculado a servicios CodeDeploy le proporciona una lista de roles para elegir Esimportante seleccionar un rol que permita el acceso para iniciar y detener una instancia EC2

AWSPoliacuteticas administradas por (predefinidas) paraCodeDeployAWS aborda muchos casos de uso comunes proporcionando poliacuteticas de IAM independientes creadas yadministradas por AWS Estas poliacuteticas administradas por AWS conceden los permisos necesarios paracasos de uso comuacuten lo que le evita tener que investigar queacute permisos se necesitan Para obtener maacutesinformacioacuten consulte Poliacuteticas administradas de AWS en la Guiacutea del usuario de IAM

Temas

Versioacuten de API 2014-10-06385

AWS CodeDeploy Guiacutea del usuarioAWSPoliacuteticas administradas por(predefinidas) para CodeDeploy

bull lista deAWSpoliacuteticas administradas para CodeDeploy (p 386)bull Poliacuteticas administradas y notificaciones de CodeDeploy (p 388)

lista deAWSpoliacuteticas administradas para CodeDeployLos siguientes ejemplos deAWSLas poliacuteticas administradas por que puede asociar a los usuarios de sucuenta son especiacuteficas de CodeDeploy

bull AWSCodeDeployFullAccess concede acceso completo a CodeDeploy

Note

AWSCodeDeployFullAccess no concede permisos a operaciones de otros servicios necesariospara implementar las aplicaciones como por ejemplo Amazon EC2 y Amazon S3 uacutenicamentelos concede a operaciones especiacuteficas de CodeDeploy

bull AWSCodeDeployDeployerAccess concede acceso a un usuario de IAM para registrar e implementarrevisiones

bull AWSCodeDeployReadOnlyAccess concede acceso de solo lectura a CodeDeploy

bull AWSCodeDeployRole Permite CodeDeploy a

bull Lea las etiquetas en las instancias o identifique sus instancias Amazon EC2 mediante nombres degrupo de Amazon EC2 Auto Scaling

bull Lea cree actualice y elimine grupos de Auto Scaling de Amazon EC2 enlaces de ciclo de vidapoliacuteticas de escalado y caracteriacutesticas de warm pool

bull publicar informacioacuten en los temas de Amazon SNSbull recuperar informacioacuten sobre Amazon CloudWatch alarmasbull leer y actualizar recursos en el servicio Elastic Load Balancing

La poliacutetica contiene el coacutedigo siguiente

Version 2012-10-17 Statement [ Effect Allow Action [ autoscalingCompleteLifecycleAction autoscalingDeleteLifecycleHook autoscalingDescribeAutoScalingGroups autoscalingDescribeLifecycleHooks autoscalingPutLifecycleHook autoscalingRecordLifecycleActionHeartbeat autoscalingCreateAutoScalingGroup autoscalingUpdateAutoScalingGroup autoscalingEnableMetricsCollection autoscalingDescribePolicies autoscalingDescribeScheduledActions autoscalingDescribeNotificationConfigurations autoscalingSuspendProcesses autoscalingResumeProcesses autoscalingAttachLoadBalancers autoscalingAttachLoadBalancerTargetGroups autoscalingPutScalingPolicy autoscalingPutScheduledUpdateGroupAction

Versioacuten de API 2014-10-06386

AWS CodeDeploy Guiacutea del usuarioAWSPoliacuteticas administradas por(predefinidas) para CodeDeploy

autoscalingPutNotificationConfiguration autoscalingDescribeScalingActivities autoscalingDeleteAutoScalingGroup autoscalingPutWarmPool ec2DescribeInstances ec2DescribeInstanceStatus ec2TerminateInstances tagGetResources snsPublish cloudwatchDescribeAlarms cloudwatchPutMetricAlarm elasticloadbalancingDescribeLoadBalancers elasticloadbalancingDescribeInstanceHealth elasticloadbalancingRegisterInstancesWithLoadBalancer elasticloadbalancingDeregisterInstancesFromLoadBalancer elasticloadbalancingDescribeTargetGroups elasticloadbalancingDescribeTargetHealth elasticloadbalancingRegisterTargets elasticloadbalancingDeregisterTargets ] Resource ]

bull AWSCodeDeployRoleForLambda Otorga permiso a CodeDeploy para accederAWS Lambday

cualquier otro recurso necesario para una implementacioacuten

bull AWSCodeDeployRoleForECS Becas CodeDeploy permiso para acceder a Amazon ECS y a cualquier

otro recurso necesario para una implementacioacuten

bull AWSCodeDeployRoleForECSLimited concede permiso a CodeDeploya para acceder a Amazon

ECS y a cualquier otro recurso necesario para una implementacioacuten con las siguientes excepcionesbull En el navegadorhooksSeccioacuten sobre de la AppSpec solo funciona Lambda con nombres que

empiecen porCodeDeployHook_se puede utilizar Para obtener maacutes informacioacuten consulte Seccioacutenhooks de AppSpec para una implementacioacuten de Amazon ECS (p 422)

bull El acceso del bucket de S3 se limita a buckets de S3 con una etiqueta de registroUseWithCodeDeploy que tiene un valor de true Para obtener maacutes informacioacutenconsulteEtiquetado de objetos

bullAmazonEC2RoleforAWSCodeDeployLimited Becas CodeDeploy permiso para obtener y enumerarobjetos en un CodeDeploy Bucket de Amazon S3 La poliacutetica contiene el coacutedigo siguiente

Version 2012-10-17 Statement [ Effect Allow Action [ s3GetObject s3GetObjectVersion s3ListBucket ] Resource arnawss3CodeDeploy Effect Allow

Versioacuten de API 2014-10-06387

AWS CodeDeploy Guiacutea del usuarioAWSPoliacuteticas administradas por(predefinidas) para CodeDeploy

Action [ s3GetObject s3GetObjectVersion ] Resource Condition StringEquals s3ExistingObjectTagUseWithCodeDeploy true ]

Los permisos para algunos aspectos del proceso de implementacioacuten se conceden a otros dos tipos de rolque actuacutean en nombre de CodeDeploy en lugar de a los usuarios de IAM

bull UnPerfil de instancia IAMes un rol de IAM que adjunta a las instancias de Amazon EC2 Este perfilincluye los permisos necesarios para acceder a los buckets de Amazon S3 o GitHub repositorios en losque se almacenan las aplicaciones Para obtener maacutes informacioacuten consulte Paso 4 Crear un perfil deinstancias de IAM para sus instancias Amazon EC2 (p 43)

bull UNARol de servicio dees un rol de IAM que otorga permisos a unAWSservicio para que puedaaccederAWSde AWS Las poliacuteticas que adjunta al rol de servicio determinan queacuteAWSrecursos a los quepuede acceder el servicio y las acciones que puede realizar con esos recursos Para CodeDeploy seutiliza un rol de servicio para lo siguientebull Para leer las etiquetas aplicadas a las instancias o los nombres de grupo de Auto Scaling de Amazon

EC2 asociados a las instancias Esto permite CodeDeploy para identificar instancias en las que puededesplegar aplicaciones

bull Para realizar operaciones en instancias grupos Auto Scaling de Amazon EC2 y balanceadores decarga de Elastic Load Balancing

bull Para publicar informacioacuten en temas de Amazon SNS para que se puedan enviar notificaciones cuandose produzcan eventos de instancia o implementacioacuten especificados

bull Para recuperar informacioacuten sobre CloudWatch alarmas para configurar la monitorizacioacuten de alarmaspara implementaciones

Para obtener maacutes informacioacuten consulte Paso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36)

Tambieacuten puede crear poliacuteticas de IAM personalizadas para conceder permisos a las acciones y recursosde CodeDeploy Puede asociar estas poliacuteticas personalizadas a los usuarios o grupos de IAM querequieran esos permisos

Poliacuteticas administradas y notificaciones de CodeDeployCodeDeploy admite notificaciones para que los usuarios conozcan los cambios importantes en lasimplementaciones de Poliacuteticas administradas de CodeDeploy incluyen instrucciones de poliacutetica para lafuncionalidad de notificacioacuten Para obtener maacutes informacioacuten consulte iquestQueacute son las notificaciones

Permisos para notificaciones en poliacuteticas administradas de acceso totalLa poliacutetica administrada AWSCodeDeployFullAccess incluye las siguientes instrucciones para permitirel acceso completo a las notificaciones Los usuarios con una de estas poliacuteticas administradas aplicadastambieacuten pueden crear y administrar temas de Amazon SNS para notificaciones suscribir y cancelar lasuscripcioacuten a los temas y enumerar temas para elegir como destinos para las reglas de notificacioacuten

Sid CodeStarNotificationsReadWriteAccess

Versioacuten de API 2014-10-06388

AWS CodeDeploy Guiacutea del usuarioAWSPoliacuteticas administradas por(predefinidas) para CodeDeploy

Effect Allow Action [ codestar-notificationsCreateNotificationRule codestar-notificationsDescribeNotificationRule codestar-notificationsUpdateNotificationRule codestar-notificationsDeleteNotificationRule codestar-notificationsSubscribe codestar-notificationsUnsubscribe ] Resource Condition StringLike codestar-notificationsNotificationsForResource arnawscodedeploy Sid CodeStarNotificationsListAccess Effect Allow Action [ codestar-notificationsListNotificationRules codestar-notificationsListTargets codestar-notificationsListTagsforResource ] Resource Sid CodeStarNotificationsSNSTopicCreateAccess Effect Allow Action [ snsCreateTopic snsSetTopicAttributes ] Resource arnawssnscodestar-notifications Sid SNSTopicListAccess Effect Allow Action [ snsListTopics ] Resource

Permisos para notificaciones en poliacuteticas administradas de solo lecturaLa poliacutetica administrada AWSCodeDeployReadOnlyAccess incluye las siguientes instrucciones parapermitir el acceso de solo lectura a las notificaciones Los usuarios con esta poliacutetica administrada aplicadapueden ver notificaciones de recursos pero no pueden crearlas administrarlas ni suscribirse a ellas

Sid CodeStarNotificationsPowerUserAccess Effect Allow Action [ codestar-notificationsDescribeNotificationRule ] Resource Condition StringLike codestar-notificationsNotificationsForResource arnawscodedeploy Sid CodeStarNotificationsListAccess Effect Allow

Versioacuten de API 2014-10-06389

AWS CodeDeploy Guiacutea del usuarioActualizaciones de CodeDeployenAWSpoliacuteticas administradas

Action [ codestar-notificationsListNotificationRules ] Resource

Para obtener maacutes informacioacuten consulteIdentity and Access Management para AWS CodeStarNotificaciones

Actualizaciones de CodeDeploy enAWSpoliacuteticasadministradasVer detalles sobre las actualizaciones deAWSPoliacuteticas administradas de para CodeDeploy debido a queeste servicio comenzoacute a realizar un seguimiento de estos cambios Para obtener alertas automaacuteticas sobrecambios en esta paacutegina suscriacutebase a la fuente RSS en CodeDeploy Historial de documentos (p 493)

Cambio Descripcioacuten Fecha

AmazonEC2RoleforAWSCodeDeployLimitedpoliacuteticaadministrada mdash Actualizacionesde la poliacutetica existente

Eliminacionesdes3ListBucketaccioacutende la declaracioacuten depoliacutetica que incluyeels3ExistingObjectTagUseWithCodeDeploycondicioacuten

Para obtener maacutes informacioacutensobre esta poliacuteticaconsulteAmazonEC2RoleforAWSCodeDeployLimited

22 de noviembre de 2021

AWSCodeDeployRolepoliacuteticaadministrada mdash Actualizacionesde la poliacutetica existente

Se ha antildeadidolaautoscalingPutWarmPoolaccioacutende apoyoadicioacuten de gruposcalientes a grupos AutoScaling de Amazon EC2 AutoScalingpara implementacionesbluegreen

Se han eliminado las accionesduplicadas innecesarias

18 de mayo de 2021

CodeDeploy comenzoacute a realizarseguimientos

CodeDeploycomenzoacute arealizar seguimientos de loscambios para suAWSpoliacuteticasadministradas

18 de mayo de 2021

Ejemplos de poliacuteticas basadas en identidad de AWSCodeDeployDe forma predeterminada los usuarios y los roles de IAM no tienen permiso para crear ver ni modificarrecursos de CodeDeploy Tampoco pueden realizar tareas mediante la AWS Management Console laAWS CLI o la API de AWS Un administrador de IAM debe crear poliacuteticas de IAM que concedan permisosa los usuarios y a los roles para realizar operaciones de la API en los recursos especiacuteficos que necesitenEl administrador debe asociar esas poliacuteticas a los usuarios o grupos de IAM que necesiten esos permisos

Versioacuten de API 2014-10-06390

AWS CodeDeploy Guiacutea del usuarioEjemplos de poliacuteticas basadas en identidad

Para obtener maacutes informacioacuten acerca de coacutemo crear una poliacutetica basada en identidad de IAM con estosdocumentos de poliacuteticas de JSON de ejemplo consulte Creacioacuten de poliacuteticas en la pestantildea JSON en laGuiacutea del usuario de IAM

En CodeDeploy las poliacuteticas basadas en identidad se utilizan para administrar los permisos a los distintosrecursos relacionados con el proceso de implementacioacuten Puede controlar el acceso a los siguientes tiposde recurso

bull Aplicaciones y revisiones de aplicacioacutenbull Implementacionesbull Configuraciones de implementacioacutenbull Instancias e instancias en las instalaciones

Las capacidades controladas por poliacuteticas de recursos variacutean en funcioacuten del tipo de recurso tal y como sedescribe en la siguiente tabla

Tipos de recurso Capacidades

Todos Ver y enumerar detalles de recursos

Aplicaciones

Configuraciones de implementacioacuten

Grupos de implementaciones

Crear recursos

Delete resources (Eliminar recursos)

Implementaciones Crear implementaciones

Detener implementaciones

Revisiones de aplicaciones Registrar revisiones de aplicacioacuten

Aplicaciones

Grupos de implementaciones

Actualizar recursos

Instancias on-premises Antildeadir etiquetas a instancias

Eliminar etiquetas de instancias

Registrar instancias

Cancelar el registro de instancias

El siguiente ejemplo muestra una poliacutetica de permisos que permite a un usuario eliminar el grupode implementaciones denominado WordPress_DepGroup asociado a la aplicacioacuten denominadaWordPress_App en la regioacuten us-west-2

Version 2012-10-17 Statement [ Effect Allow Action [ codedeployDeleteDeploymentGroup ] Resource [

Versioacuten de API 2014-10-06391

AWS CodeDeploy Guiacutea del usuarioEjemplos de poliacuteticas basadas en identidad

arnawscodedeployus-west-2444455556666deploymentgroupWordPress_AppWordPress_DepGroup ] ]

Temasbull Ejemplos de poliacuteticas administradas por los clientes (p 392)bull Praacutecticas recomendadas relativas a poliacuteticas (p 394)bull Uso de la consola de CodeDeploy (p 394)bull Permitir a los usuarios consultar sus propios permisos (p 395)

Ejemplos de poliacuteticas administradas por los clientesEn esta seccioacuten encontraraacute ejemplos de poliacuteticas de usuario que conceden permisos para variasCodeDeploy acciones Estas poliacuteticas funcionan cuando se utiliza la API de CodeDeploy los SDK deAWS o la AWS CLI Debe conceder permisos adicionales para las acciones que realice en la consolaPara obtener maacutes informacioacuten sobre coacutemo conceder permisos de consola consulte Uso de la consola deCodeDeploy (p 394)

Note

Todos los ejemplos utilizan la regioacuten EE UU Oeste (Oregoacuten) (us-west-2) y contienenidentificadores de cuenta ficticios

Ejemplos

bull Ejemplo 1 Permitir que un usuario realice CodeDeploy operaciones en una uacutenica regioacuten (p 392)bull Ejemplo 2 Permitir a un usuario registrar revisiones de una sola aplicacioacuten (p 393)bull Ejemplo 3 Permitir a un usuario crear implementaciones para un uacutenico grupo de

implementacioacuten (p 393)

Ejemplo 1 Permitir que un usuario realice CodeDeploy operaciones en una uacutenicaregioacuten

En el siguiente ejemplo se conceden permisos para realizar CodeDeploy operaciones en laus-west-2Solo regioacuten

Version 2012-10-17 Statement [ Effect Allow Action [ codedeploy ] Resource [ arnawscodedeployus-west-2444455556666 ] ]

Versioacuten de API 2014-10-06392

AWS CodeDeploy Guiacutea del usuarioEjemplos de poliacuteticas basadas en identidad

Ejemplo 2 Permitir a un usuario registrar revisiones de una sola aplicacioacuten

En el siguiente ejemplo se conceden permisos para registrar revisiones de aplicacioacuten para todas lasaplicaciones que comienzan por Test en la regioacuten us-west-2

Version 2012-10-17 Statement [ Effect Allow Action [ codedeployRegisterApplicationRevision ] Resource [ arnawscodedeployus-west-2444455556666applicationTest ] ]

Ejemplo 3 Permitir a un usuario crear implementaciones para un uacutenico grupo deimplementacioacuten

En el siguiente ejemplo se permite al usuario especificado crear las implementaciones parael grupo de implementaciones denominado WordPress_DepGroup asociado a la aplicacioacutendenominada WordPress_App la configuracioacuten de implementacioacuten personalizada denominadaThreeQuartersHealthy y cualquier revisioacuten de aplicacioacuten asociada a la aplicacioacuten denominadaWordPress_App Todos estos recursos se encuentran en la regioacuten us-west-2

Version 2012-10-17 Statement [ Effect Allow Action [ codedeployCreateDeployment ] Resource [ arnawscodedeployus-west-2444455556666deploymentgroupWordPress_AppWordPress_DepGroup ] Effect Allow Action [ codedeployGetDeploymentConfig ] Resource [ arnawscodedeployus-west-2444455556666deploymentconfigThreeQuartersHealthy ] Effect Allow Action [ codedeployGetApplicationRevision ] Resource [ arnawscodedeployus-west-2444455556666applicationWordPress_App ] ]

Versioacuten de API 2014-10-06393

AWS CodeDeploy Guiacutea del usuarioEjemplos de poliacuteticas basadas en identidad

Praacutecticas recomendadas relativas a poliacuteticasLas poliacuteticas basadas en identidad son muy eficaces Determinan si alguien puede crear acceder oeliminar CodeDeploy recursos de su cuenta de Estas acciones pueden generar costes adicionales para suCuenta de AWS Siga estas directrices y recomendaciones al crear o editar poliacuteticas basadas en identidad

bull Empiece a trabajar conAWSpoliacuteticas administradasmdash Para empezar a usar CodeDeploy raacutepidamenteuseAWSpoliacuteticas administradas para proporcionar a los empleados los permisos necesarios Estaspoliacuteticas ya estaacuten disponibles en su cuenta y las mantiene y actualiza AWS Para obtener maacutesinformacioacuten consulte Introduccioacuten sobre el uso de permisos con poliacuteticas administradas por AWS en laGuiacutea del usuario de IAM

bull Conceder privilegios miacutenimos al crear poliacuteticas personalizadas conceda solo los permisos necesariospara llevar a cabo una tarea Comience con un conjunto miacutenimo de permisos y conceda permisosadicionales seguacuten sea necesario Por lo general es maacutes seguro que comenzar con permisos que sondemasiado tolerantes e intentar hacerlos maacutes estrictos maacutes adelante Para obtener maacutes informacioacutenconsulte Conceder privilegios miacutenimos en la Guiacutea del usuario de IAM

bull Habilitar la MFA para operaciones confidenciales para mayor seguridad obligue a los usuarios de IAM autilizar la autenticacioacuten multifactor (MFA) para acceder a recursos u operaciones de API confidencialesPara obtener maacutes informacioacuten consulte Uso de la autenticacioacuten multifactor (MFA) en AWS en la Guiacuteadel usuario de IAM

bull Utilizar condiciones de poliacutetica para mayor seguridad en la medida en que sea praacutectico defina lascondiciones en las que las poliacuteticas basadas en identidad permitan el acceso a un recurso Por ejemplopuede escribir condiciones para especificar un rango de direcciones IP permitidas desde el que debeproceder una solicitud Tambieacuten puede escribir condiciones para permitir solicitudes solo en un intervalode hora o fecha especificado o para solicitar el uso de SSL o MFA Para obtener maacutes informacioacutenconsulteElemento de la poliacutetica de JSON de IAM Condicioacutenen laIAM User Guide

Uso de la consola de CodeDeploySi utiliza el CodeDeploy debe tener un conjunto miacutenimo de permisos que le permita describirotrosAWSrecursos paraAWSaccount Para utilizar CodeDeploy en la CodeDeploy debe tener permisos delos servicios siguientes

bull Amazon EC2 Auto Scalingbull AWS CodeDeploybull Amazon Elastic Compute Cloudbull Elastic Load Balancingbull AWS Identity and Access Managementbull Amazon Simple Storage Servicebull Amazon Simple Notification Servicebull Amazon CloudWatch

Si crea una poliacutetica de IAM que sea maacutes restrictiva que el miacutenimo de permisos necesarios laconsola de no funcionaraacute del modo esperado para los usuarios con esa poliacutetica de IAM Paraasegurarse de que esos usuarios puedan seguir utilizando la CodeDeploy consola tambieacuten conecteelAWSCodeDeployReadOnlyAccessLa poliacutetica administrada por el usuario de tal como se describeenAWSPoliacuteticas administradas por (predefinidas) para CodeDeploy (p 385)

No es necesario que conceda permisos miacutenimos para la consola a los usuarios que solo realizan llamadasa laAWS CLIo el CodeDeploy API

Versioacuten de API 2014-10-06394

AWS CodeDeploy Guiacutea del usuarioSolucioacuten de problemas

Permitir a los usuarios consultar sus propios permisosEn este ejemplo se muestra coacutemo podriacutea crear una poliacutetica que permita a los usuarios de IAM ver laspoliacuteticas administradas e insertadas que se adjuntan a la identidad de sus usuarios Esta poliacutetica incluyepermisos para llevar a cabo esta accioacuten en la consola o mediante programacioacuten con la AWS CLI o la APIde AWS

Version 2012-10-17 Statement [ Sid ViewOwnUserInfo Effect Allow Action [ iamGetUserPolicy iamListGroupsForUser iamListAttachedUserPolicies iamListUserPolicies iamGetUser ] Resource [arnawsiamuser$awsusername] Sid NavigateInConsole Effect Allow Action [ iamGetGroupPolicy iamGetPolicyVersion iamGetPolicy iamListAttachedGroupPolicies iamListGroupPolicies iamListPolicyVersions iamListPolicies iamListUsers ] Resource ]

Solucioacuten de problemas de identidades y accesos enAWS CodeDeployUtilice la informacioacuten siguiente para diagnosticar y solucionar los problemas comunes que puedan surgircuando trabaje con CodeDeploy e IAM

Temasbull No tengo autorizacioacuten para realizar la operacioacuten iamPassRole (p 395)bull Quiero ver mis claves de acceso (p 396)bull Soy administrador y deseo permitir que otros obtengan acceso a CodeDeploy (p 396)bull Quiero permitir a personas fuera de miAWScuenta para acceder a mis recursos de

CodeDeploy (p 396)

No tengo autorizacioacuten para realizar la operacioacuten iamPassRoleSi recibe un error que indica que no estaacute autorizado para llevar a cabo la accioacuten iamPassRole debeponerse en contacto con su administrador para recibir ayuda Su administrador es la persona que le facilitoacute

Versioacuten de API 2014-10-06395

AWS CodeDeploy Guiacutea del usuarioSolucioacuten de problemas

su nombre de usuario y contrasentildea Pida a la persona que actualice sus poliacuteticas de forma que puedatransferir un rol a CodeDeploy

Algunos servicios de Servicios de AWS le permiten transferir un rol existente a dicho servicio en lugar decrear un nuevo rol de servicio o uno vinculado al servicio Para ello debe tener permisos para transferir elrol al servicio

En el siguiente ejemplo el error se produce cuando un usuario de IAM denominadomarymajorintentautilizar la consola para realizar una accioacuten en CodeDeploy Sin embargo la accioacuten requiere que el serviciocuente con permisos otorgados por un rol de servicio Mary no tiene permisos para transferir el rol alservicio

User arnawsiam123456789012usermarymajor is not authorized to perform iamPassRole

En este caso Mary pide a su administrador que actualice sus poliacuteticas para que pueda realizar la accioacuteniamPassRole

Quiero ver mis claves de accesoDespueacutes de crear sus claves de acceso de usuario de IAM puede ver su ID de clave de acceso encualquier momento Sin embargo no puede volver a ver su clave de acceso secreta Si pierde la clave deacceso secreta debe crear un nuevo par de claves de acceso

Las claves de acceso se componen de dos partes un ID de clave de acceso (por ejemploAKIAIOSFODNN7EXAMPLE) y una clave de acceso secreta (por ejemplo wJalrXUtnFEMIK7MDENGbPxRfiCYEXAMPLEKEY) El ID de clave de acceso y la clave de acceso secreta se utilizan juntos como unnombre de usuario y contrasentildea para autenticar sus solicitudes Administre sus claves de acceso con elmismo nivel de seguridad que para el nombre de usuario y la contrasentildea

Important

No proporcione las claves de acceso a terceros ni siquiera para que le ayuden a buscar el ID deusuario canoacutenico Si lo hace podriacutea conceder a otra persona acceso permanente a su cuenta

Cuando cree un par de claves de acceso se le pide que guarde el ID de clave de acceso y la clave deacceso secreta en un lugar seguro La clave de acceso secreta solo estaacute disponible en el momento desu creacioacuten Si pierde la clave de acceso secreta debe agregar nuevas claves de acceso a su usuariode IAM Puede tener un maacuteximo de dos claves de acceso Si ya cuenta con dos debe eliminar un par declaves antes de crear uno nuevo Para consultar las instrucciones consulte Administracioacuten de claves deacceso en la Guiacutea del usuario de IAM

Soy administrador y deseo permitir que otros obtengan acceso aCodeDeployPara permitir que otros accedan a CodeDeploya debe crear una entidad de IAM (usuario o rol) para lapersona o aplicacioacuten que necesita acceso Esta persona utilizaraacute las credenciales de la entidad paraacceder a AWS A continuacioacuten debe asociar una poliacutetica a la entidad que le conceda los permisoscorrectos en CodeDeploy

Para comenzar de inmediato consulte Creacioacuten del primer grupo y usuario delegado de IAM en la Guiacutea delusuario de IAM

Quiero permitir a personas fuera de miAWScuenta para accedera mis recursos de CodeDeployPuede crear un rol que los usuarios de otras cuentas o las personas externas a la organizacioacuten puedanutilizar para acceder a sus recursos Puede especificar una persona de confianza para que asuma el rol

Versioacuten de API 2014-10-06396

AWS CodeDeploy Guiacutea del usuarioReferencia de permisos de CodeDeploy

En el caso de los servicios que admitan las poliacuteticas basadas en recursos o las listas de control de acceso(ACL) puede utilizar dichas poliacuteticas para conceder a las personas acceso a sus recursos

Para obtener maacutes informacioacuten consulte lo siguiente

bull Para saber si CodeDeploy admite estas caracteriacutesticas consulteCoacutemo AWS CodeDeploy funciona conIAM (p 382)

bull Para obtener informacioacuten acerca de coacutemo proporcionar acceso a los recursos de las Cuentas de AWSde su propiedad consulte Proporcionar acceso a un usuario de IAM a otra Cuenta de AWS de la que espropietario en la Guiacutea del usuario de IAM

bull Para obtener informacioacuten acerca de coacutemo proporcionar acceso a los recursos a Cuentas de AWS deterceros consulte Proporcionar acceso a Cuentas de AWS que son propiedad de terceros en la Guiacutea delusuario de IAM

bull Para obtener informacioacuten sobre coacutemo proporcionar acceso mediante una identidad federada consulteProporcionar acceso a usuarios autenticados externamente (identidad federada) en la Guiacutea del usuariode IAM

bull Para obtener informacioacuten sobre la diferencia entre los roles y las poliacuteticas basadas en recursos para elacceso entre cuentas consulte Coacutemo los roles de IAM difieren de las poliacuteticas basadas en recursos en laGuiacutea del usuario de IAM

Referencia de permisos de CodeDeployUtilice la siguiente tabla cuando configure poliacuteticas de acceso y escritura que pueda asociar a unaidentidad de IAM (poliacuteticas basadas en identidad) La tabla enumera cada uno CodeDeploy Operacioacutende la API las acciones para cuyas ejecuciones se deben conceder permisos y el formato del ARN delrecurso a utilizar para concederlos Las acciones se especifican en el campo Action de la poliacutetica Debeespecificar un ARN con o sin un caraacutecter comodiacuten () como el valor del recurso en el campo Resourcede la poliacutetica

Puede usarAWSClaves de condicioacuten generales en su CodeDeploy poliacuteticas para expresar las condicionesPara ver una lista completa de claves generales de AWS consulte Claves disponibles en la Guiacutea delusuario de IAM

Para especificar una accioacuten use el prefijo codedeploy seguido del nombre de operacioacuten de API(por ejemplo codedeployGetApplication y codedeployCreateApplication) Paraespecificar varias acciones en una uacutenica instruccioacuten sepaacuterelas con comas (por ejemplo Action[codedeployaction1 codedeployaction2])

Uso de caracteres comodiacuten

Utilice el caraacutecter de comodiacuten () en el ARN para especificar varias acciones o recursos Porejemplocodedeployespecifica todas las CodeDeploy acciones ycodedeployGetespecifica todaslas CodeDeploy acciones que empiezan por la palabraGet En el siguiente ejemplo se concede accesoa todos los grupos de implementaciones con nombres que comienzan por West y que se asocian aaplicaciones con nombres comienzan con Test

arnawscodedeployus-west-2444455556666deploymentgroupTestWest

Utilice comodines con los recursos que se muestran en la tabla a continuacioacuten

bull application-name

bull deployment-group-name

bull deployment-configuration-name

bull instance-ID

Versioacuten de API 2014-10-06397

AWS CodeDeploy Guiacutea del usuarioReferencia de permisos de CodeDeploy

No se puede utilizar comodines con region ni con account-id Para obtener maacutes informacioacuten acerca delos comodines consulte identificadores de IAM en la Guiacutea del usuario de IAM

Note

En el ARN de cada accioacuten dos puntos () siguen al recurso Tambieacuten puede seguir al recurso unabarra diagonal () Para obtener maacutes informacioacuten consulteARN de ejemplo de CodeDeploy

Operaciones de la API de CodeDeploy permisos necesarios para acciones

AddTagsToOnPremisesInstances

Accioacuten codedeployAddTagsToOnPremisesInstances

Obligatorio para antildeadir etiquetas a una o maacutes instancias on-premises

Recurso arnawscodedeployregionaccount-idinstanceinstance-IDBatchGetApplicationRevisions

Accioacuten codedeployBatchGetApplicationRevisions

Obligatorio para obtener informacioacuten acerca de varias revisiones de aplicacioacuten asociadas al usuario deIAM

Recurso arnawscodedeployregionaccount-idapplicationapplication-nameBatchGetApplications

Accioacuten codedeployBatchGetApplications

Obligatorio para obtener informacioacuten acerca de varias aplicaciones asociadas al usuario de IAM

Recurso arnawscodedeployregionaccount-idapplicationBatchGetDeploymentGroups

Accioacuten codedeployBatchGetDeploymentGroups

Obligatorio para obtener informacioacuten acerca de varios grupos de implementaciones asociados alusuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

BatchGetDeploymentInstances

Accioacuten codedeployBatchGetDeploymentInstances

Obligatorio para obtener informacioacuten acerca de una o varias instancias parte de un grupo deimplementaciones

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

BatchGetDeployments

Accioacuten codedeployBatchGetDeployments

Obligatorio para obtener informacioacuten acerca de varias implementaciones asociadas al usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

BatchGetOnPremisesInstances

Accioacuten codedeployBatchGetOnPremisesInstances

Versioacuten de API 2014-10-06398

AWS CodeDeploy Guiacutea del usuarioReferencia de permisos de CodeDeploy

Obligatorio para obtener informacioacuten acerca de una o maacutes instancias on-premises

Recurso arnawscodedeployregionaccount-idContinueDeployment

Accioacuten codedeployContinueDeployment

Obligatorio durante una implementacioacuten laquobluegreenraquo (bluegreen) para comenzar a registrarinstancias en un entorno de reemplazo con balanceadores de carga de Elastic Load Balancing

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

CreateApplication

Accioacuten codedeployCreateApplication

Obligatorio para crear una aplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-idapplicationapplication-nameCreateDeployment sup1

Accioacuten codedeployCreateDeployment

Obligatorio para crear una implementacioacuten para una aplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

CreateDeploymentConfig

Accioacuten codedeployCreateDeploymentConfig

Obligatorio para crear una configuracioacuten de implementacioacuten personalizada asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentconfigdeployment-configuration-name

CreateDeploymentGroup

Accioacuten codedeployCreateDeploymentGroup

Obligatorio para crear un grupo de implementaciones de una aplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

DeleteApplication

Accioacuten codedeployDeleteApplication

Obligatorio para eliminar una aplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-idapplicationapplication-nameDeleteDeploymentConfig

Accioacuten codedeployDeleteDeploymentConfig

Obligatorio para eliminar una configuracioacuten de implementacioacuten personalizada asociada al usuario deIAM

Recurso arnawscodedeployregionaccount-iddeploymentconfigdeployment-configuration-name

Versioacuten de API 2014-10-06399

AWS CodeDeploy Guiacutea del usuarioReferencia de permisos de CodeDeploy

DeleteDeploymentGroup

Accioacuten codedeployDeleteDeploymentGroup

Obligatorio para eliminar un grupo de implementaciones de una aplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

DeregisterOnPremisesInstance

Accioacuten codedeployDeregisterOnPremisesInstance

Obligatorio para cancelar el registro de una instancia on-premises

Recurso arnawscodedeployregionaccount-idinstanceinstance-IDGetApplication

Accioacuten codedeployGetApplication

Obligatorio para obtener informacioacuten acerca de una sola aplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-idapplicationapplication-nameGetApplicationRevision

Accioacuten codedeployGetApplicationRevision

Obligatorio para obtener informacioacuten acerca de una uacutenica revisioacuten de aplicacioacuten para una aplicacioacutenasociada al usuario de IAM

Recurso arnawscodedeployregionaccount-idapplicationapplication-nameGetDeployment

Accioacuten codedeployGetDeployment

Obligatorio para obtener informacioacuten acerca de una uacutenica implementacioacuten de un grupo deimplementaciones para una aplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

GetDeploymentConfig

Accioacuten codedeployGetDeploymentConfig

Obligatorio para obtener informacioacuten acerca de una uacutenica configuracioacuten de implementacioacuten asociadaal usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentconfigdeployment-configuration-name

GetDeploymentGroup

Accioacuten codedeployGetDeploymentGroup

Obligatorio para obtener informacioacuten acerca de un uacutenico grupo de implementaciones para unaaplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

GetDeploymentInstance

Accioacuten codedeployGetDeploymentInstance

Versioacuten de API 2014-10-06400

AWS CodeDeploy Guiacutea del usuarioReferencia de permisos de CodeDeploy

Obligatorio para obtener informacioacuten acerca de una uacutenica instancia de una implementacioacuten asociadaal usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

GetOnPremisesInstance

Accioacuten codedeployGetOnPremisesInstance

Obligatorio para obtener informacioacuten acerca de una uacutenica instancia on-premises

Recurso arnawscodedeployregionaccount-idinstanceinstance-IDListApplicationRevisions

Accioacuten codedeployListApplicationRevisions

Obligatorio para obtener informacioacuten acerca de todas las revisiones de aplicacioacuten para una aplicacioacutenasociada al usuario de IAM

Recurso arnawscodedeployregionaccount-idapplicationListApplications

Accioacuten codedeployListApplications

Obligatorio para obtener informacioacuten acerca de todas las aplicaciones asociadas al usuario de IAM

Recurso arnawscodedeployregionaccount-idapplicationListDeploymentConfigs

Accioacuten codedeployListDeploymentConfigs

Obligatorio para obtener informacioacuten acerca de todas las configuraciones de implementacionesasociadas al usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentconfigListDeploymentGroups

Accioacuten codedeployListDeploymentGroups

Obligatorio para obtener informacioacuten acerca de todos los grupos de implementacioacuten para unaaplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-name

ListDeploymentInstances

Accioacuten codedeployListDeploymentInstances

Obligatorio para obtener informacioacuten acerca de todas las instancias de una implementacioacuten asociadasal usuario de IAM oAWSaccount

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

ListDeployments

Accioacuten codedeployListDeployments

Obligatorio para obtener informacioacuten acerca de todas las implementaciones de un grupo deimplementaciones asociado al usuario de IAM o para obtener todas las implementaciones asociadasal usuario de IAM o para obtener todas las implementaciones asociadas al usuario de IAMoAWSaccount

Versioacuten de API 2014-10-06401

AWS CodeDeploy Guiacutea del usuarioReferencia de permisos de CodeDeploy

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

ListGitHubAccountTokenNames

Accioacuten codedeployListGitHubAccountTokenNames

Obligatorio para obtener una lista de los nombres de las conexiones almacenadas en las cuentas deGitHub

Recurso arnawscodedeployregionaccount-idListOnPremisesInstances

Accioacuten codedeployListOnPremisesInstances

Obligatorio para obtener una lista de uno o varios nombres de instancias on-premises

Recurso arnawscodedeployregionaccount-idRegisterApplicationRevision

Accioacuten codedeployRegisterApplicationRevision

Obligatorio para obtener informacioacuten acerca de una revisioacuten de aplicacioacuten para una aplicacioacutenasociada al usuario de IAM

Recurso arnawscodedeployregionaccount-idapplicationapplication-nameRegisterOnPremisesInstance

Accioacuten codedeployRegisterOnPremisesInstance

Obligatorio para registrar una instancia on-premises con CodeDeploy

Recurso arnawscodedeployregionaccount-idinstanceinstance-IDRemoveTagsFromOnPremisesInstances

Accioacuten codedeployRemoveTagsFromOnPremisesInstances

Obligatorio para eliminar etiquetas desde una o maacutes instancias on-premises

Recurso arnawscodedeployregionaccount-idinstanceinstance-IDSkipWaitTimeForInstanceTermination

Accioacuten codedeploySkipWaitTimeForInstanceTermination

Obligatorio para sobrescribir un tiempo de espera especificado y comenzar a terminar instancias enel entorno original inmediatamente despueacutes de dirigir correctamente el traacutefico en una implementacioacutenbluegreen

Recurso arnawscodedeployregionaccount-idinstanceinstance-IDStopDeployment

Accioacuten codedeployStopDeployment

Necesario para detener una implementacioacuten en curso en un grupo de implementaciones para unaaplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

UpdateApplication sup3

Accioacuten codedeployUpdateApplication

Versioacuten de API 2014-10-06402

AWS CodeDeploy Guiacutea del usuarioPrevencioacuten del suplente confuso entre servicios

Obligatorio para cambiar informacioacuten de una aplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-idapplicationapplication-nameUpdateDeploymentGroup sup3

Accioacuten codedeployUpdateDeploymentGroup

Obligatorio para cambiar informacioacuten acerca de un uacutenico grupo de implementaciones para unaaplicacioacuten asociada al usuario de IAM

Recurso arnawscodedeployregionaccount-iddeploymentgroupapplication-namedeployment-group-name

sup1 Cuando especificasCreateDeploymentpermisos tambieacuten debeespecificarGetDeploymentConfigpermisos para la configuracioacuten de implementacioacutenyGetApplicationRevisionoRegisterApplicationRevisionpermisos para la revisioacuten de laaplicacioacuten

sup2 Vaacutelido paraListDeploymentscuando se proporciona un grupo de implementaciones pero no cuando semuestran todas las implementaciones asociadas al usuario de IAM

sup3 ParaUpdateApplication debe tenerUpdateApplicationpermisos para el nombre de aplicacioacutenantiguo y nuevo Para las acciones UpdateDeploymentGroup que implican cambiar el nombre de ungrupo de implementacioacuten debe tener permisos UpdateDeploymentGroup tanto para el nombre de grupode implementacioacuten antiguo como para el nuevo

Prevencioacuten del suplente confuso entre serviciosEl problema del suplente confuso es un problema de seguridad en el que una entidad que no tiene permisopara realizar una accioacuten puede obligar a una entidad con maacutes privilegios a realizar la accioacuten En AWSla suplantacioacuten entre servicios puede dar lugar al problema del suplente confuso La suplantacioacuten entreservicios puede producirse cuando un servicio (el servicio que lleva a cabo las llamadas) llama a otroservicio (el servicio al que se llama) El servicio que lleva a cabo las llamadas se puede manipular parautilizar sus permisos a fin de actuar en funcioacuten de los recursos de otro cliente de una manera en la que nodebe tener permiso para acceder Para evitarlo AWS proporciona herramientas que lo ayudan a protegersus datos para todos los servicios con entidades principales de servicio a las que se les ha dado acceso alos recursos de su cuenta

Le recomendamos que utilice elawsSourceArnyawsSourceAccountclaves de contexto de condicioacutenglobales de las poliacuteticas de recursos para limitar los permisos que CodeDeploy proporciona otro servicioal recurso Si utiliza claves de contexto de condicioacuten global y el valor de awsSourceArn contiene el IDde cuenta el valor de awsSourceAccount y la cuenta en el valor de awsSourceArn deben utilizar elmismo ID de cuenta cuando se utiliza en la misma instruccioacuten de poliacutetica Utilice awsSourceArn si deseaque solo se asocie un recurso al acceso entre servicios UsarawsSourceAccountsi quiere que cualquierrecurso de esa cuenta de se asocie al uso entre servicios

El valor deawsSourceArndebe incluir el CodeDeploy grupo de implementacioacuten ARN con el queCodeDeploy puede asumir la funcioacuten de IAM

La forma maacutes eficaz de protegerse contra el problema del suplente confuso es utilizarlaawsSourceArncon el ARN completo del recurso Si no conoce el ARN completo o si estaacuteespecificando varios recursos utilice caracteres comodines () para las partes desconocidas

En el siguiente ejemplo completo se muestra coacutemo puede utilizarlaawsSourceArnyawsSourceAccountel contexto de condicioacuten global se inserta para evitar elproblema de adjunto confuso con CodeDeploy

Versioacuten de API 2014-10-06403

AWS CodeDeploy Guiacutea del usuarioRespuesta frente a incidencias

Version 2012-10-17 Statement [ Sid Effect Allow Principal Service codedeployamazonawscom Action stsAssumeRole Condition StringEquals awsSourceAccount 123456789012 StringLike awsSourceArn arnawscodedeployus-east-1123456789012deploymentgroupmyApplication ]

Registro y monitoreo en CodeDeployEn esta seccioacuten se ofrece informacioacuten general para la monitorizacioacuten el registro y la respuesta a incidentesen CodeDeploy

Auditoriacutea de todas las interacciones con CodeDeployCodeDeploy se integra conAWS CloudTrail un servicio que captura las llamadas a la API realizadaspor o en nombre de CodeDeploy en laAWScuenta y entrega los archivos log al bucket de S3 que seespecifique CloudTrail captura las llamadas a la API desde CodeDeploy consola desde CodeDeploycomandos a traveacutes delAWS CLI o desde la CodeDeploy API directamente Con la informacioacuten recopiladapor CloudTrail puede identificar la solicitud que se realizoacute a CodeDeploy la direccioacuten IP de origendesde la que se realizoacute la solicitud quieacuten realizoacute la solicitud cuaacutendo se realizoacute etceacutetera Para obtenermaacutes informacioacuten sobre CloudTrail consulteTrabajar con archivos de registros de CloudTrailen laAWSCloudTrailGuiacutea del usuario de

Puede ver los datos de registro creados por un CodeDeploy despliegue mediante la configuracioacuten delCloudWatch Agente de registros para ver los datos agregados en el CloudWatch consola o iniciandosesioacuten en una instancia para revisar el archivo de registro Para obtener maacutes informacioacuten consulteVistaCodeDeploy inicia sesioacuten CloudWatch Consola de registros

Administracioacuten de incidentes y alertasPuedes usar Amazon CloudWatch Eventos para detectar cambios en el estado de una instancia o unaimplementacioacuten de y reaccionar ante dichos cambios (unevento) en la CodeDeploy operaciones Acontinuacioacuten basaacutendose en las reglas que cree CloudWatch Los eventos invocan a una o varias accionesde destino cuando una implementacioacuten o una instancia entra en el estado especificado en una regla Enfuncioacuten del tipo de cambio de estado es posible que desee enviar notificaciones capturar informacioacuten deestado tomar medidas correctivas iniciar eventos o adoptar otras medidas Si utiliza puede seleccionarlos siguientes tipos de destinos CloudWatch Eventos como parte de tu CodeDeploy operaciones

bull Funciones de AWS Lambdabull Flujos de Kinesis

Versioacuten de API 2014-10-06404

AWS CodeDeploy Guiacutea del usuarioValidacioacuten de conformidad

bull Colas de SQS de Amazon SQSbull Destinos integrados (acciones de alarma de CloudWatch)bull Temas de Amazon SNS

A continuacioacuten se indican algunos casos de uso

bull Utilice una funcioacuten Lambda para pasar una notificacioacuten a un canal de Slack siempre que se produzcanerrores en las implementaciones

bull Enviacutee datos acerca de las implementaciones o instancias a un flujo de Kinesis para permitir unamonitorizacioacuten completa del estado en tiempo real

bull Usar CloudWatch acciones de alarma para detener terminar reiniciar o recuperar automaacuteticamenteinstancias EC2 cuando se produzca el evento de implementacioacuten o de instancia especificado

Para obtener maacutes informacioacuten consulteiquestQueacute es Amazon CloudWatch Eventosen laAmazon CloudWatchGuiacutea del usuario de

Validacioacuten de la conformidad enAWSCodeDeployAuditores externos evaluacutean la seguridad y la conformidad de AWS CodeDeploy como parte de variosprogramas de conformidad de AWS Estos incluyen SOC PCI FedRAMP HIPAA y otros

Para obtener una lista deAWSservicios en el aacutembito de programas de conformidad especiacuteficosconsulteServicios incluidos en el aacutembito por programa de conformidad Para obtener informacioacuten generalconsulte Programas de conformidad de AWS

Puede descargar los informes de auditoriacutea de terceros utilizando AWS Artifact Para obtener maacutesinformacioacuten consulte Descarga de informes en AWS Artifact

Responsabilidad de cumplimiento cuando se utiliza CodeDeploy se determina en funcioacuten de laconfidencialidad de los datos los objetivos de conformidad de la empresa y la legislacioacuten y los reglamentosaplicablesAWSproporciona los siguientes recursos para ayudar con la conformidad

bull Guiacuteas de inicio raacutepido de seguridad y conformidad estas guiacuteas de implementacioacuten tratanconsideraciones sobre arquitectura y ofrecen pasos para implementar los entornos de referenciacentrados en la seguridad y la conformidad en AWS

bull Documento teacutecnico sobre arquitectura para seguridad y conformidad de HIPAA en este documentoteacutecnico se describe coacutemo las empresas pueden utilizar AWS para crear aplicaciones conformes conHIPAA

bull Recursos de conformidad de AWS este conjunto de manuales y guiacuteas podriacutea aplicarse a su sector yubicacioacuten

bull Evaluacioacuten de recursos con reglas en la Guiacutea para desarrolladores de AWS Config el servicio AWSConfig evaluacutea en queacute medida las configuraciones de sus recursos cumplen las praacutecticas internas lasdirectrices del sector y las normativas

bull AWS Security Hub este servicio de AWS proporciona una vista integral de su estado de seguridad enAWS que lo ayuda a verificar la conformidad con los estaacutendares y las praacutecticas recomendadas del sectorde seguridad

Resiliencia enAWSCodeDeployLa infraestructura global de AWS se compone de regiones y zonas de disponibilidad de AWS AWSLas regiones proporcionan varias zonas de disponibilidad fiacutesicamente independientes y aisladas que

Versioacuten de API 2014-10-06405

AWS CodeDeploy Guiacutea del usuarioSeguridad de infraestructuras

se encuentran conectadas mediante redes con un alto nivel de rendimiento y redundancia ademaacutes debaja latencia Con las zonas de disponibilidad puede disentildear y utilizar aplicaciones y bases de datosque realizan una conmutacioacuten por error automaacutetica entre las zonas sin interrupciones Las zonas dedisponibilidad tienen una mayor disponibilidad tolerancia a errores y escalabilidad que las infraestructurastradicionales de centros de datos uacutenicos o muacuteltiples

Para obtener maacutes informacioacuten sobre las zonas de disponibilidad y las regiones de AWS consulteInfraestructura global de AWS

Seguridad de la infraestructura enAWSCodeDeployComo servicio administradoAWS CodeDeploy estaacute protegido por elAWSprocedimientos de seguridad dered globales que se describen en laAmazon Web Services Informacioacuten general sobre los procesos deseguridaddocumento teacutecnico

UsasAWSLlamadas a la API publicadas para acceder CodeDeploy a traveacutes de la red Los clientes debenser compatibles con Transport Layer Security (TLS) 10 o una versioacuten posterior Recomendamos TLS12 o una versioacuten posterior Los clientes tambieacuten deben ser compatibles con conjuntos de cifrado conconfidencialidad directa total (PFS) como Ephemeral Diffie-Hellman (DHE) o Elliptic Curve EphemeralDiffie-Hellman (ECDHE) La mayoriacutea de los sistemas modernos como Java 7 y posteriores son compatiblescon estos modos

Las solicitudes deben estar firmadas mediante un ID de clave de acceso y una clave de acceso secretaque esteacute asociada a una entidad principal de IAM Tambieacuten puede utilizar AWS Security Token Service(AWS STS) para generar credenciales de seguridad temporales para firmar solicitudes

Versioacuten de API 2014-10-06406

AWS CodeDeploy Guiacutea del usuarioReferencia del archivo AppSpec

ReferenciaReferencia de la

Temasbull Referencia del archivo CodeDeploy AppSpec (p 407)bull Referencia de configuracioacuten del agente CodeDeploy (p 441)bull AWS CloudFormationplantillas para referencia de CodeDeploy (p 444)bull Usar CodeDeploy con Amazon Virtual Private Cloud (p 446)bull Referencia del kit de recursos CodeDeploy (p 449)bull liacutemites de CodeDeploy (p 454)

Referencia del archivo CodeDeploy AppSpecEsta seccioacuten se incluye solo como referencia Para obtener informacioacuten general conceptual del archivoAppSpec consulteApplication Specification Files (p 32)

El archivo de especificacioacuten de la aplicacioacuten (archivo AppSpec) es unYAML-Archivo con formato JSON ocon formato JSON que utiliza CodeDeploy para administrar una implementacioacuten

Note

El archivo AppSpec de una implementacioacuten EC2On-Premises debe tener elnombreappspecymloappspecyaml a menos que esteacute realizando una implementacioacuten localPara obtener maacutes informacioacuten consulte Crear una implementacioacuten local (p 354)

Temasbull Archivos AppSpec en una plataforma de computacioacuten Amazon ECS (p 407)bull Archivos AppSpec de unAWS Lambdaplataforma de computacioacuten (p 408)bull Archivos AppSpec en una plataforma de computacioacuten EC2On-Premises (p 408)bull Estructura de archivos AppSpec (p 408)bull Ejemplo del archivo AppSpec (p 436)bull Espaciado de archivos AppSpec (p 440)bull Validar su ubicacioacuten de archivo y archivo de AppSpec (p 441)

Archivos AppSpec en una plataforma de computacioacutenAmazon ECSPara las aplicaciones de plataforma informaacutetica de Amazon ECS CodeDeploy utiliza el archivo AppSpecpara determinar

bull El archivo de definicioacuten de tareas de Amazon ECS Se especifica con su ARN enelTaskDefinitioninstruccioacuten en el archivo AppSpec

bull El contenedor y el puerto en el conjunto de tareas de sustitucioacuten donde el Application Load Balancero el Network Load Balancer redirige traacutefico durante una implementacioacuten Esto se especifica conelLoadBalancerInfoinstruccioacuten en el archivo AppSpec

Versioacuten de API 2014-10-06407

AWS CodeDeploy Guiacutea del usuarioArchivos AppSpec de unAWS

Lambdaplataforma de computacioacuten

bull Informacioacuten opcional acerca del servicio Amazon ECS como la versioacuten de la plataforma en la que seejecuta sus subredes y sus grupos de seguridad

bull Funciones opcionales Lambda que ejecutar durante enlaces que se corresponden con eventos de ciclode vida durante una implementacioacuten de Amazon ECS Para obtener maacutes informacioacuten consulte Seccioacutenhooks de AppSpec para una implementacioacuten de Amazon ECS (p 422)

Archivos AppSpec de unAWS Lambdaplataforma decomputacioacutenParaAWSAplicaciones de plataforma informaacutetica Lambda CodeDeploy utiliza el archivo AppSpec paradeterminar

bull Queacute versioacuten de la funcioacuten Lambda se debe implementarbull Queacute funciones Lambda se van a usar como pruebas de validacioacuten

Un archivo AppSpec puede tener un formato YAML o JSON Tambieacuten puede introducir el contenido de unarchivo AppSpec directamente en la consola de CodeDeploy cuando crea una implementacioacuten

Archivos AppSpec en una plataforma de computacioacutenEC2On-PremisesSi la aplicacioacuten utiliza la plataforma de computacioacuten EC2On-premises el archivo AppSpec debe ser unarchivo con formato YAML denominadoappspecymly debe colocarse en la raiacutez de la estructura dedirectorios del coacutedigo fuente de una aplicacioacuten De lo contrario las implementaciones produciraacuten un errorCodeDeploy lo utiliza para determinar

bull Lo que se debe instalar en las instancias de la revisioacuten de la aplicacioacuten en Amazon S3 o GitHubbull Los enlaces de eventos del ciclo de vida que se deben ejecutar en respuesta a los eventos del ciclo de

vida de la implementacioacuten

Una vez completado un archivo AppSpec lo empaqueta junto con el contenido que va a implementar enun archivo de almacenamiento (zip tar o tar comprimido) Para obtener maacutes informacioacuten consulte Uso derevisiones de aplicaciones de CodeDeploy (p 307)

Note

Los formatos de archivo tar y tar comprimido (tar y targz) no se admiten para las instancias deWindows Server

Una vez que tenga un archivo de almacenamiento empaquetado (conocido en CodeDeploy comorevisioacuten)lo cargaraacute en un bucket de Amazon S3 o en un repositorio Git A continuacioacuten usaraacute CodeDeploypara implementar la revisioacuten Para obtener instrucciones consulte Cree una implementacioacuten conCodeDeploy (p 324)

El appspecyml de una implementacioacuten de una plataforma de computacioacuten EC2On-Premises se guardaen el directorio raiacutez de la revisioacuten Para obtener maacutes informacioacuten consulte Adicioacuten de un archivo AppSpecpara una implementacioacuten de EC2On-Premises (p 312) y Planear una revisioacuten para CodeDeploy (p 307)

Estructura de archivos AppSpecA continuacioacuten se muestra la estructura general de un archivo AppSpec usado para las implementacionesenAWSPlataformas de computacioacuten Lambda y EC2On-Premises

Versioacuten de API 2014-10-06408

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Un valor en un archivo AppSpec con formato YAML que es una cadena no se debe incluir entre comillas(laquoraquo) a menos que se especifique lo contrario

Estructura de archivos de AppSpec para implementaciones deAmazon ECS

Note

Este archivo AppSpec estaacute escrito en YAML pero puede usar la misma estructura para escribiruno en JSON Una cadena en un archivo AppSpec con formato JSON siempre estaacute entre comillas(laquoraquo)

version 00resources ecs-service-specificationshooks deployment-lifecycle-event-mappings

En esta estructura

version

Esta seccioacuten especifica la versioacuten del archivo AppSpec No cambie este valor Es obligatorio El uacutenicovalor permitido actualmente es 00 Estaacute reservado para su uso futuro por parte de CodeDeploy

Especifique version con una cadenarecursos

En esta seccioacuten se especifica informacioacuten sobre la aplicacioacuten Amazon ECS que se va a implementar

Para obtener maacutes informacioacuten consulte Seccioacuten laquoresourcesraquo de AppSpec para implementaciones deAmazon ECS (p 416)

hooks

Esta seccioacuten especifica las funciones de Lambda que se van a ejecutar en enlaces de eventosespeciacuteficos del ciclo de vida de implementacioacuten para validar la implementacioacuten

Para obtener maacutes informacioacuten consulte Lista de ganchos de eventos del ciclo de vida de unaimplementacioacuten de Amazon ECS (p 423)

Estructura de archivos AppSpec paraAWSImplementaciones deLambda

Note

Este archivo AppSpec se escribe en YAML pero puede usar la misma estructura para escribirun archivo AppSpec para una implementacioacuten Lambda en JSON Una cadena en un archivoAppSpec con formato JSON siempre estaacute entre comillas (laquoraquo)

version 00resources lambda-function-specificationshooks deployment-lifecycle-event-mappings

Versioacuten de API 2014-10-06409

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

En esta estructura

version

Esta seccioacuten especifica la versioacuten del archivo AppSpec No cambie este valor Es obligatorio El uacutenicovalor permitido actualmente es 00 Estaacute reservado para su uso futuro por parte de CodeDeploy

Especifique version con una cadenarecursos

En esta seccioacuten se especifica informacioacuten sobre la funcioacuten Lambda que se va a implementar

Para obtener maacutes informacioacuten consulte Seccioacuten laquoresourcesraquo de AppSpec (Amazon ECS yAWSLambdasolo implementaciones) (p 415)

hooks

Esta seccioacuten especifica las funciones de Lambda que se van a ejecutar en eventos especiacuteficos delciclo de vida de implementacioacuten para validar la implementacioacuten

Para obtener maacutes informacioacuten consulte Seccioacuten hooks de AppSpec (p 422)

Estructura de archivos AppSpec para implementaciones EC2On-Premises

version 00os operating-system-namefiles source-destination-files-mappingspermissions permissions-specificationshooks deployment-lifecycle-event-mappings

En esta estructura

version

Esta seccioacuten especifica la versioacuten del archivo AppSpec No cambie este valor Es obligatorio El uacutenicovalor permitido actualmente es 00 Estaacute reservado para su uso futuro por parte de CodeDeploy

Especifique version con una cadenaos

Esta seccioacuten especifica el valor del sistema operativo de la instancia en la que se va a realizar laimplementacioacuten Es obligatorio Se pueden especificar los siguientes valoresbull linuxmdash La instancia es una instancia Amazon Linux Ubuntu Server o RHELbull windowsmdash La instancia es una instancia de Windows Server

Especifique os con una cadena

files

Esta seccioacuten especifica los nombres de los archivos que deben copiarse en la instancia durante elevento Install de la implementacioacuten

Versioacuten de API 2014-10-06410

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Para obtener maacutes informacioacuten consulte Seccioacuten files de AppSpec (solo para implementaciones EC2On-Premises) (p 411)

permissions

Esta seccioacuten especifica coacutemo los permisos especiales si hay alguno deben aplicarse a los archivosde la seccioacuten files cuando se copien en la instancia Esta seccioacuten se aplica solo a las instancias deAmazon Linux Ubuntu Server y Red Hat Enterprise Linux (RHEL)

Para obtener maacutes informacioacuten consulte Seccioacuten permissions de AppSpec (solo paraimplementaciones EC2On-Premises) (p 418)

hooks

Esta seccioacuten especifica los scripts que se van a ejecutar en eventos especiacuteficos del ciclo de vida de laimplementacioacuten durante la implementacioacuten

Para obtener maacutes informacioacuten consulte Seccioacuten hooks de AppSpec (p 422)

Temasbull Seccioacuten files de AppSpec (solo para implementaciones EC2On-Premises) (p 411)bull Seccioacuten laquoresourcesraquo de AppSpec (Amazon ECS yAWS Lambdasolo implementaciones) (p 415)bull Seccioacuten permissions de AppSpec (solo para implementaciones EC2On-Premises) (p 418)bull Seccioacuten hooks de AppSpec (p 422)

Seccioacuten files de AppSpec (solo para implementaciones EC2On-Premises)Proporciona informacioacuten a CodeDeploy sobre los archivos de la revisioacuten de la aplicacioacuten que se debeninstalar en la instancia durante la implementacioacutenInstalarevent Esta seccioacuten solo es necesaria si va acopiar archivos de la revisioacuten en ubicaciones de la instancia durante la implementacioacuten

Esta seccioacuten tiene la siguiente estructura

files - source source-file-location-1 destination destination-file-location-1file_exists_behavior DISALLOW|OVERWRITE|RETAIN

Se pueden establecer varios pares source y destination

La instruccioacuten source identifica el archivo o directorio de la revisioacuten que se va a copiar en la instancia

bull Si source hace referencia a un archivo solo se copian los archivos especificados en la instanciabull Si source hace referencia a un directorio se copian todos los archivos del directorio en la instanciabull Sisourcees una sola barra diagonal (laquoraquo para instancias de Amazon Linux RHEL y Ubuntu Server o laquoraquo

para instancias de Windows Server) y a continuacioacuten se copian todos los archivos de la revisioacuten en lainstancia

Las rutas utilizadas ensourceson respecto a laappspecyml que debe estar en la raiacutez de su revisioacutenPara obtener maacutes informacioacuten sobre la estructura de archivos de una revisioacuten consultePlanear unarevisioacuten para CodeDeploy (p 307)

Versioacuten de API 2014-10-06411

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

La instruccioacuten destination identifica el lugar de la instancia en el que deben copiarse los archivos Debeser un camino totalmente cualificado comorootdestinationdirectory(en Linux RHEL y Ubuntu)ocdestinationfolder(en Windows)

source y destination se especifican con una cadena

Lafile_exists_behaviorLa instruccioacuten es opcional y especifica el modo en el que CodeDeploygestiona archivos que ya existen en la ubicacioacuten de destino de implementacioacuten pero que no forman partede la implementacioacuten anterior realizada correctamente Esta configuracioacuten puede tomar cualquiera de lossiguientes valores

bull NO PERMITIR La implementacioacuten produce un error Este es tambieacuten el comportamientopredeterminado si no se especifica ninguna opcioacuten

bull SOBRESCRIBIR La versioacuten del archivo de la revisioacuten de la aplicacioacuten que se estaacute implementandosustituye a la versioacuten ya incluida en la instancia

bull RETAIN La versioacuten del archivo ya incluida en la instancia se mantiene y utiliza como parte de la nuevaimplementacioacuten

Cuando se utiliza elfile_exists_behaviorajuste comprenda que esta configuracioacuten

bull solo se puede especificar una vez y se aplica a todos los archivos y directorios enumerados enfilesbull prevalece sobre la--file-exists-behavior AWS CLIopcioacuten y lafileExistsBehaviorOpcioacuten API

(ambas tambieacuten son opcionales)

A continuacioacuten se muestra un ejemplofilespara una instancia de Amazon Linux Ubuntu Server o RHEL

files - source Configconfigtxt destination webappsConfig - source source destination webappsmyApp

En este ejemplo se realizan las dos operaciones siguientes durante el evento Install

1 Copiar el archivo Configconfigtxt en la revisioacuten en la ruta de webappsConfigconfigtxtde la instancia

2 Copiar recursivamente todos los archivos del directorio source de la revisioacuten en el directorio webappsmyApp de la instancia

Ejemplos de la seccioacuten files

Los siguientes ejemplos muestran coacutemo especificar la seccioacuten files Aunque estos ejemplos describenestructuras de archivos y directorios (carpetas) de Windows Server se pueden adaptar faacutecilmente parainstancias de Amazon Linux Ubuntu Server y RHEL

Note

Solo las implementaciones EC2On-Premises utilizan elfilesseccioacuten No se aplicaaAWSImplementaciones de Lambda

En los siguientes ejemplos presuponemos que estos archivos estaacuten en el paquete en la raiacutez de source

bull appspecyml

bull my-filetxt

Versioacuten de API 2014-10-06412

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

bull my-file-2txt

bull my-file-3txt

1) Copy only my-filetxt to the destination folder ctempfiles - source my-filetxt destination ctemp Result ctempmy-filetxt --------------------- 2) Copy only my-file-2txt and my-file-3txt to the destination folder ctempfiles - source my-file-2txt destination ctemp - source my-file-3txt destination ctemp Result ctempmy-file-2txt ctempmy-file-3txt --------------------- 3) Copy my-filetxt my-file-2txt and my-file-3txt (along with the appspecyml file) to the destination folder ctempfiles - source destination ctemp Result ctempappspecyml ctempmy-filetxt ctempmy-file-2txt ctempmy-file-3txt

En los siguientes ejemplos presuponemos que appspecyml estaacute en el paquete en la raiacutez de sourcejunto con una carpeta denominada my-folder que contiene tres archivos

bull appspecyml

bull my-foldermy-filetxt

bull my-foldermy-file-2txt

bull my-foldermy-file-3txt

4) Copy the 3 files in my-folder (but do not copy my-folder itself) to the destination folder ctemp files - source my-folder destination ctemp Result ctempmy-filetxt ctempmy-file-2txt

Versioacuten de API 2014-10-06413

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

ctempmy-file-3txt --------------------- 5) Copy my-folder and its 3 files to my-folder within the destination folder ctempfiles - source my-folder destination ctempmy-folder Result ctempmy-foldermy-filetxt ctempmy-foldermy-file-2txt ctempmy-foldermy-file-3txt --------------------- 6) Copy the 3 files in my-folder to other-folder within the destination folder ctempfiles - source my-folder destination ctempother-folder Result ctempother-foldermy-filetxt ctempother-foldermy-file-2txt ctempother-foldermy-file-3txt --------------------- 7) Copy only my-file-2txt and my-file-3txt to my-folder within the destination folder ctempfiles - source my-foldermy-file-2txt destination ctempmy-folder - source my-foldermy-file-3txt destination ctempmy-folder Result ctempmy-foldermy-file-2txt ctempmy-foldermy-file-3txt --------------------- 8) Copy only my-file-2txt and my-file-3txt to other-folder within the destination folder ctempfiles - source my-foldermy-file-2txt destination ctempother-folder - source my-foldermy-file-3txt destination ctempother-folder Result ctempother-foldermy-file-2txt ctempother-foldermy-file-3txt --------------------- 9) Copy my-folder and its 3 files (along with the appspecyml file) to the destination folder ctemp If any of the files already exist on the instance overwrite themfiles - source destination ctemp

Versioacuten de API 2014-10-06414

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

file_exists_behavior OVERWRITE Result ctempappspecyml ctempmy-foldermy-filetxt ctempmy-foldermy-file-2txt ctempmy-foldermy-file-3txt

Seccioacuten laquoresourcesraquo de AppSpec (Amazon ECS yAWSLambdasolo implementaciones)El contenido delresourcesLa seccioacuten del archivo AppSpec variacutea en funcioacuten de la plataforma decomputacioacuten de la implementacioacuten Laresourcespara una implementacioacuten de Amazon ECS contienela definicioacuten de tareas de Amazon ECS contenedor y puerto para dirigir el traacutefico a su conjunto de tareasde Amazon ECS actualizado y otra informacioacuten opcional Laresourcesseccioacuten de unAWS LambdaLaimplementacioacuten contiene el nombre el alias la versioacuten actual y la versioacuten de destino de una funcioacutenLambda

Temasbull Seccioacuten laquoresourcesraquo de AppSpec paraAWSImplementaciones de Lambda (p 415)bull Seccioacuten laquoresourcesraquo de AppSpec para implementaciones de Amazon ECS (p 416)

Seccioacuten laquoresourcesraquo de AppSpec paraAWSImplementaciones de Lambda

Laresourcesespecifica la funcioacuten Lambda que se va a implementar y tiene la siguiente estructura

YAML

resources - name-of-function-to-deploy type AWSLambdaFunction properties name name-of-lambda-function-to-deploy alias alias-of-lambda-function-to-deploy currentversion version-of-the-lambda-function-traffic-currently-points-to targetversion version-of-the-lambda-function-to-shift-traffic-to

JSON

resources [ name-of-function-to-deploy type AWSLambdaFunction properties name name-of-lambda-function-to-deploy alias alias-of-lambda-function-to-deploy currentversion version-of-the-lambda-function-traffic-currently-points-to targetversion version-of-the-lambda-function-to-shift-traffic-to ]

Cada propiedad se especifica con una cadena

bull name obligatorio Es el nombre de la funcioacuten Lambda que se debe implementarbull alias obligatorio Es el nombre del alias de la funcioacuten Lambda

Versioacuten de API 2014-10-06415

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

bull currentversion obligatorio Es la versioacuten de la funcioacuten Lambda a la que apunta actualmente eltraacutefico

bull targetversion obligatorio Es la versioacuten de la funcioacuten Lambda a la que se va a desviar el traacutefico

Seccioacuten laquoresourcesraquo de AppSpec para implementaciones de Amazon ECS

Laresourcesespecifica el servicio Amazon ECS que se va a implementar y tiene la siguienteestructura

YAML

Resources - TargetService Type AWSECSService Properties TaskDefinition task-definition-ARN LoadBalancerInfo ContainerName ECS-container-name-for-your-ECS-application ContainerPort port-used-by-your-ECS-application Optional properties PlatformVersion ecs-service-platform-version NetworkConfiguration AwsvpcConfiguration Subnets [ecs-subnet-1ecs-subnet-n] SecurityGroups [ecs-security-group-1ecs-security-group-n] AssignPublicIp ENABLED-or-DISABLED CapacityProviderStrategy - Base Integer CapacityProvider capacityProviderA Weight Integer - Base Integer CapacityProvider capacityProviderB Weight Integer

JSON

Resources [ TargetService Type AWSECSService Properties TaskDefinition LoadBalancerInfo ContainerName ContainerPort PlatformVersion NetworkConfiguration AwsvpcConfiguration Subnets [ ] SecurityGroups [ ] AssignPublicIp CapacityProviderStrategy [

Versioacuten de API 2014-10-06416

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Base Integer CapacityProvider capacityProviderA Weight Integer Base Integer CapacityProvider capacityProviderB Weight Integer ] ]

Cada propiedad se especifica con una cadena excepto paraContainerPort que es un nuacutemero

bull TaskDefinition obligatorio Es la definicioacuten de tarea que el servicio de Amazon ECS seva a implementar Se especifica con el ARN de la definicioacuten de tarea El formato del ARN esarnawsecsaws-regionaccount-idtask-definitiontask-definition-familytask-definition-revision Para obtener maacutes informacioacuten consulteNombres de recursosde Amazon (ARN) yAWSespacios de nombres de servicios de

bull ContainerName obligatorio Este es el nombre del contenedor Amazon ECS que contiene la aplicacioacutenAmazon ECS Debe ser un contenedor especificado en la definicioacuten de tarea Amazon ECS

bull ContainerPort obligatorio Este es el puerto del contenedor al que se dirigiraacute el traacuteficobull PlatformVersion opcional La versioacuten de la plataforma de las tareas Fargate en el servicio Amazon

ECS implementado Para obtener maacutes informacioacuten consulte Versiones de la plataforma de AWSFargate Si no se especificaLATESTse utiliza de forma predeterminada

bull NetworkConfiguration opcional En AwsvpcConfiguration puede especificar lo siguiente Paraobtener maacutes informacioacuten consulteAwsVpcConfigurationen laReferencia de la API de Amazon ECSbull Subnets opcional Una lista separada por comas de una o varias subredes en su servicio Amazon

ECSbull SecurityGroups opcional Una lista separada por comas de uno o varios grupos de seguridad en

su Amazon Elastic Container Servicebull AssignPublicIp opcional Una cadena que especifica si su elastic network interface del servicio

Amazon ECS recibe una direccioacuten IP puacuteblica Los valores vaacutelidos son ENABLED y DISABLEDNote

Todos o ninguno de los ajustes deNetworkConfigurationdebe especificarse Porejemplo si desea especificar Subnets tambieacuten debe especificar SecurityGroups yAssignPublicIp Si no se especifica ninguno CodeDeploy utiliza la configuracioacuten actual deAmazon ECS de de la red

bull CapacityProviderStrategy opcional Lista de los proveedores de capacidad de Amazon ECSque desea utilizar para su implementacioacuten Para obtener maacutes informacioacuten consulteProveedores decapacidad de Amazon ECSen laGuiacutea para desarrolladores de Amazon Elastic Puede especificar lasiguiente configuracioacuten para cada proveedor de capacidad Para obtener maacutes informacioacuten sobre estaconfiguracioacuten consulteElemento de estrategia de proveedor de capacidad de servicio AWS ECSenlaAWS CloudFormationGuiacutea del usuario debull Base opcional El valor de base designa cuaacutentas tareas como miacutenimo se ejecutaraacuten en el proveedor

de capacidad especificado Solo un proveedor de capacidad en una estrategia de proveedorde capacidad puede tener una base definida Si no se especifica ninguacuten valor se utiliza el valorpredeterminado 0

bull CapacityProvider opcional Nombre abreviado del proveedor de capacidadEjemplocapacityProviderA

bull Weight opcional

Versioacuten de API 2014-10-06417

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

El valor peso designa el porcentaje relativo del nuacutemero total de tareas lanzadas que debe utilizar elproveedor de capacidad especificado El valor weight se tomaraacute en cuenta luego de que el valorbase se cumpla en el caso de haber sido definido

Si no se especifica ninguacuten valor se utiliza el valor predeterminado 0 Cuando se especifican variosproveedores de capacidad dentro de una estrategia de provisioacuten de capacidad al menos uno delos proveedores de capacidad deberaacute tener un valor de peso superior a cero y los proveedores decapacidad con un peso de 0 no se utilizaraacuten para asignar tareas Si especifican varios proveedores decapacidad en una estrategia en la que todos tienen un peso de 0 se produciraacute un error en cualquierade las acciones RunTask o CreateService que utilicen la estrategia de provisioacuten de capacidad

Por ejemplo si define una estrategia que contiene dos proveedores de capacidad y ambostienen un peso de 1 cuando base se cumpla las tareas se dividiraacuten uniformemente entre los dosproveedores de capacidad Siguiendo esta misma loacutegica si especifica una ponderacioacuten de 1 paracapacityProviderA y una ponderacioacuten de 4 para capacityProviderB entonces por cada tarea que seejecute usando capacityProviderA habraacute cuatro tareas que usen capacityProviderB

Seccioacuten permissions de AppSpec (solo para implementacionesEC2On-Premises)La seccioacuten permissions especifica coacutemo los permisos especiales si hay alguno deben aplicarsea los archivos y directorioscarpetas de la seccioacuten files una vez copiados en la instancia Puedeespecificar varias instrucciones object Esta seccioacuten es opcional Solo se aplica a las instancias AmazonLinux Ubuntu Server y RHEL

Note

Lapermissionsse utiliza uacutenicamente para implementaciones EC2On-Premises No se utilizaparaAWSImplementaciones de Lambda o Amazon ECS

Esta seccioacuten tiene la siguiente estructura

permissions - object object-specification pattern pattern-specification except exception-specification owner owner-account-name group group-name mode mode-specification acls - acls-specification context user user-specification type type-specification range range-specification type - object-type

Las instrucciones son las siguientes

bull object obligatorio Este es un conjunto de objetos del sistema de archivos (archivos o directorioscarpetas) a los que se aplican los permisos especificados una vez que se copian en la instancia

Especifique object con una cadenabull pattern opcional Especifica un patroacuten para aplicar permisos Si no se especifica o se especifica con

los caracteres especiales los permisos se aplican a todos los archivos o directorios coincidentesen funcioacuten del valor de type

Versioacuten de API 2014-10-06418

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Especifique pattern con una cadena con comillas ()bull except opcional Especifica los archivos o directorios que son excepciones a pattern

Especifique except con una lista separada por comas de cadenas entre corchetesbull owner opcional El nombre del propietario de object Si no se especifica todos los propietarios

existentes aplicados a la estructura original de archivos o directorioscarpetas permanecen sin cambiosdespueacutes de la operacioacuten de copia

Especifique owner con una cadenabull group opcional El nombre del grupo de object Si no se especifica todos los grupos existentes

aplicados a la estructura original de archivos o directorioscarpetas permanecen sin cambios despueacutes dela operacioacuten de copia

Especifique group con una cadenabull mode opcional Un valor numeacuterico que especifica los permisos que se van a aplicar aobject El ajuste

de modo sigue elComando chmod Linuxsintaxis

Important

Si el valor incluye un cero inicial debe rodearlo de comillas dobles o eliminar el cero inicial paraque solo queden tres diacutegitos

Note

Notacioacuten simboacutelica comou+xno se admite para elmodeconfiguracioacuten de

Ejemplosbull mode 0644otorga permisos de lectura y escritura al propietario del objeto (6) permisos de solo

lectura para el grupo (4) y permisos de solo lectura para los demaacutes usuarios (4)bull mode 644concede los mismos permisos quemode 0644bull mode 4755establece el atributo setuid (4) otorga permisos de control total al propietario (7) otorga

permisos de lectura y ejecucioacuten al grupo (5) y otorga permisos de lectura y ejecucioacuten a todos losdemaacutes usuarios (5)

Para ver maacutes ejemplos consulte la documentacioacuten del comando chmod de Linux

Si no se especifica mode todos los modos existentes aplicados a la estructura original de archivos oarchivos o carpetas permanecen sin cambios despueacutes de la operacioacuten de copia

bull acls opcional Una lista de cadenas de caracteres que representan una o varias entradas de la lista decontrol de acceso (ACL) aplicadas a object Por ejemplo ubobrw representa permisos de lecturay escritura para el usuario bob (Para ver maacutes ejemplos consulte los ejemplos de formato de entradasde ACL en la documentacioacuten del comando setfacl de Linux) Puede especificar varias entradas deACL Si no se especifica acls todas las listas de control de acceso aplicadas a la estructura original dearchivos o directorioscarpetas permanecen sin cambios despueacutes de la operacioacuten de copia Reemplazana todas las listas de control de acceso existentes

Especifique una acls con un guion (-) seguido de un espacio y a continuacioacuten una cadena(por ejemplo - ujanerw) Si tiene varias ACL cada una de ellas se especifica en una liacuteneaindependiente

Note

La definicioacuten de usuarios sin nombre grupos sin nombre u otras entradas de ACL similaresproduciraacute un error del archivo AppSpec Utilice mode para especificar estos tipos de permisosen su lugar

bull context opcional Para las instancias habilitadas para Security-Enhanced Linux (SELinux) una lista deetiquetas de contexto relevantes para la seguridad que se aplica a los objetos copiados Las etiquetas se

Versioacuten de API 2014-10-06419

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

especifican como claves que contienen user type y range (Para obtener maacutes informacioacuten consultela documentacioacuten de SELinux) Cada clave se escribe con una cadena Si no se especifica todas lasetiquetas existentes aplicadas a la estructura original de archivos o directorioscarpetas permanecen sincambios despueacutes de la operacioacuten de copiabull user opcional El usuario de SELinuxbull type opcional El nombre de tipo de SELinuxbull range opcional El rango especificado de SELinux No tiene ninguacuten efecto a no ser que Multi-Level

Security (MLS) y Multi-Category Security (MCS) esteacuten habilitados en la maacutequina Si no estaacute habilitadael valor predeterminado de range es s0

Especifique context con una cadena (por ejemplo user unconfined_u) Cada context seespecifica en una liacutenea separada

bull type opcional Los tipos de objetos a los que se van a aplicar los permisos especificados type esuna cadena que se puede establecer en file o en directory Si se especifica file los permisos seaplican uacutenicamente a los archivos que esteacuten incluidos en object despueacutes de la operacioacuten de copia (yno al propio object) Si se especifica directory los permisos se aplican recursivamente a todos losdirectorios o carpetas incluidos en object despueacutes de la operacioacuten de copia (y no al propio object)

Especifique type con un guion (-) seguido de un espacio y a continuacioacuten una cadena (por ejemplo -file)

Ejemplo de la seccioacuten PermissionsEn el siguiente ejemplo se muestra coacutemo especificar la seccioacuten permissions con las instruccionesobject pattern except owner mode y type Este ejemplo se aplica solo a las instancias AmazonLinux Ubuntu Server y RHEL En este ejemplo se presupone que se copian los siguientes archivos ycarpetas en la instancia en esta jerarquiacutea

tmp `-- my-app |-- my-file-1txt |-- my-file-2txt |-- my-file-3txt |-- my-folder-1 | |-- my-file-4txt | |-- my-file-5txt | `-- my-file-6txt `-- my-folder-2 |-- my-file-7txt |-- my-file-8txt |-- my-file-9txt `-- my-folder-3

En el siguiente archivo de AppSpec se muestra coacutemo establecer permisos en estos archivos y carpetasuna vez copiados

version 00os linux Copy over all of the folders and files with the permissions they were originally assignedfiles - source my-file-1txt destination tmpmy-app - source my-file-2txt destination tmpmy-app - source my-file-3txt destination tmpmy-app - source my-folder-1 destination tmpmy-appmy-folder-1

Versioacuten de API 2014-10-06420

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

- source my-folder-2 destination tmpmy-appmy-folder-2 1) For all of the files in the tmpmy-app folder ending in -3txt (for example just my-file-3txt) owner = adm group = wheel and mode = 464 (-r--rw-r--)permissions - object tmpmy-app pattern -3txt owner adm group wheel mode 464 type - file 2) For all of the files ending in txt in the tmpmy-app folder but not for the file my-file-3txt (for example just my-file-1txt and my-file-2txt) owner = ec2-user and mode = 444 (-r--r--r--) - object tmpmy-app pattern txt except [my-file-3txt] owner ec2-user mode 444 type - file 3) For all the files in the tmpmy-appmy-folder-1 folder except for my-file-4txt and my-file-5txt (for example just my-file-6txt) owner = operator and mode = 646 (-rw-r--rw-) - object tmpmy-appmy-folder-1 pattern except [my-file-4txt my-file-5txt] owner operator mode 646 type - file 4) For all of the files that are immediately under the tmpmy-appmy-folder-2 folder except for my-file-8txt (for example just my-file-7txt and my-file-9txt) owner = ec2-user and mode = 777 (-rwxrwxrwx) - object tmpmy-appmy-folder-2 pattern except [my-file-8txt] owner ec2-user mode 777 type - file 5) For all folders at any level under tmpmy-app that contain the name my-folder but not tmpmy-appmy-folder-2my-folder-3 (for example just tmpmy-appmy-folder-1 and tmpmy-appmy-folder-2) owner = ec2-user and mode = 555 (dr-xr-xr-x) - object tmpmy-app pattern my-folder except [tmpmy-appmy-folder-2my-folder-3] owner ec2-user mode 555 type - directory 6) For the folder tmpmy-appmy-folder-2my-folder-3 group = wheel and mode = 564 (dr-xrw-r--) - object tmpmy-appmy-folder-2my-folder-3 group wheel mode 564 type - directory

Versioacuten de API 2014-10-06421

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Los permisos resultantes son los siguientes

-r--r--r-- ec2-user root my-file-1txt-r--r--r-- ec2-user root my-file-2txt-r--rw-r-- adm wheel my-file-3txt

dr-xr-xr-x ec2-user root my-folder-1-rw-r--r-- root root my-file-4txt-rw-r--r-- root root my-file-5txt-rw-r--rw- operator root my-file-6txt

dr-xr-xr-x ec2-user root my-folder-2-rwxrwxrwx ec2-user root my-file-7txt-rw-r--r-- root root my-file-8txt-rwxrwxrwx ec2-user root my-file-9txt

dr-xrw-r-- root wheel my-folder-3

En el siguiente ejemplo se muestra coacutemo especificar la seccioacuten permissions con la adicioacuten de lasinstrucciones acls y context Este ejemplo se aplica solo a las instancias Amazon Linux Ubuntu Servery RHEL

permissions - object varwwwhtmlWordPress pattern except [varwwwhtmlWordPressReadMetxt] owner bob group writers mode 644 acls - umaryrw - usamrw - mrw context user unconfined_u type httpd_sys_content_t range s0 type - file

Seccioacuten hooks de AppSpecEl contenido delhooksLa seccioacuten del archivo AppSpec variacutea en funcioacuten de la plataforma decomputacioacuten de la implementacioacuten LahooksUna implementacioacuten EC2On-premises contiene losmapeos que vinculan los enlaces de eventos de ciclo de vida de la implementacioacuten a uno o varios scriptsLahooksUna implementacioacuten de Lambda o Amazon ECS especifica las funciones de validacioacutenLambda que se ejecutan durante un evento de ciclo de vida de la implementacioacuten Si un enlace de eventono estaacute presente no se ejecuta ninguna operacioacuten para ese evento Esta seccioacuten solo es necesaria siejecuta scripts o funciones de validacioacuten Lambda como parte de la implementacioacuten

Temasbull Seccioacuten hooks de AppSpec para una implementacioacuten de Amazon ECS (p 422)bull Seccioacuten hooks de AppSpec para unAWSImplementacioacuten de Lambda (p 426)bull Seccioacuten hooks de AppSpec para una implementacioacuten EC2On-Premises (p 428)

Seccioacuten hooks de AppSpec para una implementacioacuten de Amazon ECS

Temas

Versioacuten de API 2014-10-06422

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

bull Lista de ganchos de eventos del ciclo de vida de una implementacioacuten de Amazon ECS (p 423)bull Orden de ejecucioacuten de los enlaces en una implementacioacuten de Amazon ECS (p 423)bull Estructura de la seccioacuten hooks (p 424)bull Funcioacuten hooks de Lambda de ejemplo (p 425)

Lista de ganchos de eventos del ciclo de vida de una implementacioacuten de Amazon ECS

UnAWSLambda hook es una funcioacuten Lambda especificada con una cadena en una nueva liacuteneadespueacutes del nombre del evento del ciclo de vida Cada enlace se ejecuta una vez por implementacioacutenA continuacioacuten se muestran las descripciones de los eventos del ciclo de vida donde puede ejecutar unenlace durante una implementacioacuten de Amazon ECS

bull BeforeInstall se utiliza para ejecutar tareas antes de crear el conjunto de tareas de sustitucioacutenUn grupo de destino se asocia al conjunto de tareas original Si se especifica un agente de escuchade prueba opcional se asociada al conjunto de tareas original En este momento no es posible unarestauracioacuten

bull AfterInstall se utiliza para ejecutar tareas una vez que el conjunto de tareas se ha creado y uno delos grupos de destino se ha asociado con eacutel Si se especifica un agente de escucha de prueba opcionalse asociada al conjunto de tareas original El resultado de la funcioacuten de enlace en este evento de ciclode vida puede activar una restauracioacuten

bull AfterAllowTestTraffic utiliacutecelo para ejecutar tareas despueacutes de que el agente de escucha deprueba enviacutea traacutefico al conjunto de tareas de sustitucioacuten El resultado de la funcioacuten de enlace en estepunto puede activar una restauracioacuten

bull BeforeAllowTraffic se utiliza para ejecutar tareas una vez que el segundo grupo de destino seha asociado con el conjunto de tareas de sustitucioacuten pero antes de que se enviacutee traacutefico al conjunto detareas de sustitucioacuten El resultado de la funcioacuten de enlace en este evento de ciclo de vida puede activaruna restauracioacuten

bull AfterAllowTraffic utiliacutecelo para ejecutar tareas despueacutes de que el segundo grupo de destino enviacuteatraacutefico al conjunto de tareas de sustitucioacuten El resultado de la funcioacuten de enlace en este evento de ciclode vida puede activar una restauracioacuten

Para obtener maacutes informacioacuten consulte Queacute ocurre durante una implementacioacuten de Amazon ECS (p 22) yTutorial Implementacioacuten de un servicio Amazon ECS con una prueba de validacioacuten (p 147)

Orden de ejecucioacuten de los enlaces en una implementacioacuten de Amazon ECS

En una implementacioacuten de Amazon ECS los enlaces de eventos se ejecutan en el siguiente orden

Versioacuten de API 2014-10-06423

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Note

No se pueden ejecutar mediante un script los eventos Start Install TestTraffic AllowTraffic y Enden la implementacioacuten motivo por el cual aparecen atenuados en este diagrama

Estructura de la seccioacuten hooks

Los siguientes ejemplos muestran la estructura de la seccioacuten hooks

Mediante YAML

Hooks - BeforeInstall BeforeInstallHookFunctionName

Versioacuten de API 2014-10-06424

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

- AfterInstall AfterInstallHookFunctionName - AfterAllowTestTraffic AfterAllowTestTrafficHookFunctionName - BeforeAllowTraffic BeforeAllowTrafficHookFunctionName - AfterAllowTraffic AfterAllowTrafficHookFunctionName

Mediante JSON

Hooks [ BeforeInstall BeforeInstallHookFunctionName AfterInstall AfterInstallHookFunctionName AfterAllowTestTraffic AfterAllowTestTrafficHookFunctionName BeforeAllowTraffic BeforeAllowTrafficHookFunctionName AfterAllowTraffic AfterAllowTrafficHookFunctionName ]

Funcioacuten hooks de Lambda de ejemplo

Usarhookspara especificar una funcioacuten Lambda a la que CodeDeploy puede llamar para validaruna implementacioacuten de Amazon ECS Puede utilizar la misma funcioacuten o una distinta para los eventosde ciclo de vida de implementacioacuten BeforeInstall AfterInstall AfterAllowTestTrafficBeforeAllowTraffic y AfterAllowTraffic Una vez completadas las pruebas de validacioacutenel LambdaAfterAllowTrafficLa funcioacuten de llama a CodeDeploy y enviacutea el resultadodeSucceededoFailed

Important

Se considera que se ha producido un error en la implementacioacuten si la funcioacuten de validacioacutenLambda no informa a CodeDeploy en el plazo de una hora

Antes de invocar una funcioacuten de enlace Lambda el servidor debe recibir una notificacioacutencon el ID de implementacioacuten y el ID de ejecucioacuten del enlace de evento de ciclo de vida conlaputLifecycleEventHookExecutionStatuscomando

A continuacioacuten se muestra una funcioacuten de enlace Lambda de ejemplo escrita en Nodejs

use strict

const aws = require(aws-sdk)const codedeploy = new awsCodeDeploy(apiVersion 2014-10-06)

exportshandler = (event context callback) =gt Read the DeploymentId from the event payload var deploymentId = eventDeploymentId

Read the LifecycleEventHookExecutionId from the event payload var lifecycleEventHookExecutionId = eventLifecycleEventHookExecutionId

Enter validation tests here

Versioacuten de API 2014-10-06425

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Prepare the validation test results with the deploymentId and the lifecycleEventHookExecutionId for CodeDeploy var params = deploymentId deploymentId lifecycleEventHookExecutionId lifecycleEventHookExecutionId status Succeeded status can be Succeeded or Failed Pass CodeDeploy the prepared validation test results codedeployputLifecycleEventHookExecutionStatus(params function(err data) if (err) Validation failed callback(Validation test failed) else Validation succeeded callback(null Validation test succeeded) )

Seccioacuten hooks de AppSpec para unAWSImplementacioacuten de Lambda

Temasbull Lista de ganchos de eventos del ciclo de vida de unAWSImplementacioacuten de Lambda (p 426)bull Ejecute el orden de los ganchos en una implementacioacuten de la versioacuten de la funcioacuten Lambda (p 426)bull Estructura de la seccioacuten hooks (p 427)bull Funcioacuten hooks de Lambda de ejemplo (p 427)

Lista de ganchos de eventos del ciclo de vida de unAWSImplementacioacuten de Lambda

UnAWSLambda hook es una funcioacuten Lambda especificada con una cadena en una nueva liacuteneadespueacutes del nombre del evento del ciclo de vida Cada enlace se ejecuta una vez por implementacioacutenA continuacioacuten se muestran las descripciones de los enlaces disponibles para su uso en su archivoAppSpec

bull BeforeAllowTraffic utiliacutecelo para ejecutar tareas antes de que el traacutefico se desviacutee a la versioacuten de lafuncioacuten Lambda implementada

bull AfterAllowTraffic utiliacutecelo para ejecutar tareas despueacutes de que el traacutefico se desviacutee a la versioacuten de lafuncioacuten Lambda implementada

Ejecute el orden de los ganchos en una implementacioacuten de la versioacuten de la funcioacuten Lambda

En una implementacioacuten de versiones de funciones Lambda sin servidor los enlaces de eventos seejecutan en el siguiente orden

Versioacuten de API 2014-10-06426

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Note

Los eventos Start AllowTraffic y End de la implementacioacuten no se pueden ejecutar mediante unscript motivo por el cual aparecen atenuados en este diagrama

Estructura de la seccioacuten hooks

Los siguientes ejemplos muestran la estructura de la seccioacuten hooks

Mediante YAML

hooks - BeforeAllowTraffic BeforeAllowTrafficHookFunctionName - AfterAllowTraffic AfterAllowTrafficHookFunctionName

Mediante JSON

hooks [ BeforeAllowTraffic BeforeAllowTrafficHookFunctionName AfterAllowTraffic AfterAllowTrafficHookFunctionName]

Funcioacuten hooks de Lambda de ejemplo

Utilice la seccioacuten hooks para especificar la funcioacuten Lambda a la que CodeDeploy puede llamar paravalidar una implementacioacuten Lambda Puede utilizar la misma funcioacuten o una diferente para los eventos deciclo de vida de implementacioacuten BeforeAllowTraffic y AfterAllowTraffic Cuando finalicen laspruebas de validacioacuten la funcioacuten de validacioacuten Lambda vuelve a llamar a CodeDeploy devuelve comoresultadoSucceededoFailed

Important

Se considera que se ha producido un error en la implementacioacuten si la funcioacuten de validacioacutenLambda no informa a CodeDeploy en el plazo de una hora

Versioacuten de API 2014-10-06427

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Antes de invocar una funcioacuten de enlace Lambda el servidor debe recibir una notificacioacutencon el ID de implementacioacuten y el ID de ejecucioacuten del enlace de evento de ciclo de vida conlaputLifecycleEventHookExecutionStatuscomando

A continuacioacuten se muestra una funcioacuten de enlace Lambda de ejemplo escrita en Nodejs

use strict

const aws = require(aws-sdk)const codedeploy = new awsCodeDeploy(apiVersion 2014-10-06)

exportshandler = (event context callback) =gt Read the DeploymentId from the event payload var deploymentId = eventDeploymentId

Read the LifecycleEventHookExecutionId from the event payload var lifecycleEventHookExecutionId = eventLifecycleEventHookExecutionId

Enter validation tests here

Prepare the validation test results with the deploymentId and the lifecycleEventHookExecutionId for CodeDeploy var params = deploymentId deploymentId lifecycleEventHookExecutionId lifecycleEventHookExecutionId status Succeeded status can be Succeeded or Failed Pass CodeDeploy the prepared validation test results codedeployputLifecycleEventHookExecutionStatus(params function(err data) if (err) Validation failed callback(Validation test failed) else Validation succeeded callback(null Validation test succeeded) )

Seccioacuten hooks de AppSpec para una implementacioacuten EC2On-Premises

Temasbull Lista de ganchos de eventos del ciclo de vida (p 428)bull Disponibilidad de enlaces de eventos de ciclo de vida (p 430)bull Ejecutar el orden de los ganchos en una implementacioacuten (p 431)bull Estructura de la seccioacuten hooks (p 433)bull Disponibilidad de variables de entorno para los ganchos (p 434)bull Ejemplo de enlaces (p 435)

Lista de ganchos de eventos del ciclo de vida

Un enlace de implementacioacuten EC2On-Premises se ejecuta una vez por cada implementacioacuten en unainstancia Puede especificar uno o varios scripts para ejecutar en un enlace Cada enlace de un evento delciclo de vida se especifica con una cadena en una liacutenea independiente A continuacioacuten se muestran lasdescripciones de los enlaces disponibles para su uso en su archivo AppSpec

Versioacuten de API 2014-10-06428

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Para obtener informacioacuten sobre los enlaces de eventos del ciclo de vida vaacutelidos para cada tipo deimplementacioacuten y restauracioacuten consulte Disponibilidad de enlaces de eventos de ciclo de vida (p 430)

bull ApplicationStop este evento de ciclo de vida de la implementacioacuten se produce incluso antes deque se descargue la revisioacuten de la aplicacioacuten Puede especificar scripts para este evento para detenercon fluidez la aplicacioacuten o para eliminar los paquetes instalados actualmente en la preparacioacuten de unaimplementacioacuten El archivo y los scripts de AppSpec usados para este evento de ciclo de vida de laimplementacioacuten proceden de la revisioacuten de la aplicacioacuten anterior implementada correctamente

Note

Un archivo AppSpec no existe en una instancia antes de que se implemente Por este motivoel enlace ApplicationStop no se ejecuta la primera vez que se realiza la implementacioacutenen la instancia Puede utilizar el enlace ApplicationStop la segunda vez que realice laimplementacioacuten en una instancia

Para determinar la ubicacioacuten de la uacuteltima revisioacuten de la aplicacioacuten implementada correctamenteel agente de CodeDeploy busca en la ubicacioacuten que se indica en ladeployment-group-id_last_successful_installfile Este archivo se encuentra en

optcodedeploy-agentdeployment-rootdeployment-instructionsen las instanciasAmazon Linux Ubuntu Server y RHEL Amazon EC2

CProgramDataAmazonCodeDeploydeployment-instructionscarpeta en instancias deAmazon EC2 de Windows Server

Para solucionar un error de una implementacioacuten durante el evento del ciclo de vida de la implementacioacutenApplicationStop consulte Solucioacuten de problemas con un error ApplicationStop BeforeBlockTraffic oAfterBlockTraffic evento del ciclo de vida de la implementacioacuten (p 468)

bull DownloadBundle durante este evento de ciclo de vida de la implementacioacuten el agente de CodeDeploycopia los archivos de la revisioacuten de la aplicacioacuten en una ubicacioacuten temporal

optcodedeploy-agentdeployment-rootdeployment-group-iddeployment-iddeployment-archiveen las instancias Amazon Linux Ubuntu Server y RHEL Amazon EC2

CProgramDataAmazonCodeDeploydeployment-group-iddeployment-iddeployment-archivecarpeta en instancias de Amazon EC2 de Windows Server

Este evento estaacute reservado para el agente de CodeDeploy y no se puede usar para ejecutar scripts

Para solucionar un error de una implementacioacuten durante el evento del ciclo de vida de la implementacioacutenDownloadBundle consulte Solucioacuten de problemas DownloadBundle evento de ciclo de vida de laimplementacioacuten con UnknownError no abierto para lectura (p 469)

bull BeforeInstall puede utilizar este evento del ciclo de vida de la implementacioacuten para tareas depreinstalacioacuten como descifrar archivos y crear una copia de seguridad de la versioacuten actual

bull Install durante este evento de ciclo de vida de la implementacioacuten el agente de CodeDeploy copialos archivos de la revisioacuten de la ubicacioacuten temporal en la carpeta de destino final Este evento estaacutereservado para el agente de CodeDeploy y no se puede usar para ejecutar scripts

bull AfterInstall puede utilizar este evento del ciclo de vida de la implementacioacuten para configurar laaplicacioacuten o para cambiar los permisos de los archivos

bull ApplicationStart este evento de ciclo de vida de la implementacioacuten se utiliza normalmente parareiniciar los servicios que se detuvieron duranteApplicationStop

bull ValidateService este es el uacuteltimo evento del ciclo de vida de la implementacioacuten Se utiliza paraverificar que la implementacioacuten se ha completado correctamente

bull BeforeBlockTraffic puede utilizar este evento del ciclo de vida de la implementacioacuten para ejecutartareas en las instancias antes de que se anule su registro en un balanceador de carga

Versioacuten de API 2014-10-06429

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Para solucionar un error de una implementacioacuten durante el evento del ciclo de vida de laimplementacioacuten BeforeBlockTraffic consulte Solucioacuten de problemas con un error ApplicationStopBeforeBlockTraffic o AfterBlockTraffic evento del ciclo de vida de la implementacioacuten (p 468)

bull BlockTraffic durante este evento de ciclo de vida de la implementacioacuten se bloquea el traacutefico deInternet a las instancias que estaacuten actualmente sirviendo traacutefico Este evento estaacute reservado para elagente de CodeDeploy y no se puede usar para ejecutar scripts

bull AfterBlockTraffic puede utilizar este evento del ciclo de vida de la implementacioacuten para ejecutartareas en las instancias despueacutes de que se anule su registro en un balanceador de carga

Para solucionar un error de una implementacioacuten durante el evento del ciclo de vida de la implementacioacutenAfterBlockTraffic consulte Solucioacuten de problemas con un error ApplicationStop BeforeBlockTraffico AfterBlockTraffic evento del ciclo de vida de la implementacioacuten (p 468)

bull BeforeAllowTraffic puede utilizar este evento del ciclo de vida de la implementacioacuten para ejecutartareas en las instancias antes de que se registren en un balanceador de carga

bull AllowTraffic durante este evento de ciclo de vida de la implementacioacuten se permite el acceso deltraacutefico de Internet a las instancias despueacutes de una implementacioacuten Este evento estaacute reservado para elagente de CodeDeploy y no se puede usar para ejecutar scripts

bull AfterAllowTraffic puede utilizar este evento del ciclo de vida de la implementacioacuten para ejecutartareas en las instancias despueacutes de que se registren en un balanceador de carga

Disponibilidad de enlaces de eventos de ciclo de vida

En la siguiente tabla se indican los enlaces de eventos del ciclo de vida disponibles para cada escenariode implementacioacuten y restauracioacuten

Nombre deevento del ciclode vida

Implementacioacutenin situsup1

ImplementacioacutenbluegreenOriginalinstances(Instanciasoriginales)

ImplementacioacutenbluegreenInstancias dereemplazo

Reversioacuten deimplementacioacutenbluegreenOriginalinstances(Instanciasoriginales)

Reversioacuten deimplementacioacutenbluegreenInstancias dereemplazo

ApplicationStop

DownloadBundlesup2

BeforeInstall

Installsup2

AfterInstall

ApplicationStart

ValidateService

BeforeBlockTraffic

BlockTrafficsup2

AfterBlockTraffic

BeforeAllowTraffic

AllowTrafficsup2

Versioacuten de API 2014-10-06430

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Nombre deevento del ciclode vida

Implementacioacutenin situsup1

ImplementacioacutenbluegreenOriginalinstances(Instanciasoriginales)

ImplementacioacutenbluegreenInstancias dereemplazo

Reversioacuten deimplementacioacutenbluegreenOriginalinstances(Instanciasoriginales)

Reversioacuten deimplementacioacutenbluegreenInstancias dereemplazo

AfterAllowTraffic

sup1Se aplica tambieacuten a la restauracioacuten de una implementacioacuten in situ

sup2 Reservado para operaciones de CodeDeploy No se puede utilizar para ejecutar scripts

Ejecutar el orden de los ganchos en una implementacioacuten

Implementaciones in situ

En una implementacioacuten in situ incluida la restauracioacuten de una implementacioacuten in situ los enlaces deeventos se ejecutan en el orden siguiente

Note

En el caso de las implementaciones in situ los seis enlaces relacionados con el bloqueo y elpermiso del traacutefico solo se aplican si se ha especificado una instancia de Classic Load BalancerApplication Load Balancer o Network Load Balancer de Elastic Load Balancing en el grupo deimplementaciones

Versioacuten de API 2014-10-06431

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Note

Los eventos Start DownloadBundle Install y End de la implementacioacuten no se pueden ejecutarmediante un script motivo por el cual aparecen atenuados en este diagrama Sin embargo siacutese puede editarfilesseccioacuten del archivo AppSpec para especificar lo que se debe instalardurante laInstalarevent

Implementaciones bluegreen

En una implementacioacuten bluegreen los enlaces de eventos se ejecutan en el siguiente orden

Versioacuten de API 2014-10-06432

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Note

Los eventos Start DownloadBundle Install BlockTraffic AllowTraffic y End de la implementacioacutenno se pueden ejecutar mediante un script motivo por el cual aparecen atenuados en estediagrama Sin embargo puede editar la seccioacuten files del archivo AppSpec para especificar lo quese debe instalar durante laInstalarevent

Estructura de la seccioacuten hooks

La seccioacuten hooks tiene la siguiente estructura

hooks deployment-lifecycle-event-name - location script-location timeout timeout-in-seconds runas user-name

Versioacuten de API 2014-10-06433

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

Puede incluir los siguientes elementos en una entrada hook detraacutes del nombre de evento del ciclo de vidade la implementacioacuten

location

Obligatorio La ubicacioacuten en el paquete del archivo de script de la revisioacuten La ubicacioacuten de los scriptsque especifique en elhookses relativa a la raiacutez del paquete de revisioacuten de la aplicacioacuten Para obtenermaacutes informacioacuten consulte Planear una revisioacuten para CodeDeploy (p 307)

timeout

Opcional El nuacutemero de segundos que se puede ejecutar el script antes de que se considere que se haproducido un error El valor predeterminado es 3 600 segundos (1 hora)

Note

3 600 segundos (1 hora) es la cantidad maacutexima de tiempo de ejecucioacuten permitido para elscript para cada evento del ciclo de vida de la implementacioacuten Si el script supera este liacutemitela implementacioacuten se detiene y la implementacioacuten en la instancia da un error Aseguacuterese deque el nuacutemero total de segundos especificados en timeout para todos los scripts en cadaevento del ciclo de vida de la implementacioacuten no supere este liacutemite

runas

Opcional El usuario que se va a suplantar al ejecutar el script De forma predeterminada es el agentede CodeDeploy que se ejecuta en la instancia CodeDeploy no almacena las contrasentildeas por lo queel usuario no se puede suplantar si elrunasel usuario necesita una contrasentildea Este elemento seaplica solo a las instancias de Amazon Linux y Ubuntu Server

Disponibilidad de variables de entorno para los ganchos

Durante cada evento del ciclo de vida de la implementacioacuten los scripts de enlace pueden tener acceso alas siguientes variables de entorno

APPLICATION_NAME

El nombre de la aplicacioacuten en CodeDeploy que forma parte de la implementacioacuten actual (porejemploWordPress_App)

DEPLOYMENT_ID

El ID CodeDeploy que ha asignado a la implementacioacuten actual (por ejemplod-AB1CDEF23)DEPLOYMENT_GROUP_NAME

El nombre del grupo de implementaciones en CodeDeploy que forma parte de la implementacioacutenactual (por ejemploWordPress_DepGroup)

DEPLOYMENT_GROUP_ID

El ID del grupo de implementaciones en CodeDeploy que forma parte de la implementacioacuten actual (porejemplob1a2189b-dd90-4ef5-8f40-4c1c5EXAMPLE)

LIFECYCLE_EVENT

El nombre del evento del ciclo de vida de la implementacioacuten actual (por ejemplo AfterInstall)

Estas variables de entorno son locales con respecto a cada evento del ciclo de vida de la implementacioacuten

El script siguiente cambia el puerto de escucha de un servidor HTTP Apache a 9090 en lugar de a 80 si elvalor de DEPLOYMENT_GROUP_NAME es igual a Staging Este script debe invocarse durante el eventodel ciclo de vida de implementacioacuten BeforeInstall

Versioacuten de API 2014-10-06434

AWS CodeDeploy Guiacutea del usuarioEstructura de archivos AppSpec

if [ $DEPLOYMENT_GROUP_NAME == Staging ]then sed -i -e sListen 80Listen 9090g etchttpdconfhttpdconffi

El script de ejemplo siguiente cambia el nivel de detalle de los mensajes registrados en su log deerrores de advertencia a depurar si el valor de la variable de entorno DEPLOYMENT_GROUP_NAMEes igual a Staging Este script debe invocarse durante el evento del ciclo de vida de implementacioacutenBeforeInstall

if [ $DEPLOYMENT_GROUP_NAME == Staging ]then sed -i -e sLogLevel warnLogLevel debugg etchttpdconfhttpdconffi

El script de ejemplo siguiente sustituye el texto de la paacutegina web especificada por el texto que muestrael valor de estas variables de entorno Este script debe invocarse durante el evento del ciclo de vida deimplementacioacuten AfterInstall

usrbinpython

import os strToSearch=lth2gtThis application was deployed using CodeDeploylth2gtstrToReplace=lth2gtThis page for +osenviron[APPLICATION_NAME]+ application and +osenviron[DEPLOYMENT_GROUP_NAME]+ deployment group with +osenviron[DEPLOYMENT_GROUP_ID]+ deployment group ID was generated by a +osenviron[LIFECYCLE_EVENT]+ script during +osenviron[DEPLOYMENT_ID]+ deploymentlth2gt fp=open(varwwwhtmlindexhtmlr)buffer=fpread()fpclose() fp=open(varwwwhtmlindexhtmlw)fpwrite(bufferreplace(strToSearchstrToReplace))fpclose()

Ejemplo de enlaces

A continuacioacuten se muestra un ejemplo de una entrada hooks (enlaces) que especifica dos enlaces para elevento de ciclo de vida AfterInstall

hooks AfterInstall - location ScriptsRunResourceTestssh timeout 180 - location ScriptsPostDeploysh timeout 180

El script ScriptsRunResourceTestssh se ejecuta durante la fase AfterInstall del proceso deimplementacioacuten La implementacioacuten no tendraacute eacutexito si el script tarda maacutes de 180 segundos (3 minutos) enejecutarse

La ubicacioacuten de los scripts que especifica en la seccioacuten hooks es relativa a la raiacutez del paquete de revisioacutende la aplicacioacuten En el ejemplo anterior un archivo denominado RunResourceTestssh estaacute en undirectorio denominado Scripts El directorio Scripts estaacute en la raiacutez del paquete Para obtener maacutesinformacioacuten consulte Planear una revisioacuten para CodeDeploy (p 307)

Versioacuten de API 2014-10-06435

AWS CodeDeploy Guiacutea del usuarioEjemplo del archivo AppSpec

Ejemplo del archivo AppSpecEn este tema se proporcionan archivos AppSpec de ejemplo paraAWSLambda y una implementacioacuten EC2On-Premises

Temasbull Ejemplo de archivo AppSpec para una implementacioacuten de Amazon ECS (p 436)bull Ejemplo de archivo de AppSpec para unAWSImplementacioacuten de Lambda (p 438)bull Ejemplo de archivo AppSpec para una implementacioacuten EC2On-Premises (p 439)

Ejemplo de archivo AppSpec para una implementacioacuten deAmazon ECSA continuacioacuten se muestra un ejemplo de un archivo AppSpec escrito en YAML para implementar unservicio de Amazon ECS

version 00Resources - TargetService Type AWSECSService Properties TaskDefinition arnawsecsus-east-1111222333444task-definitionmy-task-definition-family-name1 LoadBalancerInfo ContainerName SampleApplicationName ContainerPort 80 Optional properties PlatformVersion LATEST NetworkConfiguration AwsvpcConfiguration Subnets [subnet-1234abcdsubnet-5678abcd] SecurityGroups [sg-12345678] AssignPublicIp ENABLED CapacityProviderStrategy - Base 1 CapacityProvider FARGATE_SPOT Weight 2 - Base 0 CapacityProvider FARGATE Weight 1Hooks - BeforeInstall LambdaFunctionToValidateBeforeInstall - AfterInstall LambdaFunctionToValidateAfterInstall - AfterAllowTestTraffic LambdaFunctionToValidateAfterTestTrafficStarts - BeforeAllowTraffic LambdaFunctionToValidateBeforeAllowingProductionTraffic - AfterAllowTraffic LambdaFunctionToValidateAfterAllowingProductionTraffic

Esta es una versioacuten del ejemplo anterior escrita en JSON

version 00 Resources [ TargetService Type AWSECSService Properties TaskDefinition arnawsecsus-east-1111222333444task-definitionmy-task-definition-family-name1 LoadBalancerInfo

Versioacuten de API 2014-10-06436

AWS CodeDeploy Guiacutea del usuarioEjemplo del archivo AppSpec

ContainerName SampleApplicationName ContainerPort 80 PlatformVersion LATEST NetworkConfiguration AwsvpcConfiguration Subnets [ subnet-1234abcd subnet-5678abcd ] SecurityGroups [ sg-12345678 ] AssignPublicIp ENABLED CapacityProviderStrategy [ Base 1 CapacityProvider FARGATE_SPOT Weight 2 Base 0 CapacityProvider FARGATE Weight 1 ] ] Hooks [ BeforeInstall LambdaFunctionToValidateBeforeInstall AfterInstall LambdaFunctionToValidateAfterInstall AfterAllowTestTraffic LambdaFunctionToValidateAfterTestTrafficStarts BeforeAllowTraffic LambdaFunctionToValidateBeforeAllowingProductionTraffic AfterAllowTraffic LambdaFunctionToValidateAfterAllowingProductionTraffic ]

A continuacioacuten se muestra la secuencia de eventos durante la implementacioacuten

1 Antes de instalar la aplicacioacuten Amazon ECS actualizada en el conjunto de tareas de sustitucioacuten lafuncioacuten Lambda denominadaLambdaFunctionToValidateBeforeInstallEjecuciones de

2 Despueacutes de instalar la aplicacioacuten Amazon ECS actualizada en el conjuntode tareas de sustitucioacuten pero antes de recibir traacutefico la funcioacuten LambdadenominoacuteLambdaFunctionToValidateAfterInstallEjecuciones de

3 Despueacutes de que la aplicacioacuten Amazon ECS en el conjunto de tareas de sustitucioacutenempieza a recibir traacutefico del agente de escucha de prueba la funcioacuten LambdadenominadaLambdaFunctionToValidateAfterTestTrafficStartsEjecuciones de Esta funcioacutenprobablemente ejecuta pruebas de validacioacuten para determinar si la implementacioacuten continuacutea Si noespecifica un agente de escucha de prueba en el grupo de implementaciones esta se omite

Versioacuten de API 2014-10-06437

AWS CodeDeploy Guiacutea del usuarioEjemplo del archivo AppSpec

4 Despueacutes de cualquier prueba de validacioacuten en elAfterAllowTestTrafficEl enlace se completay antes de enviar traacutefico de produccioacuten a la aplicacioacuten Amazon ECS actualizada la funcioacuten LambdadenominadaLambdaFunctionToValidateBeforeAllowingProductionTrafficEjecuciones de

5 Despueacutes de enviar traacutefico de produccioacuten a la aplicacioacuten Amazon ECSactualizada en el conjunto de tareas de sustitucioacuten la funcioacuten LambdadenominadaLambdaFunctionToValidateAfterAllowingProductionTrafficEjecuciones de

Las funciones Lambda que se ejecutan durante cualquier enlace pueden llevar a cabo pruebas devalidacioacuten o recopilar meacutetricas de traacutefico

Ejemplo de archivo de AppSpec para unAWSImplementacioacuten deLambdaA continuacioacuten se muestra un ejemplo de un archivo AppSpec escrito en YAML para implementar unaversioacuten de una funcioacuten Lambda

version 00Resources - myLambdaFunction Type AWSLambdaFunction Properties Name myLambdaFunction Alias myLambdaFunctionAlias CurrentVersion 1 TargetVersion 2Hooks - BeforeAllowTraffic LambdaFunctionToValidateBeforeTrafficShift - AfterAllowTraffic LambdaFunctionToValidateAfterTrafficShift

Esta es una versioacuten del ejemplo anterior escrita en JSON

version 00 Resources [ myLambdaFunction Type AWSLambdaFunction Properties Name myLambdaFunction Alias myLambdaFunctionAlias CurrentVersion 1 TargetVersion 2 ] Hooks [ BeforeAllowTraffic LambdaFunctionToValidateBeforeTrafficShift AfterAllowTraffic LambdaFunctionToValidateAfterTrafficShift ]

A continuacioacuten se muestra la secuencia de eventos durante la implementacioacuten

1 Antes de cambiar el traacutefico de la versioacuten 1 de una funcioacuten LambdallamadamyLambdaFunctiona la versioacuten 2 ejecute una funcioacuten LambdallamadaLambdaFunctionToValidateBeforeTrafficShiftque valida la implementacioacuten estaacute listapara iniciar el cambio de traacutefico

Versioacuten de API 2014-10-06438

AWS CodeDeploy Guiacutea del usuarioEjemplo del archivo AppSpec

2 Si LambdaFunctionToValidateBeforeTrafficShift devuelve un coacutedigo de salida de 0 (eacutexito)se empieza a desviar el traacutefico a la versioacuten 2 de myLambdaFunction La configuracioacuten de estaimplementacioacuten determina la velocidad a la que se desviacutea el traacutefico

3 Tras el cambio de traacutefico de la versioacuten 1 de una funcioacuten LambdallamadamyLambdaFunctiona la versioacuten 2 estaacute completa ejecute una funcioacuten LambdallamadaLambdaFunctionToValidateAfterTrafficShiftque valida que la implementacioacuten hafinalizado correctamente

Ejemplo de archivo AppSpec para una implementacioacuten EC2On-PremisesA continuacioacuten se muestra un ejemplo de un archivo AppSpec para una implementacioacuten in situ en unainstancia de Amazon Linux Ubuntu Server o RHEL

Note

Las implementaciones en instancias de Windows Server no admiten elrunaselemento Si va aimplementar en instancias de Windows Server no lo incluya en el archivo de AppSpec

version 00os linuxfiles - source Configconfigtxt destination webappsConfig - source source destination webappsmyApphooks BeforeInstall - location ScriptsUnzipResourceBundlesh - location ScriptsUnzipDataBundlesh AfterInstall - location ScriptsRunResourceTestssh timeout 180 ApplicationStart - location ScriptsRunFunctionalTestssh timeout 3600 ValidateService - location ScriptsMonitorServicesh timeout 3600 runas codedeployuser

Para una instancia de Windows Server cambieos linuxaos windows Ademaacutes las rutas dedestination deben ser completas (por ejemplo ctempwebappsConfig y ctempwebappsmyApp) No incluya el elemento runas

A continuacioacuten se muestra la secuencia de eventos durante la implementacioacuten

1 Ejecutar el script que se encuentra en ScriptsUnzipResourceBundlesh2 Si el script anterior devuelve un coacutedigo de salida de 0 (eacutexito) ejecutar el script ubicado en Scripts

UnzipDataBundlesh3 Copiar el archivo desde la ruta de Configconfigtxt a la ruta webappsConfigconfigtxt4 Copiar recursivamente todos los archivos del directorio source en el directorio webappsmyApp5 Ejecutar el script ubicado en ScriptsRunResourceTestssh con un tiempo de espera de 180

segundos (3 minutos)6 Ejecutar el script ubicado en ScriptsRunFunctionalTestssh con un tiempo de espera de 3 600

segundos (1 hora)

Versioacuten de API 2014-10-06439

AWS CodeDeploy Guiacutea del usuarioEspaciado de archivos AppSpec

7 Ejecutar el script ubicado en ScriptsMonitorServicesh como el usuario codedeploy con untiempo de espera de 3 600 segundos (1 hora)

Espaciado de archivos AppSpecA continuacioacuten se presenta el formato correcto para el espaciado de archivos AppSpec Los nuacutemeros entrecorchetes indican el nuacutemero de espacios que debe aparecer entre los elementos Por ejemplo[4]significaque debe insertar cuatro espacios entre los elementos CodeDeploy produce un error que puede ser difiacutecilde depurar si las ubicaciones y el nuacutemero de espacios en un archivo AppSpec no son correctos

version[1]version-numberos[1]operating-system-namefiles[2]-[1]source[1]source-files-location[4]destination[1]destination-files-locationpermissions[2]-[1]object[1]object-specification[4]pattern[1]pattern-specification[4]except[1]exception-specification[4]owner[1]owner-account-name[4]group[1]group-name[4]mode[1]mode-specification[4]acls [6]-[1]acls-specification [4]context[6]user[1]user-specification[6]type[1]type-specification[6]range[1]range-specification[4]type[6]-[1]object-typehooks[2]deployment-lifecycle-event-name[4]-[1]location[1]script-location[6]timeout[1]timeout-in-seconds[6]runas[1]user-name

A continuacioacuten se muestra un ejemplo de archivo AppSpec correctamente espaciado

version 00os linuxfiles - source destination varwwwhtmlWordPresshooks BeforeInstall - location scriptsinstall_dependenciessh timeout 300 runas root AfterInstall - location scriptschange_permissionssh timeout 300 runas root ApplicationStart - location scriptsstart_serversh - location scriptscreate_test_dbsh timeout 300 runas root ApplicationStop - location scriptsstop_serversh timeout 300 runas root

Versioacuten de API 2014-10-06440

AWS CodeDeploy Guiacutea del usuarioValidar su ubicacioacuten de archivo y archivo de AppSpec

Para obtener maacutes informacioacuten acerca del espaciado consulte la especificacioacuten de YAML

Validar su ubicacioacuten de archivo y archivo de AppSpecSintaxis de archivos

Puede utilizar elAWS-proporcionado por AppSpec Assistant para validar el contenido de un archivoAppSpec Puede encontrar el script junto con las plantillas de archivo AppSpec enGitHub

Tambieacuten puede usar una herramienta basada en navegador comoLint YAMLoAnalizador YAML onlineparaayudarte a comprobar la sintaxis de YAML

Ubicacioacuten del archivo

Para verificar que ha colocado su archivo AppSpec en el directorio raiacutez de la estructura de directorios delcontenido de coacutedigo fuente de la aplicacioacuten ejecute uno de los siguientes comandos

En instancias Linux macOS o Unix locales

ls pathtorootdirectoryappspecyml

Si el archivo AppSpec no se encuentra alliacute se mostraraacute un error laquoNo existe ese archivo o directorioraquo

En instancias de Windows locales

dir pathtorootdirectoryappspecyml

Si el archivo AppSpec no se encuentra alliacute se mostraraacute un error laquoArchivo no encontradoraquo

Referencia de configuracioacuten del agenteCodeDeploy

Cuando se instala el agente de CodeDeploy se coloca un archivo de configuracioacuten en la instancia Estearchivo de configuracioacuten especifica las rutas de directorio y otros ajustes que CodeDeploy usa cuandointeractuacutea con la instancia Puede cambiar algunas de las opciones de configuracioacuten en el archivo

En las instancias de Amazon Linux Ubuntu Server y Red Hat Enterprise Linux (RHEL) el archivo deconfiguracioacuten se denominacodedeployagentyml Se coloca en el directorio etccodedeploy-agentconf

En las instancias de Windows Server el archivo de configuracioacuten se denominaconfyml Se coloca en eldirectorio CProgramDataAmazonCodeDeploy

Los valores de configuracioacuten incluyen

log_aws_wire Establar entruepara que el agente deCodeDeploy capture registros en red deAmazon S3 y los escriba en un archivodenominadocodedeploy-agentwirelogen laubicacioacuten sentildealada por ellog_dirconfiguracioacuten de

Warning

Debe establecer log_aws_wire entrue solo durante el tiempo necesario

Versioacuten de API 2014-10-06441

AWS CodeDeploy Guiacutea del usuarioReferencia de configuracioacuten del agente

para capturar los registros en red Elarchivo codedeploy-agentwirelogpuede aumentar de tamantildeo raacutepidamenteLa salida del registro en red de estearchivo puede contener informacioacutenconfidencial incluido el contenido detexto sin formato de los archivos que setransfieren a o desde Amazon S3 mientrasque esta configuracioacuten estaba establecidaentrue Los registros de cables contieneninformacioacuten sobre toda la actividad deAmazon S3 asociada a laAWScuentamientras esta configuracioacuten se establecioacuteentrue no solo la actividad relacionadacon las implementaciones de CodeDeploy

El valor predeterminado es false

Esta configuracioacuten se aplica a todos los tiposde instancias Debe antildeadir esta opcioacuten deconfiguracioacuten a las instancias de Windows Serverpara que puedan utilizarla

log_dir La carpeta de la instancia donde se almacenanlos archivos de registro relacionados con lasoperaciones del agente de CodeDeploy

La configuracioacuten predeterminada esvarlogawscodedeploy-agentpara instanciasde Amazon Linux Ubuntu Server y RHEL yCProgramDataAmazonCodeDeploylogparainstancias de Windows Server

pid_dir La carpeta en la que se almacena codedeploy-agentpid

Este archivo contiene el ID de proceso (PID) delagente de CodeDeploy El valor predeterminado esoptcodedeploy-agentstatepid

Esta configuracioacuten se aplica a las instancias deAmazon Linux Ubuntu Server y RHEL

program_name El nombre del programa del agente deCodeDeploy

El valor predeterminado es codedeploy-agent

Esta configuracioacuten se aplica a las instancias deAmazon Linux Ubuntu Server y RHEL

Versioacuten de API 2014-10-06442

AWS CodeDeploy Guiacutea del usuarioReferencia de configuracioacuten del agente

root_dir La carpeta donde se almacenan las revisionesrelacionadas el historial de implementacioacuten y losscripts de implementacioacuten en la instancia

La configuracioacuten predeterminada esoptcodedeploy-agentdeployment-rootpara instancias de Amazon Linux UbuntuServer y RHEL yCProgramDataAmazonCodeDeploypara instancias de Windows Server

verbose Establar entruepara que el agente deCodeDeploy imprima archivos de registro demensajes de depuracioacuten en la instancia

La configuracioacuten predeterminada esfalseparainstancias de Amazon Linux Ubuntu Server yRHEL ytruepara instancias de Windows Server

wait_between_runs El intervalo en segundos entre el sondeo quehace el agente de CodeDeploy para ver si hayimplementaciones de CodeDeploy pendientes

El valor predeterminado es 1

on_premises_config_file Para instancias on-premises laruta a una ubicacioacuten alternativapara el archivo de configuracioacutendenominadocodedeployonpremisesyml(paraUbuntu Server y RHEL)oconfonpremisesyml(para Windows Server)

De manera predeterminada estos archivos sealmacenan enetccodedeploy-agentconfcodedeployonpremisesymlparaUbuntu Server y RHEL yCProgramDataAmazonCodeDeployconfonpremisesymlparaWindows Server

Estaacute disponible en la versioacuten 101686 y versionesposteriores del agente de CodeDeploy

proxy_uri (Opcional) El proxy HTTP a traveacutes del quedesea que el agente de CodeDeploy se conectealAWSpara sus operaciones de CodeDeployUtilice un formato similar a httpsuserpasswordmyproxy443pathquery

Estaacute disponible en la versioacuten 101824 y versionesposteriores del agente de CodeDeploy

Versioacuten de API 2014-10-06443

AWS CodeDeploy Guiacutea del usuarioTemas relacionados

max_revisions (Opcional) El nuacutemero de revisiones de aplicacioacutenpara un grupo de implementaciones que desea queel agente de CodeDeploy archive Se eliminaraacutentodas las revisiones que superen el nuacutemeroespecificado

Introduzca un nuacutemero entero positivo Si no seespecifica ninguacuten valor CodeDeploy conservaraacutelas cinco revisiones maacutes recientes ademaacutes de larevisioacuten implementada en la actualidad

Se admite en la versioacuten 101966 y versionesposteriores del agente de CodeDeploy

enable_auth_policy (Opcional) Establezca entruesi deseautilizarAutorizacioacuten de IAMpara configurar elcontrol de acceso y limitar los permisos del rol ousuario de IAM que utiliza CodeDeploy AgentParaUsar CodeDeploy con Amazon Virtual PrivateCloud (p 446) este valor debe sertrue

El valor predeterminado es false

Temas relacionadosTrabajar con el agente de CodeDeploy (p 175)

Administracioacuten de operaciones del agente de CodeDeploy (p 186)

AWS CloudFormationplantillas para referencia deCodeDeploy

Esta seccioacuten introducelaAWS CloudFormationrecursos transformacioacuten y enlace disentildeados para funcionarcon implementaciones de CodeDeploy Para obtener una guiacutea sobre coacutemo crear una actualizacioacuten de pilaadministrada porAWS CloudFormationgancho para CodeDeploy consulteCree una implementacioacuten bluegreen (azulverde) de Amazon ECS medianteAWS CloudFormation (p 337)

Note

AWS CloudFormationlos ganchos forman parte delAWS CloudFormationcomponentes paraAWSyson diferentes de los ganchos de eventos del ciclo de vida de CodeDeploy

Ademaacutes de los otros meacutetodos disponibles en CodeDeploy puede utilizarAWS CloudFormationplantillaspara llevar a cabo las siguientes tareas

bull Crear aplicacionesbull Crear grupos de implementaciones y especificar una revisioacuten de destinobull Crear configuraciones de implementacioacutenbull Crear instancias de Amazon EC2

AWS CloudFormation es un servicio que le ayuda a modelar y configurar los recursos de AWS medianteplantillas Una plantilla de AWS CloudFormation es un archivo de texto cuyo formato cumple el

Versioacuten de API 2014-10-06444

AWS CodeDeploy Guiacutea del usuarioAWS CloudFormationreferencia de plantillas

estaacutendar JSON Puede crear una plantilla que describa todos los recursos de AWS que desea y AWSCloudFormation se encargaraacute del aprovisionamiento y la configuracioacuten de dichos recursos

Para obtener maacutes informacioacuten consulteiquestQueacute es AWS CloudFormationyUso deAWSCloudFormationPlantillas deenAWS CloudFormationGuiacutea del usuario de

Si planea utilizarAWS CloudFormationplantillas de que sean compatibles con CodeDeploy en suorganizacioacuten como administrador debe conceder acceso aAWS CloudFormationy alAWSservicios yacciones sobre los queAWS CloudFormationdepende Para conceder permisos para crear aplicacionesgrupos de implementaciones y configuraciones de implementacioacuten asocie la siguiente poliacutetica a losusuarios de IAM con los que trabajaraacuten conAWS CloudFormation

Version 2012-10-17 Statement [ Effect Allow Action [ cloudformation ] Resource ]

Para obtener maacutes informacioacuten acerca de las poliacuteticas administradas consulte los siguientes temas

bull Para ver la poliacutetica que debe asociarse a los usuarios de IAM que van a crear instanciasde Amazon EC2 consulteCrear una instancia Amazon EC2 para CodeDeploy (AWSCloudFormationplantilla) (p 221)

bull Para obtener informacioacuten sobre coacutemo asociar poliacuteticas a usuarios de IAM consulteTrabajar con poliacuteticasadministradasenIAM User Guide

bull Para obtener informacioacuten sobre coacutemo restringir a los usuarios de a un conjunto limitado deacciones y recursos de CodeDeploy consulteAWSPoliacuteticas administradas por (predefinidas) paraCodeDeploy (p 385)

En la siguiente tabla se desglosan las acciones que una plantilla de AWS CloudFormation puede realizaren su nombre y se incluyen enlaces para obtener maacutes informacioacuten sobre los tipos de recursos de AWS ysus tipos de propiedad que puede antildeadir a una plantilla de AWS CloudFormation

Accioacuten AWS CloudFormationReferenciade de

Tipo de referencia

Cree una aplicacioacuten CodeDeploy AWS CodeDeploy application Recurso de AWSCloudFormation

Crear y especificar losdetalles de un grupo deimplementaciones que se vaa utilizar para implementar lasrevisiones de la aplicacioacuten sup1

AWSCodeDeployDeploymentGroupRecurso de AWSCloudFormation

Crear un grupo de reglas deimplementacioacuten asiacute como lascondiciones de eacutexito y de errorque utiliza CodeDeploy duranteuna implementacioacuten

AWSCodeDeployDeploymentConfigRecurso de AWSCloudFormation

Versioacuten de API 2014-10-06445

AWS CodeDeploy Guiacutea del usuarioUsar CodeDeploy con Amazon Virtual Private Cloud

Accioacuten AWS CloudFormationReferenciade de

Tipo de referencia

Crear una instancia de AmazonEC2 sup2

AWS EC2 instance Recurso de AWSCloudFormation

AWSCodeDeployBlueGreen La transformacioacutenAWSCodeDeployBlueGreenes una macro alojada por AWSCloudFormation

UsarAWS CloudFormationAWSCodeDeployBlueGreenTransformyAWSCodeDeployBlueGreenenlacepara administrar actualizacionesde pila crear recursos y cambiarel traacutefico para implementacionesbluegreen de CodeDeploy3

AWSCodeDeployBlueGreen El enlaceAWSCodeDeployBlueGreense estructura como un recursoHook en AWS CloudFormationEl enlace incluye paraacutemetrosque ocupan el lugar del archivoCodeDeploy AppSpec desentildealando a los enlaces deeventos de ciclo de vida deCodeDeploy de de CodeDeployde

sup1 Si especifica la versioacuten de la revisioacuten de la aplicacioacuten que deseaque se implemente como parte del grupo de implementacionesla revisioacuten de destino se implementaraacute en cuanto se completeel proceso de aprovisionamiento Para obtener maacutes informacioacutenacerca de la configuracioacuten de plantillas de consulteRevisioacutende implementacioacuten de CodeDeploy DeploymentGroupS3LocationyRevisioacuten de implementacioacuten de CodeDeployDeployGroup GitHubLocationen laAWS CloudFormationGuiacutea delusuario de

sup2 Proporcionamos plantillas que puede utilizar para crear instanciasde Amazon EC2 en las regiones en las que CodeDeploy escompatible Para obtener maacutes informacioacuten sobre estas plantillasconsulte Crear una instancia Amazon EC2 para CodeDeploy (AWSCloudFormationplantilla) (p 221)3OEsta configuracioacuten de implementacioacuten solo admiteimplementaciones bluegreen de Amazon ECS Para obtener maacutesinformacioacuten acerca de las configuraciones de implementacioacuten paraimplementaciones bluegreen de Amazon ECS a traveacutes deAWSCloudFormation consulte Configuraciones de implementacioacutenparaAWS CloudFormationImplementaciones bluegreen (AmazonECS) (p 267) Para obtener maacutes informacioacuten acerca de lasimplementaciones bluegreen de Amazon ECS a traveacutes deAWSCloudFormationy coacutemo ver la implementacioacuten en CodeDeploy enCodeDeploy consulteCree una implementacioacuten bluegreen (azulverde) de Amazon ECS medianteAWS CloudFormation (p 337)

Usar CodeDeploy con Amazon Virtual Private CloudSi utiliza Amazon Virtual Private Cloud (Amazon VPC) para alojar suAWS puede establecer una conexioacutenprivada entre su VPC y CodeDeploy Puede utilizar esta conexioacuten para habilitar CodeDeploy paracomunicarse con sus recursos en su VPC sin pasar por la red puacuteblica de Internet

Versioacuten de API 2014-10-06446

AWS CodeDeploy Guiacutea del usuarioDisponibilidad

Amazon VPC es un servicio de AWS que puede utilizar para lanzar recursos de AWS en una redvirtual que usted defina Con una VPC puede controlar la configuracioacuten de la red como el rango dedirecciones IP las subredes las tablas de ruteo y las gateways de red Con puntos de enlace de la VPCel enrutamiento entre la VPC y los servicios de AWS se controla mediante la red de AWS y puede utilizarpoliacuteticas de IAM para controlar el acceso a los recursos de servicio

Para conectar su VPC a CodeDeploy debe definir unapunto de enlace de la VPC de la interfazparaCodeDeploy Un punto de enlace de interfaz es una interfaz de red elaacutestica con una direccioacuten IP privadaque actuacutea como punto de entrada para el traacutefico dirigido a un servicio de AWS compatible El punto deenlace ofrece conectividad escalable de confianza a CodeDeploy sin necesidad de utilizar una gatewayde Internet una instancia de conversioacuten de las direcciones de red (NAT) o una conexioacuten de VPN Paraobtener maacutes informacioacuten consulte What Is Amazon VPC (iquestQueacute es Amazon VPC) en la Guiacutea del usuariode Amazon VPC

Los puntos de enlace de la VPC de tipo interfaz cuentan conAWS PrivateLink unAWStecnologiacutea quepermite la comunicacioacuten privada entreAWSservicios que utilizan una elastic network interface condirecciones IP privadas Para obtener maacutes informacioacuten consulte AWS PrivateLink

Los siguientes pasos son para usuarios de Amazon VPC Para obtener maacutes informacioacuten consulteIntroduccioacuten en la Guiacutea del usuario de Amazon VPC

DisponibilidadCodeDeploy tiene dos extremos de VPC uno para CodeDeploy operaciones de agente y uno paraCodeDeploy Operaciones de la API de En la siguiente tabla se muestran lasAWSRegiones para cadaendpoint

Coacutedigo de regioacuten Nombre de la regioacuten de Endpoint del agente Punto de enlace de laAPI

us-east-1 EE UU Este (Norte deVirginia)

Siacute Siacute

us-east-2 EE UU Este (Ohio) Siacute Siacute

us-gov-este-1 AWS GovCloud (EEUU Este)

No No

us-gov-oeste-1 AWS GovCloud (EEUU Oeste)

No No

us-west-1 EE UU Oeste (Norte deCalifornia)

Siacute Siacute

us-west-2 EE UU Oeste (Oregoacuten) Siacute Siacute

af-south-1 Aacutefrica (Ciudad del Cabo) Siacute No

ap-east-1 Asia-Paciacutefico (HongKong)

Siacute Siacute

ap-northeast-1 Asia-Paciacutefico (Tokio) Siacute Siacute

ap-northeast-2 Asia-Paciacutefico (Seuacutel) Siacute Siacute

ap-northeast-3 Asia-Paciacutefico (Osaka) Siacute No

ap-south-1 Asia-Paciacutefico (Bombay) Siacute Siacute

Versioacuten de API 2014-10-06447

AWS CodeDeploy Guiacutea del usuarioCrear puntos de enlace de la VPC para CodeDeploy

Coacutedigo de regioacuten Nombre de la regioacuten de Endpoint del agente Punto de enlace de laAPI

ap-southeast-1 Asia-Paciacutefico (Singapur) Siacute Siacute

ap-southeast-2 Asia-Paciacutefico (Siacutedney) Siacute Siacute

ap-southeast-3 Asia-Paciacutefico (Yakarta) No No

ca-central-1 Canadaacute (Central) Siacute Siacute

eu-central-1 Europa (Fraacutencfort) Siacute Siacute

eu-north-1 Europa (Estocolmo) Siacute Siacute

eu-west-1 Europa (Irlanda) Siacute Siacute

eu-west-2 Europa (Londres) Siacute Siacute

eu-west-3 Europa (Pariacutes) Siacute Siacute

eu-south-1 Europa (Milaacuten) Siacute No

me-south-1 Medio Oriente (Bareacutein) Siacute Siacute

sa-east-1 Ameacuterica del Sur (SatildeoPaulo)

Siacute Siacute

Crear puntos de enlace de la VPC para CodeDeployPara comenzar a utilizar CodeDeploy con su VPC cree un punto de enlace de la VPC de tipo interfaz paraCodeDeploy CodeDeploy requiere endpoints independientes para las operaciones del agente Git y paraCodeDeploy Operaciones de la API de En funcioacuten de sus necesidades empresariales es posible quetenga que crear maacutes de un punto de enlace de la VPC Cuando cree un punto de enlace de la VPC paraCodeDeploy elijaAWSServicios y enNombre del servicio elija una de las siguientes opciones

bull comamazonawsregioacutencodedeploy Seleccione esta opcioacuten si desea crear un punto de enlace de laVPC para CodeDeploy Operaciones de la API de Por ejemplo elija esta opcioacuten si los usuarios utilizanelAWS CLI el CodeDeploy API o laAWSSDK con los que interactuar CodeDeploy para operacionestales comoCreateApplicationGetDeployment yListDeploymentGroups

bull comamazonawsregioacutencodedeploy-commands-secure Seleccione esta opcioacuten si desea crearun punto de enlace de la VPC para CodeDeploy operaciones de agentes Tambieacuten tendraacute queconfigurarenable_auth_policyatrueen el archivo de configuracioacuten del agente y adjunte lospermisos necesarios Para obtener maacutes informacioacuten consulte Configuracioacuten del CodeDeploy permisosde agente e IAM (p 448)

Si utiliza implementaciones de Lambda o ECS solo tiene que crear un punto deenlace de la VPC paracomamazonawsregioacutencodedeploy Los clientes queutilizan implementaciones de Amazon EC2 necesitaraacuten puntos finales de VPC paraamboscomamazonawsregioacutencodedeployycomamazonawsregioacutencodedeploy-commands-secure

Configuracioacuten del CodeDeploy permisos de agente eIAMPara utilizar endpoints de Amazon VPC con CodeDeploy debe establecer el valordeenable_auth_policyatrueen el archivo de configuracioacuten del agente ubicado en sus instancias

Versioacuten de API 2014-10-06448

AWS CodeDeploy Guiacutea del usuarioReferencia del kit de recursos

EC2 o locales Para obtener maacutes informacioacuten sobre el archivo de configuracioacuten del agente deconsulteReferencia de configuracioacuten del agente CodeDeploy (p 441)

Tambieacuten debe agregar los siguientes permisos de IAM al perfil de instancia de Amazon EC2 o al usuario orol de IAM si utiliza instancias locales

Statement [ Action [ codedeploy-commands-secureGetDeploymentSpecification codedeploy-commands-securePollHostCommand codedeploy-commands-securePutHostCommandAcknowledgement codedeploy-commands-securePutHostCommandComplete ] Effect Allow Resource ]

Para obtener maacutes informacioacuten consulte Creacioacuten de un punto de enlace de interfaz en la Guiacutea del usuariode Amazon VPC

Referencia del kit de recursos CodeDeployMuchos de los archivos de los que depende CodeDeploy se almacenan en puacuteblicamentedisponiblesAWSBuckets de Amazon S3 especiacuteficos de la regioacuten En estos archivos se incluyen losarchivos de instalacioacuten del agente de CodeDeploy plantillas y archivos de aplicacioacuten de ejemplo Esteconjunto de archivos se denomina kit de recursos de CodeDeploy

Temasbull Nombres de buckets del kit de recursos por regioacuten (p 449)bull Contenido del kit de recursos (p 450)bull Muestre una lista de los archivos del kit de recursos (p 452)bull Descargue los archivos del kit de recursos (p 452)

Nombres de buckets del kit de recursos por regioacutenEn esta tabla se muestra los nombres de las sustituciones de nombre de bucket que se necesitanpara algunos procedimientos de la guiacutea Se trata de los nombres de los buckets de Amazon S3 quecontienen los archivos del kit de recursos de CodeDeploy

Note

Para acceder al bucket de Amazon S3 de la regioacuten Asia-Paciacutefico (Hong Kong) debe habilitar laregioacuten en suAWSaccount Para obtener maacutes informacioacuten consulte Administracioacuten de las regionesde AWS

Nombre de la regioacuten de nombre-bucketreplacement Identificador de la regioacuten

EE UU Este (Ohio) aws-codedeploy-us-east-2 us-east-2

EE UU Este (Norte de Virginia) aws-codedeploy-us-east-1 us-east-1

Versioacuten de API 2014-10-06449

AWS CodeDeploy Guiacutea del usuarioContenido del kit de recursos

Nombre de la regioacuten de nombre-bucketreplacement Identificador de la regioacuten

EE UU Oeste (Norte deCalifornia)

aws-codedeploy-us-west-1 us-west-1

EE UU Oeste (Oregoacuten) aws-codedeploy-us-west-2 us-west-2

Canadaacute (Central) aws-codedeploy-ca-central-1 ca-central-1

Europa (Irlanda) aws-codedeploy-eu-west-1 eu-west-1

Europa (Londres) aws-codedeploy-eu-west-2 eu-west-2

Europa (Pariacutes) aws-codedeploy-eu-west-3 eu-west-3

Europa (Fraacutencfort) aws-codedeploy-eu-central-1 eu-central-1

Europa (Estocolmo) aws-codedeploy-eu-north-1 eu-north-1

Europa (Milaacuten) aws-codedeploy-eu-south-1 eu-south-1

Asia-Paciacutefico (Hong Kong) aws-codedeploy-ap-east-1 ap-east-1

Asia-Paciacutefico (Tokio) aws-codedeploy-ap-northeast-1 ap-northeast-1

Asia Pacific (Seoul) aws-codedeploy-ap-northeast-2 ap-northeast-2

Asia Pacific (Singapore) aws-codedeploy-ap-southeast-1 ap-southeast-1

Asia-Paciacutefico (Siacutedney) aws-codedeploy-ap-southeast-2 ap-southeast-2

Asia-Paciacutefico (Mumbai) aws-codedeploy-ap-south-1 ap-south-1

Ameacuterica del Sur (Satildeo Paulo) aws-codedeploy-sa-east-1 sa-east-1

Medio Oriente (Bareacutein) aws-codedeploy-me-south-1 me-south-1

Aacutefrica (Ciudad del Cabo) aws-codedeploy-af-south-1 af-south-1

AWS GovCloud (EE UU Este) aws-codedeploy-us-gov-east-1 us-gov-este-1

AWS GovCloud (EE UU Oeste) aws-codedeploy-us-gov-west-1 us-gov-oeste-1

Contenido del kit de recursosEn la siguiente tabla se muestran los archivos del kit de recursos de CodeDeploy

Archivos Descripcioacuten

LATEST_VERSION Archivo utilizado por mecanismos de actualizacioacutencomo Amazon EC2 Systems Manager paradeterminar la uacuteltima versioacuten del agente deCodeDeploy

VERSION El mecanismo de actualizacioacuten automaacutetica se haeliminado en el agente de CodeDeploy versioacuten110 y este archivo ya no se utiliza Archivoutilizado por los agentes de CodeDeploy paraactualizarse ya que se ejecutan en instancias

Versioacuten de API 2014-10-06450

AWS CodeDeploy Guiacutea del usuarioContenido del kit de recursos

Archivos Descripcioacuten

codedeploy-agentnoarchrpm El agente de CodeDeploy para Amazon Linux yRed Hat Enterprise Linux (RHEL) Puede habervarios archivos con el mismo nombre de archivo debase pero diferentes versiones (como -10-0)

codedeploy-agent_alldeb El agente de CodeDeploy para Ubuntu ServerPuede haber varios archivos con el mismo nombrede archivo de base pero diferentes versiones(como _10-0)

codedeploy-agentmsi El agente de CodeDeploy para Windows ServerPuede haber varios archivos con el mismo nombrede archivo de base pero diferentes versiones(como -10-0)

install Archivo que se puede utilizar para instalar elagente de CodeDeploy de con maacutes facilidad

CodeDeploy_SampleCF_Templatejson UnAWS CloudFormationplantilla que se puedeutilizar para lanzar entre una y tres instancias deAmazon EC2 que esteacuten ejecutando Amazon Linuxo Windows Server Puede haber varios archivoscon el mismo nombre de archivo de base perodiferentes versiones (como -100)

CodeDeploy_SampleCF_ELB_IntegrationjsonUna plantilla de AWS CloudFormation que puedeutilizar para crear un sitio web con equilibrio decarga que se ejecuta en un servidor web ApacheLa aplicacioacuten estaacute configurada para abarcar todaslas zonas de disponibilidad de la regioacuten en laque la creoacute Esta plantilla crea tres instanciasAmazon EC2 y el perfil de instancia de IAM paraconceder a las instancias acceso a los recursosde Amazon S3 Amazon EC2 Auto ScalingAWSCloudFormationy Elastic Load Balancing Tambieacutencrea el equilibrador de carga y un rol de servicio deCodeDeploy

SampleApp_ELB_Integrationzip Revisioacuten de aplicacioacuten de muestra implementableen una instancia de Amazon EC2 registrada en unbalanceador de carga de Elastic Load Balancing

SampleApp_Linuxzip Revisioacuten de aplicacioacuten de muestra implementableen una instancia de Amazon EC2 que esteacuteejecutando Amazon Linux o en una instanciade Ubuntu Server o RHEL Puede haber variosarchivos con el mismo nombre de archivo de basepero diferentes versiones (como -10)

SampleApp_Windowszip Revisioacuten de aplicacioacuten de muestra implementableen una instancia de Windows Server Puede habervarios archivos con el mismo nombre de archivo debase pero diferentes versiones (como -10)

Versioacuten de API 2014-10-06451

AWS CodeDeploy Guiacutea del usuarioMuestre una lista de los archivos del kit de recursos

Muestre una lista de los archivos del kit de recursosPara ver una lista de archivos utilice el comando aws s3 ls correspondiente a su regioacuten

Note

Los archivos de los buckets estaacuten disentildeados para funcionar con los recursos de su regioacutencorrespondiente

bullaws s3 ls --recursive s3aws-codedeploy-us-east-2 --region us-east-2

bullaws s3 ls --recursive s3aws-codedeploy-us-east-1 --region us-east-1

bullaws s3 ls --recursive s3aws-codedeploy-us-west-1 --region us-west-1

bullaws s3 ls --recursive s3aws-codedeploy-us-west-2 --region us-west-2

bullaws s3 ls --recursive s3aws-codedeploy-ca-central-1 --region ca-central-1

bullaws s3 ls --recursive s3aws-codedeploy-eu-west-1 --region eu-west-1

bullaws s3 ls --recursive s3aws-codedeploy-eu-west-2 --region eu-west-2

bullaws s3 ls --recursive s3aws-codedeploy-eu-west-3 --region eu-west-3

bullaws s3 ls --recursive s3aws-codedeploy-eu-central-1 --region eu-central-1

bullaws s3 ls --recursive s3aws-codedeploy-ap-east-1 --region ap-east-1

bullaws s3 ls --recursive s3aws-codedeploy-ap-northeast-1 --region ap-northeast-1

bullaws s3 ls --recursive s3aws-codedeploy-ap-northeast-2 --region ap-northeast-2

bullaws s3 ls --recursive s3aws-codedeploy-ap-southeast-1 --region ap-southeast-1

bullaws s3 ls --recursive s3aws-codedeploy-ap-southeast-2 --region ap-southeast-2

bullaws s3 ls --recursive s3aws-codedeploy-ap-south-1 --region ap-south-1

bullaws s3 ls --recursive s3aws-codedeploy-sa-east-1 --region sa-east-1

Descargue los archivos del kit de recursosPara descargar un archivo utilice el comando aws s3 cp correspondiente a su regioacuten

Note

Aseguacuterese de utilizar el punto () cerca del final Esto descarga el archivo en el directorio actual

Por ejemplo los siguientes comandos descargan un uacutenico archivo denominado SampleApp_Linuxzipde una de las carpetas sampleslatest de los buckets

Versioacuten de API 2014-10-06452

AWS CodeDeploy Guiacutea del usuarioDescargue los archivos del kit de recursos

bullaws s3 cp s3aws-codedeploy-us-east-2sampleslatestSampleApp_Linuxzip --region us-east-2

bullaws s3 cp s3aws-codedeploy-us-east-1sampleslatestSampleApp_Linuxzip --region us-east-1

bullaws s3 cp s3aws-codedeploy-us-west-1sampleslatestSampleApp_Linuxzip --region us-west-1

bullaws s3 cp s3aws-codedeploy-us-west-2sampleslatestSampleApp_Linuxzip --region us-west-2

bullaws s3 cp s3aws-codedeploy-ca-central-1sampleslatestSampleApp_Linuxzip --region ca-central-1

bullaws s3 cp s3aws-codedeploy-eu-west-1sampleslatestSampleApp_Linuxzip --region eu-west-1

bullaws s3 cp s3aws-codedeploy-eu-west-2sampleslatestSampleApp_Linuxzip --region eu-west-2

bullaws s3 cp s3aws-codedeploy-eu-west-3sampleslatestSampleApp_Linuxzip --region eu-west-3

bullaws s3 cp s3aws-codedeploy-eu-central-1sampleslatestSampleApp_Linuxzip --region eu-central-1

bullaws s3 cp s3aws-codedeploy-ap-east-1sampleslatestSampleApp_Linuxzip --region ap-east-1

bullaws s3 cp s3aws-codedeploy-ap-northeast-1sampleslatestSampleApp_Linuxzip --region ap-northeast-1

bullaws s3 cp s3aws-codedeploy-ap-northeast-2sampleslatestSampleApp_Linuxzip --region ap-northeast-2

bullaws s3 cp s3aws-codedeploy-ap-southeast-1sampleslatestSampleApp_Linuxzip --region ap-southeast-1

bullaws s3 cp s3aws-codedeploy-ap-southeast-2sampleslatestSampleApp_Linuxzip --region ap-southeast-2

bullaws s3 cp s3aws-codedeploy-ap-south-1sampleslatestSampleApp_Linuxzip --region ap-south-1

bullaws s3 cp s3aws-codedeploy-sa-east-1sampleslatestSampleApp_Linuxzip --region sa-east-1

Para descargar todos los archivos utilice uno de los siguientes comandos correspondientes a su regioacuten

bullaws s3 cp --recursive s3aws-codedeploy-us-east-2 --region us-east-2

Versioacuten de API 2014-10-06453

AWS CodeDeploy Guiacutea del usuarioLiacutemites

bullaws s3 cp --recursive s3aws-codedeploy-us-east-1 --region us-east-1

bullaws s3 cp --recursive s3aws-codedeploy-us-west-1 --region us-west-1

bullaws s3 cp --recursive s3aws-codedeploy-us-west-2 --region us-west-2

bullaws s3 cp --recursive s3aws-codedeploy-ca-central-1 --region ca-central-1

bullaws s3 cp --recursive s3aws-codedeploy-eu-west-1 --region eu-west-1

bullaws s3 cp --recursive s3aws-codedeploy-eu-west-2 --region eu-west-2

bullaws s3 cp --recursive s3aws-codedeploy-eu-west-3 --region eu-west-3

bullaws s3 cp --recursive s3aws-codedeploy-eu-central-1 --region eu-central-1

bullaws s3 cp --recursive s3aws-codedeploy-ap-east-1 --region ap-east-1

bullaws s3 cp --recursive s3aws-codedeploy-ap-northeast-1 --region ap-northeast-1

bullaws s3 cp --recursive s3aws-codedeploy-ap-northeast-2 --region ap-northeast-2

bullaws s3 cp --recursive s3aws-codedeploy-ap-southeast-1 --region ap-southeast-1

bullaws s3 cp --recursive s3aws-codedeploy-ap-southeast-2 --region ap-southeast-2

bullaws s3 cp --recursive s3aws-codedeploy-ap-south-1 --region ap-south-1

bullaws s3 cp --recursive s3aws-codedeploy-sa-east-1 --region sa-east-1

liacutemites de CodeDeployEn la siguiente tabla se describen los liacutemites en CodeDeploy

Note

PuedeSolicitar un aumento de liacutemitepara la CodeDeploy liacutemites enumerados enAWSliacutemites de losserviciosen laReferencia general de Amazon Web Services No se puede incrementar el liacutemite dela cantidad de horas de ejecucioacuten de una implementacioacuten

Temasbull Aplicaciones (p 455)bull Revisiones de aplicaciones (p 455)bull Implementaciones (p 455)bull Configuraciones de implementacioacuten (p 457)bull Grupos de implementaciones (p 457)bull Instancias (p 458)

Versioacuten de API 2014-10-06454

AWS CodeDeploy Guiacutea del usuarioAplicaciones

Aplicaciones

Cantidad maacutexima de aplicaciones asociadas a unacuenta de AWS en una uacutenica regioacuten

1 000

Cantidad maacutexima de caracteres en un nombre deaplicacioacuten

100

Caracteres permitidos en un nombre de aplicacioacuten Letras (a-z A-Z) nuacutemeros (0-9) puntos ()subrayado (_) + (signo de maacutes) = (signo de igual) (coma) (signo de arroba) - (signo de menos)

Cantidad maacutexima de aplicaciones que se puedenpasar a la accioacuten BatchGetApplications de la API

100

Nuacutemero maacuteximo de GitHub tokens de conexioacutenpara una solaAWScuenta

25

Revisiones de aplicaciones

Cantidad maacutexima de caracteres en un nombre derevisioacuten de aplicacioacuten

100

Tipos de archivo permitidos para revisiones deaplicaciones EC2On-Premises

Archivos con la extensioacuten zip o tar y archivoscomprimidos con la extensioacuten targz

Archivo o archivo comprimido compatible conCodeDeploy debe contener un uacutenico archivo deespecificacioacuten de aplicacioacuten (archivo AppSpec) conel nombre de archivoappspecyml

Tipos de archivo permitidos paraAWSRevisionesde aplicaciones Lambda y Amazon ECS

Una sola AppSpec archivo con el nombre dearchivoappspecyaml o un archivo comprimidocon la extensioacutenzipotargzque contieneun solo AppSpec archivo con el nombre dearchivoappspecyaml

Implementaciones

Cantidad maacutexima de implementacionessimultaacuteneas en un grupo de implementacionessup1

1

Cantidad maacutexima de implementacionessimultaacuteneas asociadas a una cuenta de AWSsup2

100

Nuacutemero maacuteximo de horas que se puede ejecutaruna implementacioacuten in situ de EC2On-Premises

8

Nuacutemero maacuteximo de horas entre la implementacioacutende una revisioacuten y el desviacuteo del traacutefico al entorno desustitucioacuten durante una implementacioacuten EC2On-Premises

48

Versioacuten de API 2014-10-06455

AWS CodeDeploy Guiacutea del usuarioImplementaciones

Nuacutemero maacuteximo de horas entre la implementacioacutende una revisioacuten y el desviacuteo del traacutefico al entorno desustitucioacuten durante una implementacioacuten bluegreende Amazon ECS

120

Nuacutemero maacuteximo de horas entre la finalizacioacuten deuna implementacioacuten y la terminacioacuten del entornooriginal durante una implementacioacuten bluegreen deEC2On-Premises o Amazon ECS

48

Nuacutemero maacuteximo de horas que se puede ejecutaruna implementacioacuten bluegreen de EC2On-Premises

109 (48 para cada uno de los dos liacutemitesanteriores) maacutes una hora por cada uno de los 13eventos de ciclo de vida posibles

Nuacutemero maacuteximo de horasAWSSe puede ejecutarla implementacioacuten de Lambda

50 (48 horas para el tiempo maacuteximo entre el primery el uacuteltimo desviacuteo de traacutefico maacutes una hora porcada uno de los dos enlaces de ciclo de vidaposibles)

Nuacutemero maacuteximo de segundos hasta que seconsidere que un evento de ciclo de vida deimplementacioacuten ha fallado si no se ha completado

3600

Cantidad maacutexima de caracteres en una descripcioacutende implementacioacuten

256

Cantidad maacutexima de implementaciones que sepueden pasar a la accioacuten BatchGetDeployments dela API

100

Nuacutemero maacuteximo de minutos hasta que se produceun error en la implementacioacuten si un evento del ciclode vida no comienza despueacutes de

bull Una implementacioacuten se activa utilizandola consola o laAWS CLI create-Deploymentcomando

bull El evento del ciclo de vida anterior se hacompletado

5

Nuacutemero maacuteximo de minutos que unaimplementacioacuten bluegreen (azulverde)pueden esperar despueacutes de una implementacioacutensatisfactoria antes de finalizar las instancias de laimplementacioacuten original

2800

Nuacutemero maacuteximo de agentes de escucha en unaruta de traacutefico durante una implementacioacuten deAmazon ECS

1

Versioacuten de API 2014-10-06456

AWS CodeDeploy Guiacutea del usuarioConfiguraciones de implementacioacuten

sup1 Este liacutemite estaacute pensado para evitar implementaciones simultaacuteneas accidentales de la mismaaplicacioacuten en el mismo grupo de implementaciones

sup2 Cada implementacioacuten en una instancia de Amazon EC2 ampliada en un grupo de Amazon EC2 AutoScaling cuenta como una uacutenica implementacioacuten simultaacutenea Si la instancia de Amazon EC2 ampliada seasocia a varias aplicaciones se genera una implementacioacuten simultaacutenea adicional para cada aplicacioacutenPor ejemplo un grupo de Amazon EC2 Auto Scaling que aumente a cinco sus instancias de AmazonEC2 y que esteacute asociado a una sola aplicacioacuten podriacutea generar cinco implementaciones simultaacuteneas Silas mismas instancias de Amazon EC2 incrementadas se asociaran a dos aplicaciones adicionales segeneraran diez implementaciones simultaacuteneas adicionales

Configuraciones de implementacioacuten

Cantidad maacutexima de configuraciones deimplementacioacuten personalizadas asociadas a unacuenta de AWS

50

Valores permitidos para una configuracioacuten conun miacutenimo de instancias en buen estado deHOST_COUNT

Cualquier entero positivo o 0 (cero) Cero (0)resultados en la implementacioacuten en todas lasinstancias a la vez

Valores permitidos para una configuracioacuten conun miacutenimo de instancias en buen estado deFLEET_PERCENT

Cualquier entero positivo menor que 100 o 0(cero) Cero (0) resultados en la implementacioacuten entodas las instancias a la vez

Cantidad maacutexima de caracteres en un nombre deconfiguracioacuten de implementacioacuten personalizada

100

Caracteres permitidos en un nombre deconfiguracioacuten de la implementacioacuten personalizada

Letras (a-z A-Z) nuacutemeros (0-9) puntos ()subrayado (_) + (signo de maacutes) = (signo de igual) (coma) (signo de arroba) - (signo de menos)

Prefijos no permitidos en un nombre deconfiguracioacuten de implementacioacuten personalizada

CodeDeployDefault

Nuacutemero maacuteximo de minutos entre elprimer y el uacuteltimo desviacuteo de traacutefico duranteunaAWSDespliegue canario o lineal de Lambda

2 880

Porcentaje maacuteximo de traacutefico que se puede desviaren un incremento durante unaAWSImplementacioacutende Lambda que usa una configuracioacuten deimplementacioacuten laquocanaryraquo o laquolinearraquo

99

Grupos de implementaciones

Cantidad maacutexima de grupos de implementacionesasociados a una sola aplicacioacuten

1 000

Cantidad maacutexima de etiquetas en un grupo deimplementaciones

10

Versioacuten de API 2014-10-06457

AWS CodeDeploy Guiacutea del usuarioInstancias

Cantidad maacutexima de grupos de Amazon EC2 AutoScaling en un grupo de implementaciones

10

Cantidad maacutexima de caracteres en un nombre degrupo de implementaciones

100

Caracteres permitidos en un nombre de grupo deimplementaciones

Letras (a-z A-Z) nuacutemeros (0-9) puntos ()subrayado (_) + (signo de maacutes) = (signo de igual) (coma) (signo de arroba) - (signo de menos)

Cantidad maacutexima de disparadores denotificaciones de eventos en un grupo deimplementaciones

10

Cantidad maacutexima de grupos de implementacionesque se pueden asociar a un servicio de AmazonECS

1

Instancias

Cantidad maacutexima de instancias de una uacutenicaimplementacioacuten

500

Cantidad maacutexima de caracteres en una clave deetiqueta

128

Cantidad maacutexima de caracteres en un valor deetiqueta

256

Cantidad maacutexima de instancias que se puedenpasar a la accioacuten BatchGetOnPremisesInstancesde la API

100

Nuacutemero maacuteximo de instancias que pueden utilizarlas implementaciones simultaacuteneas en curso y queestaacuten asociadas con una cuenta

500

Versioacuten necesaria deAWS SDK for Ruby 212o anteriores para CodeDeploy versiones deagente anteriores a la 101880

22o anteriores para CodeDeploy agente deversioacuten 101880 y posteriores

Versioacuten de API 2014-10-06458

AWS CodeDeploy Guiacutea del usuarioSolucioacuten de problemas generales

Solucioacuten de problemas deCodeDeploy

Utilice los temas de esta seccioacuten para ayudarle a solucionar problemas y errores que pueda encontrar alutilizar CodeDeploy

Note

Puede identificar las causas de muchos errores de implementacioacuten revisando los archivos logcreados durante el proceso de implementacioacuten Para simplificar recomendamos utilizar AmazonCloudWatch Registros para monitorizar de forma centralizada los archivos de log en lugar dehacerlo en cada instancia Para obtener informacioacuten consulte Monitoring Deployments withAmazon CloudWatch Tools (p 360)

Temasbull Solucioacuten de problemas generales (p 459)bull Solucioacuten de problemas de implementacioacuten EC2On-premises (p 462)bull SolucionarAWSProblemas de implementacioacuten de Lambda (p 471)bull Solucioacuten de problemas de grupos de implementaciones (p 472)bull Solucioacuten de problemas de instancias (p 472)bull Solucionar GitHub Problemas con token (p 474)bull Solucioacuten de problemas de Amazon EC2 Auto Scaling (p 475)bull Coacutedigos de error deAWS CodeDeploy (p 486)

Solucioacuten de problemas generalesTemas

bull Lista de comprobacioacuten de solucioacuten de problemas generales (p 459)bull Los recursos de implementacioacuten de CodeDeploy solo se admiten en algunosAWSRegiones

de (p 461)bull Los procedimientos de esta guiacutea no sirven para la consola de CodeDeploy (p 461)bull Los roles de IAM necesarios no estaacuten disponibles (p 461)bull El uso de algunos editores de texto para crear archivos AppSpec y scripts del shell produce un error en

las implementaciones (p 461)bull El uso de Finder en macOS para empaquetar una revisioacuten de la aplicacioacuten puede producir un error en

la implementacioacuten (p 462)

Lista de comprobacioacuten de solucioacuten de problemasgeneralesPuede utilizar la siguiente lista de comprobacioacuten para solucionar un error en la implementacioacuten

Versioacuten de API 2014-10-06459

AWS CodeDeploy Guiacutea del usuarioLista de comprobacioacuten de solucioacuten de problemas generales

1 Consulte Ver detalles de implementacioacuten de CodeDeploy (p 340) y View Instance Details (p 258) paradeterminar por queacute se produjo un error en la implementacioacuten Si no puede determinar la causa reviselos elementos de esta lista de comprobacioacuten

2 Compruebe si ha configurado correctamente las instanciasbull iquestSe ha lanzado la instancia con un key pair EC2 especificadas Para obtener maacutes informacioacuten

consultePares de claves EC2enGuiacutea del usuario de Amazon EC2 para instancias de Linuxbull iquestSe ha asociado a la instancia el perfil de instancia de IAM correcto Para obtener maacutes informacioacuten

consulte Configurar una instancia de Amazon EC2 para que funcione con CodeDeploy (p 228) yPaso 4 Crear un perfil de instancias de IAM para sus instancias Amazon EC2 (p 43)

bull iquestSe ha etiquetado la instancia Para obtener maacutes informacioacuten consulteTrabajo con etiquetas en laconsolaenGuiacutea del usuario de Amazon EC2 para instancias de Linux

bull iquestEs el CodeDeploy agente de instalado actualizado y ejecutaacutendose en la instancia Para obtenermaacutes informacioacuten consulte Administracioacuten de operaciones del agente de CodeDeploy (p 186) Paracomprobar queacute versioacuten del agente estaacute instalada consulteDeterminar la versioacuten del agente deCodeDeploy (p 188)

3 Compruebe la configuracioacuten de la aplicacioacuten y del grupo de implementacionesbull Para comprobar la configuracioacuten de la aplicacioacuten consulte Ver detalles de la aplicacioacuten con

CodeDeploy (p 282)bull Para comprobar la configuracioacuten del grupo de implementaciones consulte Ver detalles del grupo de

implementacioacuten con CodeDeploy (p 300)4 Confirme que la revisioacuten de la aplicacioacuten estaacute configurada correctamente

bull Compruebe el formato de su AppSpec file Para obtener maacutes informacioacuten consulte Agregar unarchivo de especificacioacuten de aplicacioacuten a una revisioacuten de CodeDeploy (p 308) y Referencia delarchivo CodeDeploy AppSpec (p 407)

bull Compruebe el bucket de Amazon S3 o GitHub repositorio para verificar que la revisioacuten de laaplicacioacuten se encuentra en la ubicacioacuten prevista

bull Revise los detalles de CodeDeploy revisioacuten de la aplicacioacuten para asegurarse de que estaacute registradacorrectamente Para obtener informacioacuten consulte Ver detalles de una revisioacuten de aplicacioacuten conCodeDeploy (p 319)

bull Si va a realizar la implementacioacuten desde Amazon S3 compruebe el bucket de Amazon S3 paraverificar CodeDeploy a se le han concedido permisos para descargar la revisioacuten de la aplicacioacutenPara obtener informacioacuten sobre las poliacuteticas de buckets consulte Requisitos previos para laimplementacioacuten (p 324)

bull Si vas a desplegar desde GitHub revisa tu GitHub repositorio para verificar que a CodeDeployse le han concedido permisos para descargar la revisioacuten de la aplicacioacuten Para obtener maacutesinformacioacuten consulte Cree una implementacioacuten con CodeDeploy (p 324) y Autenticacioacuten de GitHubcon aplicaciones en CodeDeploy (p 64)

5 Compruebe si el rol de servicio estaacute configurado correctamente Para obtener informacioacuten consultePaso 2 Creacioacuten de un rol de servicio para CodeDeploy (p 36)

6 Confirme que ha seguido los pasos de Introduccioacuten a CodeDeploy (p 35) parabull Asocie poliacuteticas al usuario de IAMbull Instalar o actualizar y configurar la AWS CLIbull Crear un perfil de instancia de IAM y un rol de servicio de

Para obtener maacutes informacioacuten consulte Identity and Access Management en AWSCodeDeploy (p 378)

7 Confirme que estaacute usando la versioacuten de la AWS CLI 161 o posterior Para comprobar la versioacuten quetiene instalada llame a aws --version

Si sigue sin poder solucionar el error de la implementacioacuten consulte los otros puntos de este temaVersioacuten de API 2014-10-06

460

AWS CodeDeploy Guiacutea del usuarioLos recursos de implementacioacuten de CodeDeploy

solo se admiten en algunosAWSRegiones de

Los recursos de implementacioacuten de CodeDeploy solose admiten en algunosAWSRegiones deSi no ve o no puede tener acceso a aplicaciones grupos de implementaciones instancias u otros recursosde implementacioacuten desde elAWS CLIo el CodeDeploy Consola aseguacuterese de que hace referencia a unode losAWSRegiones que se enumeran enRegioacuten y puntos de enlaceenAWSReferencia general de

Instancias EC2 y grupos de Auto Scaling de Amazon EC2 que se utilizan en CodeDeploy Lasimplementaciones deben lanzarse y crearse en una de estasAWSRegiones

Si utiliza la AWS CLI ejecute el comando aws configure desde la AWS CLI Despueacutes podraacute ver yconfigurar el valor predeterminadoAWSRegioacuten

Si utiliza el CodeDeploy consola en la barra de navegacioacuten desde el selector de regiones elija una de lasopciones admitidasAWSRegiones

Important

Para utilizar servicios en la regioacuten de China (Pekiacuten) o China (Ningxia) Region debe disponer deuna cuenta y de credenciales para dichas regiones Cuentas y credenciales de otrosAWSLasregiones de Pekiacuten y Ningxia no funcionan para las regiones de Pekiacuten y Ningxia y viceversaInformacioacuten sobre algunos recursos para las regiones de China tales como CodeDeploy Nombresde bucket del kit de recursos y CodeDeploy procedimientos de instalacioacuten del agente no seincluyen en esta edicioacuten delGuiacutea del usuario de CodeDeployPara obtener maacutes informacioacuten

bull CodeDeployenIntroduccioacuten aAWSen la regioacuten China (Pekiacuten)bull Guiacutea del usuario de CodeDeploy para las regiones de China(Versioacuten inglesa|Versioacuten china)

Los procedimientos de esta guiacutea no sirven para laconsola de CodeDeployLos procedimientos de esta guiacutea se han disentildeado para reflejar el nuevo disentildeo de la consola Si utiliza laversioacuten anterior de la consola muchos de los conceptos y procedimientos baacutesicos de esta guiacutea se siguenaplicando Para obtener acceso a ayuda en la nueva consola elija el icono de informacioacuten

Los roles de IAM necesarios no estaacuten disponiblesSi utiliza un perfil de instancia de IAM o un rol de servicio que se creoacute como parte de unAWSCloudFormationstack si elimina la pila tambieacuten se eliminan todos los roles de IAM Este puede ser elmotivo por el que el rol de IAM ya no se muestre en la consola de IAM y CodeDeploy ya no funciona seguacutenlo previsto Para solucionar este problema debe volver a crear manualmente el rol de IAM eliminado

El uso de algunos editores de texto para creararchivos AppSpec y scripts del shell produce un erroren las implementacionesAlgunos editores de texto introducen en los archivos caracteres no imprimibles que no se admiten Si utilizaeditores de texto para crear o modificar AppSpec archivos de script del shell que se van a ejecutar en

Versioacuten de API 2014-10-06461

AWS CodeDeploy Guiacutea del usuarioEl uso de Finder en macOS para empaquetar

una revisioacuten de la aplicacioacuten puedeproducir un error en la implementacioacuten

instancias de Amazon Linux Ubuntu Server o RHEL por tanto las implementaciones que utilizan estosarchivos podriacutean producir un error Cuando CodeDeploy utiliza estos archivos durante una implementacioacutenla presencia de estos caracteres puede provocar hard-to-troubleshoot Fallos de validacioacuten de archivos deAppSpec y errores de ejecucioacuten de scripts

En el navegador CodeDeploy consola en la paacutegina de detalles del evento de la implementacioacuten elijaVerregistros (O utiliza elAWS CLIpara llamar aget-deployment-instancecomando) Busque errores comoinvalid character command not found o file not found

Para solucionar este problema le recomendamos lo siguiente

bull No utilice editores de texto que introduzcan caracteres no imprimibles como los retornos de carro(^Mpersonajes) en tu AppSpec archivos y archivos de script shell

bull Utilice editores de texto que muestren los caracteres no imprimibles como los retornos de carro en suAppSpec archivos y archivos de script del shell para que pueda buscar y eliminar aquellos archivos quese hayan podido introducir Para ver ejemplos de estos tipos de editores de texto busque en Internet eleditor de texto muestra los retornos de carro

bull Utilice editores de texto que se ejecuten en instancias de Amazon Linux Ubuntu Server o RHEL paracrear archivos de script del shell que se ejecuten en instancias de Amazon Linux Ubuntu Server oRHEL Para ver ejemplos de estos tipos de editores de texto busque en Internet editor de script de shellde Linux

bull Si debe utilizar un editor de texto en Windows o macOS para crear archivos de script del shell que sevan a ejecutar en instancias de Amazon Linux Ubuntu Server o RHEL use un programa o una utilidadque convierta el texto en formato Windows o macOS en formato Unix Para ver ejemplos de estosprogramas y utilidades busque en Internet de DOS a UNIX o de Mac a UNIX Aseguacuterese de probarlos archivos del shell convertidos en los sistemas operativos de destino

El uso de Finder en macOS para empaquetar unarevisioacuten de la aplicacioacuten puede producir un error en laimplementacioacutenLas implementaciones podriacutean producir un error si usa la aplicacioacuten de interfaz de usuario graacutefica(GUI) Finder en un Mac para empaquetar (zip) un AppSpec archivo y archivos y scripts relacionadosen un archivo de archivos de revisioacuten de aplicaciones (zip) Esto se debe a que Finder crea unintermedio__MACOSXen el archivo zip y coloca archivos de componentes en ella CodeDeploy no puedeencontrar los archivos de componentes y la implementacioacuten produce un error

Para solucionar este problema le recomendamos que utilice elAWS CLIpara llamar apush que comprimelos archivos de componentes en la estructura prevista Otra opcioacuten es usar Terminal en lugar de la GUIpara comprimir los archivos de componentes Terminal no crea una carpeta __MACOSX intermedia

Solucioacuten de problemas de implementacioacuten EC2On-premises

Temasbull El agente de CodeDeploy no se inicia en Windows 2016 (p 463)bull Error de falta de credenciales en el complemento CodeDeploy CommandPoller (p 464)bull La implementacioacuten produce un error con el mensaje ldquoValidation of PKCS7 signed message

failedrdquo (p 464)

Versioacuten de API 2014-10-06462

AWS CodeDeploy Guiacutea del usuarioEl agente de CodeDeploy no se inicia en Windows 2016

bull La implementacioacuten o la reimplementacioacuten de los mismos archivos en la misma instancia producen elerror The deployment failed because a specified file already exists at this location (p 464)

bull Los procesos de larga duracioacuten pueden producir un error en la implementacioacuten (p 466)bull Solucioacuten de problemas AllowTraffic Evento de ciclo de vida sin ninguacuten error en los logs de

implementacioacuten (p 467)bull Solucioacuten de problemas con un error ApplicationStop BeforeBlockTraffic o AfterBlockTraffic evento del

ciclo de vida de la implementacioacuten (p 468)bull Solucioacuten de problemas DownloadBundle evento de ciclo de vida de la implementacioacuten con

UnknownError no abierto para lectura (p 469)bull Solucioacuten de problemas cuando se omiten todos los eventos del ciclo de vida (p 469)bull Windows PowerShell Los scripts no pueden utilizar la versioacuten de 64 bits de Windows PowerShell de

forma predeterminada (p 471)

Note

Las causas de muchos errores de implementacioacuten pueden identificarse revisando los archivos logcreados durante el proceso de implementacioacuten Para simplificar recomendamos utilizar AmazonCloudWatch Registros para monitorizar de forma centralizada los archivos de log en lugar dehacerlo en cada instancia Para obtener informacioacuten consulteVista CodeDeploy Logs de enCloudWatch Consola de registros

El agente de CodeDeploy no se inicia en Windows2016Al ejecutar el CodeDeploy archivo instalador del agente (CodeDeploy-agentmsi) en Windows2016 el archivomsi no se inicia y aparece el siguiente error enCWindowsTEMPCodeDeploy-agentmsi_installerlog

Error 1920 Service CodeDeploy Host Agent Service (CodeDeployagent) failed tostart Verify that you have sufficient privileges to start system services

Este error se produce porque el software antivirus de Windows Defender bloquea elCodeDeploy-agentmsique se ejecute

Para resolver este problema debe agregar exclusiones de Windows Defender antes de ejecutar elinstalador del agente de

Para agregar exclusiones de Windows Defender

1 Utilice las siguientes instrucciones de Powershell para agregar las exclusiones Aseguacuterese deejecutarlos como administrador

Write-Host (Adding Windows Defender exclude for CodeDeploy)Add-MpPreference -ExclusionPath (CProgramDataAmazonCodeDeploy$envwindirTemp)

2 Antildeada las exclusiones antes de la instalacioacuten del agente como parte de la AMI personalizada ocon Systems Manager Si va a instalar el agente como parte de los datos de usuario agregue lasexclusiones un paso antes del script de instalacioacuten del agente

Para obtener maacutes informacioacuten consulteInstale el agente de CodeDeploy para WindowsServer (p 193)Ejecucioacuten de comandos con Run Command de Systems Manager yEjecutarcomandos en la instancia de Windows durante el lanzamiento

Versioacuten de API 2014-10-06463

AWS CodeDeploy Guiacutea del usuarioError de falta de credenciales en el

complemento CodeDeploy CommandPoller

Error de falta de credenciales en el complementoCodeDeploy CommandPollerSi aparece un error similar a InstanceAgentPluginsCodeDeployPluginCommandPollerMissing credentials - please check if this instance was started with an IAMinstance profile podriacutea deberse a una de las siguientes causas

bull La instancia en la que va a implementar no tiene un perfil de instancia de IAM asociadobull El perfil de instancia de IAM no tiene los permisos correctos configurado

Un perfil de instancia de IAM otorga el CodeDeploy permiso del agente de para comunicarse conCodeDeploy y para descargar la revisioacuten desde Amazon S3 Para las instancias EC2 consulte Identity andAccess Management en AWS CodeDeploy (p 378) En el caso de las instancias locales consulte Workingwith On-Premises Instances (p 230)

La implementacioacuten produce un error con el mensajeldquoValidation of PKCS7 signed message failedrdquoEste mensaje de error indica que la instancia estaacute ejecutando una versioacuten del CodeDeploy agente deque solo admite el algoritmo hash SHA-1 La Support el algoritmo hash SHA-2 se introdujo en la versioacuten101854 del CodeDeploy agente lanzado en noviembre de 2015 A partir del 17 de octubre de 2016 lasimplementaciones producen un error si una versioacuten del CodeDeploy El agente de anterior a la 101854estaacute instalado Para obtener maacutes informacioacuten consulteAWSpara cambiar al algoritmo hash SHA256 paracertificados SSLAVISO Retirar CodeDeploy agentes host anteriores a la versioacuten 10185 yActualizacioacutendel agente de CodeDeploy (p 198)

La implementacioacuten o la reimplementacioacuten de losmismos archivos en la misma instancia producen elerror The deployment failed because a specified filealready exists at this locationCuando CodeDeploy intenta implementar un archivo en una instancia pero ya existe un archivo conel mismo nombre en la ubicacioacuten de destino especificada la implementacioacuten en dicha instancia podriacuteaproducir un error Es posible que aparezca el mensaje de error The deployment failed because a specifiedfile already exists at this location nombre-ubicacioacuten (Se produjo un error en la implementacioacuten porqueun archivo especificado ya existe en esta ubicacioacuten nombre-ubicacioacuten) Esto se debe a que durante cadaimplementacioacuten CodeDeploy elimina primero todos los archivos de la implementacioacuten anterior que seenumeran en un archivo log de limpieza Si hay archivos en las carpetas de instalacioacuten de destino que nofiguran en este archivo de limpieza la CodeDeploy agente interpreta esto de forma predeterminada comoun error y falla la implementacioacuten

Note

En instancias de Amazon Linux RHEL y Ubuntu Server el archivo de limpieza se encuentraenoptCodeDeploy-agentdeployment-rootdeployment-instructions Enlas instancias de Windows Server la ubicacioacuten esCProgramDataAmazonCodeDeploydeployment-instructions

La forma maacutes sencilla de evitar este error es especificar una opcioacuten distinta del comportamiento de errorpredeterminado de la implementacioacuten Para cada implementacioacuten puede elegir si la implementacioacuten

Versioacuten de API 2014-10-06464

AWS CodeDeploy Guiacutea del usuarioLa implementacioacuten o la reimplementacioacuten delos mismos archivos en la misma instancia

producen el error The deployment failed becausea specified file already exists at this locationproduce un error si se sobrescriben los archivos no incluidos en el archivo de limpieza o si se conservan

los archivos que ya estaacuten en la instancia

La opcioacuten de sobrescritura resulta uacutetil cuando por ejemplo coloca manualmente un archivo en unainstancia despueacutes de la uacuteltima implementacioacuten pero despueacutes antildeade un archivo con el mismo nombre a lasiguiente revisioacuten de la aplicacioacuten

Puede elegir la opcioacuten de conservacioacuten para los archivos que coloca en la instancia que desea que formenparte de la siguiente implementacioacuten sin tener que antildeadirlos al paquete de revisioacuten de la aplicacioacutenLa opcioacuten de conservacioacuten tambieacuten es uacutetil si los archivos de la aplicacioacuten ya estaacuten en el entorno deproduccioacuten y desea implementarlos utilizando CodeDeploy por primera vez Para obtener maacutes informacioacutenconsulte Crear una implementacioacuten de Compute Platform (consola) de EC2On-Premises (p 329) yComportamiento de reversioacuten con contenido existente (p 347)

Solucioacuten de errores de implementacioacuten The deploymentfailed because a specified file already existsat this location

Si decide no especificar una opcioacuten para sobrescribir o conservar el contenido que CodeDeploy detectaen las ubicaciones de implementacioacuten de destino (o si no se especifica ninguna opcioacuten de implementacioacutenpara el tratamiento del contenido existente en un comando del coacutedigo) puede elegir solucionar el error

Esta informacioacuten se aplica uacutenicamente si decide no conservar ni sobrescribir el contenido

Si intenta volver a implementar archivos con los mismos nombres y ubicaciones la nueva implementacioacutentendraacute maacutes probabilidades de que se realice con eacutexito si especifica el nombre de aplicacioacuten y el grupo deimplementaciones con el mismo ID del grupo de implementaciones subyacente que usoacute anteriormenteCodeDeploy utiliza el ID del grupo de implementaciones subyacente para identificar los archivos que sedeben eliminar antes de volver a realizar la implementacioacuten

La implementacioacuten de nuevos archivos o la reimplementacioacuten de los mismos archivos en las mismasubicaciones de las instancias pueden producir un error por estas razones

bull Ha especificado un nombre de aplicacioacuten distinto para la reimplementacioacuten de la misma revisioacuten enlas mismas instancias La nueva implementacioacuten produce un error porque aunque el nombre del grupode implementaciones sea el mismo el uso de un nombre de aplicacioacuten diferente significa que se estaacuteusando un ID de grupo de implementaciones subyacente distinto

bull Ha eliminado y ha vuelto a crear un grupo de implementaciones para una aplicacioacuten y a continuacioacutenha intentado volver a implementar la misma revisioacuten en el grupo de implementaciones La nuevaimplementacioacuten produce un error porque aunque el nombre del grupo de implementaciones sea elmismo CodeDeploy hace referencia a un ID de grupo de implementaciones subyacente distinto

bull Ha eliminado una aplicacioacuten y un grupo de implementaciones en CodeDeploy y a continuacioacutenha creado una nueva aplicacioacuten y grupo de implementaciones con los mismos nombres que losque ha eliminado A continuacioacuten ha intentado implementar de nuevo una revisioacuten que se habiacuteaimplementado en el grupo de implementaciones anterior en el nuevo grupo con el mismo nombreLa nueva implementacioacuten produce un error porque aunque los nombres de la aplicacioacuten y del grupode implementaciones sean los mismos CodeDeploy sigue haciendo referencia al ID del grupo deimplementacioacuten que ha eliminado

bull Ha implementado una revisioacuten en un grupo de implementaciones y despueacutes ha implementado la mismarevisioacuten en otro grupo de implementaciones en las mismas instancias La segunda implementacioacutenproduce un error porque CodeDeploy hace referencia a un ID de grupo de implementaciones subyacentedistinto

bull Ha implementado una revisioacuten en un grupo de implementaciones y despueacutes ha implementado otrarevisioacuten en otro grupo de implementaciones en las mismas instancias Hay al menos un archivo con elmismo nombre y en la misma ubicacioacuten en la que el segundo grupo de implementaciones intenta realizarla implementacioacuten La segunda implementacioacuten falla porque CodeDeploy no elimina el archivo existente

Versioacuten de API 2014-10-06465

AWS CodeDeploy Guiacutea del usuarioLos procesos de larga duracioacuten puedenproducir un error en la implementacioacuten

antes de que comience la segunda implementacioacuten Ambas implementaciones hacen referencia aidentificadores de grupo de implementaciones diferentes

bull Ha implementado una revisioacuten en CodeDeploy pero hay al menos un archivo con el mismo nombre y enla misma ubicacioacuten La implementacioacuten falla porque de forma predeterminada CodeDeploy no eliminael archivo existente antes de que comience la implementacioacuten

Para solucionar estas situaciones proceda del modo siguiente

bull Elimine los archivos de las ubicaciones e instancias en las que aplicaron anteriormenteimplementaciones e intente realizar de nuevo la implementacioacuten

bull En la paacutegina de tu revisioacuten AppSpec ya sea en el ApplicationStop o BeforeInstall eventos del ciclode vida de la implementacioacuten especifique un script personalizado para eliminar archivos en todas lasubicaciones que coincidan con los archivos que la revisioacuten va a instalar

bull Implemente o reimplemente los archivos en ubicaciones o instancias que no formaron parte deimplementaciones anteriores

bull Antes de eliminar una aplicacioacuten o un grupo de implementaciones implemente una revisioacuten quecontenga un AppSpec que no especifica ninguacuten archivo para copiar en las instancias Para laimplementacioacuten especifique el nombre de aplicacioacuten y el nombre del grupo de implementaciones queusan los mismos identificadores de aplicacioacuten y grupo de implementaciones que los que estaacute a punto deeliminar (Puede utilizar elget-deployment-grouppara recuperar el ID del grupo de implementaciones)CodeDeploy utiliza el ID del grupo de implementaciones subyacente y AppSpec para eliminar todos losarchivos que instaloacute en la implementacioacuten anterior realizada correctamente

Los procesos de larga duracioacuten pueden producir unerror en la implementacioacutenPara las implementaciones en instancias de Amazon Linux Ubuntu Server y RHEL si tiene un script deimplementacioacuten que inicia un proceso de larga duracioacuten CodeDeploy puede dedicar mucho tiempo aesperar al evento de ciclo de vida de la implementacioacuten y se produciraacute un error en la implementacioacuten Estose debe a que si el proceso se ejecuta durante maacutes tiempo que el tiempo previsto de ejecucioacuten de losprocesos en primer y segundo plano de ese evento CodeDeploy detiene la implementacioacuten aunque elproceso siga ejecutaacutendose seguacuten lo previsto

Suponga por ejemplo que la revisioacuten de la aplicacioacuten contiene dos archivos en su raiacutez after-installsh y sleepsh Su AppSpec El archivo contiene las siguientes instrucciones

version 00os linuxfiles - source sleepsh destination tmphooks AfterInstall - location after-installsh timeout 60

Laafter-installshse ejecuta durante el AfterInstall ciclo de vida de la aplicacioacuten Este es sucontenido

binbashtmpsleepsh

El archivo sleepsh contiene lo siguiente que suspende la ejecucioacuten del programa durante tres minutos(180 segundos) lo que simula un proceso de larga duracioacuten

Versioacuten de API 2014-10-06466

AWS CodeDeploy Guiacutea del usuarioSolucioacuten de problemas AllowTraffic Evento de ciclo de

vida sin ninguacuten error en los logs de implementacioacuten

binbashsleep 180

Cuandoafter-installshllama asleepshsleepshse inicia y se ejecuta durante tres minutos(180 segundos) que es dos minutos maacutes (120 segundos) que transcurren el tiempo CodeDeployesperasleepsh(y por relacioacutenafter-installsh) para dejar de correr Tras el tiempo de espera deun minuto (60 segundos) CodeDeploy detiene y falla la implementacioacuten en el AfterInstall evento del ciclode vida de la aplicacioacuten aunquesleepshsigue funcionando como se esperaba Se muestra el siguienteerror

Script at specified location after-installsh failed to complete in 60 seconds

No basta con antildeadir un signo de ampersand (amp) en after-installsh para ejecutar sleepsh ensegundo plano

binbash Do not do thistmpsleepsh amp

Si hace eso la implementacioacuten se quedaraacute en un estado pendiente hasta el periacuteodo de tiempo de esperapredeterminado del evento de ciclo de vida de la implementacioacuten despueacutes de lo cual CodeDeploy detieney falla la implementacioacuten en el AfterInstall evento del ciclo de vida de la aplicacioacuten como antes

Enafter-installsh llame asleepshde la siguiente manera que permite CodeDeploy Paracontinuar despueacutes de que el proceso empiece a ejecutarse

binbashtmpsleepsh gt devnull 2gt devnull lt devnull amp

En la llamada anterior sleepsh es el nombre del proceso que desea empezar a ejecutar en segundoplano redirigiendo stdout stderr y stdin a devnull

Solucioacuten de problemas AllowTraffic Evento de ciclo devida sin ninguacuten error en los logs de implementacioacutenEn algunos casos una implementacioacuten bluegreen produce un error durante el AllowTraffic evento de ciclode vida pero los registros de implementaciones no indican la causa del error

Este error se debe normalmente a comprobaciones de estado configuradas incorrectamente en ElasticLoad Balancing for the Classic Load Balancer Application Load Balancer o Network Load Balancer usadospara administrar el traacutefico del grupo de implementaciones

Para resolver el problema revise y corrija los errores en la configuracioacuten de la comprobacioacuten de estado delbalanceador de carga

Para balanceadores de carga claacutesicos consulteConfigurar comprobaciones de estadoen laGuiacutea delusuario para Classic Load BalancersyConfigureHealthChecken laReferencia de la API de Elastic LoadBalancing versioacuten 2012-06-01

Para obtener los balanceadores de carga de aplicaciones consulteComprobaciones de estado de losgrupos de destinoen laGuiacutea del usuario para Application Load Balancers

Para balanceadores de carga de red consulteComprobaciones de estado de los grupos de destinoenlaGuiacutea del usuario de Network Load Balancer

Versioacuten de API 2014-10-06467

AWS CodeDeploy Guiacutea del usuarioSolucioacuten de problemas con un error ApplicationStop

BeforeBlockTraffic o AfterBlockTraffic eventodel ciclo de vida de la implementacioacuten

Solucioacuten de problemas con un error ApplicationStopBeforeBlockTraffic o AfterBlockTraffic evento del ciclode vida de la implementacioacutenDurante un despliegue el CodeDeploy agent ejecuta los scripts especificados para ApplicationStopBeforeBlockTraffic y AfterBlockTraffic en la AppSpec archivo de la implementacioacuten correcta anterior(Todos los demaacutes scripts se ejecutan desde el AppSpec en la implementacioacuten actual) Si alguno de estosscripts contiene un error y no se ejecuta correctamente la implementacioacuten puede producir un error

Los posibles motivos de estos errores son los siguientes

bull La CodeDeploy el agente de encuentra eldeployment-group-id_last_successful_installenla ubicacioacuten correcta pero la ubicacioacuten que figura en eldeployment-group-id_last_successful_installno existe

En instancias de Amazon Linux Ubuntu Server y RHEL este archivo debe estar enoptcodedeploy-agentdeployment-rootdeployment-instructions

En instancias de Windows Server este archivo debe almacenarse en elCProgramDataAmazonCodeDeploydeployment-instructionsfolder

bull En la ubicacioacuten que aparece en eldeployment-group-id_last_successful_install o bien elAppSpec El archivo no es vaacutelido o los scripts no se ejecutan correctamente

bull El script contiene un error que no se puede corregir por lo que nunca se ejecuta correctamente

Usar CodeDeploy consola para investigar por queacute una implementacioacuten ha podido producir un errordurante cualquiera de estos eventos En la paacutegina de detalles de la implementacioacuten elija View events(Ver eventos) En la paacutegina de detalles de la instancia en la fila ApplicationStop BeforeBlockTraffico AfterBlockTraffic elija View logs (Ver registros) O usa elAWS CLIpara llamar aget-deployment-instancecomando

Si la causa del error es un script de la uacuteltima implementacioacuten correcta que no se ejecuta nuncacorrectamente cree una implementacioacuten y especifique que ApplicationStop BeforeBlockTraffic yAfterBlockTraffic las fallas deben ignorarse Hay dos formas de hacer esto

bull Usar CodeDeploy consola de para crear una implementacioacuten En la paacutegina Create deployment(Crear implementacioacuten) en ApplicationStop lifecycle event failure (Error del evento del ciclo de vidaApplicationStop) elija Dont fail the deployment to an instance if this lifecycle event on the instance fails(Dar como vaacutelida la implementacioacuten en una instancia si este evento de ciclo de vida en la instanciaproduce un error)

bull Utilice la AWS CLI para llamar al comando create-deployment e incluya la opcioacuten --ignore-application-stop-failures

Cuando vuelva a implementar la revisioacuten de la aplicacioacuten la implementacioacuten continuaraacute aunque algunos deestos eventos de ciclo de vida produzcan un error Si la nueva revisioacuten incluye scripts fijos para los eventosde ciclo de vida puede que las implementaciones futuras se realicen correctamente si aplica esta solucioacuten

Versioacuten de API 2014-10-06468

AWS CodeDeploy Guiacutea del usuarioSolucioacuten de problemas DownloadBundle

evento de ciclo de vida de la implementacioacutencon UnknownError no abierto para lectura

Solucioacuten de problemas DownloadBundle evento deciclo de vida de la implementacioacuten con UnknownErrorno abierto para lecturaSi intenta implementar una revisioacuten de la aplicacioacuten desde Amazon S3 y la implementacioacuten produce unerror durante el DownloadBundle ciclo de vida de implementacioacuten conUnknownError not openedfor readingerror

bull Se ha producido un error interno del servicio de Amazon S3 Implemente de nuevo la revisioacuten de laaplicacioacuten

bull El perfil de instancia de IAM de su instancia EC2 no tiene permisos para obtener acceso a la revisioacuten dela aplicacioacuten en Amazon S3 Para obtener maacutes informacioacuten sobre las poliacuteticas de buckets de AmazonS3 consulteEnviar una revisioacuten de CodeDeploy en Amazon S3 (solo implementaciones de EC2locales) (p 316)yRequisitos previos para la implementacioacuten (p 324)

bull Las instancias en las que se implementa estaacuten asociadas a unaAWSRegioacuten (por ejemplo EE UUOeste (Oregoacuten)) pero el bucket de Amazon S3 que contiene la revisioacuten de la aplicacioacuten estaacute asociadoa otroAWSRegioacuten (por ejemplo EE UU Este (Norte de Virginia)) Aseguacuterese de que la revisioacuten de laaplicacioacuten estaacute en un bucket de Amazon S3 asociado al mismoAWSRegioacuten como instancias

En la paacutegina de detalles del evento de la implementacioacuten en la fila Download bundle (Descargar paquete)elija View logs (Ver registros) O usa elAWS CLIpara llamar aget-deployment-instancecomando Si seproduce un error deberiacutea aparecer un error en el resultado con el coacutedigo de error UnknownError y elmensaje de error not opened for reading

Para determinar la causa de este error

1 Habilite el registro en red en al menos una de las instancias y a continuacioacuten implemente de nuevo larevisioacuten de la aplicacioacuten

2 Examine el archivo de registro en red para encontrar el error Los mensajes de error comunes paraeste problema incluyen la frase access denied

3 Despueacutes de examinar los archivos de registro le recomendamos que deshabilite el registro en redpara reducir el tamantildeo de los archivos de registro y la cantidad de informacioacuten confidencial que puedeaparecer en la salida en texto sin formato en la instancia en el futuro

Para obtener informacioacuten sobre coacutemo encontrar el archivo de registro en red y habilitar y deshabilitar elregistro en red consultelog_aws_wireenReferencia de configuracioacuten del agente CodeDeploy

Solucioacuten de problemas cuando se omiten todos loseventos del ciclo de vidaSi todos los eventos del ciclo de vida de una implementacioacuten EC2 o local se omiten es posible quereciba un error similar aThe overall deployment failed because too many individualinstances failed deployment too few healthy instances are available fordeployment or some instances in your deployment group are experiencingproblems (Error code HEALTH_CONSTRAINTS) Estas son algunas posibles causas y soluciones

bull La CodeDeploy El agente de no se puede instalar ni ejecutar en la instancia Para determinar si elCodeDeploy agente de se estaacute ejecutandobull Para un servidor de Amazon Linux RHEL o Ubuntu ejecute lo siguiente

sudo service CodeDeploy-agent status

Versioacuten de API 2014-10-06469

AWS CodeDeploy Guiacutea del usuarioSolucioacuten de problemas cuando se omiten

todos los eventos del ciclo de vida

bull Para Windows ejecute lo siguiente

powershellexe -Command Get-Service -Name CodeDeployagent

Si el archivo de CodeDeploy el agente de no estaacute instalado o en ejecucioacuten consulteVerifique que elagente de CodeDeploy esteacute en ejecucioacuten (p 186)

Es posible que la instancia no pueda alcanzar el CodeDeploy o punto de enlace puacuteblico de Amazon S3mediante el puerto 443 Pruebe con una de las siguientes accionesbull Asigne una direccioacuten IP puacuteblica a la instancia y utilice su tabla de ruteo para permitir el acceso

a Internet Aseguacuterese de que el grupo de seguridad asociado con la instancia permite el accesode salida a traveacutes del puerto 443 (HTTPS) Para obtener maacutes informacioacuten consulte Protocolo decomunicacioacuten y puerto para el agente de CodeDeploy (p 176)

bull Si una instancia se aprovisiona en una subred privada utilice una gateway NAT en lugar de unagateway de Internet en la tabla de ruteo Para obtener maacutes informacioacuten consulte Puerta de enlaceNAT

bull La funcioacuten de servicio de para CodeDeploy puede que no tenga los permisos necesarios Paraconfigurar un rol de servicio de CodeDeploy consultePaso 2 Creacioacuten de un rol de servicio paraCodeDeploy (p 36)

bull Si utiliza un proxy HTTP aseguacuterese de que estaacute especificado en elproxy_uriconfiguracioacuten en elCodeDeploy archivo de configuracioacuten del agente de Para obtener maacutes informacioacuten consulte Referenciade configuracioacuten del agente CodeDeploy (p 441)

bull Es posible que la firma de fecha y hora de la firma de su instancia de implementacioacuten no coincida conla firma de fecha y hora de la solicitud de implementacioacuten Busque un error similar aCannot reachInstanceService AwsCodeDeployCommandErrorsInvalidSignatureException- Signature expireden tu CodeDeploy archivo de registro de agente Si ve este error siga lospasos que se indican en Solucioacuten de errores de implementacioacuten ldquoInvalidSignatureException ndash Signatureexpired [hora] is now earlier than [hora]rdquo (p 474) Para obtener maacutes informacioacuten consulte Ver datosde registro de las implementaciones de CodeDeploy EC2On-Premises (p 342)

bull La CodeDeploy agente de puede dejar de ejecutarse porque una instancia se estaacute quedando sinmemoria o espacio en el disco duro Intente reducir el nuacutemero de implementaciones archivadasen la instancia actualizando elmax_revisionsconfiguracioacuten en el CodeDeploy configuracioacuten delagente de Si hace esto para una instancia EC2 y el problema continuacutea considere la posibilidad deutilizar una instancia maacutes grande Por ejemplo si el tipo de instancia es t2small intente usar unat2medium Para obtener maacutes informacioacuten consulteArchivos instalados por el agente de CodeDeploy (p 183)Referencia de configuracioacuten del agente CodeDeploy (p 441) yTipos de instancias de AmazonEC2

bull Es posible que la instancia que va a realizar la implementacioacuten no tenga un perfil de instancia de IAMasociado o que tenga un perfil de instancia de IAM asociado que no tenga los permisos necesariosbull Si un perfil de instancia de IAM no estaacute asociado a la instancia cree uno con los permisos necesarios

y a continuacioacuten asoacutecielo a la instanciabull Si un perfil de instancia de IAM ya estaacute asociado a la instancia aseguacuterese de que dispone de los

permisos necesarios

Despueacutes de confirmar que el perfil de instancia asociado estaacute configurado con los permisos necesariosreinicie la instancia Para obtener maacutes informacioacuten consultePaso 4 Crear un perfil de instancias deIAM para sus instancias Amazon EC2 (p 43)yRoles de IAM para Amazon EC2en laGuiacutea del usuario deAmazon EC2

Versioacuten de API 2014-10-06470

AWS CodeDeploy Guiacutea del usuarioWindows PowerShell Los scripts no pueden

utilizar la versioacuten de 64 bits de WindowsPowerShell de forma predeterminada

Windows PowerShell Los scripts no pueden utilizar laversioacuten de 64 bits de Windows PowerShell de formapredeterminadaSi las ventanas PowerShell script que se ejecuta como parte de una implementacioacuten depende de lafuncionalidad de 64 bits (por ejemplo porque consume maacutes memoria que la que permite una aplicacioacuten de32 bits o porque llama a bibliotecas que solo se ofrecen en una versioacuten de 64 bits) puede que el script seboquee o que no se ejecute seguacuten lo previsto Esto se debe a que de forma predeterminada CodeDeployutiliza la versioacuten de 32 bits de Windows PowerShell para ejecutar Windows PowerShell scripts que formanparte de una revisioacuten de la aplicacioacuten

Antildeada coacutedigo como el siguiente al comienzo de cualquier script que tenga que ejecutar con la versioacuten de64 bits de Windows PowerShell

Are you running in 32-bit mode (SysWOW64 = 32-bit mode)

if ($PSHOME -like SysWOW64) Write-Warning Restarting this script under 64-bit Windows PowerShell

Restart this script under 64-bit Windows PowerShell (SysNative redirects to System32 for 64-bit mode)

amp (Join-Path ($PSHOME -replace SysWOW64 SysNative) powershellexe) -File ` (Join-Path $PSScriptRoot $MyInvocationMyCommand) args

Exit 32-bit script

Exit $LastExitCode

Was restart successfulWrite-Warning Hello from $PSHOMEWrite-Warning (SysWOW64 = 32-bit mode System32 = 64-bit mode)Write-Warning Original arguments (if any) $args

Your 64-bit script code follows here

Aunque la informacioacuten de ruta del archivo de este coacutedigo pueda parecer contradictoria la versioacuten de 32bits de Windows PowerShell utiliza una ruta como la siguiente

cWindowsSysWOW64WindowsPowerShellv10powershellexe

Windows de 64 bits PowerShell utiliza una ruta como la siguiente

cWindowsSystem32WindowsPowerShellv10powershellexe

SolucionarAWSProblemas de implementacioacuten deLambda

Temasbull AWS LambdaLas implementaciones no se realizan correctamente si se detiene manualmente una

implementacioacuten de Lambda que no tiene configuradas las reversiones (p 472)

Versioacuten de API 2014-10-06471

AWS CodeDeploy Guiacutea del usuarioAWS LambdaLas implementaciones nose realizan correctamente si se detiene

manualmente una implementacioacuten de Lambdaque no tiene configuradas las reversiones AWS LambdaLas implementaciones no se realizan

correctamente si se detiene manualmente unaimplementacioacuten de Lambda que no tiene configuradaslas reversionesEn algunos casos el alias de una funcioacuten de Lambda especificada en una implementacioacuten podriacutea hacerreferencia a dos versiones diferentes del funcioacuten Como consecuencia no se realizan correctamente losintentos posteriores de implementar la funcioacuten Lambda Una implementacioacuten de Lambda puede entraren este estado cuando no tiene configuradas las reversiones y se detiene manualmente Para continuarutilice la consola de AWS Lambda para asegurarse de que la funcioacuten no esteacute configurada para el desviacuteo detraacutefico entre dos versiones

1 Inicie sesioacuten en la AWS Management Console y abra la consola de AWS Lambda en httpsconsoleawsamazoncomlambda

2 En el panel izquierdo elija Functions (Funciones)3 Seleccione el nombre de la funcioacuten Lambda que se encuentra en el CodeDeploy Deployment4 DesdeCalificadores elija el alias utilizado en la implementacioacuten de CodeDeploy5 En Additional Version (Versioacuten adicional) elija ltnonegt Esto garantiza que el alias no esteacute configurado

para desviar un porcentaje (o peso) del traacutefico a maacutes de una versioacuten Anote la versioacuten seleccionada enVersion (Versioacuten)

6 Elija Save and test (Guardar y probar)7 Abra el icono CodeDeploy e intente implementar la versioacuten que se muestra en el menuacute desplegable del

paso 5

Solucioacuten de problemas de grupos deimplementaciones

Cuando se etiqueta una instancia como parte deun grupo de implementaciones no se implementaautomaacuteticamente la aplicacioacuten en la nueva instanciaCodeDeploy no implementa automaacuteticamente su aplicacioacuten en una nueva instancia etiquetada Debe crearuna nueva implementacioacuten en el grupo de implementaciones

Puede usar CodeDeploy para habilitar las implementaciones automaacuteticas en nuevas instancias EC2 engrupos de Amazon EC2 Auto Scaling Para obtener maacutes informacioacuten consulte Integracioacuten de CodeDeploycon Amazon EC2 Auto Scaling (p 53)

Solucioacuten de problemas de instanciasTemas

bull Las etiquetas deben estar configuradas correctamente (p 473)bull AWS CodeDeployEl agente de debe estar instalado y ejecutaacutendose en las instancias (p 473)bull Las implementaciones no producen error hasta una hora despueacutes cuando se termina una instancia

durante una implementacioacuten (p 473)

Versioacuten de API 2014-10-06472

AWS CodeDeploy Guiacutea del usuarioLas etiquetas deben estar configuradas correctamente

bull Anaacutelisis de archivos de registro para investigar los errores de implementacioacuten en instancias (p 473)bull Creacioacuten de un nuevo CodeDeploy archivo log de si se ha eliminado por error (p 474)bull Solucioacuten de errores de implementacioacuten ldquoInvalidSignatureException ndash Signature expired [hora] is now

earlier than [hora]rdquo (p 474)

Las etiquetas deben estar configuradas correctamenteUsarinstancias de implementacioacuten-list-deployment-para confirmar que las instancias utilizadas para unaimplementacioacuten estaacuten etiquetadas correctamente Si falta una instancia EC2 en la salida utilice la consolade EC2 para confirmar que las etiquetas se han configurado en la instancia Para obtener maacutes informacioacutenconsulteTrabajo con etiquetas en la consolaen laGuiacutea del usuario de Amazon EC2 para instancias deLinux

Note

Si etiquetas una instancia y utilizas inmediatamente CodeDeploy para implementar una aplicacioacutenen eacutel es posible que la instancia no se incluya en la implementacioacuten Esto se debe a que puedetardar varios minutos en CodeDeploy puede leer las etiquetas Le recomendamos que espere almenos cinco minutos entre el momento en que etiqueta una instancia y el momento en que intentarealizar una implementacioacuten en ella

AWS CodeDeployEl agente de debe estar instalado yejecutaacutendose en las instanciasPara verificar el CodeDeploy El agente de estaacute instalado y ejecutaacutendose en una instanciaconsulteVerifique que el agente de CodeDeploy esteacute en ejecucioacuten (p 186)

Para instalar desinstalar o reinstalar el CodeDeploy agente consulteInstalacioacuten del agente deCodeDeploy (p 189)

Las implementaciones no producen error hastauna hora despueacutes cuando se termina una instanciadurante una implementacioacutenCodeDeploy proporciona un periacuteodo de una hora para que cada evento de ciclo de vida de laimplementacioacuten termine de ejecutarse Esto proporciona tiempo suficiente para los scripts de largaduracioacuten

Si los scripts no se terminan de ejecutar mientras hay un evento de ciclo de vida en curso (por ejemplosi se termina una instancia o la CodeDeploy agente de se cierra) puede transcurrir una hora hasta queel estado de la implementacioacuten se muestre como Failed (Error) Esto es cierto incluso si el periodo detiempo especificado en el script es inferior a una hora Esto se debe a que cuando se termina la instanciael CodeDeploy El agente de se cierra y no puede procesar maacutes scripts

Si se termina una instancia entre eventos de ciclo de vida o antes de que se inicie el primer paso de unevento de ciclo de vida el tiempo de espera se agota en solo cinco minutos

Anaacutelisis de archivos de registro para investigar loserrores de implementacioacuten en instanciasSi el estado de una instancia en la implementacioacuten es distinto de Succeeded puede examinar los datosdel archivo log para poder identificar el problema Para obtener informacioacuten sobre coacutemo obtener acceso a

Versioacuten de API 2014-10-06473

AWS CodeDeploy Guiacutea del usuarioCreacioacuten de un nuevo CodeDeploy

archivo log de si se ha eliminado por error

los datos de registro de una implementacioacuten consulte Ver datos de registro de las implementaciones deCodeDeploy EC2On-Premises (p 342)

Creacioacuten de un nuevo CodeDeploy archivo log de sise ha eliminado por errorSi elimina por error el archivo log de implementacioacuten en una instancia CodeDeploy no crea un archivode registro de reemplazo Para crear un nuevo archivo log inicie sesioacuten en la instancia y a continuacioacutenejecute estos comandos

Para una instancia de Amazon Linux Ubuntu Server o RHEL ejecute estos comandos en este orden unoen uno

sudo service codedeploy-agent stop

sudo service codedeploy-agent start

Para una instancia de Windows Server

powershellexe -Command Restart-Service -Name codedeployagent

Solucioacuten de errores de implementacioacutenldquoInvalidSignatureException ndash Signature expired [hora]is now earlier than [hora]rdquoCodeDeploy requiere referencias de tiempo precisas para realizar sus operaciones Si la fecha y la horade la instancia no estaacuten definidas correctamente es posible que no coincidan con la fecha de firma de lasolicitud de la implementacioacuten que CodeDeploy rechaza

Para evitar errores relacionados con la configuracioacuten de tiempo incorrecta consulte los siguientes temas

bull Establecer la hora en una instancia de Linuxbull Establecimiento de la hora para una instancia de Windows

Solucionar GitHub Problemas con tokenInvalid (No vaacutelido) GitHub Token OAuthCodeDeploy aplicaciones de creadas despueacutes de su uso en junio GitHub Tokens de OAuth paracadaAWSRegioacuten El uso de tokens vinculados a especiacuteficosAWSRegions te da maacutes control sobre queacuteCodeDeploy las aplicaciones tienen acceso a un GitHub

Si recibe un GitHub Error de token es posible que tenga un token maacutes antiguo que ahora no es vaacutelido

Para corregir una no vaacutelida GitHub Token OAuth

1 Elimine el token antiguo mediante uno de los siguientes meacutetodos

Versioacuten de API 2014-10-06474

AWS CodeDeploy Guiacutea del usuarioNuacutemero maacuteximo de GitHub Se superaron los tokens OAuth

bull Para eliminar el token antiguo mediante la API utiliceDeleteGitHubAccountTokenbull Para quitar el token antiguo utilizando elAWS Command Line Interface

a Vaya al equipo en el que reside el tokenb Aseguacuterese de que elAWS CLIestaacute instalado en este equipo Para obtener las instrucciones

de instalacioacuten consulteInstalar actualizar y desinstalar laAWS CLIen laAWS Command LineInterfaceGuiacutea del usuario de

c Introduzca el siguiente comando en el equipo donde reside el token

aws delete-git-hub-account-token

Para obtener maacutes informacioacuten sobre la sintaxis del comando consultedelete-git-hub-cuenta-token

2 Antildeadir un nuevo token de OAuth Para obtener maacutes informacioacuten consulte Integracioacuten de CodeDeploycon GitHub (p 63)

Nuacutemero maacuteximo de GitHub Se superaron los tokensOAuthAl crear una CodeDeploy implementacioacuten el nuacutemero maacuteximo permitido GitHub tokens es 10 Si recibeun error acerca de GitHub Tokens de OAuth aseguacuterese de que tiene 10 tokens o menos Si tiene maacutesde 10 tokens los primeros tokens que se han creado no son vaacutelidos Por ejemplo si tiene 11 tokens elprimer token que ha creado no es vaacutelido Si tiene 12 tokens los dos primeros tokens que ha creado no sonvaacutelidos Para obtener maacutes informacioacuten sobre el uso del CodeDeploy API de para eliminar tokens antiguosconsulteDeleteGitHubAccountToken

Solucioacuten de problemas de Amazon EC2 AutoScaling

Temasbull Solucioacuten de problemas general de Amazon EC2 Auto Scaling (p 476)bull laquoCodeDeployRole no le da permiso para realizar operaciones en las siguientesAWSservicio de Error

de AmazonAutoScalingraquo (p 476)bull Las instancias de un grupo de Amazon EC2 Auto Scaling se aprovisionan y se terminan

constantemente antes de que pueda implementarse una revisioacuten (p 477)bull La terminacioacuten o el reinicio de una instancia de Amazon EC2 Auto Scaling puede producir un error en

las implementaciones (p 477)bull Evite asociar varios grupos de implementaciones a un uacutenico grupo de Amazon EC2 Auto

Scaling (p 478)bull Las instancias EC2 de un grupo de Amazon EC2 Auto Scaling no se pueden lanzar y aparece el error

laquoHeartbeat Timeoutraquo (p 479)bull Los enlaces de ciclo de vida de Amazon EC2 Auto Scaling de Amazon EC2 podriacutean provocar

detenciones o errores de las implementaciones automaacuteticas en grupos de Auto Scaling de AmazonEC2 (p 480)

bull Error laquoLa implementacioacuten ha fallado porque no se han encontrado instancias para el grupo deimplementacioacutenraquo (p 481)

Versioacuten de API 2014-10-06475

AWS CodeDeploy Guiacutea del usuarioSolucioacuten de problemas generalde Amazon EC2 Auto Scaling

Solucioacuten de problemas general de Amazon EC2 AutoScalingLas implementaciones en instancias EC2 en un grupo de Amazon EC2 Auto Scaling pueden fracasar porlas razones siguientes

bull Amazon EC2 Auto Scaling lanza y termina continuamente instancias EC2 Si CodeDeploy No puedeimplementar automaacuteticamente la revisioacuten de la aplicacioacuten Amazon EC2 Auto Scaling lanza y terminaraacutecontinuamente instancias EC2

Desasociar el grupo de Amazon EC2 Auto Scaling del CodeDeploy grupo de implementaciones o cambiela configuracioacuten de su grupo de Amazon EC2 Auto Scaling para que el nuacutemero deseado de instanciascoincida con el nuacutemero actual de instancias (lo que evitaraacute que Amazon EC2 Auto Scaling lance lancemaacutes instancias EC2) Para obtener maacutes informacioacuten consulteCambiar la configuracioacuten del grupo deimplementacioacuten con CodeDeploy (p 301)oEscalado manual para Amazon EC2 Auto Scaling

bull La CodeDeploy el agente de no responde La CodeDeploy Puede que el agente de no esteacute instalado silos scripts de inicializacioacuten (por ejemplo los scripts cloud-init) que se ejecutan inmediatamente despueacutesde que se lance o inicie una instancia EC2 tardan maacutes de una hora en ejecutarse CodeDeploy tieneun tiempo de espera de una hora de CodeDeploy agente de para responder a las implementacionespendientes Para solucionar este problema mueva los scripts de inicializacioacuten a la revisioacuten de laaplicacioacuten CodeDeploy

bull Una instancia EC2 en un grupo de Amazon EC2 Auto Scaling se reinicia durante una implementacioacutenLa implementacioacuten puede producir un error si una instancia EC2 se reinicia durante una implementacioacuteno CodeDeploy agente se apaga mientras se procesa un comando de implementacioacuten Para obtener maacutesinformacioacuten consulte La terminacioacuten o el reinicio de una instancia de Amazon EC2 Auto Scaling puedeproducir un error en las implementaciones (p 477)

bull Varias revisiones de aplicacioacuten se implementan simultaacuteneamente en la misma instancia EC2 en ungrupo de Auto Scaling de Amazon EC2 La implementacioacuten de varias revisiones de aplicacioacuten en lamisma instancia EC2 en un grupo de Amazon EC2 Auto Scaling al mismo tiempo puede producir unerror si una de las implementaciones tiene scripts que se ejecutan durante maacutes de unos minutos Noimplemente varias revisiones de aplicacioacuten en las mismas instancias EC2 en un grupo de Amazon EC2Auto Scaling

bull Una implementacioacuten produce un error en nuevas instancias EC2 que se lanzan como parte de un grupode Amazon EC2 Auto Scaling En este caso la ejecucioacuten de scripts en una implementacioacuten puede evitarel lanzamiento de instancias EC2 en el grupo de Amazon EC2 Auto Scaling (Puede parecer que otrasinstancias EC2 del grupo de Amazon EC2 Auto Scaling se ejecutan normalmente) Para solucionar esteproblema aseguacuterese de que todos los demaacutes scripts se completan primerobull El agente de CodeDeploy no estaacute incluido en la AMI Si utiliza elcfn-initpara instalar el CodeDeploy

agente de mientras lanza una nueva instancia coloque el script de instalacioacuten del agente al finaldelcfn-initseccioacuten de suAWS CloudFormationplantilla

bull El agente de CodeDeploy se incluye en la AMI Configurar la AMI para que el agente se encuentreen unStoppedestado cuando se crea la instancia y a continuacioacuten incluya un script para iniciar elagente como el uacuteltimo paso en sucfn-initbiblioteca de scripts

laquoCodeDeployRole no le da permiso para realizaroperaciones en las siguientesAWSservicio de Errorde AmazonAutoScalingraquoLas implementaciones que utilizan un grupo de Auto Scaling creado con una plantilla de lanzamientorequieren los siguientes permisos Estos se suman a los permisos concedidos por la poliacutetica administradade AWS AWSCodeDeployRole

Versioacuten de API 2014-10-06476

AWS CodeDeploy Guiacutea del usuarioLas instancias de un grupo de Amazon EC2 Auto

Scaling se aprovisionan y se terminan constantementeantes de que pueda implementarse una revisioacuten

bull EC2RunInstances

bull EC2CreateTags

bull iamPassRole

Si no tiene los permisos indicados puede recibir este error Para obtener maacutes informacioacutenconsulteTutorial UsarCodeDeploypara implementar una aplicacioacuten en un grupo de AutoScaling (p 110)Creacioacuten de una plantilla de lanzamiento para un grupo de Auto Scaling yCompatibilidadcon las plantillas de lanzamientoen laGuiacutea del usuario de Amazon EC2 Auto Scaling

Las instancias de un grupo de Amazon EC2 AutoScaling se aprovisionan y se terminan constantementeantes de que pueda implementarse una revisioacutenEn algunos casos un error puede impedir que se realice la implementacioacuten en instancias recieacutenaprovisionadas de un grupo de Amazon EC2 Auto Scaling Los resultados son instancias en mal estadoe implementaciones infructuosas Como la implementacioacuten no se puede ejecutar o no se completacorrectamente las instancias se terminan en cuanto se crean La configuracioacuten del grupo de Auto Scalingde Amazon EC2 provoca que se aprovisione otro lote de instancias para intentar satisfacer los requisitosde hosts miacutenimos en buen estado Este lote se termina tambieacuten y asiacute una y otra vez

Entre las causas posibles se incluyen las siguientes

bull Error en las comprobaciones de estado del grupo de Amazon EC2 Auto Scalingbull Un error en la revisioacuten de la aplicacioacuten

Para solucionar este problema siga estos pasos

1 Cree manualmente una instancia EC2 que no forme parte del grupo de Amazon EC2 Auto ScalingEtiquete la instancia con una etiqueta de instancia EC2 uacutenica

2 Antildeada la nueva instancia al grupo de implementaciones afectado3 Implemente una nueva revisioacuten de la aplicacioacuten sin errores en el grupo de implementaciones

De esta forma se solicitaraacute al grupo de Amazon EC2 Auto Scaling que implemente la revisioacuten de laaplicacioacuten en future instancias del grupo de Amazon EC2 Auto Scaling

Note

Despueacutes de confirmar que las implementaciones se han realizado correctamente elimine lainstancia que ha creado para evitar cargos deAWSaccount

La terminacioacuten o el reinicio de una instancia deAmazon EC2 Auto Scaling puede producir un error enlas implementacionesSi se lanza una instancia EC2 a traveacutes de Amazon EC2 Auto Scaling y la instancia termina o se reinicialas implementaciones en dicha instancia podriacutean producir un error por las razones siguientes

bull Durante una implementacioacuten en curso un evento de escalado o cualquier otro evento de terminacioacutenprovoca que la instancia se desvincule del grupo de Amazon EC2 Auto Scaling y que termine Como laimplementacioacuten no se puede completar produce un error

Versioacuten de API 2014-10-06477

AWS CodeDeploy Guiacutea del usuarioEvite asociar varios grupos de implementacionesa un uacutenico grupo de Amazon EC2 Auto Scaling

bull La instancia se reinicia pero tarda maacutes de cinco minutos en iniciarse CodeDeploy trata esto como untiempo de espera El servicio no puede realizar implementaciones actuales y futuras en la instancia

Para solucionar este problema

bull En general aseguacuterese de que todas las implementaciones se completen antes de que la instanciatermine o se reinicie Aseguacuterese de que todas las implementaciones comienzan una vez iniciada oreiniciada la instancia

bull Las implementaciones pueden producir un error si especifica una imagen de maacutequina de Amazon (AMI)base de Windows Server para una configuracioacuten de Auto Scaling de Amazon EC2 y usa el servicioEC2Config para establecer el nombre de equipo de la instancia Para solucionar este problema enla AMI base de Windows Server en elGeneralpestantildea dePropiedades del servicio de EC2 claroSetComputer Name (Establecer nombre del equipo) Una vez desactivada esta casilla este comportamientose deshabilitaraacute para todas las nuevas instancias de Auto Scaling de Amazon EC2 de Windows Serverlanzadas con esa AMI base de Windows Server Para las instancias de Auto Scaling de Amazon EC2 deWindows Server en las que este comportamiento estaacute habilitado no es necesario desactivar esta casillaSimplemente vuelva a aplicar las implementaciones que han producido un error en esas instancias unavez reiniciadas

Evite asociar varios grupos de implementaciones a unuacutenico grupo de Amazon EC2 Auto ScalingComo praacutectica recomendada debe asociar solo un grupo de implementaciones a cada grupo de AmazonEC2 Auto Scaling

Esto se debe a que si Amazon EC2 Auto Scaling escala una instancia que tiene enlaces asociados convarios grupos de implementaciones enviacutea las notificaciones para todos los enlaces a la vez Esto provocaque comiencen a aplicarse las distintas implementaciones en cada instancia al mismo tiempo Cuandovarias implementaciones enviacutean comandos al CodeDeploy al mismo tiempo podriacutea alcanzarse el tiempode espera de cinco minutos entre un evento del ciclo de vida y el inicio de la implementacioacuten o bien el finaldel evento del ciclo de vida anterior Si esto ocurre la implementacioacuten no se realiza correctamente inclusoaunque el proceso de implementacioacuten se haya ejecutado seguacuten lo previsto

Note

El tiempo de espera predeterminado para un script en un evento de ciclo de vida es 30 minutosPuede cambiar el tiempo de espera a otro valor en el AppSpec file Para obtener maacutes informacioacutenconsulte Adicioacuten de un archivo AppSpec para una implementacioacuten de EC2On-Premises (p 312)

No es posible controlar el orden en el que se producen las implementaciones si se realizan varios intentosde implementacioacuten al mismo tiempo

Por uacuteltimo si se produce un error en la implementacioacuten en cualquier instancia Amazon EC2 AutoScaling termina inmediatamente la instancia Cuando se cierra la primera instancia el resto de lasimplementaciones en ejecucioacuten empiezan a producir un error Porque CodeDeploy tiene un tiempo deespera de una hora de CodeDeploy agente de para responder a las implementaciones pendientes puedetranscurrir hasta 60 minutos antes de que se agote el tiempo de espera de cada instancia

Para obtener maacutes informacioacuten sobre Amazon EC2 Auto Scaling consulteBajo el capoacute CodeDeploy yIntegracioacuten de Auto Scaling

Versioacuten de API 2014-10-06478

AWS CodeDeploy Guiacutea del usuarioLas instancias EC2 de un grupo de Amazon

EC2 Auto Scaling no se pueden lanzary aparece el error laquoHeartbeat Timeoutraquo

Las instancias EC2 de un grupo de Amazon EC2Auto Scaling no se pueden lanzar y aparece el errorlaquoHeartbeat TimeoutraquoEs posible que un grupo de Amazon EC2 Auto Scaling no pueda lanzar nuevas instancias EC2 y genereun mensaje similar al siguiente

Launching a new EC2 instance ltinstance-Idgt Status Reason Instance failed tocomplete users Lifecycle Action Lifecycle Action with tokenlttoken-Idgt wasabandoned Heartbeat Timeout

Este mensaje suele indicar una de las siguientes posibilidades

bull El nuacutemero maacuteximo de implementaciones simultaacuteneas asociadas con unAWSse ha alcanzado lacuenta Para obtener maacutes informacioacuten acerca de los liacutemites de implementacioacuten consulte liacutemites deCodeDeploy (p 454)

bull El grupo Auto Scaling intentoacute lanzar demasiadas instancias EC2 con demasiada rapidez La API llamaaRecordLifecycleActionHeartbeatoCompleteLifecycleActionpara cada nueva instancia se limitaron

bull Una aplicacioacuten en CodeDeploy se ha eliminado antes de que sus grupos de implementacionesasociados se actualizaran o eliminaran

Al eliminar una aplicacioacuten o un grupo de implementacioacuten CodeDeploy intenta limpiar todos los enlacesde Amazon EC2 Auto Scaling asociados a ellos pero es posible que se conserven algunos enlaces Siejecuta un comando para eliminar un grupo de implementaciones los enlaces restantes se devuelvenen la salida Sin embargo si ejecuta un comando para eliminar una aplicacioacuten los enlaces restantes noaparecen en la salida

Por lo tanto es recomendable que elimine todos los grupos de implementaciones asociados a unaaplicacioacuten antes de eliminar la aplicacioacuten Puede utilizar el resultado del comando para identificar losenlaces de ciclo de vida que deben eliminarse manualmente

Si aparece un mensaje de error Heartbeat Timeout puede determinar si los enlaces de ciclo de vidarestantes son la causa del problema y resolverlo mediante el siguiente procedimiento

1 Realice alguna de las siguientes acciones

bull Llame adelete-deployment-grouppara eliminar el grupo de implementaciones asociado al grupo deAuto Scaling que estaacute provocando el tiempo de espera del latido

bull Llame agrupo de implementacioacuten-actualizacioacutencon una lista vaciacutea no nula de nombres de gruposde Auto Scaling para separar todos los ganchos del ciclo de vida de Auto Scaling administrados porCodeDeployment

Por ejemplo escriba lo siguienteAWS CLIcomando

aws deploy update-deployment-group --application-name my-example-app --current-deployment-group-name my-deployment-group --auto-scaling-groups

Como otro ejemplo si estaacute utilizando el CodeDeploy API con JavallameUpdateDeploymentGroupy setautoScalingGroupsanew ArrayListltStringgt() EstesetautoScalingGroupsa una lista vaciacutea y elimina la lista existente No utilizarnull que es elvalor predeterminado porque esto dejaautoScalingGroupstal cual que no es lo que quieres

Examine el resultado de la llamada Si la salida contiene unhooksNotCleanedUpestructura con unalista de enlaces de ciclo de vida de Amazon EC2 Auto Scaling hay enlaces de ciclo de vida sobrantes

Versioacuten de API 2014-10-06479

AWS CodeDeploy Guiacutea del usuarioLos enlaces de ciclo de vida de Amazon EC2

Auto Scaling de Amazon EC2 podriacutean provocardetenciones o errores de las implementaciones

automaacuteticas en grupos de Auto Scaling de Amazon EC22 Llame adescribe-ganchos de ciclo de vida especificando el nombre del grupo de Amazon EC2 AutoScaling asociado a las instancias EC2 que no se han podido lanzar Busque en los resultados

bull Nombres de enlaces de ciclo de vida de Amazon EC2 Auto Scaling que correspondenalhooksNotCleanedUpestructura identificada en el paso 1

bull Nombres de enlaces de ciclo de vida de Auto Scaling de Amazon EC2 que contienen el nombre delgrupo de implementaciones asociado al grupo de Auto Scaling que estaacute produciendo un error

bull Nombres de gancho del ciclo de vida de Amazon EC2 Auto Scaling que pueden haber provocado eltiempo de espera del latido del CodeDeploy Deployment

3 Si un gancho entra en una de las categoriacuteas enumeradas en el paso 2 llame aleliminar el gancho delciclo de vidapara eliminarlo Especifique el grupo y el enlace de ciclo de vida de Amazon EC2 AutoScaling en la llamada

Important

Elimine uacutenicamente los ganchos que estaacuten causando problemas como se describe enel paso 2 Si elimina enlaces viables las implementaciones podriacutean producir un error oCodeDeploy es posible que no pueda implementar las revisiones de las aplicaciones eninstancias EC2 escaladas

4 Llama a lagrupo de implementacioacuten-actualizacioacutenocreate-deployment-groupcon los nombres de grupode Auto Scaling deseados CodeDeploy vuelve a instalar los ganchos Auto Scaling con los nuevosUUID

Note

Si desconecta un grupo de Auto Scaling de un CodeDeploy grupo de implementacioacuten cualquierimplementacioacuten en curso en el grupo Auto Scaling puede fallar y las nuevas instancias de EC2que el grupo Auto Scaling escale no recibiraacuten las revisiones de las aplicaciones de CodeDeployPara que Auto Scaling vuelva a funcionar con CodeDeploy deberaacute volver a adjuntar el grupoAuto Scaling al grupo de implementacioacuten y llamar a un nuevoCreateDeploymentpara iniciar undespliegue en toda la flota

Los enlaces de ciclo de vida de Amazon EC2Auto Scaling de Amazon EC2 podriacutean provocardetenciones o errores de las implementacionesautomaacuteticas en grupos de Auto Scaling de AmazonEC2Auto Scaling Amazon EC2 CodeDeploy utilizar enlaces de ciclo de vida para determinar queacute revisionesde la aplicacioacuten deben implementarse en las instancias EC2 una vez iniciadas en grupos de Amazon EC2Auto Scaling Las implementaciones automaacuteticas se pueden detener o producir un error si los enlaces deciclo de vida y la informacioacuten sobre estos enlaces no coinciden exactamente en Amazon EC2 Auto Scalingy CodeDeploy

Si las implementaciones en un grupo de Amazon EC2 Auto Scaling estaacuten produciendo un errorcompruebe si los nombres de enlaces de ciclo de vida en Amazon EC2 Auto Scaling y CodeDeploy matchSi no coinciden utilice estas llamadas a comandos de la AWS CLI

En primer lugar obtenga la lista de enlaces de ciclo de vida para el grupo de Amazon EC2 Auto Scaling yel grupo de implementaciones

Versioacuten de API 2014-10-06480

AWS CodeDeploy Guiacutea del usuarioError laquoLa implementacioacuten ha fallado porque no se han

encontrado instancias para el grupo de implementacioacutenraquo

1 Llame adescribe-ganchos de ciclo de vida especificando el nombre del grupo de Amazon EC2Auto Scaling asociado al grupo de implementaciones en CodeDeploy En el resultado en la listaLifecycleHooks anote todos los valores de LifecycleHookName

2 Llame aget-deployment-group especificando el nombre del grupo de implementaciones asociadoal grupo de Amazon EC2 Auto Scaling En la salida en laautoScalingGroups busque todos loselementos cuyo valor de nombre coincida con el nombre del grupo de Amazon EC2 Auto Scaling y acontinuacioacuten anote el correspondientehookValor

Despueacutes compare los dos conjuntos de nombres de enlaces de ciclo de vida Si coinciden exactamentecaraacutecter por caraacutecter entonces este no es el problema Pruebe con otros pasos de solucioacuten de problemasde Amazon EC2 Auto Scaling que se describen en esta seccioacuten

Sin embargo si los dos conjuntos de nombres de enlaces de ciclo de vida no coinciden exactamentecaraacutecter por caraacutecter pruebe lo siguiente

1 Si hay nombres de enlaces de ciclo de vida en el resultado del comando describe-lifecycle-hooks queno estaacuten en el resultado del comando get-deployment-group proceda del modo siguiente

a Para cada nombre de enlace de ciclo de vida en el resultado del comando describe-lifecycle-hooks ejecute el comando describe-lifecycle-hook

b Llame agrupo de implementacioacuten-actualizacioacuten especificando el nombre del grupo de AutoScaling de Amazon EC2 original CodeDeploy crea nuevos enlaces de ciclo de vida de sustitucioacutenen el grupo de Amazon EC2 Auto Scaling y asocia los enlaces de ciclo de vida con el grupo deimplementaciones Las implementaciones automaacuteticas se deben reanudar ahora cuando seantildeadan nuevas instancias al grupo de Amazon EC2 Auto Scaling

2 Si hay nombres de enlaces de ciclo de vida en el resultado del comando get-deployment-group que noestaacuten en el resultado del comando describe-lifecycle-hooks proceda del modo siguiente

a Llame agrupo de implementacioacuten-actualizacioacutenpero no especifique el nombre del grupo deAmazon EC2 Auto Scaling original

b Llame aupdate-deployment-group pero esta vez especifique el nombre del grupo de AmazonEC2 Auto Scaling original CodeDeploy vuelve a crear los enlaces de ciclo de vida que faltan enel grupo de Amazon EC2 Auto Scaling Las implementaciones automaacuteticas se deben reanudarahora cuando se antildeadan nuevas instancias al grupo de Amazon EC2 Auto Scaling

Una vez que los dos conjuntos de nombres de enlaces de ciclo de vida coincidan exactamente caraacutecterpor caraacutecter las revisiones de la aplicacioacuten deberiacutean implementarse de nuevo pero solamente en lasnuevas instancias cuando estas se antildeadan al grupo de Amazon EC2 Auto Scaling Las implementacionesno se realizan automaacuteticamente en instancias que ya estaacuten en el grupo de Amazon EC2 Auto Scaling

Error laquoLa implementacioacuten ha fallado porque nose han encontrado instancias para el grupo deimplementacioacutenraquoLea esta seccioacuten si ve lo siguiente CodeDeploy error

The deployment failed because no instances were found for your deploymentgroup Check your deployment group settings to make sure the tags for your EC2instances or Auto Scaling groups correctly identify the instances you want todeploy to and then try again

Las causas posibles de este error son

Versioacuten de API 2014-10-06481

AWS CodeDeploy Guiacutea del usuarioError laquoLa implementacioacuten ha fallado porque no se han

encontrado instancias para el grupo de implementacioacutenraquo

1 La configuracioacuten del grupo de implementacioacuten incluye etiquetas para instancias EC2 instancias localeso grupos de Auto Scaling que no son correctos Para solucionar este problema compruebe que lasetiquetas son correctas y a continuacioacuten vuelva a desplegar la aplicacioacuten

2 Su flota se redujo despueacutes de que se inicioacute la implementacioacuten En este escenario veraacute instancias enbuen estado en elInServiceestado en tu flota pero tambieacuten ves el error anterior Para solucionar esteproblema vuelva a implementar la aplicacioacuten

3 El grupo de Auto Scaling no incluye instancias en elInServiceestado En este escenario cuandointenta realizar una implementacioacuten en toda la flota la implementacioacuten falla con el mensaje de erroranterior porque CodeDeploy necesita al menos una instancia para estar en elInServiceestado Haymuchas razones por las que puede que no tengas instancias en elInServiceestado Algunas de ellasincluyenbull Ha programado (o configurado manualmente) el tamantildeo del grupo de Auto Scaling que debe ser0bull Auto Scaling detectoacute instancias EC2 erroacuteneas (por ejemplo las instancias EC2 presentaban fallas de

hardware) asiacute que las canceloacute todas dejando ninguna en elInServiceestadobull Durante un evento de escalado de0a1 CodeDeploy implementoacute una revisioacuten exitosa anteriormente

(denominadauacuteltima revisioacuten correcta) que se habiacutean vuelto insalubres desde la uacuteltima implementacioacutenEsto provocoacute que se produjera un error en la implementacioacuten de la instancia escalada horizontallo que a su vez provocoacute que Auto Scaling cancelara la instancia sin dejar ninguna instancia enelInServiceestado

Si descubres que no tienes instancias en elInServicestate solucione el problema tal como sedescribe en el siguiente procedimientoTo troubleshoot the error if there are no instances in theInService state

Para solucionar el error si no hay instancias en el InService state

1 En la consola de Amazon EC2 verifique laCapacidad deseadaconfiguracioacuten de Si es cero configuacuteraloen un nuacutemero positivo Espere a que la instancia esteacuteInService lo que significa que el desplieguese ha realizado correctamente Ha solucionado el problema y puede omitir los pasos restantes deeste procedimiento de solucioacuten de problemas Para obtener maacutes informacioacuten sobre coacutemo configurarelCapacidad deseadaconfiguracioacuten de consulteEstablecimiento de liacutemites de capacidad en el grupode Auto Scalingen laGuiacutea del usuario de Amazon EC2 Auto Scaling

2 Si Auto Scaling sigue intentando lanzar nuevas instancias EC2 para cumplir la capacidad deseadapero nunca puede cumplir la escala horizontal generalmente se debe a un error en el gancho del ciclode vida de Auto Scaling Solucione este problema de la siguiente manera

a Para comprobar queacute evento de gancho del ciclo de vida de Auto Scaling estaacute fallandoconsulteVerificacioacuten de una actividad de escalado para un grupo de Auto Scalingen la Guiacutea delusuario de Amazon EC2 Auto Scaling

b Si el nombre del gancho que falla esCodeDeploy-managed-automatic-launch-deployment-hook-DEPLOYMENT_GROUP_NAME vaya a CodeDeploy busque el grupo deimplementacioacuten y busque la implementacioacuten fallida iniciada por Auto Scaling A continuacioacuteninvestigue por queacute se produjo un error en

c Si comprende por queacute falloacute la implementacioacuten (por ejemplo CloudWatch se estaban produciendoalarmas) y puede solucionar el problema sin cambiar la revisioacuten luego haacutegalo ahora

d Si tras la investigacioacuten determina que CodeDeployuacuteltima revisioacuten correctaya no estaacute en buenestado y no hay ninguna instancia en buen estado en el grupo de Auto Scaling se encuentra enun escenario de interbloqueo de implementacioacuten Para solucionar este problema debe solucionarlo malo CodeDeploy eliminando temporalmente el gancho del ciclo de vida de CodeDeploy delgrupo Auto Scaling y a continuacioacuten reinstale el gancho y vuelva a implementar una nuevarevisioacuten (buena) Para obtener instrucciones consulte

bull To fix the deployment deadlock issue (CLI)bull To fix the deployment deadlock issue (console)

Versioacuten de API 2014-10-06482

AWS CodeDeploy Guiacutea del usuarioError laquoLa implementacioacuten ha fallado porque no se han

encontrado instancias para el grupo de implementacioacutenraquo

Para solucionar el problema de interbloqueo de la implementacioacuten (CLI)

1 (Opcional) Bloquee las canalizaciones de CICD que estaacuten provocando el CodeDeploy error para queno se produzcan implementaciones inesperadas mientras soluciona este problema

2 Tome nota de de su Auto Scaling actualDesiredCapacityConfiguracioacuten de

aws autoscaling describe-auto-scaling-groups --auto-scaling-group-nameASG_NAME

Es posible que tenga que volver a este nuacutemero al final de este procedimiento3 Configure el Auto ScalingDesiredCapacityconfiguracioacuten de1 Esto es opcional si la capacidad deseada

es superior a1Para empezar Al reducirlo a1 la instancia tardaraacute menos tiempo en aprovisionar eimplementar maacutes adelante lo que acelera la solucioacuten de problemas Si la capacidad deseada de AutoScaling se establecioacute originalmente en0 debes aumentarlo a1 Es obligatorio

aws autoscaling set-desired-capacity mdashauto-scaling-group-nameASG_NAMEmdashcapacidad deseada 1

Note

En los pasos restantes de este procedimiento se supone que ha configuradosuDesiredCapacitya1

En este punto Auto Scaling intenta escalar a una instancia Entonces porque el gancho queCodeDeploy antildeadido sigue presente CodeDeploy intenta implementar la implementacioacuten falla AutoScaling cancela la instancia y Auto Scaling intenta volver a lanzar una instancia para alcanzar lacapacidad deseada de una lo que vuelve a fallar Estaacute en un bucle de cancelacioacuten de relanzamiento

4 Anular el registro del grupo Auto Scaling del grupo de implementacioacuten

Warning

El siguiente comando lanzaraacute una nueva instancia EC2 sin ninguacuten software Antes deejecutar el comando aseguacuterese de que una Auto ScalingInServiceinstancia que no ejecutaninguacuten software es aceptable Por ejemplo aseguacuterese de que el equilibrador de carga noestaacute enviando traacutefico a este host sin software

Important

Usar CodeDeploy comando que se muestra a continuacioacuten para quitar el gancho Noelimine el gancho a traveacutes del servicio Auto Scaling porque CodeDeploy no reconoceraacute laeliminacioacuten

aws deploy update-deployment-group --application-name APPLICATION_NAME --current-deployment-group-name DEPLOYMENT_GROUP_NAME --auto-scaling-groups

Tras ejecutar este comando se produce lo siguiente

a CodeDeploy anula el registro del grupo Auto Scaling del grupo de implementacioacutenb CodeDeploy elimina el enlace de ciclo de vida de Auto Scaling del grupo de Auto Scalingc Dado que el gancho que provocaba una implementacioacuten fallida ya no estaacute presente Auto Scaling

cancela la instancia EC2 existente e inicia inmediatamente una nueva para escalar a la capacidaddeseada La nueva instancia deberiacutea pasar prontoInServiceestado La nueva instancia noincluye software

5 Espere a que la instancia EC2 introduzca elInServiceestado Para verificar su estado utilice elsiguiente comando

aws autoscaling describe-auto-scaling-groups --auto-scaling-group-namesASG_NAME --query AutoScalingGroups[0]Instances[]LifecycleState

6 Vuelva a agregar el gancho a la instancia EC2Versioacuten de API 2014-10-06

483

AWS CodeDeploy Guiacutea del usuarioError laquoLa implementacioacuten ha fallado porque no se han

encontrado instancias para el grupo de implementacioacutenraquo

Important

Usar CodeDeploy comando que se muestra a continuacioacuten para antildeadir el gancho No utiliceel servicio Auto Scaling para agregar el gancho porque CodeDeploy no reconoceraacute laadicioacuten

aws deploy update-deployment-group --application-name APPLICATION_NAME --current-deployment-group-name DEPLOYMENT_GROUP_NAME --auto-scaling-groupsASG_NAME

Tras ejecutar este comando se produce lo siguiente

a CodeDeploy vuelve a instalar el gancho del ciclo de vida de Auto Scaling en la instancia EC2b CodeDeploy vuelve a registrar el grupo Auto Scaling con el grupo de implementacioacuten

7 Cree una implementacioacuten en toda la flota con Amazon S3 o GitHub revisioacuten que sabe que essaludable y desea usar

Por ejemplo si la revisioacuten es un archivozip en un bucket de Amazon S3 denominadomy-revision-bucketcon una clave de objeto dehttpd_appzip escriba el siguiente comando

aws deploy create-deployment --application-name APPLICATION_NAME--deployment-group-name DEPLOYMENT_GROUP_NAME --revision revisionType=S3s3Location=bucket=my-revision-bucketbundleType=zipkey=httpd_appzip

Puesto que ahora hay unoInServiceen el grupo Auto Scaling esta implementacioacuten deberiacuteafuncionar y ya no deberiacutea ver el errorLa implementacioacuten ha fallado porque no se han encontradoinstancias para el grupo de implementacioacuten

8 Una vez que la implementacioacuten se haya realizado correctamente vuelva a escalar el grupo AutoScaling a la capacidad original si lo ha escalado previamente en

aws autoscaling set-desired-capacity --auto-scaling-group-name ASG_NAME --desired-capacity ORIGINAL_CAPACITY

Para solucionar el problema de interbloqueo de implementacioacuten (consola)

1 (Opcional) Bloquee las canalizaciones de CICD que estaacuten provocando el CodeDeploy error para queno se produzcan implementaciones inesperadas mientras soluciona este problema

2 Vaya a la consola de Amazon EC2 y tome nota de su Auto ScalingCapacidad deseadaconfiguracioacutende Es posible que tenga que volver a este nuacutemero al final de este procedimiento Para obtenermaacutes informacioacuten sobre coacutemo encontrar esta configuracioacuten consulteEstablecimiento de liacutemites decapacidad en el grupo de Auto Scaling

3 Defina el nuacutemero deseado de instancias EC2 en1

Esto es opcional si la capacidad deseada es superior a1Para empezar Al reducirlo a1 la instanciatardaraacute menos tiempo en aprovisionar e implementar maacutes adelante lo que acelera la solucioacuten deproblemas Si su Auto ScalingCapacidad deseadase establecioacute originalmente en0 debes aumentarloa1 Es obligatorio

Note

En los pasos restantes de este procedimiento se supone que ha configurado suCapacidaddeseadaa1

a Abra la consola de Amazon EC2 Auto Scaling en httpsconsoleawsamazoncomec2autoscaling

Versioacuten de API 2014-10-06484

AWS CodeDeploy Guiacutea del usuarioError laquoLa implementacioacuten ha fallado porque no se han

encontrado instancias para el grupo de implementacioacutenraquo

b Elija la regioacuten apropiadac Vaya al grupo problemaacutetico de Auto Scalingd EnDetalles del grupo eligeEditare EstablezcaCapacidad deseadaa1f Elija Update (Actualizar)

4 Anular el registro del grupo Auto Scaling del grupo de implementacioacuten

Warning

Los siguientes pasos secundarios lanzaraacuten una nueva instancia EC2 sin software en ellaAntes de ejecutar el comando aseguacuterese de que una Auto ScalingInServiceinstancia queno ejecuta ninguacuten software es aceptable Por ejemplo aseguacuterese de que el equilibrador decarga no estaacute enviando traacutefico a este host sin software

a Abra el icono CodeDeploy Consola de enhttpsconsoleawsamazoncomcodedeployb Elija la regioacuten apropiadac En el panel de navegacioacuten elija Applications (Aplicaciones)d Elija el nombre de su CodeDeploy revisiones dee Elija el nombre de su CodeDeploy grupo de implementacionesf Elija Edit (Editar)g EnConfiguracioacuten del entorno anule la seleccioacuten deGrupos de Auto Scaling de Amazon EC2

Note

La consola no permite guardar la configuracioacuten si no hay ninguna configuracioacuten deentorno definida Para omitir la comprobacioacuten agregue temporalmente una etiquetadeEC2oOn-premisesque sabes que no resolveraacuten a ninguacuten host Para agregar unaetiqueta seleccioneInstancias de Amazon EC2oInstancia on-premisesy agregar unaetiquetaClavedeEC2oOn-premises Puede dejar la etiquetaValorvaciacuteo

h Elija Save changes (Guardar cambios)

Despueacutes de completar estos pasos secundarios se produce lo siguiente

i CodeDeploy anula el registro del grupo Auto Scaling del grupo de implementacioacutenii CodeDeploy elimina el enlace de ciclo de vida de Auto Scaling del grupo de Auto Scalingiii Dado que el gancho que provocaba una implementacioacuten fallida ya no estaacute presente Auto

Scaling cancela la instancia EC2 existente e inicia inmediatamente una nueva para escalar ala capacidad deseada La nueva instancia deberiacutea pasar prontoInServiceestado La nuevainstancia no incluye software

5 Espere a que la instancia EC2 introduzca elInServiceestado Para verificar su estado

a Abra la consola de Amazon EC2 en httpsconsoleawsamazoncomec2b En el panel de navegacioacuten elija Auto Scaling Groups (Grupos de )c Elija el grupo de Auto Scalingd En el panel de contenido elija laAdministracioacuten de instanciastabuladore UNDERInstancias aseguacuterese de que elCiclo de vidacolumna indicaInServicejunto a la instancia

6 Vuelva a registrar el grupo de Auto Scaling con el CodeDeploy grupo de despliegue utilizando elmismo meacutetodo que utilizoacute para eliminarlo

a Abra el icono CodeDeploy Consola de enhttpsconsoleawsamazoncomcodedeployb Elija la regioacuten apropiadac En el panel de navegacioacuten elija Applications (Aplicaciones)d Elija el nombre de su CodeDeploy revisiones de

Versioacuten de API 2014-10-06485

AWS CodeDeploy Guiacutea del usuarioCoacutedigos de error

e Elija el nombre de su CodeDeploy grupo de implementacionesf Elija Edit (Editar)g EnConfiguracioacuten del entorno seleccioneGrupos de Auto Scaling de Amazon EC2y seleccione el

grupo Auto Scaling de la listah UNDERInstancias de Amazon EC2oInstancias on-premises busca la etiqueta que has agregado

y quiacutetalai Anule la seleccioacuten de la casilla situada junto aInstancias de Amazon EC2oInstancias on-premisesj Elija Save changes (Guardar cambios)

Esta configuracioacuten vuelve a instalar el gancho del ciclo de vida en el grupo Auto Scaling7 Cree una implementacioacuten en toda la flota con Amazon S3 o GitHub revisioacuten que sabe que es

saludable y desea usar

Por ejemplo si la revisioacuten es un archivozip en un bucket de Amazon S3 denominadomy-revision-bucketcon una clave de objeto dehttpd_appzip realice una de las siguientes opciones

a En el navegador CodeDeploy Consola de en laGrupo de implementacionespaacutegina elijaCrearimplementacioacuten

b En Revision type (Tipo de revisioacuten) elija My application is stored in Amazon S3 (Mi aplicacioacuten estaacutealmacenada en Amazon S3)

c ParaUbicacioacuten de revisioacuten eliges3my-revision-buckethttpd_appzipd ParaTipo de archivo de revisioacuten eligezipe Elija Create deployment (Crear implementacioacuten)

Puesto que ahora hay unoInServiceen el grupo Auto Scaling esta implementacioacuten deberiacuteafuncionar y ya no deberiacutea ver el errorLa implementacioacuten ha fallado porque no se han encontradoinstancias para el grupo de implementacioacuten

8 Una vez que la implementacioacuten se haya realizado correctamente vuelva a escalar el grupo AutoScaling a la capacidad original si lo ha escalado previamente en

a Abra la consola de Amazon EC2 Auto Scaling en httpsconsoleawsamazoncomec2autoscaling

b Elija la regioacuten apropiadac Vaya a su grupo de Auto Scalingd EnDetalles del grupo eligeEditare EstablezcaCapacidad deseadade nuevo a su valor originalf Elija Update (Actualizar)

Coacutedigos de error deAWS CodeDeployEste tema ofrece informacioacuten de referencia acerca de errores de CodeDeploy

Coacutedigo de error Descripcioacuten

AGENT_ISSUE

La implementacioacuten falloacute debido a un problema conel agente de CodeDeploy Aseguacuterese de que elagente estaacute instalado y se ejecuta en todas lasinstancias de este grupo de implementaciones

Maacutes informacioacuten

Versioacuten de API 2014-10-06486

AWS CodeDeploy Guiacutea del usuarioCoacutedigos de error

Coacutedigo de error Descripcioacutenbull Verifique que el agente de CodeDeploy esteacute en

ejecucioacuten (p 186)bull Instalacioacuten del agente de CodeDeploy (p 189)bull Trabajar con el agente de CodeDeploy (p 175)

AUTO_SCALING_IAM_ROLE_PERMISSIONS

El rol de servicio asociado a su grupo deimplementaciones no tiene el permisonecesario para llevar a cabo operacionesdeAWSservicioservicio

Maacutes informacioacuten

bull Paso 2 Creacioacuten de un rol de servicio paraCodeDeploy (p 36)

bull Creacioacuten de un rol para delegar permisos aunAWSService (Servicio)

HEALTH_CONSTRAINTS

La implementacioacuten global falloacute porquefallaron demasiadas instancias individualesde la implementacioacuten hay muy pocasinstancias en buen estado disponibles para laimplementacioacuten o algunas instancias de su grupode implementaciones tienen problemas

Maacutes informacioacuten

bull Instance Health (p 259)bull Solucioacuten de problemas de instancias (p 472)bull Solucioacuten de problemas de implementacioacuten EC2

On-premises (p 462)

HEALTH_CONSTRAINTS_INVALID

La implementacioacuten no puede comenzar porqueno hay el nuacutemero miacutenimo de instancias en buenestado tal como define la configuracioacuten deimplementacioacuten Puede reducir el nuacutemero deinstancias en buen estado necesario actualizandola configuracioacuten de implementacioacuten o aumentandoel nuacutemero de instancias de este grupo deimplementaciones

Maacutes informacioacuten

bull Instance Health (p 259)bull Trabajo con instancias para CodeDeploy (p 207)

Versioacuten de API 2014-10-06487

AWS CodeDeploy Guiacutea del usuarioCoacutedigos de error

Coacutedigo de error Descripcioacuten

IAM_ROLE_MISSING

La implementacioacuten falloacute porque no existe ninguacutenrol de servicio con el nombre especificado para elgrupo de implementaciones Aseguacuterese de queutiliza el nombre de rol de servicio correcto

Maacutes informacioacuten

bull Paso 2 Creacioacuten de un rol de servicio paraCodeDeploy (p 36)

bull Cambiar la configuracioacuten del grupo deimplementacioacuten con CodeDeploy (p 301)

IAM_ROLE_PERMISSIONS

CodeDeploy no tiene los permisos necesarios paraasumir un rol o el rol de IAM que estaacute utilizandono le da permiso para realizar operaciones enunAWSservicioservicio

Maacutes informacioacuten

bull Paso 3 Provisionar un usuario de IAM (p 41)bull Paso 2 Creacioacuten de un rol de servicio para

CodeDeploy (p 36)bull Paso 4 Crear un perfil de instancias de IAM para

sus instancias Amazon EC2 (p 43)

Versioacuten de API 2014-10-06488

AWS CodeDeploy Guiacutea del usuarioCoacutedigos de error

Coacutedigo de error Descripcioacuten

NO_INSTANCES

Esto podriacutea deberse a una de las siguientescausas

bull Si se trata de una implementacioacuten bluegreende EC2local si utiliza etiquetas de AmazonEC2 es posible que estas etiquetas no esteacutenconfiguradas correctamente En su grupo deimplementaciones de CodeDeploy aseguacuteresede que se incluyen en sus instancias blue ygreen Puede confirmar que las instancias estaacutenetiquetadas correctamente a traveacutes de la consolade Amazon EC2

bull Si utiliza un grupo de Auto Scaling de AmazonEC2 es posible que su grupo de Auto Scalingno tenga capacidad suficiente Aseguacuterese deque su grupo de Auto Scaling tenga capacidadsuficiente para su implementacioacuten Puedeconsultar la capacidad de su grupo de AutoScaling de Amazon EC2 observando el nuacutemerode instancias en buen estado mediante laconsola de Amazon EC2

bull Si se trata de una implementacioacuten bluegreen deEC2local es posible que las flotas blue y greenno tengan el mismo tamantildeo Aseguacuterese de queambas flotas tengan el mismo tamantildeo

Maacutes informacioacuten

bull Tagging Instances for Deployments (p 209)bull Tutorial UsarCodeDeploypara implementar una

aplicacioacuten en un grupo de Auto Scaling (p 110)bull Cree una aplicacioacuten para una implementacioacuten

bluegreen (consola) (p 276)

OVER_MAX_INSTANCES

La implementacioacuten falloacute porque desea implementarmaacutes instancias de las que estaacuten autorizadas parasu cuenta Para reducir el nuacutemero de instanciasque desea implementar actualice la configuracioacutende etiqueta de este grupo de implementacioneso elimine algunas de las instancias de destinoTambieacuten puede ponerse en contacto conAWSSupportpara solicitar un aumento de liacutemites

Maacutes informacioacuten

bull Cambiar la configuracioacuten del grupo deimplementacioacuten con CodeDeploy (p 301)

bull liacutemites de CodeDeploy (p 454)bull Solicitar un aumento del liacutemite

Versioacuten de API 2014-10-06489

AWS CodeDeploy Guiacutea del usuarioTemas relacionados

Coacutedigo de error Descripcioacuten

THROTTLED

La implementacioacuten falloacute porque un rol de IAMrealizoacute maacutes solicitudes de las permitidas paraAWS CodeDeploy Intente reducir el nuacutemero desolicitudes

Maacutes informacioacuten

bull Tasa de solicitudes de la API de consulta

UNABLE_TO_SEND_ASG

La implementacioacuten falloacute porque el grupode implementaciones no estaacute configuradocorrectamente con su grupo de Auto Scaling deAmazon EC2 En la consola de CodeDeployelimine el grupo de Amazon EC2 Auto Scalingdel grupo de implementaciones y a continuacioacutenantildeaacutedalo de nuevo

Maacutes informacioacuten

bull Entre armazones Integracioacuten de CodeDeploy yAuto Scaling

Temas relacionadosSolucioacuten de problemas de CodeDeploy (p 459)

Versioacuten de API 2014-10-06490

AWS CodeDeploy Guiacutea del usuarioGuiacuteas de referencia y recursos de soporte

Recursos de CodeDeployLos recursos relacionados siguientes pueden serle de ayuda cuando trabaje con CodeDeploy

Guiacuteas de referencia y recursos de soportebull AWS CodeDeployReferencia de la API descripciones sintaxis y ejemplos de uso de acciones de

CodeDeploy y tipos de datos incluidos los paraacutemetros y los coacutedigos de error maacutes comunesbull Preguntas teacutecnicas de CodeDeploy las principales preguntas de los clientes acerca de CodeDeploybull AWScentro de asistencia centro para crear y administrar suAWS Supportcasos Tambieacuten incluye

enlaces a otros recursos como foros preguntas teacutecnicas frecuentes estado de los servicios yAWSTrusted Advisor

bull AWSplanes de soporte paacutegina web principal con informacioacuten acerca deAWS Supportplanesbull Contacte con nosotros un punto central de contacto para las consultas relacionadas con la facturacioacuten

de AWS cuentas eventos uso indebido y otros problemasbull AWSteacuterminos del sitio informacioacuten detallada acerca de nuestros derechos de autor y marca comercial

su cuenta licencia y acceso al sitio entre otros temas

Muestrasbull Ejemplos de CodeDeploy en GitHub ejemplos y escenarios de plantillas para CodeDeploybull Complemento CodeDeploy Jenkinsmdash Complemento Jenkins para CodeDeploybull Agente CodeDeploy versioacuten de coacutedigo abierto del agente CodeDeploy

Blogsbull AWSBlog DevOps informacioacuten para desarrolladores administradores de sistemas y arquitectos

AWSkits y herramientas de desarrollo de softwareLos siguientes ejemplos deAWSLos SDK y herramientas de admiten el desarrollo de soluciones conCodeDeploy

bull AWS SDK for NETbull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHPbull AWS SDK for Python (Boto)bull AWS SDK for Rubybull AWS Toolkit for Eclipsemdash Piezas12 y3bull AWS Tools for Windows PowerShell un conjunto de cmdlets de Windows PowerShell que exponen la

funcionalidad de AWS SDK for NET en el entorno de PowerShell

Versioacuten de API 2014-10-06491

AWS CodeDeploy Guiacutea del usuarioAWSkits y herramientas de desarrollo de software

bull cmdlets CodeDeploy en elAWS Tools for PowerShell un conjunto de cmdlets de Windows PowerShellque exponen la funcionalidad de CodeDeploy en el entorno de PowerShell

bull AWS Command Line Interface una sintaxis de liacutenea de comandos uniforme para acceder a los serviciosde AWS La AWS CLI utiliza un uacutenico proceso de configuracioacuten para permitir el acceso a todos losservicios compatibles

bull AWSherramientas para desarrolladores enlaces a herramientas y recursos para desarrolladores queproporcionan documentacioacuten ejemplos de coacutedigo notas de la versioacuten y otra informacioacuten para ayudarle acrear aplicaciones innovadoras con CodeDeploy yAWS

Versioacuten de API 2014-10-06492

AWS CodeDeploy Guiacutea del usuario

Historial de documentosEn la siguiente tabla se describen los principales cambios que se han realizado en esta guiacutea delusuario para antildeadir una funcionalidad nueva y mejorada desde la uacuteltima versioacuten deGuiacutea del usuario deCodeDeploy

bull Versioacuten de la API 06102014bull Uacuteltima actualizacioacuten de la documentacioacuten8 de abril de 2022

update-history-change update-history-description update-history-date

Se ha antildeadido una tablaque muestra el CodeDeployendpoints admitidos en cadaregioacuten (p 493)

Para obtener maacutes informacioacutenconsulteUsar CodeDeploy conAmazon Virtual Private Cloud

20 de abril de 2022

Se ha antildeadido un nuevo liacutemitepara las implementaciones bluegreen (azulverde) de AmazonECS (p 493)

El nuacutemero maacuteximo de horasentre la implementacioacuten deuna revisioacuten y el desviacuteo deltraacutefico al entorno de sustitucioacutendurante una implementacioacutenbluegreen de AmazonECS ahora es de 120 Paraobtener maacutes informacioacutenconsulteImplementacionesenlaLiacutemitestema

12 de abril de 2022

Se ha antildeadido un tema sobrecoacutemo evitar el problema delsuplente confuso (p 493)

Para obtener maacutes informacioacutenconsulteAWS Identity andAccess ManagementparaAWSCodeDeploy

14 de marzo de 2022

CodeDeploy ha actualizadoun existenteAWSpoliacuteticaadministrada (p 493)

LaAmazonEC2RoleforAWSCodeDeployLimitedseha actualizado el rol Paraobtener maacutes informacioacutenconsulteAWSactualizaciones depoliacuteticas administradas

22 de noviembre de 2021

CodeDeploy ha actualizadoun existenteAWSpoliacuteticaadministrada (p 493)

LaAWSCodeDeployRoleseha actualizado Paraobtener maacutes informacioacutenconsulteAWSactualizaciones depoliacuteticas administradas

18 de mayo de 2021

Versioacuten 132 del agente deCodeDeploy (p 493)

LaAWS CodeDeployagente de seha actualizado a la versioacuten 132Para obtener maacutes informacioacutenconsulteHistorial de versiones delCodeDeploy Agente

6 de mayo de 2021

CodeDeploy admitela actualizacioacuten deinstancias de Amazon EC2obsoletas (p 493)

CodeDeploy ahora admitela actualizacioacuten automaacuteticade instancias AmazonEC2 obsoletas Paraobtener maacutes informacioacuten

23 de febrero de 2021

Versioacuten de API 2014-10-06493

AWS CodeDeploy Guiacutea del usuario

consulteConfiguracioacuten de lasopciones avanzadas de un grupode implementaciones

Versioacuten 131 del agente deCodeDeploy (p 493)

LaAWS CodeDeployagente de seha actualizado a la versioacuten 131Para obtener maacutes informacioacutenconsulteHistorial de versiones delCodeDeploy Agente

22 de diciembre de 2020

Versioacuten 130 del agente deCodeDeploy (p 493)

LaAWS CodeDeployagente de seha actualizado a la versioacuten 130Para obtener maacutes informacioacutenconsulteHistorial de versiones delCodeDeploy Agente

10 de noviembre de 2020

Versioacuten 121 del agente deCodeDeploy (p 493)

LaAWS CodeDeployagente de seha actualizado a la versioacuten 121Para obtener maacutes informacioacutenconsulteHistorial de versiones delCodeDeploy Agente

23 de septiembre de 2020

CodeDeploy admite puntosde enlace de AmazonVPC con tecnologiacuteaAWSPrivateLink (p 493)

Si utiliza Amazon Virtual PrivateCloud (Amazon VPC) para alojarsuAWS puede establecer unaconexioacuten privada entre su VPCy CodeDeploy Puede utilizaresta conexioacuten para habilitarque CodeDeploy se comuniquecon sus recursos en su VPCsin pasar por la red puacuteblicade Internet Para obtener maacutesinformacioacuten consulteUsarCodeDeploy con Amazon VirtualPrivate Cloud

11 de agosto de 2020

Actualizado CodeDeploy liacutemitesde los servicios (p 493)

Se ha actualizado el liacutemitepara el nuacutemero de aplicacionespor cuenta y el nuacutemero degrupos de implementacioacutenpor aplicacioacuten a 1000 Paraobtener maacutes informacioacuten sobrelas CodeDeploy liacutemites deservicio de consulteliacutemites deCodeDeploy

6 de agosto de 2020

Versioacuten del agente CodeDeployv112 (p 493)

LaAWS CodeDeployagente de seha actualizado a la versioacuten 112Para obtener maacutes informacioacutenconsulteHistorial de versiones delCodeDeploy Agente

4 de agosto de 2020

Versioacuten de API 2014-10-06494

AWS CodeDeploy Guiacutea del usuario

Versioacuten 110 del agente deCodeDeploy de e integracioacutencon Amazon EC2 SystemsManager (p 493)

Versioacuten 110 del CodeDeployagente ya estaacute disponiblepara obtener maacutes informacioacutenconsulteHistorial de versionesdel CodeDeploy agenteAhora puede utilizar AmazonEC2 Systems Manager paraadministrar automaacuteticamentesu CodeDeploy instalacioacuten yactualizaciones del agente deen sus instancias de AmazonEC2 o en las instalacionesPara obtener maacutes informacioacutenconsulteInstale el agente deCodeDeploy mediante AmazonEC2 Systems Manager

30 de junio de 2020

CodeDeploy admite lagestioacuten de implementacionesbluegreen (azulverde)de Amazon ECS conAWSCloudFormation (p 493)

A partir de ahora puedeutilizarAWS CloudFormationparaadministrar las implementacioneslaquobluegreenraquo de Amazon ECSa traveacutes de CodeDeploy Paragenerar la implementacioacutendefina los recursos verdesy azules y especifique laconfiguracioacuten de enrutamientoy estabilizacioacuten del traacuteficoque se va a utilizar en AWSCloudFormation Para obtenermaacutes informacioacuten consulteCrearuna implementacioacuten bluegreen(azulverde) de Amazon ECSmedianteAWS CloudFormation

19 de mayo de 2020

CodeDeploy admite la desviacioacutenponderada del traacutefico paraimplementaciones bluegreen deAmazon ECS (p 493)

CodeDeploy admite ahorala desviacioacuten ponderada deltraacutefico para implementacionesbluegreen de Amazon ECSPuede elegir o crear unaconfiguracioacuten de implementacioacutenpara especificar el nuacutemero deintervalos de cambio de traacutefico dela implementacioacuten y el porcentajede traacutefico que se va a cambiar encada intervalo Se ha actualizadoel tema siguiente para reflejareste cambio Configuracionesde implementacioacuten en unaplataforma de computacioacutenAmazon ECS

6 de febrero de 2020

Se han actualizado los temas deseguridad autenticacioacuten y controlde acceso (p 493)

Informacioacuten de control de accesoautenticacioacuten y seguridad paraCodeDeploy se ha organizado enun nuevo capiacutetulo de seguridadPara obtener maacutes informacioacutenconsulte Seguridad

26 de noviembre de 2019

Versioacuten de API 2014-10-06495

AWS CodeDeploy Guiacutea del usuario

CodeDeploy admite reglas denotificacioacuten (p 493)

Ahora puede usar reglas denotificacioacuten para notificar a losusuarios los cambios importantesen las implementacionesPara obtener maacutes informacioacutenconsulte Create a notificationrule

5 de noviembre de 2019

Temas actualizados (p 493) Ahora CodeDeploy estaacutedisponible en la regioacuten Asia-Paciacutefico (Hong Kong) (ap-east-1)Varios temas incluidos los quecontienen instrucciones paraconfigurar el CodeDeploy se han actualizado parareflejar la disponibilidad deesta nueva regioacuten Debehabilitar expliacutecitamente elacceso a esta regioacuten Paraobtener maacutes informacioacutenconsulteAdministracioacutenAWSRegionesde

25 de abril de 2019

Temas actualizados (p 493) AWS CodeDeployahoraadmite implementaciones bluegreen de una aplicacioacuten encontenedor en un servicio deAmazon ECS UNA CodeDeployaplicacioacuten de que utiliza la nuevaplataforma de procesamientode Amazon ECS implementauna aplicacioacuten en contenedoren un nuevo conjunto de tareasde sustitucioacuten en el mismoservicio de Amazon ECS Sehan antildeadido y actualizado variostemas para reflejar este cambiocomoInformacioacuten general deAWSCodeDeployplataformas decomputacioacutenImplementacionesen una plataforma decomputacioacuten AmazonECSEstructura de archivos deAppSpec para implementacionesde Amazon ECS yCreacioacutende una aplicacioacuten para unaimplementacioacuten de servicios deAmazon ECS (consola)

27 de noviembre de 2018

Actualizado CodeDeployagente (p 493)

El agente de AWS CodeDeployse ha actualizado a la versioacuten1011597 Para obtener maacutesinformacioacuten consulteHistorialde versiones del CodeDeployagente

15 de noviembre de 2018

Versioacuten de API 2014-10-06496

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Consola actualizada (p 493) Los procedimientos en esta guiacutease han actualizado para quecoincidan con el nuevo disentildeo dela consola de CodeDeploy

30 de octubre de 2018

Nueva versioacuten miacutenimaadmitida del CodeDeployagente (p 493)

La versioacuten miacutenima admitidadelAWS CodeDeployes ahora110 Para obtener maacutesinformacioacuten consulteHistorialde versiones del CodeDeployagente

7 de agosto de 2018

Actualizaciones anterioresEn la siguiente tabla se describen los cambios importantes de cada versioacuten de la Guiacutea del usuario de AWSCodeDeploy anteriores a junio de 2018

Cambio Descripcioacuten Fecha demodificacioacuten

Actualizaciones detemas

Ahora CodeDeploy estaacute disponible en la regioacuten UE (Pariacutes) (eu-west-3) Varios temas incluidos los que contienen instruccionespara configurar el CodeDeploy se han actualizado para reflejarla disponibilidad de esta nueva regioacuten

19 dediciembre de2017

Temas actualizados CodeDeploy ya se encuentra disponible en la regioacuten China(Ningxia)

Para utilizar servicios en la regioacuten de China (Pekiacuten) o China(Ningxia) debe disponer de una cuenta y de credencialespara dichas regiones Cuentas y credenciales de otrosAWSnofuncionan para las regiones de Pekiacuten y Ningxia y viceversa

Informacioacuten sobre algunos recursos para las regiones deChina como CodeDeploy Nombres de bucket del kit derecursos y CodeDeploy los procedimientos de instalacioacuten delagente no se incluyen en esta edicioacuten delGuiacutea del usuario deCodeDeploy

Para obtener maacutes informacioacuten

bull CodeDeployenIntroduccioacuten aAWSen la regioacuten China (Pekiacuten)bull Guiacutea del usuario de CodeDeploy para las regiones de

China(Versioacuten en ingleacutes|Versioacuten en chino)

11 dediciembre de2017

Temas actualizados CodeDeploy admite ahora la implementacioacuten de unafuncioacuten Lambda La implementacioacuten de AWS Lambdadesviacutea el traacutefico entrante de una funcioacuten Lambda existentea una versioacuten actualizada de la funcioacuten Lambda Puedeelegir o crear una configuracioacuten de implementacioacuten paraespecificar el nuacutemero de intervalos de cambio de traacutefico de laimplementacioacuten y el porcentaje de traacutefico que se va a cambiaren cada intervaloAWS Lambdalas implementaciones estaacutensoportadas por elAWSModelo de aplicacioacuten sin servidor de(AWSSAM) para que puedas usar unAWSPreferencia de

28 denoviembre de2017

Versioacuten de API 2014-10-06497

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

implementacioacuten de SAM para administrar la forma en que secambia el traacutefico durante unAWS LambdaimplementacioacutenSe han antildeadido y actualizado varios temas para reflejareste cambio como Descripcioacuten general de las plataformasinformaacuteticas de CodeDeploy (p 2) Implementaciones enunaAWSPlataforma de computacioacuten Lambda (p 16) Creacioacutende unAWSImplementacioacuten de Lambda Compute Platform(consola) (p 328) Cree una aplicacioacuten para unaAWSLambdaimplementacioacuten de funciones (consola) (p 281) yAdicioacuten de un archivo AppSpec para unAWSImplementacioacuten deLambda (p 310)

Nuevo tema Ahora CodeDeploy admite implementaciones directamente enuna instancia o equipo local en el que CodeDeploy agente estaacuteinstalado Puede probar una implementacioacuten de manera localy si contiene errores deba utilizar CodeDeploy registros deerrores del agente para depurarlos Tambieacuten puede usar unaimplementacioacuten local para probar la integridad de una revisioacutende la aplicacioacuten el contenido de un AppSpec archivo y maacutesPara obtener maacutes informacioacuten consulte Usar el agente deCodeDeploy para validar un paquete de implementacioacuten en unamaacutequina local (p 352)

16 denoviembre de2017

Temas actualizados La compatibilidad con CodeDeploy para los balanceadoresde carga de Elastic Load Balancing en los grupos deimplementaciones se ha ampliado para incluir balanceadoresde carga de red para las implementaciones laquobluegreenraquo (azulverde) como para las implementaciones in situ Ahorapuede elegir un Application Load Balancer un ClassicLoad Balancer o un Network Load Balancer para su grupode implementaciones Los balanceadores de carga sonobligatorios para las implementaciones ldquobluegreenrdquo (azulverde) y opcionales para las implementaciones in situ Variostemas se han actualizado para reflejar esta compatibilidadadicional tales como Integrating CodeDeploy with ElasticLoad Balancing (p 57) Cree una aplicacioacuten para unaimplementacioacuten in situ (consola) (p 274) Requisitos previospara la implementacioacuten (p 324) Integrating CodeDeploy withElastic Load Balancing (p 57) y Cree una aplicacioacuten para unaimplementacioacuten in situ (consola) (p 274)

12 deseptiembre de2017

Versioacuten de API 2014-10-06498

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Temas actualizados La compatibilidad con de CodeDeploy para los balanceadoresde carga de Elastic Load Balancing en los grupos deimplementaciones se ha ampliado para incluir a losbalanceadores de carga de aplicaciones tanto para lasimplementaciones laquobluegreenraquo (azulverde) como para lasAhora puede elegir entre un Application Load Balancer y unClassic Load Balancer para su grupo de implementacioacutenLos balanceadores de carga son obligatorios para lasimplementaciones ldquobluegreenrdquo (azulverde) y opcionalespara las implementaciones in situ Los temas IntegratingCodeDeploy with Elastic Load Balancing (p 57) Crear unaaplicacioacuten con CodeDeploy (p 273) y Creacioacuten de un grupo deimplementaciones con CodeDeploy (p 288) se han actualizadopara reflejar esta compatibilidad adicional

10 de agostode 2017

Temas nuevos yactualizados

Ahora CodeDeploy admite el uso de varios grupos de etiquetaspara identificar uniones e intersecciones de instancias que seincluiraacuten en un grupo de implementaciones de Si utiliza unuacutenico grupo de etiquetas cualquier instancia que se identifiquemediante al menos una etiqueta del grupo se incluye enel grupo de implementaciones Si utiliza varios grupos deetiquetas solo se incluyen las instancias que se identifican poral menos una etiqueta en cada uno de los grupos de etiquetasPara obtener maacutes informacioacuten sobre el nuevo meacutetodo deantildeadir instancias a un grupo de implementaciones consulteTagging Instances for Deployments (p 209) Entre otrostemas que se han actualizado para reflejar esta compatibilidadse incluyen Cree una aplicacioacuten para una implementacioacutenin situ (consola) (p 274) Cree una aplicacioacuten para unaimplementacioacuten bluegreen (consola) (p 276) Crear ungrupo de implementaciones para una implementacioacuten insitu (consola) (p 289) Crear un grupo de implementacionespara una implementacioacuten EC2On-Premises bluegreen(consola) (p 291) Deployments (p 16) y Paso 5 Crearuna aplicacioacuten y un grupo de implementaciones (p 133) enTutorial Usa CodeDeploy para desplegar una aplicacioacuten desdeGitHub (p 127)

31 de julio de2017

Tema actualizado Dos meacutetodos adicionales para instalar la CodeDeploy agentede instancias de Windows Server se ha antildeadido aInstale elagente de CodeDeploy para Windows Server (p 193) Ademaacutesde Windows PowerShell ahora hay instrucciones disponiblespara descargar el archivo de instalacioacuten mediante un enlaceHTTPS directo y usando un comando copy de Amazon S3Una vez que el archivo se haya descargado o copiado en unainstancia puede ejecutar la instalacioacuten manualmente

12 de julio de2017

Versioacuten de API 2014-10-06499

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Temas actualizados CodeDeploy ha mejorado la forma en que administra lasconexiones a GitHub cuentas y repositorios Ahora puede creary actualizar hasta 25 conexiones a cuentas de GitHub paraasociar CodeDeploy aplicaciones con GitHub repositoriosCada conexioacuten puede admitir muacuteltiples repositorios Puedecrear conexiones hasta 25 diferentes GitHub cuentas o creemaacutes de una conexioacuten con una cuenta uacutenica Despueacutes deconectar una aplicacioacuten a una cuenta de GitHub CodeDeployadministra los permisos de acceso requeridos sin requerirque haga nada maacutes Las actualizaciones que reflejan estacompatibilidad se realizaron en Especificar informacioacuten sobreuna revisioacuten almacenada en un repositorio de GitHub (p 332)Integracioacuten de CodeDeploy con GitHub (p 63) y TutorialUsa CodeDeploy para desplegar una aplicacioacuten desdeGitHub (p 127)

30 de mayode 2017

Temas actualizados En el pasado si el CodeDeploy el agente de detectoacute archivosen una ubicacioacuten de destino que no formaba parte de larevisioacuten de la aplicacioacuten desde la implementacioacuten correctamaacutes reciente la implementacioacuten actual produciriacutea un errorde forma predeterminada CodeDeploy Ahora proporcionaopciones para la forma en que el agente administra estosarchivos hace fracasar la implementacioacuten conserva elcontenido o sobrescribe el contenidoCree una implementacioacutencon CodeDeploy (p 324)se ha actualizado para reflejar estacompatibilidad y la nueva seccioacutenComportamiento de reversioacutencon contenido existente (p 347)se ha antildeadido aRedesplegar ydeshacer una implementacioacuten con CodeDeploy (p 345)

16 de mayode 2017

Temas actualizados Ahora se puede asignar una Classic Load BalancerLoad Balancing en Elastic Load Balancing a un grupo deimplementaciones utilizando el CodeDeploy consola oAWSCLI Durante una implementacioacuten local el balanceador decarga impide que el traacutefico de Internet se dirija a la instanciaen la que estaacute ocurriendo y la vuelve a poner a disposicioacutenuna vez finalizada dicha implementacioacuten Se han actualizadovarios temas para reflejar esta nueva compatibilidadincluidos Integracioacuten con otros servicios de AWS (p 48)Integrating CodeDeploy with Elastic Load Balancing (p 57)Cree una aplicacioacuten para una implementacioacuten in situ(consola) (p 274) Crear un grupo de implementaciones parauna implementacioacuten in situ (consola) (p 289) y la Seccioacutenhooks de AppSpec (p 422) Se ha antildeadido una seccioacuten nuevaa la guiacutea de solucioacuten de problemas Solucioacuten de problemas conun error ApplicationStop BeforeBlockTraffic o AfterBlockTrafficevento del ciclo de vida de la implementacioacuten (p 468)

27 de abril de2017

Versioacuten de API 2014-10-06500

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Temas actualizados Ahora se puede asignar una Classic Load BalancerLoad Balancing en Elastic Load Balancing a un grupo deimplementaciones utilizando el CodeDeploy consola oAWSCLI Durante una implementacioacuten local el balanceador decarga impide que el traacutefico de Internet se dirija a la instanciaen la que estaacute ocurriendo y la vuelve a poner a disposicioacutenuna vez finalizada dicha implementacioacuten Se han actualizadovarios temas para reflejar esta nueva compatibilidadincluidos Integracioacuten con otros servicios de AWS (p 48)Integrating CodeDeploy with Elastic Load Balancing (p 57)Cree una aplicacioacuten para una implementacioacuten in situ(consola) (p 274) Crear un grupo de implementaciones parauna implementacioacuten in situ (consola) (p 289) y la Seccioacutenhooks de AppSpec (p 422) Se ha antildeadido una seccioacuten nuevaa la guiacutea de solucioacuten de problemas Solucioacuten de problemas conun error ApplicationStop BeforeBlockTraffic o AfterBlockTrafficevento del ciclo de vida de la implementacioacuten (p 468)

1 de mayo de2017

Temas actualizados CodeDeploy ya se encuentra disponible en la regioacuten China(Pekiacuten)

Para utilizar servicios en la regioacuten de China (Pekiacuten) o China(Ningxia) debe disponer de una cuenta y de credencialespara dichas regiones Cuentas y credenciales de otrosAWSnofuncionan para las regiones de Pekiacuten y Ningxia y viceversa

Informacioacuten sobre algunos recursos para las regiones deChina como CodeDeploy Nombres de bucket del kit derecursos y CodeDeploy los procedimientos de instalacioacuten delagente no se incluyen en esta edicioacuten delGuiacutea del usuario deCodeDeploy

Para obtener maacutes informacioacuten

bull CodeDeployenIntroduccioacuten aAWSen la regioacuten China (Pekiacuten)bull Guiacutea del usuario de CodeDeploy para las regiones de

China(Versioacuten en ingleacutes|Versioacuten en chino)

29 de marzode 2017

Versioacuten de API 2014-10-06501

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Temas nuevos yactualizados

Se han introducido varios temas nuevos para reflejar nuevosCodeDeploy compatibilidad con las implementaciones laquobluegreenraquo (azulverde) un meacutetodo de implementacioacuten en el quelas instancias de un grupo de implementacioacuten (el entornooriginal) se sustituye por otro conjunto de instancias (el entornode sustitucioacuten)Descripcioacuten general de una implementacioacutenlaquobluegreenraquo (p 9)proporciona una explicacioacuten general dela metodologiacutea laquobluegreenraquo que utiliza CodeDeploy Lostemas adicionales nuevos incluyen Cree una aplicacioacuten parauna implementacioacuten bluegreen (consola) (p 276) Crearun grupo de implementaciones para una implementacioacutenEC2On-Premises bluegreen (consola) (p 291) y Configurarun equilibrador de carga en Elastic Load Balancing paraimplementaciones de CodeDeploy Amazon EC2 (p 295)

Ademaacutes se han actualizado numerosos temas incluidosCree una implementacioacuten con CodeDeploy (p 324) Uso deconfiguraciones de implementacioacuten en CodeDeploy (p 264)Crear una aplicacioacuten con CodeDeploy (p 273) Trabajar congrupos de implementaciones en CodeDeploy (p 287) Usode las implementaciones en CodeDeploy (p 323) y la Seccioacutenhooks de AppSpec (p 422)

25 de enerode 2017

Temas nuevos yactualizados

Hay un tema nuevo Utilice el comando register-on-premises-instance (ARN de sesioacuten de IAM) para registrar una instanciaon-premises (p 246) que describe la forma de autenticary registrar las instancias on-premises mediante el uso decredenciales temporales actualizadas perioacutedicamentegeneradas con AWS Security Token Service Este enfoqueproporciona una mejor compatibilidad para admitir grandesflotas de instancias on-premises que solamente el uso decredenciales estaacuteticas de un usuario de IAM en cada instanciaWorking with On-Premises Instances (p 230) tambieacuten se haactualizado para reflejar esta nueva compatibilidad

28 dediciembre de2016

Temas actualizados CodeDeploy ya se encuentra disponible en la regioacuten UE(Londres) (eu-west-2) Varios temas incluidos los quecontienen instrucciones para configurar el CodeDeploy se hanactualizado para reflejar la disponibilidad de esta nueva regioacuten

13 dediciembre de2016

Temas actualizados CodeDeploy ya se encuentra disponible en la regioacuten Canadaacute(Central) (ca-central-1) Varios temas incluidos los quecontienen instrucciones para configurar el CodeDeploy se hanactualizado para reflejar la disponibilidad de esta nueva regioacuten

8 dediciembre de2016

Temas actualizados CodeDeploy ya se encuentra disponible en la regioacuten Este deEE UU (Ohio) (us-east-2) Varios temas incluidos los quecontienen instrucciones para configurar el CodeDeploy se hanactualizado para reflejar la disponibilidad de esta nueva regioacuten

17 de octubrede 2016

Versioacuten de API 2014-10-06502

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Temas nuevos Una nueva seccioacuten Autenticacioacuten y Control de Accesoproporciona informacioacuten completa sobre coacutemo usarAWSIdentity and Access Management(IAM)y CodeDeploypara ayudar a proteger el acceso a los recursos mediantecredenciales Estas credenciales proporcionan los permisosnecesarios para accederAWSrecursos como por ejemplola recuperacioacuten de revisiones de aplicacioacuten de buckets deAmazon S3 y la lectura de etiquetas en instancias de AmazonEC2

11 de octubrede 2016

Tema actualizado Actualizar el agente de CodeDeploy en WindowsServer (p 199)se ha actualizado para reflejar la disponibilidaddel nuevo CodeDeploy actualizador de agente para WindowsServer Cuando se lo instala en una instancia de WindowsServer el actualizador comprobaraacute perioacutedicamente si existennuevas versiones Cuando detecte una nueva versioacuten delagente el actualizador desinstalaraacute la versioacuten actual si la hayantes de instalar la uacuteltima versioacuten

4 de octubrede 2016

Temas actualizados CodeDeploy ahora se integra con Amazon CloudWatch loque hace posible detener una implementacioacuten si se produce uncambio en el estado de una alarma determinada durante variosperiacuteodos consecutivos seguacuten se especifica en el umbral dealarma

Ademaacutes CodeDeploy ahora admite la anulacioacuten automaacutetica deuna implementacioacuten si se cumplen ciertas condiciones comoun error en la implementacioacuten o la activacioacuten de una alarma

Se han actualizado una serie de temas para reflejarestos cambios incluidos Crear una aplicacioacuten conCodeDeploy (p 273) Creacioacuten de un grupo deimplementaciones con CodeDeploy (p 288) Cambiarla configuracioacuten del grupo de implementacioacuten conCodeDeploy (p 301) Deployments (p 16) Redesplegar ydeshacer una implementacioacuten con CodeDeploy (p 345) yIntegraciones de productos y servicios con CodeDeploy (p 48)junto con un tema nuevo Supervisioacuten de implementaciones conalarmas de CloudWatch en CodeDeploy (p 360)

15 deseptiembre de2016

Temas nuevos yactualizados

CodeDeploy ahora proporciona integracioacuten con AmazonCloudWatch Eventos A partir de ahora puede utilizarCloudWatch Eventos para iniciar una o varias acciones cuandose detectan cambios en el estado de una implementacioacuteno de una instancia que pertenece a un CodeDeploy grupode implementaciones Puede incorporar acciones queinvoquenAWS Lambdafunciones de que publican en flujos deKinesis o temas de Amazon SNS que insertan mensajes encolas de Amazon SQS o que a su vez activan CloudWatchacciones de alarma Para obtener maacutes informacioacuten consulteMonitoreo de implementaciones de mediante AmazonCloudWatch Events (p 362)

9 deseptiembre de2016

Versioacuten de API 2014-10-06503

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Actualizaciones detemas

Los temasIntegrating CodeDeploy with Elastic LoadBalancing (p 57)yIntegracioacuten con otros servicios deAWS (p 48)se han actualizado para reflejar una opcioacutenadicional de balanceador de carga CodeDeploy ahoraadmite el Classic Load Balancer y Application Load Balancerdisponibles en Elastic Load Balancing

11 de agostode 2016

Actualizaciones detemas

Ahora CodeDeploy estaacute disponible en la regioacuten Asia-Paciacutefico(Mumbai) (ap-south-1) Varios temas incluidos los quecontienen instrucciones para configurar el CodeDeploy se hanactualizado para reflejar la disponibilidad de esta nueva regioacuten

27 de junio de2016

Actualizaciones detemas

Ahora CodeDeploy estaacute disponible en la regioacuten Asia-Paciacutefico(Seuacutel) (ap-northeast-2) Para reflejar la disponibilidad de estanueva regioacuten se han actualizado varios temas incluidos losque contienen instrucciones para configurar el agente deCodeDeploy

El iacutendice se ha reorganizado y ahora incluye seccionespara instancias configuraciones de implementacioacutenaplicaciones grupos de implementaciones revisiones eimplementaciones Se ha antildeadido una nueva seccioacuten paralos tutoriales de CodeDeploy A fin de facilitar su uso se handividido varios temas largos como Referencia del archivoCodeDeploy AppSpec (p 407) y Solucioacuten de problemas deCodeDeploy (p 459) en temas maacutes cortos La informacioacutensobre configuracioacuten del agente de CodeDeploy se hatrasladado a un tema nuevoReferencia de configuracioacuten delagente CodeDeploy (p 441)

15 de junio de2016

Temas nuevos yactualizados

Coacutedigos de error deAWS CodeDeploy (p 486) proporcionainformacioacuten sobre algunos de los mensajes de error quepodriacutean mostrarse cuando se produce un error en lasimplementaciones de CodeDeploy Se han actualizado las siguientes secciones en Solucioacuten deproblemas de CodeDeploy (p 459) para facilitar la resolucioacutende problemas de implementacioacuten

bull Las instancias EC2 de un grupo de Amazon EC2 AutoScaling no se pueden lanzar y aparece el error laquoHeartbeatTimeoutraquo (p 479)

bull Evite asociar varios grupos de implementaciones a un uacutenicogrupo de Amazon EC2 Auto Scaling (p 478)

20 de abril de2016

Actualizaciones detemas

Ahora CodeDeploy estaacute disponible en la regioacuten de Ameacuterica delSur (Satildeo Paulo) (sa-east-1) Para reflejar la disponibilidad deesta nueva regioacuten se han actualizado varios temas incluidoslos que contienen instrucciones para configurar el agente deCodeDeploy

Trabajar con el agente de CodeDeploy (p 175)se haactualizado para reflejar la nuevamax_revisionsopcioacuten deconfiguracioacuten que se utiliza para especificar el nuacutemero derevisiones de aplicacioacuten para un grupo de implementacionesque desea que CodeDeploy agente para archivar

10 de marzode 2016

Versioacuten de API 2014-10-06504

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Temas nuevos yactualizados

Ahora CodeDeploy admite la incorporacioacuten de disparadoresa un grupo de implementaciones de para recibir notificacionesacerca de los eventos relacionados con las implementacioneso instancias de ese grupo de implementaciones de Estasnotificaciones se enviacutean a los destinatarios que estaacuten suscritosa un tema de Amazon Simple Notification Service que formaparte de la accioacuten del disparador Tambieacuten puede utilizar losdatos JSON que se crean cuando se activa un disparadoren un flujo de trabajo de notificacioacuten personalizado Paraobtener maacutes informacioacuten consulte Monitoring Deploymentswith Amazon SNS Event Notifications (p 365)

Se han actualizado los procedimientos para reflejar el redisentildeode la paacutegina Application details

Se ha actualizado la seccioacuten Las implementaciones noproducen error hasta una hora despueacutes cuando se termina unainstancia durante una implementacioacuten (p 473) en Solucioacuten deproblemas de CodeDeploy (p 459)

liacutemites de CodeDeploy (p 454)se ha actualizado parareflejar los liacutemites revisados del nuacutemero de grupos deimplementaciones que se pueden asociar a una sola aplicacioacutenlos valores permitidos para una configuracioacuten con un miacutenimo deinstancias en buen estado y las versiones requeridas delAWSSDK for Ruby

17 de febrerode 2016

Temas nuevos yactualizados

Ahora CodeDeploy estaacute disponible en la regioacuten EE UU Oeste(Norte de California) (us-west-1) Para reflejar la incorporacioacutende esta nueva regioacuten se han actualizado varios temasincluidos los que contienen instrucciones para configurar elagente de CodeDeploy

Elija un tipo de repositorio de CodeDeploy (p 314)enumera ydescribe los tipos de repositorio que ahora admite CodeDeployEste tema nuevo se actualizaraacute a medida que se introduzca lacompatibilidad para otros tipos de repositorio

Administracioacuten de operaciones del agente deCodeDeploy (p 186)se ha actualizado con informacioacuten acercade la nuevaversionarchivo agregado a las instancias parainformar de la versioacuten actual del CodeDeploy agente de asiacutecomo informacioacuten sobre las versiones compatibles del agentede

Se ha antildeadido a la guiacutea del usuario resalte de la sintaxis paramuestras de coacutedigo que incluyen ejemplos de JSON y YAML

Agregar un archivo de especificacioacuten de aplicacioacuten a unarevisioacuten de CodeDeploy (p 308)se ha reorganizado como step-by-step instrucciones

20 de enerode 2016

Versioacuten de API 2014-10-06505

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Nuevo tema Implementar una aplicacioacuten en otroAWScuenta (p 349)describe los requisitos de configuracioacuten y el proceso parainiciar implementaciones que pertenecen a otra cuentade la organizacioacuten sin necesitar un conjunto completo decredenciales para esa otra cuenta Esto resulta muy uacutetil paralas organizaciones que utilizan muacuteltiples cuentas con finesdiferentes como una asociada a entornos de desarrollo yprueba y otra asociada a un entorno de produccioacuten

30 dediciembre de2015

Actualizacioacuten de tema Se ha redisentildeado el tema Integraciones de productos yservicios con CodeDeploy (p 48) Ahora incluye una seccioacutencon ejemplos de integracioacuten de la comunidad que incluye listasde entradas de blog y ejemplos de viacutedeos relacionados con lasintegraciones de CodeDeploy

16 dediciembre de2015

Actualizaciones detemas

Ahora CodeDeploy estaacute disponible en la regioacuten Asia-Paciacutefico(Singapur) (ap-southeast-1) Para reflejar la disponibilidad deesta nueva regioacuten se han actualizado varios temas incluidoslos que contienen instrucciones para configurar el agente deCodeDeploy

9 dediciembre de2015

Actualizaciones detemas

Trabajar con el agente de CodeDeploy (p 175)se haactualizado para reflejar la nuevaproxy_urien el archivo deconfiguracioacuten del agente de CodeDeployReferencia del archivo CodeDeploy AppSpec (p 407) se haactualizado con informacioacuten acerca del uso de una nuevavariable de entorno DEPLOYMENT_GROUP_ID a los que losscripts de enlace pueden tener acceso durante un evento delciclo de vida de la implementacioacuten

1 dediciembre de2015

Actualizacioacuten de tema Paso 2 Creacioacuten de un rol de servicio paraCodeDeploy (p 36)se ha actualizado para reflejar un nuevoprocedimiento para crear un rol de servicio para CodeDeploy eincorporar otras mejoras

13 denoviembre de2015

Actualizaciones detemas

Ahora CodeDeploy estaacute disponible en la regioacuten UE (Fraacutencfort)(eu-central-1) Varios temas incluidos los que contieneninstrucciones para configurar el CodeDeploy se hanactualizado para reflejar la disponibilidad de esta nueva regioacuten

El tema Solucioacuten de problemas de CodeDeploy (p 459) se haactualizado con informacioacuten acerca de coacutemo garantizar que laconfiguracioacuten de hora en las instancias sea precisa

19 de octubrede 2015

Temas nuevos AWS CloudFormationplantillas para referencia deCodeDeploy (p 444)se ha publicado para reflejar la nuevaAWSCloudFormationCompatibilidad con para CodeDeploy acciones

Se ha creado un tema de Primary Components (p 12) y se haintroducido la definicioacuten de una revisioacuten de destino

1 de octubrede 2015

Versioacuten de API 2014-10-06506

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Actualizaciones detemas

Creacioacuten de un grupo de implementaciones conCodeDeploy (p 288) se ha actualizado para reflejarla capacidad para ubicar instancias para un grupo deimplementaciones que utiliza buacutesquedas de comodiacuten

Instance Health (p 259) se ha actualizado para aclarar elconcepto de miacutenimo de instancias en buen estado

31 de agostode 2015

Actualizaciones detemas

Ahora CodeDeploy estaacute disponible en la regioacuten Asia-Paciacutefico(Tokio) (ap-northeast-1) Para reflejar la disponibilidad deesta nueva regioacuten se han actualizado varios temas incluidoslos que contienen instrucciones para configurar el agente deCodeDeploy

19 de agostode 2015

Actualizaciones detemas

Ahora CodeDeploy admite implementaciones en instanciason-premises de Red Hat Enterprise Linux (RHEL) e instanciasAmazon EC2 Para obtener maacutes informacioacuten consulte lossiguientes temas

bull Sistemas operativos compatibles con el agente deCodeDeploy (p 175)

bull Trabajo con instancias para CodeDeploy (p 207)bull Tutorial Implementar WordPress en una instancia de

Amazon EC2 (Amazon Linux o Red Hat Enterprise Linux yLinux macOS o Unix) (p 68)

bull Tutorial Implementar una aplicacioacuten en una instancia localcon CodeDeploy (Windows Server Ubuntu Server o Red HatEnterprise Linux) (p 103)

23 de junio de2015

Actualizacioacuten de tema Ahora CodeDeploy proporciona un conjunto de variablesde entorno que los scripts de enlace pueden usar durantelas implementaciones Estas variables de entorno incluyeninformacioacuten como el nombre del actual CodeDeployevento de ciclo de vida de la implementacioacuten del grupo deimplementaciones y del ciclo de vida de la implementacioacutenasiacute como el actual CodeDeploy identificador de desplieguePara obtener maacutes informacioacuten consulte el final de la seccioacutenSeccioacuten hooks de AppSpec (p 422) en la Referencia delarchivo CodeDeploy AppSpec (p 407)

29 de mayode 2015

Versioacuten de API 2014-10-06507

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Actualizaciones detemas

CodeDeploy proporciona ahora un conjunto deAWSpoliacuteticasadministradas en IAM que puede usar en lugar de crearmanualmente poliacuteticas propias equivalentes Entre ellas seincluyen

bull Una poliacutetica para permitir a un usuario de IAM registrarrevisiones con CodeDeploy solo y luego desplieacuteguelos atraveacutes de CodeDeploy

bull Una poliacutetica para proporcionar a un usuario de IAM accesototal a los recursos de CodeDeploy

bull Una poliacutetica para proporcionar a un usuario de IAM accesode solo lectura a los recursos de CodeDeploy

bull Poliacutetica para adjuntar a un rol de servicio de modo queCodeDeploy puede identificar instancias de Amazon EC2a traveacutes de sus etiquetas de Amazon EC2 etiquetas deinstancias on-premises o nombres de grupo de Amazon EC2Auto Scaling e implementar revisiones de la aplicacioacuten endichas instancias seguacuten corresponda

Para obtener maacutes informacioacuten consulte Ejemplos de poliacuteticasadministradas por los clientes (p 392) la seccioacuten sobreautenticacioacuten y control de acceso

29 de mayode 2015

Actualizaciones detemas

Ahora CodeDeploy estaacute disponible en la regioacuten UE (Irlanda)(eu-west-1) y Asia-Paciacutefico (Siacutedney) (ap-southeast-2)Varios temas incluidos los que contienen instrucciones paraconfigurar el CodeDeploy se han actualizado para reflejar ladisponibilidad de estas nuevas regiones

7 de mayo de2015

Temas nuevos Ahora CodeDeploy admite implementaciones en instancias on-premises e instancias Amazon EC2 Los siguientes temas sehan antildeadido para describir la nueva compatibilidad

bull Working with On-Premises Instances (p 230)bull Tutorial Implementar una aplicacioacuten en una instancia local

con CodeDeploy (Windows Server Ubuntu Server o Red HatEnterprise Linux) (p 103)

bull Working with On-Premises Instances (p 230)

2 de abril de2015

Nuevo tema Recursos de CodeDeploy (p 491) se ha antildeadido 2 de abril de2015

Versioacuten de API 2014-10-06508

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Actualizacioacuten de tema Solucioacuten de problemas de CodeDeploy (p 459) se haactualizado

bull Una nueva seccioacuten Los procesos de larga duracioacuten puedenproducir un error en la implementacioacuten (p 466) describelos pasos que puede tomar para identificar y solucionar loserrores de implementacioacuten ocasionados por procesos delarga duracioacuten

bull LaSolucioacuten de problemas general de Amazon EC2 AutoScaling (p 476)se ha actualizado para mostrar queCodeDeploy ha aumentado su loacutegica de tiempo de esperaAmazon EC2 Auto Scaling para CodeDeploy agente de cincominutos a una hora

bull Un nuevoLos enlaces de ciclo de vida de Amazon EC2 AutoScaling de Amazon EC2 podriacutean provocar detenciones oerrores de las implementaciones automaacuteticas en grupos deAuto Scaling de Amazon EC2 (p 480)describe los pasosque puede tomar para identificar y solucionar errores de lasimplementaciones automaacuteticas en los grupos de AmazonEC2 Auto Scaling

2 de abril de2015

Actualizaciones detemas

Se han actualizado los siguientes temas para reflejar lasnuevas recomendaciones para crear poliacuteticas personalizadas yadjuntarlas a usuarios y roles en IAM

bull Configurar una instancia de Amazon EC2 para que funcionecon CodeDeploy (p 228)

bull Paso 4 Crear un perfil de instancias de IAM para susinstancias Amazon EC2 (p 43)

bull Paso 2 Creacioacuten de un rol de servicio paraCodeDeploy (p 36)

Se han antildeadido dos secciones a Solucioacuten de problemas deCodeDeploy (p 459)

bull Lista de comprobacioacuten de solucioacuten de problemasgenerales (p 459)

bull Windows PowerShell Los scripts no pueden utilizar laversioacuten de 64 bits de Windows PowerShell de formapredeterminada (p 471)

La seccioacuten Seccioacuten hooks de AppSpec (p 422) en laReferencia del archivo CodeDeploy AppSpec (p 407) se haactualizado para describir con mayor precisioacuten los eventos delciclo de vida disponibles

12 de febrerode 2015

Versioacuten de API 2014-10-06509

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Actualizaciones detemas

Se ha antildeadido una nueva seccioacuten a Solucioacuten de problemasde CodeDeploy (p 459) Las instancias EC2 de un grupo deAmazon EC2 Auto Scaling no se pueden lanzar y aparece elerror laquoHeartbeat Timeoutraquo (p 479)

UNA CloudBees se ha antildeadido aIntegraciones de productos yservicios con CodeDeploy (p 48)

28 de enerode 2015

Actualizaciones detemas

Se han antildeadido las siguientes secciones a Solucioacuten deproblemas de CodeDeploy (p 459)

bull El uso de algunos editores de texto para crear archivosAppSpec y scripts del shell produce un error en lasimplementaciones (p 461)

bull El uso de Finder en macOS para empaquetar unarevisioacuten de la aplicacioacuten puede producir un error en laimplementacioacuten (p 462)

bull Solucioacuten de problemas con un error ApplicationStopBeforeBlockTraffic o AfterBlockTraffic evento del ciclo de vidade la implementacioacuten (p 468)

bull Solucioacuten de problemas DownloadBundle evento de ciclo devida de la implementacioacuten con UnknownError no abiertopara lectura (p 469)

bull Solucioacuten de problemas general de Amazon EC2 AutoScaling (p 476)

20 de enerode 2015

Temas nuevos La seccioacuten Integraciones de productos y servicios conCodeDeploy (p 48) se ha actualizado para incluir los siguientestemas

bull Integracioacuten de CodeDeploy con Amazon EC2 AutoScaling (p 53)

bull Tutorial UsarCodeDeploypara implementar una aplicacioacuten enun grupo de Auto Scaling (p 110)

bull Monitoring Deployments (p 364)bull Integrating CodeDeploy with Elastic Load Balancing (p 57)bull Integracioacuten de CodeDeploy con GitHub (p 63)bull Tutorial Usa CodeDeploy para desplegar una aplicacioacuten

desde GitHub (p 127)

9 de enero de2015

Versioacuten de API 2014-10-06510

AWS CodeDeploy Guiacutea del usuarioActualizaciones anteriores

Cambio Descripcioacuten Fecha demodificacioacuten

Actualizaciones detemas

bull Se ha antildeadido la seccioacuten Implementacioacuten automaacutetica desdeCodePipeline con CodeDeploy (p 66) en Integracioacuten deCodeDeploy con GitHub (p 63) Ahora puede dispararautomaacuteticamente una implementacioacuten desde un GitHubrepositorio siempre que el coacutedigo fuente de ese repositoriocambie

bull Se ha antildeadido la seccioacuten Solucioacuten de problemas de AmazonEC2 Auto Scaling (p 475) en Solucioacuten de problemas deCodeDeploy (p 459) Esta nueva seccioacuten describe coacutemosolucionar problemas comunes en la implementacioacuten agrupos de Amazon EC2 Auto Scaling

bull Se ha antildeadido la nueva seccioacuten secundaria Ejemplosde archivos a la seccioacuten Seccioacuten files de AppSpec (solopara implementaciones EC2On-Premises) (p 411) deReferencia del archivo CodeDeploy AppSpec (p 407) Enesta nueva subseccioacuten se incluyen varios ejemplos de coacutemoutilizar elfilesseccioacuten de un AppSpec archivo para instruirCodeDeploy para copiar archivos o carpetas especiacuteficos enubicaciones especiacuteficas de una instancia de Amazon EC2durante una implementacioacuten de

8 de enero de2015

Nuevo tema Monitoring Deployments (p 364)se ha antildeadido CodeDeployestaacute integrado conAWS CloudTrail un servicio que captura lasllamadas al API realizadas por o en nombre de CodeDeploy ensuAWSy entrega los archivos de registro al bucket de AmazonS3 que se especifique

17 dediciembre de2014

Versioacuten puacuteblica inicial Esta es la primera versioacuten puacuteblica de laGuiacutea del usuario deCodeDeploy

12 denoviembre de2014

Versioacuten de API 2014-10-06511

AWS CodeDeploy Guiacutea del usuario

Glosario de AWSPara ver la terminologiacutea maacutes reciente de AWS consulte el Glosario de AWS en la Referencia general deAWS

Versioacuten de API 2014-10-06512

AWS CodeDeploy Guiacutea del usuario

Las traducciones son generadas a traveacutes de traduccioacuten automaacutetica En caso de conflicto entre latraduccioacuten y la version original de ingleacutes prevaleceraacute la version en ingleacutes

Versioacuten de API 2014-10-06dxiii

  • AWS CodeDeploy
  • Table of Contents
  • iquestQueacute es CodeDeploy
    • Ventajas de AWS CodeDeploy
    • Descripcioacuten general de las plataformas informaacuteticas de CodeDeploy
    • Introduccioacuten a los tipos de implementacioacuten de CodeDeploy
      • Descripcioacuten general de una implementacioacuten laquoin-placeraquo
      • Descripcioacuten general de una implementacioacuten laquobluegreenraquo
        • Implementacioacuten bluegreen en unaAWS Lambdao plataforma de coacutemputo Amazon ECS
        • Implementacioacuten bluegreen en una plataforma de computacioacuten EC2On-Premises
        • Implementacioacuten bluegreen (azulAWS CloudFormation
            • Esperamos tener noticias suyas
            • Componentes principales de CodeDeploy
              • Aplicacioacuten
              • Plataforma de computacioacuten
              • Configuracioacuten de implementacioacuten
              • Grupo de implementaciones
              • Tipo de implementacioacuten
              • Perfil de instancia IAM
              • Revisioacuten
              • Rol de servicio
              • revisioacuten de destino
              • Otros componentes
                • Implementaciones de CodeDeploy
                  • Implementaciones en unaAWSPlataforma de computacioacuten Lambda
                    • Flujo de trabajo de implementacioacuten enAWS Lambdaplataforma de computacioacuten
                    • Carga de la revisioacuten de la aplicacioacuten
                    • Crear la aplicacioacuten de y los grupos de implementaciones
                    • Implementacioacuten de la revisioacuten de la aplicacioacuten
                    • Actualizacioacuten de la aplicacioacuten
                    • Implementaciones detenidas y con error
                    • Reimplementaciones y restauracioacuten de implementaciones
                      • Implementaciones en una plataforma de computacioacuten Amazon ECS
                        • Antes de iniciar una implementacioacuten de Amazon ECS
                        • Flujo de trabajo de implementacioacuten (alto nivel) en una plataforma de computacioacuten Amazon ECS
                        • Queacute ocurre durante una implementacioacuten de Amazon ECS
                        • Carga de la revisioacuten de la aplicacioacuten
                        • Crear la aplicacioacuten de y los grupos de implementaciones
                        • Implementacioacuten de la revisioacuten de la aplicacioacuten
                        • Actualizacioacuten de la aplicacioacuten
                        • Implementaciones detenidas y con error
                        • Reimplementaciones y restauracioacuten de implementaciones
                        • Implementaciones laquobluegreenraquo de Amazon ECS a traveacutes deAWS CloudFormation
                          • Implementaciones en una plataforma de computacioacuten EC2On-Premises
                            • Componentes de implementacioacuten en una plataforma de computacioacuten EC2On-Premises
                            • Flujo de trabajo de implementacioacuten en una plataforma de computacioacuten EC2On-Premises
                            • Configuracioacuten de instancias
                            • Carga de la revisioacuten de la aplicacioacuten
                            • Crear la aplicacioacuten de y los grupos de implementaciones
                            • Implementacioacuten de la revisioacuten de la aplicacioacuten
                            • Actualizacioacuten de la aplicacioacuten
                            • Implementaciones detenidas y con error
                            • Reimplementaciones y restauracioacuten de implementaciones
                                • Archivos de especificacioacuten de aplicacioacuten CodeDeploy (AppSpec)
                                  • Archivos AppSpec en una plataforma de computacioacuten Amazon ECS
                                  • Archivos AppSpec en unAWS Lambdaplataforma de computacioacuten
                                  • Archivos AppSpec en una plataforma de computacioacuten EC2On-Premises
                                  • Coacutemo utiliza el agente de CodeDeploy el archivo AppSpec
                                      • Introduccioacuten a CodeDeploy
                                        • Paso 1 Instalar o actualizar y a continuacioacuten configurar laAWS CLI
                                        • Paso 2 Creacioacuten de un rol de servicio para CodeDeploy
                                          • Creacioacuten de un rol de servicio de (consola)
                                          • Creacioacuten de un rol de servicio de (CLI)
                                          • Obtenga el ARN del rol de servicio (consola)
                                          • Obtenga el ARN del rol de servicio (CLI)
                                            • Paso 3 Provisionar un usuario de IAM
                                            • Paso 4 Crear un perfil de instancias de IAM para sus instancias Amazon EC2
                                              • Crear un perfil de instancias de IAM para sus instancias Amazon EC2 (CLI)
                                              • Crear un perfil de instancias de IAM para sus instancias Amazon EC2 (consola)
                                                  • Integraciones de productos y servicios con CodeDeploy
                                                    • Integracioacuten con otros servicios de AWS
                                                      • Integracioacuten de CodeDeploy con Amazon EC2 Auto Scaling
                                                        • Implementacioacuten de aplicaciones CodeDeploy en grupos de Amazon EC2 Auto Scaling
                                                        • Coacutemo funciona Amazon EC2 Auto Scaling con CodeDeploy
                                                          • iquestCoacutemo se crea e instala el gancho del ciclo de vida
                                                          • Despueacutes de que CodeDeploy agregue el gancho del ciclo de vida iquestcoacutemo se utiliza
                                                          • Coacutemo nombra CodeDeploy a los grupos de Amazon EC2 Auto Scaling
                                                          • Orden de ejecucioacuten de eventos de enlace de ciclo de vida personalizados
                                                          • Eventos de escalado horizontal durante una implementacioacuten
                                                          • Orden de eventos enAWS CloudFormationscripts cfn-init
                                                            • Uso de una AMI personalizada con CodeDeploy y Amazon EC2 Auto Scaling
                                                              • Integracioacuten de CodeDeploy con Elastic Load Balancing
                                                                • Tipos de Elastic Load Balancing
                                                                • Implementaciones bluegreen (azulverde)
                                                                • Implementaciones in situ
                                                                  • Especificar el equilibrador de carga de implementacioacuten in situ mediante un grupo de implementacioacuten
                                                                  • Especificar el equilibrador de carga de implementacioacuten in situ mediante un script
                                                                    • Integracioacuten a productos y servicios de socios
                                                                      • Integracioacuten de CodeDeploy con GitHub
                                                                        • Implementacioacuten de revisiones de CodeDeploy desde GitHub
                                                                        • Comportamientos de GitHub con CodeDeploy
                                                                          • Autenticacioacuten de GitHub con aplicaciones en CodeDeploy
                                                                          • Interaccioacuten de CodeDeploy con repositorios GitHub puacuteblicos y privados
                                                                          • Interaccioacuten de CodeDeploy con repositorios de GitHub administrados por la organizacioacuten
                                                                          • Implementacioacuten automaacutetica desde CodePipeline con CodeDeploy
                                                                            • Ejemplos de integracioacuten de la comunidad
                                                                              • Entradas de blogs
                                                                                  • Tutoriales CodeDeploy
                                                                                    • Tutorial Implementar WordPress en una instancia de Amazon EC2 (Amazon Linux o Red Hat Enterprise Linux y Linux macOS o Unix)
                                                                                      • Paso 1 Lance y configure una instancia Amazon Linux o Red Hat Enterprise Linux Amazon EC2
                                                                                        • Connect con la instancia Amazon Linux o RHEL Amazon EC2
                                                                                        • Agregar una regla de entrada que permita el traacutefico HTTP a su instancia de Amazon Linux o RHEL Amazon EC2
                                                                                          • Paso 2 Configurar el contenido de origen para implementarlo en la instancia Amazon Linux o Red Hat Enterprise Linux Amazon EC2
                                                                                            • Obtener el coacutedigo fuente
                                                                                              • Para obtener una copia del coacutedigo fuente de WordPress (llamadas a liacutenea de comandos integradas)
                                                                                              • Para obtener una copia del coacutedigo fuente de WordPress (Git)
                                                                                                • Crear scripts para ejecutar la aplicacioacuten
                                                                                                • Agregar un archivo de especificacioacuten de la aplicacioacuten
                                                                                                  • Paso 3 Cargue su aplicacioacuten de WordPress en Amazon S3
                                                                                                    • Aprovisionar un bucket de Amazon S3
                                                                                                      • Para crear un bucket de Amazon S3 (CLI)
                                                                                                      • Para crear un bucket de Amazon S3 (consola)
                                                                                                      • Conceder permisos al bucket de Amazon S3 y a su usuario de IAM
                                                                                                        • Preparar los archivos de la aplicacioacuten para el depoacutesito
                                                                                                        • Agrupe los archivos de la aplicacioacuten en un uacutenico archivo de archivo e inserte el archivo de archivo
                                                                                                          • Paso 4 Implemente la aplicacioacuten de WordPress
                                                                                                            • Implemente la revisioacuten de la aplicacioacuten con CodeDeploy
                                                                                                              • Para implementar la revisioacuten de la aplicacioacuten (CLI)
                                                                                                              • Para implementar la revisioacuten de la aplicacioacuten (consola)
                                                                                                                • Monitorizacioacuten y solucioacuten de problemas de la implementacioacuten
                                                                                                                  • Para monitorizar y solucionar problemas en la implementacioacuten (CLI)
                                                                                                                  • Para monitorizar y resolver problemas de la implementacioacuten (consola)
                                                                                                                    • Verificacioacuten de la implementacioacuten
                                                                                                                      • Paso 5 Actualiza y vuelve a implementar tu aplicacioacuten WordPress
                                                                                                                        • Configurar el sitio de WordPress
                                                                                                                        • Modificacioacuten del sitio
                                                                                                                        • Volver a implementar el sitio
                                                                                                                          • Para volver implementar el sitio (CLI)
                                                                                                                          • Para volver a implementar el sitio (consola)
                                                                                                                              • Paso 6 Limpia tu aplicacioacuten de WordPress y recursos relacionados
                                                                                                                                • Para limpiar los recursos (CLI)
                                                                                                                                • Para limpiar los recursos (consola)
                                                                                                                                • Siguientes pasos
                                                                                                                                    • Tutorial Despliega un laquohola mundoraquo aplicacioacuten con CodeDeploy (Windows Server)
                                                                                                                                      • Paso 1 Lance una instancia de Amazon EC2 de Windows Server
                                                                                                                                        • Connect con la instancia Amazon EC2
                                                                                                                                        • Agregar una regla entrante que permita el traacutefico HTTP a su instancia de Amazon EC2 de Windows Server
                                                                                                                                          • Paso 2 Configurar el contenido de origen para implementarlo en la instancia de Amazon EC2 de Windows Server
                                                                                                                                            • Crear la paacutegina web
                                                                                                                                            • Crear un script para ejecutar la aplicacioacuten
                                                                                                                                            • Agregar un archivo de especificacioacuten de la aplicacioacuten
                                                                                                                                              • Paso 3 Sube tu laquohola mundoraquo aplicacioacuten a Amazon S3
                                                                                                                                                • Aprovisionar un bucket de Amazon S3
                                                                                                                                                  • Para crear un bucket de Amazon S3 (CLI)
                                                                                                                                                  • Para crear un bucket de Amazon S3 (consola)
                                                                                                                                                  • Conceder permisos al bucket de Amazon S3 y a su usuario de IAM
                                                                                                                                                    • Preparar los archivos de la aplicacioacuten para el depoacutesito
                                                                                                                                                    • Agrupe los archivos de la aplicacioacuten en un uacutenico archivo de archivo e inserte el archivo de archivo
                                                                                                                                                      • Paso 4 Implemente su aplicacioacuten Hello World
                                                                                                                                                        • Implemente la revisioacuten de la aplicacioacuten con CodeDeploy
                                                                                                                                                          • Para implementar la revisioacuten de la aplicacioacuten (CLI)
                                                                                                                                                          • Para implementar la revisioacuten de la aplicacioacuten (consola)
                                                                                                                                                            • Monitorizacioacuten y solucioacuten de problemas de la implementacioacuten
                                                                                                                                                              • Para monitorizar y solucionar problemas en la implementacioacuten (CLI)
                                                                                                                                                              • Para monitorizar y resolver problemas de la implementacioacuten (consola)
                                                                                                                                                                • Verificacioacuten de la implementacioacuten
                                                                                                                                                                  • Paso 5 Actualiza y vuelve a desplegar tu laquohola mundoraquo revisiones de
                                                                                                                                                                    • Modificar la paacutegina web
                                                                                                                                                                    • Nuevo implementacioacuten del sitio
                                                                                                                                                                      • Para volver implementar el sitio (CLI)
                                                                                                                                                                      • Para volver a implementar el sitio (consola)
                                                                                                                                                                          • Paso 6 Limpia tu laquohola mundoraquo aplicaciones y recursos relacionados
                                                                                                                                                                            • Para limpiar los recursos (CLI)
                                                                                                                                                                            • Para limpiar los recursos (consola)
                                                                                                                                                                            • Siguientes pasos
                                                                                                                                                                                • Tutorial Implementar una aplicacioacuten en una instancia local con CodeDeploy (Windows Server Ubuntu Server o Red Hat Enterprise Linux)
                                                                                                                                                                                  • Requisitos previos
                                                                                                                                                                                  • Paso 1 Configuracioacuten de la instancia on-premises
                                                                                                                                                                                    • Instalacioacuten del agente de CodeDeploy
                                                                                                                                                                                      • Paso 2 Creacioacuten de una revisioacuten de aplicacioacuten de muestra
                                                                                                                                                                                      • Paso 3 Agrupe y cargue la revisioacuten de la aplicacioacuten en Amazon S3
                                                                                                                                                                                      • Paso 4 Implementar la revisioacuten de la aplicacioacuten
                                                                                                                                                                                      • Paso 5 Verificacioacuten de la implementacioacuten
                                                                                                                                                                                      • Paso 6 Limpiar recursos
                                                                                                                                                                                        • Limpieza de recursos (CLI)
                                                                                                                                                                                        • Limpieza de recursos (consola)
                                                                                                                                                                                            • Tutorial UsarCodeDeploypara implementar una aplicacioacuten en un grupo de Auto Scaling
                                                                                                                                                                                              • Requisitos previos
                                                                                                                                                                                              • Paso 1 Creacioacuten y configuracioacuten del grupo de Auto Scaling
                                                                                                                                                                                                • Para crear y configurar el grupo de Auto Scaling (CLI)
                                                                                                                                                                                                • Para crear y configurar el grupo de Auto Scaling (consola)
                                                                                                                                                                                                  • Paso 2 Implementar la aplicacioacuten en el grupo de Auto Scaling
                                                                                                                                                                                                    • Para crear la implementacioacuten (CLI)
                                                                                                                                                                                                    • Para crear la implementacioacuten (consola)
                                                                                                                                                                                                      • Paso 3 Compruebe sus resultados
                                                                                                                                                                                                        • Para comprobar los resultados (CLI)
                                                                                                                                                                                                        • Para comprobar los resultados (consola)
                                                                                                                                                                                                          • Paso 4 Aumente el nuacutemero de instancias de Amazon EC2 en el grupo de Auto Scaling
                                                                                                                                                                                                            • Para reducir el nuacutemero de instancias de Amazon EC2 en el grupo de Auto Scaling (CLI)
                                                                                                                                                                                                            • Para reducir el nuacutemero de instancias de Amazon EC2 en el grupo de implementaciones (consola)
                                                                                                                                                                                                              • Paso 5 Vuelve a comprobar los resultados
                                                                                                                                                                                                                • Para comprobar los resultados de la implementacioacuten automaacutetica (CLI)
                                                                                                                                                                                                                • Para comprobar los resultados de la implementacioacuten automaacutetica (consola)
                                                                                                                                                                                                                  • Paso 6 Eliminar recursos
                                                                                                                                                                                                                    • Para limpiar los recursos (CLI)
                                                                                                                                                                                                                    • Para limpiar los recursos (consola)
                                                                                                                                                                                                                        • Tutorial Usa CodeDeploy para desplegar una aplicacioacuten desde GitHub
                                                                                                                                                                                                                          • Requisitos previos
                                                                                                                                                                                                                          • Paso 1 Configure una cuenta de GitHub
                                                                                                                                                                                                                          • Paso 2 Creacioacuten de un repositorio de GitHub
                                                                                                                                                                                                                          • Paso 3 Cargue una aplicacioacuten de ejemplo en el repositorio GitHub
                                                                                                                                                                                                                            • Enviacuteo de una revisioacuten de ejemplo desde un equipo local con Linux macOS o Unix
                                                                                                                                                                                                                            • Enviacuteo de una revisioacuten de ejemplo desde un equipo local con Windows
                                                                                                                                                                                                                              • Paso 4 Aprovisionar una instancia
                                                                                                                                                                                                                              • Paso 5 Crear una aplicacioacuten y un grupo de implementaciones
                                                                                                                                                                                                                                • Creacioacuten de una aplicacioacuten y un grupo de implementaciones (consola)
                                                                                                                                                                                                                                • Creacioacuten de una aplicacioacuten y un grupo de implementaciones (CLI)
                                                                                                                                                                                                                                  • Paso 6 Implementacioacuten de la aplicacioacuten en la instancia
                                                                                                                                                                                                                                    • Para implementar la revisioacuten (consola)
                                                                                                                                                                                                                                    • Para implementar la revisioacuten (CLI)
                                                                                                                                                                                                                                      • Paso 7 Supervisar y verificar la implementacioacuten
                                                                                                                                                                                                                                      • Paso 8 Eliminar recursos
                                                                                                                                                                                                                                        • Para eliminar unAWS CloudFormationstack (si utilizaste elAWS CloudFormationplantilla para crear una instancia Amazon EC2)
                                                                                                                                                                                                                                        • Para anular el registro y limpiar manualmente una instancia on-premises (si ha aprovisionado una instancia on-premises)
                                                                                                                                                                                                                                        • Para terminar manualmente una instancia Amazon EC2 (si ha iniciado manualmente una instancia Amazon EC2)
                                                                                                                                                                                                                                        • Para eliminar los registros de los componentes de implementacioacuten de CodeDeploy
                                                                                                                                                                                                                                        • Para eliminar el repositorio de GitHub
                                                                                                                                                                                                                                            • Tutorial Implementar un servicio de Amazon ECS
                                                                                                                                                                                                                                              • Requisitos previos
                                                                                                                                                                                                                                              • Paso 1 Actualice la aplicacioacuten de Amazon ECS
                                                                                                                                                                                                                                              • Paso 2 Creacioacuten del archivo AppSpec
                                                                                                                                                                                                                                              • Paso 3 Utilice la consola de CodeDeploy para implementar su servicio Amazon ECS
                                                                                                                                                                                                                                              • Paso 4 Eliminar recursos
                                                                                                                                                                                                                                                • Tutorial Implementacioacuten de un servicio Amazon ECS con una prueba de validacioacuten
                                                                                                                                                                                                                                                  • Requisitos previos
                                                                                                                                                                                                                                                  • Paso 1 Crear un agente de escucha de prueba
                                                                                                                                                                                                                                                  • Paso 2 Actualice la aplicacioacuten de Amazon ECS
                                                                                                                                                                                                                                                  • Paso 3 Crear una funcioacuten Lambda de enlace de ciclo de vida
                                                                                                                                                                                                                                                  • Paso 4 Actualice el archivo AppSpec
                                                                                                                                                                                                                                                  • Paso 5 Utilice la consola de CodeDeploy para implementar su servicio Amazon ECS
                                                                                                                                                                                                                                                  • Paso 6 Visualice la salida de la funcioacuten de enlace de Lambda en CloudWatch Logs
                                                                                                                                                                                                                                                  • Paso 7 Eliminar recursos
                                                                                                                                                                                                                                                    • Tutorial Implementar una funcioacuten Lambda actualizada con CodeDeploy y laAWSModelo de aplicacioacuten sin servidor de
                                                                                                                                                                                                                                                      • Requisitos previos
                                                                                                                                                                                                                                                      • Paso 1 Configurar la infraestructura
                                                                                                                                                                                                                                                        • Creacioacuten de archivos
                                                                                                                                                                                                                                                          • Cree suAWSSAM template (Plantilla de SAM)
                                                                                                                                                                                                                                                          • Creacioacuten de un archivo para la funcioacuten de Lambda
                                                                                                                                                                                                                                                          • Cree un archivo para su funcioacuten BeforeAllowTraffic Lambda
                                                                                                                                                                                                                                                          • Cree un archivo para la funcioacuten AfterAllowTraffic Lambda
                                                                                                                                                                                                                                                            • Empaque elAWSAplicacioacuten SAM
                                                                                                                                                                                                                                                            • Implementar elAWSAplicacioacuten SAM
                                                                                                                                                                                                                                                            • (Opcional) inspeccionar y probar su infraestructura
                                                                                                                                                                                                                                                              • Paso 2 Actualizacioacuten de la funcioacuten Lambda
                                                                                                                                                                                                                                                              • Paso 3 Implemente la funcioacuten de Lambda actualizada
                                                                                                                                                                                                                                                              • Paso 4 Consulte los resultados de la implementacioacuten
                                                                                                                                                                                                                                                                • Comprobacioacuten de la funcioacuten de implementada
                                                                                                                                                                                                                                                                • Ver eventos de enlace en CloudWatch Logs
                                                                                                                                                                                                                                                                  • Paso 5 Eliminar recursos
                                                                                                                                                                                                                                                                      • Trabajar con el agente de CodeDeploy
                                                                                                                                                                                                                                                                        • Sistemas operativos compatibles con el agente de CodeDeploy
                                                                                                                                                                                                                                                                          • Sistemas operativos AMI de Amazon EC2 compatibles
                                                                                                                                                                                                                                                                          • Sistemas operativos locales compatibles
                                                                                                                                                                                                                                                                            • Protocolo de comunicacioacuten y puerto para el agente de CodeDeploy
                                                                                                                                                                                                                                                                            • Historial de versiones del agente de CodeDeploy
                                                                                                                                                                                                                                                                            • Revisioacuten de aplicaciones y limpieza de archivos de registro
                                                                                                                                                                                                                                                                            • Archivos instalados por el agente de CodeDeploy
                                                                                                                                                                                                                                                                            • Administracioacuten de operaciones del agente de CodeDeploy
                                                                                                                                                                                                                                                                              • Verifique que el agente de CodeDeploy esteacute en ejecucioacuten
                                                                                                                                                                                                                                                                                • Verifique que el agente de CodeDeploy para Amazon Linux o RHEL se esteacute ejecutando
                                                                                                                                                                                                                                                                                • Verifique que el agente de CodeDeploy para Ubuntu Server se esteacute ejecutando
                                                                                                                                                                                                                                                                                • Verifique que el agente de CodeDeploy para Windows Server se estaacute ejecutando
                                                                                                                                                                                                                                                                                  • Determinar la versioacuten del agente de CodeDeploy
                                                                                                                                                                                                                                                                                    • Determinar la versioacuten en Amazon Linux o RHEL
                                                                                                                                                                                                                                                                                    • Determinacioacuten de la versioacuten en Ubuntu Server
                                                                                                                                                                                                                                                                                    • Determinar la versioacuten en Windows Server
                                                                                                                                                                                                                                                                                      • Instalacioacuten del agente de CodeDeploy
                                                                                                                                                                                                                                                                                        • Instale el agente de CodeDeploy medianteAWS Systems Manager
                                                                                                                                                                                                                                                                                          • Requisitos previos
                                                                                                                                                                                                                                                                                          • Instalacioacuten del agente de CodeDeploy
                                                                                                                                                                                                                                                                                            • Instalacioacuten o actualizacioacuten del agente de SSM
                                                                                                                                                                                                                                                                                            • (Opcional) Verifique los prerrequisitos de Systems Manager
                                                                                                                                                                                                                                                                                            • Instalacioacuten del agente de CodeDeploy
                                                                                                                                                                                                                                                                                                • Instalacioacuten del agente de CodeDeploy con la liacutenea de comandos
                                                                                                                                                                                                                                                                                                  • Instale el agente CodeDeploy para Amazon Linux o RHEL
                                                                                                                                                                                                                                                                                                  • Instale el agente de CodeDeploy para Ubuntu Server
                                                                                                                                                                                                                                                                                                  • Instale el agente de CodeDeploy para Windows Server
                                                                                                                                                                                                                                                                                                    • Utilizar Systems Manager
                                                                                                                                                                                                                                                                                                    • Usar Windows PowerShell
                                                                                                                                                                                                                                                                                                    • Usar un enlace directo
                                                                                                                                                                                                                                                                                                    • Utilizar un comando de copia de Amazon S3
                                                                                                                                                                                                                                                                                                      • Actualizacioacuten del agente de CodeDeploy
                                                                                                                                                                                                                                                                                                        • Actualizar el agente de CodeDeploy en Amazon Linux o RHEL
                                                                                                                                                                                                                                                                                                        • Actualizar el agente de CodeDeploy en Ubuntu Server
                                                                                                                                                                                                                                                                                                        • Actualizar el agente de CodeDeploy en Windows Server
                                                                                                                                                                                                                                                                                                          • Configuracioacuten de la actualizacioacuten automaacutetica del agente de CodeDeploy conAWS Systems Manager
                                                                                                                                                                                                                                                                                                          • Actualizar manualmente el agente de CodeDeploy
                                                                                                                                                                                                                                                                                                          • (Obsolado) Actualizacioacuten del agente de CodeDeploy con Windows Server Updater
                                                                                                                                                                                                                                                                                                            • Usar Windows PowerShell
                                                                                                                                                                                                                                                                                                            • Usar un enlace directo
                                                                                                                                                                                                                                                                                                            • Utilizar un comando de copia de Amazon S3
                                                                                                                                                                                                                                                                                                              • Desinstalacioacuten del agente de CodeDeploy
                                                                                                                                                                                                                                                                                                                • Desinstale el agente CodeDeploy de Amazon Linux o RHEL
                                                                                                                                                                                                                                                                                                                • Desinstalacioacuten del agente de CodeDeploy de Ubuntu Server
                                                                                                                                                                                                                                                                                                                • Desinstalar el agente de CodeDeploy de Windows Server
                                                                                                                                                                                                                                                                                                                  • SendCodeDeployRegistros de agentes de aCloudWatch
                                                                                                                                                                                                                                                                                                                    • Requisitos previos
                                                                                                                                                                                                                                                                                                                    • Configuracioacuten delCloudWatchagente para recopilarCodeDeployRegistros de
                                                                                                                                                                                                                                                                                                                    • Restablecer elCloudWatchagente
                                                                                                                                                                                                                                                                                                                      • Trabajo con instancias para CodeDeploy
                                                                                                                                                                                                                                                                                                                        • Comparacioacuten de instancias de Amazon EC2 con instancias locales
                                                                                                                                                                                                                                                                                                                        • Tareas de instancia para CodeDeploy
                                                                                                                                                                                                                                                                                                                        • Etiquetado de instancias para grupos de implementacioacuten en CodeDeploy
                                                                                                                                                                                                                                                                                                                          • Ejemplo 1 Grupo de etiquetas individuales etiqueta uacutenica
                                                                                                                                                                                                                                                                                                                          • Ejemplo 2 Grupo de etiquetas individuales etiquetas muacuteltiples
                                                                                                                                                                                                                                                                                                                          • Ejemplo 3 Varios grupos de etiquetas etiquetas individuales
                                                                                                                                                                                                                                                                                                                          • Ejemplo 4 Varios grupos de etiquetas varias etiquetas
                                                                                                                                                                                                                                                                                                                            • Trabajar con instancias Amazon EC2 para CodeDeploy
                                                                                                                                                                                                                                                                                                                              • Creacioacuten de una instancia de Amazon EC2 para CodeDeploy (AWS CLIo consola de Amazon EC2)
                                                                                                                                                                                                                                                                                                                                • Lance una instancia de Amazon EC2 (consola)
                                                                                                                                                                                                                                                                                                                                  • Requisitos previos
                                                                                                                                                                                                                                                                                                                                  • Lance una instancia de Amazon EC2
                                                                                                                                                                                                                                                                                                                                  • Instalacioacuten del agente de CodeDeploy
                                                                                                                                                                                                                                                                                                                                    • Lance una instancia de Amazon EC2 (CLI)
                                                                                                                                                                                                                                                                                                                                      • Requisitos previos
                                                                                                                                                                                                                                                                                                                                      • Lance una instancia de Amazon EC2
                                                                                                                                                                                                                                                                                                                                      • Instalacioacuten del agente de CodeDeploy
                                                                                                                                                                                                                                                                                                                                          • Crear una instancia Amazon EC2 para CodeDeploy (AWS CloudFormationplantilla)
                                                                                                                                                                                                                                                                                                                                            • Antes de empezar
                                                                                                                                                                                                                                                                                                                                            • Lance una instancia Amazon EC2 con elAWS CloudFormationtemplate (consola)
                                                                                                                                                                                                                                                                                                                                            • Lance una instancia Amazon EC2 con elAWS CloudFormationplantilla (AWS CLI)
                                                                                                                                                                                                                                                                                                                                              • Configurar una instancia de Amazon EC2 para que funcione con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                • Paso 1 Verifique que el perfil de instancia de IAM esteacute adjuntado a su instancia de Amazon EC2
                                                                                                                                                                                                                                                                                                                                                • Paso 2 Verifique que el perfil de instancia de IAM adjunto tenga los permisos de acceso correctos
                                                                                                                                                                                                                                                                                                                                                • Paso 3 Etiquetar la instancia de Amazon EC2
                                                                                                                                                                                                                                                                                                                                                • Paso 4 Instalacioacuten delAWS CodeDeployagente en la instancia de Amazon EC2
                                                                                                                                                                                                                                                                                                                                                    • Trabajar con instancias on-premises para CodeDeploy
                                                                                                                                                                                                                                                                                                                                                      • Requisitos previos para configurar una instancia on-premises
                                                                                                                                                                                                                                                                                                                                                      • Registro de una instancia on-premises en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                        • Utilice el comando register (ARN de usuario de IAM) para registrar una instancia on-premises
                                                                                                                                                                                                                                                                                                                                                          • Paso 1 Instalacioacuten y configuracioacuten deAWS CLIen la instancia on-premises
                                                                                                                                                                                                                                                                                                                                                          • Paso 2 Realice una llamada al comando register
                                                                                                                                                                                                                                                                                                                                                          • Paso 3 Ejecute el comando de instalacioacuten
                                                                                                                                                                                                                                                                                                                                                          • Paso 4 Implementar revisiones de la aplicacioacuten en la instancia on-premises
                                                                                                                                                                                                                                                                                                                                                          • Paso 5 Seguimiento de las implementaciones en la instancia local
                                                                                                                                                                                                                                                                                                                                                            • Utilice el comando register-on-premises-instance (ARN de usuario de IAM) para registrar una instancia on-premises
                                                                                                                                                                                                                                                                                                                                                              • Paso 1 Creacioacuten de un usuario de IAM para la instancia on-premises
                                                                                                                                                                                                                                                                                                                                                              • Paso 2 Asignar permisos al usuario de IAM
                                                                                                                                                                                                                                                                                                                                                              • Paso 3 Obtenga las credenciales de usuario de IAM
                                                                                                                                                                                                                                                                                                                                                              • Paso 4 Agregar un archivo de configuracioacuten a la instancia on-premises
                                                                                                                                                                                                                                                                                                                                                              • Paso 5 Instalacioacuten y configuracioacuten de AWS CLI
                                                                                                                                                                                                                                                                                                                                                              • Paso 6 Establecer la variable de entorno AWS_REGION (solo Ubuntu Server y RHEL)
                                                                                                                                                                                                                                                                                                                                                              • Paso 7 Instalacioacuten del agente de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                              • Paso 8 Registre la instancia on-premises en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                              • Paso 9 Etiquetado de la instancia on-premises
                                                                                                                                                                                                                                                                                                                                                              • Paso 10 Implementar revisiones de aplicaciones en la instancia on-premises
                                                                                                                                                                                                                                                                                                                                                              • Paso 11 Seguimiento de las implementaciones en la instancia local
                                                                                                                                                                                                                                                                                                                                                                • Utilice el comando register-on-premises-instance (ARN de sesioacuten de IAM) para registrar una instancia on-premises
                                                                                                                                                                                                                                                                                                                                                                  • Requisitos previos de registro ARN de sesioacuten de IAM
                                                                                                                                                                                                                                                                                                                                                                  • Paso 1 Cree el rol de IAM que asumiraacuten las instancias locales
                                                                                                                                                                                                                                                                                                                                                                  • Paso 2 Generar credenciales temporales para una instancia individual medianteAWS STS
                                                                                                                                                                                                                                                                                                                                                                  • Paso 3 Antildeada un archivo de configuracioacuten a la instancia on-premises
                                                                                                                                                                                                                                                                                                                                                                  • Paso 4 Preparar una instancia on-premises para las implementaciones de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                  • Paso 5 Registre la instancia on-premises con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                  • Paso 6 Etiquetado de la instancia on-premises
                                                                                                                                                                                                                                                                                                                                                                  • Paso 7 Implementar revisiones de las aplicaciones en la instancia on-premises
                                                                                                                                                                                                                                                                                                                                                                  • Paso 8 Seguimiento de las implementaciones en la instancia local
                                                                                                                                                                                                                                                                                                                                                                      • Administracioacuten de operaciones de instancias on-premises en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                        • Obtiene informacioacuten acerca de una instancia local individual
                                                                                                                                                                                                                                                                                                                                                                        • Obtiene informacioacuten acerca de varias instancias on-premises
                                                                                                                                                                                                                                                                                                                                                                        • Eliminacioacuten manual de etiquetas de instancias on-premises de una instancia on-premises
                                                                                                                                                                                                                                                                                                                                                                        • Desinstale automaacuteticamente el agente de CodeDeploy y elimine el archivo de configuracioacuten de la instancia on-premises
                                                                                                                                                                                                                                                                                                                                                                        • Anular registro automaacutetico de una instancia on-premises
                                                                                                                                                                                                                                                                                                                                                                        • Anular registro manual de una instancia on-premises
                                                                                                                                                                                                                                                                                                                                                                            • Ver los detalles de la instancia con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                              • Ver los detalles de la instancia (consola)
                                                                                                                                                                                                                                                                                                                                                                              • Visualizacioacuten de los detalles de la instancia (CLI)
                                                                                                                                                                                                                                                                                                                                                                                • Estado de instancia de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                  • Estado
                                                                                                                                                                                                                                                                                                                                                                                  • Miacutenimo de instancias e implementaciones en buen estado
                                                                                                                                                                                                                                                                                                                                                                                      • Uso de configuraciones de implementacioacuten en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                        • Configuraciones de implementacioacuten en una plataforma de computacioacuten EC2On-Premises
                                                                                                                                                                                                                                                                                                                                                                                          • Configuraciones de implementacioacuten predefinidas para una plataforma de computacioacuten EC2On-Premises
                                                                                                                                                                                                                                                                                                                                                                                            • Configuraciones de implementacioacuten en una plataforma de computacioacuten Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                              • Configuraciones de implementacioacuten predefinidas para una plataforma informaacutetica de Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                • Configuraciones de implementacioacuten paraAWS CloudFormationImplementaciones bluegreen (Amazon ECS)
                                                                                                                                                                                                                                                                                                                                                                                                • Configuraciones de implementacioacuten en unaAWS Lambdaplataforma de computacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                  • Configuraciones de implementacioacuten predefinidas para unAWS Lambdaplataforma de computacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                    • Crear una configuracioacuten de implementacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                    • Ver detalles de la configuracioacuten de implementacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                      • Ver detalles de la configuracioacuten de implementacioacuten (consola)
                                                                                                                                                                                                                                                                                                                                                                                                      • Visualizacioacuten de la configuracioacuten de implementacioacuten (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                        • Eliminar una configuracioacuten de implementacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                          • Trabajar con aplicaciones en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                            • Crear una aplicacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                              • Cree una aplicacioacuten para una implementacioacuten in situ (consola)
                                                                                                                                                                                                                                                                                                                                                                                                              • Cree una aplicacioacuten para una implementacioacuten bluegreen (consola)
                                                                                                                                                                                                                                                                                                                                                                                                              • Creacioacuten de una aplicacioacuten para una implementacioacuten de servicios de Amazon ECS (consola)
                                                                                                                                                                                                                                                                                                                                                                                                              • Cree una aplicacioacuten para unaAWS Lambdaimplementacioacuten de funciones (consola)
                                                                                                                                                                                                                                                                                                                                                                                                              • Crear una aplicacioacuten (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                • Ver detalles de la aplicacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                  • Ver los detalles de la aplicacioacuten (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                  • Ver los detalles de la aplicacioacuten (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                    • Creacioacuten de una regla de notificacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                    • Cambiar el nombre de una aplicacioacuten CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                    • Eliminar una aplicacioacuten en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                      • Eliminar una aplicacioacuten de (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                      • Eliminar una aplicacioacuten (AWS CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                          • Trabajar con grupos de implementaciones en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                            • Grupos de implementacioacuten en implementaciones de plataformas informaacuteticas de Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                                            • Grupos de implementaciones enAWS Lambdaimplementaciones de plataformas de computacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                            • Grupos de implementaciones en implementaciones EC2On-Premises
                                                                                                                                                                                                                                                                                                                                                                                                                            • Creacioacuten de un grupo de implementaciones con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                              • Crear un grupo de implementaciones para una implementacioacuten in situ (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                              • Crear un grupo de implementaciones para una implementacioacuten EC2On-Premises bluegreen (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                              • Crear un grupo de implementacioacuten para una implementacioacuten de Amazon ECS (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                              • Configurar un equilibrador de carga en Elastic Load Balancing para implementaciones de CodeDeploy Amazon EC2
                                                                                                                                                                                                                                                                                                                                                                                                                              • Configurar un equilibrador de carga grupos de destino y listeners para implementaciones de CodeDeploy Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                                                • Verificar la VPC predeterminada las subredes puacuteblicas y el grupo de seguridad
                                                                                                                                                                                                                                                                                                                                                                                                                                • Crear un Application Load Balancer de Amazon EC2 dos grupos de destino y oyentes (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                                • Crear un Application Load Balancer de Amazon EC2 dos grupos de destino y oyentes (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                  • Creacioacuten de un grupo de implementaciones (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                    • Ver detalles del grupo de implementacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                      • Ver detalles del grupo de implementaciones (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                                      • Ver detalles del grupo de implementaciones (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                        • Cambiar la configuracioacuten del grupo de implementacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                          • Cambiar la configuracioacuten del grupo de implementaciones (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                                          • Cambiar la configuracioacuten del grupo de implementacioacuten (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                            • Configuracioacuten de las opciones avanzadas de un grupo de implementaciones
                                                                                                                                                                                                                                                                                                                                                                                                                                            • Eliminar un grupo de implementacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                              • Eliminacioacuten de un grupo de implementaciones (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                                              • Eliminacioacuten de un grupo de implementaciones (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Uso de revisiones de aplicaciones de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Planear una revisioacuten para CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Agregar un archivo de especificacioacuten de aplicacioacuten a una revisioacuten de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Adicioacuten de un archivo AppSpec para una implementacioacuten de Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Plantilla de archivo de AppSpec de YAML para una implementacioacuten de Amazon ECS con instrucciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Plantilla JSON del archivo AppSpec para una implementacioacuten de Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Adicioacuten de un archivo AppSpec para unAWSImplementacioacuten de Lambda
                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Plantilla de archivo YAML AppSpec para unAWS Lambdadespliegue con instrucciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Archivo JSON AppSpec para unAWS Lambdaplantilla de despliegue
                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Adicioacuten de un archivo AppSpec para una implementacioacuten de EC2On-Premises
                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Plantilla de archivo AppSpec para una implementacioacuten de EC2On-Premises con instrucciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Elija un tipo de repositorio de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Enviar una revisioacuten de CodeDeploy en Amazon S3 (solo implementaciones de EC2locales)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Impulsar una revisioacuten mediante elAWS CLI
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Ver detalles de una revisioacuten de aplicacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Ver detalles de una revisioacuten de aplicacioacuten (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Ver detalles de una revisioacuten de aplicacioacuten (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Registrar una revisioacuten de aplicacioacuten en Amazon S3 con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Registro de una revisioacuten en Amazon S3 con CodeDeploy (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Registro de una revisioacuten en GitHub con CodeDeploy (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Uso de las implementaciones en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Cree una implementacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Requisitos previos para la implementacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Requisitos previos de implementacioacuten en unAWS Lambdaplataforma de computacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Requisitos previos de implementacioacuten en una plataforma de computacioacuten EC2On-Premises
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Requisitos previos de implementacioacuten para una implementacioacuten bluegreen (azulverde) medianteAWS CloudFormation
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Crear una implementacioacuten de Amazon ECS (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Creacioacuten de unAWSImplementacioacuten de Lambda Compute Platform (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Crear una implementacioacuten de Compute Platform (consola) de EC2On-Premises
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Especificar informacioacuten acerca de una revisioacuten almacenada en un bucket de Amazon S3
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Especificar informacioacuten sobre una revisioacuten almacenada en un repositorio de GitHub
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Crear una implementacioacuten de Amazon ECS Compute Platform (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Creacioacuten de unAWSImplementacioacuten de Lambda Compute Platform (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Crear una implementacioacuten de plataforma de computacioacuten EC2On-Premises (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • referencia de comandos create-deployment
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Connect una aplicacioacuten CodeDeploy a un repositorio de GitHub
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Cree una implementacioacuten bluegreen (azulverde) de Amazon ECS medianteAWS CloudFormation
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Diferencias entre las implementaciones bluegreen (azulverde) de Amazon ECS mediante CodeDeploy yAWS CloudFormation
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Supervisioacuten de implementaciones laquobluegreenraquo de Amazon ECS a traveacutes deAWS CloudFormation
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Ver detalles de implementacioacuten de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Ver los detalles de las implementaciones (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Ver los detalles de las implementaciones (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Ver datos de registro de las implementaciones de CodeDeploy EC2On-Premises
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Ver los datos del archivo de registro en la consola de Amazon CloudWatch
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Ver archivos de registro de una instancia
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Para ver los archivos de log de implementacioacuten en las instancias de Amazon Linux RHEL y Ubuntu Server
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Para ver los archivos de log de implementacioacuten en las instancias de Windows Server
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Detener una implementacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Detener una implementacioacuten (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Detener una implementacioacuten (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Redesplegar y deshacer una implementacioacuten con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Restauraciones automaacuteticas
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Restauraciones manuales
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Flujo de trabajo de la restauracioacuten y reimplementacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Comportamiento de reversioacuten con contenido existente
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Implementar una aplicacioacuten en otroAWScuenta
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Paso 1 Creacioacuten de S3 Bucket en cualquiera de las cuentas
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Paso 2 Conceder permisos de bucket de Amazon S3 al perfil de instancia de IAM de la cuenta de produccioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Paso 3 Creacioacuten de recursos y un rol entre cuentas en la cuenta de produccioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Paso 4 Cargue la revisioacuten de la aplicacioacuten en el bucket de Amazon S3
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Paso 5 Asumir el rol de acceso entre cuentas e implementar aplicaciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Usar el agente de CodeDeploy para validar un paquete de implementacioacuten en una maacutequina local
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Requisitos previos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Crear una implementacioacuten local
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Ejemplos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Monitorizar implementaciones en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Herramientas de monitoreo automatizadas
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Herramientas de monitoreo manuales
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Monitorizacioacuten de implementaciones con herramientas de Amazon CloudWatch
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Supervisioacuten de implementaciones con alarmas de CloudWatch en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Conceder permisos de CloudWatch a un rol de servicio CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Monitoreo de implementaciones de mediante Amazon CloudWatch Events
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Monitorizar implementaciones conAWS CloudTrail
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Informacioacuten de CodeDeploy en CloudTrail
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Descripcioacuten de las entradas de archivos log de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Supervisioacuten de implementaciones con notificaciones de eventos de Amazon SNS
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Conceder permisos de Amazon SNS a un rol de servicio CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Creacioacuten de un disparador para un evento de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Creacioacuten de un disparador para enviar notificaciones para eventos de CodeDeploy (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Creacioacuten de un disparador para enviar notificaciones para eventos de CodeDeploy (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Para crear un disparador de enviacuteo de notificaciones para un nuevo grupo de implementaciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Para crear un disparador de enviacuteo de notificaciones para un grupo de implementaciones existente
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Edicioacuten de un activador en un grupo de implementacioacuten de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Modificacioacuten de un disparador de CodeDeploy (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Eliminar un desencadenador de un grupo de implementacioacuten de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Eliminacioacuten de un desencadenador de un grupo de implementaciones (consola)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Eliminacioacuten de un desencadenador de un grupo de implementaciones (CLI)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Formatos de datos JSON para activadores de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Seguridad enAWSCodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Proteccioacuten de los datos enAWSCodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Privacidad del traacutefico entre redes
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Cifrado en reposo
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Cifrado en traacutensito
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Administracioacuten de claves de cifrado
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Identity and Access Management en AWS CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Puacuteblico
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Autenticacioacuten con identidades
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Cuenta de AWS usuario raiacutez
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Usuarios y grupos de IAM
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • IAM roles
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Administracioacuten de acceso mediante poliacuteticas
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Poliacuteticas basadas en identidad
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Otros tipos de poliacuteticas
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Varios tipos de poliacuteticas
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Coacutemo AWS CodeDeploy funciona con IAM
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Poliacuteticas basadas en identidades de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Acciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Recursos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Recursos y operaciones de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Claves de condicioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Ejemplos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Poliacuteticas basadas en recursos de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Autorizacioacuten basada en etiquetas de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Funciones de IAM de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Uso de credenciales temporales con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Roles vinculados a servicios
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Roles de servicio
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Elegir un rol de IAM en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • AWSPoliacuteticas administradas por (predefinidas) para CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • lista deAWSpoliacuteticas administradas para CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Poliacuteticas administradas y notificaciones de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Permisos para notificaciones en poliacuteticas administradas de acceso total
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Permisos para notificaciones en poliacuteticas administradas de solo lectura
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Actualizaciones de CodeDeploy enAWSpoliacuteticas administradas
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Ejemplos de poliacuteticas basadas en identidad de AWS CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Ejemplos de poliacuteticas administradas por los clientes
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Ejemplo 1 Permitir que un usuario realice CodeDeploy operaciones en una uacutenica regioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Ejemplo 2 Permitir a un usuario registrar revisiones de una sola aplicacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Ejemplo 3 Permitir a un usuario crear implementaciones para un uacutenico grupo de implementacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Praacutecticas recomendadas relativas a poliacuteticas
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Uso de la consola de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Permitir a los usuarios consultar sus propios permisos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Solucioacuten de problemas de identidades y accesos en AWS CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • No tengo autorizacioacuten para realizar la operacioacuten iamPassRole
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Quiero ver mis claves de acceso
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Soy administrador y deseo permitir que otros obtengan acceso a CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Quiero permitir a personas fuera de miAWScuenta para acceder a mis recursos de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Referencia de permisos de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Prevencioacuten del suplente confuso entre servicios
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Registro y monitoreo en CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Auditoriacutea de todas las interacciones con CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Administracioacuten de incidentes y alertas
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Validacioacuten de la conformidad enAWSCodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Resiliencia enAWSCodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Seguridad de la infraestructura enAWSCodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Referencia
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Referencia del archivo CodeDeploy AppSpec
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Archivos AppSpec en una plataforma de computacioacuten Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Archivos AppSpec de unAWS Lambdaplataforma de computacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Archivos AppSpec en una plataforma de computacioacuten EC2On-Premises
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Estructura de archivos AppSpec
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Estructura de archivos de AppSpec para implementaciones de Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Estructura de archivos AppSpec paraAWSImplementaciones de Lambda
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Estructura de archivos AppSpec para implementaciones EC2On-Premises
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Seccioacuten files de AppSpec (solo para implementaciones EC2On-Premises)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Ejemplos de la seccioacuten files
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Seccioacuten laquoresourcesraquo de AppSpec (Amazon ECS yAWS Lambdasolo implementaciones)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Seccioacuten laquoresourcesraquo de AppSpec paraAWSImplementaciones de Lambda
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Seccioacuten laquoresourcesraquo de AppSpec para implementaciones de Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Seccioacuten permissions de AppSpec (solo para implementaciones EC2On-Premises)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Ejemplo de la seccioacuten Permissions
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Seccioacuten hooks de AppSpec
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Seccioacuten hooks de AppSpec para una implementacioacuten de Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Lista de ganchos de eventos del ciclo de vida de una implementacioacuten de Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Orden de ejecucioacuten de los enlaces en una implementacioacuten de Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Estructura de la seccioacuten hooks
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Funcioacuten hooks de Lambda de ejemplo
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Seccioacuten hooks de AppSpec para unAWSImplementacioacuten de Lambda
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Lista de ganchos de eventos del ciclo de vida de unAWSImplementacioacuten de Lambda
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Ejecute el orden de los ganchos en una implementacioacuten de la versioacuten de la funcioacuten Lambda
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Estructura de la seccioacuten hooks
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Funcioacuten hooks de Lambda de ejemplo
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Seccioacuten hooks de AppSpec para una implementacioacuten EC2On-Premises
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Lista de ganchos de eventos del ciclo de vida
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Disponibilidad de enlaces de eventos de ciclo de vida
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Ejecutar el orden de los ganchos en una implementacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Estructura de la seccioacuten hooks
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Disponibilidad de variables de entorno para los ganchos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Ejemplo de enlaces
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Ejemplo del archivo AppSpec
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Ejemplo de archivo AppSpec para una implementacioacuten de Amazon ECS
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Ejemplo de archivo de AppSpec para unAWSImplementacioacuten de Lambda
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Ejemplo de archivo AppSpec para una implementacioacuten EC2On-Premises
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Espaciado de archivos AppSpec
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Validar su ubicacioacuten de archivo y archivo de AppSpec
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Referencia de configuracioacuten del agente CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Temas relacionados
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • AWS CloudFormationplantillas para referencia de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Usar CodeDeploy con Amazon Virtual Private Cloud
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Disponibilidad
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Crear puntos de enlace de la VPC para CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Configuracioacuten del CodeDeploy permisos de agente e IAM
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Referencia del kit de recursos CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Nombres de buckets del kit de recursos por regioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Contenido del kit de recursos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Muestre una lista de los archivos del kit de recursos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Descargue los archivos del kit de recursos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • liacutemites de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Aplicaciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Revisiones de aplicaciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Implementaciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Configuraciones de implementacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Grupos de implementaciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Instancias
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Solucioacuten de problemas de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Solucioacuten de problemas generales
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Lista de comprobacioacuten de solucioacuten de problemas generales
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Los recursos de implementacioacuten de CodeDeploy solo se admiten en algunosAWSRegiones de
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Los procedimientos de esta guiacutea no sirven para la consola de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Los roles de IAM necesarios no estaacuten disponibles
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • El uso de algunos editores de texto para crear archivos AppSpec y scripts del shell produce un error en las implementaciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • El uso de Finder en macOS para empaquetar una revisioacuten de la aplicacioacuten puede producir un error en la implementacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Solucioacuten de problemas de implementacioacuten EC2On-premises
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • El agente de CodeDeploy no se inicia en Windows 2016
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Error de falta de credenciales en el complemento CodeDeploy CommandPoller
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • La implementacioacuten produce un error con el mensaje ldquoValidation of PKCS7 signed message failedrdquo
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • La implementacioacuten o la reimplementacioacuten de los mismos archivos en la misma instancia producen el error The deployment failed because a specified file already exists at this location
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Solucioacuten de errores de implementacioacuten The deployment failed because a specified file already exists at this location
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Los procesos de larga duracioacuten pueden producir un error en la implementacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Solucioacuten de problemas AllowTraffic Evento de ciclo de vida sin ninguacuten error en los logs de implementacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Solucioacuten de problemas con un error ApplicationStop BeforeBlockTraffic o AfterBlockTraffic evento del ciclo de vida de la implementacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Solucioacuten de problemas DownloadBundle evento de ciclo de vida de la implementacioacuten con UnknownError no abierto para lectura
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Solucioacuten de problemas cuando se omiten todos los eventos del ciclo de vida
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Windows PowerShell Los scripts no pueden utilizar la versioacuten de 64 bits de Windows PowerShell de forma predeterminada
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • SolucionarAWSProblemas de implementacioacuten de Lambda
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • AWS LambdaLas implementaciones no se realizan correctamente si se detiene manualmente una implementacioacuten de Lambda que no tiene configuradas las reversiones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Solucioacuten de problemas de grupos de implementaciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Cuando se etiqueta una instancia como parte de un grupo de implementaciones no se implementa automaacuteticamente la aplicacioacuten en la nueva instancia
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Solucioacuten de problemas de instancias
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Las etiquetas deben estar configuradas correctamente
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • AWS CodeDeployEl agente de debe estar instalado y ejecutaacutendose en las instancias
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Las implementaciones no producen error hasta una hora despueacutes cuando se termina una instancia durante una implementacioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Anaacutelisis de archivos de registro para investigar los errores de implementacioacuten en instancias
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Creacioacuten de un nuevo CodeDeploy archivo log de si se ha eliminado por error
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Solucioacuten de errores de implementacioacuten ldquoInvalidSignatureException ndash Signature expired [hora] is now earlier than [hora]rdquo
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Solucionar GitHub Problemas con token
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Invalid (No vaacutelido) GitHub Token OAuth
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Nuacutemero maacuteximo de GitHub Se superaron los tokens OAuth
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Solucioacuten de problemas de Amazon EC2 Auto Scaling
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Solucioacuten de problemas general de Amazon EC2 Auto Scaling
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • laquoCodeDeployRole no le da permiso para realizar operaciones en las siguientesAWSservicio de Error de AmazonAutoScalingraquo
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Las instancias de un grupo de Amazon EC2 Auto Scaling se aprovisionan y se terminan constantemente antes de que pueda implementarse una revisioacuten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • La terminacioacuten o el reinicio de una instancia de Amazon EC2 Auto Scaling puede producir un error en las implementaciones
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Evite asociar varios grupos de implementaciones a un uacutenico grupo de Amazon EC2 Auto Scaling
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Las instancias EC2 de un grupo de Amazon EC2 Auto Scaling no se pueden lanzar y aparece el error laquoHeartbeat Timeoutraquo
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Los enlaces de ciclo de vida de Amazon EC2 Auto Scaling de Amazon EC2 podriacutean provocar detenciones o errores de las implementaciones automaacuteticas en grupos de Auto Scaling de Amazon EC2
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Error laquoLa implementacioacuten ha fallado porque no se han encontrado instancias para el grupo de implementacioacutenraquo
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • Coacutedigos de error deAWS CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Temas relacionados
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Recursos de CodeDeploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Guiacuteas de referencia y recursos de soporte
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Muestras
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Blogs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • AWSkits y herramientas de desarrollo de software
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Historial de documentos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Actualizaciones anteriores
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Glosario de AWS
Page 3: AWS CodeDeploy - Guía del usuario
Page 4: AWS CodeDeploy - Guía del usuario
Page 5: AWS CodeDeploy - Guía del usuario
Page 6: AWS CodeDeploy - Guía del usuario
Page 7: AWS CodeDeploy - Guía del usuario
Page 8: AWS CodeDeploy - Guía del usuario
Page 9: AWS CodeDeploy - Guía del usuario
Page 10: AWS CodeDeploy - Guía del usuario
Page 11: AWS CodeDeploy - Guía del usuario
Page 12: AWS CodeDeploy - Guía del usuario
Page 13: AWS CodeDeploy - Guía del usuario
Page 14: AWS CodeDeploy - Guía del usuario
Page 15: AWS CodeDeploy - Guía del usuario
Page 16: AWS CodeDeploy - Guía del usuario
Page 17: AWS CodeDeploy - Guía del usuario
Page 18: AWS CodeDeploy - Guía del usuario
Page 19: AWS CodeDeploy - Guía del usuario
Page 20: AWS CodeDeploy - Guía del usuario
Page 21: AWS CodeDeploy - Guía del usuario
Page 22: AWS CodeDeploy - Guía del usuario
Page 23: AWS CodeDeploy - Guía del usuario
Page 24: AWS CodeDeploy - Guía del usuario
Page 25: AWS CodeDeploy - Guía del usuario
Page 26: AWS CodeDeploy - Guía del usuario
Page 27: AWS CodeDeploy - Guía del usuario
Page 28: AWS CodeDeploy - Guía del usuario
Page 29: AWS CodeDeploy - Guía del usuario
Page 30: AWS CodeDeploy - Guía del usuario
Page 31: AWS CodeDeploy - Guía del usuario
Page 32: AWS CodeDeploy - Guía del usuario
Page 33: AWS CodeDeploy - Guía del usuario
Page 34: AWS CodeDeploy - Guía del usuario
Page 35: AWS CodeDeploy - Guía del usuario
Page 36: AWS CodeDeploy - Guía del usuario
Page 37: AWS CodeDeploy - Guía del usuario
Page 38: AWS CodeDeploy - Guía del usuario
Page 39: AWS CodeDeploy - Guía del usuario
Page 40: AWS CodeDeploy - Guía del usuario
Page 41: AWS CodeDeploy - Guía del usuario
Page 42: AWS CodeDeploy - Guía del usuario
Page 43: AWS CodeDeploy - Guía del usuario
Page 44: AWS CodeDeploy - Guía del usuario
Page 45: AWS CodeDeploy - Guía del usuario
Page 46: AWS CodeDeploy - Guía del usuario
Page 47: AWS CodeDeploy - Guía del usuario
Page 48: AWS CodeDeploy - Guía del usuario
Page 49: AWS CodeDeploy - Guía del usuario
Page 50: AWS CodeDeploy - Guía del usuario
Page 51: AWS CodeDeploy - Guía del usuario
Page 52: AWS CodeDeploy - Guía del usuario
Page 53: AWS CodeDeploy - Guía del usuario
Page 54: AWS CodeDeploy - Guía del usuario
Page 55: AWS CodeDeploy - Guía del usuario
Page 56: AWS CodeDeploy - Guía del usuario
Page 57: AWS CodeDeploy - Guía del usuario
Page 58: AWS CodeDeploy - Guía del usuario
Page 59: AWS CodeDeploy - Guía del usuario
Page 60: AWS CodeDeploy - Guía del usuario
Page 61: AWS CodeDeploy - Guía del usuario
Page 62: AWS CodeDeploy - Guía del usuario
Page 63: AWS CodeDeploy - Guía del usuario
Page 64: AWS CodeDeploy - Guía del usuario
Page 65: AWS CodeDeploy - Guía del usuario
Page 66: AWS CodeDeploy - Guía del usuario
Page 67: AWS CodeDeploy - Guía del usuario
Page 68: AWS CodeDeploy - Guía del usuario
Page 69: AWS CodeDeploy - Guía del usuario
Page 70: AWS CodeDeploy - Guía del usuario
Page 71: AWS CodeDeploy - Guía del usuario
Page 72: AWS CodeDeploy - Guía del usuario
Page 73: AWS CodeDeploy - Guía del usuario
Page 74: AWS CodeDeploy - Guía del usuario
Page 75: AWS CodeDeploy - Guía del usuario
Page 76: AWS CodeDeploy - Guía del usuario
Page 77: AWS CodeDeploy - Guía del usuario
Page 78: AWS CodeDeploy - Guía del usuario
Page 79: AWS CodeDeploy - Guía del usuario
Page 80: AWS CodeDeploy - Guía del usuario
Page 81: AWS CodeDeploy - Guía del usuario
Page 82: AWS CodeDeploy - Guía del usuario
Page 83: AWS CodeDeploy - Guía del usuario
Page 84: AWS CodeDeploy - Guía del usuario
Page 85: AWS CodeDeploy - Guía del usuario
Page 86: AWS CodeDeploy - Guía del usuario
Page 87: AWS CodeDeploy - Guía del usuario
Page 88: AWS CodeDeploy - Guía del usuario
Page 89: AWS CodeDeploy - Guía del usuario
Page 90: AWS CodeDeploy - Guía del usuario
Page 91: AWS CodeDeploy - Guía del usuario
Page 92: AWS CodeDeploy - Guía del usuario
Page 93: AWS CodeDeploy - Guía del usuario
Page 94: AWS CodeDeploy - Guía del usuario
Page 95: AWS CodeDeploy - Guía del usuario
Page 96: AWS CodeDeploy - Guía del usuario
Page 97: AWS CodeDeploy - Guía del usuario
Page 98: AWS CodeDeploy - Guía del usuario
Page 99: AWS CodeDeploy - Guía del usuario
Page 100: AWS CodeDeploy - Guía del usuario
Page 101: AWS CodeDeploy - Guía del usuario
Page 102: AWS CodeDeploy - Guía del usuario
Page 103: AWS CodeDeploy - Guía del usuario
Page 104: AWS CodeDeploy - Guía del usuario
Page 105: AWS CodeDeploy - Guía del usuario
Page 106: AWS CodeDeploy - Guía del usuario
Page 107: AWS CodeDeploy - Guía del usuario
Page 108: AWS CodeDeploy - Guía del usuario
Page 109: AWS CodeDeploy - Guía del usuario
Page 110: AWS CodeDeploy - Guía del usuario
Page 111: AWS CodeDeploy - Guía del usuario
Page 112: AWS CodeDeploy - Guía del usuario
Page 113: AWS CodeDeploy - Guía del usuario
Page 114: AWS CodeDeploy - Guía del usuario
Page 115: AWS CodeDeploy - Guía del usuario
Page 116: AWS CodeDeploy - Guía del usuario
Page 117: AWS CodeDeploy - Guía del usuario
Page 118: AWS CodeDeploy - Guía del usuario
Page 119: AWS CodeDeploy - Guía del usuario
Page 120: AWS CodeDeploy - Guía del usuario
Page 121: AWS CodeDeploy - Guía del usuario
Page 122: AWS CodeDeploy - Guía del usuario
Page 123: AWS CodeDeploy - Guía del usuario
Page 124: AWS CodeDeploy - Guía del usuario
Page 125: AWS CodeDeploy - Guía del usuario
Page 126: AWS CodeDeploy - Guía del usuario
Page 127: AWS CodeDeploy - Guía del usuario
Page 128: AWS CodeDeploy - Guía del usuario
Page 129: AWS CodeDeploy - Guía del usuario
Page 130: AWS CodeDeploy - Guía del usuario
Page 131: AWS CodeDeploy - Guía del usuario
Page 132: AWS CodeDeploy - Guía del usuario
Page 133: AWS CodeDeploy - Guía del usuario
Page 134: AWS CodeDeploy - Guía del usuario
Page 135: AWS CodeDeploy - Guía del usuario
Page 136: AWS CodeDeploy - Guía del usuario
Page 137: AWS CodeDeploy - Guía del usuario
Page 138: AWS CodeDeploy - Guía del usuario
Page 139: AWS CodeDeploy - Guía del usuario
Page 140: AWS CodeDeploy - Guía del usuario
Page 141: AWS CodeDeploy - Guía del usuario
Page 142: AWS CodeDeploy - Guía del usuario
Page 143: AWS CodeDeploy - Guía del usuario
Page 144: AWS CodeDeploy - Guía del usuario
Page 145: AWS CodeDeploy - Guía del usuario
Page 146: AWS CodeDeploy - Guía del usuario
Page 147: AWS CodeDeploy - Guía del usuario
Page 148: AWS CodeDeploy - Guía del usuario
Page 149: AWS CodeDeploy - Guía del usuario
Page 150: AWS CodeDeploy - Guía del usuario
Page 151: AWS CodeDeploy - Guía del usuario
Page 152: AWS CodeDeploy - Guía del usuario
Page 153: AWS CodeDeploy - Guía del usuario
Page 154: AWS CodeDeploy - Guía del usuario
Page 155: AWS CodeDeploy - Guía del usuario
Page 156: AWS CodeDeploy - Guía del usuario
Page 157: AWS CodeDeploy - Guía del usuario
Page 158: AWS CodeDeploy - Guía del usuario
Page 159: AWS CodeDeploy - Guía del usuario
Page 160: AWS CodeDeploy - Guía del usuario
Page 161: AWS CodeDeploy - Guía del usuario
Page 162: AWS CodeDeploy - Guía del usuario
Page 163: AWS CodeDeploy - Guía del usuario
Page 164: AWS CodeDeploy - Guía del usuario
Page 165: AWS CodeDeploy - Guía del usuario
Page 166: AWS CodeDeploy - Guía del usuario
Page 167: AWS CodeDeploy - Guía del usuario
Page 168: AWS CodeDeploy - Guía del usuario
Page 169: AWS CodeDeploy - Guía del usuario
Page 170: AWS CodeDeploy - Guía del usuario
Page 171: AWS CodeDeploy - Guía del usuario
Page 172: AWS CodeDeploy - Guía del usuario
Page 173: AWS CodeDeploy - Guía del usuario
Page 174: AWS CodeDeploy - Guía del usuario
Page 175: AWS CodeDeploy - Guía del usuario
Page 176: AWS CodeDeploy - Guía del usuario
Page 177: AWS CodeDeploy - Guía del usuario
Page 178: AWS CodeDeploy - Guía del usuario
Page 179: AWS CodeDeploy - Guía del usuario
Page 180: AWS CodeDeploy - Guía del usuario
Page 181: AWS CodeDeploy - Guía del usuario
Page 182: AWS CodeDeploy - Guía del usuario
Page 183: AWS CodeDeploy - Guía del usuario
Page 184: AWS CodeDeploy - Guía del usuario
Page 185: AWS CodeDeploy - Guía del usuario
Page 186: AWS CodeDeploy - Guía del usuario
Page 187: AWS CodeDeploy - Guía del usuario
Page 188: AWS CodeDeploy - Guía del usuario
Page 189: AWS CodeDeploy - Guía del usuario
Page 190: AWS CodeDeploy - Guía del usuario
Page 191: AWS CodeDeploy - Guía del usuario
Page 192: AWS CodeDeploy - Guía del usuario
Page 193: AWS CodeDeploy - Guía del usuario
Page 194: AWS CodeDeploy - Guía del usuario
Page 195: AWS CodeDeploy - Guía del usuario
Page 196: AWS CodeDeploy - Guía del usuario
Page 197: AWS CodeDeploy - Guía del usuario
Page 198: AWS CodeDeploy - Guía del usuario
Page 199: AWS CodeDeploy - Guía del usuario
Page 200: AWS CodeDeploy - Guía del usuario
Page 201: AWS CodeDeploy - Guía del usuario
Page 202: AWS CodeDeploy - Guía del usuario
Page 203: AWS CodeDeploy - Guía del usuario
Page 204: AWS CodeDeploy - Guía del usuario
Page 205: AWS CodeDeploy - Guía del usuario
Page 206: AWS CodeDeploy - Guía del usuario
Page 207: AWS CodeDeploy - Guía del usuario
Page 208: AWS CodeDeploy - Guía del usuario
Page 209: AWS CodeDeploy - Guía del usuario
Page 210: AWS CodeDeploy - Guía del usuario
Page 211: AWS CodeDeploy - Guía del usuario
Page 212: AWS CodeDeploy - Guía del usuario
Page 213: AWS CodeDeploy - Guía del usuario
Page 214: AWS CodeDeploy - Guía del usuario
Page 215: AWS CodeDeploy - Guía del usuario
Page 216: AWS CodeDeploy - Guía del usuario
Page 217: AWS CodeDeploy - Guía del usuario
Page 218: AWS CodeDeploy - Guía del usuario
Page 219: AWS CodeDeploy - Guía del usuario
Page 220: AWS CodeDeploy - Guía del usuario
Page 221: AWS CodeDeploy - Guía del usuario
Page 222: AWS CodeDeploy - Guía del usuario
Page 223: AWS CodeDeploy - Guía del usuario
Page 224: AWS CodeDeploy - Guía del usuario
Page 225: AWS CodeDeploy - Guía del usuario
Page 226: AWS CodeDeploy - Guía del usuario
Page 227: AWS CodeDeploy - Guía del usuario
Page 228: AWS CodeDeploy - Guía del usuario
Page 229: AWS CodeDeploy - Guía del usuario
Page 230: AWS CodeDeploy - Guía del usuario
Page 231: AWS CodeDeploy - Guía del usuario
Page 232: AWS CodeDeploy - Guía del usuario
Page 233: AWS CodeDeploy - Guía del usuario
Page 234: AWS CodeDeploy - Guía del usuario
Page 235: AWS CodeDeploy - Guía del usuario
Page 236: AWS CodeDeploy - Guía del usuario
Page 237: AWS CodeDeploy - Guía del usuario
Page 238: AWS CodeDeploy - Guía del usuario
Page 239: AWS CodeDeploy - Guía del usuario
Page 240: AWS CodeDeploy - Guía del usuario
Page 241: AWS CodeDeploy - Guía del usuario
Page 242: AWS CodeDeploy - Guía del usuario
Page 243: AWS CodeDeploy - Guía del usuario
Page 244: AWS CodeDeploy - Guía del usuario
Page 245: AWS CodeDeploy - Guía del usuario
Page 246: AWS CodeDeploy - Guía del usuario
Page 247: AWS CodeDeploy - Guía del usuario
Page 248: AWS CodeDeploy - Guía del usuario
Page 249: AWS CodeDeploy - Guía del usuario
Page 250: AWS CodeDeploy - Guía del usuario
Page 251: AWS CodeDeploy - Guía del usuario
Page 252: AWS CodeDeploy - Guía del usuario
Page 253: AWS CodeDeploy - Guía del usuario
Page 254: AWS CodeDeploy - Guía del usuario
Page 255: AWS CodeDeploy - Guía del usuario
Page 256: AWS CodeDeploy - Guía del usuario
Page 257: AWS CodeDeploy - Guía del usuario
Page 258: AWS CodeDeploy - Guía del usuario
Page 259: AWS CodeDeploy - Guía del usuario
Page 260: AWS CodeDeploy - Guía del usuario
Page 261: AWS CodeDeploy - Guía del usuario
Page 262: AWS CodeDeploy - Guía del usuario
Page 263: AWS CodeDeploy - Guía del usuario
Page 264: AWS CodeDeploy - Guía del usuario
Page 265: AWS CodeDeploy - Guía del usuario
Page 266: AWS CodeDeploy - Guía del usuario
Page 267: AWS CodeDeploy - Guía del usuario
Page 268: AWS CodeDeploy - Guía del usuario
Page 269: AWS CodeDeploy - Guía del usuario
Page 270: AWS CodeDeploy - Guía del usuario
Page 271: AWS CodeDeploy - Guía del usuario
Page 272: AWS CodeDeploy - Guía del usuario
Page 273: AWS CodeDeploy - Guía del usuario
Page 274: AWS CodeDeploy - Guía del usuario
Page 275: AWS CodeDeploy - Guía del usuario
Page 276: AWS CodeDeploy - Guía del usuario
Page 277: AWS CodeDeploy - Guía del usuario
Page 278: AWS CodeDeploy - Guía del usuario
Page 279: AWS CodeDeploy - Guía del usuario
Page 280: AWS CodeDeploy - Guía del usuario
Page 281: AWS CodeDeploy - Guía del usuario
Page 282: AWS CodeDeploy - Guía del usuario
Page 283: AWS CodeDeploy - Guía del usuario
Page 284: AWS CodeDeploy - Guía del usuario
Page 285: AWS CodeDeploy - Guía del usuario
Page 286: AWS CodeDeploy - Guía del usuario
Page 287: AWS CodeDeploy - Guía del usuario
Page 288: AWS CodeDeploy - Guía del usuario
Page 289: AWS CodeDeploy - Guía del usuario
Page 290: AWS CodeDeploy - Guía del usuario
Page 291: AWS CodeDeploy - Guía del usuario
Page 292: AWS CodeDeploy - Guía del usuario
Page 293: AWS CodeDeploy - Guía del usuario
Page 294: AWS CodeDeploy - Guía del usuario
Page 295: AWS CodeDeploy - Guía del usuario
Page 296: AWS CodeDeploy - Guía del usuario
Page 297: AWS CodeDeploy - Guía del usuario
Page 298: AWS CodeDeploy - Guía del usuario
Page 299: AWS CodeDeploy - Guía del usuario
Page 300: AWS CodeDeploy - Guía del usuario
Page 301: AWS CodeDeploy - Guía del usuario
Page 302: AWS CodeDeploy - Guía del usuario
Page 303: AWS CodeDeploy - Guía del usuario
Page 304: AWS CodeDeploy - Guía del usuario
Page 305: AWS CodeDeploy - Guía del usuario
Page 306: AWS CodeDeploy - Guía del usuario
Page 307: AWS CodeDeploy - Guía del usuario
Page 308: AWS CodeDeploy - Guía del usuario
Page 309: AWS CodeDeploy - Guía del usuario
Page 310: AWS CodeDeploy - Guía del usuario
Page 311: AWS CodeDeploy - Guía del usuario
Page 312: AWS CodeDeploy - Guía del usuario
Page 313: AWS CodeDeploy - Guía del usuario
Page 314: AWS CodeDeploy - Guía del usuario
Page 315: AWS CodeDeploy - Guía del usuario
Page 316: AWS CodeDeploy - Guía del usuario
Page 317: AWS CodeDeploy - Guía del usuario
Page 318: AWS CodeDeploy - Guía del usuario
Page 319: AWS CodeDeploy - Guía del usuario
Page 320: AWS CodeDeploy - Guía del usuario
Page 321: AWS CodeDeploy - Guía del usuario
Page 322: AWS CodeDeploy - Guía del usuario
Page 323: AWS CodeDeploy - Guía del usuario
Page 324: AWS CodeDeploy - Guía del usuario
Page 325: AWS CodeDeploy - Guía del usuario
Page 326: AWS CodeDeploy - Guía del usuario
Page 327: AWS CodeDeploy - Guía del usuario
Page 328: AWS CodeDeploy - Guía del usuario
Page 329: AWS CodeDeploy - Guía del usuario
Page 330: AWS CodeDeploy - Guía del usuario
Page 331: AWS CodeDeploy - Guía del usuario
Page 332: AWS CodeDeploy - Guía del usuario
Page 333: AWS CodeDeploy - Guía del usuario
Page 334: AWS CodeDeploy - Guía del usuario
Page 335: AWS CodeDeploy - Guía del usuario
Page 336: AWS CodeDeploy - Guía del usuario
Page 337: AWS CodeDeploy - Guía del usuario
Page 338: AWS CodeDeploy - Guía del usuario
Page 339: AWS CodeDeploy - Guía del usuario
Page 340: AWS CodeDeploy - Guía del usuario
Page 341: AWS CodeDeploy - Guía del usuario
Page 342: AWS CodeDeploy - Guía del usuario
Page 343: AWS CodeDeploy - Guía del usuario
Page 344: AWS CodeDeploy - Guía del usuario
Page 345: AWS CodeDeploy - Guía del usuario
Page 346: AWS CodeDeploy - Guía del usuario
Page 347: AWS CodeDeploy - Guía del usuario
Page 348: AWS CodeDeploy - Guía del usuario
Page 349: AWS CodeDeploy - Guía del usuario
Page 350: AWS CodeDeploy - Guía del usuario
Page 351: AWS CodeDeploy - Guía del usuario
Page 352: AWS CodeDeploy - Guía del usuario
Page 353: AWS CodeDeploy - Guía del usuario
Page 354: AWS CodeDeploy - Guía del usuario
Page 355: AWS CodeDeploy - Guía del usuario
Page 356: AWS CodeDeploy - Guía del usuario
Page 357: AWS CodeDeploy - Guía del usuario
Page 358: AWS CodeDeploy - Guía del usuario
Page 359: AWS CodeDeploy - Guía del usuario
Page 360: AWS CodeDeploy - Guía del usuario
Page 361: AWS CodeDeploy - Guía del usuario
Page 362: AWS CodeDeploy - Guía del usuario
Page 363: AWS CodeDeploy - Guía del usuario
Page 364: AWS CodeDeploy - Guía del usuario
Page 365: AWS CodeDeploy - Guía del usuario
Page 366: AWS CodeDeploy - Guía del usuario
Page 367: AWS CodeDeploy - Guía del usuario
Page 368: AWS CodeDeploy - Guía del usuario
Page 369: AWS CodeDeploy - Guía del usuario
Page 370: AWS CodeDeploy - Guía del usuario
Page 371: AWS CodeDeploy - Guía del usuario
Page 372: AWS CodeDeploy - Guía del usuario
Page 373: AWS CodeDeploy - Guía del usuario
Page 374: AWS CodeDeploy - Guía del usuario
Page 375: AWS CodeDeploy - Guía del usuario
Page 376: AWS CodeDeploy - Guía del usuario
Page 377: AWS CodeDeploy - Guía del usuario
Page 378: AWS CodeDeploy - Guía del usuario
Page 379: AWS CodeDeploy - Guía del usuario
Page 380: AWS CodeDeploy - Guía del usuario
Page 381: AWS CodeDeploy - Guía del usuario
Page 382: AWS CodeDeploy - Guía del usuario
Page 383: AWS CodeDeploy - Guía del usuario
Page 384: AWS CodeDeploy - Guía del usuario
Page 385: AWS CodeDeploy - Guía del usuario
Page 386: AWS CodeDeploy - Guía del usuario
Page 387: AWS CodeDeploy - Guía del usuario
Page 388: AWS CodeDeploy - Guía del usuario
Page 389: AWS CodeDeploy - Guía del usuario
Page 390: AWS CodeDeploy - Guía del usuario
Page 391: AWS CodeDeploy - Guía del usuario
Page 392: AWS CodeDeploy - Guía del usuario
Page 393: AWS CodeDeploy - Guía del usuario
Page 394: AWS CodeDeploy - Guía del usuario
Page 395: AWS CodeDeploy - Guía del usuario
Page 396: AWS CodeDeploy - Guía del usuario
Page 397: AWS CodeDeploy - Guía del usuario
Page 398: AWS CodeDeploy - Guía del usuario
Page 399: AWS CodeDeploy - Guía del usuario
Page 400: AWS CodeDeploy - Guía del usuario
Page 401: AWS CodeDeploy - Guía del usuario
Page 402: AWS CodeDeploy - Guía del usuario
Page 403: AWS CodeDeploy - Guía del usuario
Page 404: AWS CodeDeploy - Guía del usuario
Page 405: AWS CodeDeploy - Guía del usuario
Page 406: AWS CodeDeploy - Guía del usuario
Page 407: AWS CodeDeploy - Guía del usuario
Page 408: AWS CodeDeploy - Guía del usuario
Page 409: AWS CodeDeploy - Guía del usuario
Page 410: AWS CodeDeploy - Guía del usuario
Page 411: AWS CodeDeploy - Guía del usuario
Page 412: AWS CodeDeploy - Guía del usuario
Page 413: AWS CodeDeploy - Guía del usuario
Page 414: AWS CodeDeploy - Guía del usuario
Page 415: AWS CodeDeploy - Guía del usuario
Page 416: AWS CodeDeploy - Guía del usuario
Page 417: AWS CodeDeploy - Guía del usuario
Page 418: AWS CodeDeploy - Guía del usuario
Page 419: AWS CodeDeploy - Guía del usuario
Page 420: AWS CodeDeploy - Guía del usuario
Page 421: AWS CodeDeploy - Guía del usuario
Page 422: AWS CodeDeploy - Guía del usuario
Page 423: AWS CodeDeploy - Guía del usuario
Page 424: AWS CodeDeploy - Guía del usuario
Page 425: AWS CodeDeploy - Guía del usuario
Page 426: AWS CodeDeploy - Guía del usuario
Page 427: AWS CodeDeploy - Guía del usuario
Page 428: AWS CodeDeploy - Guía del usuario
Page 429: AWS CodeDeploy - Guía del usuario
Page 430: AWS CodeDeploy - Guía del usuario
Page 431: AWS CodeDeploy - Guía del usuario
Page 432: AWS CodeDeploy - Guía del usuario
Page 433: AWS CodeDeploy - Guía del usuario
Page 434: AWS CodeDeploy - Guía del usuario
Page 435: AWS CodeDeploy - Guía del usuario
Page 436: AWS CodeDeploy - Guía del usuario
Page 437: AWS CodeDeploy - Guía del usuario
Page 438: AWS CodeDeploy - Guía del usuario
Page 439: AWS CodeDeploy - Guía del usuario
Page 440: AWS CodeDeploy - Guía del usuario
Page 441: AWS CodeDeploy - Guía del usuario
Page 442: AWS CodeDeploy - Guía del usuario
Page 443: AWS CodeDeploy - Guía del usuario
Page 444: AWS CodeDeploy - Guía del usuario
Page 445: AWS CodeDeploy - Guía del usuario
Page 446: AWS CodeDeploy - Guía del usuario
Page 447: AWS CodeDeploy - Guía del usuario
Page 448: AWS CodeDeploy - Guía del usuario
Page 449: AWS CodeDeploy - Guía del usuario
Page 450: AWS CodeDeploy - Guía del usuario
Page 451: AWS CodeDeploy - Guía del usuario
Page 452: AWS CodeDeploy - Guía del usuario
Page 453: AWS CodeDeploy - Guía del usuario
Page 454: AWS CodeDeploy - Guía del usuario
Page 455: AWS CodeDeploy - Guía del usuario
Page 456: AWS CodeDeploy - Guía del usuario
Page 457: AWS CodeDeploy - Guía del usuario
Page 458: AWS CodeDeploy - Guía del usuario
Page 459: AWS CodeDeploy - Guía del usuario
Page 460: AWS CodeDeploy - Guía del usuario
Page 461: AWS CodeDeploy - Guía del usuario
Page 462: AWS CodeDeploy - Guía del usuario
Page 463: AWS CodeDeploy - Guía del usuario
Page 464: AWS CodeDeploy - Guía del usuario
Page 465: AWS CodeDeploy - Guía del usuario
Page 466: AWS CodeDeploy - Guía del usuario
Page 467: AWS CodeDeploy - Guía del usuario
Page 468: AWS CodeDeploy - Guía del usuario
Page 469: AWS CodeDeploy - Guía del usuario
Page 470: AWS CodeDeploy - Guía del usuario
Page 471: AWS CodeDeploy - Guía del usuario
Page 472: AWS CodeDeploy - Guía del usuario
Page 473: AWS CodeDeploy - Guía del usuario
Page 474: AWS CodeDeploy - Guía del usuario
Page 475: AWS CodeDeploy - Guía del usuario
Page 476: AWS CodeDeploy - Guía del usuario
Page 477: AWS CodeDeploy - Guía del usuario
Page 478: AWS CodeDeploy - Guía del usuario
Page 479: AWS CodeDeploy - Guía del usuario
Page 480: AWS CodeDeploy - Guía del usuario
Page 481: AWS CodeDeploy - Guía del usuario
Page 482: AWS CodeDeploy - Guía del usuario
Page 483: AWS CodeDeploy - Guía del usuario
Page 484: AWS CodeDeploy - Guía del usuario
Page 485: AWS CodeDeploy - Guía del usuario
Page 486: AWS CodeDeploy - Guía del usuario
Page 487: AWS CodeDeploy - Guía del usuario
Page 488: AWS CodeDeploy - Guía del usuario
Page 489: AWS CodeDeploy - Guía del usuario
Page 490: AWS CodeDeploy - Guía del usuario
Page 491: AWS CodeDeploy - Guía del usuario
Page 492: AWS CodeDeploy - Guía del usuario
Page 493: AWS CodeDeploy - Guía del usuario
Page 494: AWS CodeDeploy - Guía del usuario
Page 495: AWS CodeDeploy - Guía del usuario
Page 496: AWS CodeDeploy - Guía del usuario
Page 497: AWS CodeDeploy - Guía del usuario
Page 498: AWS CodeDeploy - Guía del usuario
Page 499: AWS CodeDeploy - Guía del usuario
Page 500: AWS CodeDeploy - Guía del usuario
Page 501: AWS CodeDeploy - Guía del usuario
Page 502: AWS CodeDeploy - Guía del usuario
Page 503: AWS CodeDeploy - Guía del usuario
Page 504: AWS CodeDeploy - Guía del usuario
Page 505: AWS CodeDeploy - Guía del usuario
Page 506: AWS CodeDeploy - Guía del usuario
Page 507: AWS CodeDeploy - Guía del usuario
Page 508: AWS CodeDeploy - Guía del usuario
Page 509: AWS CodeDeploy - Guía del usuario
Page 510: AWS CodeDeploy - Guía del usuario
Page 511: AWS CodeDeploy - Guía del usuario
Page 512: AWS CodeDeploy - Guía del usuario
Page 513: AWS CodeDeploy - Guía del usuario
Page 514: AWS CodeDeploy - Guía del usuario
Page 515: AWS CodeDeploy - Guía del usuario
Page 516: AWS CodeDeploy - Guía del usuario
Page 517: AWS CodeDeploy - Guía del usuario
Page 518: AWS CodeDeploy - Guía del usuario
Page 519: AWS CodeDeploy - Guía del usuario
Page 520: AWS CodeDeploy - Guía del usuario
Page 521: AWS CodeDeploy - Guía del usuario
Page 522: AWS CodeDeploy - Guía del usuario