动手实验 | 构筑 Amazon EC2 Auto Scaling 演示平台


  实验目标

在 AWS 测试环境中,创建一个Amazon EC2 Auto Scaling 演示平台,可以在 AWS 管理控制台界面中,向客户直观地展示 Amazon EC2 动态扩展的过程,让客户理解 Amazon EC2 Auto Scaling 是如何动态地自动调整 EC2 实例数量,满足应用程序持续变动不可预测的工作负载,从而保证应用程序能够正常运行。让客户理解 Amazon EC2 Auto Scaling 能够有效降低运营成本的原因。

  作业步骤

本次采用AWS Console界面完成作业。
注意:根据项目的具体情况,可以采用不同的实施方法。比如使用命令行(CLI)部署、代码部署 (CloudFomation、Terraform等)、以及其它开发语言(SDK)完成作业。

步骤一:创建一个启动模板(EC2 Auto Scaling Launch Template)
1. 打开 Amazon EC2 控制台,在导航窗格中的实例下,选择启动模板。
2.选择创建启动模板,为启动模板的初始版本输入名称并提供描述。
3. 在 Launch template contents(启动模板内容)下,填写每个必填字段以及所有可选字段。应用程序和操作系统映像(AMI)、实例类型、密钥对名称、VPC、安全组、公有IPv4地址、存储卷的容量。
4. 在 User data 中输入以下代码,使得每台 EC2 实例在启动之后都会自动进行10秒左右的 CPU 压力测试。
#!/bin/bash
yum update -y
yum install stress -y
/usr/bin/stress --cpu 8 --timeout 5m
5. 创建启动模板

步骤二:创建一个自动伸缩组(EC2 Auto Scaling Group)
1. 从前面步骤的确认页面上,选择创建自动伸缩组(EC2 Auto Scaling Group)。
2. 配置自动伸缩组(EC2 Auto Scaling Group)。指定配置 Amazon EC2 实例所需的信息、实例的可用区和 VPC 子网、实例的预热时间(300秒)、所需容量(1)以及最小(1)和最大容量(3)限制、容量缩减保护、以及设置 CloudWatch 详细监控生效。
3. 创建一个动态扩展策略,阈值为 CPU 使用率大于80%。
4. 选择创建自动伸缩组(EC2 Auto Scaling Group)

  结果验证

1. 在 EC2 控制台界面,观察 Amazon EC2 Auto Scaling 是第 1 台 EC2实例启动成功,并且已经处理服务中(In Service)状态,之后将第 1 台EC2实例命名为 server1。
2. 打开自动伸缩组(EC2 Auto Scaling Group)界面,更改实例的预热时间为(60秒)并保存使新的设置生效。在 EC2 控制台界面,观察 Amazon EC2 Auto Scaling 自动把第 2 台 和 第 3 台EC2实例依次启动成功,并且已经处理服务中(In Service)状态。之后将第 1 台EC2实例命名为 server2和server3。
3. 在 EC2 控制台界面,继续观察 Amazon EC2 Auto Scaling 将 EC2实例的缩减为 1 台。
4. 在自动伸缩组(EC2 Auto Scaling Group)监控界面中,观察EC2实例的启动,预热时间以及终止的过程。