Paso 2: Implementar la aplicación en el grupo de escalado automático - 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 2: Implementar la aplicación en el grupo de escalado automático

En este paso, implementará la revisión en la única instancia de Amazon EC2 del grupo de escalado automático.

Para crear la implementación (CLI)

  1. Ejecute el comando create-application para crear una aplicación denominada SimpleDemoApp:

    aws deploy create-application --application-name SimpleDemoApp
  2. Ya debe haber creado un rol de servicio siguiendo las instrucciones del Paso 2: Crear un rol de servicio para CodeDeploy. El rol de servicio le dará CodeDeploy permiso para acceder a sus instancias de Amazon EC2 para expandir (leer) sus etiquetas. Necesitará el rol de servicio ARN. Para obtener el ARN del rol de servicio, siga las instrucciones de Obtención del ARN del rol de servicio (CLI) .

  3. Ahora que tiene un ARN de rol de servicio, ejecute el comando create-deployment-group para crear un grupo de implementación denominado SimpleDemoDG asociado a la aplicación SimpleDemoApp, utilizando el grupo de escalado automático CodeDeployDemo-AS-Group y la configuración de implementación CodeDeployDefault.OneAtATime con el ARN del rol de servicio especificado.

    nota

    El create-deployment-groupcomando 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.

    En máquinas Linux, macOS o Unix locales:

    aws deploy create-deployment-group \ --application-name SimpleDemoApp \ --auto-scaling-groups CodeDeployDemo-AS-Group \ --deployment-group-name SimpleDemoDG \ --deployment-config-name CodeDeployDefault.OneAtATime \ --service-role-arn service-role-arn

    En los equipos locales con Windows:

    aws deploy create-deployment-group --application-name SimpleDemoApp --auto-scaling-groups CodeDeployDemo-AS-Group --deployment-group-name SimpleDemoDG --deployment-config-name CodeDeployDefault.OneAtATime --service-role-arn service-role-arn
  4. Ejecute el comando create-deployment para crear una implementación asociada a la aplicación SimpleDemoApp, la configuración de implementación CodeDeployDefault.OneAtATime y el grupo de implementaciones SimpleDemoDG, utilizando la revisión que se encuentra en el lugar especificado.

    Para instancias Amazon EC2 de Amazon Linux y RHEL, llamadas desde máquinas locales Linux, macOS o Unix

    aws deploy create-deployment \ --application-name SimpleDemoApp \ --deployment-config-name CodeDeployDefault.OneAtATime \ --deployment-group-name SimpleDemoDG \ --s3-location bucket=bucket-name,bundleType=zip,key=samples/latest/SampleApp_Linux.zip

    bucket-name es el nombre del depósito de Amazon S3 que contiene los archivos del kit CodeDeploy de recursos de su región. Por ejemplo, en el caso de la región Este de EE. UU. (Ohio), sustituya bucket-name por aws-codedeploy-us-east-2. Para obtener una lista de los nombres de los buckets, consulte Nombres de bucket del kit de recursos por región.

    Para instancias Amazon EC2 de Amazon Linux y RHEL, llamadas desde máquinas locales Windows

    aws deploy create-deployment --application-name SimpleDemoApp --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name SimpleDemoDG --s3-location bucket=bucket-name,bundleType=zip,key=samples/latest/SampleApp_Linux.zip

    bucket-name es el nombre del depósito de Amazon S3 que contiene los archivos del kit CodeDeploy de recursos de su región. Por ejemplo, en el caso de la región Este de EE. UU. (Ohio), sustituya bucket-name por aws-codedeploy-us-east-2. Para obtener una lista de los nombres de los buckets, consulte Nombres de bucket del kit de recursos por región.

    Para instancias Amazon EC2 de Windows Server, llamadas desde máquinas locales Linux, macOS o Unix

    aws deploy create-deployment \ --application-name SimpleDemoApp \ --deployment-config-name CodeDeployDefault.OneAtATime \ --deployment-group-name SimpleDemoDG \ --s3-location bucket=bucket-name,bundleType=zip,key=samples/latest/SampleApp_Windows.zip

    bucket-name es el nombre del depósito de Amazon S3 que contiene los archivos del kit CodeDeploy de recursos de su región. Por ejemplo, en el caso de la región Este de EE. UU. (Ohio), sustituya bucket-name por aws-codedeploy-us-east-2. Para obtener una lista de los nombres de los buckets, consulte Nombres de bucket del kit de recursos por región.

    Para instancias Amazon EC2 de Windows Server, llamadas desde máquinas locales Windows

    aws deploy create-deployment --application-name SimpleDemoApp --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name SimpleDemoDG --s3-location bucket=bucket-name,bundleType=zip,key=samples/latest/SampleApp_Windows.zip

    bucket-name es el nombre del depósito de Amazon S3 que contiene los archivos del kit CodeDeploy de recursos de su región. Por ejemplo, en el caso de la región Este de EE. UU. (Ohio), sustituya bucket-name por aws-codedeploy-us-east-2. Para obtener una lista de los nombres de los buckets, consulte Nombres de bucket del kit de recursos por región.

    nota

    Actualmente, CodeDeploy no proporciona una revisión de muestra para implementarla en instancias Amazon EC2 de Ubuntu Server. Para crear su propia revisión, consulte Trabajar con revisiones de aplicaciones para CodeDeploy.

  5. Ejecute el comando get-deployment para asegurarse de que la implementación se ha realizado correctamente.

    Antes de ejecutar este comando, necesitará el ID de la implementación, que debe haber obtenido tras ejecutar el comando create-deployment. Si necesita obtener de nuevo el ID de la implementación, ejecute el comando list-deployments para la aplicación SimpleDemoApp y el grupo de implementaciones SimpleDemoDG:

    aws deploy list-deployments --application-name SimpleDemoApp --deployment-group-name SimpleDemoDG --query "deployments" --output text

    Llame ahora al comando get-deployment utilizando el ID de la implementación:

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

    No continúe hasta que el valor devuelto sea Succeeded.

Para crear la implementación (consola)

  1. Ya debe haber creado un rol de servicio siguiendo las instrucciones del Paso 2: Crear un rol de servicio para CodeDeploy. El rol de servicio le dará CodeDeploy permiso para acceder a sus instancias para expandir (leer) sus etiquetas. Antes de usar la CodeDeploy consola para implementar la revisión de la aplicación, necesitará el ARN del rol de servicio. Para obtener el ARN del rol de servicio, siga las instrucciones de Obtención del ARN del rol de servicio (consola) .

  2. Ahora que tiene el ARN del rol de servicio, puede usar la CodeDeploy consola para implementar la revisión de la aplicación.

    Inicie sesión en la CodeDeploy consola AWS Management Console y ábrala 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. Elija Crear aplicación.

  5. Elija Custom application (Aplicación personalizada).

  6. En Application name (Nombre de aplicación), escriba SimpleDemoApp.

  7. En Plataforma de informática, elija EC2/en las instalaciones.

  8. Elija Crear aplicación.

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

  10. En Nombre de grupo de implementación, escriba SimpleDemoDG.

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

  12. En Tipo de implementación, elija Local.

  13. En Configuración del entorno, seleccione Grupos de escalado automático y, a continuación, elija CodeDeployDemo-AS-Group.

  14. En Configuración de implementación, elija CodeDeployDefault. OneAtA Time.

  15. Desactive Enable load balancing (Habilitar balanceo de carga).

  16. Elija Crear grupo de implementación.

  17. En la página del grupo de implementaciones, elija Create deployment (Crear implementación).

  18. En Tipo de revisión, elija Mi aplicación está almacenada en Amazon S3.

  19. En Revision location (Ubicación de la revisión), introduzca la ubicación de la aplicación de ejemplo para el sistema operativo y la región.

    Para instancias Amazon EC2 de Amazon Linux y RHEL

    Región Ubicación de aplicación de ejemplo
    Región del Este de EE. UU. (Ohio) http://s3-us-east-2.amazonaws.com/aws-codedeploy-us-east-2/samples/latest/SampleApp_Linux.zip
    Región del Este de EE. UU (Norte de Virginia) http://s3.amazonaws.com/aws-codedeploy-us-east-1/samples/latest/SampleApp_Linux.zip
    Región del Oeste de EE. UU (Norte de California) http://s3-us-west-1.amazonaws.com/aws-codedeploy-us-west-1/samples/latest/SampleApp_Linux.zip
    Región del Oeste de EE. UU (Oregón) http://s3-us-west-2.amazonaws.com/aws-codedeploy-us-west-2/samples/latest/SampleApp_Linux.zip
    Región de Canadá (centro) http://s3-ca-central-1.amazonaws.com/aws-codedeploy-ca-central-1/samples/latest/SampleApp_Linux.zip
    Región de Europa (Irlanda) http://s3-eu-west-1.amazonaws.com/aws-codedeploy-eu-west-1/samples/latest/SampleApp_Linux.zip
    Región de Europa (Londres) http://s3-eu-west-2.amazonaws.com/aws-codedeploy-eu-west-2/samples/latest/SampleApp_Linux.zip
    Región Europa (París) http://s3-eu-west-3.amazonaws.com/aws-codedeploy-eu-west-3/samples/latest/SampleApp_Linux.zip
    Región de Europa (Fráncfort) http://s3-eu-central-1.amazonaws.com/aws-codedeploy-eu-central-1/samples/latest/SampleApp_Linux.zip
    Región Israel (Tel Aviv) https://aws-codedeploy-il-central-1.s3.il-central-1.amazonaws.com/samples/latest/SampleApp_Linux.zip
    Región de Asia-Pacífico (Hong Kong) https://aws-codedeploy-ap-east-1.s3.ap-east-1.amazonaws.com/samples/latest/SampleApp_Linux.zip
    Asia Pacífico (Tokio) http://s3-ap-northeast-1.amazonaws.com/aws-codedeploy-ap-northeast-1/samples/latest/SampleApp_Linux.zip
    Región de Asia-Pacífico (Seúl) http://s3-ap-northeast-2.amazonaws.com/aws-codedeploy-ap-northeast-2/samples/latest/SampleApp_Linux.zip
    Región de Asia-Pacífico (Singapur) http://s3-ap-southeast-1.amazonaws.com/aws-codedeploy-ap-southeast-1/samples/latest/SampleApp_Linux.zip
    Región de Asia-Pacífico (Sídney) http://s3-ap-southeast-2.amazonaws.com/aws-codedeploy-ap-southeast-2/samples/latest/SampleApp_Linux.zip
    Región de Asia-Pacífico (Melbourne) https://aws-codedeploy-ap-southeast-4.s3.ap-southeast-4.amazonaws.com/samples/latest/SampleApp_Linux.zip
    Región de Asia-Pacífico (Bombay) http://s3-ap-south-1.amazonaws.com/aws-codedeploy-ap-south-1/samples/latest/SampleApp_Linux.zip
    Región de América del Sur (São Paulo) http://s3-sa-east-1.amazonaws.com/aws-codedeploy-sa-east-1/samples/latest/SampleApp_Linux.zip

    Instancias de Amazon EC2 con Windows Server

    Región Ubicación de aplicación de ejemplo
    Región del Este de EE. UU. (Ohio) http://s3-us-east-2.amazonaws.com/aws-codedeploy-us-east-2/samples/latest/SampleApp_Windows.zip
    Región del Este de EE. UU (Norte de Virginia) http://s3.amazonaws.com/aws-codedeploy-us-east-1/samples/latest/SampleApp_Windows.zip
    Región del Oeste de EE. UU (Norte de California) http://s3-us-west-1.amazonaws.com/aws-codedeploy-us-west-1/samples/latest/SampleApp_Windows.zip
    Región del Oeste de EE. UU (Oregón) http://s3-us-west-2.amazonaws.com/aws-codedeploy-us-west-2/samples/latest/SampleApp_Windows.zip
    Región de Canadá (centro) http://s3-ca-central-1.amazonaws.com/aws-codedeploy-ca-central-1/samples/latest/SampleApp_Windows.zip
    Región de Europa (Irlanda) http://s3-eu-west-1.amazonaws.com/aws-codedeploy-eu-west-1/samples/latest/SampleApp_Windows.zip
    Región de Europa (Londres) http://s3-eu-west-2.amazonaws.com/aws-codedeploy-eu-west-2/samples/latest/SampleApp_Windows.zip
    Región Europa (París) http://s3-eu-west-3.amazonaws.com/aws-codedeploy-eu-west-3/samples/latest/SampleApp_Windows.zip
    Región de Europa (Fráncfort) http://s3-eu-central-1.amazonaws.com/aws-codedeploy-eu-central-1/samples/latest/SampleApp_Windows.zip
    Región Israel (Tel Aviv) https://aws-codedeploy-il-central-1.s3.il-central-1.amazonaws.com/samples/latest/SampleApp_Windows.zip
    Región de Asia-Pacífico (Hong Kong) https://aws-codedeploy-ap-east-1.s3.ap-east-1.amazonaws.com/samples/latest/SampleApp_Windows.zip
    Región de Asia-Pacífico (Seúl) http://s3-ap-northeast-2.amazonaws.com/aws-codedeploy-ap-northeast-2/samples/latest/SampleApp_Windows.zip
    Región de Asia-Pacífico (Singapur) http://s3-ap-southeast-1.amazonaws.com/aws-codedeploy-ap-southeast-1/samples/latest/SampleApp_Windows.zip
    Región de Asia-Pacífico (Sídney) http://s3-ap-southeast-2.amazonaws.com/aws-codedeploy-ap-southeast-2/samples/latest/SampleApp_Windows.zip
    Región de Asia-Pacífico (Melbourne) https://aws-codedeploy-ap-southeast-4.s3.ap-southeast-4.amazonaws.com/samples/latest/SampleApp_Windows.zip
    Región de Asia-Pacífico (Bombay) http://s3-ap-south-1.amazonaws.com/aws-codedeploy-ap-south-1/samples/latest/SampleApp_Windows.zip
    Región de América del Sur (São Paulo) http://s3-sa-east-1.amazonaws.com/aws-codedeploy-sa-east-1/samples/latest/SampleApp_Windows.zip

    Para instancias de Amazon EC2 de Ubuntu Server

    Escriba la ubicación de la revisión de la aplicación personalizada almacenada en Amazon S3.

  20. Deje Deployment description (Descripción de implementación) en blanco.

  21. Expanda Advanced (Avanzadas).

  22. Elija Crear implementación.

    nota

    Si aparece Failed (Error) en lugar de Succeeded (Correcto), puede ser conveniente probar alguna de las técnicas descritas en Monitorización y solución de problemas de la implementación (utilizando SimpleDemoApp como nombre de la aplicación y SimpleDemoDG como nombre del grupo de implementaciones).