【发布时间】:2020-10-17 04:23:44
【问题描述】:
我创建了aws_db_instance 以使用 Terraform 配置来配置 RDS MySQL 数据库。现在我的下一个问题是在 RDS 上执行 SQL 脚本(CREATE TABLE 和 INSERT 语句)。我做了以下但没有效果。 terraform plan 甚至看不到我在执行 sql 时所做的更改。我在这里错过了什么?谢谢。
resource "aws_db_instance" "mydb" {
# ...
provisioner "remote-exec" {
inline = [
"chmod +x script.sql",
"script.sql args",
]
}
}
【问题讨论】:
-
我不认为 remote-exec 是你需要的。您需要使用
local-exec供应商来实现这一点。文档:terraform.io/docs/provisioners/local-exec.html。我相信,remote-exec类似于用户数据(terraform 登录到实例 - linux/windows 并在那里运行一些脚本)。 -
如果你切换到本地 exec,你需要在安全组上打开你的 IP 地址,你还需要能够通过 vpn 或如果 db 连接到它在公共子网上,那么您的 ip 需要打开。
标签: amazon-web-services amazon-rds terraform