

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 seu aplicativo Hello World
<a name="tutorials-windows-deploy-application"></a>

Agora, você implanta o exemplo da revisão de aplicativo Hello World\$1 que fez o upload no Amazon S3. Você usa o AWS 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.

**Topics**
+ [Implemente a revisão do seu aplicativo com CodeDeploy](#tutorials-windows-deploy-application-create-deployment)
+ [Monitorar sua implantação e solucionar problemas relacionados](#tutorials-windows-deploy-application-monitor)
+ [Verificar sua implantação](#tutorials-windows-deploy-application-verify)

## Implemente a revisão do seu aplicativo com CodeDeploy
<a name="tutorials-windows-deploy-application-create-deployment"></a>

 Você pode implantar seu aplicativo usando a CLI ou o console. 

**Topics**
+ [Para implantar sua revisão de aplicativo (CLI)](#tutorials-windows-deploy-application-create-deployment-cli)
+ [Para implantar sua revisão de aplicativo (console)](#tutorials-windows-deploy-application-create-deployment-console)

### Para implantar sua revisão de aplicativo (CLI)
<a name="tutorials-windows-deploy-application-create-deployment-cli"></a>

1. 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, 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 um perfil de serviço (CLI)](getting-started-create-service-role.md#getting-started-create-service-role-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)](getting-started-create-service-role.md#getting-started-get-service-role-cli).

1. 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\$1DepGroup**, associado ao aplicativo chamado **HelloWorld\$1App**, usando a tag de instância do Amazon EC2 chamada **CodeDeployDemo** e a configuração de implantação chamada **CodeDeployDefault.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-arn serviceRoleARN
   ```
**nota**  
O [create-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment-group.html)comando 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 da CloudWatch Amazon forem atingidos. Os comandos para essas ações não estão incluídos neste tutorial.

1. Antes de criar uma implantação, as instâncias do 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 de cada manhã de domingo. Para obter mais informações sobre o CodeDeploy agente, consulte [Trabalhando com o CodeDeploy agente](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent.html). Para obter mais informações sobre o Systems Manager, consulte [O que é o AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html).

1. Agora, chame o comando **create-deployment** para criar uma implantação associada ao aplicativo **HelloWorld\$1App**, a configuração de implantação **CodeDeployDefault.OneAtATime** e o grupo de implantação **HelloWorld\$1DepGroup**, usando a revisão de aplicativo **HelloWorld\$1App.zip** no bucket **amzn-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)
<a name="tutorials-windows-deploy-application-create-deployment-console"></a>

1. Antes de usar o CodeDeploy console para implantar a revisão do aplicativo, você precisa de um ARN de função 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, 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 um perfil de serviço (console)](getting-started-create-service-role.md#getting-started-create-service-role-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)](getting-started-create-service-role.md#getting-started-get-service-role-console).

1. Agora que você tem o ARN, você pode usar o CodeDeploy console para implantar a revisão do seu aplicativo.

   Faça login no Console de gerenciamento da AWS e abra o CodeDeploy console em [https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy).
**nota**  
Faça login com o mesmo usuário que você configurou em [Começando com CodeDeploy](getting-started-codedeploy.md).

1. No painel de navegação, expanda a opção **Implantar** e escolha **Aplicações**.

1. Escolha **HelloWorld\$1App**.

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

1. Em **Nome do grupo de implantação**, insira **HelloWorld\$1DepGroup**.

1. Em **Service Role (Função do serviço)**, selecione o nome da função do serviço.

1. Em **Tipo de implantação**, selecione **No local**.

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

1. Em **Configuração do agente com AWS Systems Manager**, mantenha os padrões.

1. Em **Chave**, insira **Name**.

1. Em **Valor**, informe **CodeDeployDemo**.

1. Em **Configuração de implantação**, escolha **CodeDeployDefault. OneAtATime**.

1. Em **Balanceador de carga**, desmarque **Habilitar balanceamento de carga**.

1. Selecione **Criar grupo de implantação**.

1. Escolha **Criar implantação**.

1. No **grupo de implantação**, escolha **HelloWorld\$1 DepGroup**

1. 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\$1 que você fez upload no Amazon S3 anteriormente. Para obter a localização:

   1. Abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

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

   1. Na lista de objetos, escolha **HelloWorld\$1App.zip**.

   1. Na guia **Overview (Visão geral)**, selecione **Copy path (Copiar caminho)**.

   1. Retorne ao CodeDeploy console e, em **Local da revisão**, cole o valor do campo **Link**.

1. Em **Tipo de arquivo de revisão**, selecione **.zip**. 

1. (Opcional) Insira um comentário em **Deployment description (Descrição da implantação)**.

1. 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
<a name="tutorials-windows-deploy-application-monitor"></a>

Use o console AWS CLI ou o console para monitorar e solucionar problemas de sua implantação.

**Topics**
+ [Para monitorar e solucionar problemas de implantação (CLI)](#tutorials-windows-deploy-application-monitor-cli)
+ [Para monitorar e solucionar problemas de implantação (console)](#tutorials-windows-deploy-application-monitor-console)

### Para monitorar e solucionar problemas de implantação (CLI)
<a name="tutorials-windows-deploy-application-monitor-cli"></a>

1. Obtenha o ID de implantação chamando o comando **list-deployments** para o aplicativo chamado **HelloWorld\$1App** e o grupo de implantação chamado **HelloWorld\$1DepGroup**:

   ```
   aws deploy list-deployments --application-name HelloWorld_App --deployment-group-name HelloWorld_DepGroup --query "deployments" --output text
   ```

1. Chame o comando **get-deployment** com o ID da implantação:

   ```
   aws deploy get-deployment --deployment-id deploymentID --query "deploymentInfo.status" --output text
   ```

1. 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](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-deployment-instances.html) e [get-deployment-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/get-deployment-instance.html) 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](troubleshooting-ec2-instances.md#troubleshooting-deploy-failures).

### Para monitorar e solucionar problemas de implantação (console)
<a name="tutorials-windows-deploy-application-monitor-console"></a>

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

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

1. Se quiser realizar outros procedimentos de solução de problemas, use uma técnica como [Visualizar detalhes da instância com o CodeDeploy](instances-view-details.md). 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](troubleshooting-ec2-instances.md#troubleshooting-deploy-failures).

## Verificar sua implantação
<a name="tutorials-windows-deploy-application-verify"></a>

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\$1.