Paso 1: Crear y configurar el grupo Auto Scaling - 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 Auto Scaling

En este paso, creará un grupo de Auto Scaling 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 yCodeDeployimplementará su revisión en él.

Para crear y configurar el grupo Auto Scaling (CLI)

  1. Llame alcreate-launch-templatecomando 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 necesita 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 marcadornombre clave.

    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 elInicio rápidopestaña delElige una imagen de máquina de Amazonpágina, anote el ID de la AMI junto aAMI de Amazon Linux 2,Red Hat Enterprise Linux 7.1,Servidor Ubuntu 14.04 LTS, oMicrosoft Windows Server 2012 R2.

      nota

      Si dispone de una versión personalizada de una AMI que sea compatible con CodeDeploy, elíjala aquí en lugar de buscarla en la pestaña Quick Start (Inicio rápido). Para obtener información sobre el uso de una AMI personalizada conCodeDeployy Amazon EC2 Auto Scaling, consulteUso de una AMI personalizada con CodeDeploy y Amazon EC2 Auto Scaling.

    Para el par de claves de instancia de Amazon EC2, utilice el nombre de su par de claves de instancia de Amazon EC2.

    Ejecute el 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 delconfig.jsonarchivo:

    { "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 delconfig.jsonarchivo:

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

    Estos comandos, junto con elconfig.jsonarchivo, cree una plantilla de lanzamiento de Amazon EC2 denominadaCodeDeployDemo-Como plantilla de lanzamiento para su grupo de Auto Scaling que se creará en el siguiente paso en función del tipo de instancia t1.micro de Amazon EC2. Basado en sus comentarios paraImageId,IamInstanceProfile, yKeyName, la plantilla de lanzamiento también especifica el ID de la AMI, el nombre del perfil de instancia asociado a la función de IAM que se transferirá a las instancias en el momento del lanzamiento y el par de claves de Amazon EC2 que se utilizará al conectarse a las instancias.

  2. Llame alcreate-auto-scaling-groupcomando para crear un grupo de Auto Scaling. Necesitará el nombre de una de las zonas de disponibilidad de una de las regiones que figuran enRegión y puntos finalesen elReferencia general de AWS, representado por el marcadorzona de disponibilidad.

    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 de zonas de disponibilidad en la región EE. UU. Oeste (Oregón), llama al:

    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 Auto Scaling denominadoCodeDeployDemo-AS-Groupbasado en la plantilla de lanzamiento de Amazon EC2 denominadaCodeDeployDemo-AS-Launch-Template. Este grupo de Auto Scaling solo tiene una instancia de Amazon EC2 y se crea en la zona de disponibilidad especificada. Cada instancia de este grupo de Auto Scaling tendrá la etiquetaName=CodeDeployDemo. La etiqueta se usará al instalar el agente de CodeDeploy más adelante.

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

  4. Las instancias de su grupo de Auto Scaling deben tenerCodeDeployagente instalado para ser utilizado enCodeDeploydespliegues. Instale elCodeDeployagente llamando alcreate-associationcomando desdeAWS Systems Managercon las etiquetas que se agregaron cuando se creó 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á elCodeDeployagente en todas las instancias del grupo Auto Scaling y, a continuación, intente actualizarlo a las 2:00 de la mañana todos los domingos de la mañana. Para obtener más información sobre laCodeDeployagente, consulteTrabajando con elCodeDeployagente. Para obtener más información sobre Systems Manager, consulteQué esAWS Systems Manager.

Para crear y configurar el grupo Auto Scaling (consola)

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

  2. En la barra de navegación global, asegúrate de que una de las regiones que figuran enRegión y puntos finalesen elReferencia general de AWSestá seleccionada. Los recursos de Amazon EC2 Auto Scaling están vinculados a la región que especifique, yCodeDeploysolo se admite en determinadas regiones.

  3. En la barra de navegación, enInstancias, eligePlantillas de lanzamiento.

  4. Elija Create launch template (Crear plantilla de lanzamiento).

  5. En elNombre y descripción de la plantilla de lanzamientodiálogo, paraNombre de la plantilla de lanzamiento, introduceCodeDeployDemo-AS-Launch-Template. Deje los valores predeterminados para los demás campos.

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

    1. En elInicio rápidopestaña delAMImenú desplegable, elija una de las siguientes opciones:AMI de Amazon Linux 2,Red Hat Enterprise Linux 7.1,Servidor Ubuntu 14.04 LTS, oMicrosoft Windows Server 2012 R2.

      nota

      Si dispone de una versión personalizada de una AMI que sea compatible con CodeDeploy, elíjala aquí en lugar de buscarla en la pestaña Quick Start (Inicio rápido). Para obtener información sobre el uso de una AMI personalizada conCodeDeployy Amazon EC2 Auto Scaling, consulteUso de una AMI personalizada con CodeDeploy y Amazon EC2 Auto Scaling.

  7. EnTipo de instancia, selecciona el menú desplegable y eliget1.micro. Puede utilizar la barra de búsqueda para encontrarlo más rápidamente.

  8. En elPar de claves (inicio de sesión)cuadro de diálogo, seleccioneElige un par de claves existente. En elSeleccione un par de clavesen la lista desplegable, elija el par de claves de instancia de Amazon EC2 que creó o utilizó en los pasos anteriores.

  9. En elAjustes de redcuadro de diálogo, elijaNube pública virtual (VPC).

    En elGrupos de seguridadmenú desplegable, elija el grupo de seguridad que creó en elsección de requisitos previos del tutorial(CodeDeployDemo-AS-SG).

  10. Amplíe elDetalles avanzadoscuadro de diálogo. En elPerfil de instancia de IAMmenú desplegable, seleccione el rol de IAM que creó anteriormente (CodeDeployDemo-EC2-Instance-Profile) debajo dePerfil de instancia de IAM.

    Deje el resto de los valores predeterminados.

  11. Elija Create launch template (Crear plantilla de lanzamiento).

  12. En elPróximos pasoscuadro de diálogo, elijaCrear grupo de Auto Scaling.

  13. En elElija la plantilla o la configuración de lanzamientopágina, paraNombre del grupo de Auto Scaling, escribaCodeDeployDemo-AS-Group.

  14. En elPlantilla de lanzamientocuadro de diálogo, tu plantilla de lanzamiento (CodeDeployDemo-AS-Launch-Template) debe rellenarse; de lo contrario, selecciónelo en el menú desplegable. Deje los valores predeterminados y elijaSiguiente.

  15. En elElija la página de opciones de lanzamiento de instanciaspágina, en elRedsección, paraVPC, elija la VPC predeterminada. Entonces paraZonas de disponibilidad y subredes, elija una subred predeterminada. Debe crear una VPC si no puede elegir la opción predeterminada. Para obtener más información, consulteIntroducció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. Conserve los valores predeterminados y elijaSiguiente.

  19. En elConfigurar políticas de tamaño y escalado de grupospágina, mantenga la predeterminadaTamaño del grupovalores de 1. Elija Siguiente.

  20. Omita el paso de configuración de las notificaciones y elijaSiguiente.

  21. En elAgregar etiquetaspágina, añada una etiqueta que se utilizará al instalar elCodeDeployagente más tarde. Elija Add tag.

    1. En Key (Clave), introduzca Name.

    2. En Valor, escriba CodeDeployDemo.

    Elija Siguiente.

  22. Revise la información de su grupo de Auto Scaling enRevisiónpágina y, a continuación, eligeCrear grupo de Auto Scaling.

  23. En la barra de navegación, conGrupos de escalado automáticoseleccionado, eligeCodeDeployDemo-AS-Groupy, a continuación, elija laAdministración de instanciaspestaña. No continúe hasta que se obtenga el valor deInServiceaparece en elCiclo de vidacolumna y el valor deSaludableaparece en elEstado de saludcolumna.

  24. Instale elCodeDeployagente siguiendo los pasos deInstale elCodeDeployagentey utilizando elName=CodeDeployDemoetiquetas de instancia.