Назад | Перейти на главную страницу

Использование Terraform для сертификатов AWS ACM и проверки DNS вне AWS

У меня проблема с 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"
  }
}

Мы используем DNS-серверы вне AWS, поэтому мне нужно получить domain_validation_options до завершения работы.

Вот что мне нужно:

  1. Terraform создает сертификат
  2. Terraform печатает domain_validation_options
  3. Я вручную меняю записи DNS, чтобы можно было проверить сертификат
  4. Запустить certificate_validation в terraform
  5. Terraform создает ELB с подтвержденным сертификатом

С таким файлом я получаю domain_validation_options после сбоя шага 4 ...

Вам придется разделить его на два отдельных прогона Terraform; ты не получишь output выписано перед различными ресурсами.

В качестве альтернативы, в зависимости от того, какой DNS-сервер вы используете, существует множество поставщиков Terraform, которые могут автоматически создавать записи DNS. Я предполагаю, что проверка выполняется путем создания TXT запись какая-то.