如何使用Terraform和AWS Service Discovery创建符合RFC 2782的SRV记录?

时间:2019-03-26 22:29:36

标签: amazon-web-services terraform service-discovery terraform-provider-aws

我正在AWS ECS中运行一个MySQL数据库(不能使用RDS ),我想使用ECS Service Discovery填充指向该数据库的SRV记录。我正在使用Terraform来配置所有AWS服务。

这是我到目前为止的工作...

resource "aws_service_discovery_service" "mysqldb" {
  name = "mysqldb"
  health_check_custom_config {
    failure_threshold = 3
  }
  dns_config {
    namespace_id = "${aws_service_discovery_private_dns_namespace.stack_local.id}"
    dns_records {
      ttl  = "300"
      type = "SRV"
    }
    routing_policy = "MULTIVALUE"
  }
}

resource "aws_service_discovery_private_dns_namespace" "stack_local" {
  name        = "${var.stack_name}.local"
  description = "Testing with AWS Service Discovery"
  vpc         = "${aws_vpc.vpc.id}"
}

但是,这将创建不符合RFC 2782的SRV记录(mysqldb.stack_name.local.)。为了符合要求,它应包括服务名称和协议,例如:_mysql_._tcp.mysqldb.stack_name.local.

我尝试将名称更改为_mysql._tcp.mysqldb之类的方法,但是失败了,因为AWS要求名称必须是一个单独的标签,其中没有任何.

是否可以使用带有Terraform的ECS服务发现和Terraform AWS提供程序来创建符合RFC 2782的SRV记录?

0 个答案:

没有答案