【发布时间】:2021-06-13 23:05:07
【问题描述】:
我通过 Terraform 创建了一个秘密,该秘密是用于访问在 Terraform 中定义的 RDS 数据库,而在秘密中,我不想包括 username 和 password,所以我创建了一个空的然后在 AWS 控制台中手动添加凭证。
然后在RDS定义中:
resource "aws_rds_cluster" "example_db_cluster" {
cluster_identifier = local.db_name
engine = "aurora-mysql"
engine_version = "xxx"
engine_mode = "xxx"
availability_zones = [xxx]
database_name = "xxx"
master_username = jsondecode(aws_secretsmanager_secret_version.db_secret_string.secret_string)["username"]
master_password = jsondecode(aws_secretsmanager_secret_version.db_secret_string.secret_string)["password"]
.....
问题是,当我应用 terraform 时,因为秘密是空的,所以 Terraform 找不到 username 和 password 的字符串,这会导致错误,有没有人有更好的方法来实现这个?感觉在 Secret Manager 中手动创建秘密更容易。
【问题讨论】:
标签: amazon-web-services amazon-rds terraform-provider-aws aws-secrets-manager