Terraform 强制将 'aws_acm_certificate' 替换为多个 'subject_alternative_names'
Terraform forces replacement of 'aws_acm_certificate' with multiple 'subject_alternative_names'
我正在尝试创建一个包含多个 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 terraform 重新 运行 apply
时,我想重新创建证书,原因如下:
~ 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 = []
我正在尝试创建一个包含多个 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 terraform 重新 运行 apply
时,我想重新创建证书,原因如下:
~ 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 = []