Paso 1: Crear y configurar el grupo de escalado automático - 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.

Paso 1: Crear y configurar el grupo de escalado automático

En este paso, creará un grupo de escalado automático que contenga una única instancia de Amazon EC2 de Amazon Linux, RHEL o Windows Server. En un paso posterior, indicará a Amazon EC2 Auto Scaling que añada una instancia más de Amazon EC2 e implementará su revisión CodeDeploy en ella.

Para crear y configurar el grupo de escalado automático (CLI)

  1. Llame al comando create-launch-template para crear una plantilla de lanzamiento de Amazon EC2.

    Antes de invocar este comando, necesitará el ID de una AMI adecuada para este tutorial, representado por el marcador de posición image-id. También necesitará el nombre de un par de claves de instancia de Amazon EC2 para permitir el acceso a la instancia de Amazon EC2, representado por el marcador de posición key-name.

    Para obtener el ID de una AMI adecuada para este tutorial:

    1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

    2. En el panel de navegación, en Instances, elija Instances y seleccione Launch Instance.

    3. En la pestaña Inicio rápido de la página Elija una imagen de máquina de Amazon, anote el ID de la AMI junto a AMI de Amazon Linux 2, Red Hat Enterprise Linux 7.1, Ubuntu Server 14.04 LTS o Microsoft Windows Server 2012 R2.

      nota

      Si tiene una versión personalizada de una AMI que sea compatible CodeDeploy, selecciónela aquí en lugar de navegar por la pestaña Inicio rápido. Para obtener información sobre el uso de una AMI personalizada con CodeDeploy Amazon EC2 Auto Scaling, consulte. Uso de una AMI personalizada con CodeDeploy Amazon EC2 Auto Scaling

    Como par de claves de la instancia de Amazon EC2, indique el nombre del par de claves de su instancia de Amazon EC2.

    Llame al comando create-launch-template.

    En máquinas Linux, macOS o Unix locales:

    aws ec2 create-launch-template \ --launch-template-name CodeDeployDemo-AS-Launch-Template \ --launch-template-data file://config.json

    El contenido del archivo config.json:

    { "InstanceType":"t1.micro", "ImageId":"image-id", "IamInstanceProfile":{ "Name":"CodeDeployDemo-EC2-Instance-Profile" }, "KeyName":"key-name" }

    En los equipos locales con Windows:

    aws ec2 create-launch-template --launch-template-name CodeDeployDemo-AS-Launch-Template --launch-template-data file://config.json

    El contenido del archivo config.json:

    { "InstanceType":"t1.micro", "ImageId":"image-id", "IamInstanceProfile":{ "Name":"CodeDeployDemo-EC2-Instance-Profile" }, "KeyName":"key-name" }

    Estos comandos, junto con el config.json archivo, crean una plantilla de lanzamiento de Amazon EC2 denominada CodeDeployDemo -as-Launch-template para su grupo de Auto Scaling que se creará en un paso siguiente en función del tipo de instancia t1.micro de Amazon EC2. En función de los datos introducidos para ImageId, IamInstanceProfile y KeyName, la plantilla de lanzamiento también especifica el ID de la AMI, el nombre del perfil de instancia asociado al rol de IAM que se va a transferir a las instancias en el momento del lanzamiento y el par de claves de Amazon EC2 que se debe utilizar al conectarse a las instancias.

  2. Llame al comando create-auto-scaling-group para crear un grupo de escalado automático. Necesitará el nombre de una de las zonas de disponibilidad de una de las regiones enumeradas en Regiones y puntos de conexión en la Referencia general de AWS, representada por el marcador de posición availability-zone.

    nota

    Para ver una lista de las zonas de disponibilidad de una región, ejecute este comando:

    aws ec2 describe-availability-zones --region region-name

    Por ejemplo, para ver una lista con las zonas de disponibilidad de la región Oeste de EE. UU. (Oregón), llame al comando siguiente:

    aws ec2 describe-availability-zones --region us-west-2

    Para obtener una lista de los identificadores de nombres de región, consulte Nombres de bucket del kit de recursos por región.

    En máquinas Linux, macOS o Unix locales:

    aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name CodeDeployDemo-AS-Group \ --launch-template CodeDeployDemo-AS-Launch-Template,Version='$Latest' \ --min-size 1 \ --max-size 1 \ --desired-capacity 1 \ --availability-zones availability-zone \ --tags Key=Name,Value=CodeDeployDemo,PropagateAtLaunch=true

    En los equipos locales con Windows:

    aws autoscaling create-auto-scaling-group --auto-scaling-group-name CodeDeployDemo-AS-Group --launch-template LaunchTemplateName=CodeDeployDemo-AS-Launch-Template,Version="$Latest" --min-size 1 --max-size 1 --desired-capacity 1 --availability-zones availability-zone --tags Key=Name,Value=CodeDeployDemo,PropagateAtLaunch=true

    Estos comandos crean un grupo de escalado automático denominado CodeDeployDemo-AS-Group en función del nombre de la plantilla de lanzamiento de Amazon EC2 CodeDeployDemo-AS-Launch-Template. Este grupo de escalado automático tiene una única instancia de Amazon EC2 y se crea en la zona de disponibilidad especificada. Cada instancia de este grupo de escalado automático tendrá la etiqueta Name=CodeDeployDemo. La etiqueta se utilizará al instalar el agente más adelante. CodeDeploy

  3. Llame al 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 continúe hasta que los valores devueltos indiquen Healthy y InService.

  4. Las instancias de su grupo de Auto Scaling deben tener el CodeDeploy agente instalado para poder usarse en CodeDeploy las implementaciones. Instale el CodeDeploy agente llamando al create-association comando desde AWS Systems Manager con las etiquetas que se agregaron al crear el grupo Auto Scaling.

    aws ssm create-association \ --name AWS-ConfigureAWSPackage \ --targets Key=tag:Name,Values=CodeDeployDemo \ 
 --parameters action=Install, name=AWSCodeDeployAgent \ --schedule-expression "cron(0 2 ? * SUN *)"

    Este comando crea una asociación en Systems Manager State Manager que instalará el CodeDeploy agente en todas las instancias del grupo Auto Scaling y, a continuación, intentará actualizarlo a las 2:00 todos los domingos por la mañana. Para obtener más información sobre el CodeDeploy agente, consulte Trabajar con el CodeDeploy agente. Para obtener más información acerca de Systems Manager, consulte ¿Qué es AWS Systems Manager?.

Para crear y configurar el grupo de escalado automático (consola)

  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En la barra de navegación global, asegúrese de que esté seleccionada una de las regiones enumeradas en Región y puntos de conexión en Referencia general de AWS. Los recursos de Auto Scaling de Amazon EC2 están vinculados a la región que especifique y solo CodeDeploy se admiten en determinadas regiones.

  3. En el panel de navegación, en Instancias, seleccione Plantillas de lanzamiento.

  4. Elija Crear plantilla de lanzamiento.

  5. En Nombre y descripción de la plantilla de lanzamiento, para Nombre de plantilla de lanzamiento, introduzca CodeDeployDemo-AS-Launch-Template. Deje los valores predeterminados para el resto de los campos.

  6. En el cuadro de diálogo Imagen de máquina de Amazon (AMI), haga clic en el menú desplegable situado debajo de AMI y elija una AMI que funcione con este tutorial:

    1. En la pestaña Inicio rápido del menú desplegable AMI, elija uno de los siguientes: AMI de Amazon Linux 2, Red Hat Enterprise Linux 7.1, Ubuntu Server 14.04 LTS o Microsoft Windows Server 2012 R2.

      nota

      Si tiene una versión personalizada de una AMI que sea compatible CodeDeploy, selecciónela aquí en lugar de navegar por la pestaña Inicio rápido. Para obtener información sobre el uso de una AMI personalizada con CodeDeploy Amazon EC2 Auto Scaling, consulte. Uso de una AMI personalizada con CodeDeploy Amazon EC2 Auto Scaling

  7. En Tipo de instancia, seleccione el menú desplegable y elija t1.micro. Puede utilizar la barra de búsqueda para encontrarla más rápidamente.

  8. En el cuadro de diálogo Par de claves (inicio de sesión), seleccione Elegir un par de claves existente. En la lista desplegable Seleccionar un par de claves, elija el par de claves de la instancia de Amazon EC2 que ha creado o utilizado en los pasos anteriores.

  9. En el cuadro de diálogo Configuración de red, elija Nube pública virtual (VPC).

    En el menú desplegable Grupos de seguridad, elija el grupo de seguridad que creó en la sección de requisitos previos del tutorial (CodeDeployDemo-AS-SG).

  10. Amplíe el cuadro de diálogo de Detalles avanzados. En el menú desplegable de Perfil de instancia de IAM, seleccione el rol de IAM que creó anteriormente (CodeDeployDemo-EC2-Instance-Profile) en Perfil de instancia de IAM.

    Deje el resto de las opciones predeterminadas.

  11. Elija Crear plantilla de inicialización.

  12. En el cuadro de diálogo Próximos pasos, elija Crear grupo de escalado automático.

  13. En la página Elegir una plantilla de lanzamiento o configuración, para Nombre de grupo de escalado automático, ingrese CodeDeployDemo-AS-Group.

  14. En el cuadro de diálogo Plantilla de lanzamiento, debe ingresar su plantilla de lanzamiento (CodeDeployDemo-AS-Launch-Template); de lo contrario, selecciónela en el menú desplegable. Deje los valores predeterminados y elija Siguiente.

  15. En la página Elegir opciones de lanzamiento de las instancias, en Red, en la opción VPC, elija la VPC predeterminada. A continuación, en Zonas de disponibilidad y subredes, elija una subred predeterminada. Debe crear una VPC si no puede elegir la predeterminada. Para obtener más información, consulte Introducción a Amazon VPC.

  16. En la sección Instance type requirements (Requisitos del tipo de instancia), utilice la configuración predeterminada para simplificar este paso. (No anule la plantilla de lanzamiento). En este tutorial, solo lanzará instancias bajo demanda con el tipo de instancia especificado en la plantilla de lanzamiento.

  17. Elija Next (Siguiente) para ir a la página Configure advanced options (Configuración de opciones avanzadas).

  18. Mantenga los valores predeterminados y elija Siguiente.

  19. En la página Configurar el tamaño del grupo y las políticas de escalado, mantenga los valores predeterminados de Tamaño de grupo de 1. Elija Siguiente.

  20. Omita el paso para configurar notificaciones y elija Siguiente.

  21. En la página Añadir etiquetas, añada una etiqueta para utilizarla cuando instale el CodeDeploy agente más adelante. Seleccione Agregar etiqueta.

    1. En Clave, introduzca Name.

    2. En Valor, escriba CodeDeployDemo.

    Elija Siguiente.

  22. Revise la información del grupo de escalado automático en la página Revisión y luego elija Crear grupo de escalado automático.

  23. En la barra de navegación, con Grupos de escalado automático seleccionado, elija CodeDeployDemo-AS-Group y luego seleccione la pestaña Administración de instancias. No continúe hasta que el valor de InServiceaparezca en la columna Ciclo de vida y el valor de Healthy aparezca en la columna Estado de salud.

  24. Instale el CodeDeploy agente siguiendo los pasos que se indican en Instalar el CodeDeploy agente y utilizar las etiquetas de Name=CodeDeployDemo instancia.