什么是 Amazon EC2 Auto Scaling? - Amazon A EC2 uto Scaling

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

什么是 Amazon EC2 Auto Scaling?

Amazon A EC2 uto Scaling 可帮助您确保有正确数量的亚马逊EC2实例可用来处理应用程序的负载。您可以创建EC2实例集合,称为 Auto Scaling 组。您可以指定每个 Auto Scaling 组中的最小实例数,Amazon A EC2 uto Scaling 可确保您的组永远不会低于此大小。您可以指定每个 Auto Scaling 组中的最大实例数,Amazon A EC2 uto Scaling 可确保您的组永远不会超过此大小。如果您在创建组时或之后的任何时候指定所需的容量,Amazon A EC2 uto Scaling 可确保您的组拥有这么多的实例。如果您指定扩展策略,那么 Amazon A EC2 uto Scaling 可以在应用程序需求增加或减少时启动或终止实例。

例如,以下 Auto Scaling 组的最小大小为四个实例,所需容量为六个实例,最大大小为十二个实例。您制定的扩展策略是按照您指定的条件,在最大最小实例数范围内调整实例的数量。

中一个 Auto Scaling 组的基本架构图VPC。

Amazon A EC2 uto Scaling 的特点

使用 Amazon A EC2 uto Scaling,您的EC2实例会被组织为 Auto Scaling 组,因此可以将其视为逻辑单元进行扩展和管理。Auto Scaling 组使用启动模板(或启动配置)作为其EC2实例的配置模板。

以下是 Amazon A EC2 uto Scaling 的主要功能:

监控正在运行的实例的运行状况

Amazon A EC2 uto Scaling 会使用运行状况检查自动监控您的实例的运行EC2状况和可用性,并替换已终止或受损的实例以保持所需的容量。

自定义运行状况检查

除了内置的运行状况检查外,您还可以定义特定于您的应用程序的自定义运行状况检查,以验证其是否按预期响应。如果某个实例未通过自定义运行状况检查,则会自动替换该实例以保持所需的容量。

在可用区域之间平衡容量

您可以为 Auto Scaling 组指定多个可用区,随着组的扩展,Amazon A EC2 uto Scaling 会在可用区域之间均衡您的实例。这可以保护您的应用程序免受单一位置故障的影响,从而提供高可用性和弹性。

多种实例类型和购买选项

在一个 Auto Scaling 组中,您可以启动多种实例类型和购买选项(竞价型和按需实例),从而允许您通过竞价型实例的使用来优化成本。您还可以将预留实例和 Savings Plan 折扣与组中的按需实例结合使用,从而享受这些折扣。

自动替换竞价型实例

如果您的组包含竞价型实例,则在您的竞价型实例中断时,Amazon A EC2 uto Scaling 可以自动请求替换竞价型容量。通过容量再平衡,Amazon A EC2 uto Scaling 还可以监控并主动替换中断风险较高的竞价型实例。

负载均衡

您可以使用 Elastic Load Balancing 负载平衡和运行状况检查来确保将应用程序流量均匀分配到运行状况良好的实例。无论何时启动或终止实例,Amazon A EC2 uto Scaling 都会自动向负载均衡器注册和注销这些实例。

可扩展性

Amazon A EC2 uto Scaling 还为您提供了多种扩展 Auto Scaling 群组的方法。使用 auto scaling 可以增加容量以处理峰值负载,并在需求较低时移除容量,从而保持应用程序可用性并降低成本。您也可以根据需要手动调整 Auto Scaling 组的大小。

实例刷新

实例刷新功能提供了一种机制,可在您更新模板AMI或启动模板时以滚动方式更新实例。您还可以使用分阶段的方法(称为金丝雀部署)在一小部分实例上测试新模板AMI或启动模板,然后再将其推广到整个群组。

生命周期钩子

生命周期挂钩对于定义在新实例启动时或实例终止之前调用的自定义操作非常有用。此功能对于构建事件驱动架构特别有用,但它也可以帮助您在实例的整个生命周期中对其进行管理。

Support 支持有状态工作负载

生命周期挂钩还提供了一种在关闭时保持状态的机制。为确保有状态应用程序的连续性,您还可以使用缩减保护或自定义终止策略来防止进程长时间运行的实例提前终止。

有关 Amazon A EC2 uto Scaling 优势的更多信息,请参阅Auto Scaling 为应用程序架构带来的好处

亚马逊 A EC2 uto Scaling 的定价

Amazon A EC2 uto Scaling 不收取任何额外费用,因此您可以轻松试用,看看它如何使您的 AWS 架构受益。您只需为使用的 AWS 资源(例如EC2实例、EBS卷和 CloudWatch 警报)付费。

开始使用

首先,请完成创建您的第一个 Auto Scaling 组教程以创建 Auto Scaling 组,并了解该组中的实例终止时该组的响应情况。

使用 Auto Scaling 组

您可以通过下面的任何一种方式来创建、访问和管理 Auto Scaling 组:

  • AWS Management Console – 提供了可用来访问 Auto Scaling 组的 Web 界面。如果您已经注册了 AWS 账户,则可以通过以下方式访问您的 Auto Scaling 群组:登录 AWS Management Console,使用导航栏上的搜索框搜索 Auto Scaling 群组,然后选择 Aut o Scaling 群组

  • AWS Command Line Interface (AWS CLI) — 为各种各样的用户提供命令 AWS 服务,并在 Windows、macOS 和 Linux 上受支持。要开始使用,请参阅 准备使用 AWS CLI。有关更多信息,请参阅 AWS CLI 命令参考中的弹性伸缩

  • AWS Tools for Windows PowerShell— 为那些在 PowerShell 环境中编写脚本的用户提供一系列 AWS 产品的命令。要开始使用,请参阅 AWS Tools for Windows PowerShell 用户指南。有关更多信息,请参阅 AWS Tools for PowerShell Cmdlet 参考

  • AWS SDKs— 提供特定于语言的API操作并处理许多连接细节,例如计算签名、处理请求重试和处理错误。有关更多信息,请参阅AWS SDKs

  • 查询 API-提供您使用HTTPS请求调用的低级API操作。使用查询API是最直接的访问方式 AWS 服务。但它需要您的应用程序处理低级别的详细信息,例如生成哈希值以签署请求以及处理错误。有关更多信息,请参阅 Amazon A EC2 uto Scaling API 参考

  • AWS CloudFormation— 支持使用 CloudFormation 模板创建 Auto Scaling 组。有关更多信息,请参阅 使用 AWS CloudFormation创建 Auto Scaling 组

要以编程方式连接到 AWS 服务,请使用终端节点。有关调用 Amazon A EC2 uto Scaling 的终端节点的信息,请参阅 Amazon A EC2 uto Scaling AWS 一般参考终端节点中的终端节点和ARNs终端节点中的中国亚马逊网络服务终端节点和配额