一键更新镜像和执行脚本

您可以利用弹性伸缩的滚动升级功能,一键为伸缩组内的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位

    3. 在最终创建实例前,请在页面右侧检查实例的整体配置并配置使用时长等选项,确保各项配置符合您的要求。

    4. 阅读并签署《云服务器ECS服务条款》等服务协议(若已签署,则无需重复签署,请以页面提示为准),然后单击确认下单

    5. 确认ECS实例的费用,并按界面提示完成支付。

      实例创建完成后,前往实例列表页面查看创建进度,当实例状态进入运行中时表示已成功创建。并将实例名称修改为Instance-ForCustomImage

      说明

      在创建自定义镜像前,您可以根据需要配置创建好的ECS实例Instance-ForCustomImage,例如部署应用、拷贝数据等,减少统一更新镜像后的维护操作。

  5. 准备更新用的自定义镜像。

    1. 找到ECS实例Instance-ForCustomImage,在操作列下,单击image > 云盘与镜像 > 创建自定义镜像

    2. 完成自定义镜像配置。

      本教程中使用的示例配置如下表所示,请按需完成其他配置。

      配置项

      示例

      自定义镜像名称

      Image-AliyunLinux

      自定义镜像描述

      用于滚动升级伸缩组内ECS实例的镜像。

    3. 单击创建

  6. 准备回滚用的自定义镜像。

    1. 找到一台属于伸缩组的ECS实例,在操作列下,单击image > 云盘与镜像 > 创建自定义镜像

    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服务状态