如何使用AWSAutoScaling按需动态增加和减少实例

一、背景需求

当您不知道自己该选择何种类型的 EC2 实例的时候,也不清楚业务什么时候高峰,那我们使用 Auto Scaling 可以非常便捷的解决我们的问题,他根据我们设定的负载压力,自动进行扩展和缩容,以实现最小费用的情况下保证业务的正常运行。

创新互联建站-专业网站定制、快速模板网站建设、高性价比果洛州网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式果洛州网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖果洛州地区。费用合理售后完善,十余年实体公司更值得信赖。

二、配置步骤

2.1、创建 AMI

首先把我们正在运行的 EC2 的主机做一个镜像,内部服务设置为自启动,以保证扩容的时候所有服务可用。

如何使用 AWS Auto Scaling 按需动态增加和减少实例

2.2、创建负载均衡目标组

Auto Scaling 配合 ELB 来使用,动态把负载分发到后端机器,我们需要一个目标组来存储我们的 Auto Scaling 集群机器。

如何使用 AWS Auto Scaling 按需动态增加和减少实例

2.3、创建 Classic Load Balancer

如何使用 AWS Auto Scaling 按需动态增加和减少实例

如何使用 AWS Auto Scaling 按需动态增加和减少实例

2.4、创建启动配置

为了实例可以稳定启动,可以选择按需实例,或者高于市场价的 Spot 实例,尽量高多一些,保证成功率。

如何使用 AWS Auto Scaling 按需动态增加和减少实例

如何使用 AWS Auto Scaling 按需动态增加和减少实例

2.5、创建 Auto Scaling 组

如何使用 AWS Auto Scaling 按需动态增加和减少实例

如何使用 AWS Auto Scaling 按需动态增加和减少实例

如何使用 AWS Auto Scaling 按需动态增加和减少实例

我这里因为选择了竞价实例,好几次都启动失败,所以我换了一个按需实例的启动配置。

2.6、测试

我们登陆到组中第一台机器,使用下面的命令对 CPU 进行增压,查看超过阈值之后是否会自动启动新的实例。

for i in `seq 1 $(cat /proc/cpuinfo |grep "processor" |wc -l)`; do dd if=/dev/zero of=/dev/null; done &

可以看到,CPU 的负载已经上去了:

如何使用 AWS Auto Scaling 按需动态增加和减少实例

我们查看一下事件,发现启动了一台新的实例:

如何使用 AWS Auto Scaling 按需动态增加和减少实例

然后我们停掉压力测试,再等待一会查看:

如何使用 AWS Auto Scaling 按需动态增加和减少实例

至此我们已经做完这次测试。

趣味玩法

我们可以安装 web 服务,让 ELB 负载到新实例,并给每个实例配置专属的内容,我们选定实例的元数据,在启动时候的时候,我们可以填写下面的启动参数:

#!/bin/bash
yum install nginx -y
systemctl start nginx
curl http://169.254.169.254/latest/meta-data/public-ipv4 > /var/www/html/index.html

http://169.254.169.254/latest/meta-data/ 是实例的元数据信息接口。
http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/ec2-instance-metadata.html



文章题目:如何使用AWSAutoScaling按需动态增加和减少实例
网页地址:http://hbruida.cn/article/ijdjjs.html