通過自定義路由類型監聽,您可以精確規劃客戶端和后端服務的關系,將一個或多個客戶端的流量路由到特定服務器中。本文為您介紹自定義路由類型監聽的工作原理、使用限制、使用示例、與智能路由類型監聽的功能對比。
工作原理
配置自定義路由類型監聽后,全球加速實例能夠根據配置的監聽端口范圍、目標終端節點組協議和端口范圍,以及終端節點(交換機vSwitch)的IP地址信息,生成端口映射表,從而根據映射關系將一個或多個客戶端的流量路由到交換機中特定的后端服務器(IP地址和端口)。
自定義路由類型監聽的工作流程如下:
序號 | 工作流程說明 |
① | 全球加速根據您配置的自定義路由類型監聽端口范圍、終端節點組目標端口范圍,以及終端節點交換機IP地址信息,生成端口映射表。 |
② | 客戶端向應用發起請求,向應用申請可提供服務的端口信息,即加速端口。 |
③ | 應用調用查詢端口映射表的接口獲取端口映射表,并結合業務邏輯選取一個允許流量通行的后端服務器。 |
④ | 應用根據端口映射表,向客戶端返回特定后端服務器和端口所對應的加速端口,該加速端口在您配置的監聽端口范圍內選取生成。 |
⑤ | 客戶端使用分配的加速端口和加速IP進行訪問。 |
⑥ | 自定義路由類型監聽將客戶端的流量按照端口映射表轉發至相應的后端服務器。 |
使用限制
使用自定義路由類型監聽有以下限制:
加速區域限制
加速IP協議版本僅支持IPv4。
監聽端口限制
可配置的端口范圍為1~65499。其中,25、250、4789和4790為系統保留端口。系統生成映射表時會自動忽略系統保留端口。按量付費全球加速實例不支持配置6081端口。
配置的監聽端口范圍決定了該監聽關聯的終端節點組內端口和終端節點內IP的組合數量,即需要滿足以下數量關系:
監聽端口數量(需減去系統保留端口數量)≥終端節點組內所有的端口數量×終端節點內所有交換機的IP數量
。建議為監聽配置較大的端口范圍。例如,如果您的終端節點組目標端口范圍為81-85,包括5個端口;終端節點的所有交換機IP數量為16個,則監聽端口范圍需包含不少于80個端口。您可以配置監聽為101-180,但不能配置為101-179,否則您的監聽無法配置成功。
監聽端口配置完成后,后續修改端口范圍時不能移除已存在映射關系的端口。
例如,您的原監聽端口范圍為100-10000,其中199端口與終端節點的目的端口80在端口映射表中為映射關系,則您可以擴大監聽端口為20-10000,但不支持縮小監聽端口范圍為200-10000。
同一全球加速實例下,不同監聽的監聽端口不能重復。
監聽協議限制
僅支持TCP和UDP協議(配置終端節點組時指定)。可配置TCP或UDP,也可同時配置TCP和UDP。
后端服務限制
終端節點的后端服務類型僅支持部署在阿里云上的交換機(vSwitch),且僅支持ECS實例的私網IP地址及目標端口作為流量通行目標。
作為終端節點的交換機網段掩碼范圍為
/17
到/28
,即至少包含16個IP地址。添加終端節點時,默認配置為拒絕所有到目標交換機的訪問流量。如需目標ECS實例能接收訪問流量,您可以修改配置為允許所有流量通行,或指定目標ECS實例IP地址和端口允許流量通行。
作為終端節點的交換機所關聯的網絡ACL和作為流量通行目標ECS實例所屬的安全組需允許訪問流量通行。網絡ACL和安全組規則配置,請參見創建和管理網絡ACL和添加安全組規則。
不支持對終端節點組及終端節點進行健康檢查。無論終端節點的健康狀況如何,自定義路由類型監聽都按照映射表中的映射關系轉發訪問流量。
使用示例
自定義路由類型監聽適用于需要精確規劃客戶端和后端服務的關系,可將多個用戶分配到特定服務器的應用。例如,您可以在多人在線游戲中使用自定義路由類型監聽,游戲系統可以根據自定義路由類型監聽配置生成的端口映射表和業務邏輯(例如地理位置、玩家等級等特征),將多個同特征的玩家分配至后端游戲服務器上的同一會話中。
假設您使用3臺部署在同一交換機(10.1.1.0/28)的ECS實例搭建了一個游戲應用,ECS實例IP地址分別為10.1.1.1~10.1.1.3,對外提供服務的協議端口為TCP 80~82。其中只有2臺ECS實例用于對外提供服務,IP地址分別為10.1.1.1和10.1.1.2。
您可以按照以下信息配置自定義路由類型監聽和終端節點以提升玩家游戲體驗。
監聽端口范圍:1001-1050。
終端節點組的映射端口范圍和協議:端口范圍配置為80-82,協議類型配置為TCP。
終端節點的后端服務和流量通行策略:選擇目標交換機,并指定允許流量通行的IP地址10.1.1.1和10.1.1.2,端口均為80-82。
配置完成后,全球加速將生成如下端口映射表:
本示例為方便理解,端口映射表使用順序映射,實際映射關系不可預測。您可以調用ListCustomRoutingPortMappings和ListCustomRoutingPortMappingsByDestination接口獲取真實的端口映射表。
加速端口 | 目標IP | 目標端口 | 流量通行策略 |
1001 | 10.1.1.1 | 80 | 允許 |
1002 | 10.1.1.1 | 81 | 允許 |
1003 | 10.1.1.1 | 82 | 允許 |
1004 | 10.1.1.2 | 80 | 允許 |
1005 | 10.1.1.2 | 81 | 允許 |
1006 | 10.1.1.2 | 82 | 允許 |
1007 | 10.1.1.3 | 80 | 拒絕 |
1008 | 10.1.1.3 | 81 | 拒絕 |
1009 | 10.1.1.3 | 82 | 拒絕 |
如下圖所示,不同玩家可分別通過應用分配的加速IP和端口訪問游戲應用,玩家1和玩家2分別通過1001和1003端口以及加速IP訪問游戲,訪問流量均被路由至IP地址為10.1.1.1的服務器會話中;玩家3通過1005端口和加速IP訪問游戲,訪問流量被路由至IP地址為10.1.1.2的服務器會話中;玩家4嘗試訪問不允許接收流量的IP地址為10.1.1.3的服務器,該用戶的訪問請求不會被正常轉發。
智能路由類型監聽和自定義路由類型監聽對比
下表為您匯總智能路由與自定義路由類型監聽的功能支持差異。
對比項 | 智能路由 | 自定義路由 |
支持TCP、UDP、HTTP和HTTPS。 | 支持TCP、UDP。 在配置終端節點組中指定。可配置TCP或UDP,也可同時配置TCP和UDP。 | |
根據您為單個智能路由類型監聽配置的端口數量,可將智能路由類型監聽分為普通端口監聽和海量端口監聽,兩者支持配置的端口數量和使用限制不同。 | 配置的監聽端口范圍決定了該監聽關聯的終端節點組內端口和終端節點內IP的組合數量,即需要滿足以下數量關系: 監聽端口配置完成后,后續修改端口范圍時不能移除已存在映射關系的端口。 | |
支持。 | 不支持。 | |
支持IPv4、IPv6和雙棧。 | 僅支持IPv4。 | |
根據應用部署位置不同,支持的后端服務類型不同:
| 僅支持部署在阿里云上的交換機(vSwitch)。 支持指定交換機中1個或多個ECS實例的私網IP地址及目標端口作為流量通行目標。 | |
支持。 | 不支持。 | |
支持。 | 不支持。 | |
支持。 | 支持。 | |
根據監聽協議的不同,支持的情況也不同:
| 默認不支持 如需保持客戶端源IP,請向商務經理申請。 | |
支持。 | 不支持。 |