我有 2 個 AWS 賬戶:dev和prod.
在prod帳戶中,我設定了一個 DNS 域 ( example.com),以及 2 個公共托管區域:example.com和prod.example.com. 2 ACM 證書也針對這些域internal.prod.example.com和eks.prod.example.com. 這些證書由 DNS 正確驗證。
在dev帳戶中,我創建了 2 個公共托管區域:dev.example.com和example.com. 我頒發了 2 個 ACM 證書internal.dev.example.com,eks.dev.example.com據我所知,這些證書需要使用prod帳戶中的 DNS 進行驗證。
這些證書處于待處理狀態。
我怎樣才能驗證它們?
到目前為止我做了什么:
我添加了在托管區域
dev.example.com的prod帳戶中呼叫的 NS 記錄。example.comNS 記錄的值是在帳戶dev.example.com中創建的托管區域的值。dev這是將 R53 托管區域的所有權委托給prod. 見這里。在
dev帳戶中,CNAME來自 ACM 的請求域的 已添加到dev.example.com托管區域以進行驗證。
以下代碼是如何在 prod 帳戶上完成(和作業)的。
注意- 這是我接管的代碼,所以我不知道是否采取了任何手動步驟。
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]
}
Ps - 如果您需要更多說明,請告訴我。
uj5u.com熱心網友回復:
你有開發和產品帳戶example.com嗎?只有1個可以正常使用。無論注冊商在哪里,例如example.com ...該注冊商只能使用其中 1 個托管區域的名稱服務器。
您提到您有 2 個用于 internal.dev.example.com 和 eks.dev.example.com 的 ACM 證書……如果這是創建域的地方,則應在 DEV 帳戶中驗證這些證書。
此外,我建議您在 ACM 中創建 1 個通配符證書并*.dev.example.com在 DEV 帳戶中驗證該 1 個。eks.dev.example.com 等任何子域都可以使用它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/437411.html
標籤:亚马逊网络服务 ssl dns 地形 亚马逊证书管理器
