当一个终端节点服务被多个终端节点连接访问时,为了避免终端节点服务中的服务资源负载过高,影响业务正常运行,PrivateLink支持在终端节点服务中替换服务资源,从而实现流量分载。
使用限制
替换可用区服务资源和设置自动分配服务资源的功能默认不开放,如需使用,请登录配额中心控制台,搜索ID privatelink_whitelist/svc_res_mgt_uat进行申请。
CLB和ALB作为服务资源时,支持替换可用区服务资源;NLB作为服务资源时,不支持替换可用区服务资源。
终端节点、终端节点服务、后端服务资源必须在同一地域的同一可用区内。CLB作为服务资源时,PrivateLink仅支持CLB主可用区内的连接,若要实现跨可用区容灾,可将ALB或NLB作为服务资源。
场景示例
以下图场景为例。某公司在华东1(杭州)地域创建了专有网络VPC1、VPC2和VPC3,并且都属于杭州可用区H。VPC1和VPC2可以通过PrivateLink私网访问VPC3中的服务资源CLB1。现因业务发展,需要将VPC3中可用区指定的服务资源CLB1的负载分流一部分到CLB2,使得VPC1私网访问VPC3中的服务资源CLB1,VPC2私网访问VPC3中的服务资源CLB2,避免造成服务资源CLB1负载过高而影响业务。
前提条件
您已经在阿里云华东1(杭州)地域创建了VPC1、VPC2和VPC3,并且在VPC中都创建了一个交换机。具体操作,请参见创建专有网络和交换机。
您已经在VPC1中创建了ECS01实例,VPC2中创建了ECS02实例,用于发送请求,并在VPC3中创建了ECS03、ECS04、ECS05、ECS06实例,用于接收和处理请求,并且均部署了不同的Nginx服务。具体操作,请参见手动部署LNMP环境(Alibaba Cloud Linux 2/3)。
您已经在VPC3中的可用区H创建了服务资源CLB1和CLB2。关于创建支持私网连接的负载均衡,请参见创建支持私网连接的负载均衡。
您已经在服务资源CLB1和CLB2中分别添加了监听和后端服务器。具体操作,请参见配置负载均衡实例。
您已经在VPC1和VPC2中分别创建了终端节点,且在VPC3中创建了终端节点服务并绑定了可用区H下的CLB1服务资源。关于创建终端节点和终端节点服务,请参见创建终端节点和终端节点服务。
本示例中3个VPC网络规划如下表所示:
属性 | VPC1 | VPC2 | VPC3 |
网络实例所属地域 | 华东1(杭州) | 华东1(杭州) | 华东1(杭州) |
网络实例的网段规划 |
|
|
|
网络实例交换机的可用区 | 交换机位于可用区H | 交换机位于可用区H | 交换机位于可用区H |
服务器IP地址 | ECS01 IP地址:10.10.0.190 | ECS02 IP地址:172.16.233.103 |
|
配置流程
步骤一:分配并连接可用区服务资源
分配并连接服务资源前,请确保:
终端节点连接的状态为已断开。
终端节点可用区状态为等待连接或者已断开。
终端节点服务在可用区H有可用的服务资源。
在终端节点连接页签,找到目标终端节点,在操作列单击允许。
在允许连接对话框,根据不同情况进行操作。
如果需要自动分配服务资源:
勾选允许连接并自动分配服务资源,单击确定。
单击目标终端节点前的图标,在展开的可用区详细信息中选择目标可用区。本示例选择杭州 可用区H。
如果需要手动分配服务资源,则取消允许连接并自动分配服务资源的弹框:
单击目标终端节点前的图标,在展开的可用区详细信息中选择目标可用区。本示例选择杭州 可用区H。
在目标可用区的操作列单击分配服务资源。
在分配服务资源对话框,单击手动分配选择已创建的服务资源CLB1,然后单击确定。
说明当终端节点可用区已有指定的服务资源时,选择自动分配会清除已经指定的服务资源。并且在终端节点连接选择允许自动分配可用区服务资源时,该服务资源可以被允许自动分配。
在目标终端节点的操作列,单击允许。
远程登录ECS01和ECS02实例,执行curl命令测试VPC1和VPC2中的ECS是否能正常访问部署在VPC3中的ECS03上的服务。关于远程登录ECS实例,请参见ECS远程连接操作指南。
curl <终端节点可用区域名或IP>
如下图所示,ECS01和ECS02可以访问到ECS03上的服务。
步骤二:创建报警规则
登录云监控控制台。
在左侧导航栏,选择
。在云产品监控页面,展开全部云产品,选择。
在私网连接-终端节点服务监控页面,单击创建报警规则。
在创建报警规则面板,配置报警规则相关信息,然后单击确认。
以下为与终端节点服务实例强相关的报警规则参数说明,其他参数配置,请参见创建报警规则。
产品:本示例选择私网连接-终端节点服务。
资源范围:报警规则的作用范围。本示例选择实例。
关联资源:本示例选择VPC2中创建的终端节点服务。
规则描述:报警规则的主体。当监控数据满足报警条件时,触发报警规则。
单击添加规则,在设置规则描述面板,完成以下配置,单击确认。
参数
说明
规则名称
自定义规则的名称。
指标类型
阈值报警规则的指标类型。本示例选择简单指标。
监控指标
报警的监控指标名称。本示例选择终端节点服务资源流入带宽。
请选择维度(如不选择,则监控所有)
报警作用的可用区ID、服务资源ID。
本示例zoneId选择cn-hangzhou-h,resourceId选择VPC2中的CLB1的实例ID。
阈值及报警级别
报警规则的报警阈值和报警级别。
本示例报警级别选择警告,报警条件选择连续1个周期(1周期=1分钟)平均值>=20Mbit/s,表示报警服务1分钟检查一次终端节点服务资源流入带宽,如果流入带宽检测1次≥20Mbit/s,就上报告警。
监控图表预览
表示指定时间段内监控指标的监控图表。
通道沉默周期:报警发生后未恢复正常,间隔多久重复发送一次报警通知。本示例选择30分钟。
生效时间:报警规则的生效时间,报警规则只在生效时间内才会检查监控数据并判断是否需要报警。本示例选择00:00至23:59。
报警联系人组:发送报警的联系人通知组。关于创建报警联系人和报警联系人通知组,请参见创建报警联系人或报警联系人组。
步骤三:通过wrk工具进行压测
通过wrk工具对VPC3中终端节点服务的CLB1服务资源进行压测,当CLB1服务资源达到设置的报警阈值时,触发云监控的报警任务上报告警。
本示例中ECS实例安装了Alibaba Cloud Linux操作系统,如果您使用的是其他操作系统,关于如何安装并使用wrk工具请参见您的操作系统手册。
远程登录VPC1的ECS01实例。
在VPC1的ECS01实例中依次执行以下命令,安装wrk工具。
sudo yum -y install luajit sudo yum -y install wrk
如下图所示,表示wrk安装完成。
安装完成后,执行以下命令通过wrk工具对CLB1服务资源进行压测。
wrk -c 100 -d 600 -t 1 http://<终端节点可用区域名或IP>
收到如下所示的回复报文,则表示压测已经完成。
返回报警规则页面,等待几分钟后,可以看到报警状态变为橘色,表示CLB1服务资源超过报警阈值,您需要将CLB1的负载分流一部分到CLB2服务资源。
步骤四:添加可用区服务资源
登录终端节点服务控制台。
在顶部菜单栏,选择VPC3中的终端节点服务所属地域。本示例选择华东1(杭州)。
在终端节点服务页面,单击目标终端节点服务的实例ID。
在服务资源区域,单击添加服务资源。
在添加服务资源对话框,选择要承载流量的可用区,然后选择与终端节点服务关联的负载均衡实例。
本示例可用区选择杭州 可用区H,负载均衡实例选择CLB2的实例ID。
单击确定。
步骤五:替换可用区服务资源
替换服务资源会导致当前连接有约3秒中断,请您评估业务风险后操作。
替换服务资源前,请确保:
终端节点连接的状态为已连接。
终端节点可用区状态为已连接或者已断开。
终端节点可用区H中除了已经连接的CLB1服务资源外,至少还有1个可用的服务资源。
终端节点可用区CLB2服务资源不允许自动分配。具体操作,请参见允许和禁止服务资源自动分配。
登录终端节点服务控制台。
在顶部菜单栏,选择终端节点服务的地域。本示例选择华东1(杭州)。
在终端节点服务页面,单击目标终端节点服务的实例ID。
在终端节点服务详情页面,单击终端节点连接页签,找到VPC2下的终端节点,单击目标终端节点前的图标。
在展开的可用区详细信息中选择目标可用区,在操作列单击替换服务资源。
在替换服务资源对话框,根据业务需要,单击平滑迁移或强制迁移,选择需要替换的服务资源CLB2,单击确认。
在目标可用区的操作列单击断开旧服务资源。
在是否断开旧服务资源?的对话框中,单击确认断开。
待替换完成后,远程登录ECS02实例,执行curl命令测试VPC2中的ECS02是否能正常访问部署在VPC3中的ECS05上的服务。
curl <终端节点可用区域名或IP>
如下图所示,ECS02可以访问到ECS05上的服务。
更多操作
允许和禁止服务资源自动分配
选择禁止服务资源自动分配时,请确保一个可用区至少包含一个可以自动分配的服务资源。
登录终端节点服务控制台。
在顶部菜单栏,选择终端节点服务的地域。
在终端节点服务页面,单击目标终端节点服务的实例ID。
在终端节点服务详情页面的服务资源区域,找到目标服务资源,在自动分配列根据需要打开或关闭开关。
打开已禁止开关,在是否允许服务资源自动分配?对话框,单击允许。
关闭已允许开关,在是否禁止服务资源自动分配?对话框,单击禁止。
断开可用区服务资源
断开可用区服务资源前,请确保:
终端节点连接的状态为已连接。
终端节点可用区状态为已连接。
终端节点可用区有被分配的服务资源。
登录终端节点服务控制台。
在顶部菜单栏,选择终端节点服务的地域。
在终端节点服务页面,单击目标终端节点服务的实例ID。
在终端节点服务详情页面,单击终端节点连接页签,找到目标终端节点,单击目标终端节点前的图标。
在展开的可用区详细信息中选择目标可用区,在操作列根据以下情况单击断开服务资源。
在平滑替换场景中,需要先单击断开旧服务资源后,再单击断开服务资源。
在强制迁移或者未迁移过可用区服务资源场景中,直接单击断开服务资源。
说明当迁移方式为平滑迁移时,在可用区中会展现新的终端节点网卡和旧的终端节点网卡。
在是否断开旧服务资源?对话框,单击确认断开。
删除服务资源
删除服务资源后,专有网络私网访问终端节点服务中该服务资源的功能将中断,请谨慎操作。
登录终端节点服务控制台。
在顶部菜单栏,选择终端节点服务的地域。
在终端节点服务页面,单击目标终端节点服务的实例ID。
在终端节点服务详情页面的服务资源区域,找到目标服务资源,根据不同情况进行操作。
当服务资源没有被任何终端节点可用区关联时:
在目标服务资源操作列单击删除。
在移除服务资源对话框,单击确定。
当服务资源被终端节点可用区关联时:
在目标服务资源操作列单击替换资源。
在替换服务资源对话框,完成以下配置,单击确定。
配置项
说明
迁移方式
根据业务需要选择平滑迁移或强制迁移。
当选择平滑迁移时,待迁移完成后,需要在操作列单击清理旧连接,旧连接清理完成后,才能删除服务资源。
当选择强制迁移时,待迁移完成后,直接删除服务资源。
选择目标服务资源
选择需要替换成为的服务资源。
选择源终端节点连接
勾选源关联的终端节点连接。
在目标服务资源操作列单击删除。
在移除服务资源对话框,单击确定。
说明当需要删除的服务资源被终端节点可用区关联时,需要先在服务资源页签的自动分配列关闭已允许的开关。
相关文档
UpdateVpcEndpointZoneConnectionResourceAttribute:修改终端节点连接可用区的服务资源。
EnableVpcEndpointZoneConnection:接受终端节点在此可用区的连接请求。
DisableVpcEndpointZoneConnection:拒绝终端节点在此可用区的连接请求。
UpdateVpcEndpointServiceResourceAttribute:修改终端节点服务资源的相关属性。
DetachResourceFromVpcEndpointService:移除终端节点服务中的服务资源。