Etapa 4: implantar seu aplicativo WordPress - AWS CodeDeploy

Etapa 4: implantar seu aplicativo WordPress

Agora, você implanta a revisão do aplicativo WordPress de amostra que carregou 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.

Implantar sua revisão de aplicativo com o CodeDeploy

Use a AWS CLI ou o console para implantar sua revisão de aplicativo.

Para implantar sua revisão de aplicativo (CLI)

  1. 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) .

  2. Agora que você tem o ARN do perfil de serviço, chame o comando create-deployment-group para criar um grupo de implantação chamado WordPress_DepGroup, associado ao aplicativo chamado WordPress_App, usando a tag do Amazon EC2 chamada CodeDeployDemo e a configuração de implantação chamada CodeDeployDefault.OneAtATime:

    aws deploy create-deployment-group \ --application-name WordPress_App \ --deployment-group-name WordPress_DepGroup \ --deployment-config-name CodeDeployDefault.OneAtATime \ --ec2-tag-filters Key=Name,Value=CodeDeployDemo,Type=KEY_AND_VALUE \ --service-role-arn serviceRoleARN

    nota

    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.

  3. 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.

  4. Agora, chame o comando create-deployment para criar uma implantação associada ao aplicativo WordPress_App, a configuração de implantação CodeDeployDefault.OneAtATime e o grupo de implantação WordPress_DepGroup, usando a revisão de aplicativo WordPressApp.zip no bucket amzn-s3-demo-bucket:

    aws deploy create-deployment \ --application-name WordPress_App \ --deployment-config-name CodeDeployDefault.OneAtATime \ --deployment-group-name WordPress_DepGroup \ --s3-location bucket=amzn-s3-demo-bucket,bundleType=zip,key=WordPressApp.zip

Para implantar sua revisão de aplicativo (console)

  1. 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) .

  2. Agora que você tem o ARN, use o console do CodeDeploy para implantar a revisão do 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.

  3. No painel de navegação, expanda a opção Implantar e escolha Aplicativos.

  4. Na lista de aplicações, escolha WordPress_App.

  5. Na guia Grupos de implantação, selecione Criar um grupo de implantação.

  6. Em Nome do grupo de implantação, insira WordPress_DepGroup.

  7. Em Deployment type, escolha In-place deployment.

  8. Em Configuração do ambiente, selecione Instâncias do Amazon EC2.

  9. Na Configuração do agente com o AWS Systems Manager, mantenha os padrões.

  10. Em Chave, insira Name.

  11. Em Valor, informe CodeDeployDemo.

    nota

    Após digitar CodeDeployDemo, um 1 deve aparecer em Instâncias correspondentes para confirmar que o CodeDeploy encontrou uma instância do Amazon EC2 correspondente.

  12. Em Configuração de implantação, selecione CodeDeployDefault.OneAtATime.

  13. Em Service role ARN (ARN da função de serviço), selecione o ARN da função de serviço e, em seguida, escolha Create deployment group (Criar grupo de implantação).

  14. Escolha Criar implantação.

  15. Em Deployment group (Grupo de implantação), selecione WordPress_DepGroup.

  16. Ao lado de Tipo de repositório, selecione Meu aplicativo está armazenado no Amazon S3. Em Local de revisão, insira a localização da amostra de revisão do aplicativo WordPress cujo upload você fez anteriormente para o Amazon S3. Para obter a localização:

    1. Abra o console do Amazon S3, em https://console.aws.amazon.com/s3/.

    2. 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).

    3. Na lista de objetos, escolha WordPressApp.zip.

    4. Na guia Visão geral, copie o valor do campo Link na área de transferência.

      A aparência pode ser semelhante a esta:

      https://s3.amazonaws.com/amzn-s3-demo-bucket/WordPressApp.zip

    5. Retorne ao console do CodeDeploy e, em Local de revisão, cole o valor do campo Link .

  17. Se uma mensagem aparecer na lista File type (Tipo de arquivo), indicando que o tipo de arquivo não pôde ser detectado, escolha .zip.

  18. (Opcional) Digite um comentário na caixa Deployment description.

  19. Expanda Substituições de grupos de implantação e em Configuração de implantação, selecione CodeDeployDefault.OneAtATime.

  20. Selecione Iniciar 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.

Para monitorar e solucionar problemas de implantação (CLI)

  1. Obtenha o ID de implantação chamando o comando list-deployments para o aplicativo chamado WordPress_App e o grupo de implantação chamado WordPress_DepGroup:

    aws deploy list-deployments --application-name WordPress_App --deployment-group-name WordPress_DepGroup --query 'deployments' --output text
  2. Chame o comando get-deployment com o ID da implantação:

    aws deploy get-deployment --deployment-id deploymentID --query 'deploymentInfo.status' --output text
  3. 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:

  1. Na tabela Deployments (Implantações), selecione o nome da implantação. Depois que uma implantação falhar, uma mensagem descrevendo o motivo da falha será exibida.

  2. Na Instance activity (Atividade da instância), mais informações sobre a implantação são exibidas. 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.

  3. Se quiser realizar outros procedimentos de solução de problemas, use uma técnica como a descrita em 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 do WordPress está funcionando. Use o endereço DNS público da instância do Amazon EC2, seguido por /WordPress, para visualizar seu site 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 Descrição, 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/WordPress

Quando você visualizar o site em seu navegador, verá uma página de boas-vindas do WordPress semelhante à seguinte:

Página de boas-vindas do WordPress

Se a sua instância do Amazon EC2 não tiver uma regra de entrada HTTP adicionada a seu grupo de segurança, a página de boas-vindas do WordPress não será exibida. Se aparecer uma mensagem indicando que o servidor remoto não está respondendo, certifique-se de que o grupo de segurança de sua instância do Amazon EC2 tenha a regra de entrada. Para obter mais informações, consulte Adicione uma regra de entrada que permita tráfego HTTP à instância do Amazon EC2 do Amazon Linux ou do RHEL.