您可以利用弹性伸缩的滚动升级功能,一键为伸缩组内的ECS实例更新镜像和执行脚本,提高管理伸缩组内ECS实例的效率。

前提条件

使用本教程进行操作前,请确保您已经注册了阿里云账号。如还未注册,请先完成账号注册

操作步骤

假设一个伸缩组现状如下:
  • 位于华东1(杭州)地域。
  • 伸缩组中生效的伸缩配置使用公共镜像CentOS 6.4 64位。
  • 伸缩组中已基于生效的伸缩配置扩容出100台ECS实例,且ECS实例都处于服务中状态。
  • 伸缩组中不存在执行中的伸缩活动。
本教程介绍如何将伸缩组内ECS实例的镜像更新为阿里云Alibaba Cloud Linux 2镜像,并在更新镜像后安装Apache。步骤如下:

步骤一:准备自定义镜像

  1. 登录ECS管理控制台
  2. 在顶部菜单栏左上角处,选择地域。
  3. 在左侧导航栏,单击实例与镜像 > 实例
  4. 创建一台ECS实例。
    1. 在实例列表页面右上角,单击创建实例
    2. 完成实例启动配置。
      本教程中使用的示例配置如下表所示,请按需完成其他配置,和伸缩组生效中的伸缩配置保持一致即可。
      配置页面 配置项 示例
      基础配置 付费模式 按量付费
      地域及可用区
      • 地域:华东1(杭州)
      • 可用区:随机分配
      镜像
      • 类型:公共镜像
      • 版本:Alibaba Cloud Linux 2.1903 LTS 64位
      系统配置 实例名称 Instance-ForCustomImage
    3. 单击下一步:确认订单
    4. 选中云服务器ECS服务条款,然后单击创建实例
    5. 单击创建成功对话框里的管理控制台,前往实例列表页面查看创建进度。
      实例状态进入运行中后表示已成功创建。
      说明 在创建自定义镜像前,您可以根据需要配置创建好的ECS实例Instance-ForCustomImage,例如部署应用、拷贝数据等,减少统一更新镜像后的维护操作。
  5. 准备更新用的自定义镜像。
    1. 找到ECS实例Instance-ForCustomImage,在操作区域,单击更多 > 磁盘和镜像 > 创建自定义镜像
    2. 完成自定义镜像配置。
      本教程中使用的示例配置如下表所示,请按需完成其他配置。
      配置项 示例
      自定义镜像名称 Image-AliyunLinux
      自定义镜像描述 用于滚动升级伸缩组内ECS实例的镜像。
    3. 单击创建
  6. 准备回滚用的自定义镜像。
    1. 找到一台属于伸缩组的ECS实例,在操作区域,单击更多 > 云盘和镜像 > 创建自定义镜像
    2. 完成自定义镜像配置。
      本教程中使用的示例配置如下表所示,请按需完成其他配置。
      配置项 示例
      自定义镜像名称 Image-CentOSBck
      自定义镜像描述 用于在滚动升级出现问题时,回滚伸缩组内ECS实例的镜像。
    3. 单击创建
  7. 在左侧导航栏中,单击实例与镜像 > 镜像,前往镜像页面查看Image-AliyunLinux和Image-CentOSBck的创建进度。
    进度为100%时表示已成功创建。

步骤二:更新镜像并执行脚本

  1. 登录弹性伸缩控制台
  2. 在顶部菜单栏处,选择地域。
  3. 在左侧导航栏中,单击伸缩组管理
  4. 找到待操作的伸缩组,选择一种方式打开伸缩组详情页面。
    • 伸缩组名称/ID区域,单击伸缩组ID。
    • 操作区域,单击查看详情
  5. 在页面上方,单击滚动升级
  6. 创建并执行一个镜像更新任务。
    1. 单击创建执行任务
    2. 完成镜像更新任务配置。
      本教程中使用的示例配置如下表所示,请按需完成其他配置。
      配置项 示例
      任务描述 将镜像从CentOS 6.4 64位批量更新为Alibaba Cloud Linux 2.1903 LTS 64位。
      任务类型 镜像更新
      用于更新的镜像 Image-AliyunLinux
      用于回滚的镜像 Image-CentOSBck
      执行批次 10
      暂停策略 不暂停
    3. 单击创建任务
    4. 阅读滚动升级任务的影响,如无疑问,单击确定
      确定后滚动升级任务会自动执行。
    任务完成后,伸缩组内100台ECS实例的镜像更新为Alibaba Cloud Linux 2.1903 LTS 64位。
  7. 创建并执行一个脚本执行任务。
    1. 单击创建执行任务
    2. 完成脚本执行任务配置。
      本教程中使用的示例配置如下表所示,请按需完成其他配置。
      配置项 示例
      任务描述 安装Apache服务并查看Apache服务状态。
      任务类型 脚本执行
      用于执行的脚本
      # 安装Apache服务。
      yum install -y httpd
      # 启动Apache服务。
      systemctl start httpd
      # 设置Apache服务开机启动。
      systemctl enable httpd
      # 查看Apache服务状态。
      systemctl status httpd
      用于回滚的脚本
      # 查看Apache服务状态。
      systemctl status httpd
      执行批次 10
      暂停策略 不暂停
    3. 单击创建任务
    4. 阅读滚动升级任务的影响,如无疑问,单击确定
      确定后滚动升级任务会自动执行。
    任务完成后,伸缩组内的100台ECS实例安装了Apache服务,且Apache服务状态为active。查看Apache服务状态