Study ANS-C01 DNS design for Route 53 routing policies, private hosted zones, Resolver endpoints, hybrid DNS, Cloud Map, TTLs, and failover behavior.
DNS questions on ANS-C01 are availability and control-plane questions. AWS is testing whether you can decide where a name should resolve, who is allowed to resolve it, how DNS answers change during failure, and when DNS is the wrong layer for fast traffic movement.
The current AWS task statement is to design DNS solutions that meet public, private, and hybrid requirements. The official scope includes Route 53 integration with AWS networking services, Route 53 Resolver endpoints in hybrid and AWS architectures, and DNS behavior in multi-account and multi-Region designs. Treat DNS as part of the network architecture, not as a record-type memorization exercise.
| Design question | Why it matters |
|---|---|
| Is the name public or private? | Public hosted zones and private hosted zones solve different visibility problems. |
| Is resolution inside AWS, on-premises, or both? | Resolver inbound and outbound endpoints create different query paths. |
| Is the answer policy-based or service-discovery-based? | Route 53 routing policies and AWS Cloud Map solve different naming needs. |
| Does failover need to be DNS-level or faster than DNS? | DNS TTLs and resolver caching can make DNS-only failover too slow. |
| Does the name span accounts or VPCs? | Hosted zone association, Resolver rules, and RAM sharing may matter. |
| Does the scenario need routing or resolution? | DNS answers names; it does not guarantee packet reachability after resolution. |
Most wrong answers confuse a name-resolution problem with a traffic-forwarding problem, or a public DNS problem with a private/hybrid one.
| Requirement | Strongest first fit | Why |
|---|---|---|
| Public internet clients need to resolve a domain | Route 53 public hosted zone | Public authoritative DNS is required. |
| Resources inside one or more VPCs need private-only names | Route 53 private hosted zone | Names resolve only from associated VPCs. |
| On-premises resolvers need to resolve AWS private hosted zone names | Route 53 Resolver inbound endpoint | On-premises DNS forwards queries into AWS Resolver. |
| AWS workloads need to resolve on-premises domains | Route 53 Resolver outbound endpoint plus forwarding rules | VPC Resolver forwards selected domains to on-premises DNS. |
| A dynamic service registry needs DNS or API discovery | AWS Cloud Map | Services and instances can be registered and discovered dynamically. |
| Users should reach the lowest-latency Region through DNS | Route 53 latency routing policy | DNS answer depends on latency measurement to AWS Regions. |
| Active-passive DNS failover is required | Route 53 failover routing policy with health checks | DNS answer changes based on health-check state. |
| Gradual traffic shifting between endpoints | Route 53 weighted routing policy | DNS answers are distributed according to configured weights. |
| Need static anycast IPs and faster regional endpoint movement | Global Accelerator, not Route 53 alone | The requirement is network entry and health-based traffic steering, not only DNS. |
Use this model before selecting a record type or resolver endpoint.
flowchart LR
Q["Query source"] --> V["Visibility: public, private VPC, or hybrid"]
V --> A["Authority: hosted zone, Resolver rule, or on-prem DNS"]
A --> P["Policy: simple, weighted, latency, failover, geolocation, or service discovery"]
P --> E["Endpoint answer"]
E --> R["Separate routing and security path"]
The last box is the ANS-C01 trap. DNS can return a correct answer while the packet path still fails because of routes, security groups, NACLs, endpoint policy, firewall rules, or asymmetric return routing.
| Policy | Use when | Watch for |
|---|---|---|
| Simple | One resource or one basic answer is enough. | No advanced routing behavior. |
| Weighted | Split traffic between multiple resources by configured weights. | Useful for canary, migration, or controlled distribution. |
| Latency | Route users to the AWS Region that provides best latency. | This is DNS-level choice, not a live packet accelerator. |
| Failover | Active-passive DNS behavior based on health checks. | TTL and resolver caching still affect failover experience. |
| Geolocation | Route by user location. | Stronger for compliance or content-locality requirements than latency optimization. |
| Geoproximity | Route by resource/user location and optional traffic bias. | Often appears when controlled regional shift is required. |
| IP-based | Route based on the originating IP range. | Useful when the source IP range is the policy input. |
| Multivalue answer | Return multiple healthy records selected at random. | Not a substitute for a real load balancer. |
Routing policies decide DNS answers. They do not replace CloudFront, Global Accelerator, ALB, NLB, Transit Gateway, or application-level health logic.
Private hosted zones are strong when the same organization needs private names that should resolve only inside associated VPCs. They also support split-view DNS, where a public name and a private name can share the same domain but return different answers depending on where the query originates.
Use private hosted zones when:
Watch for VPC associations. A private hosted zone does not automatically resolve from every VPC or every account. If the question spans accounts, Regions, or VPCs, verify association and sharing behavior instead of assuming the name is globally visible.
This distinction is one of the highest-yield ANS-C01 DNS traps.
| Requirement | Use | Query direction |
|---|---|---|
| On-premises clients need to resolve names hosted in Route 53 private hosted zones | Resolver inbound endpoint | On-premises DNS forwards queries into AWS. |
| AWS workloads need to resolve names hosted on-premises | Resolver outbound endpoint and forwarding rule | VPC Resolver forwards selected queries out to on-premises DNS. |
| Many VPCs need consistent outbound forwarding behavior | Shared Resolver rules and central DNS architecture | VPCs associate rules rather than each inventing DNS paths. |
| On-premises and AWS need bidirectional resolution | Both inbound and outbound patterns | Each direction must be designed explicitly. |
Inbound and outbound are named from the perspective of Route 53 Resolver. Inbound means queries come into AWS Resolver. Outbound means AWS Resolver forwards queries out.
AWS Cloud Map is stronger when the problem is dynamic service discovery rather than manually managed DNS records. Cloud Map can register resources such as ECS tasks, EC2 instances, and other application resources and make them discoverable through DNS queries or API calls.
Use Cloud Map when:
Do not use Cloud Map as a generic replacement for hybrid Resolver endpoints. A dynamic service registry still needs the correct DNS visibility and resolution path.
Route 53 health checks and failover policies are useful, but DNS is not instantaneous traffic control.
| Constraint | Exam implication |
|---|---|
| Resolver caching | Clients may keep using cached answers until TTL behavior allows refresh. |
| TTL tuning | Lower TTL can improve responsiveness but does not remove all resolver/client caching behavior. |
| Health-check scope | A health check must test the right endpoint and failure condition. |
| Regional failover speed | Global Accelerator may be stronger when fast endpoint movement and static anycast IPs are required. |
| Application state | DNS failover does not replicate databases, sessions, or dependencies. |
If the stem says “fast regional failover,” “static global IPs,” or “TCP/UDP acceleration,” Route 53 alone may be weaker than Global Accelerator.
| Scenario | Strong first design |
|---|---|
On-premises users need app.internal.example.com in a private hosted zone |
On-prem DNS conditional forwarder to Resolver inbound endpoint. |
EC2 instances need to resolve corp.example.com hosted on-premises |
Resolver outbound endpoint with a forwarding rule to on-prem DNS. |
| Many VPCs need the same corporate DNS forwarding rules | Centralized outbound Resolver pattern with rule sharing where appropriate. |
| AWS and on-prem need bidirectional resolution | Inbound and outbound endpoints, forwarding rules, network reachability, and security rules for DNS. |
| A private zone does not resolve from a spoke VPC | Check VPC association, account sharing, Resolver rule association, and query source. |
| Hybrid DNS intermittently fails | Check endpoint IPs, security groups, routes, NACLs, DNS firewall rules, and on-prem resolver behavior. |
The network path for UDP/TCP 53 still matters. Resolver endpoints need reachability, security group permissions, and route paths just like any other endpoint.
| Scenario | Strong first answer |
|---|---|
| Users should reach the closest AWS Region by DNS answer | Route 53 latency routing. |
| Active-passive public endpoint failover | Route 53 failover routing with health checks. |
| Gradual migration from old endpoint to new endpoint | Route 53 weighted routing. |
| Private name should resolve only inside selected VPCs | Private hosted zone associated with those VPCs. |
| Same domain should resolve differently inside AWS and on the internet | Split-view DNS with public and private hosted zones. |
| Container tasks need dynamic discovery | AWS Cloud Map or platform-integrated service discovery. |
| On-premises DNS must resolve AWS private names | Resolver inbound endpoint. |
| AWS workloads must resolve on-premises names | Resolver outbound endpoint and forwarding rule. |
| Stem clue | Eliminate first | Keep in play |
|---|---|---|
| “private-only name” | public hosted zone alone | private hosted zone |
| “on-premises clients resolve AWS private zone” | outbound endpoint only | inbound Resolver endpoint |
| “AWS workloads resolve on-prem domain” | inbound endpoint only | outbound Resolver endpoint and forwarding rule |
| “fast TCP regional failover with static IPs” | Route 53 alone | Global Accelerator |
| “host/path routing” | DNS routing policy | ALB |
| “weighted rollout” | failover-only policy | weighted routing |
| “healthy random answers for several records” | simple routing | multivalue answer routing |
| “dynamic ECS service discovery” | manually updated records only | Cloud Map or ECS-integrated discovery |
When a DNS scenario fails, use this order:
This sequence prevents the common mistake of changing records when the real problem is query direction, private hosted zone association, or packet reachability after resolution.
An enterprise has a private hosted zone named corp.internal associated with a shared services VPC. On-premises clients connected through Direct Connect must resolve records in that private hosted zone. AWS workloads must also resolve ad.example.com, which is hosted by on-premises DNS servers. Which design is strongest?
corp.internal and publish private IP addresses.Answer: Use both inbound and outbound Resolver patterns.
Why: The scenario has two directions. On-premises clients resolving AWS private hosted zone names need an inbound endpoint. AWS workloads resolving on-premises names need an outbound endpoint plus forwarding rules. A public hosted zone would expose the wrong visibility. Global Accelerator is not a DNS forwarding service.
Choose public hosted zones for internet-visible authoritative DNS. Choose private hosted zones for VPC-visible private names. Choose Resolver inbound endpoints when on-premises DNS must query AWS private names. Choose Resolver outbound endpoints and forwarding rules when AWS workloads must query on-premises DNS. Choose Route 53 routing policies for DNS-level answer selection. Choose Cloud Map for dynamic service discovery. Do not use DNS as a substitute for packet routing, load balancing, or fast anycast traffic steering.
Continue with 1.3 Load Balancing and Traffic Management to connect DNS answer selection to regional load-balancer and edge-routing behavior.