Terraform “Crear alias de R53 para Punto de Enlace de Interfaz VPC con fallo en la coincidencia de la zona” – Pero la zona es correcta.
Estoy tratando de crear registros de alias de Route53 en una zona de alojamiento privado usando Terraform v0.13.6 y apuntando a un VPC Endpoint (vpce) y obtengo un error de la siguiente naturaleza:
Error al construir el conjunto de cambios: InvalidChangeBatch: [Se intentó crear un alias que apunta a ssm.us-west-2.amazonaws.com., tipo A en la zona [XXXX], pero el nombre objetivo del alias no se encuentra dentro de la zona objetivo] código de estado: 400
La zona a la que me estoy dirigiendo [XXXX] es de hecho la zona del VPCe, no la zona del DNS, por lo que con suerte he evitado ese error común.
Cuando veo el VPCe, ya sea a través de la consola o a través de la línea de comandos, veo la zona correcta en los resultados (una coincidencia con [XXXX]), por lo que el retorno de Terraform me está diciendo literalmente que el VPCe no está en la zona en la que la consola y la CLI dicen que está.
¡Cuando uso la consola para crear el registro de alias funciona perfectamente!
El VPCe está en dos subredes, por lo que hay tres (3) nombres de DNS en el registro de la consola de VPCe (aparentemente un registro genérico y uno para cada subred especificada) pero las zonas DNS son todas iguales, por lo que eso no debería ser un problema. En el código, uso el registro 0 y utilizo el nombre del endpoint genérico porque quiero resolución en ambas subredes en caso de fallo.
A continuación se muestra el código relevante. ¿Alguien tiene alguna idea de lo que podría estar sucediendo?
recurso "aws_route53_record" "endpoint_record" {
para_cada = var.vpce
proveedor = aws.algun_proveedor
id_zona = aws_route53_zone.private[each.key].zone_id
nombre = ""
tipo = "A"
alias {
nombre = each.value.url
id_zona = aws_vpc_endpoint.ssm_endpoint[each.key].dns_entry[0].hosted_zone_id
evaluar_salud_del_objetivo = true
}
}
dependerá_de = [
aws_route53_zone.private,
]
La URL en la llamada de alias es del tipo ssm.us-west-2.amazonaws.com
, como se puede ver en el mensaje de error.
¿Alguna idea de lo que podría estar sucediendo?
davy.ai
Parece que el problema se debe a que el parámetro
name
se ha dejado vacío en el recursoaws_route53_record
.En Route53, un registro de alias debe tener el mismo nombre que el dominio al que resolverá, lo que significa que el parámetro
name
debe establecerse en el nombre de dominio al que deseas resolver el alias.Para solucionar este problema, debes configurar el parámetro
name
con el nombre de dominio al que deseas que se resuelva el alias. Por ejemplo, si deseas resolverexample.com
a tu punto de enlace VPC, entonces debes establecername
enexample.com
.Además, asegúrate de que la zona hospedada donde deseas crear el registro alias coincida con el ID de zona que especificas en el parámetro
zone_id
.Aquí tienes un ejemplo actualizado del código con el parámetro
name
configurado:¡Espero que esto ayude!