当我尝试创建证书并检查其验证时,Terraform 出现了问题。
我得到了这个地形文件:
resource "aws_acm_certificate" "api_cert" {
domain_name = "google.com"
validation_method = "DNS"
}
output "domain_validation" {
value = "${aws_acm_certificate.api_cert.domain_validation_options}"
description = "Certificate domain name validation options"
}
resource "aws_acm_certificate_validation" "api_cert" {
certificate_arn = "${aws_acm_certificate.api_cert.arn}"
timeouts {
create = "2h"
}
}
我们正在使用 AWS 之外的 DNS 服务器,因此我需要在作业完成之前获取 domain_validation_options。
这就是我需要的:
- Terraform 创建证书
- Terraform 打印 domain_validation_options
- 我手动更改 DNS 记录,以便可以验证证书
- 在 terraform 中运行 certificate_validation
- Terraform 使用经过验证的证书创建 ELB
使用这样的文件后我在第 4 步失败后得到了 domain_validation_options...
答案1
您必须将其分成两个单独的 Terraform 运行;您将无法获得output
各种资源的写出结果。
或者,根据您使用的 DNS 服务器,有许多 Terraform 提供程序可以为您自动创建 DNS 记录。我猜验证是通过创建TXT
某种记录来完成的。