<p>To answer your question, ill first try to give simple explanations for each policy to help with the confusion (<a href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html" rel="nofollow noreferrer">https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html</a>).</p>

<ul>
<li><p><strong>Simple</strong>: a basic routing policy that randomly sends a user to one of
your addresses.</p></li>
<li><p><strong>Failover</strong>: You have a primary (active) route and a secondary (passive)
route. When the primary fails, it routes to the passive. If passive
fails, you have an issue.</p></li>
<li><p><strong>Multivalue</strong>: Multiple routes that each have health checks. It will randomly select an address (Simple routing policy) from the healthy routes. A more
complex failover policy.</p></li>
<li><p><strong>Geolocation</strong>: Route users dependent on where they are located. If a
user is in England and gets better latency in Germany, they will
still be routed to England.</p></li>
<li><p><strong>GeoProximity</strong>: A more fine grained Geolocation. You would be able to    route people located on the border of France and Germany (based
on longitude) to a    specific route. "Traffic Flow Only" is to
specify that you must use the Route 53 traffic flow to configure this
policy. It is the most complicated of the route 53 policies</p></li>
<li><p><strong>Weighted</strong>: This policy allows percentage based balancing. Routing 30%
of people to route-1, 20% to route-2 and 50% to route-3.</p></li>
<li><p><strong>Latency</strong>: Route to the address that gives the user the best latency.</p></li>
</ul>

<p>Now for your architecture, your current implementation would handle instance failures with the ELBs and the latency based routing (with health checks) would handle the routing failures. If you don't require routing your users to the lowest latency address, use the multivalue policy instead.</p>

CC BY-SA 4.0
2019-09-30T20:00:36.150Z
2019-09-30T21:24:43.610Z
2019-09-30T21:24:43.610Z
Aliminator
<p>When I look over the documentation for <a href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html" rel="nofollow noreferrer">Route 53 Routing Policies</a> they list 7 different policies. How should I pick the right one if I am building out new infrastructure in AWS for a US-based e-commerce website? Here is the list of offerings:</p>

<ul>
<li>Simple</li>
<li>Failover</li>
<li>Geolocation</li>
<li>Geoproximity</li>
<li>Latency-based</li>
<li>Multivalue Answer</li>
<li>Weighted</li>
</ul>

<p>These different routing policies are pretty confusing. I would of course always want failover for my DNS. Why would I ever choose Simple? Is there some major difference between Geolocation and Geoproximity? What do they mean by "Traffic Flow Only" next to Geoproximity?</p>

<p>Because of the confusion around all of this I am for now choosing latency-based routing. That seems simple and intuitive. I have ELBs to handle failover for me, and with my latency routing I have associated health-checks, so it <em>seems</em> like my bases are covered.</p>

<p>Notes:</p>

<ul>
<li>We have a handful of ELBs but they are mostly in us-west-2 region, some in us-east-1.</li>
<li>These ELBs are serving the same site out of multiple regions.</li>
</ul>

<amazon-web-services><dns>
Route53 Routing Policies - Best Policy for US-based Ecommerce?
Randy L
# Route53 Routing Policies - Best Policy for US-based Ecommerce?

(Asked by: username_0 on 2019-08-16)

When I look over the documentation for [Route 53 Routing Policies](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) they list 7 different policies. How should I pick the right one if I am building out new infrastructure in AWS for a US-based e-commerce website? Here is the list of offerings:

* Simple
* Failover
* Geolocation
* Geoproximity
* Latency-based
* Multivalue Answer
* Weighted

These different routing policies are pretty confusing. I would of course always want failover for my DNS. Why would I ever choose Simple? Is there some major difference between Geolocation and Geoproximity? What do they mean by "Traffic Flow Only" next to Geoproximity?

Because of the confusion around all of this I am for now choosing latency-based routing. That seems simple and intuitive. I have ELBs to handle failover for me, and with my latency routing I have associated health-checks, so it *seems* like my bases are covered.

Notes:

* We have a handful of ELBs but they are mostly in us-west-2 region, some in us-east-1.
* These ELBs are serving the same site out of multiple regions.

**Tags:** amazon-web-services, dns


---

## 1 answers

### Answer by username_1 on 2019-09-30. Score: 1

To answer your question, ill first try to give simple explanations for each policy to help with the confusion (<https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html>).

* **Simple**: a basic routing policy that randomly sends a user to one of
  your addresses.
* **Failover**: You have a primary (active) route and a secondary (passive)
  route. When the primary fails, it routes to the passive. If passive
  fails, you have an issue.
* **Multivalue**: Multiple routes that each have health checks. It will randomly select an address (Simple routing policy) from the healthy routes. A more
  complex failover policy.
* **Geolocation**: Route users dependent on where they are located. If a
  user is in England and gets better latency in Germany, they will
  still be routed to England.
* **GeoProximity**: A more fine grained Geolocation. You would be able to route people located on the border of France and Germany (based
  on longitude) to a specific route. "Traffic Flow Only" is to
  specify that you must use the Route 53 traffic flow to configure this
  policy. It is the most complicated of the route 53 policies
* **Weighted**: This policy allows percentage based balancing. Routing 30%
  of people to route-1, 20% to route-2 and 50% to route-3.
* **Latency**: Route to the address that gives the user the best latency.

Now for your architecture, your current implementation would handle instance failures with the ELBs and the latency based routing (with health checks) would handle the routing failures. If you don't require routing your users to the lowest latency address, use the multivalue policy instead.


---

