我正在尝试创建一个具有多个subject_alternative_names
的aws_acm_certificate
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
可以像宣传的那样工作。然而,当我用完全相同的vars重新运行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似乎是关键。感谢
我能够解决这个问题使用:
resource "aws_acm_certificate" "vpn" {
domain_name = "vpn.${var.domain_name}"
certificate_authority_arn =aws_acmpca_certificate_authority.ca.arn
subject_alternative_names = []