创建ASG

上一节我们创建好了Launch Template,本节我们将基于它来创建一个ASG

进入EC2的ASG页面,点击Create an Auto Scaling group:

image-20221003141959810

命名为MyFirstASG,并选择使用上一节创建的Launch Template

image-20221003142045787

如果Launch template有多个版本,可以从中选择使用特定的版本。这里只有一个默认的,直接进入下一步:

image-20221003142122158

在网络设置部分,使用默认的VPC,然后选择它下面的所有子网:

image-20221003142159141

Instance type requirements介绍

Instance type requirements部分,我们准备直接使用Launch Template里声明的机型。但这里有必要了解一下ASG强大的功能:

image-20221003142243965

点击Override launch template后,ASG有两种机型列表配置可以选择:

  • 对机型进行vCPU和Memory过滤,例如下面条件过滤出166种机型(可以继续在里面排除):

image-20221003142502617

  • 手动添加机型列表,并配置权重:

image-20221003142326392

选择完机型列表后,可以配置On-demand和Spot的比例权重,以及购买策略(最低价或Capacity optimized):

image-20221003142353645


继续ASG的创建,ASG可以挂到负载均衡后面,这里先选择不绑定负载均衡:

image-20221003142620170

注意:如果将ASG挂到ELB下面,其实选择的不是具体哪个ELB,而是选择使用哪个target group

配置ASG的最小容量和最大容量:

image-20221003142643180

配置扩容策略,这是ASG的精髓,后面再展开介绍。这里先不配置:

image-20221003142730066

在通知部分,对于所有ASG的事件(扩容、缩容、启动失败等)都能够发送到SNS,让运维能够得到实时通知并作出应对:

image-20221003142800162

创建ASG时也可以配置Tag,但是如果和Launch Template冲突了,它会对其进行覆盖:

image-20221003142826579

最后点击创建。


创建完成后,ASG会拉起三台机器,查看任意一台的IP:

image-20221003142957894

访问它的公网IP,看到web服务已经启动:

image-20221003142938158

查看EC2的Tag,它使用了Launch Template里定义的Tag:

image-20221003143453602