Etapa 4: Implantar o WordPress aplicativo - 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 4: Implantar o WordPress aplicativo

Agora você implanta o exemplo de revisão do WordPress aplicativo que você enviou para o Amazon S3. Você pode usar oAWS CLI ou o CodeDeploy console 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.

Implante a revisão do aplicativo com 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 função de serviço. Uma função de serviço é uma função do IAM que dá a um serviço permissão para agir em seu nome. Nesse caso, a função de serviço dá CodeDeploy permissão para acessar suas instâncias do Amazon EC2 para expandir (ler) suas tags de instância do Amazon EC2.

    Você já deve ter seguido as instruções em Criar uma função de serviço (CLI) para criar uma função de serviço. Para obter o ARN da função de serviço, consulte Obtenha o ARN (CLI) da função de serviço .

  2. Agora que você tem o ARN da função de serviço, chame ocreate-deployment-group comando para criar um grupo de implantação chamadoWordPress_DepGroup, associado ao aplicativo chamadoWordPress_App, usando a tag Amazon EC2 chamadaCodeDeployDemo e a configuração de implantação chamadaCodeDeployDefault.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 create-deployment-groupcomando fornece suporte para a criação de gatilhos que resultam no envio de notificações do Amazon SNS para 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 CloudWatch alarmes da Amazon 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 em seu grupo de implantação devem ter o CodeDeploy agente 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 *)"

    Esse comando cria uma associação no Systems Manager State Manager que instalará o CodeDeploy agente e tentará atualizá-lo às 2:00 todos os domingos de manhã. 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 é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 codedeploydemobucket:

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

Para implantar sua revisão de aplicativo (console)

  1. Antes de usar o CodeDeploy console para implantar a revisão do aplicativo, você precisa de uma função de serviço ARN. Uma função de serviço é uma função do IAM que dá a um serviço permissão para agir em seu nome. Nesse caso, a função de serviço dá CodeDeploy permissão para acessar suas instâncias do Amazon EC2 para expandir (ler) suas tags de instância do Amazon EC2.

    Você já deve ter seguido as instruções em Criar uma função de serviço (console) para criar uma função de serviço. Para obter o ARN da função de serviço, consulte Obtenha o ARN da função de serviço (console) .

  2. Agora que você tem o ARN, use o CodeDeploy console para implantar a revisão do seu aplicativo:

    Faça login noAWS Management Console e abra o CodeDeploy console em https://console.aws.amazon.com/codedeploy.

    nota

    Faça login com o mesmo usuário que você configurouConceitos básicos do CodeDeploy.

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

  4. Na lista de aplicativos, escolha WordPress_App.

  5. Na guia Deployment groups (Grupos de implantação), selecione Create deployment group (Criar um grupo de implantação).

  6. Em Deployment group name (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 comAWS Systems Manager, mantenha os padrões.

  10. Em Key (Chave), insira Name.

  11. Em Valor, informe CodeDeployDemo.

    nota

    Depois de digitarCodeDeployDemo, um 1 deve aparecer em Instâncias correspondentes para confirmar se CodeDeploy encontrou uma instância correspondente do Amazon EC2.

  12. Em Configuração de implantação, escolha CodeDeployDefault. OneAtUma hora.

  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, escolha Meu aplicativo está armazenado no Amazon S3. Em Local da revisão, insira o local da revisão do WordPress aplicativo de amostra que você carregou 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, escolha escolha codedeploydemobucket (ou o nome do bucket no qual você fez o upload da revisão do aplicativo).

    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/codedeploydemobucket/WordPressApp.zip

    5. Volte ao CodeDeploy console e, em Local da 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 as substituições do grupo de implantação e, em Configuração de implantação, escolha CodeDeployDefault. OneAtUma hora.

  20. Selecione Start deployment (Iniciar implantação). As informações sobre a implantação recém-criada aparecem na página Deployments.

Monitore e solucione problemas de sua implantação

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 CodeDeploy console, você pode monitorar o status da sua 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 falhar, você poderá determinar em quais instâncias do Amazon EC2 e em qual etapa a implantação falhou.

  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.

Verifique a implantação

Depois que a implantação for bem-sucedida, verifique se WordPress a instalação 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 do DNS público, no console do Amazon EC2, escolha a instância do Amazon EC2 e, na guia Descrição, procure o valor do DNS público.)

Por exemplo, se o endereço DNS público da sua instância do Amazon EC2 forec2-01-234-567-890.compute-1.amazonaws.com, você usaria o seguinte URL:

http://ec2-01-234-567-890.compute-1.amazonaws.com/WordPress

Ao ver o site no navegador, você deverá ver uma página de WordPress boas-vindas semelhante a seguinte:


        WordPress página de boas-vindas

Se sua instância do Amazon EC2 não tiver uma regra de entrada HTTP adicionada ao grupo de segurança, a página de WordPress boas-vindas não será exibida. Se você ver uma mensagem dizendo que o servidor remoto não está respondendo, certifique-se de que o grupo de segurança da 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 para sua instância Amazon Linux ou RHEL Amazon EC2.