Global DNS Details

ExternalDNS and Global Hostname

The ingress includes the global hostname in spec.rules and spec.tls so the ALB accepts requests for the global FQDN. By default, ExternalDNS would extract this hostname and try to create an A record for it, conflicting with the CNAME failover records created by module.global-dns (Route53 forbids a CNAME alongside any other record type per RFC 1034). This is prevented by the external-dns.alpha.kubernetes.io/ingress-hostname-source: annotation-only annotation on the ingress, which tells ExternalDNS to only create DNS records for hostnames listed in the external-dns.alpha.kubernetes.io/hostname annotation (the cluster-specific hostname), ignoring spec.rules[].host entries. If you see ExternalDNS errors about InvalidChangeBatch / CNAME conflicts, verify this annotation is present on the ingress.

DNS Configuration Table

DR Mode Global FQDN How It Works
dr="" (non-DR) N/A No global DNS, direct cluster access
dr="active" ${global_logscale_hostname}.${zone_name} PRIMARY failover record points to primary ALB
dr="standby" ${global_logscale_hostname}.${zone_name} SECONDARY failover record points to secondary ALB