だから私は伸縮性のあるビーンズトークで実行されているPythonアプリケーションを持っています。
私は ebextensions を使用して、多くの環境構成とデータベースなどのリソース プロビジョニングを処理しています。
ebextensions で私が持っている:
+-- .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"]
何も得られません。これまで。任意の変数に対して。
私はこれを2つの方法で行いました。作成後に構成に追加することによる最初の。そして、まったく新しい環境をゼロから作ってみました。
どちらの場合も、環境変数は作成されていません。
AWS gui を使用して手動でこれを行うことができることは理解していますが、本番インスタンスは gui の操作なしで自動化された方法で作成する必要があるため、それを避けたいと考えています。