NLB快速实现IPv4服务的负载均衡

news2024/11/16 13:56:03

阿里云网络型负载均衡NLB(Network Load Balancer)支持TCP、UDP和TCPSSL协议,提供了强大的四层负载均衡能力。

为了实现IPv4服务的负载均衡,需要快速创建一个NLB实例,并将来自客户端的访问请求转发至后端服务器。

操作流程

第一步,准备工作

搭建负载均衡服务前,需要根据业务需求规划NLB实例的地域,创建专有网络VPC和云服务器ECS实例等。

1)已经规划了NLB实例的地域。

确保ECS实例的地域和NLB实例的地域相同,并且ECS实例与NLB实例属于同一个VPC。

建议将ECS实例部署在不同的可用区内,提高业务的可用性。

2)已经创建了VPC。

创建NLB实例前,确保实例所选可用区的交换机中预留了足够的可用IP。

创建新实例时会从每个指定的交换机中扣取3个IP地址,包含2个Local IP(用于与后端服务器交互并进行健康检查)和一个VIP(用于对外提供服务,创建后IP不会变化),如果IP不足会出现报错并且无法创建实例。

注意为确保NLB各项弹性能力可以使用,建议在NLB实例所在的每个交换机内预留至少8个IP地址。

3)已经在VPC中创建了2台ECS实例。

ECS01和ECS02实例作为NLB实例的后端服务器,且在ECS01和ECS02实例中部署nginx。

第二步,创建NLB实例

使用负载均衡服务时,需要先创建一个NLB实例,每一个NLB实例代表一个负载均衡服务实体,用于接收来自客户端的请求,并将请求分发至后端服务器。

1)登录“网络型负载均衡NLB控制台”。

2)在顶部菜单栏,选择NLB实例所属的地域。

 

3)在“实例”页面,单击“创建网络型负载均衡”。

 

4)在网络型负载均衡(按量付费)购买页面,完成以下配置。

地域”选择实例所属的地域;

 

实例网络类型”选择实例网络类型,系统会根据选择的实例网络类型分配“私网”或“公网”服务地址;

私网:每个可用区提供一个私网IP,只能通过阿里云内部网络访问NLB,无法从互联网访问。

公网:每个可用区提供一个公网IP和一个私网IP。公网NLB默认通过弹性公网IP(EIP)提供公网能力,选择公网将会收取弹性公网IP实例费、带宽或流量费用。弹性公网IP对外提供服务,支持通过互联网访问NLB。私网IP,支持云上VPC内的ECS访问NLB。

 

VPC”选择实例所属的VPC;

 

可用区”:NLB支持多可用区部署,若当前地域支持2个及2个以上的可用区,为保障业务高可用,至少选择2个可用区,且NLB不会额外收取可用区的费用。然后分别在所选可用区内选择交换机,如果可用区下无交换机,根据控制台提示创建交换机。当实例网络类型选择公网时,需分别在所选可用区内选择EIP。

如果可用区下无EIP,可保持默认选项自动分配公网IP:系统将自动创建按量付费(按使用流量计费)的BGP多线默认安全防护EIP,并绑定至NLB实例上。

如果选择已有的EIP:可以指定已创建的EIP并绑定至新购的NLB实例上。

仅可绑定暂未加入共享带宽的按量付费(按使用流量计费)的已购EIP。

同一个NLB实例不同可用区分配的EIP类型需保持一致。

 

协议版本”选择实例的协议版本;

IPv4:表示NLB实例仅支持客户端使用IPv4地址访问。

双栈:表示NLB实例支持客户端同时使用IPv4和IPv6地址访问。

 

加入共享带宽”选择是否要加入共享带宽;

如果不选中加入共享带宽,则“公网计费方式”采用“按流量计费”。

 

如果选中加入共享带宽,则需选择共享带宽包,如果没有共享带宽包可选择,可单击“购买共享带宽包”并完成购买,然后返回NLB购买页面单击“刷新图标”,即可选择共享带宽包。建议购买后付费共享带宽。该参数仅在实例网络类型为公网时生效。

 

公网计费方式”默认选项为“按流量计费”:带宽峰值不作为业务承诺指标,仅作为参考值和带宽上限峰值。当出现资源争抢时,带宽峰值可能会受到限制。该参数仅在实例网络类型为公网,且未选择加入共享带宽时有效。

实例名称”:自定义实例名称;

 

资源组”选择所属的资源组;

 

服务关联角色”:首次创建NLB实例时,需要单击“创建服务关联角色”关联服务角色。

 

 

5)单击“立即购买”,然后根据控制台提示完成实例购买。

6)返回“实例”页面,选择对应的地域即可看到新创建的实例。

第三步,创建服务器组

需要创建服务器组并添加后端服务器来接收NLB转发的客户端请求。

1)在左侧导航栏,选择“网络型负载均衡 NLB > 服务器组”。

2)在“服务器组”页面,单击“创建服务器组”。

 

3)在“创建服务器组”对话框中,完成以下配置,然后单击“创建”。

服务器组类型”选择一种服务器组类型;

服务器类型:支持添加ECS、ENI、ECI类型的后端服务器。

IP类型:支持添加IP类型的后端服务器。

 

服务器组名称”输入服务器组名称。

 

VPC”:从VPC下拉列表中选择一个VPC,只有该VPC下的服务器可以加入到该服务器组。

 

选择后端协议”选择一种后端协议;

 

选择调度算法”选择一种调度算法;

 

选择资源组”选择归属的资源组。

 

标签”设置标签键和标签值。

 

IPv6挂载”:开启或关闭IPv6挂载功能。

开启IPv6挂载功能后,服务器组支持挂载IPv4、IPv6类型的后端服务器。

不开启IPv6挂载功能时,服务器组仅支持挂载IPv4类型的后端服务器。

当服务器组选择的VPC未开启IPv6功能时,默认不开启IPv6挂载功能。

 

连接优雅中断”:开启或关闭连接优雅中断。

保持默认配置,即关闭连接优雅中断。

 

启用连接优雅中断后,可以在移除后端服务器或者健康检查失败后,使现有连接在一定时间内正常传输。

 

客户端地址保持”:开启或关闭客户端地址保持。

保持默认配置,即开启客户端地址保持。

开启客户端地址保持后,后端服务器可以获取客户端IP地址。

IP类型的服务器组不支持自动携带客户端源地址,在监听中搭配ProxyProtocol实现源地址获取。

 

全端口转发”:开启或关闭全端口转发。

全端口转发”“配置健康检查”“健康检查配置”保持默认配置,即关闭全端口转发,开启健康检查,“健康检查端口”选择“使用后端服务器端口”。

 

开启全端口转发,“配置健康检查”“健康检查配置”保持默认配置,即开启健康检查,“健康检查端口”选择“使用后端服务器端口”。

开启后添加后端服务器无需指定端口,NLB将按照前端请求端口转发流量至后端服务器。

当监听开启全端口功能时,后端服务器组需开启该功能。

 

第四步,配置监听

需要为实例配置监听。监听负责检查连接请求,并根据调度算法将客户端请求分发至后端服务器。

1)在左侧导航栏,选择“网络型负载均衡 NLB > 实例”。

2)在“实例”页面,单击之前创建的实例ID。

3)单击“监听”页签,在“监听”页签单击“快速创建监听”。

4)在“快速创建监听”对话框中,配置以下参数,然后单击“确定”。

选择监听协议”选择监听的协议类型;

监听端口”设置前端协议端口,即用来接收请求并向后端服务器进行请求转发的监听端口;

可以直接单击常用监听端口快捷填写,或者输入端口。

监听端口范围:1~65535。一般输入80。

转发的后端服务器组”选择服务器类型及服务器类型下的后端服务器组。一般选择之前创建的后端服务器组。

第五步,设置域名解析

NLB支持将您拥有的常用域名通过CNAME方式解析到NLB实例的公网服务域名上,可以更加方便地访问各种网络资源。

1)在左侧导航栏,选择“网络型负载均衡 NLB > 实例”。

2)在“实例”页面,复制已创建的NLB实例的DNS名称。

3)执行以下步骤添加CNAME解析记录。

登录“域名解析控制台” ——> 在“域名解析”页面单击“添加域名” ——> 在“添加域名”对话框中输入主机域名,然后单击“确认” ——> 在目标域名的“操作”列单击“解析设置” ——> 在“解析设置”页面,单击“添加记录” ——> 在“添加记录”面板,配置以下信息完成CNAME解析配置,然后单击“确认”。

注意:主机域名需已完成TXT记录验证。

在添加记录面板,配置以下信息完成CNAME解析配置:

记录类型”:在下拉列表中选择CNAME。

主机记录”:您的域名的前缀。一般输入@。

解析请求来源”选择默认。

记录值”输入域名对应的CNAME地址,即复制的NLB实例的DNS名称。

TTL”:全称Time To Live,表示DNS记录在DNS服务器上的缓存时间,一般使用默认值。

新增CNAME记录实时生效,修改CNAME记录取决于本地DNS缓存的解析记录的TTL到期时间,一般默认为10分钟。

添加时如遇添加冲突,换一个解析域名。

第六步,访问测试

测试后端服务器是否可以正常接收和处理NLB监听转发的请求。

1)获取测试访问域名:

如果设置了域名解析,使用了自有域名进行CNAME解析到NLB域名,则测试访问域名为自有域名。

如果未使用自有域名,可登录“网络型负载均衡NLB控制台”,顶部选择实例所属地域,在目标NLB实例DNS名称列复制NLB实例的域名,作为测试访问域名。

2)测试NLB可用性:

以任意一台可以访问公网的Linux客户端为例。如果未安装telnet,以CentOS系统为例可以执行命令“yum install -y telnet”安装telnet。

执行“telnet 域名 端口”命令,若收到回复报文“Connected to nlb-*********.*******.nlb.aliyuncs.com.”,则表示NLB可以将请求转发至后端服务器。

通过浏览器输入http://域名,可以正常访问,表示NLB可以将请求转发至后端服务器。

3)故障模拟:

停用ECS01服务。

客户端再次执行“telnet 域名 端口”命令,仍然收到回复报文“Connected to nlb-*********.*******.nlb.aliyuncs.com.”。

通过浏览器输入http://域名,可以正常访问,表示NLB可以将请求转发至后端服务器。

启用ECS01服务,停用ECS02服务。

客户端再次执行“telnet 域名 端口”命令,仍然收到回复报文“Connected to nlb-*********.*******.nlb.aliyuncs.com.”。

通过浏览器输入http://域名,可以正常访问,表示NLB可以将请求转发至后端服务器。

如上表明后端单台服务器故障不影响NLB可用性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1967015.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自闭症儿童能否摘帽?摘帽成功的秘诀揭秘

自闭症,这一曾经被视为不可逆转的障碍,如今在科学的进步与社会的关注下,正逐步展现出被“摘帽”的可能性。那么,自闭症儿童真的能完全摆脱这一标签,实现真正的“摘帽”吗?答案是肯定的,关键在于…

开发效率提升利器:5款支持C#语言的AI辅助编程工具

前言 在这个AI迅速发展的阶段,涌现出了一大批好用的AI辅助编程工具。AI辅助编程工具能够提高开发效率、改善代码质量、降低bug率,是现代软件开发过程中的重要助手。今天大姚给大家分享5款AI辅助编程工具(并且都支持C#语言)&#…

大屏自适应方案

1.npm下载 npm i autofit.js2.在项目中引入 import autofit from autofit.js3.init()初始化,注意:要在mounted()里

0.01 /小时,使用超算互联网https://www.scnet.cn/国产卡推理微调大模型,初体验

0.01 /小时,使用超算互联网 https://www.scnet.cn/ 国产卡推理微调大模型,初体验 官网购买算力,国产卡活动0.01 /小时,非常划算 活动地址 https://www.scnet.cn/home/subject/modular/index264.html 扫码入群,每天领算力优惠券&…

服务器集群中 IP 地址管理混乱

服务器集群为各种关键业务提供强大的计算和存储能力。但如果服务器集群的 IP 地址管理混乱会给服务的部署和维护带来影响。 服务器集群与 IP 地址的关系 服务器集群是由一组相互连接的服务器组成,共同工作以提供更高的性能、可用性和可扩展性。IP 地址则是服务器在…

软件测试面试101问(附答案)

前言 前阵子一位读者告诉我,某位大厂HR给他发了我之前做的面试题答案合集。 这个消息让我开心了一整天,因为这说明我之前做的面试题系列真的能帮助到部分测试同学,也算是侧面得到了一种认可吧。 今天写的这份面试题我之前就整理分享过&…

结合LangChain实现网页数据爬取

LangChain 非常强大的一点就是封装了非常多强大的工具可以直接使用。降低了使用者的学习成本。比如数据网页爬取。 在其官方文档-网页爬取中,也有非常好的示例。 应用场景 信息爬取。 RAG 信息检索。 实践应用 需求说明 从 ceshiren 网站中获取每个帖子的名称…

Grafana Loki 架构组件详解

在本指南中,我们将详细了解Grafana Loki架构及其组件。 在公司的分布式环境中,存储和管理来自各种系统资源的日志是一项具有挑战性的任务。为了简化这项任务,引入了一个称为日志聚合的概念,它从各种系统资源中收集、存储、管理日…

(3)基于巴法云+MQTT+微信小程序控制esp8266点灯

1、配置微信公众平台 在 微信公众平台 注册 小程序 账号,拿到小程序 appid,登录到微信公众平台后在 开发者ID 里面可以看到,长的大概是这样:wx34a2063de5yyc04b,下面导入项目的时候会用到。 然后在 服务器域名 的后面…

微信小程序_对接声网_视频会议

目录 一、开通声网账号 1.注册账号 2.新建项目 3.开启小程序服务 二、对接声网小程序 1.前提条件 2.跑通API示例项目 3.合并两个项目 三、嵌入声网web网页 1.准备html页面 2.web-view组件 开发的微信小程序项目里面有多人会议,对接声网,有两种…

洛谷 P1548 [NOIP1997 普及组] 棋盘问题 题解

题目背景 NOIP1997 普及组第一题 题目描述 设有一个NM 方格的棋盘 (1≤N≤100,1≤M≤100) 求出该棋盘中包含有多少个正方形、多少个长方形(不包括正方形)。 例如:当 N2,M3时: 正方形的个数有 8 个:即边长为 1 的正…

(附源码)Springboot 书店销售管理-计算机毕设 42172

Springboot 书店销售管理 目 录 摘要 1 绪论 1.1 研究意义 1.2选题背景 1.3springboot框架介绍 2 书店销售管理系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据流程 3.3.2 业务流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分析…

PCB电路板散热的技巧

对于电子设备来说,工作时都会产生一定的热量,从而使设备内部温度迅速上升,如果不及时将该热量散发出去,设备就会持续的升温,器件就会因过热而失效,电子设备的可靠性能就会下降。 因此,对电路板…

独立站转化率优化移动端篇丨出海笔记操盘手面对面精华

关于独立站转化率优化,其实有专业的术语叫做CRO——conversion rate optimize。其实这是个很大很大的话题。里面其实包括站站外和站内的两部分,站外不用多说了比如就是广告,或者是其他的流量渠道等等,站内优化是我们今天要讲的重点…

springboot高校科研成果管理系统-计算机毕业设计源码48574

摘要 随着科研规模和复杂度的增加,管理科研成果、经费申请等方面变得愈发困难,需要系统化的管理工具进行支持。并且科研活动产生的数据量庞大,也越来越来越多的成果涌现,需要有效的数据管理系统来对高校科研成果进行处理、审核和发…

记录|如何统一管理多个同一个对象?

目录 前言一、对象就用对象数组管理更新时间 前言 自己的感想 一开始,自己没弄懂C# winform中的testBox是什么,导致创建多个testBox的时候要用很笨的方法来进行管理。 就是下面这种:用数组一个一个掉用里面的单独属性。 string[] str new …

操作系统之Linux相关 内存管理、虚拟内存、设计特点、网络编程模型

Linux 文章目录 LinuxLinux 内存管理Linux 虚拟内存概述虚拟地址与物理地址的映射内存分页分页的优势虚拟地址到物理地址的映射机制分级页表的缺陷段页式内存管理 Linux 信号Linux 设计特点I/O 多路复用五种 I/O 模型详解Linux 网络编程模型软链接和硬链接对比中断和异常用户态…

8G内存的Mac够用吗 ?苹果电脑内存满了怎么清理?可以有效地管理和优化你的Mac电脑内存,确保设备运行流畅

嘿,朋友们,让咱们聊聊怎么让我们的Mac小伙伴时刻保持巅峰状态吧!想象一下,每一次点击、每一次滑动,都如同初见时那般丝滑顺畅,是不是超级心动?为了这份持久的畅快体验,我强烈推荐大家…

提升教学效率,智慧校园班主任管理的下课堂功能助力

在智慧校园学工系统中,班主任管理课堂的关键在于利用系统提供的工具高效执行点名与秩序维护。班主任可以借助系统快速进行点名,自动匹配班级学生名单,简化整个流程。系统支持多样化的点名方式,包括传统手动点名、二维码签到&#…

6-2 图像卷积

互相关运算 严格来说,卷积层是个错误的叫法,因为它所表达的运算其实是互相关运算(cross-correlation),而不是卷积运算。 根据 6-1节中的描述,在卷积层中,输入张量和核张量通过互相关运算产生输…