AWS 上的负载平衡: 了解你的选择

介绍

尽管用途、平台和技术种类繁多,但大多数应用都有一些共同的需求: 它们必须保持在线并免受硬件故障的影响,必须扩展以满足需求,并且必须防止受到损害和攻击。

自从应用开始从大型计算机迁移到开放系统以来,组织就使用负载均衡器来管理应用的可扩展性和可用性。 当面临复杂的问题和更复杂的安全威胁时,负载均衡器开发了更丰富的功能集,并增加了安全和优化功能。

随着时间的推移,简单的负载均衡器已经演变成了强大的应用交付控制器(ADC)。 在世界各地,成千上万的组织依靠 ADC 来确保与我们的生活息息相关的应用的安全、快速和可用。 从紧急医疗服务和银行业务到游戏和约会,ADC 提供帮助应用程序发挥最佳性能的技术。

随着应用从传统的内部部署模型转移到云服务,它们对规模、安全性和可用性的需求并没有减少。 因此,所有云平台(无论是公共云还是私有云)都将负载均衡服务作为其核心基础设施即服务 (IaaS) 产品的一部分提供,这并不奇怪。

亚马逊网络服务 (AWS) 弹性负载均衡 (ELB) 服务可帮助组织交付数十万个应用,其中包括一些互联网上最大的应用程序。 就像内部负载均衡器增加了满足客户需求的功能一样,AWS 中的负载均衡服务也不断融入新特性和功能。

虽然 ELB 对于许多组织来说是一个很好的选择,但其他组织需要额外的功能来最好地支持其关键应用。 此外,一些企业已经部署了 ADC 和负载均衡器来扩展和管理其内部部署应用。 对于这些组织来说,在 AWS 上采用与数据中心相同的平台可以减少云迁移的时间、成本和风险。 在决定哪种负载均衡服务适合您的组织之前,让我们先看看 AWS 上提供的各种负载均衡选项。

AWS 上的负载平衡

亚马逊 Web 服务提供了主流 IaaS 提供商中最广泛的服务,涵盖了从简单的计算和块存储到高级数据库和机器学习环境的大量功能和用途。 负载均衡器是许多 AWS 客户架构的一个关键组件,其中 AWS 提供两种不同的服务(均称为“弹性负载均衡”)用于虚拟私有云 (VPC) 环境。

application负载均衡器

亚马逊的application负载均衡器 (ALB) 在​​ AWS 云上提供负载均衡、健康监控和基于 URL 的请求路由。 ALB 提供 HTTP 和 HTTPS 协议负载均衡,通过从其中一项 AWS 证书管理服务加载的客户 SSL 证书,还支持负载均衡 WebSocket 流量。 此外,ALB 允许自动扩展后端弹性计算云 (EC2)服务器资源:当流量需求增加时,ALB 可以触发部署额外的服务器,然后在需求减少时将其删除。

ALB 服务还可以扩展以应对额外的负载。 随着应用网络流量的增加,将创建额外的 ALB 实例并将其注册到 DNS,然后使用 DNS 循环将流量分配到 ALB 实例。 为了在突然的工作负载下获得最佳性能,建议预热 ALB 实例,因为新实例的启动时间可能为一到七分钟。

ALB 可以通过 Web 控制台、CLI、API、云形成模板 (CFT) 以及许多自动化工具(例如 Ansible)进行部署。

网络负载均衡器

AWS 弹性负载均衡系列的最新成员是网络负载均衡器 (NLB)。 与“经典”负载均衡器一样,它在第 4 层运行,并提供基于连接的负载均衡以及网络层和应用程序层健康检查。 NLB 旨在有效应对流量高峰和大量连接。 此外,NLB 允许目标为 RFC 1918 私有 IP 地址以及 EC2 实例。 自动扩展、自我扩展和部署选项与 ALB 类似。

传统负载均衡器

AWS 仍然提供其“经典”弹性负载均衡器,它支持 TCP 流量的基本第 4 层负载均衡,但不支持第 7 层流量平衡或控制。 自动扩展、自我扩展和部署选项与 ALB 类似。

F5 BIG-IP 虚拟 ADC

F5® BIG-IP® ADC 平台代表了轻量级 AWS 经典负载均衡器的负载均衡频谱的另一端。 BIG-IP 拥有一套能够解决大量安全性、应用优化和可用性挑战的功能,能够解决问题并管理应用流量,而这是简单的解决方案无法做到的。

BIG-IP 提供全面的应用流量管理,包括全面的流量检查、控制和操作。 这扩展到应用层请求和响应,从而实现数据丢失预防和服务器响应内容操作。 事实证明,此功能对于数千个组织来说是一种快速、可靠且非常宝贵的解决问题的工具。 此外,对应用流量进行全面的程序化检查和处理为开发人员提供了额外的架构层,以在关键的战略控制点上增强应用行为。

BIG-IP 与 ELB:管理上的差异

所有这些可编程的解决问题的能力都伴随着一些需要承认的负担。 首先,BIG-IP 与 AWS 经典负载均衡器和 ALB 在不同的基础设施级别运行。 BIG-IP 作为 EC2 实例部署在您的 VPC 内,这既有优点也有缺点。 作为 VPC 的一部分,ADC 能够有效地管理可用区域内所有组件之间的流量,并让您能够显著控制 VPC 中组件之间的通信。

同时,它还会创建额外的 EC2 实例来管理和维护。 尽管配置起来很容易,但关键任务组件的高可用性现在成为了您的责任。 就软件更新和常规管理而言,底层平台的管理不是由 AWS 负责,而是由客户负责,而新功能则是通过发布到 AWS Marketplace 的版本提供的,而不是本质上无缝的服务升级。

最后,BIG-IP 既可以按需扩展,也可以自动扩展应用服务器实例,但与使用核心 AWS 服务相比,几乎不可避免的是,更多的配置工作将落在客户身上。

AWS 上的负载平衡
哪种负载均衡器适合我?

为您的组织选择正确的解决方案本质上取决于您的应用和平台需求。 一些应用和用例非常适合 AWS ELB,而其他应用程序和用例则需要 BIG-IP 的高级功能。

AWS 弹性负载平衡

ALB 专为需要简单负载均衡和一些基本 URI 到目的地映射规则的应用而设计。 ALB将满足许多AWS原生应用的基本流量分发和扩展服务。 当开发人员或应用供应商能够及时修复安全或功能问题(或者总体安全风险较低)时,ALB 是一个显而易见的选择。

对于使用其他 TCP 协议且需要强大但简单的负载均衡服务的类似应用,经典负载均衡器通常就足够了。

BIG-IP 负载均衡

在其他用例中,组织可能更愿意利用 AWS 上功能齐全的 ADC 的强大功能。 在 AWS 上使用 BIG-IP 的一些好处包括:

  • 提高安全性
  • 加强交通管制
  • 流量优化
  • 真正的应用层可编程性

BIG-IP 的平台架构让您完全了解并控制应用流量。 凭借丰富的功能,AWS 环境中的 BIG-IP 实例为您提供了强大的工具包来解决应用性能、安全性或可用性问题。 BIG-IP 可以将单个应用层请求定向到任何可路由资源,从本地 EC2 实例或另一个云中的服务器实例到基于 API 的服务或本地设备。

例如,ALB 可以根据请求的 URL 将流量引导至后端资源,但如果您需要根据更复杂的特征(例如设备类型、连接速度或客户端位置)来引导流量,则 BIG-IP 更适合执行此任务。

当企业应用迁移到云端或开发人员无法随时缓解应用漏洞或行为问题时,这种先进的解决问题能力变得非常重要。 当您的应用需要紧急保护、在新的客户端类型(甚至客户端操作系统更改)下出现故障或在某些请求上崩溃时,BIG-IP 通常提供快速、简单且可靠的修复。

另一个重要因素是需要数据中心和云之间的一致性。 成千上万的组织依靠 BIG-IP 设备在其数据中心提供关键应用。 AWS BIG-IP 虚拟版在 AWS 上提供的应用层服务与数据中心中的物理 BIG-IP 相同。 使用 BIG-IP VE,组织可以更快、更便宜、更有信心地迁移应用,同时员工可以将他们的再培训工作重点放在其他地方,并保持组织对 BIG-IP 的知识和投资。

部署选项

作为原生服务,部署 AWS ELB 就像勾选一个框一样简单。 在 AWS 上启动并运行 BIG-IP VE 涉及使用公用事业计费或自带许可模型从 Amazon Marketplace 部署实例。 可以手动管理部署 BIG-IP 映像,也可以使用 AWS CFT 等自动化选项进行管理,其中 F5 提供了许多完全支持的模板(以及一些“实验性”模板)。 这些可从F5 Github 存储库获得,其中还包含 Python SDK 和其他工具。 F5 DevCentral 存储库提供了其他社区支持的部署工具、剧本和文档。

结论

AWS ELB 和 F5 BIG-IP 都为在 AWS 上部署应用的组织提供了极具吸引力的价值。 了解何时何地可能需要更多的控制、安全性或可编程性,可以​​帮助您选择正确的解决方案来支持云中的应用和业务。

2017 年 11 月 3 日发布
  • 分享至 Facebook
  • 分享到X
  • 分享至 Linkedin
  • 分享至电子邮件
  • 通过 AddThis 分享

通过 F5 进行连接

F5 实验室

最新的应用威胁情报。

DevCentral

F5 社区,提供讨论论坛和专家文章。

F5 新闻中心

新闻、F5 博客等等。