# huaweicloud-solution-build-a-highly-available-seven-layer-load-balancer **Repository Path**: HuaweiCloudDeveloper/huaweicloud-solution-build-a-highly-available-seven-layer-load-balancer ## Basic Information - **Project Name**: huaweicloud-solution-build-a-highly-available-seven-layer-load-balancer - **Description**: 该解决方案基于开源软件Nginx+Keepalived构建,快速帮助用户在华为云弹性云服务器上完成高可用负载均衡部署。Nginx节点主备部署,提供负载均衡能力,支持HTTP/HTTPS协议,并做一些分流策略,用户可以通过主机IP、域名等快速访问业务服务器。Keepalived提供健康检查和故障转移能力,提高系统的可用性。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master-dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2022-07-14 - **Last Updated**: 2023-04-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [TOC] **解决方案介绍** =============== 该解决方案基于开源软件Nginx+Keepalived构建,快速帮助用户在华为云弹性云服务器上部署七层高可用负载均衡。Nginx节点主备部署,提供负载均衡能力,支持HTTP/HTTPS协议,用户可以通过弹性公网IP、域名等快速访问业务服务器。Keepalived提供健康检查和故障转移能力,提高系统的可用性。适用于如下场景: - 高访问量的业务 - 横向扩张系统 - 消除单点故障 - 同城容灾(多可用区容灾) 解决方案实践详情页面地址:https://www.huaweicloud.com/solution/implementations/build-a-highly-available-seven-layer-load-balancer.html **架构图** --------------- ![方案架构](./document/build-a-highly-available-seven-layer-load-balancer.jpg) **架构描述** --------------- 该解决方案会部署如下资源: 1. 创建两台Linux弹性云服务器,用于部署高可用负载均衡业务系统。 2. 创建虚拟IP,并分别绑定到两台弹性云服务器上,用于Nginx云服务器主备切换。 3. 创建弹性公网IP,并绑定到虚拟IP上,用于提供对外访问服务。 4. 在两台Linux弹性云服务器分别完成Nginx和Keepalive软件的自动安装,以及高可用负载均衡环境配置。 **组织结构** --------------- ``` lua huaweicloud-solution-build-a-highly-available-seven-layer-load-balancer ├── build-a-highly-available-seven-layer-load-balancer.tf.json -- 资源编排模板 ├── userdata ├── configure-nginx-master.sh -- 负载均衡主服务器配置文件 ├── configure-nginx-backup.sh -- 负载均衡备服务器配置文件 ├── check_nginx_status.sh -- 负载均衡主备切换配置文件 ``` **开始使用** --------------- 1、上传SSL证书 使用远程连接工具,登录两台负载均衡主备服务器,上传已有SSL证书(公钥、私钥)文件至指定目录:/etc/nginx/ssl/,可参考[上传文件到云服务器方式概览](https://support.huaweicloud.com/ecs_faq/ecs_faq_0049.html)。 图1 SSL证书 ![SSL证书](./document/readme-image-001.png) 2、配置域名解析 1.登录[华为云控制台](https://console.huaweicloud.com/console/?agencyId=084d9251a8bf46ef9c4d7c408f8b21e8®ion=cn-north-4&locale=zh-cn#/home),打开[虚拟私有云VPC](https://console.huaweicloud.com/vpc/?agencyId=084d9251a8bf46ef9c4d7c408f8b21e8®ion=cn-north-4&locale=zh-cn#/vpc/vpcs/list),单击创建资源时所选择[子网](https://console.huaweicloud.com/vpc/?agencyId=084d9251a8bf46ef9c4d7c408f8b21e8®ion=cn-north-4&locale=zh-cn#/vpc/subnets),单击“IP地址管理”,查看虚拟IP以及其绑定的弹性公网IP。 图2 虚拟IP及其绑定的公网IP ![虚拟IP及弹性公网EIP](./document/readme-image-002.png) 2.通过网站解析将SSL证书绑定的域名与虚拟IP绑定的公网IP关联,即可实现通过在浏览器中直接输入域名访问网站。具体解析流程参考[快速添加域名解析](https://support.huaweicloud.com/qs-dns/dns_qs_0002.html)。 图3 域名解析 ![域名解析](./document/readme-image-003.png) 3、在浏览器中多次使用HTTP协议或HTTPS协议访问虚拟IP绑定的弹性公网IP或者域名,即可实现轮询访问后端业务服务器。如HTTP协议使用http:// EIP、http://域名或直接输入域名,HTTPS协议使用https:// EIP,https://域名。 图4 访问高可用负载均衡环境 ![访问高可用负载均衡环境](./document/readme-image-004.png)