云服务器内容精选

  • 操作场景 MRS 3.2.0及之后的版本支持此功能,此功能用于限制集群内组件连接指定的Hive MetaStore实例,组件默认可连接所有MetaStore实例。 目前集群中支持连接MetaStore的组件有HetuEngine、Hive、Loader、Metadata、Spark2x、Flink,此功能适用于限制各组件服务端连接的MetaStore实例,支持在MetaStore中统一分配。 此功能仅限制各组件服务端访问的MetaStore实例,元数据未隔离。 暂不支持Flink,Flink任务均使用客户端配置,仍可连接所有MetaStore实例,不支持统一配置。 使用spark-sql执行任务时客户端直接连接MetaStore,隔离后需要更新客户端才可生效。 此功能仅支持同集群内隔离,HetuEngine不同集群部署的场景不支持统一配置,需要修改HetuEngine配置实现连接指定的MetaStore实例。 配置隔离时,考虑可用性,建议组件最少配置两个MetaStore实例。
  • 应用场景 使用SLB为高访问量业务进行流量分发 对于业务量访问较大的业务,可以通过SLB设置相应的分配策略,将访问量均匀的分到多个后端服务器处理。例如大型门户网站,移动应用市场等。 使用SLB消除单点故障 对可靠性有较高要求的业务,可以在SLB上添加多个后端服务器。SLB会通过健康检查及时发现并屏蔽有故障的服务器,并将流量转发到其他正常运行的后端服务器,确保业务不中断,例如官网,计费业务,Web业务等。 使用SLB跨可用区特性实现业务容灾部署 对可靠性和容灾有很高要求的业务,SLB可将流量跨可用区进行分发,建立实时的业务容灾部署。即使出现某个可用区网络故障,SLB仍可将流量转发到其他可用区的后端服务器进行处理,例如银行业务,警务业务,大型应用系统等。
  • 通过Curl命令接入集群 通过执行如下命令,测试独享型负载均衡器是否能够正常接入集群。 表3 不同集群的接入命令 集群安全模式 ELB最终对外提供的服务形态 接入集群的Curl命令 非安全 无认证 curl http://IP:9200 单向认证 curl -k --cert ./client.crt --key ./client.key https://IP:9200 双向认证 curl --cacert ./ca.crt --cert ./client.crt --key ./client.key https://IP:9200 安全+HTTP 密码认证 curl http://IP:9200 -u user:pwd 单向认证+密码认证 curl -k --cert ./client.crt --key ./client.key https://IP:9200 -u user:pwd 双向认证+密码认证 curl --cacert ./ca.crt --cert ./client.crt --key ./client.key https://IP:9200 -u user:pwd 安全+HTTPS 单向认证+密码认证 curl -k --cert ./client.crt --key ./client.key https://IP:9200 -u user:pwd 双向认证+密码认证 curl --cacert ./ca.crt --cert ./client.crt --key ./client.key https://IP:9200 -u user:pwd 表4 变量说明 变量名 说明 IP 弹性负载均衡的IP地址。 user 访问CSS集群的用户名。 pwd 用户名对应的密码。 当正常返回Elasticsearch集群信息时,表示连接成功,例如安全模式+HTTPS协议的集群对接ELB双向认证模式的返回信息如图4所示。 图4 接入集群
  • 对接负载均衡器 开启了HTTPS访问的安全模式集群不支持HTTP类型的前端协议认证,如果需要使用HTTP类型的前端协议,请变更集群的安全模式,将“安全模式”变更为“非安全模式”。 变更安全模式前,请关闭负载均衡,安全模式变更后再开启负载均衡。 登录云搜索服务管理控制台。 在“集群管理”页面选择需要对接负载均衡器的集群,单击集群名称进入集群“基本信息”页面。 在左侧菜单栏,选择“负载均衡”,打开负载均衡开关,配置负载均衡基础信息。 负载均衡器:选择已创建的负载均衡器。也可以单击“创建负载均衡器”创建一个新的负载均衡器。 委托:选择对应的委托名称。如果没有委托,需要单击“创建委托”创建一个委托,所选择的委托需要同时对ELB Administrator和ELB FullAccess权限授权。 图1 开启负载均衡 单击“确定”,进入监听器配置页面。 图2 创建监听器 在监听器配置区域,您可以单击右侧配置监听器的相关信息。 图3 配置监听器 表2 监听器的配置信息 参数 配置说明 前端协议 客户端与负载均衡监听器建立流量分发连接的协议。 根据实际业务需要选择协议。 前端端口 客户端与负载均衡监听器建立流量分发连接的端口。 9200仅举例,可以根据实际业务需要自定义。 SSL解析方式 客户端到服务器端认证方式。 根据实际业务需要选择解析方式。 服务器证书 服务器证书用于SSL握手协商,需提供证书内容和私钥。 当“SSL解析方式”选择“双向认证”时,必须配置服务器证书。 CA证书 CA证书又称客户端CA公钥证书,用于验证客户端证书的签发者。 在开启HTTPS双向认证功能时,只有当客户端能够出具指定CA签发的证书时,HTTPS连接才能成功。 当“前端协议”选择“HTTPS”时,才需要配置CA证书。 (可选)在连接方式区域,您可以单击“访问控制”后的“设置”,配置允许访问的IP地址或网段,不设置默认允许所有的IP访问。 在健康检查区域,您可以查看各个节点IP的健康检查结果,健康检查结果状态说明请参见下表: 健康检查结果 说明 正常 节点IP连接正常。 异常 节点IP连接,不可用
  • 创建独享型负载均衡器 登录弹性负载均衡管理控制台。 参考创建独享型负载均衡器,创建独享型负载均衡器。CSS集群对接独享型负载均衡器所需要关注的参数如表1所示,其他参数请根据实际需要填写。 表1 独享型负载均衡器的配置说明 参数 配置说明 取值样例 实例类型 选择“独享型”。 独享型 计费模式 性能独享型负载均衡器的收费类型。 按需计费 区域 选择CSS集群所在的区域。 - 跨VPC后端 开启跨VPC后端才能连接CSS集群。 开启 网络类型 负载均衡器对外提供服务所使用的网络类型。 IPv4私网 所属VPC 所属虚拟私有云。无论选择哪种网络类型,均需配置此项。 需要选择和CSS集群同一VPC。 - 子网 选择创建负载均衡实例的子网。无论选择哪种网络类型,均需配置此项。 需要选择和CSS集群同一子网。 - 规格 建议选择功能和性能更优的应用型规格。 应用型(HTTP/HTTPS) 小型 I
  • 应用场景 使用SLB为高访问量业务进行流量分发 对于业务量访问较大的业务,可以通过SLB设置相应的分配策略,将访问量均匀的分到多个后端服务器处理。例如大型门户网站,移动应用市场等。 使用SLB消除单点故障 对可靠性有较高要求的业务,可以在SLB上添加多个后端服务器。SLB会通过健康检查及时发现并屏蔽有故障的服务器,并将流量转发到其他正常运行的后端服务器,确保业务不中断,例如官网,计费业务,Web业务等。 使用SLB跨可用区特性实现业务容灾部署 对可靠性和容灾有很高要求的业务,SLB可将流量跨可用区进行分发,建立实时的业务容灾部署。即使出现某个可用区网络故障,SLB仍可将流量转发到其他可用区的后端服务器进行处理,例如银行业务,警务业务,大型应用系统等。
  • 通过控制台创建 登录CCE控制台,单击集群名称进入集群。 在左侧导航栏中选择“服务”,在右上角单击“创建服务”。 设置Service参数。本示例中仅列举必选参数,其余参数可根据需求参考创建LoadBalancer类型Service进行设置。 Service名称:自定义服务名称,可与工作负载名称保持一致。 访问类型:选择“负载均衡”。 选择器:添加标签,Service根据标签选择Pod,填写后单击“确认添加”。也可以引用已有工作负载的标签,单击“引用负载标签”,在弹出的窗口中选择负载,然后单击“确定”。 负载均衡器:选择弹性负载均衡的类型、创建方式。 类型:“独享型”或“共享型”,其中独享型ELB需选择“应用型(HTTP/HTTPS)”或“网络型(TCP/UDP/TLS)&应用型(HTTP/HTTPS)”,否则监听器端口将无法启用HTTP/HTTPS。 创建方式:本文中以选择已有ELB为例进行说明,关于自动创建的配置参数请参见表1。 端口配置: 协议:请选择TCP协议,选择UDP协议将无法使用HTTP/HTTPS。 服务端口:Service使用的端口,端口范围为1-65535。 容器端口:工作负载程序实际监听的端口,需用户确定。例如nginx默认使用80端口。 监听器前端协议:本例中Service使用HTTP/2需选择开启HTTPS。当选择独享型负载均衡器类型时,需包含“应用型(HTTP/HTTPS)”方可支持配置HTTP/HTTPS。 监听器配置: SSL解析方式: 单向认证:仅进行服务器端认证。如需认证客户端身份,请选择双向认证。 双向认证:双向认证需要负载均衡实例与访问用户互相提供身份认证,从而允许通过认证的用户访问负载均衡实例,后端服务器无需额外配置双向认证。 CA证书:SSL解析方式选择“双向认证”时需要添加CA证书,用于认证客户端身份。CA证书又称客户端CA公钥证书,用于验证客户端证书的签发者;在开启HTTPS双向认证功能时,只有当客户端能够出具指定CA签发的证书时,HTTPS连接才能成功。 服务器证书:使用HTTPS协议时需要选择一个服务器证书。如果当前无可选证书,需前往弹性负载均衡控制台进行创建,详情请参见创建证书。 SNI:选择添加SNI证书,证书中必须包含域名。如果当前无可选证书,需前往弹性负载均衡控制台进行创建,详情请参见创建证书。 高级配置:单击“添加自定义容器网络配置”,选择“开启HTTP/2”,并将状态设置为“开启”。 图1 开启HTTP/2 单击“确定”,创建Service。
  • 创建LoadBalancer类型Service 登录CCE控制台,单击集群名称进入集群。 在左侧导航栏中选择“服务”,在右上角单击“创建服务”。 设置参数。 Service名称:自定义服务名称,可与工作负载名称保持一致。 访问类型:选择“负载均衡”。 命名空间:工作负载所在命名空间。 服务亲和:详情请参见服务亲和(externalTrafficPolicy)。 集群级别:集群下所有节点的IP+访问端口均可以访问到此服务关联的负载,服务访问会因路由跳转导致一定性能损失,且无法获取到客户端源IP。 节点级别:只有通过负载所在节点的IP+访问端口才可以访问此服务关联的负载,服务访问没有因路由跳转导致的性能损失,且可以获取到客户端源IP。 选择器:添加标签,Service根据标签选择Pod,填写后单击“确认添加”。也可以引用已有工作负载的标签,单击“引用负载标签”,在弹出的窗口中选择负载,然后单击“确定”。 IPv6:默认不开启,开启后服务的集群内IP地址(ClusterIP)变为IPv6地址,具体请参见如何通过CCE搭建IPv4/IPv6双栈集群?。该功能仅在1.15及以上版本的集群创建时开启了IPv6功能才会显示。 负载均衡器:选择弹性负载均衡的类型、创建方式。 ELB类型可选择“独享型”或“共享型”,独享型ELB还可以根据支持的协议类型选择“网络型(TCP/UDP/TLS)”、“应用型(HTTP/HTTPS)”或“网络型(TCP/UDP/TLS)&应用型(HTTP/HTTPS)”。 创建方式可选择“选择已有”或“自动创建”。不同创建方式的配置详情请参见表1。 当集群使用共享VPC时,不支持自动创建共享型ELB。 表1 ELB配置 创建方式 配置 选择已有 仅支持选择与集群在同一个VPC下的ELB实例。如果没有可选的ELB实例,请单击“创建负载均衡器”跳转到ELB控制台创建。 自动创建 实例名称:请填写ELB名称。 企业项目:该参数仅对开通企业项目的企业客户账号显示。企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。 可用区(仅独享型ELB支持):可以选择在多个可用区创建负载均衡实例,提高服务的可用性。如果业务需要考虑容灾能力,建议选择多个可用区。 前端子网(仅独享型ELB支持):用于分配ELB实例对外服务的IP地址。 后端子网(仅独享型ELB支持):用于与后端服务建立连接的IP地址。 网络型规格/应用型规格/规格(仅独享型ELB支持): 弹性规格:适用于业务用量波动较大的场景,按实际使用量收取每小时使用的容量费用。v1.21.10-r10、v1.23.8-r10、v1.25.3-r10及以上版本集群支持使用弹性规格。 固定规格:适用于业务用量较为稳定的场景,按固定规格折算收取每小时使用的容量费用。 弹性公网IP:选择“自动创建”时,可配置公网带宽的计费方式及带宽大小。 资源标签:通过为资源添加标签,可以对资源进行自定义标记,实现资源的分类。您可以在TMS中创建“预定义标签”,预定义标签对所有支持标签功能的服务资源可见,通过使用预定义标签可以提升标签创建和迁移效率。 全域弹性公网(仅独享型ELB支持):选择绑定全域弹性公网IP实例,实现公网带宽资源在实例间分配与使用,控制全域弹性公网IP与公网间通信的速率。关于全域弹性公网更多信息,请参见全域公网带宽概述。 负载均衡配置:您可以单击负载均衡配置的图标配置ELB实例的参数,在弹出窗口中配置ELB实例的参数。 分配策略:可选择加权轮询算法、加权最少连接或源IP算法。 加权轮询算法:根据后端服务器的权重,按顺序依次将请求分发给不同的服务器。它用相应的权重表示服务器的处理性能,按照权重的高低以及轮询方式将请求分配给各服务器,相同权重的服务器处理相同数目的连接数。常用于短连接服务,例如HTTP等服务。 加权最少连接:最少连接是通过当前活跃的连接数来估计服务器负载情况的一种动态调度算法。加权最少连接就是在最少连接数的基础上,根据服务器的不同处理能力,给每个服务器分配不同的权重,使其能够接受相应权值数的服务请求。常用于长连接服务,例如数据库连接等服务。 源IP算法:将请求的源IP地址进行Hash运算,得到一个具体的数值,同时对后端服务器进行编号,按照运算结果将请求分发到对应编号的服务器上。这可以使得对不同源IP的访问进行负载分发,同时使得同一个客户端IP的请求始终被派发至某特定的服务器。该方式适合负载均衡无cookie功能的TCP协议。 会话保持类型:默认不启用,可选择“源IP地址”。基于源IP地址的简单会话保持,即来自同一IP地址的访问请求转发到同一台后端服务器上。 当分配策略使用源IP算法时,不支持设置会话保持。 健康检查:设置负载均衡的健康检查配置。 全局检查:全局检查仅支持使用相同协议的端口,无法对多个使用不同协议的端口生效,建议使用“自定义检查”。 自定义检查:在端口配置中对多种不同协议的端口设置健康检查。关于自定义检查的YAML定义,请参见Service指定多个端口配置健康检查。 表2 健康检查参数 参数 说明 协议 当端口配置协议为TCP时,支持TCP和HTTP协议;当端口配置协议为UDP时,支持UDP协议。 检查路径(仅HTTP健康检查协议支持):指定健康检查的URL地址。检查路径只能以/开头,长度范围为1-80。 端口 健康检查默认使用业务端口(Service的NodePort和容器端口)作为健康检查的端口;您也可以重新指定端口用于健康检查,重新指定端口会为服务增加一个名为cce-healthz的服务端口配置。 节点端口:使用共享型负载均衡或不关联ENI实例时,节点端口作为健康检查的检查端口;如不指定将随机一个端口。取值范围为30000-32767。 容器端口:使用独享型负载均衡关联ENI实例时,容器端口作为健康检查的检查端口。取值范围为1-65535。 检查周期(秒) 每次健康检查响应的最大间隔时间,取值范围为1-50。 超时时间(秒) 每次健康检查响应的最大超时时间,取值范围为1-50。 最大重试次数 健康检查最大的重试次数,取值范围为1-10。 端口配置: 协议:请根据业务的协议类型选择。Service在使用ELB提供的TLS或HTTP协议时,根据Kubernetes中定义的实现方案,需要将该参数设置为TCP并选择对应的监听器前端协议。详细说明请参见Service所用的协议。 服务端口:Service使用的端口,端口范围为1-65535。 容器端口:工作负载程序实际监听的端口,需用户确定。例如nginx默认使用80端口。 监听器前端协议:ELB监听器的前端协议,是客户端与负载均衡监听器建立流量分发连接所使用的协议。当选择独享型负载均衡器类型时,包含“应用型(HTTP/HTTPS)”方可支持配置HTTP/HTTPS;包含“网络型(TCP/UDP/TLS)”方可支持配置TLS。 健康检查:健康检查选项设置为“自定义检查”时,可以为不同协议的端口配置健康检查,参数说明请参见表2。 在创建LoadBalancer类型Service时,会自动生成一个随机节点端口号(NodePort)。 监听器配置: SSL解析方式:当监听器端口启用HTTPS/TLS时可选择SSL解析方式。 单向认证:仅进行服务器端认证。如需认证客户端身份,请选择双向认证。 双向认证:双向认证需要负载均衡实例与访问用户互相提供身份认证,从而允许通过认证的用户访问负载均衡实例,后端服务器无需额外配置双向认证。 CA证书:SSL解析方式选择“双向认证”时需要添加CA证书,用于认证客户端身份。CA证书又称客户端CA公钥证书,用于验证客户端证书的签发者;在开启HTTPS双向认证功能时,只有当客户端能够出具指定CA签发的证书时,HTTPS连接才能成功。 服务器证书:当监听器端口启用HTTPS/TLS时,必须选择一个服务器证书。如果当前无可选证书,需前往弹性负载均衡控制台进行创建,详情请参见创建证书。 SNI:当监听器端口启用HTTPS/TLS时,可以选择是否添加SNI证书。如果需要添加SNI证书,则证书中必须包含域名。如果当前无可选证书,需前往弹性负载均衡控制台进行创建,详情请参见创建证书。 如果无法根据客户端请求的域名查找到域名对应的SNI证书,则默认返回服务器证书。 安全策略:当监听器端口启用HTTPS/TLS时,支持选择可用的安全策略,更多信息请参见安全策略。 后端协议:当监听器端口启用HTTPS时,支持使用HTTP或HTTPS协议对接后端服务,默认为HTTP。当监听器端口启用TLS时,支持使用TCP或TLS协议对接后端服务,默认为TCP。 访问控制: 允许所有IP访问:不设置访问控制。 白名单:仅所选IP地址组可以访问ELB地址。 黑名单:所选IP地址组无法访问ELB地址。 高级配置: 配置 说明 使用限制 获取监听器端口号 开启后可以将ELB实例的监听端口从报文的HTTP头中带到后端云服务器。 独享型ELB实例的端口启用HTTP/HTTPS时支持配置。 获取客户端请求端口号 开启后可以将客户端的源端口从报文的HTTP头中带到后端云服务器。 独享型ELB实例的端口启用HTTP/HTTPS时支持配置。 重写X-Forwarded-Host 开启后将以客户端请求头的Host重写X-Forwarded-Host传递到后端云服务器。 独享型ELB实例的端口启用HTTP/HTTPS时支持配置。 数据压缩 开启将对特定文件类型进行压缩;关闭则不会对任何文件类型进行压缩。 Brotli支持压缩所有类型。 Gzip支持压缩的类型如下: text/xml text/plain text/css application/javascript application/x-javascript application/rss+xml application/atom+xml application/xml application/json。 独享型ELB实例的端口启用HTTP/HTTPS时支持配置。 空闲超时时间(秒) 客户端连接空闲超时时间。在超过空闲超时时间一直没有请求, 负载均衡会暂时中断当前连接,直到下一次请求时重新建立新的连接。 共享型ELB实例的端口使用UDP协议时不支持此配置。 请求超时时间(秒) 等待客户端请求超时时间。包括两种情况: 读取整个客户端请求头的超时时长,如果客户端未在超时时长内发送完整个请求头,则请求将被中断。 两个连续body体的数据包到达LB的时间间隔,超出请求超时时间将会断开连接。 仅端口启用HTTP/HTTPS时支持配置。 响应超时时间(秒) 等待后端服务器响应超时时间。请求转发后端服务器后,在等待超过响应超时时间没有响应,负载均衡将终止等待,并返回 HTTP504错误码。 仅端口启用HTTP/HTTPS时支持配置。 开启HTTP2 客户端与LB之间的HTTPS请求的HTTP2功能的开启状态。 开启后,可提升客户端与LB间的访问性能,但LB与后端服务器间仍采用HTTP1.X协议。 仅端口启用HTTPS时支持配置。 注解:LoadBalancer类型Service有一些CCE定制的高级功能,通过注解annotations实现,具体注解的内容请参见使用Annotation配置负载均衡。 单击“确定”,创建Service。
  • 约束与限制 CCE中的负载均衡(LoadBalancer)访问类型使用弹性负载均衡 ELB提供网络访问,存在如下产品约束: 自动创建的ELB实例建议不要被其他资源使用,否则会在删除时被占用,导致资源残留。 v1.15及之前版本集群使用的ELB实例请不要修改监听器名称,否则可能导致无法正常访问。 创建Service后,如果服务亲和从集群级别切换为节点级别,连接跟踪表将不会被清理,建议用户创建Service后不要修改服务亲和属性,如需修改请重新创建Service。 当服务亲和设置为节点级别(即externalTrafficPolicy为local)时,集群内部可能使用ELB地址访问不通,具体情况请参见集群内无法访问Service的说明。 CCE Turbo集群(云原生2.0网络模型)中,仅当Service的后端对接使用主机网络(HostNetwork)的Pod时,亲和级别支持配置为节点级别。 独享型ELB仅支持1.17及以上集群。 独享型ELB规格必须支持网络型(TCP/UDP),且网络类型必须支持私网(有私有IP地址)。如果需要Service支持HTTP,则独享型ELB规格需要为网络型(TCP/UDP)和应用型(HTTP/HTTPS)。 使用CCE集群时,如果LoadBalancer类型Service的服务亲和类型为集群级别(Cluster),当请求进入到集群时,会使用SNAT分发到各个节点的节点端口(nodeport),不能超过节点可用的nodeport数量,而服务亲和为节点级别(Local)则无此约束。使用CCE Turbo集群时,如果是使用共享型ELB依然有此约束,而独享型ELB无此约束,建议使用CCE Turbo时配合使用独享型ELB。 集群服务转发模式为IPVS时,不支持配置节点的IP作为Service的externalIP,会导致节点不可用。 IPVS模式集群下,Ingress和Service使用相同ELB实例时,无法在集群内的节点和容器中访问Ingress,因为kube-proxy会在ipvs-0的网桥上挂载LB类型的Service地址,Ingress对接的ELB的流量会被ipvs-0网桥劫持。建议Ingress和Service使用不同ELB实例。
  • 操作场景 负载均衡(LoadBalancer)类型的服务可以通过弹性负载均衡(ELB)从公网访问到工作负载,与弹性IP方式相比提供了高可靠的保障。负载均衡访问方式由公网弹性负载均衡服务地址以及设置的访问端口组成,例如“10.117.117.117:80”。 在访问负载均衡类型的服务时,从ELB过来的流量会先访问到节点,然后通过Service转发到Pod。 图1 负载均衡(LoadBalancer) 在使用CCE Turbo集群 + 独享型ELB实例时,支持ELB直通Pod,使部署在容器中的业务时延降低、性能无损耗。 从集群外部访问时,从ELB直接转发到Pod;集群内部访问可通过Service转发到Pod。 图2 ELB直通容器
  • 为什么100或214开头的IP在频繁访问后端服务器? 共享型负载均衡实例以100.125.0.0/16网段中的IP作为源地址,向后端服务器转发前端业务流量及发起健康检查探测(如果您已开启健康检查)。 所以这些100.125开头的IP为弹性负载均衡服务与后端服务器通信所使用的内部IP,为了保证您的共享型负载均衡实例可正常提供服务,请确保后端服务器的安全策略已放通100.125.0.0/16网段。 如果共享型负载均衡实例所在区域已无100.125.0.0/16网段可供使用,将启用214.0.0.0/8网段中的IP作为源IP转发业务流量及发起健康检查探测。 父主题: 后端服务器
  • 如何检查ELB请求不均衡? 检查是否开启了会话保持。如果配置了会话保持,而客户端的个数又比较少时,很容易导致不均衡。 检查后端云服务器的健康检查状态是否正常,特别要关注下是否有健康检查状态一会正常一会异常的情况。健康检查异常或者状态切换都会导致流量不均衡。 检查负载均衡算法是否是源IP算法。此时同一个IP发过来的请求都会分发到同一个后端,导致流量不均衡。 后端服务是否开启了TCP keepalive保持长连接。如果开启,则有可能因为长连接上的请求数不同导致流量不均衡。 将云服务器添加到ELB后端时是否设置了权重,权重不同,分发的流量也不同。 一般情况下,影响负载均衡分配的因素包括分配策略、会话保持、长连接、权重等。换言之,最终是否均匀分配不仅与分配策略相关,还与使用的长短连接、后端的性能负载等相关。 父主题: 异常检查
  • 后端服务器可以反过来访问ELB吗? 通常情况,不建议同一台服务器既作为后端服务器又作为客户端的业务场景。 如果您有特殊业务需求,请谨慎选择方案。 公网通信:如果后端服务器绑定了公网IP地址,可以访问ELB的公网IP地址。 私网通信: 七层监听器支持后端服务器作为客户端访问ELB。 如果四层监听器开启“获取客户端IP”功能,不支持后端服务器作为客户端访问ELB。 如果四层监听器未开启“获取客户端IP”,支持后端服务器作为客户端访问ELB。 如果ELB开启“跨VPC后端”功能,“获取客户端IP”功能将失效,支持后端服务器作为客户端访问ELB。 父主题: 功能支持
  • 检查后端服务器路由 请检查是否手动修改了后端服务器内部的路由,查看主网卡(比如eth0)上是否配置默认路由,默认路由是否修改。如果默认路由更改,可能导致健康检查报文无法到达后端服务器。 您可以在后端服务器上通过以下命令查看您的默认路由是否指向网关(经过ELB转发属于跨网段访问,三层通信需要配置默认路由指向网关)。 ip route 或 route -n 正常的回显如图5所示。 图5 默认路由指向网关示例 图6 默认路由未指向网关示例 如果回显中没有像图5中的第一条路由信息,或者路由指向的IP的不是后端服务器所在VPC子网的网关,请您配置默认路由指向网关。
  • 检查后端服务器是否正常 如果后端服务器的操作系统为Windows,请通过浏览器直接访问https://后端服务器的IP : 健康检查配置的端口。如果返回码为2xx或3xx,则表示后端服务器正常。 您可以在后端服务器上通过以下命令查看后端服务器的健康检查端口是否被健康检查协议正常监听。 netstat -anlp | grep port 回显中包含健康检查端口信息并且显示LISTEN,则表示后端服务器的健康检查端口在监听状态,如图1中表示880端口被TCP进程所监控。 如果您没有配置健康检查端口信息,默认和后端服务器业务端口一致。 图1 后端服务器正常被监听的回显示例 图2 后端服务器没有被监听的回显示例 如果健康检查端口没有在监听状态(后端服务器没有被监听),您需要先启动后端服务器上的业务,启动业务后再查看健康检查端口是否被正常监听。 如果是HTTP健康检查,请您在后端服务器上执行以下命令查看回显中返回的状态码。 curl 后端服务器的私有IP:健康检查端口/健康检查路径 -iv HTTP健康检查是ELB向后端服务器发起GET请求,当获取到以下所列的响应状态码,认为服务器是正常状态。 对于TCP的监听器,HTTP健康检查正常返回状态码是200。 对于共享型ELB:HTTP健康检查正常返回状态码是200、202或者401。 图3 后端服务器异常的回显示例 图4 后端服务器正常的回显示例 如果HTTP健康检查异常,除了检查健康检查路径外,建议您将配置的HTTP健康检查修改为TCP健康检查。操作如下: 在监听器界面,修改目标监听器,在配置参数里选择已有TCP健康检查的后端服务器组,或者选择新创建TCP健康检查的后端服务器组。配置完成之后,几十秒后去查看健康检查状态是否恢复正常。