全部产品
云市场

应用独享监听端口进行流量分发

更新时间:2019-10-22 16:44:32

在 ECS 集群或 Swarm 集群中,当两个应用对外暴露的是同一个公网 IP 地址,且绑定在同一个域名上时,这两个应用需要复用同一个 SLB。此时您可以通过给应用各自绑定不同的 TCP 协议的监听端口,实现流量的分发。该负载均衡的配置方法的相对应用独享 SLB 实例来说有如下优点:可以极致利用 SLB 的带宽以节约 SLB 资源;设置白名单时只需要对同一个 IP 进行设定。

场景示意

您有一个提供订单查询的功能的应用 A 和一个提供用户登录的应用 B,这两个应用对外使用同一个公网 IP 地址访问,并且都绑定在一个域名上。您可以通过给两个应用分别绑定同一个 SLB 的不同监听端口来实现流量分发。

上述场景的 SLB 实例和应用的简要对应关系示意如下:

绑定SLB场景2

前提条件

在 EDAS 控制台上给应用绑定 SLB 时您需先先参考使用限制创建负载均衡实例和创建应用,并且 SLB 实例和应用所在的 ECS 实例必须属于同一个地域。

注意:如果是经典网络的私网负载均衡服务,该私网负载均衡服务只能被经典网络 ECS 实例访问;如果是专有网络的私网负载均衡服务,该私网负载均衡服务只能被相同 VPC 内的 ECS 实例访问。

在 EDAS 控制台上给应用绑定 SLB

在使用一个 SLB 的不同端口转发至不同的应用的场景下,您需先给应用 A 绑定 SLB 实例,并设置监听端口 A 绑定到虚拟服务器 A。然后您需再给应用 B 绑定同一个 SLB 实例,然后设置不同的监听端口 B 绑定到虚拟服务器 B。

绑定 SLB 到应用 A

给应用 A 设置监听,并将该监听绑定到虚拟服务器 A。

  1. 登录 EDAS 控制台

  2. 在左侧导航栏中选择应用管理 > 应用列表,在应用列表页面单击应用 A 的名称。

  3. 基本信息页签的应用设置区域,单击负载均衡 (公网)右侧的添加

    说明

    如果您已经配置过负载均衡,则在此处会显示负载均衡的 IP 和端口信息,您可单击修改进入配置页面修改负载均衡信息,或可单击解绑解除 SLB 的绑定。

  4. 在 SLB 配置对话框中配置应用 A 所需的负载均衡。

    1. 选择 SLB 页签内,在负载均衡(公网)的下拉列表中选择 SLB 实例,然后单击下一步

    2. 选择配置监听页签内,设置端口监听的协议TCP前端端口号80。然后单击下一步

      • 您可在选择已有监听端口选项下选择满足条件的监听;
      • 若已有的监听没有满足设置要求的,您可选择添加新监听端口,然后新建一条监听。

        注意:如您想添加的端口号已经被另外的监听协议占用,您需登录 SLB 控制台 删掉该监听端口后才能在 EDAS 控制台上继续添加。

    3. 配置虚拟分组与转发策略页签内,设置绑定的服务器组。然后单击下一步

      • 您可在现有虚拟服务器组的列表内选择一个虚拟服务器组来处理负载均衡分发的应用 A 的前端请求。
      • 您亦可在新建服务器组选项下输入虚拟服务器组名称来新建一个虚拟服务器组作为应用 A 绑定的服务组。

      说明:因为上一步选择的 SLB 监听端口所使用的协议为 TCP,无法绑定转发策略,故此时无需绑定转发策略。

    4. 确定绑定 SLB页签内查看为应用 A 设置的 SLB 信息。

    5. 单击确认变更 完成配置。

绑定 SLB 到应用 B

参考绑定 SLB 到应用 A 的操作步骤给应用 B 设置前端端口号为 81,监听协议为 TCP 的监听,并将前端请求分发到虚拟服务器 B。

  1. 应用列表页面单击应用 B 的名称进入应用详情页面。

  2. 参照绑定 SLB 到应用 A 的操作步骤给绑定 SLB 到应用 B。

    1. 选择 SLB 页签内,在负载均衡(公网)的下拉列表中选择应用 A 绑定的 SLB 实例。

    2. 选择配置监听页签内,设置前端端口号为 81,监听协议为 TCP 的监听。

    3. 配置虚拟分组与转发策略页签内,另外选择或新建一个虚拟服务器组 B。

    4. 确定绑定 SLB页签内查看为应用 B 设置的 SLB 信息,并单击确认变更完成配置。

结果验证

复制配置的负载均衡的 IP 及端口,如 115.28.97.93:80115.28.97.93:81,在浏览器中粘贴地址并回车,即可分别进入各自的应用首页。

如果负载均衡右侧未出现 IP 和端口信息,则表示绑定负载均衡失败,请进入变更记录查看变更详情,根据变更记录排查并修复失败原因。