Amazon-Web-Services

我應該為 aws eb 使用不同的 Dockerrun.aws.json 文件還是通過 eb 控制台設置環境變數

  • November 25, 2015

假設我有幾個 ElasticBeanstalk 環境:

  • 生產MyApp
  • stagingMyApp
  • qaMyApp

每個環境都有非常相似的 Dockerrun.aws.json(哪些卷應該連結到哪裡)但不同的環境變數(例如 RDS db url 是什麼,RDS 的密碼是什麼,mandril API 密鑰……)

我應該將每個環境的環境變數儲存在自己的文件中(qa-Dockerrun.aws.json,prod-Dockerrun.aws.json,…)並告訴eb deploy使用該文件(如果可以,我該怎麼做??)

或者

eb setenv POSTGRES_PASS=xyzsecretabc 我應該使用doc設置環境而不是將它們放置到 Dockerrun.aws.json

歡迎任何其他建議

git我當然想避免將我的敏感資訊儲存在

謝謝

花了一些時間後,我決定採用此解決方案:

兩者都做:)

很難跟踪彈性 beantalk 中的所有環境變數(顯然有一個限制數量,沒有檢查那個 doh)並且將數據庫密碼送出給版本控制是愚蠢的。

在版本控制 (git)中保留已經公開的內容,例如DB_PORT_5432_TCP_ADDR(RDS 公共 DNS)、DB_ENV_POSTGRES_USERNAME(postgres 使用者名)、、REDIS_PORT_6379_TCP_ADDRS3_BUCKET_NAME資產儲存桶)Dockerrun.aws.json

但是像DB_ENV_POSTGRES_PASSWORD, SECRET_KEY_BASE, MANDRIL_API_TOKEN,AWS_SECRET_ACCESS_KEY作為 Elastic Beanstalk 環境

引用自:https://serverfault.com/questions/737263