Enlaces de la plataforma - AWS Elastic Beanstalk

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.

Enlaces de la plataforma

Los enlaces de la plataforma están diseñados específicamente para ampliar la plataforma del entorno. Se trata de scripts personalizados y otros archivos ejecutables que se implementan como parte del código fuente de la aplicación y que Elastic Beanstalk ejecuta durante diversas etapas de aprovisionamiento de instancias.

nota

Los enlaces de plataforma no son compatibles con las versiones de AMI plataforma Amazon Linux (anteriores a Amazon Linux 2).

Enlaces de la plataforma de implementación de aplicaciones

Una implementación de aplicación se produce cuando se proporciona un nuevo paquete de origen para la implementación o cuando se realiza un cambio de configuración que requiere la terminación y recreación de todas las instancias del entorno.

Para proporcionar enlaces de la plataforma que se ejecutan durante una implementación de aplicaciones, coloque los archivos en el directorio .platform/hooks del paquete de origen, en uno de los subdirectorios siguientes.

  • prebuild: los archivos de este subdirectorio se ejecutan después de que el motor de la plataforma Elastic Beanstalk se descarga y extrae el paquete de código fuente de la aplicación y antes de que configure la aplicación y el servidor web.

    Los archivos de prebuild se ejecutan después de los comandos que se encuentran en la sección commands de un archivo de configuración y antes de los comandos de Buildfile.

  • predeploy: los archivos de este subdirectorio se ejecutan después de que el motor de la plataforma Elastic Beanstalk se configura y prepara la aplicación y el servidor web, y antes de que los implemente en la ubicación del entorno de ejecución final.

    Los archivos de predeploy se ejecutan después de los comandos que se encuentran en la sección container_commands de un archivo de configuración y antes de que se ejecuten los comandos de Procfile.

  • postdeploy: los archivos de este subdirectorio se ejecutan después de que el motor de la plataforma Elastic Beanstalk implementa la aplicación y el servidor proxy.

    Este es el último paso del flujo de trabajo de implementación.

Enlaces de la plataforma de implementación de configuración

Una implementación de configuración se produce cuando se realizan cambios de configuración que solo actualizan las instancias del entorno sin volver a crearlas. Las siguientes actualizaciones de opciones provocan una actualización de configuración.

Para proporcionar enlaces que se ejecutan durante una implementación de configuración, colóquelos en el directorio .platform/confighooks del paquete de origen. Se aplican los mismos tres subdirectorios que para los enlaces de implementación de aplicaciones.

Más información sobre enlaces de plataforma

Los archivos de enlace pueden ser archivos binarios o archivos de script que comienzan con una línea #! que contiene la ruta del intérprete; por ejemplo #!/bin/bash. Todos los archivos deben tener permiso de ejecución. Utilice chmod +x para configurar el permiso de ejecución de los archivos de enlace. En todas las versiones de la plataforma basadas en Amazon Linux 2023 y Amazon Linux 2 que se lanzaron el 29 de abril de 2022 o en fecha posterior, Elastic Beanstalk concede automáticamente permisos de ejecución a todos los scripts de enlace de plataforma. En este caso, no tiene que otorgar permisos de ejecución manualmente. Para obtener una lista de estas versiones de plataforma, consulte las notas de la versión de Linux del 29 de abril de 2022 en la AWS Elastic Beanstalk Guía de notas de la versión.

Elastic Beanstalk ejecuta los archivos de cada uno de estos directorios en orden lexicográfico en función del nombre de archivo. Todos los archivos se ejecutan con el usuario root. El directorio de trabajo actual (cwd) de los enlaces de plataforma es el directorio raíz de la aplicación. En los archivos prebuild y predeploy, es el directorio de almacenamiento provisional de la aplicación, mientras que en los archivos postdeploy es el directorio actual de la aplicación. Si se producen errores en uno de los archivos (sale con un código de salida distinto de cero), la implementación se cancela y no se ejecuta correctamente.

Un script de texto de Platform Hooks puede fallar si contiene caracteres de salto de línea de Windows Carriage CRLF Return/Line Feed (). Si un archivo se guardó en un host de Windows y luego se transfirió a un servidor Linux, es posible que contenga saltos de CRLF línea de Windows. Para las plataformas lanzadas a partir del 29 de diciembre de 2022, Elastic Beanstalk CRLF convierte automáticamente los caracteres de Windows en caracteres de salto de línea de Linux Line Feed (LF) en los archivos de texto de los ganchos de plataforma. Si la aplicación se ejecuta en alguna de las plataformas Amazon Linux 2 publicadas antes de esta fecha, tendrá que convertir los caracteres de Windows a CRLF caracteres de Linux LF. Un modo de lograrlo es crear y guardar el archivo de script en un host de Linux. Las herramientas que convierten estos caracteres también están disponibles en Internet.

Los archivos de enlace tienen acceso a todas las propiedades de entorno definidas en las opciones de la aplicación y a las variables de entorno del sistema HOME, PATH y PORT.

Para obtener valores de variables de entorno y otras opciones de configuración en los scripts de enlace de plataforma, puede utilizar la utilidad get-config que Elastic Beanstalk proporciona en las instancias de entorno. Para obtener más información, consulte Herramientas de scripts de plataforma para sus entornos de Elastic Beanstalk.