CodeDeploy componentes principales - AWS CodeDeploy

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

CodeDeploy componentes principales

Antes de empezar a trabajar con el servicio, debe familiarizarse con los componentes principales del proceso de CodeDeploy implementación.

Aplicación

Una aplicación es un nombre que identifica de forma exclusiva la aplicación que desea implementar. CodeDeploy utiliza este nombre, que funciona como contenedor, para garantizar que se haga referencia a la combinación correcta de revisión, configuración de despliegue y grupo de despliegue durante un despliegue.

Plataforma de informática

Una plataforma de cómputo es una plataforma en la que se CodeDeploy despliega una aplicación. Existen tres plataformas de informática:

  • EC2/en las instalaciones: describe las instancias de servidores físicos que pueden ser instancias en la nube de Amazon EC2, servidores en las instalaciones o ambas cosas. Las aplicaciones creadas mediante la plataforma de informática EC2/en las instalaciones pueden estar formadas por archivos ejecutables, archivos de configuración, imágenes, etc.

    Las implementaciones que usan la plataforma de informática EC2/en las instalaciones administran la forma en que el tráfico se envía a las instancias mediante un tipo de implementación local o azul/verde. Para obtener más información, consulte Descripción general de los tipos de implementación CodeDeploy .

  • AWS Lambda: se usa para implementar aplicaciones que constan de una versión actualizada de una función Lambda. AWS Lambda administra la función Lambda en un entorno informático sin servidor compuesto por una estructura informática de alta disponibilidad. Toda la administración de los recursos de cómputo la realiza. AWS Lambda Para obtener más información, consulte Aplicaciones y informática sin servidor‭. Para obtener más información acerca de AWS Lambda las funciones Lambda, consulte. AWS Lambda

    Puede administrar la forma en que el tráfico se desplaza a las versiones actualizadas de la función Lambda durante una implementación eligiendo una configuración canaria, lineal o all-at-once lineal.

  • Amazon ECS: se utiliza para implementar una aplicación en contenedor de Amazon ECS como un conjunto de tareas. CodeDeploy realiza una implementación azul/verde mediante la instalación de una versión actualizada de la aplicación como un nuevo conjunto de tareas de reemplazo. CodeDeploy redirige el tráfico de producción del conjunto de tareas de la aplicación original al conjunto de tareas de reemplazo. Cuando la implementación se realiza correctamente, se termina el conjunto de tareas original. Para obtener más información acerca de Amazon ECS, consulte Amazon Elastic Container Service.

    Puede administrar la forma en que el tráfico se desplaza al conjunto de tareas actualizado durante una implementación eligiendo una configuración canaria, lineal o all-at-once lineal.

nota

Las implementaciones azul/verde de Amazon ECS son compatibles con y. CodeDeploy AWS CloudFormation Los detalles de estas implementaciones se describen en secciones posteriores.

Configuración de implementación

Una configuración de despliegue es un conjunto de reglas de despliegue y condiciones de éxito y fracaso que se utilizan CodeDeploy durante un despliegue. Si su implementación utiliza la plataforma de informática de EC2/en las instalaciones, puede especificar el número mínimo de instancias en buen estado para la implementación. Si su implementación utiliza la AWS Lambda plataforma informática Amazon ECS, puede especificar cómo se enruta el tráfico a la función Lambda actualizada o al conjunto de tareas de ECS.

Para obtener más información sobre cómo especificar el número mínimo de hosts en buen estado para una implementación que usa la plataforma de informática de EC2/en las instalaciones, consulte Acerca del número mínimo de instancias en buen estado.

Las siguientes configuraciones de implementación especifican cómo se dirige el tráfico durante una implementación que usa la plataforma de informática de ECS o Lambda:

  • Valor controlado: el tráfico se desvía en dos incrementos. Puede elegir opciones de valor controlado predefinidas que especifiquen el porcentaje de tráfico desviado al conjunto de tareas de ECS o a la función de Lambda actualizada en el primer incremento y el intervalo, en minutos, antes de que el tráfico restante se desvíe en el segundo incremento.

  • Lineal: el tráfico se desvía en incrementos iguales con el mismo número de minutos entre incrementos. Puede elegir opciones lineales predefinidas que especifiquen el porcentaje de tráfico desviado en cada incremento y el número de minutos entre cada incremento.

  • R ll-at-once: Todo el tráfico se desplaza de la función Lambda original o del conjunto de tareas de ECS a la función o conjunto de tareas actualizado de una sola vez.

Grupo de implementación

Un grupo de implementación es un conjunto de instancias individuales. Un grupo de implementación contiene instancias etiquetadas individualmente, instancias de Amazon EC2 en grupos Amazon EC2 Auto Scaling o ambas. Para obtener información acerca de etiquetas de instancias de Amazon EC2, consulte Trabajo con etiquetas mediante la consola. Para obtener más información acerca de las instancias en las instalaciones, consulte Working with On-Premises Instances. Para obtener más información sobre Amazon EC2 Auto Scaling, consulte Integración CodeDeploy con Amazon EC2 Auto Scaling.

Tipo de implementación

Un tipo de implementación es un método que se utiliza para hacer que la última revisión de la aplicación esté disponible en las instancias de un grupo de implementación. Existen dos tipos de implementaciones:

  • Implementación local: la aplicación de cada instancia del grupo de implementación se para, se instala la última revisión de la aplicación, y se inicia y valida la nueva versión de la aplicación. Puede utilizar un equilibrador de carga de modo que se cancele el registro de cada instancia durante su implementación y, a continuación, vuelva a ponerse en servicio una vez completada la implementación. Solo las implementaciones que usan la plataforma de informática de EC2/en las instalaciones pueden utilizar implementaciones locales. Para obtener más información acerca de las implementaciones locales, consulte Información general de la implementación local.

  • Implementación azul/verde: el funcionamiento de la implementación depende de la plataforma de informática que utilice:

    • Azul/verde en una plataforma de informática EC2/en las instalaciones: las instancias de un grupo de implementación (el entorno original) se sustituyen por otro conjunto de instancias (el entorno de sustitución) siguiendo estos pasos:

      • Las instancias se aprovisionan en el entorno de sustitución.

      • La revisión de aplicación más reciente se instala en las instancias de sustitución.

      • Existe un tiempo de espera opcional para actividades como las pruebas de aplicaciones y la verificación del sistema.

      • Las instancias del entorno de sustitución se registran en uno o más equilibradores de carga de Elastic Load Balancing, lo que provoca que el tráfico se redirija a ellos. Las instancias del entorno original se anulan del registro y se pueden cerrar o mantener en ejecución para otros usos.

      nota

      Si utiliza una plataforma de informática EC2/en las instalaciones, tenga en cuenta que las implementaciones azul/verde solo funcionan con instancias de Amazon EC2.

    • Azul/verde en una plataforma informática o AWS Lambda Amazon ECS: el tráfico se desplaza en incrementos según una configuración canaria, lineal o all-at-oncede implementación.

    • Implementaciones azules/verdes AWS CloudFormation: el tráfico pasa de los recursos actuales a los recursos actualizados como parte de una actualización de la pila. AWS CloudFormation Actualmente, solo se admiten implementaciones de ECS blue/green (azul/verde).

    Para obtener más información acerca de las implementaciones blue/green, consulte Información general de la implementación azul/verde.

nota

Las implementaciones azul/verde de Amazon ECS son compatibles con y. CodeDeploy AWS CloudFormation Los detalles de estas implementaciones se describen en secciones posteriores.

Perfil de instancia IAM

Un perfil de instancia de IAM es un rol de IAM que se vincula a las instancias de Amazon EC2. Este perfil incluye los permisos necesarios para acceder a los GitHub depósitos o repositorios de Amazon S3 en los que se almacenan las aplicaciones. Para obtener más información, consulte Paso 4: Crear un perfil de instancia de IAM para las instancias de Amazon EC2.

Revisión

Una revisión es una versión de su aplicación. Una revisión de despliegue de AWS Lambda es un archivo con formato YAML o JSON que especifica información sobre la función de Lambda que se va a implementar. Una revisión de implementación local de EC2/es un archivo de almacenamiento que contiene el contenido fuente (código fuente, páginas web, archivos ejecutables y scripts de implementación) y un archivo de especificaciones de la aplicación (archivo). AppSpec AWS Las revisiones Lambda se pueden almacenar en buckets de Amazon S3. Las revisiones de EC2/on-premise se almacenan en depósitos o repositorios de Amazon S3. GitHub En el caso de Amazon S3, una revisión se identifica de forma exclusiva mediante su clave de objeto de Amazon S3 y ETag, su versión, o ambos elementos. GitHubEn efecto, una revisión se identifica de forma exclusiva por su ID de confirmación.

Rol de servicio

Un rol de servicio es un rol de IAM que otorga permisos a un AWS servicio para que pueda acceder a AWS los recursos. Las políticas que se adjuntan a la función de servicio determinan a qué AWS recursos puede acceder el servicio y las acciones que puede realizar con esos recursos. Para CodeDeploy, un rol de servicio se usa para lo siguiente:

  • Para leer las etiquetas aplicadas a las instancias o los nombres de grupo de Amazon EC2 Auto Scaling asociados a las instancias. Esto le CodeDeploy permite identificar las instancias en las que puede implementar aplicaciones.

  • Para realizar operaciones en instancias, grupos de Amazon EC2 Auto Scaling y equilibradores de carga de Elastic Load Balancing.

  • Publicar información en los temas de Amazon SNS para que se puedan enviar notificaciones cuando se produzcan eventos de implementación o instancia específicos.

  • Recuperar información sobre CloudWatch las alarmas a fin de configurar la supervisión de las alarmas para las implementaciones.

Para obtener más información, consulte Paso 2: Crear un rol de servicio para CodeDeploy.

Revisión de destino

Una revisión de destino es la versión más reciente de la revisión de la aplicación que ha cargado en su repositorio y que desea implementar en las instancias de un grupo de implementación. Es decir, revisión de la aplicación que se va a incluir en la implementación actual. También es la revisión que se extrae para las implementaciones automáticas.

Otros componentes

Para obtener información sobre otros componentes del CodeDeploy flujo de trabajo, consulte los temas siguientes: