首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ACM证书跨帐户DNS验证

ACM证书跨帐户DNS验证
EN

Stack Overflow用户
提问于 2022-03-02 12:45:31
回答 1查看 634关注 0票数 0

我有两个AWS帐户:devprod

prod帐户中,我设置了一个DNS域(example.com),以及两个公共托管区域:example.comprod.example.com。2还为这些域internal.prod.example.comeks.prod.example.com颁发了ACM证书。这些证书由DNS正确验证。

dev帐户中,我创建了两个公共托管区域:dev.example.comexample.com。我为internal.dev.example.comeks.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 --这是我接手的代码,所以我不知道是否采取了任何手动步骤。

代码语言:javascript
复制
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]
}

如果你需要更多的澄清,请告诉我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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 )都可以使用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71322934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档