我正在Django中开发一个应用程序。在开发过程中,我使用了AmazonRDS PostgreSQL数据库(使用免费的Dev/Test模板(。应用程序的数据库配置很简单:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'db_name',
'USER': 'postgres',
'PASSWORD': 'db_password',
'HOST': 'AWS_endpoint',
'PORT': '5432'
}
}
我决定创建一个docker镜像,并使用Amazon ECS来部署该应用程序。
当我将应用程序作为docker容器运行时,它与当前的数据库配置配合得很好;然而,我还没有看到任何教程讨论部署docker容器和数据库的解决方案(即创建应用程序的映像并使用托管数据库解决方案-在本例中为AWS RDS PSQL(。顺便说一句,大多数教程都显示了在同一个图像上使用数据库和Django站点构建的图像,但这似乎是个坏主意。
我的问题:在生产环境中,我是否可以接受以上述方式将我的docker容器(Django(连接到我的数据库(Amazon RDS PostgreSQL(,只使用一个新的生产数据库实例?
在这一点上,我确信我的问题的答案显然是愚蠢的(即,"当然,你为什么要问这样的事情?"或"绝对不是,你为什么会问这样的问题?"(,因为我在任何地方都找不到答案。
谢谢。
使用三层架构。
- Publid子网:负载均衡器
- 私有子网:ECS集群
- 受限制的子网:没有到NAT网关的路由。只能通过安全组从ECS集群访问
https://github.com/aws-samples/vpc-multi-tier
删除数据库密码。将其存储在AWS机密管理器中。在运行时动态注入。
https://aws.amazon.com/premiumsupport/knowledge-center/ecs-data-security-container-task/