Я не могу придумать подходящее название, так как моя проблема довольно сложна (по крайней мере, для меня).
Мне нужно создать инфраструктуру в AWS
CloudFront
ElasticBeanstalk (backend)
S3 (frontend)
Route53 (dns)
CertificateManager (ssl)
...
Теперь я могу создать свою зону хостинга без проблем, но когда я пытаюсь создать облачный фронт, первым делом terraform пытается создать и проверить сертификат.
Поскольку я еще не знаю, каким будет URL-адрес моего облачного интерфейса, я не могу создать запись A, указывающую на него. Сертификат указывает на эту запись (это поддомен моей размещенной зоны), поэтому время проверки сертификата истекает, и terraform завершает заявку.
Поскольку домен и сертификат появились позже в процессе разработки, они еще не появились, поскольку дистрибутив облачного интерфейса уже был, но при миграции в среду я наткнулся на стену.
Я не могу заставить terraform создать запись сначала через запись null_resource или depends_on, потому что это сформирует al oop.
Есть идеи?
Обновление:
Я использую псевдоним в CloudFront, и я размещаю свой домен в Route53.
Моя проблема заключается в том, что для записи route53 (не проверки, а самого сертификата) я использую ссылку на облачный интерфейс:
resource "aws_route53_record" "frontend_record" {
name = ...
zone_id = ...
type = "A"
alias {
name = local.cloudfront_domain_name <-- this here
...
}
}
И я не могу получить это, потому что Распространение CloudFront еще не создано.