Quiero crear un nuevo alb y un registro de ruta 53 que lo apunte.
Veo que tengo el nombre DNS: ${aws_lb.MYALB.dns_name}
¿Es posible crear un cname para el nombre de DNS público con el recurso aws_route53_record?
Consulte los documentos de Terraform Route53 Record
Puede agregar una entrada CNAME básica con lo siguiente:
resource "aws_route53_record" "cname_route53_record" { zone_id = aws_route53_zone.primary.zone_id # Replace with your zone ID name = "www.example.com" # Replace with your subdomain, Note: not valid with "apex" domains, eg example.com type = "CNAME" ttl = "60" records = [aws_lb.MYALB.dns_name] }O si está utilizando un dominio "apex" (p. ej., example.com), considere utilizar un alias ( AWS Alias Docs ):
resource "aws_route53_record" "alias_route53_record" { zone_id = aws_route53_zone.primary.zone_id # Replace with your zone ID name = "example.com" # Replace with your name/domain/subdomain type = "A" alias { name = aws_lb.MYALB.dns_name zone_id = aws_lb.MYALB.zone_id evaluate_target_health = true } }Sí, es posible crear CNAME para el nombre de DNS público ${aws_lb.MYALB.dns_name} o aws_lb.MYALB.dns_name con el recurso aws_route53_record si usa el domain with a subdomain pero no con un apex domain(naked domain, root domain) .
Entonces, el código a continuación en Terraform(v0.15.0) funciona correctamente para CNAME con el domain which has a subdomain . * CNAME con apex domain(naked domain, root domain) provoca un error.
resource "aws_route53_zone" "myZone" { name = "example.com" } resource "aws_route53_record" "myRecord" { zone_id = aws_route53_zone.myZone.zone_id name = "www.example.com" type = "CNAME" ttl = 60 records = [aws_lb.MYALB.dns_name] } Además, el código a continuación en Terraform(v0.15.0) funciona correctamente para A o AAAA con apex domain(naked domain, root domain) incluso para el domain with a subdomain .
resource "aws_route53_zone" "myZone" { name = "example.com" } resource "aws_route53_record" "myRecord" { zone_id = aws_route53_zone.myZone.zone_id name = "example.com" # OR "www.example.com" type = "A" # OR "AAAA" alias { name = aws_lb.MYALB.dns_name zone_id = aws_lb.MYALB.zone_id evaluate_target_health = true } }