是的,AWS网络ALB支持端口范围。您可以使用多个目标组,每个目标组使用不同的端口范围,并将它们添加到负载均衡器的监听规则。以下是一个示例:
1.创建两个目标组,分别使用不同的端口范围:
aws elbv2 create-target-group \
--name target-group-1 \
--protocol HTTP \
--port 8080 \
--target-type ip \
--vpc-id vpc-xxxxxxxx
aws elbv2 create-target-group \
--name target-group-2 \
--protocol HTTP \
--port 9090 \
--target-type ip \
--vpc-id vpc-xxxxxxxx
2.创建一个负载均衡器监听规则,将目标组与不同的端口范围关联:
aws elbv2 create-rule \
--listener-arn arn:aws:elasticloadbalancing:region:xxxxx:listener/app/testLB/xxxxxx \
--priority 1 \
--conditions Field=path-pattern,Values='/target-group-1/*' \
--actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:region:xxxxx:targetgroup/target-group-1/xxxxxx
aws elbv2 create-rule \
--listener-arn arn:aws:elasticloadbalancing:region:xxxxx:listener/app/testLB/xxxxxx \
--priority 2 \
--conditions Field=path-pattern,Values='/target-group-2/*' \
--actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:region:xxxxx:targetgroup/target-group-2/xxxxxx
在这个例子中,可以看到使用了两个目标组和两个规则,每个规则与一个目标组相关联。一个目标组使用8080端口,另一个使用9090端口。当请求路径匹配规则'/target-group-1/”时,请求将被转发到目标组1。同样,当请求路径匹配规则'/target-group-2/”时,请求将被转发到目标组2。