Global Accelerator 中自定义路由的工作原理示例
举个例子,假设您想在 Global Accelerator 后端的 1,000 个 Amazon EC2 实例中支持 10,000 个用户组交互的会话,例如游戏会话或 VoIP 通话会话。在此示例中,我们将侦听器端口范围指定为 10001—20040,将目标端口范围指定为 81—90。假设我们在 us-east-1 中有四个 VPC 子网:subnet-1、subnet-2、subnet-3 和 subnet-4。
在示例配置中,每个 VPC 子网的数据块大小为 /24,因此可以支持 251 个 Amazon EC2 实例。(每个子网中保留五个不可用的地址,而且这些地址未进行映射。) 每个 EC2 实例上运行的每个服务器都提供以下 10 个端口,这些端口是我们在端点组中为目标端口指定的:81-90。这表示我们有与每个子网关联的 2510 个端口(10 x 251)。每个端口都可以与会话关联。
由于在子网中的每个 EC2 实例上指定了 10 个目标端口,因此 Global Accelerator 在内部将这些目标端口与可用于访问 EC2 实例的 10 个侦听器端口相关联。为了简单地说明这一点,我们假设有一个侦听器端口块,从第一组 10 个端点子网的第一个 IP 地址开始,然后移动到下一组 10 个侦听器端口的下一个 IP 地址。
注意
实际上映射并不具备这样的可预测性,但是我们在这里使用顺序映射来帮助展示端口映射的工作原理。要确定侦听器端口范围的实际映射,请使用以下 API 操作:ListCustomRoutingPortMappings 和 ListCustomRoutingPortMappingsByDestination。
在示例中,第一个侦听器端口是 10001。该端口与第一个子网 IP 地址 192.0.2.4 和第一个 EC2 端口 81 相关联。下一个侦听器端口 10002 与第一个子网 IP 地址 192.0.2.4 和第二个 EC2 端口 82 关联。下表说明了此示例映射如何延续到第一个 VPC 子网的最后一个 IP 地址,然后延续到第二个 VPC 子网的第一个 IP 地址。
| Global Accelerator 侦听器端口 | VPC 子网 | EC2 实例端口 |
|---|---|---|
10001 |
192.0.2.4 |
81 |
10002 |
192.0.2.4 |
82 |
10003 |
192.0.2.4 |
83 |
10004 |
192.0.2.4 |
84 |
10005 |
192.0.2.4 |
85 |
10006 |
192.0.2.4 |
86 |
10007 |
192.0.2.4 |
87 |
10008 |
192.0.2.4 |
88 |
10009 |
192.0.2.4 |
89 |
10010 |
192.0.2.4 |
90 |
10011 |
192.0.2.5 |
81 |
10012 |
192.0.2.5 |
82 |
10013 |
192.0.2.5 |
83 |
10014 |
192.0.2.5 |
84 |
10015 |
192.0.2.5 |
85 |
10016 |
192.0.2.5 |
86 |
10017 |
192.0.2.5 |
87 |
10018 |
192.0.2.5 |
88 |
10019 |
192.0.2.5 |
89 |
10020 |
192.0.2.5 |
90 |
... |
... |
... |
12501 |
192.0.2.244 |
81 |
12502 |
192.0.2.244 |
82 |
12503 |
192.0.2.244 |
83 |
12504 |
192.0.2.244 |
84 |
12505 |
192.0.2.244 |
85 |
12506 |
192.0.2.244 |
86 |
12507 |
192.0.2.244 |
87 |
12508 |
192.0.2.244 |
88 |
12509 |
192.0.2.244 |
89 |
12510 |
192.0.2.244 |
90 |
12511 |
192.0.3.4 |
81 |
12512 |
192.0.3.4 |
82 |
12513 |
192.0.3.4 |
83 |
12514 |
192.0.3.4 |
84 |
12515 |
192.0.3.4 |
85 |
12516 |
192.0.3.4 |
86 |
12517 |
192.0.3.4 |
87 |
12518 |
192.0.3.4 |
88 |
12519 |
192.0.3.4 |
89 |
12520 |
192.0.3.4 |
90 |