地理鄰近路由 - Amazon Route 53

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

地理鄰近路由

地理位置鄰近性路由讓 Amazon Route 53 根據您的使用者和資源的地理位置將流量路由到您的資源。它將流量路由到可用的最接近的資源。您也可以指定值,選擇將更多的流量或更少的流量路由至指定資源,稱為偏差。對於其流量會路由至資源的地理區域,偏差會擴大或縮小該地理區域的大小。

為您的資源建立地理位置鄰近性規則,並為每個規則指定下列其中一個值:

  • 如果您正在使用 AWS 資源,請指定您在其中建立資源的 AWS 區域 或本機區域群組。

  • 如果您使用非AWS 資源,請指定資源的緯度和經度。

要使用 L AWS ocal Zones,您必須先啟用它們。如需詳細資訊,請參閱《AWS Local Zones 使用者指南》中的本機區域入門

若要了解 AWS 區域 和 Local Zones 之間的差異,請參閱 Amazon EC2 使用者指南中的區域和區域

若要選擇性地變更 Route 53 從中將流量路由到資源的地理區域大小,請為偏差指定適用的值:

  • 若要擴大 Route 53 從中將流量路由到資源的地理區域大小,請為偏差指定介於 1 到 99 之間的正整數。Route 53 縮小相鄰區域的大小。

  • 若要縮小 Route 53 從中將流量路由到資源的地理區域大小,請為偏差指定介於 -1 到 -99 之間的負整數。Route 53 擴大相鄰區域的大小。

下圖顯示四個 AWS 區域 (編號為 1 至 4),以及南非約翰尼斯堡 (5) 指定的位置。

注意

地圖僅適用於交通流量。

一張世界地圖,顯示當您擁有美國西部 (奧勒岡)、美國東部 (維吉尼亞北部)、歐洲 (巴黎) 和亞太區域 (東京) 等地區資源的地理鄰近記錄時,流量如何路由路由,而且您在南非約翰尼斯堡有非AWS 資源記錄。 AWS 區域

下列地圖顯示如果您為美國東部 (維吉尼亞北部) 區域新增 +25 偏差會發生什麼情況 (地圖上的編號 2)。流量會從比之前較大部分的北美洲地區、南美洲的所有地區,路由至該區域中的資源。

世界地圖,顯示當您在美國東部 (維吉尼亞北部) 區域新增 +25 偏差時,流量會如何路由。

下列地圖顯示如果您將美國東部 (維吉尼亞北部) 區域的偏差變更為 -25 時會發生什麼情況。量會從比之前較小部分的北美洲和南美洲地區,路由至該區域中的資源,並會將較多流量路由至相鄰區域 135 的資源。

世界地圖,顯示當您在美國東部 (維吉尼亞北部) 區域新增 -25 偏差時,流量會如何路由。

變更資源的偏差產生的影響,取決於多種因素,包括下列項目:

  • 您擁有的資源數目。

  • 資源彼此之間的距離。

  • 您在地理區域之間的邊界區域附近擁有的使用者數目。例如,假設您在美國東部 (維吉尼亞北部) 和美國西部 (奧勒岡) 有資源,而且您在美國德克薩斯州達拉斯、奧斯汀和聖安東尼奧有很多使用者。 AWS 區域 這些城市在您的資源之間大致相等,因此偏差的小幅變化可能會導致從一個資源 AWS 區域 到另一個資源的大幅波動。

我們建議您以較小的增量來變更偏差,以防止由於流量的意外擺動而導致您的資源負擔過重。

如需詳細資訊,請參閱 Amazon Route 53 如何使用 EDNS0 判斷使用者的位置

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

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

偏差

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

當偏差值為正值時,Route 53 會將 DNS 查詢的來源和您在地理鄰近記錄中指定的資源 (例如 a 中的 EC2 執行個體 AWS 區域) 視為它們比實際接近一樣。例如,假設您有以下的地理位置鄰近性記錄:

  • 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