【发布时间】:2020-10-09 17:26:52
【问题描述】:
我想不出一个合适的标题,因为我的问题相当复杂(至少对我而言)。
我需要在 AWS 中创建基础设施
CloudFront
ElasticBeanstalk (backend)
S3 (frontend)
Route53 (dns)
CertificateManager (ssl)
...
现在我可以毫无问题地创建托管区域,但是当我尝试创建云端时,terraform 尝试做的第一件事是创建和验证证书。
由于我还不知道我的云端 url 将如何,我无法创建指向它的 A 记录。虽然证书指向该记录(它是我托管区域的子域),因此证书验证超时并且 terraform 结束应用。
由于域和证书在开发的后期出现,它还没有出现,因为云端分发已经存在,但是在迁移到环境时我遇到了困难。
我不能强制 terraform 首先通过 null_resource 或 depends_on 条目创建记录,因为这将形成一个循环。
有什么想法吗?
更新:
我在 CloudFront 中使用别名,并且在 Route53 中托管我的域。
我的问题是对于 route53 记录(不是验证,而是证书本身),我使用的是云端参考:
resource "aws_route53_record" "frontend_record" {
name = ...
zone_id = ...
type = "A"
alias {
name = local.cloudfront_domain_name <-- this here
...
}
}
我无法获取此信息,因为尚未创建 CloudFront 分配。
【问题讨论】:
标签: amazon-web-services terraform amazon-cloudfront amazon-route53 aws-certificate-manager