Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

700
Visualizações
Obtenga valor del almacén de parámetros de AWS Systems Manager durante la implementación de Elastic Beanstalk

Tengo una cadena de conexión de base de datos almacenada en el almacén de parámetros de AWS Systems Manager que quiero pasar a las variables de entorno de una instancia de Elastic Beanstalk. No quiero comprometerlo con el código fuente ni tener que confiar en que el implementador establezca los valores en la implementación o hacerlo manualmente a través de la consola web.

Probé referencias dinámicas como {{resolve:ssm:DATABASE_CONNECTION_STRING:1}} (con y sin tildes) que funcionan en las pilas de CloudFormation pero no en la configuración de Elastic Beanstalk.

He intentado usar container_commands como

export DATABASE_CONNECTION_STRING=`aws ssm get-parameter --name DATABASE_CONNECTION_STRING --region eu-west-1 --query Parameter.Value --output text

pero la instancia de Elastic Beanstalk no tiene los permisos correctos y no estoy seguro de cómo configurarlos.

Intenté crear un archivo a partir del contenido de un archivo S3 usando files: y source: pero obtuve errores.

Idealmente, las referencias dinámicas funcionarían, por ejemplo .ebextensions/env.config =>

 OptionSettings: aws:elasticbeanstalk:application:environment: DATABASE_CONNECTION_STRING: {{resolve:ssm:ANNOTATOR_DATABASE_CONNECTION_STRING:1}}
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Pude hacer que esto funcionara creando el archivo .ebextensions/options.config con el contenido:

 option_settings: aws:elasticbeanstalk:application:environment: ENCRYPT_CERT: '{{resolve:ssm:SOA_ENCRYPT_CERT:1}}' ENCRYPT_KEY: '{{resolve:ssm:SOA_ENCRYPT_KEY:1}}'
over 4 years ago · Santiago Trujillo Relatório

0

He optado por una configuración de files que descarga un archivo de S3 en /tmp/app.env y luego la aplicación Python usa load_dotenv('/tmp/app.env') . No es ideal, pero funciona por ahora.

Aquí está el .ebextensions/env.config :

 Resources: AWSEBAutoScalingGroup: Metadata: AWS::CloudFormation::Authentication: S3Auth: type: "s3" buckets: ["S3_BUCKET_NAME"] roleName: "Fn::GetOptionSetting": Namespace: "aws:autoscaling:launchconfiguration" OptionName: "IamInstanceProfile" DefaultValue: "aws-elasticbeanstalk-ec2-role" files: "/tmp/app.env": mode: "444" owner: wsgi group: wsgi authentication: "S3Auth" source: https://URL_TO_S3_BUCKET/app.env

Asegúrese de cambiar S3_BUCKET_NAME y URL_TO_S3_BUCKET a su configuración.

Luego, en Python uso;

 if os.path.exists('/tmp/app.env'): load_dotenv('/tmp/app.env') else: load_dotenv('.env')
over 4 years ago · Santiago Trujillo Relatório

0

Debe usar comillas simples en su archivo de configuración, en el navegador puede pegarlo sin comillas.

 DATABASE_CONNECTION_STRING: '{{resolve:ssm:ANNOTATOR_DATABASE_CONNECTION_STRING:1}}'

Si actualizas el parámetro cambia el 1 al final a la versión que es. Entonces, si lo actualizó una vez después de crear la clave de parámetro, será 2 .

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda