Vin*_*ino 5 mysql amazon-web-services amazon-rds terraform
我目前已在 VPC 的私有子网中创建了一个 RDS 实例。现在我想创建一个具有一些权限和授权的用户。为此,我使用TF 中的mysql_user
和mysql_grants
资源类型。由于我的实例位于私有子网中,因此 TF 代码无法作为 CI 管道的一部分执行来创建 Mysql 用户和授权。
据我了解,我有两个选择:
不要对用户和授权进行地形改造。而是通过堡垒主机登录 RDS 实例并手动创建用户。
在公有子网(db子网和公有子网)中创建RDS实例。然后使用 TF 创建用户并授予权限。修改数据库实例并将其移动到私有子网。
我更倾向于不做。2 因为一切都是代码并且可重复。但想知道是否有更好的方法来实现这一目标。
我们也有类似的情况。编号。2 听起来像是一个很好的情况,直到您意识到您在 Terraform 中描述了状态,而类似的东西确实很难轻松表达。此外,如果您稍后需要添加更多用户,您将暂时使您的数据库可供外界访问,这并不理想。
我们的解决方案是使用Liquibase(我们已经在使用该工具进行数据库迁移,但任何此类工具都可以)来创建用户和授权。
我们在 Kubernetes 中运行,因此我可以通过 Terraform 创建一个 Kubernetes 作业,触发 Liquibase 并执行用户创建,但类似的解决方案可能适合您的情况。Terraform 支持远程执行配置程序来触发远程主机上的作业,该配置程序可用于触发堡垒主机上的作业。
归档时间: |
|
查看次数: |
3078 次 |
最近记录: |