您可以利用弹性伸缩的滚动升级功能,一键为伸缩组内的ECS实例更新镜像和执行脚本,提高管理伸缩组内ECS实例的效率。
背景信息
假设一个伸缩组现状如下:
位于华东1(杭州)地域。
伸缩组中生效的伸缩配置使用公共镜像CentOS 6.4 64位。
伸缩组中已基于生效的伸缩配置扩容出100台ECS实例,且ECS实例都处于服务中状态。
伸缩组中不存在执行中的伸缩活动。
操作步骤
本教程介绍如何将伸缩组内ECS实例的镜像更新为阿里云Alibaba Cloud Linux 2镜像,并在更新镜像后安装Apache。步骤如下:
步骤一:准备自定义镜像
登录ECS管理控制台。
在左侧导航栏,选择 。
在页面左侧顶部,选择目标资源所在的资源组和地域。
创建一台ECS实例。
在实例列表页面左上角,单击创建实例。
在自定义购买页签下,按需选择付费类型、地域、实例规格、镜像等配置。
各配置项详细说明,请参考配置项说明。
本教程中使用的示例配置如下表所示,请按需完成其他配置,和伸缩组生效中的伸缩配置保持一致即可。
配置项
示例
付费类型
按量付费
地域
地域:华东1(杭州)
网络及可用区
网络:专有网络
可用区:随机分配
镜像
类型:公共镜像
版本:Alibaba Cloud Linux 2.1903 LTS 64位
在最终创建实例前,请在页面右侧检查实例的整体配置并配置使用时长等选项,确保各项配置符合您的要求。
阅读并签署《云服务器ECS服务条款》等服务协议(若已签署,则无需重复签署,请以页面提示为准),然后单击确认下单。
确认ECS实例的费用,并按界面提示完成支付。
实例创建完成后,前往实例列表页面查看创建进度,当实例状态进入运行中时表示已成功创建。并将实例名称修改为
Instance-ForCustomImage
。说明在创建自定义镜像前,您可以根据需要配置创建好的ECS实例Instance-ForCustomImage,例如部署应用、拷贝数据等,减少统一更新镜像后的维护操作。
准备更新用的自定义镜像。
找到ECS实例Instance-ForCustomImage,在操作列下,单击 。
完成自定义镜像配置。
本教程中使用的示例配置如下表所示,请按需完成其他配置。
配置项
示例
自定义镜像名称
Image-AliyunLinux
自定义镜像描述
用于滚动升级伸缩组内ECS实例的镜像。
单击创建。
准备回滚用的自定义镜像。
找到一台属于伸缩组的ECS实例,在操作列下,单击 。
完成自定义镜像配置。
本教程中使用的示例配置如下表所示,请按需完成其他配置。
配置项
示例
自定义镜像名称
Image-CentOSBck
自定义镜像描述
用于在滚动升级出现问题时,回滚伸缩组内ECS实例的镜像。
单击创建。
在左侧导航栏中,单击 ,前往镜像页面查看Image-AliyunLinux和Image-CentOSBck的创建进度。
进度为100%时表示已成功创建。
步骤二:更新镜像并执行脚本
- 登录弹性伸缩控制台。
- 在左侧导航栏中,单击伸缩组管理。
- 在顶部菜单栏处,选择地域。
- 找到待操作的伸缩组,选择任一种方式打开伸缩组详情页面。
- 在伸缩组名称/ID列,单击伸缩组ID。
- 在操作列,单击查看详情。
- 在页面上方,单击滚动升级页签。
创建并执行一个镜像更新任务。
单击创建执行任务。
完成镜像更新任务配置。
本教程中使用的示例配置如下表所示,请按需完成其他配置。
配置项
示例
任务描述
将镜像从CentOS 6.4 64位批量更新为Alibaba Cloud Linux 2.1903 LTS 64位。
任务类型
镜像更新
用于更新的镜像
Image-AliyunLinux
用于回滚的镜像
Image-CentOSBck
执行批次
10
暂停策略
不暂停
单击创建任务。
阅读滚动升级任务的影响,如无疑问,单击确定。
确定后滚动升级任务会自动执行。
任务完成后,伸缩组内100台ECS实例的镜像更新为Alibaba Cloud Linux 2.1903 LTS 64位。
创建并执行一个脚本执行任务。
单击创建执行任务。
完成脚本执行任务配置。
本教程中使用的示例配置如下表所示,请按需完成其他配置。
配置项
示例
任务描述
安装Apache服务并查看Apache服务状态。
任务类型
脚本执行
用于执行的脚本
# 安装Apache服务。 yum install -y httpd # 启动Apache服务。 systemctl start httpd # 设置Apache服务开机启动。 systemctl enable httpd # 查看Apache服务状态。 systemctl status httpd
用于回滚的脚本
# 查看Apache服务状态。 systemctl status httpd
执行批次
10
暂停策略
不暂停
单击创建任务。
阅读滚动升级任务的影响,如无疑问,单击确定。
确定后滚动升级任务会自动执行。
任务完成后,伸缩组内的100台ECS实例安装了Apache服务,且Apache服务状态为active。