Enlaces de plataforma personalizados - AWS Elastic Beanstalk

Enlaces de plataforma personalizados

Elastic Beanstalk utiliza una estructura de directorios estandarizada para los enlaces de las plataformas personalizadas. Son scripts que se ejecutan durante los eventos del ciclo de vida en respuesta a las operaciones de administración (cuando se lanzan instancias en el entorno o cuando un usuario inicia una implementación o utiliza la característica de reinicio del servidor de aplicaciones).

Coloque los scripts que desea que disparen los enlaces en una de las subcarpetas de la carpeta /opt/elasticbeanstalk/hooks/.

aviso

No se permite utilizar enlaces de plataforma personalizados en las plataformas administradas. Los enlaces de plataforma están diseñados para las plataformas personalizadas. En las plataformas administradas de Elastic Beanstalk pueden funcionar de forma diferente o tener algunos problemas, y el comportamiento puede diferir de una plataforma a otra. En las plataformas AMI de Amazon Linux (antes de Amazon Linux 2), pueden seguir funcionando de manera útil en algunos casos; úselas con precaución.

Los ganchos de plataforma personalizados son una característica heredada que existe en las plataformas de la AMI de Amazon Linux. En las plataformas Amazon Linux 2, los ganchos de plataforma personalizados en la /opt/elasticbeanstalk/hooks/ carpeta se suspenden por completo. Elastic Beanstalk no los lee ni ejecuta. Las plataformas de Amazon Linux 2 admiten un nuevo tipo de ganchos de plataforma, diseñados específicamente para ampliar las plataformas gestionadas de Elastic Beanstalk. Puede agregar scripts y programas personalizados directamente a un directorio de ganchos en el paquete de origen de la aplicación. Elastic Beanstalk los ejecuta durante varias etapas de aprovisionamiento de instancias. Para obtener más información, expanda la sección Enlaces de plataforma de Ampliación de las plataformas Linux de Elastic Beanstalk.

Los enlaces están organizados en las siguientes carpetas:

  • appdeploy: scripts que se ejecutan durante la implementación de una aplicación. Elastic Beanstalk ejecuta la implementación de una aplicación cuando se lanzan nuevas instancias y cuando un cliente inicia la implementación de una nueva versión.

  • configdeploy: scripts que se ejecutan cuando un cliente realiza una actualización de la configuración que afecta a la configuración del software de la instancia; por ejemplo, cuando se configuran propiedades de entorno o se habilita la rotación de logs en Amazon S3.

  • restartappserver: scripts que se ejecutan cuando un cliente realiza una operación de reinicio del servidor de aplicaciones.

  • preinit: scripts que se ejecutan durante el proceso de arranque de las instancias.

  • postinit: scripts que se ejecutan después del proceso de arranque de las instancias.

Las carpetas appdeploy, configdeploy y restartappserver contienen las subcarpetas pre, enact y post. En cada fase de las operaciones, se ejecutan todos los scripts de la carpeta pre en orden alfabético, después los de la carpeta enact y, a continuación, los de la carpeta post.

Cuando se lanza una instancia, Elastic Beanstalk ejecuta preinit, appdeploy y postinit, en este orden. En las siguientes implementaciones de las instancias en ejecución, Elastic Beanstalk ejecuta los enlaces appdeploy. Los enlaces de configdeploy se ejecutan cuando un usuario actualiza las opciones de configuración del software de la instancia. . Los enlaces de restartappserver solo se ejecutan cuando el usuario inicia un reinicio del servidor de aplicaciones.

Cuando los scripts experimentan errores, pueden salir con un estado cero y escribir en stderr el error de la operación. El mensaje que escriba en stderr aparecerá en el evento que se genera cuando se produce un error en la operación. Elastic Beanstalk también captura esta información en el archivo log /var/log/eb-activity.log. Si no desea que la operación muestre errores, devuelva 0 (cero). Los mensajes que se escriben en stderr o stdout aparecen en los registros de implementación, pero no en la secuencia de eventos, a no ser que se produzca un error en la operación.