【问题标题】:Terraform forces replacement of 'aws_acm_certificate' with multiple 'subject_alternative_names'Terraform 强制用多个“subject_alternative_names”替换“aws_acm_certificate”
【发布时间】:2020-08-22 05:54:19
【问题描述】:

我正在尝试创建一个带有多个 subject_alternative_namesaws_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 就像宣传的那样工作。但是,当我使用完全相同的变量重新运行 apply 时,terraform 想要重新创建证书,原因如下:

   ~ subject_alternative_names = [ # forces replacement
       + "xyz.com",
         "www.xyz.com",
     ]

似乎[local.domain_name, "www.${local.domain_name}"] 与其当前状态相比有所不同。

对这里发生的事情有什么想法吗?

【问题讨论】:

标签: terraform terraform-provider-aws


【解决方案1】:

看起来subject_alternative_names 不应包含证书自己的域名。

如果我将subject_alternative_names 更改为["www.${local.domain_name}"],它似乎做对了。不确定这是否是错误或强制使用 subject_alternative_names 的正确方法,因为我看到许多证书在 subject_alternative_names 中包含自己的域名。

如果有人有更好的分析,我很想听听。

【讨论】:

【解决方案2】:

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 = []

【讨论】:

    猜你喜欢
    • 2021-02-13
    • 2021-12-17
    • 1970-01-01
    • 2021-03-08
    • 1970-01-01
    • 2021-08-21
    • 2023-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多