Etapa 1: criar e configurar o grupo do Auto Scaling - AWS CodeDeploy

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Etapa 1: criar e configurar o grupo do Auto Scaling

Nesta etapa, você criará um grupo do Auto Scaling que contém uma única instância Amazon Linux, RHEL ou Windows Server Amazon EC2. Em uma etapa posterior, você instruirá o Amazon EC2 Auto Scaling a adicionar mais uma instância do Amazon EC2 CodeDeploy e implantará sua revisão nela.

Como criar e configurar o grupo do Auto Scaling (CLI)

  1. Use o comando create-launch-template para criar um modelo de execução do Amazon EC2.

    Antes de chamar esse comando, será preciso o ID de uma AMI que funcione para este tutorial, representado pelo espaço reservado image-id. Também será preciso o nome de um par de chaves de instância do Amazon EC2 para permitir o acesso à instância do Amazon EC2 representada pelo placeholder key-name.

    Para obter o ID de uma AMI que funcione com este tutorial:

    1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

    2. No painel de navegação, em Instâncias, escolha Instâncias e, em seguida, escolha Iniciar instância.

    3. Na guia Início rápido da página Escolha uma imagem de máquina da Amazon, anote o ID da AMI ao lado do Amazon Linux 2 AMI, Red Hat Enterprise Linux 7.1, Ubuntu Server 14.04 LTS ou Microsoft Windows Server 2012 R2.

      nota

      Se você tiver uma versão personalizada de uma AMI compatível com CodeDeploy, escolha-a aqui em vez de navegar pela guia Início rápido. Para obter informações sobre o uso de uma AMI personalizada com CodeDeploy o Amazon EC2 Auto Scaling, consulte. Usando uma AMI personalizada com o CodeDeploy Amazon EC2 Auto Scaling

    Para o par de chaves da instância do Amazon EC2, use o nome do par de chaves da sua instância do Amazon EC2.

    Chame o comando create-launch-template.

    Em máquinas Linux, macOS ou Unix locais:

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

    Visualize o conteúdo do arquivo config.json:

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

    Em máquinas locais do Windows:

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

    Visualize o conteúdo do arquivo config.json:

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

    Esses comandos, junto com o config.json arquivo, criam um modelo de lançamento do Amazon EC2 chamado CodeDeployDemo -as-Launch-template para seu grupo de Auto Scaling, que será criado na etapa seguinte com base no tipo de instância t1.micro do Amazon EC2. Com base em sua entrada paraImageId, IamInstanceProfile, e KeyName, o modelo de execução também especifica a ID da AMI, o nome do perfil de instância associado ao perfil do IAM a ser passado para as instâncias na execução e o par de chaves do Amazon EC2 a ser usado ao se conectar às instâncias.

  2. Chame o comando create-auto-scaling-group para criar um grupo do Auto Scaling. Será necessário o nome de uma das zonas de disponibilidade em uma das regiões listadas em Região e endpoints na Referência geral da AWS, representado pelo placeholder availability-zone.

    nota

    Para ver uma lista de Zonas de disponibilidade em uma região, chame:

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

    Por exemplo, para ver uma lista de Zonas de disponibilidade na região Oeste dos EUA (Oregon), chame:

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

    Para obter uma lista dos identificadores de nome da região, consulte Nomes de bucket do kit de recursos por região.

    Em máquinas Linux, macOS ou Unix locais:

    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

    Em máquinas locais do 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

    Esses comandos criam um grupo do Auto Scaling chamado CodeDeployDemo-AS-Group com base no modelo de execução do Amazon EC2 chamado CodeDeployDemo-AS-Launch-Template. Esse grupo do Auto Scaling tem apenas uma instância do Amazon EC2 e é criado na Zona de disponibilidade especificada. Cada instância nesse grupo do Auto Scaling terá a tag Name=CodeDeployDemo. A tag será usada ao instalar o CodeDeploy agente posteriormente.

  3. Chame o comando describe-auto-scaling-groups contra CodeDeployDemo-AS-Group:

    aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names CodeDeployDemo-AS-Group --query "AutoScalingGroups[0].Instances[*].[HealthStatus, LifecycleState]" --output text

    Não prossiga até que os valores retornados mostrem Healthy e InService.

  4. As instâncias em seu grupo de Auto Scaling devem ter o CodeDeploy agente instalado para serem usadas em CodeDeploy implantações. Instale o CodeDeploy agente chamando o create-association comando AWS Systems Manager com as tags que foram adicionadas quando o grupo Auto Scaling foi criado.

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

    Esse comando cria uma associação no Systems Manager State Manager que instalará o CodeDeploy agente em todas as instâncias do grupo Auto Scaling e tentará atualizá-lo às 2h da manhã de domingo. Para obter mais informações sobre o CodeDeploy agente, consulte Trabalhando com o CodeDeploy agente. Para obter mais informações sobre o Systems Manager, consulte O que é o AWS Systems Manager.

Como criar e configurar o grupo do Auto Scaling (console)

  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. Na barra de navegação global, certifique-se de que uma das regiões listadas em Região e endpoints em Referência geral da AWS esteja selecionada. Os recursos do Amazon EC2 Auto Scaling estão vinculados à região que você especifica CodeDeploy e são suportados somente em regiões selecionadas.

  3. Na barra de navegação, escolha Instances e, em seguida, Launch Templates.

  4. Escolha Criar modelo de execução.

  5. Na caixa de diálogo Nome e descrição do modelo de execução, para Nome do modelo de execução, insira CodeDeployDemo-AS-Launch-Template. Mantenha os valores padrão em todos os outros campos.

  6. Na caixa de diálogo Imagem de máquina da Amazon (AMI), clique no menu suspenso em AMI e escolha uma AMI que funcione com este tutorial:

    1. Na guia Início rápido do menu suspenso AMI, escolha uma das seguintes opções: Amazon Linux 2 AMI, Red Hat Enterprise Linux 7.1, Ubuntu Server 14.04 LTS ou Microsoft Windows Server 2012 R2.

      nota

      Se você tiver uma versão personalizada de uma AMI compatível com CodeDeploy, escolha-a aqui em vez de navegar pela guia Início rápido. Para obter informações sobre o uso de uma AMI personalizada com CodeDeploy o Amazon EC2 Auto Scaling, consulte. Usando uma AMI personalizada com o CodeDeploy Amazon EC2 Auto Scaling

  7. Em Tipo de instância, selecione a lista suspensa e escolha t1.micro. É possível usar a barra de pesquisa para encontrá-la mais rapidamente.

  8. Na caixa de diálogo Par de chaves (login), selecione Escolher um par de chaves existente. Na lista suspensa Selecione um par de chaves, selecione o par de chaves de instância do Amazon EC2 criado ou usado nas etapas anteriores.

  9. Na caixa de diálogo Configurações de rede, escolha Virtual Public Cloud (VPC).

    No menu suspenso Grupos de segurança, escolha o grupo de segurança que você criou na seção de pré-requisitos do tutorial (CodeDeployDemo-AS-SG).

  10. Expanda a caixa de diálogo Detalhes avançados. No menu suspenso Perfil de instância do IAM, selecione o perfil do IAM que você criou anteriormente (CodeDeployDemo-EC2-Instance-Profile) em Perfil de instância do IAM.

    Deixe o restante dos padrões.

  11. Escolha Criar modelo de execução.

  12. Na caixa de diálogo Próximas etapas, escolha Criar grupo do Auto Scaling.

  13. Na página Escolher modelo ou configuração de execução, para Nome do grupo do Auto Scaling, insira CodeDeployDemo-AS-Group.

  14. Na caixa de diálogo Modelo de execução, seu modelo de execução (CodeDeployDemo-AS-Launch-Template) deve ser preenchido; caso contrário, selecione-o no menu suspenso. Deixe os padrões e escolha Próximo.

  15. Na página Escolher as opções de execução da instância na seção Rede, para VPC, selecione a VPC padrão. Em seguida, para Zonas de disponibilidade e sub-redes, escolha uma sub-rede padrão. Você deve criar uma VPC se não puder escolher a padrão. Para obter mais informações, consulte Conceitos básicos do Amazon VPC.

  16. Na seção Instance type requirements (Requisitos de tipo de instância), use a configuração padrão para simplificar essa etapa. (Não substitua o modelo de execução.) Neste tutorial, você fará o execução apenas das Instâncias sob demanda usando o tipo de instância especificado no modelo de execução.

  17. Selecione Next (Próximo) para ir até a página Configure advanced options (Configurar opções avançadas).

  18. Mantenha os outros valores padrão e escolha Próximo.

  19. Na página Configurar tamanho do grupo e políticas de escalabilidade, mantenha os valores padrão de tamanho do grupo de 1. Escolha Próximo.

  20. Ignore a etapa de configuração de notificações e escolha Próximo.

  21. Na página Adicionar tags, adicione uma tag a ser usada ao instalar o CodeDeploy agente posteriormente. Escolha Adicionar Tag.

    1. Em Chave, insira Name.

    2. Em Valor, informe CodeDeployDemo.

    Escolha Próximo.

  22. Na página Revisar, reveja as configurações do grupo do Auto Scaling e escolha Criar grupo do Auto Scaling.

  23. Na barra de navegação, com a opção Grupos do Auto Scaling selecionada, escolha CodeDeployDemo-AS-Group e, em seguida, a guia Gerenciamento de instâncias. Não continue até que o valor de InServiceapareça na coluna Lifecycle e o valor de Healthy apareça na coluna Health Status.

  24. Instale o CodeDeploy agente seguindo as etapas em Instalar o CodeDeploy agente e usando as tags da Name=CodeDeployDemo instância.