Paso 4: Implemente su WordPress aplicación - AWS CodeDeploy

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: Implemente su WordPress aplicación

Ahora implementa la revisión de la WordPress aplicación de muestra que cargó en Amazon S3. Puede utilizar 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.

Implemente la revisión de su aplicación con CodeDeploy

Utilice la consola AWS CLI o la consola para implementar la revisión de la aplicación.

Para implementar la revisión de la aplicación (CLI)

  1. La implementación necesita un grupo de implementaciones. Sin embargo, antes de crear el grupo de implementación, necesita un rol de servicioARN. Un rol de servicio es un IAM rol que le da permiso a un servicio para actuar en su nombre. En este caso, el rol de servicio te da CodeDeploy permiso para acceder a tus EC2 instancias de Amazon para expandir (leer) sus etiquetas de EC2 instancias de Amazon.

    Ya debe haber seguido las instrucciones de Creación de un rol de servicio (CLI) para crear un rol de servicio. Para obtener la función ARN de servicio, consulteObtención del ARN del rol de servicio (CLI) .

  2. Ahora que tiene la función de servicioARN, llame al create-deployment-group comando para crear un grupo de despliegue denominadoWordPress_DepGroup, asociado a la aplicación denominadaWordPress_App, utilizando la EC2 etiqueta Amazon denominada CodeDeployDemo y la configuración de despliegue denominadaCodeDeployDefault.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

    El create-deployment-groupcomando permite crear activadores que den como resultado el envío de SNS notificaciones de Amazon 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.

  3. 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. Para obtener más información acerca de Systems Manager, consulte ¿Qué es AWS Systems Manager?.

  4. Ejecute ahora el comando create-deployment para crear una implementación asociada a la aplicación WordPress_App, la configuración de implementación CodeDeployDefault.OneAtATime y el grupo de implementaciones WordPress_DepGroup utilizando la revisión de la aplicación WordPressApp.zip del 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 implementar la revisión de la aplicación (consola)

  1. Antes de usar la CodeDeploy consola para implementar la revisión de la aplicación, necesita un rol de servicioARN. Un rol de servicio es un IAM rol que le da permiso a un servicio para que actúe en su nombre. En este caso, el rol de servicio te da CodeDeploy permiso para acceder a tus EC2 instancias de Amazon para expandir (leer) sus etiquetas de EC2 instancias de Amazon.

    Ya debe haber seguido las instrucciones de Creación de un rol de servicio (consola) para crear un rol de servicio. Para obtener la función ARN de servicio, consulteObtención del ARN del rol de servicio (consola) .

  2. Ahora que la tieneARN, utilice la CodeDeploy consola para implementar la revisión de la aplicación:

    Inicie sesión en AWS Management Console y abra la CodeDeploy consola en https://console.aws.amazon.com/codedeploy.

    nota

    Inicie sesión con el mismo usuario que configuró en Empezar con CodeDeploy.

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

  4. En la lista de aplicaciones, selecciona WordPress _App.

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

  6. En Nombre de grupo de implementación, escriba WordPress_DepGroup.

  7. En Tipo de implementación, elija Implementación local.

  8. En Configuración del entorno, selecciona Amazon EC2 instances.

  9. En Configuración del agente con AWS Systems Manager, mantenga los valores predeterminados.

  10. En Clave, introduzca Name.

  11. En Valor, escriba CodeDeployDemo.

    nota

    Después de escribirCodeDeployDemo, aparecerá un 1 en Instancias coincidentes para confirmar que CodeDeploy se ha encontrado una EC2 instancia de Amazon coincidente.

  12. En Configuración de implementación, elija CodeDeployDefault. OneAtATime.

  13. En Función de servicio ARN, elija la función de servicio yARN, a continuación, elija Crear grupo de implementación.

  14. Elija Crear implementación.

  15. En Grupo de implementación, elija WordPress_DepGroup.

  16. Junto a Tipo de repositorio, elija Mi aplicación está almacenada en Amazon S3. En Ubicación de revisión, introduzca la ubicación de la revisión de la WordPress aplicación de muestra que cargó anteriormente en Amazon S3. Para obtener la ubicación:

    1. Abra la consola Amazon S3 en https://console.aws.amazon.com/s3/.

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

    3. En la lista de objetos, elija .zip. WordPressApp

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

    5. Vuelva a la CodeDeploy consola y, en la ubicación de revisión, pegue el valor del campo Enlace.

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

  18. (Opcional) Escriba un comentario en el cuadro Deployment description.

  19. Expanda Anulaciones de grupos de despliegues y, en Configuración de despliegue, seleccioneCodeDeployDefault. OneAtATime.

  20. 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 consola AWS CLI o la consola para supervisar y solucionar los problemas de la implementación.

Para supervisar y solucionar los problemas de la implementación () CLI

  1. Obtenga el ID de la implementación; para ello, ejecute el comando list-deployments para la aplicación WordPress_App y el grupo de implementaciones WordPress_DepGroup:

    aws deploy list-deployments --application-name WordPress_App --deployment-group-name WordPress_DepGroup --query 'deployments' --output text
  2. Llame al comando get-deployment con el ID de la implementación:

    aws deploy get-deployment --deployment-id deploymentID --query 'deploymentInfo.status' --output text
  3. El comando devuelve el estado general de la implementación. Si todo sale bien, el valor es Succeeded.

    Si el estado general esFailed, puede ejecutar comandos como list-deployment-instancesy get-deployment-instancepara solucionar 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 de 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 nombre de la implementación. Cuando se produce un error en una implementación, aparece un mensaje que describe el motivo del error.

  2. En Actividad de instancia, aparece más información sobre la implementación. Si se produce un error en una implementación, es posible que puedas determinar en qué EC2 instancias de Amazon y en qué paso falló la implementación.

  3. Si desea continuar con la solución de problemas, puede aplicar una técnica como la descrita en View Instance Details. También puedes analizar los archivos de registro de despliegue en una EC2 instancia de Amazon. 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 que la implementación se haya realizado correctamente, compruebe que WordPress la instalación funciona. Usa la DNS dirección pública de la EC2 instancia de Amazon, seguida de/WordPress, para ver tu sitio en un navegador web. (Para obtener el DNS valor público, en la EC2 consola de Amazon, elige la EC2 instancia de Amazon y, en la pestaña Descripción, busca el valor Public)DNS.

Por ejemplo, si la DNS dirección pública de tu EC2 instancia de Amazon esec2-01-234-567-890.compute-1.amazonaws.com, utilizarías lo siguienteURL:

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

Cuando veas el sitio en tu navegador, deberías ver una página de WordPress bienvenida similar a la siguiente:

WordPress página de bienvenida

Si tu EC2 instancia de Amazon no tiene una regla de HTTP entrada agregada a su grupo de seguridad, la página de WordPress bienvenida no aparecerá. Si ves un mensaje que indica que el servidor remoto no responde, asegúrate de que el grupo de seguridad de tu EC2 instancia de Amazon tenga 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.