[SEO 副标题]
本指南介绍如何使用弹性负载均衡(ELB)在异构自动扩缩组之间高效分配流量。当扩展基于 CPU 利用率或 RAM 等指标时,可能会形成热点,较小的实例达到其全部容量,而较大的实例仍未得到充分利用。使用现有的路由算法,ELB 无法按比例将请求路由到具有不同权重或大小的目标。本指南提供了一种平衡的分配方法,该方法考虑了各个目标组的容量。这样,您就可以最大限度地减少热点和超时,提高扩展阈值限制,并降低计算成本和 CO2 排放量。
请注意:[免责声明]
架构图
[架构图描述]
第 1 步
通过弹性负载均衡(ELB),使用负载均衡器 Amazon 资源名称(ARN)和侦听器 ARN 配置 AWS Lambda 函数。您可以为每个负载均衡器设置多个侦听器。
第 2 步
Lambda 函数动态定期更新每个侦听器的目标组权重(默认值:15 分钟)。
第 3 步
ELB 根据目标组的加权百分比动态路由流量。
第 4 步
定义多个同构 Amazon Elastic Compute Cloud(Amazon EC2)自动扩缩组。在单个自动扩缩组中配置功能相似的实例。
第 5 步
定义最多五个目标组。将多个自动扩缩组映射到相应的目标组。例如,您可以对基于虚拟 CPU(vCPU)的实例进行分组。
第 6 步
该图显示 ELB 侦听器对每个目标组的转发权重的示例百分比。
第 7 步
使用基于属性的实例类型选择来选择具有类似功能的实例。
第 8 步
配置 Lambda 函数以按指定间隔(例如每 5 分钟)或基于 Amazon CloudWatch 指标或 Amazon EventBridge 事件更新 ELB 目标组权重。
Well-Architected 支柱
当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。
上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。
-
卓越运营
EventBridge 按指定的间隔执行 Lambda 函数,以便您可以自动使用自动扩缩组中的异构实例。CloudWatch 监控并记录事件,例如 Amazon EC2 竞价型实例中断,您可以在竞价型实例中断仪表板中进一步配置这些事件。
-
安全性
AWS Identity and Access Management(IAM)仅授予 Lambda 修改指定 ELB ARN 和侦听器 ARN 上的侦听器权重所需的权限。通过使用最低权限原则,您可以更好地控制对 AWS 资源的访问。
-
可靠性
本指南是建立在可靠架构上的增强型优化解决方案。它使用 ELB 进行流量分配,以免出现单点故障。ELB 使用同步松耦合来避免将流量引导到过载的 Amazon EC2 实例,从而降低应用程序发生故障的可能性。因此,您可以最大限度地减少停机错误。此外,本指南使用由自动扩缩组支持的多个加权目标组。这额外增加了一层可靠性,因为即使一个自动扩缩组无法获得足够的 Amazon EC2 实例,其他自动扩缩组也可以支持入站流量,帮助您避免应用程序故障。
-
性能效率
本指南通过平衡使用较大和较小的 Amazon EC2 实例来帮助您避免异构集群中的热点。此外,AWS 最佳实践是在单个自动扩缩组中混合使用各种实例大小和类型,并使用竞价型实例作为多样化策略。但是,这种做法可能会导致利用率不均衡,因此本指南使用具有类似功能的多个自动扩缩组,并调整 ELB 侦听器转发器的权重以最大限度地提高资源利用率。
-
成本优化
-
可持续性
本指南使用自动扩缩组自动横向缩减或终止闲置资源。此外,使用多个具有类似功能的 Amazon EC2 实例的同类自动扩缩组有助于消除热点、提高利用率并减少浪费、电力和冷却。自动扩缩组中的竞价型实例利用率也会直接影响可持续性,因为这些实例消耗的能源资源与按需型实例相同,否则它们将不会被使用。
相关内容
免责声明
示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。
本指南中提及第三方服务或组织并不意味着 Amazon 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指导是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。