Contents [show]
介绍
以下文章描述了如何使用ZEVENET负载平衡器设置高级负载平衡服务,以实现以下目的的高可用性: Amazon Web Services EC2基础架构。 我们将描述配置一个 ZEVENET集群 并为3个Web后端服务器配置HTTP负载平衡配置文件以实现HTTP服务的负载平衡。
AWS和ZEVENET基础架构
下图描述了我们要在AWS中使用ZEVENET Application Delivery Controller实现Web负载平衡的架构。
需要部署两个ZEVENET Application Delivery Controller,该模板在Amazon Web Services市场中可用,并且每个ZEVENET Application Delivery Controller在与Web后端服务器相同的VPC中进行配置,如上图所示,该子网带有子网。 17.32.16.0./20.
每个ZEVENET ADC实例都配置有一个接口 eth0,并且每个实例都分配给一个 弹性IP,另外一个弹性IP也通过 eth0 在 ZLB1产品 实例,该实例将用于负载均衡,如下所述:
ZLB1产品 被分配给 172.31.20.89 在eth0中,该实例将由一个实例直接访问 弹性IP 34.225.30.206
ZLB2产品 被分配给 172.31.26.237 在eth0中,该实例将由一个实例直接访问 弹性IP 54.161.240.226
一个额外的IP被分配给 ZLB1产品 并在负载均衡器中配置名称 eth0:vip1 和IP 172.31.26.47,此IP用于在此处配置一个负载平衡服务,并且是 集群服务,因此该IP一次只能在一个ZEVENET实例中工作,该实例可以管理 ACTIVE 在集群中的角色。 该内部IP被分配给一个弹性IP,客户端可以访问该弹性IP以连接到已发布的实际Web服务。
终于 后端01, 后端02 和 后端03 是具有基于Linux的Web服务器的EC2实例,这些实例是负载平衡服务的一部分,客户端在请求时会连接到该负载 http://54.144.190.17/ .
在AWS Marketplace中部署两个ZEVENET实例
让我们部署两个ZEVENET负载均衡器并按照前面所述配置它们。
转到EC2实例部分,然后按 启动实例.
1. 搜索所需的ZEVENET负载均衡器企业版AMI。 这个 AMI基于BYOL许可证 模型。 评估阶段是免费的,并且在一个月内提供了帮助,在这段时间之后,需要最终许可才能工作。
2. 选择一个 实例类型。 根据您要进行负载平衡的资源在此处选择所需的实例。 一个 t2。小 实例是很好的开始 L4个人资料,但如果您想使用 HTTP配置文件 那么我们建议至少 t2.中 实例。 但是, t2.micro 实例足以进行测试。
3. 配置 实例详细信息。 在此处选择运行新ZEVENET实例的VPC,在此配置示例中,我们将在与已配置的实际Web后端服务器相同的VPC中引入ZEVENET EC2实例。
4. 添加存储。 默认情况下,ZEVENET EC2实例至少需要12Gb的存储空间,如果您想默认激活日志,那么我们建议将此大小至少增加到20Gb。 ZEVENET不需要访问磁盘,只需保存日志即可,因此 卷类型 一般而言,这是一个不错的选择。
5. 添加标签。 如果需要,在此处配置一些描述标签。
6. 配置 安全组。 默认情况下,ZEVENET使用TCP端口444进行HTTPS Web GUI管理,并使用SSH中的TCP端口22进行命令行管理和群集。 另外,每个 虚拟端口 要求将在负载平衡器虚拟服务中使用的安全性包括在内。 我们已经配置了一个安全组,该安全组以较少限制的方式用于那些ZEVENET EC2实例,如下所示:
TYPE = All traffic Protocol = ALL Port Range = All Source = 0.0.0.0/0 Description = Allow all from all to all
创建此安全组是出于测试目的,您可以选择阻止所有端口,并且仅允许将其用于负载平衡和管理。
一旦配置助手返回到EC2实例列表,新设备便将开始部署,并且 发起 状态将显示。 然后,现在在字段中配置一个描述性名称 名称:,在我们的例子中,我们在EC2中部署的负载均衡器被命名为 ZLB1产品 和 ZLB2产品.
为ZEVENET EC2实例配置网络
ZEVENET虚拟设备部署完成后, 实例状态 正在显示 运行 模式,我们可以继续配置网络。
点击上方的右键 ZLB1产品 电器并选择 联网>管理IP地址在 管理IP地址 弹出窗口按入 分配新的IP 然后按下按钮 是的,更新,系统将为 eth0 在同一VPC中。 记住这个新IP,在我们的示例中,这个新IP将是 172.31.26.47。 系统分配了一个新IP,该IP将在将来的群集服务中用于负载平衡。
前往部分 弹性IP 并为每个ZEVENET实例分配一个新的 弹性IP。 这些将用于管理目的,而不是用于负载平衡。
在相同的 弹性IP 部分,将新IP分配给 ZLB1产品,但在这种情况下,请选择 私人IP 地址 172.31.26.47。 配置完成后 ZLB1产品 可以使用IP通过Web和SSH访问 34.225.30.206,但 ZLB2产品 可通过与IP相同的服务进行访问 54.161.240.226 和 弹性IP 54.144.190.17 分配给IP 172.31.26.47.
使用临时许可证启用ZEVENET EC2实例
一旦配置了弹性IP,就可以按以下方式访问虚拟负载均衡器:
ZLB1-prod将通过https://34.225.30.206:444用户root用户和实例ID的密码访问。
ZLB1-prod将通过IP 34.225.30.226中的ssh通过带有用户admin和私有证书文件的ssh访问,该文件是在EC2部署时配置的。
ZLB2-prod将通过https://54.161.240.226:444用户root用户和实例ID的密码访问。
ZLB2-prod将通过IP 54.161.240.226中的ssh通过带有用户admin和私有证书文件的ssh访问,该文件是在EC2部署时配置的。
如果考虑在继续之前更改主机名,请重新引导EC2实例以应用更改。
成功完成对Web GUI的访问后,您将看到两个重要值,主机名和证书密钥,这两个信息对于每个Load Balancer都是唯一的,并且与激活许可证相关,请按照以下说明在以下URL中使用此信息: https://www.zevenet.com/activate-enterprise-edition-cloud-evaluation/
填写表格后,系统会自动将许可证发送到指定的电子邮件。 请通过每个负载均衡器中的Web GUI上传收到的PEM激活许可证,完成后,Web GUI将被解锁并且所有功能均已完全启用并可以运行。
在两个节点ZLB1-prod和ZLB2-prod中执行相同的激活过程。
配置虚拟IP进行负载平衡
在上一点中,我们已经为eth0分配了另一个IP 172.31.26.47 在实例ZLB1-pro中,并且该IP已分配给一个弹性IP 54.144.190.17,现在等待在ZBL1-pro负载均衡器中进行此配置。
使用其Elastic IP通过Web界面转到ZLB1-pro负载均衡器 https://34.225.30.206:444,一旦登录,请进入导航菜单 网络>虚拟接口>创建虚拟接口,并进行以下配置:
Parent Interface = eth0 172.31.26.47
*由于EC2实例对弹性IP一无所知,因此我们需要在此处配置EC2实例的物理IP,该物理IP链接到用于负载均衡目的的公共弹性IP 54.144.190.17
Virtual Interface name = vip1
IP Address = 172.31.26.47
新闻 创建 按钮以应用配置。
现在是新的IP 172.31.26.47 有名字 eth0:vip1 已在ZLB1-pro EC2 ZEVENET负载均衡器中配置,并且可以从此VPC中的任何EC2实例ping通。
在Amazon Web Services中配置ZEVENET Cluster Service
ZEVENET负载均衡器集群适用于 有状态的主动-被动 模式,这意味着在两个节点中都配置了群集资源,但仅在 ACTIVE 节点。 当此类节点发生故障并且在其他成员中启动此角色时,需要再次访问群集资源。 由于虚拟IP也是集群资源,因此需要以某种方式宣布Amazon Web Service,即将虚拟IP配置为进行负载平衡 172.31.26.47 将通过ZLB2-prod工作。
为此,ZEVENET Cluster服务使用需要在EC2模块中配置权限的AWS客户端来管理接口,因此在启动ZEVENET Cluster服务之前,我们需要进行准备。 因此,让我们配置一个 AWS密钥 您的帐户中具有管理EC2中要在AWS命令行界面中使用的IP的权限。
转到Amazon控制台 https://console.aws.amazon.com/iam/ ,然后在导航菜单上选择 用户。 单击按钮 添加用户.
Configure a descriptive User name = aws-for-zlb
In 选择AWS访问类型 选择 程序访问 然后按下按钮 下一页:权限。 现在在 设定权限 按下部分 创建组 然后在新窗口中填写字段 团队名字 例如具有描述性的名称, 亚马逊EC2,最后,在现场 筛选政策 搜索并选择名为的策略 AmazonEC2完全访问 授予在其他EC2实例之间更改分配的IP的权限。
按下 下一页:标签 和 下一篇:复习。 最后按下 创建用户,最后一个窗口将显示 访问密钥ID 和 秘密访问密钥 对于该用户,请保存它们以备将来使用。
现在我们准备配置ZEVENET Cluster服务,因此通过分配的公共IP https://1:34.225.30.206的部分转到ZLB444-pro中的Web面板。 系统>集群 并按照示例填写表格:
AWS凭证:访问密钥和秘密密钥是前几行中已经生成的值。 区域,在此处选择ZEVENET Application Delivery控制器所部署的区域。
配置集群:
本地IP:选择eth0的IP和NIC。
远程IP:在节点ZLB0-pro中输入eth2的IP。
远程节点密码 和 确认密码:在此处输入另一个节点中ssh的根密码,默认情况下为ZLB2-pro的实例ID。
点击 产生 按钮并等待几秒钟,与此同时,运行配置的节点将采用 ACTIVE 角色(ZLB1-pro)和其他角色(ZLB2-pro)将承担 被动 作用。
至此,ZEVENET Cluster已在AWS中配置,并且可以使用了,让我们配置我们的第一个集群负载均衡服务。
为Web服务配置简单的L4负载平衡
在MyCAD中点击 软件更新 LSLB>农场>创建农场 具有以下参数。
考虑到使用的虚拟IP 172.31.26.47 是先前配置的虚拟IP,并且群集资源始终可以从 ACTIVE 节点。 按 创建 并继续。
现在在新窗口中配置 全球部分 如下图所示:
最后,配置该部分 服务内容 如所述:
使用方法 IP持续存在超时 以防您需要保证60秒的时间,以防万一您需要确保在一定时间内将相同的客户端IP连接到相同的后端。 使用以下命令配置高级运行状况检查 FarmGuardian。 使用 check_tcp 作为简单的运行状况检查,以验证每个后端都打开了TCP后端端口80。 然后,添加后端服务器的内部IP和运行真实Web服务的端口。
现在测试与 弹性IP http://54.144.190.17/ assigned to the internal IP 172.31.26.47, the connection will pass through the load balancer using the eth0:vip1 并转发到可用的后端之一。
现在是改变 ACTIVE 例如,在群集中扮演角色,则以该角色重新启动节点,几秒钟后,另一个将使用虚拟服务并再次连接到公共IP。 当前和新的客户端连接将针对相同的后端建立,但这一次是通过新的 ACTIVE 没有任何客户端中断的节点。
向负载均衡器添加新接口
出于平衡目的或任何您需要的目的,可以为负载平衡器配置更多接口。 为此,只需按照 AWS 概述的步骤向 EC2 实例添加新接口即可。 请查看 AWS 提供的文章,以更好地了解这方面的最佳实践。 https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/best-practices-for-configuring-network-interfaces.html. 在向 EC2 实例添加新接口时,ZEVENET 会自动检测这些新接口,因此您现在可以使用它来根据需要进行配置。
借助ZEVENET在AWS中享受高级负载平衡和集群功能!