解决方法
完成以下步骤,以将您的目标组注册到负载均衡器,然后为目标组添加权重。
创建目标组
1. 打开 Amazon Elastic Compute Cloud(Amazon EC2)控制台。
2. 选择您的 Amazon EC2 实例所在的 AWS 区域。
3. 在导航窗格上的负载均衡下,选择目标组。
4. 创建第一个目标组:
选择创建目标组。
对于目标组名称,为目标组指定一个名称。
配置目标组的协议、端口和虚拟私有云(VPC)。
选择创建。
对于实例,选择一个或多个实例。
为实例指定端口。
选择添加到已注册,然后选择保存。
5. 重复步骤 4 以创建第二个目标组。
创建应用程序负载均衡器
**注意:**如果您已经有应用程序负载均衡器,请继续进行下一部分。
1. 在导航窗格上的负载均衡下,选择负载均衡器。
2. 选择创建负载均衡器。
3. 对于选择负载均衡器类型,选择应用程序负载均衡器。
4. 选择继续。
5. 完成创建应用程序负载均衡器中的步骤。
6. 完成配置路由步骤:
对于目标组,选择现有目标。
对于名称,选择您创建的第一个目标组。
选择下一步: 注册目标。
7. 在注册目标页面上,您在目标组中注册的实例显示在已注册的实例下。您不能在这里修改注册目标。
8. 在审阅页面上,选择创建。
9. 在您收到负载均衡器已创建的通知后,选择关闭。
10. 选择负载均衡器。
配置侦听器规则并为目标组添加权重
1. 在侦听器选项卡上,选择查看/编辑规则。
2. 选择编辑规则(铅笔图标)。
3. 选择转发至旁边的编辑。
4. 添加其他目标组。
5. 输入目标组的权重值。这些值需要介于 0 到 999 之间。
6. 选择复选标记,然后选择更新。
7. (可选)如果目标组处于粘滞状态,请设置组级别粘性。当您配置此设置时,路由的请求在会话期间将保留在目标组中。默认值为 1 小时。会话持续时间结束后,请求将根据目标组的权重进行分配。
**注意:**应用程序负载均衡器根据权重将流量分配给目标组。如果目标组中的所有目标均未通过运行状况检查,则应用程序负载均衡器不会将请求路由或失效转移到另一个目标组。如果目标组中只有运行状况不佳的注册目标,则负载均衡器节点将在其运行状况不佳的目标之间路由请求。当目标组中的所有目标都运行状况不佳时,请勿使用加权目标组作为失效转移机制。
例如,如果第一个目标的权重为 70%,第二个目标的权重为 30%,则大多数请求来自第一个目标组:
$ for X in `seq 6`; do curl -so -i /dev/null -w "" http://FINAL-721458494.us-east-2.elb.amazonaws.com; done
<h1> This is T1 </h1>
<h1> This is T1 </h1>
<h1> This is T1 </h1>
<h1> This is T1 </h1>
<h1> This is T2 </h1>
<h1> This is T2 </h1>
如果您将第二个目标的权重设置为 70%,将第一个目标的权重设置为 30%,则大多数请求来自第二个目标组:
$ for X in `seq 7`; do curl -so -i /dev/null -w "" http://FINAL-721458494.us-east-2.elb.amazonaws.com; done
<h1> This is T2 </h1>
<h1> This is T2 </h1>
<h1> This is T2 </h1>
<h1> This is T1 </h1>
<h1> This is T1 </h1>
<h1> This is T2 </h1>
<h1> This is T2 </h1>If all targets in a target group fail health checks, then the Application Load Balancer doesn't automatically route or failover the requests to another target group