AWS 自动伸缩
组织迁移到云的一个重要原因是,根据客户需求缩减办公规模,并在满足需求后进行扩展。借助 AWS 自动伸缩,个人不仅可以在单个集成的界面中维护应用程序性能,还可以以最低的成本维护这些应用程序。
AWS 自动伸缩
AWS 自动伸缩是一项帮助用户监控应用程序并自动调整容量以保持一致、可预测的性能并最大限度降低成本的服务。AWS 自动伸缩用于依赖于各种 AWS 服务进行扩展的应用程序。可以为多个 AWS 服务集中配置扩展策略。Amazon EC2 自动伸缩和应用程序自动伸缩服务可以组合并包含在 AWS 自动伸缩中。
应用程序由 AWS CloudFormation 或 AWS Elastic Beanstalk 定义。
可以自定义扩展策略以优化可用性、成本或两者兼而有之。扩展策略可以遵循性能指标(如 CPU 利用率)并添加或删除容量以保持接近指标的目标值。
AWS 自动伸缩可以预测应用程序资源需求,并根据以下方面进行容量规划:
Amazon EC2 实例和 Spot Fleet
Amazon AppStream 2.0 Fleet
Amazon ECS 任务
Amazon Aurora 副本
Amazon DynamoDB 表和索引
Amazon EMR 实例
AWS 自动伸缩的工作原理?
为每个应用程序源设计一个集成的扩展策略。
检查应用程序并构建一个根据需求添加和删除 EC2 实例的框架。
选择所需的向上或向下扩展支持。
选择要优化的内容。根据计划,根据可预测的工作负载变化来扩展应用程序。
继续跟踪扩展负载并保持一致的实例计数。
扩展计划
始终保持当前实例级别 - 使用此扩展计划,用户可以配置一个 AWS 自动伸缩组以始终保持运行实例的确切数量。
手动扩展 - 此扩展计划允许用户指定 AWS 自动伸缩组的理想容量。自动伸缩服务自行处理创建或终止实例的过程。
按需扩展 - 此扩展计划允许用户定义控制扩展策略的指标,例如 CPU 利用率、内存等。
按计划扩展 - 此扩展计划在用户可以预测应用程序流量何时增加的情况下很有用。在这种情况下,用户可以计划 AWS 自动伸缩何时执行。
AWS 自动伸缩的优势
设置各种资源的自动伸缩 - AWS 自动伸缩允许您在 AWS 管理控制台中的一个位置为各种资源(CPU、网络输入/输出)设置目标利用率水平。
可靠性 - 自动扩展高效且可靠。它也更容易在一个地方完成,并且在启动扩展时,AWS 可以向您发送警报。
改进成本管理 - 您可以根据组织的需求立即向上或向下(水平)扩展多种服务。这使您可以节省管理这些服务的成本。
AWS 自动伸缩的缺点
使用 AWS 自动伸缩没有明显的缺点。但是,在实施之前,您应该了解一些常见事项。
区域限制 - AWS 自动伸缩服务仅在一个区域内有效,并且无法跨多个区域中的资源使用。您需要在每个区域分别创建 AWS 自动伸缩。因此,如果您有一个多区域应用程序,这可能是一个挑战。
增加开发复杂性 - 集成自动伸缩可能会使管理和配置变得更加复杂。您需要额外的帮助来同步您的代码更改。
自动伸缩的功能
智能扩展策略
它持续计算最佳扩展更改,并在需要时快速添加和删除容量,以使您的指标保持在正轨上。
统一扩展
通过自动伸缩,我们可以从一个集成的界面配置所有为您的应用程序提供支持的可扩展资源的自动扩展,包括:
Amazon EC2 - 在 AWS 自动伸缩组中启动或终止 EC2 实例。
Amazon Aurora - 逐步更改为 Aurora 数据库集群配置的 Aurora 读取副本数量,以处理动态连接或负载的突然增加。
Amazon EC2 Spot Fleet - 从 Amazon EC2 Spot Fleet 启动或终止 EC2 实例,或自动替换由于成本或容量原因而中断的实例。
Amazon DynamoDB - 允许 DynamoDB 表或全局辅助索引扩展其预配置的读取和写入容量,以处理峰值负载的突然增加,而不会造成瓶颈。
Amazon ECS - 更改 ECS 服务所需的计数,以向上或向下响应负载变化。
完全托管
它会自动为扩展计划中的每个资源创建目标跟踪扩展策略,并使用您选择的扩展策略来调整每个指标的目标值。
自动资源发现
AWS 自动伸缩会过滤您的环境并识别可扩展的云资源,从而自动配置您的应用程序,因此我们无需手动识别这些资源。
预测性扩展
它预测未来的流量,包括定期发生的峰值,并提前配置适当数量的 EC2 实例以应对预期变化。
内置扩展系统
通过 AWS 自动伸缩,我们可以选择三种预定义的优化策略之一来优化性能、优化成本或实现平衡。我们还可以设置我们的目标资源利用率。
结论
AWS 自动伸缩允许您增加或减少资源以满足由于特定定义的指标和限制而产生的需求。自动伸缩使您可以轻松地在几分钟内为跨多个服务的多种资源设置应用程序扩展。AWS 自动伸缩可免费使用。CloudWatch 支持 AWS 自动伸缩,因此管理费用适用于 CloudWatch 和您的应用程序资源,例如 Amazon EC2 实例、弹性负载均衡器等。