CLOUD CONCEPT

Split-Horizon DNS

Split-horizon DNS provides different DNS answers for the same domain name depending on the querying client's DNS resolution context, such as its network or resolver.

Cloud Concepts Hub →

What is Split-Horizon DNS

Split-horizon DNS maintains separate views of a shared namespace, commonly returning private addresses to internal clients and public endpoints to internet clients. It lets applications use consistent names across environments while controlling which endpoints each audience discovers, but requires careful resolver configuration and coordination between DNS views.

Split-horizon DNS means that a fully qualified domain name can resolve differently depending on where and how the query is resolved. For example, api.example.com might resolve to an internet-facing load balancer for public users and an internal load balancer for workloads on a private network. The application uses the same hostname in both locations, while DNS directs clients toward an appropriate endpoint. An internal view can also contain names that do not exist in the public view.

The deciding factor is the DNS resolution path, not simply whether a device has a private IP address. An internal client using an external recursive resolver might receive the public answer. A remote employee connected through a VPN receives the internal answer only if the device's DNS configuration sends the relevant queries to a resolver that can access the internal view. Browser-managed encrypted DNS and local resolver overrides can bypass the intended configuration.

In a cloud environment, a common implementation uses public and private authoritative zones with the same domain name. The public zone is delegated through the public DNS hierarchy. The private zone is made available to selected virtual networks through zone associations, network links, or resolver policies. Records in these zones are managed separately; creating or changing a public record does not automatically update its private counterpart.

On AWS, an Amazon Route 53 public hosted zone and private hosted zone can both use example.com. Associate the private hosted zone with the VPCs that need its records and enable the required VPC DNS settings, including enableDnsSupport and enableDnsHostnames. Workloads querying the VPC Resolver then receive matching private-zone records, while internet clients use the public zone. A crucial operational detail is that a matching private zone does not merge with the public zone. If the requested name or record type is missing from that private zone, resolution does not automatically fall back to the public record.

Hybrid networks require an explicit forwarding design. On-premises DNS servers can conditionally forward the cloud namespace to Route 53 Resolver inbound endpoint addresses over private connectivity. For queries originating in a VPC that must reach on-premises DNS, Resolver outbound endpoints and forwarding rules provide the opposite direction. Allow both UDP and TCP port 53 where required, provide resilient endpoint connectivity, and avoid forwarding loops. On AWS, a matching Resolver forwarding rule takes precedence over a private hosted zone for the same domain, so overlapping rules deserve particular attention.

The main trade-offs are duplicated record management, more complicated troubleshooting, and inconsistent answers during changes. Positive and negative caching can preserve old results until their cache lifetimes expire. Test from each intended client network using its actual resolver, compare the returned records and response codes, and verify private-zone associations and forwarding rules before changing application settings.

Split-horizon DNS is not a security boundary or a routing mechanism. Returning a private address does not create network connectivity, and hiding a record does not authorize access. Routes, firewalls, security groups, application authentication, and TLS certificates still need to be correct. It is also distinct from geographic or weighted DNS routing: those policies select answers for traffic distribution, whereas split-horizon DNS separates namespace views for different resolution contexts.

Key aspects of Split-Horizon DNS

Split-horizon DNS depends on separate namespace views, predictable resolver paths, explicit record management, and network controls that remain independent of DNS.

One namespace, multiple views

The same hostname can identify different endpoints for internal and external clients. This keeps application configuration consistent while allowing separate private and public access paths.

Resolver-dependent answers

The resolver path determines which view a client sees. Configure VPN clients, virtual networks, and conditional forwarding so that queries reach the intended DNS infrastructure.

Independent authoritative data

Public and private zones contain independently managed records. Treat required records in each view as explicit configuration rather than assuming synchronization or fallback.

Hybrid DNS integration

Conditional forwarding and resolver endpoints extend private resolution across cloud and on-premises networks. Design forwarding direction, domain matching, connectivity, and redundancy together to prevent loops and resolution failures.

Zone and rule precedence

Overlapping private zones and forwarding rules can change which authority answers a query. Check the platform's matching and precedence rules, especially when a private namespace shadows public records.

Separate DNS from access control

DNS selects an endpoint but does not establish reachability or permission to use it. Validate routing, network controls, authentication, and TLS independently of name resolution.

Cloud services for Split-Horizon DNS

Authoritative DNS services hold the records for each namespace view, while private-zone associations or network links define where the internal view is available. Resolver services connect clients to those views and extend resolution across hybrid networks through conditional forwarding. In AWS, Route 53 hosted zones provide the public and private records, and Route 53 Resolver supplies VPC resolution and hybrid endpoints. Azure Private DNS and Google Cloud DNS provide comparable private namespace capabilities in their respective clouds. Across platforms, engineers must coordinate zone visibility, forwarding precedence, record updates, and private connectivity; creating parallel zones alone does not ensure clients receive the intended answers.

Amazon Route 53 image Amazon Route 53

Public and private hosted zones can serve different records for the same namespace. Private hosted zone associations determine which VPCs can resolve the private view through their VPC Resolver.

Open Amazon Route 53 →