Paso 4: Implementar la aplicación de WordPress
Ahora implementará la revisión de la aplicación de WordPress de ejemplo que ha cargado en Amazon S3. Puede utilizar la AWS CLI o la consola de CodeDeploy para implementar la revisión y monitorizar el progreso de la implementación. Una vez implementada correctamente la revisión de la aplicación, comprobará los resultados.
Temas
Implementación de la revisión de la aplicación con CodeDeploy
Utilice la AWS CLI o la consola para implementar la revisión de la aplicación.
Temas
Para implementar la revisión de la aplicación (CLI)
-
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 concede a CodeDeploy permiso de acceso a las instancias de Amazon EC2 para ampliar (leer) las etiquetas de instancias de Amazon EC2.
Ya debe haber seguido las instrucciones de Creación de un rol de servicio (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) .
-
Ahora que tiene el ARN del rol de servicio, llame al comando create-deployment-group para crear un grupo de implementación denominado
WordPress_DepGroupasociado a la aplicaciónWordPress_App, utilizando la etiqueta de Amazon EC2 denominadaCodeDeployDemoy la configuración de implementaciónCodeDeployDefault.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-arnserviceRoleARNnota
El comando create-deployment-group 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 alcanzan los umbrales de monitorización de las alarmas de Amazon CloudWatch. Los comandos para estas acciones no se incluyen en este tutorial.
-
Antes de crear una implementación, las instancias del grupo de implementación deben tener instalado el agente de CodeDeploy. 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 agente de CodeDeploy y, después, intentará actualizarlo todos los domingos por la mañana a las 2:00. Para obtener más información sobre el agente de CodeDeploy, consulte Trabajo con el agente de CodeDeploy. Para obtener más información acerca de Systems Manager, consulte ¿Qué es AWS Systems Manager?.
-
Ejecute ahora el comando create-deployment para crear una implementación asociada a la aplicación
WordPress_App, la configuración de implementaciónCodeDeployDefault.OneAtATimey el grupo de implementacionesWordPress_DepGrouputilizando la revisión de la aplicaciónWordPressApp.zipdel bucketamzn-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 implementar la revisión de la aplicación (consola)
-
Para utilizar la consola de CodeDeploy para implementar la revisión de la aplicación, primero necesita un ARN de rol de servicio ARN. 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 concede a CodeDeploy permiso de acceso a las instancias de Amazon EC2 para ampliar (leer) las etiquetas de instancias de Amazon EC2.
Ya debe haber seguido las instrucciones de Creación de un rol de servicio (consola) para crear un rol de servicio. Para obtener el ARN del rol de servicio, consulte Obtención del ARN del rol de servicio (consola) .
-
Ahora que tiene el ARN, use la consola de CodeDeploy para implementar la revisión de la aplicación:
Inicie sesión en la Consola de administración de AWS y abra la consola de CodeDeploy en https://console.aws.amazon.com/codedeploy
. nota
Inicie sesión con el mismo usuario que configuró en Introducción a CodeDeploy.
En el panel de navegación, expanda Implementar y, después, elija Aplicaciones.
-
En la lista de aplicaciones, elija WordPress_App.
-
En la pestaña Deployment groups (Grupos de implementaciones), elija Create deployment group (Crear grupo de implementaciones).
-
En Nombre de grupo de implementación, escriba
WordPress_DepGroup. -
En Tipo de implementación, elija Implementación local.
-
En Configuración de entorno, elija la pestaña Instancias de Amazon EC2.
-
En Configuración del agente con AWS Systems Manager, mantenga los valores predeterminados.
-
En Clave, introduzca
Name. -
En Valor, escriba
CodeDeployDemo.nota
Después de escribir
CodeDeployDemo, debe aparecer un 1 en Instancias que concuerdan para confirmar que CodeDeploy encontró una instancia de Amazon EC2 que coincide. -
En Configuración de implementación, elija CodeDeployDefault.OneAtATime.
-
En ARN de rol de servicio, elija el ARN del rol de servicio y seleccione Crear grupo de implementación.
-
Elija Crear implementación.
-
En Grupo de implementación, elija
WordPress_DepGroup. -
Junto a Tipo de repositorio, elija Mi aplicación está almacenada en Amazon S3. En Ubicación de la revisión, escriba la ubicación de la revisión de la aplicación de WordPress de ejemplo que cargó antes en Amazon S3. Para obtener la ubicación:
Abra la consola de Amazon S3 en https://console.aws.amazon.com/s3
. -
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).
-
En la lista de objetos, elija WordPressApp.zip.
-
En la pestaña Overview (Información general), copie el valor del campo Link (Enlace) en el portapapeles.
Debe ser similar al siguiente:
https://s3.amazonaws.com/amzn-s3-demo-bucket/WordPressApp.zip -
Vuelva a la consola de CodeDeploy y, en Ubicación de la revisión, pegue el valor del campo Enlace.
-
Si en la lista File type (Tipo de archivo) aparece un mensaje en el que se indica que no se ha podido detectar el tipo de archivo, seleccione .zip.
-
(Opcional) Escriba un comentario en el cuadro Deployment description.
-
Expanda Anulaciones del grupo de implementación y, en Configuración de implementación, elija CodeDeployDefault.OneAtATime.
-
Elija Iniciar la 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
Utilice la AWS CLI o la consola para monitorizar y resolver problemas de la implementación.
Temas
Para monitorizar y solucionar problemas en la implementación (CLI)
-
Obtenga el ID de la implementación; para ello, ejecute el comando list-deployments para la aplicación
WordPress_Appy el grupo de implementacionesWordPress_DepGroup:aws deploy list-deployments --application-name WordPress_App --deployment-group-name WordPress_DepGroup --query 'deployments' --output text -
Llame al comando get-deployment con el ID de la implementación:
aws deploy get-deployment --deployment-iddeploymentID--query 'deploymentInfo.status' --output text -
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 llamar a comandos como list-deployment-instances y get-deployment-instance 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.
Para monitorizar y resolver problemas de la implementación (consola)
En la página Implementaciones de la consola de CodeDeploy puede monitorizar 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:
-
En la tabla Deployments (Implementaciones), elija el nombre de la implementación. Cuando se produce un error en una implementación, aparece un mensaje que describe el motivo del error.
-
En Actividad de instancia, aparece más información sobre 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.
-
Si desea continuar con la solución de problemas, puede aplicar una técnica como la descrita en View Instance Details. 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.
Comprobación de la implementación
Una vez efectuada con éxito la implementación, puede comprobar que la instalación de WordPress funciona. Utilice la dirección DNS pública de la instancia de Amazon EC2 seguida de /WordPress, para ver el sitio 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/WordPress
Cuando vea el sitio en el navegador, debería aparecer una página de bienvenida de WordPress que tiene un aspecto similar al siguiente:
Si la instancia de Amazon EC2 no tiene ninguna regla entrante HTTP en su grupo de seguridad, la página de bienvenida de WordPress no aparecerá. Si aparece un mensaje que indica que el servidor remoto no responde, asegúrese de que el grupo de seguridad de la instancia de Amazon EC2 tiene la regla de entrada. Para obtener más información, consulte Adición de una regla de entrada que permite el tráfico HTTP hacia la instancia de Amazon EC2 de Amazon Linux o RHEL.