概览
本实验展示了如何使用 Auto Scaling 来响应指定的条件,自动启动 Amazon EC2 实例。您将终止正在运行的实例并观察 Auto Scaling 如何自动创建替换实例,从而测试 Auto Scaling。
涵盖的主题
本实验结束时,您将能够:
- 创建启动模板
- 创建 Auto Scaling 组
- 测试 Auto Scaling 基础设施
- 查看 Auto Scaling 启动的结果
先决条件
本动手实验假定您熟悉 Amazon EC2 实例的启动,并已创建和使用过密钥对和安全组。
技术简介
AMAZON EC2 AUTO SCALING
Auto Scaling 可以确保您拥有合理数量的 Amazon EC2 实例,能够用来处理应用程序的工作负载。您可以创建称为 Auto Scaling 组的 EC2 实例集合。
- 您可以指定每个 Auto Scaling 组中的最小实例数量,而 Auto Scaling 会确保您的组中的实例永远不会低于这个数量。
- 您可以指定每个 Auto Scaling 组中的最大实例数量,而 Auto Scaling 会确保您的组中的实例永远不会高于这个数量。
如果您指定所需容量,Auto Scaling 将确保您的组始终具有固定数量的实例。
如果您指定扩展策略,那么当对应用程序的需求增加或减少时,Auto Scaling 将启动新实例或终止现有实例。
Auto Scaling 只会启动新实例或终止现有实例。它不会控制实例的开启或关闭。
AUTO SCALING 组
您的 EC2 实例会被归入 Auto Scaling 组中,并作为扩展和管理的逻辑单元。当您创建 Auto Scaling 组时,您可以指定其中的 EC2 实例的最小数量、最大数量和所需数量。
启动模板
您可以在启动模板中存储启动参数,而无需在每次启动实例时都指定这些参数。例如,启动模板可以包含您通常用于启动实例的 AMI ID、实例类型和网络设置。在使用 Amazon EC2 控制台、AWS SDK 或命令行工具启动实例时,您可以指定要使用的启动模板。
扩展计划
扩展计划可以告诉 Auto Scaling 在什么时间以什么方式扩展。计划的类型包括:
- 始终保持当前实例等级:Auto Scaling 会对 Auto Scaling 组中正在运行的实例定期执行运行状况检查。如果找到运行不正常的实例,Auto Scaling 将终止该实例并启动一个新实例。
- 手动扩展:手动扩展是最基本的资源扩展方式。您可以指定 Auto Scaling 组的最大容量、最小容量或所需容量的变化。然后,Auto Scaling 会管理实例的创建或终止过程,以便达到更新后的容量。
- 按计划扩展:有时您明确知道要在什么时候增加或减少组中的实例数量,因为实际需求与某个可预测的计划相符。按计划扩展意味着扩展操作会按照时间和日期自动执行。
- 按需求扩展:定义控制 Auto Scaling 流程的参数。例如,您可以创建一项策略,要求在平均 CPU 使用率连续 15 分钟保持在 90% 以上时扩展 EC2 实例。如果您知道如何根据条件变化来进行扩展,但却不知道条件何时改变,那就可以使用这种方法。您可以设置 Auto Scaling 来为自己做出响应。
AUTO SCALING 的定价
Auto Scaling 不收取任何额外费用。您只需为启动的 Amazon EC2 实例付费。