无法在创建 MySQL 服务器的同一计划中使用 mysql

Unable to use mysql in the same plan which creates MySQL server

我想创建一个 AWS RDS 实例,然后想使用 terraform 管理数据库用户。因此,首先,我创建了一个 RDS 实例,然后使用创建的 RDS 实例初始化 mysql 提供程序,以进一步将其用于用户管理。但是 mysql 提供商在规划阶段使用默认端点 (127.0.0.1) 进行连接。以下是我的代码

resource "aws_rds_cluster" "default" {
    name            = "${var.name}"
    master_username = "${var.master_username}"
    master_password = "${random_string.password.result}"
    .
    .
    .
}

provider "mysql" {
    endpoint = "${aws_rds_cluster.default.endpoint}"
    username = "${aws_rds_cluster.default.master_username}"
    password = "${random_string.password.result}"
}

根据 Terraform 的当前实现,要初始化 MySQL 提供程序,MySQL 必须先存在。这就是它失败的原因,因为在计划阶段您的 RDS 实例不存在。在 terraform GitHub repo 上已经有一个未解决的问题 (https://github.com/hashicorp/terraform/issues/18720)。 所以要管理它,您必须首先创建 RDS 实例,然后您可以使用它的凭据来初始化 mysql 提供程序