

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Paso 4: Implementar la aplicación Hello World.
<a name="tutorials-windows-deploy-application"></a>

Ahora implementa la revisión de la aplicación Hello, World\$1 de ejemplo que ha cargado en Amazon S3. Utilice la consola AWS CLI o la CodeDeploy consola para implementar la revisión y supervisar el progreso de la implementación. Una vez implementada correctamente la revisión de la aplicación, comprobará los resultados.

**Topics**
+ [Implemente la revisión de su aplicación con CodeDeploy](#tutorials-windows-deploy-application-create-deployment)
+ [Monitorización y solución de problemas de la implementación](#tutorials-windows-deploy-application-monitor)
+ [Comprobación de la implementación](#tutorials-windows-deploy-application-verify)

## Implemente la revisión de su aplicación con CodeDeploy
<a name="tutorials-windows-deploy-application-create-deployment"></a>

 Puede implementar su aplicación con la CLI o la consola. 

**Topics**
+ [Para implementar la revisión de la aplicación (CLI)](#tutorials-windows-deploy-application-create-deployment-cli)
+ [Para implementar la revisión de la aplicación (consola)](#tutorials-windows-deploy-application-create-deployment-console)

### Para implementar la revisión de la aplicación (CLI)
<a name="tutorials-windows-deploy-application-create-deployment-cli"></a>

1. En primer lugar, la implementación necesita un grupo de implementaciones. Sin embargo, para crear el grupo de implementaciones, primero necesita un ARN de rol de servicio. Un rol de servicio es un rol de IAM que concede a un servicio permiso para actuar en su nombre. En este caso, el rol de servicio otorga CodeDeploy permiso para acceder a sus instancias de Amazon EC2 para expandir (leer) sus etiquetas de instancia de Amazon EC2.

   Ya debe haber seguido las instrucciones de [Creación de un rol de servicio (CLI)](getting-started-create-service-role.md#getting-started-create-service-role-cli) para crear un rol de servicio. Para obtener el ARN del rol de servicio, consulte [Obtención del ARN del rol de servicio (CLI)](getting-started-create-service-role.md#getting-started-get-service-role-cli).

1. Ahora que tiene el ARN, llame al comando **create-deployment-group** para crear un grupo de implementación denominado **HelloWorld\$1DepGroup** asociado a la aplicación **HelloWorld\$1App**, utilizando la etiqueta de instancia de Amazon EC2 denominada **CodeDeployDemo** y la configuración de implementación denominada **CodeDeployDefault.OneAtATime** con el ARN del rol de servicio:

   ```
   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**  
El [create-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment-group.html)comando permite crear activadores que provoquen el envío de notificaciones de Amazon SNS a los suscriptores del tema sobre eventos específicos en implementaciones e instancias. El comando también admite opciones para revertir automáticamente las implementaciones y configurar alarmas para detener las implementaciones cuando se cumplen los umbrales de monitoreo de CloudWatch las alarmas de Amazon. Los comandos para estas acciones no se incluyen en este tutorial.

1. Antes de crear una implementación, las instancias de su grupo de implementación deben tener el CodeDeploy agente instalado. Puede instalar el agente desde la línea de comandos con AWS Systems Manager mediante el comando siguiente:

   ```
   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 crea una asociación en Systems Manager State Manager que instalará el CodeDeploy agente e intentará actualizarlo todos los domingos a las 2:00 de la mañana. Para obtener más información sobre el CodeDeploy agente, consulte [Trabajar con el CodeDeploy agente](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent.html). Para obtener más información acerca de Systems Manager, consulte [¿Qué es AWS Systems Manager?](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html).

1. Ejecute ahora el comando **create-deployment** para crear una implementación asociada a la aplicación **HelloWorld\$1App**, la configuración de implementación **CodeDeployDefault.OneAtATime** y el grupo de implementaciones **HelloWorld\$1DepGroup** utilizando la revisión de la aplicación **HelloWorld\$1App.zip** del 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 implementar la revisión de la aplicación (consola)
<a name="tutorials-windows-deploy-application-create-deployment-console"></a>

1. Antes de usar la CodeDeploy consola para implementar la revisión de la aplicación, necesita un ARN de rol de servicio. Un rol de servicio es un rol de IAM que concede a un servicio permiso para actuar en su nombre. En este caso, el rol de servicio otorga CodeDeploy permiso para acceder a sus instancias de Amazon EC2 para expandir (leer) sus etiquetas de instancia de Amazon EC2.

   Ya debe haber seguido las instrucciones de [Creación de un rol de servicio (consola)](getting-started-create-service-role.md#getting-started-create-service-role-console) para crear un rol de servicio. Para obtener el ARN del rol de servicio, consulte [Obtención del ARN del rol de servicio (consola)](getting-started-create-service-role.md#getting-started-get-service-role-console).

1. Ahora que tiene el ARN, puede usar la CodeDeploy consola para implementar la revisión de la aplicación.

   Inicie sesión en la CodeDeploy consola Consola de administración de AWS y ábrala en [https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy).
**nota**  
Inicie sesión con el mismo usuario que configuró en [Empezar con CodeDeploy](getting-started-codedeploy.md).

1. En el panel de navegación, expanda **Implementar** y, después, elija **Aplicaciones**.

1. **Elige \$1AppHelloWorld.**

1. En la pestaña **Deployment groups (Grupos de implementaciones)**, elija **Create deployment group (Crear grupo de implementaciones)**.

1. En **Nombre de grupo de implementación**, escriba **HelloWorld\$1DepGroup**.

1. En **Service Role (Rol de servicio)**, elija el nombre del rol de servicio.

1. En **Tipo de implementación**, elija **Local**.

1. En **Configuración de entorno**, elija la pestaña **Instancias de Amazon EC2**.

1. En la **configuración del agente con AWS Systems Manager**, mantenga los valores predeterminados.

1. En **Clave**, introduzca **Name**.

1. En **Valor**, escriba **CodeDeployDemo**.

1. **En **Configuración de despliegue**, elijaCodeDeployDefault. OneAtATime**.

1. En **Equilibrador de carga**, anule la selección de **Habilitar equilibración de carga**.

1. Elija **Crear grupo de implementación**.

1. Elija **Crear implementación**.

1. En el **grupo de implementación**, elija **HelloWorld\$1 DepGroup**

1. En **Tipo de revisión**, elija **Mi aplicación está almacenada en Amazon S3** y, a continuación, en **Ubicación de la revisión**, escriba la ubicación de la revisión de la aplicación de ejemplo Hello, World\$1 que cargó previamente en Amazon S3. Para obtener la ubicación:

   1. Abra la consola de Amazon S3 en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

   1. En la lista de buckets, elija **amzn-s3-demo-bucket** (o el nombre del bucket en el que cargó la revisión de la aplicación). 

   1. En la lista de objetos, elija **HelloWorld\$1App.zip**.

   1. En la pestaña **Overview (Información general)**, elija **Copy path (Ruta de copia)**.

   1. Vuelva a la CodeDeploy consola y, en **Ubicación de revisión**, pegue el valor del campo **Enlace**.

1. En **Revision file type (Tipo de archivo de revisión)**, elija **.zip**. 

1. (Opcional) Escriba un comentario en **Deployment description (Descripción de implementación)**.

1. Elija **Crear implementación**. En la página **Deployments** se mostrará información sobre la implementación que acaba de crear.

## Monitorización y solución de problemas de la implementación
<a name="tutorials-windows-deploy-application-monitor"></a>

Utilice la consola AWS CLI o la consola para supervisar y solucionar los problemas de la implementación.

**Topics**
+ [Para monitorizar y solucionar problemas en la implementación (CLI)](#tutorials-windows-deploy-application-monitor-cli)
+ [Para monitorizar y resolver problemas de la implementación (consola)](#tutorials-windows-deploy-application-monitor-console)

### Para monitorizar y solucionar problemas en la implementación (CLI)
<a name="tutorials-windows-deploy-application-monitor-cli"></a>

1. Obtenga el ID de la implementación; para ello, ejecute el comando **list-deployments** para la aplicación **HelloWorld\$1App** y el grupo de implementaciones **HelloWorld\$1DepGroup**:

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

1. Llame al comando **get-deployment** con el ID de la implementación:

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

1. El comando devuelve el estado general de la implementación. Si todo sale bien, el valor es `Succeeded`.

   Si el estado general es `Failed`, puede ejecutar comandos como [list-deployment-instances](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-deployment-instances.html) y [get-deployment-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/get-deployment-instance.html) para solucionar los problemas. Si desea conocer más opciones de solución de problemas, consulte [Análisis de archivos de registro para investigar los errores de implementación en instancias](troubleshooting-ec2-instances.md#troubleshooting-deploy-failures).

### Para monitorizar y resolver problemas de la implementación (consola)
<a name="tutorials-windows-deploy-application-monitor-console"></a>

En la página **Implementaciones** de la CodeDeploy consola, puede supervisar el estado de la implementación en la columna **Estado**.

Para obtener más información acerca de la implementación, sobre todo si el valor de la columna **Status** tiene un valor distinto de **Succeeded**:

1. En la tabla **Deployments (Implementaciones)**, elija el ID de implementación. Cuando se produce un error en una implementación, aparece un mensaje que describe el motivo del error en la página de detalles de la implementación.

1. Aparece más información sobre las instancias de la implementación. Cuando se una implementación falla, es posible que pueda determinar las instancias de Amazon EC2 afectadas y el paso del proceso en el que se ha producido el error.

1. Si desea realizar más resolución de problemas, puede utilizar una técnica como [Visualización de los detalles de la instancia con CodeDeploy](instances-view-details.md). También puede analizar los archivos de registro de la implementación en una instancia de Amazon EC2. Para obtener más información, consulte [Análisis de archivos de registro para investigar los errores de implementación en instancias](troubleshooting-ec2-instances.md#troubleshooting-deploy-failures).

## Comprobación de la implementación
<a name="tutorials-windows-deploy-application-verify"></a>

Después que la implementación se realiza correctamente, verifique que funciona la instalación. Utilice la dirección de DNS público de la instancia de Amazon EC2 para ver la página web en un navegador web. (Para obtener el valor de DNS público, en la consola de Amazon EC2, seleccione la instancia de Amazon EC2 y, en la pestaña **Descripción**, busque el valor **Public DNS**).

Por ejemplo, si la dirección DNS pública de la instancia de Amazon EC2 es **ec2-01-234-567-890.compute-1.amazonaws.com**, se usará la siguiente dirección URL:

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

Si la operación se realiza correctamente, debería ver una página web Hello, World\$1.