¿Cómo personalizo mi entorno de Elastic Beanstalk mediante enlaces de la plataforma?

3 minutos de lectura
0

Quiero personalizar mi entorno de AWS Elastic Beanstalk mediante enlaces de la plataforma para crear scripts personalizados u otros archivos ejecutables. Quiero implementarlos en mis instancias de Amazon Elastic Compute Cloud (Amazon EC2) que se ejecutan en el entorno.

Descripción breve

Puede utilizar enlaces de la plataforma para ampliar la funcionalidad del entorno de Elastic Beanstalk y ejecutar scripts personalizados y archivos ejecutables. Elastic Beanstalk también puede ejecutar estos enlaces durante varias fases de aprovisionamiento de instancias.

Nota: Los enlaces de plataforma no se admiten en las versiones de la plataforma AMI de Amazon Linux (anterior a Amazon Linux 2).

Hay dos tipos de enlaces de la plataforma:

  • Los enlaces de la plataforma de implementación de aplicaciones se ejecutan durante la implementación de una aplicación cuando se proporciona un nuevo paquete de origen para la implementación. También se ejecutan cuando se hace un cambio de configuración que requiere la finalización y la recreación de todas las instancias del entorno.
  • Los enlaces de la plataforma de implementación de configuración se ejecutan durante una implementación de configuración cuando se hacen cambios en la configuración que solo actualizan las instancias del entorno sin volver a crearlas.

Resolución

Configurar el directorio .platform

1.    En la raíz del paquete de aplicaciones, cree un directorio oculto denominado “.platform/hooks”o “.platform/confighooks”para los enlaces de plataforma de implementación de aplicaciones y de implementación de la configuración, respectivamente.

2.    Según la fase de aprovisionamiento de instancias en la que se ejecuten, debe colocar los archivos de enlaces en uno de los siguientes subdirectorios:

  • prebuild
  • predeploy
  • postdeploy

Para identificar los subdirectorios necesarios para su caso de uso, consulte Extending Elastic Beanstalk Linux platforms (Ampliación de las plataformas Linux de Elastic Beanstalk).

3.    El paquete de origen de la aplicación debe tener un aspecto similar al siguiente paquete:

~/workspace/my-application/
|-- .platform
    |--hooks
       |--prebuild
          |-- custom-prebuild-script.sh
       |--predeploy
          |-- custom-predeploy-script.sh
       |--postdeploy
          |-- custom-postdeploy-script.sh
|-- .ebextensions
|-- index.php
         `-- styles.css

Especificar los archivos de enlace

Al crear los archivos de enlace, tenga en cuenta la siguiente información:

  • Los archivos de enlace pueden ser archivos binarios o archivos de script que comiencen con una línea “#!”, y contienen su ruta de intérprete, como “#!/bin/bash”. Para ver un ejemplo del contenido de un archivo de script, como “custom-postdeploy-script.sh”, consulte el siguiente archivo:
#!/bin/bash
sudo su
cd /var/app/current
echo "Hello from AWS hook" >> 'test.txt'
  • Use “chmod +x” en la máquina local para configurar los permisos de ejecución de los archivos de enlace. O bien, puede usar “.ebextensions” para proporcionar los permisos. Consulte el siguiente archivo de ejemplo:
container_commands:
  01_chmod1:
    command: "chmod +x .platform/hooks/postdeploy/custom-postdeploy-script.sh"

Para obtener más información, consulte How do I customize my Elastic Beanstalk environment using .ebextensions? (¿Cómo personalizo mi entorno de Elastic Beanstalk mediante .ebextensions?).

Aplicar los enlaces de plataforma a la aplicación

1.    Cree un paquete de origen de la aplicación que incluya los enlaces de plataforma y los archivos de configuración anteriores.

Nota: Los exploradores de archivos pueden ocultar las carpetas que comiencen con un punto, como .platform y .ebextensions. Para mantener estas carpetas visibles, inclúyalas en la raíz del paquete de aplicaciones al crear el paquete de origen de la aplicación.

2.    Implemente la aplicación de Elastic Beanstalk actualizada.


OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año