什么是 Amazon A EC2 uto Scaling? - Amazon A EC2 uto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

什么是 Amazon A EC2 uto 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 可以在应用程序需求增加或减少时启动或终止实例。

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

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 会在可用区域之间均衡您的实例。这可以保护您的应用程序免受单一位置故障的影响,从而提供高可用性和故障恢复能力。

多种实例类型和购买选项

在单个自动扩缩组内,您可以启动多种实例类型和购买选项(竞价型实例和按需型实例),从而能够通过竞价型实例使用量优化成本。您还可以将预留实例和节省计划折扣与组中的按需型实例结合使用,从而享受这些折扣。

自动替换竞价型实例

如果您的组包含竞价型实例,则在您的竞价型实例中断时,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 群组的方法。使用自动扩缩可以增加容量以处理峰值负载,并在需求较低时移除容量,从而保持应用程序可用性并降低成本。您也可以根据需要手动调整自动扩缩组的大小。

实例刷新

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

生命周期钩子

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

支持有状态的工作负载

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

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

亚马逊 A EC2 uto Scaling 的定价

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

开始使用

要开始使用,请学完创建您的第一个自动扩缩组教程,以创建一个自动扩缩组并了解它在该组中的实例终止时如何进行响应。

使用 Auto Scaling 组

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

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

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

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

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

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

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

要以编程方式连接到 Amazon Web Services 服务,请使用终端节点。有关调用 Amazon A EC2 uto Scaling 的 ,以及中国亚马逊网络服务入门 Amazon