Я использую базу данных MySQL в AWS ECS ( не может использовать RDS ), и я хотел бы использовать Обнаружение службы ECS для заполнения записи 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}"
}
Однако, это создает запись SRV (mysqldb.stack_name.local.
), котораяне соответствует RFC 2782.Для обеспечения соответствия он должен включать имя службы и протокол, например: _mysql_._tcp.mysqldb.stack_name.local.
Я попытался изменить имя на что-то вроде _mysql._tcp.mysqldb
, но это не удалось, поскольку AWS требует, чтобы имя было единичнымметка без .
.
Можно ли создать запись SRV, совместимую с RFC 2782, с помощью ECS Service Discovery с Terraform и поставщиком Terraform AWS?