AWS上的自动缩放
组织之所以转向云的重要原因之一是基于客户需求的缩小规模以及在满足该要求时的规模扩展。使用AWS自动缩放的帮助下,每个人不仅可以在单个、集中的连接点中保持应用程序执行,而且还可以以最低成本维护这些应用程序。
AWS自动缩放
AWS自动缩放是一项服务,可帮助客户监视应用程序并自动调整能力,以保持持续、可预测的性能,并在最低成本的情况下维持。 AWS自动缩放与依赖于可扩展的多个AWS服务的应用程序一起使用。多个AWS服务可以集中为一个自动缩放策略,其中包括Amazon EC2自动缩放和应用程序自动缩放服务。
应用程序由AWS CloudFormation或AWS Elastic Beanstalk定义。
缩放计划可以定制以优化可用性、成本或两者。缩放策略可以跟踪性能指标,例如CPU使用率,并将能力添加或删除以将其保持在测量目标值附近。
AWS自动缩放可以预测应用程序资源需求并制定计划容量以涵盖以下方面−
- Amazon EC2实例和Spot Fleet
-
Amazon AppStream 2.0群集
-
Amazon ECS任务
-
Amazon Aurora复制品
-
Amazon DynamoDB表和索引
-
Amazon EMR实例
AWS自动缩放的工作原理是什么?
为每个应用程序源设计一个单一的统一缩放策略。
分析应用程序并创建一个系统,根据要求添加或删除EC2实例。
选择所需的扩展或缩小服务。
选择要优化的内容。根据计划,在预计的负载变化的情况下扩展应用程序。
继续跟踪缩放负载并保持实例数量的一致计数。
缩放计划
* 始终保持当前实例级别 – 使用该缩放计划,用户可以配置AWS自动缩放组以保持运行实例的确切数量不变。
* 手动缩放 – 此缩放计划允许用户指定AWS自动缩放组的理想容量。自动缩放服务可以独自处理创建或终止实例的大多数常见方式。
* 基于需求的缩放 – 该缩放计划允许客户定义控制缩放方法的参数,如CPU使用率、内存等。
* 按计划缩放 – 在客户可以预测应用程序流量将增加的情况下,这种缩放计划非常有用。在这种情况下,客户可以安排何时执行AWS自动缩放。
AWS自动缩放的好处
* 设置各种资源的自动缩放 – AWS自动缩放允许您为AWS管理中心的单个位置设置各种资源的目标使用级别(CPU、In/Out组织)。
* 可靠性 – 自动缩放是高效可靠的。这在一个地方进行缩放也更简单,而在启动缩放时,AWS可以向您发送警报。
* 成本管理的改进 – 您可以一次性缩放多个服务(水平上/下)以符合组织的需求。这使您可以在处理这些服务时节省成本。
AWS自动扩展的缺点
使用AWS自动扩展并没有明显的缺点。但是,在实施之前,您需要了解以下一些常规事项:
- 区域限制 − AWS自动扩展服务只在一个地区内有效,跨多个地区的资源使用它是不可行的。您需要在每个区域单独创建AWS自动扩展。因此,如果您有一个多区域应用程序,这可能是一个挑战。
-
增加开发复杂性 − 添加自动扩展可能会使组织和设置更加复杂。您需要额外的帮助来同步您的代码更改。
自动扩展的特点
智能缩放方法
它不断地计算正确的缩放变化,并在需要时立即添加和删除限制以保持您的度量跟踪。
统一缩放
通过自动扩展,我们可以从一个统一的交互点为支持应用程序的所有可伸缩资源配置自动扩展,包括以下 −
- Amazon EC2 − 在AWS自动扩展集群中发送或结束EC2实例。
-
Amazon Aurora − 动态地更改为Aurora DB群集提供的Aurora读取副本数量,以处理动态连接或负载的突然增加。
-
Amazon EC2 Spot Fleets − 从Amazon EC2 Spot Fleet中发送或结束EC2实例,或自动替换因成本或容量原因而被阻止的实例。
-
Amazon DynamoDB − 允许DynamoDB表或全局辅助索引扩展其预配的读取和写入容量,以处理突发流量而不会限制。
-
Amazon ECS − 改变ECS服务所需的数量以响应负载变化。
完全管理
它自动为我们扩展计划中的每个资源创建目标跟踪缩放方法,使用我们选择的缩放方法为每个度量设置目标值。
自动资源发现
AWS自动扩展会扫描您的环境并确定可伸缩的云资源,自动缩放您的应用程序,因此我们不需要手动识别这些资源。
预测式缩放
它预测未来的流量,包括经常发生的峰值,并提前为预期的更改计划正确数量的EC2实例。
内置缩放系统
通过AWS自动扩展,我们可以选择三种预定义的优化策略来提高性能、优化成本或保持平衡。我们还可以设置目标资源使用率。
结论
AWS自动扩展使您可以根据特定定义的度量和阈值增加或减少资源。自动扩展使得在几分钟内设置各种服务中的多个资源的应用程序扩展变得轻松。AWS自动扩展是免费使用的。CloudWatch使AWS自动扩展能够正常工作,因此需要为CloudWatch和应用程序资源(例如Amazon EC2实例、Elastic Load Balancing负载平衡器等)支付服务费用。