目前私网连接(PrivateLink)的终端节点服务支持将传统型负载均衡CLB(Classic Load Balancer)应用型负载均衡ALB(Application Load Balancer)网络型负载均衡NLB(Network Load Balancer)作为服务资源。本文以CLB为例,为您介绍如何通过同一个可用区服务资源之间的替换,分载流量,避免某一个服务资源因负载过高而影响业务使用。

使用限制

  • 替换可用区服务资源的功能默认不开放,如需使用,请登录配额中心控制台,搜索IDprivatelink_whitelist/svc_res_mgt_uat进行申请。
  • NLB作为后端服务资源时,不支持替换可用区服务资源。
  • 在场景示例图中,VPC1中的终端节点、VPC2中的终端节点服务及服务资源必须在同一地域的同一可用区内。
  • 在场景示例图中,VPC2中的CLB服务资源必须是按量付费的私网CLB实例,只有按量付费的私网CLB实例才支持私网连接。

场景示例

以下图场景为例。某公司使用阿里云账号A在华东1(杭州)地域的可用区H创建了专有网络VPC1和VPC2。这两个VPC已实现私网互通,VPC2中使用云服务器ECS(Elastic Compute Service)分别部署了不同的Nginx服务。现因业务发展,需要将VPC2中可用区指定的CLB1服务资源的负载分流一部分到CLB2,避免由于CLB1服务资源负载过高影响业务。

liuchengtu

前提条件

  • 您已经在阿里云华东1(杭州)地域创建了VPC1和VPC2,并且在VPC1和VPC2中分别创建了一个交换机。具体操作,请参见创建专有网络和交换机
  • 您已经在VPC1中创建了ECS03实例,用于发送请求,并在VPC2中创建了ECS01和ECS02实例,用于接收和处理请求。ECS01和ECS02均部署了不同的Nginx服务。具体操作,请参见手动部署LNMP环境(Alibaba Cloud Linux 2)
  • 您已经在VPC2中的可用区H创建了服务资源CLB1和CLB2。关于创建支持私网连接的负载均衡,请参见创建支持私网连接的负载均衡
  • 您已经在服务资源CLB1和CLB2中分别添加了监听和后端服务器ECS01和ECS02。具体操作,请参见配置负载均衡实例
  • 您已经在VPC1中创建了终端节点,且在VPC2中创建了终端节点服务并绑定了可用区H下的CLB1服务资源。关于创建终端节点和终端节点服务,请参见创建终端节点和终端节点服务
本示例中2个VPC网络规划如下表所示,在您规划网络时请确保要互通的网段没有重叠。
属性VPC1VPC2
网络实例所属地域华东1(杭州)华东1(杭州)
网络实例的网段规划
  • VPC网段:10.10.0.0/16
  • 交换机网段:10.0.0.0/24
  • VPC网段:192.168.0.0/16
  • 交换机网段:192.168.24.0/24
网络实例交换机的可用区交换机位于可用区H交换机位于可用区H
服务器IP地址ECS03 IP地址:10.0.0.190
  • ECS01 IP地址:192.168.24.246
  • ECS02 IP地址:10.0.0.189

配置流程

liuchengtu

步骤一:添加可用区服务资源

  1. 登录终端节点服务控制台
  2. 在顶部菜单栏,选择VPC2中的终端节点服务所属地域。本示例选择华东1(杭州)
  3. 终端节点服务页面,单击目标终端节点服务的实例ID。
  4. 服务资源页签,单击添加服务资源
  5. 添加服务资源对话框,选择要承载流量的可用区,然后选择与终端节点服务关联的负载均衡实例。

    本示例可用区选择Hangzhou Zone H,负载均衡实例选择CLB2的实例ID。

  6. 单击确定

步骤二:分配并连接可用区服务资源

分配并连接服务资源前,请确保:
  • 终端节点连接的状态为已断开
  • 终端节点可用区状态为等待连接或者已断开
  • 终端节点服务在可用区H有可用的服务资源。
yiduankai
  1. 终端节点连接页签,找到目标终端节点,在操作列单击允许
  2. 允许连接对话框,根据不同情况进行操作。
    • 如果需要自动分配服务资源:
      1. 勾选允许连接并自动分配服务资源,单击确定
      2. 单击目标终端节点前的icon图标,在展开的可用区详细信息中选择目标可用区。本示例选择Hangzhou Zone H
    • 如果需要手动分配服务资源,则取消允许连接并自动分配服务资源的弹框:
      1. 单击目标终端节点前的icon图标,在展开的可用区详细信息中选择目标可用区。本示例选择Hangzhou Zone H
      2. 在目标可用区的操作列单击分配服务资源
      3. 分配服务资源对话框,单击手动分配选择已创建的服务资源CLB1,然后单击确定
        说明 当终端节点可用区已有指定的服务资源时,选择自动分配会清除已经指定的服务资源。并且在终端节点连接选择允许自动分配可用区服务资源时,该服务资源可以被允许自动分配。
      4. 在目标终端节点的操作列,单击允许
  3. 远程登录ECS03实例,执行curl命令测试VPC1中的ECS03是否能正常访问部署在VPC2中的ECS01上的服务。关于远程登录ECS实例,请参见ECS远程连接操作指南
    curl https://<终端节点可用区域名>
    如下图所示,ECS03可以访问到ECS01上的服务。ECS01

步骤三:创建报警规则

  1. 登录云监控控制台
  2. 在左侧导航栏,选择云产品监控
  3. 云产品监控页面的网络区域下单击私网连接 终端节点服务
  4. 私网连接 终端节点服务监控页面,单击创建报警规则
  5. 创建报警规则面板,配置报警规则相关信息,然后单击确认
    以下为与终端节点服务实例强相关的报警规则参数说明,其他参数配置,请参见创建报警规则
    • 产品:本示例选择私网连接 终端节点服务
    • 资源范围:报警规则的作用范围。本示例选择实例
    • 关联资源:本示例选择VPC2中创建的终端节点服务。
    • 规则描述:报警规则的主体。当监控数据满足报警条件时,触发报警规则。
      单击添加规则,在添加规则描述面板,完成以下配置,单击确认
      参数说明
      规则名称自定义规则的名称。
      指标类型阈值报警规则的指标类型。本示例选择单指标
      监控指标报警的监控指标名称。本示例选择终端节点服务资源流入带宽
      请选择维度报警作用的地域ID、服务资源ID。

      本示例zoneId选择cn-hangzhou-hresourceId选择VPC2中的CLB1的实例ID。

      阈值及报警级别报警规则的报警阈值和报警级别。

      本示例报警级别选择警告,报警条件选择连续1个周期(1周期=1分钟)平均值>=100Mbit/s,表示报警服务1分钟检查一次终端节点服务资源流入带宽,如果流入带宽检测1次≥100Mbit/s,就上报告警。

      监控图表预览表示指定时间段内监控指标的监控图表。
    • 通道沉默周期:报警发生后未恢复正常,间隔多久重复发送一次报警通知。本示例选择30分钟
    • 生效时间:报警规则的生效时间,报警规则只在生效时间内才会检查监控数据并判断是否需要报警。本示例选择00:00至23:59
    • 报警联系人组:发送报警的联系人通知组。关于创建报警联系人和报警联系人通知组,请参见创建报警联系人或报警联系组
    Alarm normal

步骤四:通过wrk工具进行压测

通过wrk工具对VPC2中终端节点服务的CLB1服务资源进行压测,当CLB1服务资源的后端服务器ECS01达到设置的报警阈值时,触发云监控的报警任务上报告警。

说明 本示例中ECS03实例安装了Alibaba Cloud Linux操作系统,如果您使用的是其他操作系统,关于如何安装并使用wrk工具请参见您的操作系统手册。
  1. 远程登录VPC1的ECS03实例。
  2. 在VPC1的ECS03实例中依次执行以下命令,安装wrk工具。
    yum -y install git make gcc
    git clone https://github.com/wg/wrk.git
    yum install unzip
    cd wrk
    make
  3. 安装完成后,执行以下命令通过wrk工具对ECS01实例进行压测。
    ./wrk -c 100 -d 600 -t 1  http://<终端节点可用区域名>
    收到如下所示的回复报文,则表示压测已经完成。wrk
  4. 返回报警规则页面,等待几分钟后,可以看到报警状态变为红色,表示CLB1服务资源超过报警阈值,您需要将CLB1的负载分流一部分到CLB2服务资源。
    Abnormal alarm

步骤五:替换可用区服务资源

替换服务资源前,请确保:
  • 终端节点连接的状态为已连接
  • 终端节点可用区状态为已连接或者已断开
  • 终端节点可用区H中除了已经连接的CLB1服务资源外,至少还有1个可用的服务资源。
  • 终端节点可用区CLB2服务资源不允许自动分配。具体操作,请参见允许和禁止服务资源自动分配
yilianjie
  1. 登录终端节点服务控制台
  2. 在顶部菜单栏,选择终端节点服务的地域。本示例选择华东1(杭州)
  3. 终端节点服务页面,单击目标终端节点服务的实例ID。
  4. 在终端节点服务详情页面,单击终端节点连接页签,找到目标终端节点,单击目标终端节点前的icon图标。
  5. 在展开的可用区详细信息中选择目标可用区,在操作列单击替换服务资源
  6. 替换服务资源对话框,根据业务需要,单击平滑迁移强制迁移,选择需要替换的服务资源CLB2,单击确认
    说明 平滑迁移的实现逻辑:
    1. 系统自动先创建一个新的终端节点网卡,然后将新终端节点网卡与新的CLB2建立连接,并且记录新终端节点网卡的IP并加入DNS解析。
    2. 系统自动将旧的终端节点网卡的IP地址从DNS解析中去掉。
    3. 您自行判断存量业务全部删除后,执行以下步骤七步骤八断开旧的CLB1,旧的CLB1断开后,旧的终端节点网卡将彻底删掉。
  7. 在目标可用区的操作列单击断开旧服务资源
  8. 是否断开旧服务资源?的对话框中,单击确认断开
  9. 待替换完成后,远程登录ECS03实例,执行curl命令测试VPC1中的ECS03是否能正常访问部署在VPC2中的ECS02上的服务。
    curl https://<终端节点可用区域名>
    如下图所示,ECS03可以访问到ECS02上的服务。ECS02

更多操作

允许和禁止服务资源自动分配

选择禁止服务资源自动分配时,请确保一个可用区至少包含一个可以自动分配的服务资源。

  1. 登录终端节点服务控制台
  2. 在顶部菜单栏,选择终端节点服务的地域。
  3. 终端节点服务页面,单击目标终端节点服务的实例ID。
  4. 在终端节点服务详情页面,单击服务资源页签,找到目标服务资源,在自动分配列根据需要打开或关闭开关。
    • 打开已禁止开关,在是否允许服务资源自动分配?对话框,单击允许
    • 关闭已允许开关,在是否允许服务资源自动分配?对话框,单击禁止

断开可用区服务资源

断开可用区服务资源前,请确保:
  • 终端节点连接的状态为已连接
  • 终端节点可用区状态为已连接
  • 终端节点可用区有被分配的服务资源。
  1. 登录终端节点服务控制台
  2. 在顶部菜单栏,选择终端节点服务的地域。
  3. 终端节点服务页面,单击目标终端节点服务的实例ID。
  4. 在终端节点服务详情页面,单击终端节点连接页签,找到目标终端节点,单击目标终端节点前的icon图标。
  5. 在展开的可用区详细信息中选择目标可用区,在操作列根据以下情况单击断开服务资源
    • 在平滑替换场景中,需要先单击断开旧服务资源后,再单击断开服务资源
    • 在强制迁移或者未迁移过可用区服务资源场景中,直接单击断开服务资源
    说明

    当迁移方式为平滑迁移时,在可用区中会展现新的终端节点网卡和旧的终端节点网卡。

  6. 是否断开旧服务资源?对话框,单击确认断开

删除服务资源

  1. 登录终端节点服务控制台
  2. 在顶部菜单栏,选择终端节点服务的地域。
  3. 终端节点服务页面,单击目标终端节点服务的实例ID。
  4. 在终端节点服务详情页面,单击服务资源页签,找到目标服务资源,根据不同情况进行操作。
    • 当服务资源没有被任何终端节点可用区关联时:
      1. 在目标服务资源操作列单击删除
      2. 移除服务资源对话框,单击确定
    • 当服务资源被终端节点可用区关联时:
      1. 在目标服务资源操作列单击替换资源
      2. 替换服务资源对话框,完成以下配置,单击确定
        配置项说明
        迁移方式根据业务需要选择平滑迁移强制迁移
        • 当选择平滑迁移时,待迁移完成后,需要在操作列单击清理旧连接,旧连接清理完成后,才能删除服务资源。
        • 当选择强制迁移时,待迁移完成后,直接删除服务资源。
        选择目标服务资源选择需要替换成为的服务资源。
        选择源终端节点连接勾选源关联的终端节点连接。
      3. 在目标服务资源操作列单击删除
      4. 移除服务资源对话框,单击确定
      说明 当需要删除的服务资源被终端节点可用区关联时,需要先在服务资源页签的自动分配列关闭已允许的开关。

相关文档