企业运维训练营之云上网络原理与实践课程 - 第二讲 负载均衡CLB(中)- 最佳实践

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
EMR Serverless StarRocks,5000CU*H 48000GB*H
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 课程目标了解负载均衡CLB的产品功能了解负载均衡CLB的底层架构与相关技术掌握负载均衡CLB的最佳实践熟知负载均衡CLB的常见问题与解决思路

企业运维训练营之云上网络原理与实践课程

第二讲  负载均衡CLB(中)- 最佳实践

 

视频地址:

https://developer.aliyun.com/learning/course/991/detail/14970

 

 

一、    负载均衡CLB典型使用场景

 

1.   海量访问流量分发:负载均衡SLB作为业务流量入口处理超高并发流量。

 image.png

海量访问流量分发

 

2.   多层次容灾架构:DNS跨地域部署和双AZ多活实现不同层次的业务容灾。

 image.png

多层次容灾架构

 

无论是业务上直接把域名解析为CLB地址,还是使用DNS进行轮询,通过多个A记录将流量分批转发给不同的实例,CLB在拓扑架构中都处于比较靠近入口处的设备。

 

二、    存储日志

 

开启访问日志及健康检查日志:

 image.png

 

日志存储在日志服务云产品中,通过控制台可以进行条件筛选,获得相应的结果,简单,实时,弹性。

 

三、    配置监控

 

1.  使用HTTPS监听

 

  • HTTP 1.0:增加Header、状态码,增加HEADPOST方法,默认TCP短连接;
  • HTTP 1.1:默认TCP长连接,支持Range,支持伪管道传输(Pipeline),增加了Host头;
  • HTTP 2.0:基于二进制格式,支持多路复用,全双工通信;
  • HTTP 3.0 (GQUIC):基于UDP,强制加密;

 

另外,CLB提供HTTP重定向到HTTPS的功能,部分高级功能依赖HTTPS (HTTP2WebSocket),因此建议尽可能使用HTTPS,将证书可托管在CLB

 

2.  配置报警规则

 

使用云监控配置报警规则,重点关注:

 

时序类报警:

  • 实例维度:后端不健康服务器数量;
  • 4层监听维度:丢弃连接、丢弃数据包、出入流量;
  • 7层监听维度:5xx(服务端异常)、4xx状态码(客户端异常)、XXX

 

事件类报警:

  • 7层监听:证书到期提醒(提前N)

 

3.  获取客户端真实IP

 

在不同的监听下,获取客户端真实的IP地址的方式不同,如下图:

 image.png

 

  • IPv4四层监听
  • 通过toa可直接获取到客户端真实IP
  • 可通过Proxy Protocol获取客户端真实IP

 

  • IPv6四层监听
  • 可通过Proxy Protocol获取客户端真实IP

 

  • 七层监听
  • 通过请求头中的x-forwarded-for获取客户端真实IP

 

通过toa获取客户端真实IP

image.png

 

目标IPVPC下绑定了EIPSLB,五元组如下:

120.195.13.68:12345-TCP->123.56.169.153:443

 

TCP三次握手第三个ACK包的完整十六进制dump,加粗部分即为完整的TCP Option

0000 00 16 3e 34 07 96 58 60 5f 72 1e 00 08 00 45 14

0010 00 3c ac a3 40 00 2f 06 e9 7b 64 79 b8 15 0a 19

0020 8e e1 7c da 01 bb 88 77 6a 56 ad 5c bc aa a0 10

0030 00 e5 35 62 00 00 fc 14 30 39 78 c3 0d 44 19 70

0040 09 00 c0 a8 00 5b 01 bb 01 01

 

依次为:

TCP Option Kind==252(0xfc)

长度(Kind开始算):20字节(0x14)

客户端源端口: 12345->30 39(网络字节序/大端)

客户端IP地址:120.195.13.68->78 c3 0d 44

VPC TunnelID:618521->19 70 09 00(主机字节序/小端)

vip: 192.168.0.91->c0 a8 00 5b

vport: 443->01 bb (网络字节序/大端)

 

通过Proxy Protocol获取客户端真实IP

 

五元组:120.195.13.68.34270-TCP->47.98.108.43.10086

 

0000 00 16 3e 12 90 f5 ee ff ff ff ff ff 08 00 45 00

0010 00 8c 7a b7 40 00 66 06 49 cb 78 c3 0d 44 c0 a8

0020 09 3a 85 de 01 bb 10 a9 24 18 c2 df 78 02 50 18

0030 13 88 64 6f 00 00 0d 0a Od 0a 00 Od 0a 51 55 49

0040 54 0a 21 11 00 54 78 c3 0d 44 2f 62 6c 2b 85 de

0050 27 66 03 00 04 8a 65 79 c5 04 00 3e 0o 00 00 00

0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0090 00 00 00 00 00 00 00 00 00 00

 

从加粗的第0x36个字节开始,是TCPpayload(加粗部分),接下去就是:

 

1.12个字节是Proxy Protocol的固定签名:

\x0D\x0A\x0D\x0A\x00\x0D\x0A\x51\x55\x49\x54\x0A

2.4bit的版本号,这里是0x2,意为V2的版本

3.4bitcommand,这里是0x1,意为Proxy(0x0==Local)

4.4bit的地址族,这里是0x1,意为AF_INET(IPv4),其余的为0x0// AF_UNSPEC 0x2 // AF_INET6(IPv6)0x3 //AF_UNIX

5.4bittransport protocol,提示接下去是哪一种传输层的协议,这里是0x1,意为STREAM(TCP),其余的为0x0 //UNSPEC 0x2 // DGRAM(UDP)

6.2字节表明接下去的长度,网络字节序,这里是0x0054==84,说明接下去的84字节都是PP本身的payload(斜体部分)

7.4字节的源IP78 c3 0d 44 转换成点分十进制即为120.195.13.68

8.4字节的目标IP2f 62 6c 2b 转换成点分十进制即为47.98.108.43

9.2字节的源端口,网络字节序,0x85de==34270

10.2字节的目标端口,网络字节序,0x2766==10086

 

通过请求头中的x-forwarded-for获取真实客户端IP

 

在后端ECS上抓包,打印请求头中包含以下key-value

X-Forwarded-For: 用户真实IP,代理服务器1-IP,代理服务器2-IP,……

image.png

 

 

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
9天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络:从理论到实践
【10月更文挑战第35天】在人工智能的浪潮中,深度学习技术以其强大的数据处理能力成为科技界的宠儿。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,在图像识别和视频分析等领域展现出了惊人的潜力。本文将深入浅出地介绍CNN的工作原理,并结合实际代码示例,带领读者从零开始构建一个简单的CNN模型,探索其在图像分类任务中的应用。通过本文,读者不仅能够理解CNN背后的数学原理,还能学会如何利用现代深度学习框架实现自己的CNN模型。
|
9天前
|
数据采集 网络协议 算法
移动端弱网优化专题(十四):携程APP移动网络优化实践(弱网识别篇)
本文从方案设计、代码开发到技术落地,详尽的分享了携程在移动端弱网识别方面的实践经验,如果你也有类似需求,这篇文章会是一个不错的实操指南。
24 1
|
11天前
|
弹性计算 运维
新 企业级ECS集群运维管理训练营 打卡学习领好礼
新 企业级ECS集群运维管理训练营 打卡学习领好礼
47 3
|
15天前
|
数据采集 存储 XML
Python实现网络爬虫自动化:从基础到实践
本文将介绍如何使用Python编写网络爬虫,从最基础的请求与解析,到自动化爬取并处理复杂数据。我们将通过实例展示如何抓取网页内容、解析数据、处理图片文件等常用爬虫任务。
|
30天前
|
机器学习/深度学习 人工智能 监控
深入理解深度学习中的卷积神经网络(CNN):从原理到实践
【10月更文挑战第14天】深入理解深度学习中的卷积神经网络(CNN):从原理到实践
82 1
|
12天前
|
边缘计算 5G 数据处理
5G网络能耗管理:绿色通信的实践
【10月更文挑战第30天】
32 0
|
5天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【10月更文挑战第39天】在数字化时代,网络安全和信息安全成为了我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,帮助读者更好地了解网络安全的重要性,并提供一些实用的技巧和方法来保护自己的信息安全。
15 2
|
6天前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【10月更文挑战第38天】本文将探讨网络安全与信息安全的重要性,包括网络安全漏洞、加密技术和安全意识等方面。我们将通过代码示例和实际操作来展示如何保护网络和信息安全。无论你是个人用户还是企业,都需要了解这些知识以保护自己的网络安全和信息安全。
|
5天前
|
存储 安全 网络安全
云计算与网络安全:探索云服务中的信息安全策略
【10月更文挑战第39天】随着云计算的飞速发展,越来越多的企业和个人将数据和服务迁移到云端。然而,随之而来的网络安全问题也日益突出。本文将从云计算的基本概念出发,深入探讨在云服务中如何实施有效的网络安全和信息安全措施。我们将分析云服务模型(IaaS, PaaS, SaaS)的安全特性,并讨论如何在这些平台上部署安全策略。文章还将涉及最新的网络安全技术和实践,旨在为读者提供一套全面的云计算安全解决方案。
|
5天前
|
存储 安全 网络安全
网络安全与信息安全:漏洞、加密技术与安全意识的交织
【10月更文挑战第39天】在数字化时代,网络安全与信息安全成为保护个人隐私和组织资产的重要屏障。本文将探讨网络安全中的常见漏洞、加密技术的应用以及提升安全意识的重要性。通过具体案例分析,我们将深入了解网络攻击的手段和防御策略,同时提供实用建议,以增强读者对网络安全的认识和防护能力。