Criar uma instância do Amazon EC2 para o CodeDeploy (modelo do CloudFormation) - 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á.

Criar uma instância do Amazon EC2 para o CodeDeploy (modelo do CloudFormation)

Você pode usar nosso modelo do CloudFormation para iniciar rapidamente uma instância do Amazon EC2 executando o Amazon Linux ou o Windows Server. É possível usar o AWS CLI, o console do CodeDeploy ou as APIs do AWS para iniciar a instância com o modelo. Além de iniciar a instância, o template faz o seguinte:

  • Instrui o CloudFormation a dar permissão à instância para participar de implantações do CodeDeploy.

  • Marca a instância, para que o CodeDeploy possa encontrá-la durante uma implantação.

  • Instala e executa o agente do CodeDeploy na instância.

Você não precisa usar nosso CloudFormation para configurar uma instância do Amazon EC2. Para conhecer alternativas, consulte Como trabalhar com instâncias para o CodeDeploy.

Não fornecemos um modelo do CloudFormation para instâncias do Amazon EC2 executando o Ubuntu Server ou o Red Hat Enterprise Linux (RHEL).

Antes de começar

Antes de usar o modelo do CloudFormation para iniciar instâncias do Amazon EC2, certifique-se de concluir as etapas a seguir.

  1. Certifique-se de ter criado um usuário administrativo, conforme descrito em Etapa 1: configuração. Verifique se o usuário tem as seguintes permissões mínimas e adicione as que não estão presentes:

    • cloudformation:*

    • codedeploy:*

    • ec2:*

    • iam:AddRoleToInstanceProfile

    • iam:CreateInstanceProfile

    • iam:CreateRole

    • iam:DeleteInstanceProfile

    • iam:DeleteRole

    • iam:DeleteRolePolicy

    • iam:GetRole

    • iam:DeleteRolePolicy

    • iam:PutRolePolicy

    • iam:RemoveRoleFromInstanceProfile

  2. Certifique-se de ter um par de chaves de instância para permitir o acesso SSH à instância do Amazon EC2 executando o Amazon Linux ou acesso RDP à instância que executa o Windows Server.

    Para encontrar o nome de um par de chaves, abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2. No painel de navegação, em Rede e segurança, escolha Pares de chaves e anote o nome do par de chaves na lista.

    Para gerar um novo par de chaves, consulte Criando seu par de chaves com o Amazon EC2. Verifique se o par de chaves foi criado em uma das regiões listadas em Região e endpoints no Referência geral da AWS. Caso contrário, você não poderá usar o par de chaves de instância com o CodeDeploy.

Executar uma instância do Amazon EC2 com o modelo do CloudFormation (console)

  1. Faça login no Console de gerenciamento da AWS e abra o console CloudFormation em https://console.aws.amazon.com/cloudformation.

    Importante

    Faça login no Console de gerenciamento da AWS com a mesma conta usada em Começando com CodeDeploy. Na barra de navegação, no seletor de região, escolha uma das regiões listadas em Região e endpoints, no Referência geral da AWS. O CodeDeploy é compatível somente com essas regiões.

  2. Selecione Create Stack (Criar pilha).

  3. Em Escolher um modelo, selecione Especificar um URL do modelo do Amazon S3. Na caixa, digite o local do modelo do CloudFormation para sua região e, em seguida, escolha Next (Avançar).

    Região Local do modelo do CloudFormation
    Região Leste dos EUA (Ohio) http://s3-us-east-2.amazonaws.com/aws-codedeploy-us-east-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Leste dos EUA (Norte da Virgínia) http://s3.amazonaws.com/aws-codedeploy-us-east-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Oeste dos EUA (Norte da Califórnia) http://s3-us-west-1.amazonaws.com/aws-codedeploy-us-west-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Oeste dos EUA (Oregon) http://s3-us-west-2.amazonaws.com/aws-codedeploy-us-west-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Canadá (Central) http://s3-ca-central-1.amazonaws.com/aws-codedeploy-ca-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Europa (Irlanda) http://s3-eu-west-1.amazonaws.com/aws-codedeploy-eu-west-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Europa (Londres) http://s3-eu-west-2.amazonaws.com/aws-codedeploy-eu-west-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Europa (Paris) http://s3-eu-west-3.amazonaws.com/aws-codedeploy-eu-west-3/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Europa (Frankfurt) http://s3-eu-central-1.amazonaws.com/aws-codedeploy-eu-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Região de Israel (Tel Aviv) http://s3-il-central-1.amazonaws.com/aws-codedeploy-il-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Ásia-Pacífico (Hong Kong) http://s3-ap-east-1.amazonaws.com/aws-codedeploy-ap-east-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Ásia-Pacífico (Tóquio) http://s3-ap-northeast-1.amazonaws.com/aws-codedeploy-ap-northeast-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Ásia-Pacífico (Seul) http://s3-ap-northeast-2.amazonaws.com/aws-codedeploy-ap-northeast-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Ásia-Pacífico (Singapura) http://s3-ap-southeast-1.amazonaws.com/aws-codedeploy-ap-southeast-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Ásia-Pacífico (Sydney) http://s3-ap-southeast-2.amazonaws.com/aws-codedeploy-ap-southeast-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Ásia-Pacífico (Melbourne) https://aws-codedeploy-ap-southeast-4.s3.ap-southeast-4.amazonaws.com/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Ásia-Pacífico (Mumbai) http://s3-ap-south-1.amazonaws.com/aws-codedeploy-ap-south-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Região América do Sul (São Paulo) aws-codedeploy-ap-northeast-1.s3.sa-east-1.amazonaws.com/templates/latest/CodeDeploy_SampleCF_Template.json
  4. Na caixa Stack name (Nome da pilha), digite um nome para a pilha (por exemplo, CodeDeployDemoStack).

  5. Em Parâmetros, digite o seguinte e escolha Avançar.

    • Para InstanceCount, digite o número de instâncias que você deseja iniciar. (Recomendamos deixar o padrão de 1.)

    • Para InstanceType, digite o tipo de instância que você deseja iniciar (ou deixe o padrão de t1.micro).

    • Para KeyPairName, digite o nome do par de chaves da instância. Digite apenas o nome do par de chaves, e não sua extensão de arquivo.

    • Para a caixa OperatingSystem, digite Windows para iniciar instâncias executando o Windows Server (ou deixe o padrão de Linux).

    • Para SSHLocation, digite o intervalo de endereços IP a ser usado para se conectar à instância com o SSH ou o RDP (ou deixe o padrão de 0.0.0.0/0).

      Importante

      O padrão de 0.0.0.0/0 é fornecido apenas para fins de demonstração. O CodeDeploy não exige que as instâncias do Amazon EC2 tenham acesso irrestrito às portas. Como prática recomendada, recomendamos restringir o acesso às portas SSH (e HTTP). Para obter mais informações, consulte Dicas para proteger sua instância do Amazon EC2.

    • Em TagKey, digite a chave da tag de instância que o CodeDeploy usará para identificar as instâncias durante a implantação (ou deixe o padrão de Nome).

    • Em TagValue, digite o valor da tag de instância que o CodeDeploy usará para identificar as instâncias durante a implantação (ou deixe o padrão de CodeDeployDemo).

  6. Na página Opções, deixe as caixas de opções em branco e escolha Avançar.

    Importante

    As tags do CloudFormation são diferentes das tags do CodeDeploy. O CloudFormation usa tags para simplificar a administração da sua infraestrutura. O CodeDeploy usa tags para identificar instâncias do Amazon EC2. Você especificou tags do CodeDeploy na página Especificar parâmetros.

  7. Na página Revisão, em Capacidades, marque a caixa Reconheço que o CloudFormation poderá criar recursos do IAM e, em seguida, selecione Criar.

    Depois que o CloudFormation tiver criado a pilha e iniciado as instâncias do Amazon EC2, no console do CloudFormation, CREATE_COMPLETE será exibido na coluna Status. Esse processo pode levar alguns minutos.

Para verificar se o agente do CodeDeploy está em execução nas instâncias do Amazon EC2, consulte o Gerenciar as operações do agente do CodeDeploy e, em seguida, continue em Crie um aplicativo com CodeDeploy.

Executar uma instância do Amazon EC2 com o modelo do CloudFormation (AWS CLI)

  1. Use nosso modelo do CloudFormation em uma chamada para o comando create-stack. Essa pilha executará uma nova instância do Amazon EC2 com o agente do CodeDeploy instalado.

    Para iniciar uma instância do Amazon EC2 executando o Amazon Linux:

    aws cloudformation create-stack \ --stack-name CodeDeployDemoStack \ --template-url templateURL \ --parameters ParameterKey=InstanceCount,ParameterValue=1 ParameterKey=InstanceType,ParameterValue=t1.micro \ ParameterKey=KeyPairName,ParameterValue=keyName ParameterKey=OperatingSystem,ParameterValue=Linux \ ParameterKey=SSHLocation,ParameterValue=0.0.0.0/0 ParameterKey=TagKey,ParameterValue=Name \ ParameterKey=TagValue,ParameterValue=CodeDeployDemo \ --capabilities CAPABILITY_IAM

    Para iniciar uma instância do Amazon EC2 executando o Windows Server:

    aws cloudformation create-stack --stack-name CodeDeployDemoStack --template-url template-url --parameters ParameterKey=InstanceCount,ParameterValue=1 ParameterKey=InstanceType,ParameterValue=t1.micro ParameterKey=KeyPairName,ParameterValue=keyName ParameterKey=OperatingSystem,ParameterValue=Windows ParameterKey=SSHLocation,ParameterValue=0.0.0.0/0 ParameterKey=TagKey,ParameterValue=Name ParameterKey=TagValue,ParameterValue=CodeDeployDemo --capabilities CAPABILITY_IAM

    keyName é o nome do par de chaves da instância. Digite apenas o nome do par de chaves, e não sua extensão de arquivo.

    template-url é o local do modelo do CloudFormation para sua região:

    Região Local do modelo do CloudFormation
    Região Leste dos EUA (Ohio) http://s3-us-east-2.amazonaws.com/aws-codedeploy-us-east-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Leste dos EUA (Norte da Virgínia) http://s3.amazonaws.com/aws-codedeploy-us-east-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Oeste dos EUA (Norte da Califórnia) http://s3-us-west-1.amazonaws.com/aws-codedeploy-us-west-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Oeste dos EUA (Oregon) http://s3-us-west-2.amazonaws.com/aws-codedeploy-us-west-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Canadá (Central) http://s3-ca-central-1.amazonaws.com/aws-codedeploy-ca-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Europa (Irlanda) http://s3-eu-west-1.amazonaws.com/aws-codedeploy-eu-west-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Europa (Londres) http://s3-eu-west-2.amazonaws.com/aws-codedeploy-eu-west-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Europa (Paris) http://s3-eu-west-3.amazonaws.com/aws-codedeploy-eu-west-3/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Europa (Frankfurt) http://s3-eu-central-1.amazonaws.com/aws-codedeploy-eu-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Região de Israel (Tel Aviv) http://s3-il-central-1.amazonaws.com/aws-codedeploy-il-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Ásia-Pacífico (Hong Kong) http://s3-ap-east-1.amazonaws.com/aws-codedeploy-ap-east-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Ásia-Pacífico (Tóquio) http://s3-ap-northeast-1.amazonaws.com/aws-codedeploy-ap-northeast-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Ásia-Pacífico (Seul) http://s3-ap-northeast-2.amazonaws.com/aws-codedeploy-ap-northeast-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Ásia-Pacífico (Singapura) http://s3-ap-southeast-1.amazonaws.com/aws-codedeploy-ap-southeast-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Ásia-Pacífico (Sydney) http://s3-ap-southeast-2.amazonaws.com/aws-codedeploy-ap-southeast-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Ásia-Pacífico (Melbourne) https://aws-codedeploy-ap-southeast-4.s3.ap-southeast-4.amazonaws.com/templates/latest/CodeDeploy_SampleCF_Template.json
    Região Ásia-Pacífico (Mumbai) http://s3-ap-south-1.amazonaws.com/aws-codedeploy-ap-south-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Região América do Sul (São Paulo) aws-codedeploy-ap-northeast-1.s3.sa-east-1.amazonaws.com/templates/latest/CodeDeploy_SampleCF_Template.json

    Esse comando cria uma pilha do CloudFormation denominada CodeDeployDemoStack, usando o modelo do CloudFormation no bucket especificado do Amazon S3. A instância do Amazon EC2 se baseia no tipo de instância t1.micro, mas você pode usar qualquer tipo. Ela é marcada com o valor CodeDeployDemo, mas você pode marcá-la com qualquer valor. Ela tem o par de chaves de instância especificado aplicado.

  2. Chame o comando describe-stacks para verificar se a pilha do CloudFormation denominada CodeDeployDemoStack foi criada com êxito.

    aws cloudformation describe-stacks --stack-name CodeDeployDemoStack --query "Stacks[0].StackStatus" --output text

    Não prossiga até que o valor CREATE_COMPLETE seja retornado.

Para verificar se o agente do CodeDeploy está em execução na instância do Amazon EC2, consulte o Gerenciar as operações do agente do CodeDeploy e, em seguida, continue no Crie um aplicativo com CodeDeploy.