【发布时间】:2017-09-02 00:51:10
【问题描述】:
(#1) 所以我有一个通过 CloudFormation 堆栈创建的 RDS (postgres) 数据库。我创建了根数据库(“postgres”)和主用户名/密码。现在我需要真正交给应用程序本身。
(#2) 应用程序部署过程负责:
- 确保其数据库存在
- 确保其用户/角色存在(例如,“service_user”、“read_only”、“read_write”)。
(#3) 应用程序本身(实际上是迁移代理)负责:
- 确保表结构存在
- 所需的任何初始化数据等。
现在我已经获得了 CloudFormation 部分 (#1) 并让应用程序部分 (#3) 运行良好。我对 (#2) 有疑问,我们使用 CircleCI,不幸的是,这使得部署本身在我们的 VPC 之外运行。
那么,对于在 AWS VPC 中运行本质上是 1 次脚本来引导数据库用户,有人有什么建议吗?
我最初在考虑一个 lambda 函数,但似乎有点痛苦。理想情况下,如果有一种方法可以将它添加到 CloudFormation 堆栈的末尾,那就太棒了!我只是不想从应用程序本身运行它,因为这需要应用程序具有我想避免的主用户名/密码。
谢谢, 亚历克斯
附言。我们非常理想地使用 ECS,试图避免使用 EC2 UserData 功能(这似乎是目前所有 AWS 文档中推荐的解决方案:/)
【问题讨论】:
标签: postgresql amazon-rds amazon-cloudformation circleci amazon-ecs