AWS在UAT和PROD之间拆分资源

时间:2015-02-12 19:24:01

标签: amazon-web-services uat

我使用AWS Elastic Beanstalk部署系统。一切正常。如果我想要一个UAT和PROD环境,我可以设置2个不同的弹性beanstalk应用程序,这也可以。现在我的问题:假设我的应用程序使用dynamoDB或S3存储桶(EB部署之外的东西)如何为UAT和PROD提供不同版本的这些?

采用发电机:您有 A 发电机数据库实例,而不是每个EB部署实例。我的代码会写给用户'表,但是如果只有一个dynamoDB,你如何使用相同的用户表停止UAT和PROD?

与S3桶相同?你理想的是prod.mybucket.xxx和uat.my bucket.xxx

我明显遗漏了什么,你能告诉我什么吗? :)

1 个答案:

答案 0 :(得分:0)

您可以使用Elastic Beanstalk environment variables(此示例适用于java,但在其他语言中类似)。使用一个来跟踪环境类型(例如PARAM1 = dev或PARAM1 = uat),然后使用前缀

命名您的其他资源(存储桶/发电机表)

s3 bucket - > prod-myapp-bucket / uat-myapp-bucket

在你的代码中,只需在bootstrap中抓取param1并以这种方式调出你的aws资源。这就是beanstalk让你的应用程序知道连接哪个数据库的方式(在Java中它是JDBC_CONNECTION_STRING)。

OR

您可以使用AWS api查询实际的Elastic Beanstalk环境名称以执行类似的操作(取决于您使用的语言,它类似于' Describe Environment')。