Terraform - aws_acm_certificate_validation 问题

FiN*_*NaR 2 amazon-web-services amazon-route53 terraform terraform-provider-aws

我正在尝试生成证书并使其通过 DNS 进行验证...一切似乎都有效,直到我使用资源“aws_acm_certificate_validation”时的最后步骤

\n

我的代码如下:

\n
# Create Certificate\nresource "aws_acm_certificate" "ic_cert" {\n    provider = aws.us-east-1\n    domain_name = aws_s3_bucket.ic_bucket_main.bucket\n    subject_alternative_names = [aws_s3_bucket.ic_bucket_redirect.bucket]\n    validation_method = "DNS"\n\n  tags = {\n    Billing = "company X"\n  }\n\n  lifecycle {\n    create_before_destroy = true\n  }\n}\n\n# Validate Certificate via DNS\n# get zone_id\n\ndata "aws_route53_zone" "selected" {\n    provider = aws.us-east-1\n    name = aws_s3_bucket.ic_bucket_main.bucket\n}\n\n# Generate DNS Records\nresource "aws_route53_record" "ic_DNS_validation" {\n    provider = aws.us-east-1\n    for_each = {\n        for dvo in aws_acm_certificate.ic_cert.domain_validation_options : dvo.domain_name => {\n            name    = dvo.resource_record_name\n            record = dvo.resource_record_value\n            type    = dvo.resource_record_type\n            zone_id = data.aws_route53_zone.selected.zone_id\n        }\n    }\n    allow_overwrite = true\n    name = each.value.name\n    records = [each.value.record]\n    ttl = 60\n    type = each.value.type\n    zone_id = each.value.zone_id\n}\n\n# Confirm certificate creation \nresource "aws_acm_certificate_validation" "ic_cert_validation" {\n  certificate_arn         = aws_acm_certificate.ic_cert.arn\n  #validation_record_fqdns = [for record in aws_route53_record.ic_DNS_validation : record.fqdn]\n  #validation_record_fqdns = [aws_route53_record.ic_DNS_validation.fqdn]\n  validation_record_fqdns = [for record in aws_route53_record.ic_DNS_validation : record.fqdn]\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我收到以下错误:

\n
Error: reading ACM Certificate (arn:aws:acm:us-east-1:xxxxxxxxxxxxxxxxxxxxx8:certificate/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx): couldn't find resource\n \n\xe2\x94\x82   with aws_acm_certificate_validation.ic_cert_validation,\n\xe2\x94\x82   on certificates.tf line 45, in resource "aws_acm_certificate_validation" "ic_cert_validation":\n\xe2\x94\x82   45: resource "aws_acm_certificate_validation" "ic_cert_validation" {\n
Run Code Online (Sandbox Code Playgroud)\n

有人会发现问题是什么吗?

\n

Mar*_*o E 6

由于 ACM 是区域服务,并且证书是使用provider = aws.us-east-1用于证书验证的资源创建的,因此也应使用相同的配置(因为证书已在该区域中创建):

resource "aws_acm_certificate_validation" "ic_cert_validation" {
  provider                = aws.us-east-1
  certificate_arn         = aws_acm_certificate.ic_cert.arn
  validation_record_fqdns = [for record in aws_route53_record.ic_DNS_validation : record.fqdn]
}
Run Code Online (Sandbox Code Playgroud)