我有两个AWS帐户:dev和prod。
在prod帐户中,我设置了一个DNS域(example.com),以及两个公共托管区域:example.com和prod.example.com。2还为这些域internal.prod.example.com和eks.prod.example.com颁发了ACM证书。这些证书由DNS正确验证。
在dev帐户中,我创建了两个公共托管区域:dev.example.com和example.com。我为internal.dev.example.com和eks.dev.example.com颁发了2个ACM证书,据我所知,这些证书需要在prod帐户中使用DNS进行验证。
这些证书处于待定状态。
我如何验证它们?
我到目前为止所做的:
dev.example.com托管区域的prod帐户中添加了一个名为example.com的NS记录。NS记录的值是在dev.example.com帐户中创建的dev托管区域的值。这是为了在R53中委托prod托管区域的所有权。见这里。dev帐户中,来自ACM的请求域的CNAME已经添加到dev.example.com托管区域中以进行验证。下面的代码是如何在prod帐户上完成(和工作)的。
Note --这是我接手的代码,所以我不知道是否采取了任何手动步骤。
data "aws_route53_zone" "dns-zone" {
name = "${var.environment}.${var.zone_name}"
}
resource "aws_acm_certificate" "cert" {
domain_name = "*.${var.environment}.${var.zone_name}"
validation_method = "DNS"
subject_alternative_names = list("*.internal.${var.environment}.${var.zone_name}", "*.eks.${var.environment}.${var.zone_name}")
lifecycle {
create_before_destroy = true
prevent_destroy = true
}
}
resource "aws_route53_record" "cert_validation" {
for_each = {
for dvo in aws_acm_certificate.cert.domain_validation_options : dvo.domain_name => {
name = dvo.resource_record_name
record = dvo.resource_record_value
type = dvo.resource_record_type
zone_id = data.aws_route53_zone.dns-zone.zone_id
}
}
allow_overwrite = true
name = each.value.name
records = [each.value.record]
ttl = 60
type = each.value.type
zone_id = each.value.zone_id
}
resource "aws_acm_certificate_validation" "cert" {
certificate_arn = aws_acm_certificate.cert.arn
validation_record_fqdns = [for record in aws_route53_record.cert_validation : record.fqdn]
}如果你需要更多的澄清,请告诉我。
发布于 2022-03-03 15:14:08
你有example.com的dev & prod帐户?只有一个可以正确使用。无论注册员在example.com的哪里.该注册服务器只能使用来自其中一个托管区域的名称服务器。
你说过你有两个internal.dev.example.com和eks.dev.example.com的ACM证书.这些应该在DEV帐户中验证,如果它们的域是在那里创建的。
此外,我建议您只需在ACM中为*.dev.example.com创建1个通配卡证书&在DEV帐户中验证该证书。任何子域(如eks.dev.example.com )都可以使用它。
https://stackoverflow.com/questions/71322934
复制相似问题