我正在尝试创建一个具有多个
aws_acm_certificate
的
subject_alternative_names
resource "aws_acm_certificate" "cert" {
provider = aws.acm
domain_name = local.domain_name
validation_method = "DNS"
subject_alternative_names = [local.domain_name, "www.${local.domain_name}"]
}
首次运行
apply
的效果如广告所示。但是,当我使用完全相同的变量重新运行 apply
时,terraform 希望重新创建证书,原因如下:
~ subject_alternative_names = [ # forces replacement
+ "xyz.com",
"www.xyz.com",
]
看起来
[local.domain_name, "www.${local.domain_name}"]
与当前状态相比有所不同。
对这里发生的事情有什么想法吗?
看起来
subject_alternative_names
不应包含证书自己的域名。
如果我将
subject_alternative_names
更改为 ["www.${local.domain_name}"]
,它似乎做了正确的事情。不确定这是否是一个错误或强制使用 subject_alternative_names
的正确方法,因为我已经看到许多证书在 subject_alternative_names
中包含自己的域名。
如果有人有更好的分析,我很想听听。
subject_alternative_names似乎是关键。感谢 max.ott
我能够使用以下方法解决这个问题:
resource "aws_acm_certificate" "vpn" {
domain_name = "vpn.${var.domain_name}"
certificate_authority_arn =aws_acmpca_certificate_authority.ca.arn
subject_alternative_names = []