邻近地理路由 - Amazon Route 53
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

邻近地理路由

地理位置临近度路由能让 Amazon Route 53 根据您的用户和资源的地理位置将流量路由到您的资源。它将流量路由到最近的可用资源。(可选)您也可以通过指定一个值来增加或减少路由到指定资源的流量,该值称为偏差。偏差可以增加或减少路由到某个资源的流量所来自的地理区域的大小。

为您的资源创建地理位置临近度规则并为每个规则指定以下值之一:

  • 如果您使用的是Amazon资源,请指定您在其中创建资源的Amazon Web Services 区域或本地区域组。

  • 如果您使用的是非 Amazon 资源,请指定资源的纬度和经度。

要使用 Amazon Local Zones,必须先启用它们。有关更多信息,请参阅《Amazon Local Zones 用户指南》中的 Local Zones 入门

要了解 Amazon Web Services 区域 与 Local Zones 之间的区别,请参阅《Amazon EC2 用户指南》中的区域和区

(可选)要更改 Route 53 路由到某个资源的流量所来自的地理区域的大小,请为该偏差指定一个适用值:

  • 要扩大 Route 53 从中将流量路由到资源的地理区域的大小,请为该偏差指定一个介于 1 和 99 之间的正整数。Route 53 将缩小相邻区域的大小。

  • 要缩小 Route 53 从中将流量路由到资源的地理区域的大小,请指定一个介于 -1 和 -99 之间的负偏差。Route 53 将扩大相邻区域的大小。

以下地图显示了四个 Amazon Web Services 区域(编号 1 到 4),以及使用纬度和经度指定的南非约翰内斯堡的一个位置(5)。

注意

这些地图仅适用于交通流量。


					此世界地图显示当您有地理位置临近度记录针对位于美国西部(俄勒冈州)、美国东部(弗吉尼亚州北部)、欧洲地区(巴黎)和亚太地区(东京)的 Amazon Web Services 区域 的资源,并且您有一条记录针对南非约翰内斯堡的非 Amazon 资源时,如何路由流量。

以下地图显示如果您为美国东部(弗吉尼亚州北部)区域(地图上的编号为 2)添加了偏差值 +25 时,将发生的情况。相比从前,来自更大面积的北美区域以及所有南美区域的流量将路由到该区域中的资源。


					此世界地图显示当您在美国东部(弗吉尼亚北部)区域中添加了偏差值 +25 时,如何路由流量。

以下地图显示如果您将美国东部(弗吉尼亚州北部)区域的偏差值改为 -25 时,将发生的情况。相比从前,来自较小面积的北美和南美区域的流量路由到该区域中的资源,更多流量路由到临近区域 135 中的资源。


					此世界地图显示当您在美国东部(弗吉尼亚州北部)区域中添加了偏差值 -25 时,如何路由流量。

更改资源的偏移会造成的影响取决于多种因素,包括:

  • 您具有的资源的数量。

  • 资源彼此之间的距离。

  • 您在地理区域之间的边界区域附近拥有的用户数。例如,假设您在 Amazon Web Services 区域 美国东部(弗吉尼亚州北部)和美国西部(俄勒冈州)有资源,而您在美国得克萨斯州的达拉斯、奥斯汀、圣安东尼奥有许多用户。这些城市与您资源的距离大致相等,因此较小的偏差值更改也会导致从一个 Amazon Web Services 区域 中的资源到另一个区域中的资源流量发生大幅摆动。

我们建议您以较小的增量来更改偏差,以防止由于流量的意外摆动而导致您的资源被耗尽。

有关更多信息,请参阅 Amazon Route 53 如何使用 EDNS0 估计用户的位置

Amazon Route 53 如何使用偏差来路由流量

以下是 Amazon Route 53 用于确定如何路由流量的公式:

偏差

Biased distance = actual distance * [1 - (bias/100)]

当偏差的值为正时,Route 53 将认为 DNS 查询的源和您在地理位置临近度记录中指定的资源(如 Amazon Web Services 区域 中的 EC2 实例)比实际更接近。例如,假设您具有以下地理位置临近度记录:

  • Web 服务器 A 的记录,它具有正偏差 50

  • Web 服务器 B 的记录,它没有偏差

当某个地理位置临近度记录具有正偏差 50 时,Route 53 会将查询的源与该记录的资源之间的距离减半。之后,Route 53 将计算哪一资源更接近查询的源。假设 Web 服务器 A 与查询的源相距 150 千米,而 Web 服务器 B 与查询的源相距 100 千米。如果这两个记录都没有偏差,Route 53 会将查询路由到 Web 服务器 B,因为它更近。但是,由于 Web 服务器 A 的记录具有正偏差 50,Route 53 将认为 Web 服务器 A 与查询的源相距 75 千米。因此,Route 53 会将查询路由到 Web 服务器 A。

下面是针对正偏差 50 的计算:

Bias = 50 Biased distance = actual distance * [1 - (bias/100)] Biased distance = 150 kilometers * [1 - (50/100)] Biased distance = 150 kilometers * (1 - .50) Biased distance = 150 kilometers * (.50) Biased distance = 75 kilometers