错误:找不到匹配的Route53Zone:尝试将Route53链接到Amazon负载均衡器时

时间:2019-12-04 14:54:49

标签: terraform amazon-ecs amazon-route53 amazon-elb

让我们说我有一个公共托管区域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
  }
}

对于解决此问题的任何帮助,我将不胜感激。 预先非常感谢。

1 个答案:

答案 0 :(得分:0)

在@ydaetskcoR的帮助下,我再次查看了代码,并意识到我引用了错误的AWS账户。我立即获得了正确的帐户信息和相应的公共托管区域,并且我的CI / CD管道过程顺利完成。