使用 AWS Elastic Beanstalk 时如何根据环境动态切换数据库
How to dynamically switch databases based on environment when using AWS Elastic Beanstalk
我们正在考虑通过将我们手动创建的自动缩放集群移至 Elastic Beanstalk 来简化我们的堆栈。我们将 DynamoDB 用于后端数据库,我想知道在从同一个 git 提交部署时,在测试环境和生产环境的表之间切换的建议方法是什么。是否有一种简单的方法来读取环境名称,或者是否已经内置了这种机制?
Elastic Beanstalk 使您能够为每个环境指定环境变量。您首先创建两个环境 - 测试和生产。然后使用 eb setenv
命令或 Web 控制台为每个变量设置特定变量。
以下是我的做法:
eb setenv RDS_DB_NAME=dragon RDS_HOSTNAME=dragon-db.h6jhj1munhy2.us-east-1.rds.amazonaws.com RDS_PASSWORD=dragonpass RDS_PORT=5432 RDS_USERNAME=dragon
现在,要在生产和测试之间切换,您只需更改 RDS_HOSTNAME
环境变量。
我们正在考虑通过将我们手动创建的自动缩放集群移至 Elastic Beanstalk 来简化我们的堆栈。我们将 DynamoDB 用于后端数据库,我想知道在从同一个 git 提交部署时,在测试环境和生产环境的表之间切换的建议方法是什么。是否有一种简单的方法来读取环境名称,或者是否已经内置了这种机制?
Elastic Beanstalk 使您能够为每个环境指定环境变量。您首先创建两个环境 - 测试和生产。然后使用 eb setenv
命令或 Web 控制台为每个变量设置特定变量。
以下是我的做法:
eb setenv RDS_DB_NAME=dragon RDS_HOSTNAME=dragon-db.h6jhj1munhy2.us-east-1.rds.amazonaws.com RDS_PASSWORD=dragonpass RDS_PORT=5432 RDS_USERNAME=dragon
现在,要在生产和测试之间切换,您只需更改 RDS_HOSTNAME
环境变量。