La respuesta a ¿Puedo configurar el espacio de intercambio de Linux en AWS Elastic Beanstalk? (desde 2016) muestra cómo configurar el espacio de intercambio de Linux para un entorno de AWS Elastic Beanstalk mediante archivos de configuración .ebextensions .
Sin embargo, el software de personalización de documentos de AWS en servidores Linux tiene esta nota para las plataformas más nuevas de Amazon Linux 2 :
En las plataformas Amazon Linux 2, en lugar de proporcionar archivos y comandos en archivos de configuración .ebextensions , le recomendamos que utilice Buildfile. Procfile y enlaces de plataforma siempre que sea posible para configurar y ejecutar código personalizado en las instancias de su entorno durante el aprovisionamiento de instancias.
¿Cómo configuro el espacio de intercambio usando este enfoque de configuración más moderno?
Buildfile y Procfile no son adecuados para eso. Sirven para diferentes propósitos: ejecutar comandos de ejecución corta y larga.
Usaría los ganchos de la plataforma para eso. Específicamente, prebuild :
Los archivos aquí se ejecutan después de que el motor de la plataforma Elastic Beanstalk descargue y extraiga el paquete fuente de la aplicación, y antes de instalar y configurar la aplicación y el servidor web .
La razón es que es mejor crear el intercambio ahora, antes de que la aplicación comience a configurarse. Si la operación de creación de intercambio falla, se le notifica rápidamente, en lugar de después de configurar su aplicación.
Desde el enlace SO, puede colocar 01_add-swap-space.sh en .platform/hooks/prebuild/ . Asegúrese de que 01_add-swap-space.sh sea ejecutable ( chmod +x ) antes de empaquetar su aplicación en zip.