Implementaciones personalizadas de aplicaciones de Elastic Beanstalk - AWS Kit de herramientas con Amazon Q

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.

Implementaciones personalizadas de aplicaciones de Elastic Beanstalk

En este tema se describe cómo el manifiesto de implementación del contenedor de Microsoft Windows para admite implementaciones de aplicaciones personalizadas.

Las implementaciones de aplicaciones personalizadas son una característica eficaz para los usuarios avanzados que desean aprovechar la capacidad de Elastic Beanstalk para crear y administrar susAWSrecursos, pero desea tener un control completo sobre cómo se implementa su aplicación. En una implementación de aplicación personalizada, debe crear scripts de Windows PowerShell para las tres acciones diferentes que realiza Elastic Beanstalk. La acción de instalación se utiliza cuando se inicia una implementación, el reinicio se utiliza cuando la API RestartAppServer se llama desde el Toolkit o la consola web y la desinstalación se invoca en cualquier implementación anterior cada vez que se realiza una nueva implementación.

Por ejemplo, suponga que hay una aplicación de ASP.NET que desea implementar y que el equipo de documentación ha escrito un sitio web estático que se debe incluir con la implementación. Para hacerlo, escriba su manifiesto de implementación de la siguiente forma:

{ "manifestVersion": 1, "deployments": { "msDeploy": [ { "name": "app", "parameters": { "appBundle": "CoolApp.zip", "iisPath": "/" } } ], "custom": [ { "name": "PowerShellDocs", "scripts": { "install": { "file": "install.ps1" }, "restart": { "file": "restart.ps1" }, "uninstall": { "file": "uninstall.ps1" } } } ] } }

Los scripts mostrados para cada acción deben estar en el paquete de la aplicación en relación con el archivo de manifiesto de la implementación. En este ejemplo, el paquete de la aplicación contendrá también un archivo documentation.zip que incluye un sitio web estático creado por su equipo de documentación.

El script install.ps1 extrae el archivo zip y configura la ruta de IIS.

Add-Type -assembly "system.io.compression.filesystem" [io.compression.zipfile]::ExtractToDirectory('./documentation.zip', 'c:\inetpub\wwwroot\documentation') powershell.exe -Command {New-WebApplication -Name documentation -PhysicalPath c:\inetpub\wwwroot\documentation -Force}

Dado que la aplicación se ejecuta en IIS, la acción de reinicio invocará un restablecimiento de IIS.

iisreset /timeout:1

Para los scripts de desinstalación, es importante limpiar todos los ajustes y archivos utilizados durante la fase de instalación. De esta forma, durante la fase de instalación de la nueva versión, podrá evitar conflictos con las implementaciones anteriores. En este ejemplo, debe eliminar la aplicación IIS del sitio web estático y eliminar los archivos del sitio web.

powershell.exe -Command {Remove-WebApplication -Name documentation} Remove-Item -Recurse -Force 'c:\inetpub\wwwroot\documentation'

Con estos archivos de script y el archivo documentation.zip incluido en el paquete de la aplicación, la implementación crea una aplicación de ASP.NET y, a continuación, implementa el sitio de documentación.

En este caso, se ha elegido un ejemplo sencillo que implementa un sitio web estático simple, pero con la implementación de aplicaciones personalizada puede implementar cualquier tipo de aplicación y dejar que Elastic Beanstalk administre laAWSrecursos para ello.