![](/img/trans.png)
[英]Cross-account subdomain/hosted zone delegation in Route 53 with Terraform
[英]Terraform - Error: no matching Route53Zone found
我使用https://github.com/cloudposse/terraform-aws-acm-request-certificate
使用 terraform 和 aws 生成證書。
我想在服務域上運行此模塊:“example.com”、“cdn.example.com”...
我不想給cdn.example.com
使用subject_alternative_names
,因為它會出現在證書里面的subject
字段,大家打開證書的時候我不想讓他看到cdn域名。
對於 cdn.example.com,我想要一個新證書。
所以我嘗試使用下面的代碼運行terraform apply
但出現錯誤:
錯誤:找不到匹配的 Route53Zone
on.terraform\modules\acm_request_certificate_example\main.tf 第 19 行,在數據“aws_route53_zone”“默認”中:19:數據“aws_route53_zone”“默認”{
錯誤:找不到匹配的 Route53Zone
on.terraform\modules\acm_request_certificate_cdn_example\main.tf 第 19 行,在數據“aws_route53_zone”“默認”中:19:數據“aws_route53_zone”“默認”{
我不能運行更多的模塊? 無論如何如何解決它?
主程序
terraform {
required_version = "~> 0.12.0"
}
provider "aws" {
version = "~> 2.12.0"
region = "us-east-1"
}
module "acm_request_certificate_example" {
source = "git::https://github.com/cloudposse/terraform-aws-acm-request-certificate.git?ref=master"
domain_name = "example.com"
process_domain_validation_options = true
ttl = "300"
}
module "acm_request_certificate_cdn_example" {
source = "git::https://github.com/cloudposse/terraform-aws-acm-request-certificate.git?ref=master"
domain_name = "cdn.example.com"
process_domain_validation_options = true
ttl = "300"
}
我在托管區域中只有example.com
。
根據評論。
該問題是由使用process_domain_validation_options = true
引起的。 這會在請求證書之前檢查托管區域是否存在於 Roure53 中。 這樣做是為了啟用對要頒發的 SSL 證書的自動驗證。
由於在 OP 的情況下,為沒有相應區域的域請求 SSL 證書,因此 terraform 出錯了。
解決方案是使用process_domain_validation_options = false
,但這需要對要發布的 SSL 執行手動驗證程序。 要使此過程自動化,必須通過自定義解決方案來完成。 從廣義上講,此類解決方案可能涉及使用aws_route53_record 、 lambda function 或local-exec供應商創建驗證所需的記錄以創建所需的記錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.