Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

392
Views
aws eb deployment no carga variables de entorno

Estoy implementando el proyecto Symfony a través de eb deployment a la instancia ec2 (aws linux 2). Los scripts de migración posteriores a la implementación funcionan bien, pero luego trato de ejecutar el comando Symfony con el usuario ec2 y aparece un error sobre las credenciales de la base de datos incorrectas. Es porque presioné el archivo dump .env con valores vacíos. Todas mis variables de entorno se almacenan en eb -> configuración -> Propiedades de entorno. ¿Cómo hacer que estas variables sean visibles para otros usuarios para ejecutar correctamente los comandos?

Puedo ver estas variables como json con:

 /opt/elasticbeanstalk/bin/get-config environment
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Las variables de entorno de EB en Amazon Linux 1 se almacenan en:

 /opt/elasticbeanstalk/support/envvars

Por lo tanto, para cargarlos cuando inicie sesión en la instancia, puede hacer lo siguiente:

 source /opt/elasticbeanstalk/support/envvars

Para verificar si se cargaron, simplemente puede ejecutar:

 env

PD

Para AmazonLinux 2:

 export $(cat /opt/elasticbeanstalk/deployment/env | xargs)
over 4 years ago · Santiago Trujillo Report

0

Me topé con el mismo problema, esta documentación arroja algo de luz sobre cómo solucionar problemas de permisos en Amazon Linux 2, aunque no es sencillo.

over 4 years ago · Santiago Trujillo Report

0

Algo a tener en cuenta es que la respuesta proporcionada por @Marcin fallará si se implementa en un script de implementación dentro de las carpetas .ebextensions o .platform en implementaciones de instancias nuevas.

Para recuperar correctamente las variables de entorno y enviarlas al shell, AWS tiene un artículo que describe cómo se hace esto:

https://aws.amazon.com/premiumsupport/knowledge-center/elastic-beanstalk-env-variables-shell/

Para referencia futura, aquí están las instrucciones copiadas de los documentos de AWS:

Resolución

  1. Cree un archivo .ebextension en el paquete fuente de su aplicación e incluya lo siguiente:
 commands: setvars: command: /opt/elasticbeanstalk/bin/get-config environment | jq -r 'to_entries | .[] | "export \(.key)=\"\(.value)\""' > /etc/profile.d/sh.local packages: yum: jq: []

Nota: El archivo de configuración del paso 1 se llama setvars.config.

  1. Guarde el archivo .ebextension y luego impleméntelo en su entorno de Elastic Beanstalk.

  2. Para probar si las variables se están exportando, conéctese a su instancia usando SSH y luego ejecute el siguiente comando. Antes de realizar la prueba, cierre las sesiones existentes y luego vuelva a conectarse mediante SSH. env | grep VARIABLE_NAME Importante: para el paso 3, establezca VARIABLE_NAME en una variable definida en su entorno.

El resultado muestra si sus variables de entorno están configuradas correctamente. En el siguiente resultado de ejemplo, se define una variable denominada RDS_PORT en el entorno de Elastic Beanstalk.

 $ env|grep RDS_PORT RDS_PORT=3306

Nota: Debido a que está usando los comandos en la extensión .eb, puede actualizar el archivo sh.local solo con una nueva implementación. Si agrega o cambia una variable en el entorno, debe crear una nueva implementación antes de exportar la variable al sistema operativo.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!