First off let’s talk about Geolocation, this routing policy is used to connect your users to an instance based on their physical location, it can be a country, continent, or even down to a US State. This is useful if you need users in France to be connected to a French based application, as well as if certain compliance needs to be met in that region. If your user is from a region you have not assigned then you are able to have a default record that they are sent to. If you set up this policy and then use a VPN you can see the process live! Geoproximity routing is an interesting one. It is similar to Geolocation but also quite different. How it works is you have instances spread across your preferred region, regions, etc. If you have two instances on opposite sides of the US then users on one half of the US go to one instance and users on the other half go to the other. I should also note as well you can utilized AWS and non-AWS resources in this policy, if you’re using AWS resources then you just specify the region or local zone the instance is in. Non-AWS resources are defined by the longitude and latitude of the resource. You can manipulate this traffic even further though. You can set a “bias” value of 0-99 and the higher the bias the more traffic pulled. So in the previous example of two instances on opposite sides of the US, if one has a bias of 0 and the other has a bias of 50, then 75% of the US and the users in that region will be connected to that instance instead. The purpose of Geoproximity is being able to redirect traffic to a preferred instance based on its bias value. Let’s say you have an application that has much higher performance in a region, you’d set a higher bias and more users in that region would be directed to that application, it is still based on geolocation though so if a user is far enough away they’ll be connected to an application with a lower bias. A good way to think of it is increasing the bias is directly increasing the size of the geographic region that instance and users in that region are directed to said instance. Here is the formula for the biased distance as well, so if you have two instances instance A with a bias of 50 and 100 miles from the user and instance B with a bias of 0 and 75 miles away from the user. The instance with a bias of 50 actually has a biased distance of 50 miles, so even though the instance B is actually closer because of the BIAS value the biased distance is lower and the user will be connect to instance A in this case.
Biased distance = actual distance * [1 – (bias/100)]