Etapa 4: implantar seu aplicativo Hello World
Agora, você implanta o exemplo da revisão de aplicativo Hello World! que fez o upload no Amazon S3. Use a AWS CLI ou o console do CodeDeploy para implantar a revisão e monitorar o progresso da implantação. Depois que a revisão do aplicativo for implementada com êxito, confira os resultados.
Tópicos
Implantar sua revisão de aplicativo com o CodeDeploy
Você pode implantar seu aplicativo usando a CLI ou o console.
Tópicos
Para implantar sua revisão de aplicativo (CLI)
-
Primeiro, a implantação precisa de um grupo de implantação. No entanto, antes de criar o grupo de implantação, você precisa de um ARN de um perfil de serviço. Um perfil de serviço é um perfil do IAM que dá a um serviço permissão para agir em seu nome. Nesse caso, o perfil de serviço concede ao CodeDeploy permissão para acessar as instâncias do Amazon EC2 e expandir (ler) as tags da instância do Amazon EC2.
Você já deve ter seguido as instruções em Criar um perfil de serviço (CLI) para criar um perfil de serviço. Para obter o ARN do perfil de serviço, consulte Obter o ARN do perfil de serviço (CLI) .
-
Agora que você tem o ARN de perfil de serviço, chame o comando create-deployment-group para criar um grupo de implantação chamado
HelloWorld_DepGroup, associado ao aplicativo chamadoHelloWorld_App, usando a tag de instância do Amazon EC2 chamadaCodeDeployDemoe a configuração de implantação chamadaCodeDeployDefault.OneAtATime, com o ARN de perfil de serviço:aws deploy create-deployment-group --application-name HelloWorld_App --deployment-group-name HelloWorld_DepGroup --deployment-config-name CodeDeployDefault.OneAtATime --ec2-tag-filters Key=Name,Value=CodeDeployDemo,Type=KEY_AND_VALUE --service-role-arnserviceRoleARNnota
O comando create-deployment-group fornece suporte para a criação de acionadores que resultam no envio de notificações do Amazon SNS aos assinantes do tópico sobre eventos específicos em implantações e instâncias. O comando também oferece suporte a opções para reverter automaticamente as implantações e configurar alarmes para interromper as implantações quando os limites de monitoramento nos alarmes do Amazon CloudWatch forem atingidos. Os comandos para essas ações não estão incluídos neste tutorial.
-
Antes de criar uma implantação, as instâncias do seu grupo de implantação devem ter o agente do CodeDeploy instalado. Você pode instalar o agente a partir da linha de comando do AWS Systems Manager, com o seguinte comando:
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 cria uma associação no gerenciador de estados do Systems Manager que instalará o agente do CodeDeploy e, depois, tentará atualizá-lo todo domingo às 2h. Para obter mais informações sobre o agente do CodeDeploy, consulte Trabalhar com o agente do CodeDeploy. Para obter mais informações sobre o Systems Manager, consulte O que é o AWS Systems Manager.
-
Agora, chame o comando create-deployment para criar uma implantação associada ao aplicativo
HelloWorld_App, a configuração de implantaçãoCodeDeployDefault.OneAtATimee o grupo de implantaçãoHelloWorld_DepGroup, usando a revisão de aplicativoHelloWorld_App.zipno bucketamzn-s3-demo-bucket:aws deploy create-deployment --application-name HelloWorld_App --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name HelloWorld_DepGroup --s3-location bucket=amzn-s3-demo-bucket,bundleType=zip,key=HelloWorld_App.zip
Para implantar sua revisão de aplicativo (console)
-
Antes de usar o console do CodeDeploy para implantar a revisão do aplicativo, você precisa de um ARN de perfil de serviço. Um perfil de serviço é um perfil do IAM que dá a um serviço permissão para agir em seu nome. Nesse caso, o perfil de serviço concede ao CodeDeploy permissão para acessar as instâncias do Amazon EC2 e expandir (ler) as tags da instância do Amazon EC2.
Você já deve ter seguido as instruções em Criar um perfil de serviço (console) para criar um perfil de serviço. Para obter o ARN do perfil de serviço, consulte Obter o ARN do perfil de serviço (console) .
-
Agora que você tem o ARN, pode usar o console do CodeDeploy para implantar sua revisão de aplicativo.
Faça login no Console de gerenciamento da AWS e abra o console do CodeDeploy em https://console.aws.amazon.com/codedeploy
. nota
Faça login com o mesmo usuário que você configurou em Conceitos básicos do CodeDeploy.
No painel de navegação, expanda a opção Implantar e escolha Aplicativos.
-
Escolha HelloWorld_App.
-
Na guia Grupos de implantação, selecione Criar um grupo de implantação.
-
Em Nome do grupo de implantação, insira
HelloWorld_DepGroup. -
Em Service Role (Função do serviço), selecione o nome da função do serviço.
-
Em Tipo de implantação, selecione No local.
-
Em Configuração do ambiente, selecione Instâncias do Amazon EC2.
-
Na Configuração do agente com o AWS Systems Manager, mantenha os padrões.
-
Em Chave, insira
Name. -
Em Valor, informe
CodeDeployDemo. -
Em Configuração de implantação, selecione CodeDeployDefault.OneAtATime.
-
Em Balanceador de carga, desmarque Habilitar balanceamento de carga.
-
Selecione Criar grupo de implantação.
-
Escolha Criar implantação.
-
Em Deployment group (Grupo de implantação), selecione HelloWorld_DepGroup.
-
Em Tipo de revisão, selecione Meu aplicativo está armazenado no Amazon S3 e, em seguida, em Local de revisão, digite o local da revisão do aplicativo de exemplo Hello World! que você fez upload no Amazon S3 anteriormente. Para obter a localização:
Abra o console do Amazon S3, em https://console.aws.amazon.com/s3/
. -
Na lista de buckets, selecione amzn-s3-demo-bucket (ou o nome do bucket no qual você fez upload da sua revisão de aplicação).
-
Na lista de objetos, escolha HelloWorld_App.zip.
-
Na guia Overview (Visão geral), selecione Copy path (Copiar caminho).
-
Retorne ao console do CodeDeploy e, em Local de revisão, cole o valor do campo Link.
-
Em Tipo de arquivo de revisão, selecione .zip.
-
(Opcional) Insira um comentário em Deployment description (Descrição da implantação).
-
Escolha Criar implantação. As informações sobre a implantação recém-criada aparecem na página Implantações.
Monitorar sua implantação e solucionar problemas relacionados
Use a AWS CLI ou o console para monitorar e solucionar problemas de implantação.
Tópicos
Para monitorar e solucionar problemas de implantação (CLI)
-
Obtenha o ID de implantação chamando o comando list-deployments para o aplicativo chamado
HelloWorld_Appe o grupo de implantação chamadoHelloWorld_DepGroup:aws deploy list-deployments --application-name HelloWorld_App --deployment-group-name HelloWorld_DepGroup --query "deployments" --output text -
Chame o comando get-deployment com o ID da implantação:
aws deploy get-deployment --deployment-iddeploymentID--query "deploymentInfo.status" --output text -
O comando retorna o status geral da implantação. Se a implantação for bem-sucedida, o valor será
Succeeded.Se o status geral for
Failed, você poderá chamar comandos como list-deployment-instances e get-deployment-instance para solucionar problemas. Para mais opções de solução de problemas, consulte Analisando arquivos de log para investigar falhas de implantação em instâncias.
Para monitorar e solucionar problemas de implantação (console)
Na página Implantações no console do CodeDeploy, você pode monitorar o status da implantação na coluna Status.
Para obter mais informações sobre a implantação, especialmente se o valor da coluna Status tiver qualquer outro valor que não Succeeded:
-
Na tabela Deployments (Implantações), selecione o ID da implantação. Depois que uma implantação apresentar falha, uma mensagem descrevendo o motivo da falha será exibida na página de detalhes da implantação.
-
Serão exibidas mais informações sobre as instâncias de implantação. Depois que uma implantação apresentar falha, você possivelmente conseguirá determinar em quais instâncias do Amazon EC2 e em qual etapa ocorreu a falha.
-
Se quiser realizar outros procedimentos de solução de problemas, use uma técnica como View Instance Details. Você também pode analisar os arquivos de log de implantação em uma instância do Amazon EC2. Para obter mais informações, consulte Analisando arquivos de log para investigar falhas de implantação em instâncias.
Verificar sua implantação
Depois que a sua implantação for bem-sucedida, verifique se a sua instalação está funcionando. Use o endereço DNS público da instância do Amazon EC2 para visualizar a página da Web em um navegador da Web. (Para obter o valor DNS público, no console do Amazon EC2, escolha a instância do Amazon EC2 e, na guia Description, procure o valor de DNS público.)
Por exemplo, se o endereço DNS público da sua instância do Amazon EC2 for ec2-01-234-567-890.compute-1.amazonaws.com, você usará o seguinte URL:
http://ec2-01-234-567-890.compute-1.amazonaws.com
Se o procedimento for bem-sucedido, você verá uma página da web Hello World!.