让我们说我有一个公共托管区域service.example.com.
。我们使这些代码在包含API网关的配置中工作。我们已决定将CNAME ALIAS绑定到ECS群集前面的ALB / NLB。我们打算稍后向ALB / NLB添加证书,并放入WAF。但是,我们需要先完成这项工作。
此托管区域存储在变量domain_suffix中,而点号为service.example.com
。
我正在为ALB / NLB及其与ECS的集成使用自定义terraform模块。
data "aws_route53_zone" "public_zone" {
name = var.domain_suffix
private_zone = false
}
在Terraform计划中会出现以下错误:
Error: no matching Route53Zone found
on ../prod/modules/regional-service/data.tf line 12, in data "aws_route53_zone" "public_zone":
12: data "aws_route53_zone" "public_zone" {
Route53代码如下:
resource "aws_route53_record" "a-record" {
name = local.regional_subdomain
type = "A"
zone_id = data.aws_route53_zone.public_zone.id
alias {
name = data.aws_lb.bridged-lb.dns_name
zone_id = data.aws_lb.bridged-lb.zone_id
evaluate_target_health = true
}
}
resource "aws_route53_health_check" "health_check" {
port = 443
type = "HTTPS"
resource_path = "/version"
fqdn = local.regional_subdomain
failure_threshold = "5"
request_interval = "30"
tags = local.tags
}
resource "aws_route53_record" "cname" {
name = local.global_subdomain
records = [local.regional_subdomain]
set_identifier = "${var.service_name}-${var.region}"
ttl = "60"
type = "CNAME"
zone_id = data.aws_route53_zone.public_zone.id
health_check_id = aws_route53_health_check.health_check.id
latency_routing_policy {
region = var.region
}
}
对于解决此问题的任何帮助,我将不胜感激。 预先非常感谢。
答案 0 :(得分:0)
在@ydaetskcoR的帮助下,我再次查看了代码,并意识到我引用了错误的AWS账户。我立即获得了正确的帐户信息和相应的公共托管区域,并且我的CI / CD管道过程顺利完成。