ebextensions RDS Provisioning не устанавливает переменные среды

Итак, у меня есть приложение на Python, работающее на эластичном бобовом стебле.

Я использую расширения для обработки большей части конфигурации среды, а также для предоставления ресурсов, таких как база данных.

В расширениях у меня есть:

+-- .ebextensions
  +-- db.config (The database resource file)
  +-- packages.config (Tells the instances to install postgres via yum)
  +-- python.config (Tells the instances what the WSGI path is.)

db.config выглядит так:

Resources:
AWSEBRDSDatabase:
    Type: AWS::RDS::DBInstance
    Properties:
        AllocatedStorage: 5
        DBInstanceClass: db.t2.micro
        DBName: development
        Engine: postgres
        EngineVersion: 9.5
        MasterUsername: testuser
        MasterUserPassword: pa$$word

packages.config:

packages:
  yum:
    postgresql95-devel: []

python.config:

option_settings:
- namespace: aws:elasticbeanstalk:container:python
  option_name: WSGIPath
  value: application/application.py

Проблема у меня заключается в следующем.

В https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-rds.html,

в нем говорится, что, когда экземпляр RDS предоставляется через Elastic Beanstalk, переменные среды для базы данных будут установлены внутри экземпляров.

RDS_HOST
RDS_DB_NAME
RDS_USERNAME
RDS_PASSWORD
RDS_PORT

Но мой код Python, который делает звонки:

os.environ["RDS_HOST"]

Ничего не получает Когда-либо. Для любой из переменных.

Я сделал это двумя способами. Первый, добавив в конфиг после создания. И я попытался создать совершенно новую среду с нуля.

Оба раза переменные среды не создаются.

Я понимаю, что могу сделать это через графический интерфейс AWS вручную, но хочу этого избежать, поскольку наши производственные экземпляры должны создаваться автоматически без взаимодействия с графическим интерфейсом.

0 ответов

Другие вопросы по тегам