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 вручную, но хочу этого избежать, поскольку наши производственные экземпляры должны создаваться автоматически без взаимодействия с графическим интерфейсом.