镜像提供了创建ECS实例所需的系统环境、应用环境、相关软件配置等数据,需要根据业务变化要求更新。在伸缩配置中,镜像是一项更新较为频繁的配置项。您可以根据业务需求,通过手动或自动方式来更新伸缩配置中的镜像。

背景信息

  • 本文以ECS类型伸缩组为例,为您介绍更新伸缩配置中镜像的具体操作。
  • 更新伸缩配置中的镜像分为手动更新和自动更新两种方式。更多信息,请参见手动与自动更新方式对比
  • 使用更新镜像任务时,系统自动为源ECS实例创建一个自定义镜像,会收取相应快照容量的费用,遵循云服务器ECS快照的收费标准,更多信息,请参见快照计费

手动与自动更新方式对比

手动更新方式适用于业务需求变动不大的场景,而自动更新方式适用于频繁发布应用的场景,您只需在弹性伸缩控制台创建更新任务,执行任务时系统会自动为源ECS实例创建自定义镜像,并自动更新伸缩配置中的镜像。相比较通过手动方式更新伸缩配置中的镜像,采用自动方式操作更便捷,操作链路缩短且无需您过多参与其中,业务等待时间也会大幅减少。具体区别举例说明如下所示:

场景描述手动更新镜像自动更新镜像
场景:伸缩组类型为ECS的某伸缩组,当前伸缩组的伸缩配置中指定的镜像(例如镜像A),当应用需要发布新版本时,您需要更新当前伸缩组的镜像A为最新版本镜像(例如镜像B)。手动方式:
  1. 手动为包含新版本应用的ECS实例创建一个自定义镜像(例如镜像B)。具体操作,请参见使用快照创建自定义镜像使用实例创建自定义镜像
  2. 待镜像B手动创建完成后,手动将伸缩组的伸缩配置中指定的镜像A更新为镜像B。

    具体操作,请参见手动更新伸缩配置中的镜像

自动方式:
  1. 通过更新镜像任务功能为包含新版本应用的ECS实例自动创建一个自定义镜像(例如镜像B)。
  2. 待镜像B自动创建完成后,系统自动将伸缩组的伸缩配置中指定的镜像A更新为镜像B。

手动更新伸缩配置中的镜像

  1. 登录弹性伸缩控制台
  2. 在左侧导航栏中,单击伸缩组管理
  3. 在顶部菜单栏处,选择地域。
  4. 找到待操作的伸缩组,在对应操作列下,单击查看详情
  5. 在页面上方,单击实例配置来源页签。
  6. 在页面左上角,单击伸缩配置页签。
  7. 在伸缩配置列表中找到待操作的伸缩配置,单击对应操作列的修改镜像
    说明 不管伸缩配置状态是生效状态还是未生效状态,您都可以执行修改镜像操作。
  8. 修改镜像页面,选择镜像类型和对应的具体镜像,然后单击确认
    支持的镜像类型:公共镜像自定义镜像共享镜像image
    更新完成后,您可以查看伸缩配置列表的镜像区域,显示为新镜像的名称即表明已成功更新镜像。

自动更新伸缩配置中的镜像

与滚动升级的区别

  • 自动更新伸缩配置中的镜像可以实现伸缩组中新创建的实例都具有新版本镜像。具体操作,请参见本节中的操作步骤
  • 滚动升级可以实现将伸缩组内已有的实例镜像逐步升级到新版本。具体操作,请参见滚动升级

前提条件

自动更新镜像任务通过OOS服务执行时,需要授予OOS服务操作相关资源的权限,请您确保至少满足以下条件之一:

  • 当前账号已拥有操作云服务器ECS、弹性伸缩相关资源的权限。
  • 已为OOS服务创建对应的RAM角色,并授予RAM角色操作云服务器ECS、弹性伸缩相关资源的权限。具体操作,请参见为OOS服务设置RAM权限
    说明 建议使用AliyunECSFullAccess和AliyunESSFullAccess权限。

操作步骤

  1. 登录弹性伸缩控制台
  2. 在左侧导航栏中,单击伸缩组管理
  3. 在顶部菜单栏处,选择地域。
  4. 找到待操作的伸缩组,在对应操作列下,单击查看详情
  5. 在页面上方,单击实例配置来源页签。
  6. 单击更新镜像任务页签。
  7. 单击更新镜像
  8. 完成更新镜像任务的配置。
    配置项如下表所示。
    配置项说明
    实例选择一台ECS实例,为该ECS实例创建自定义镜像并用于更新伸缩配置中的镜像,创建自定义镜像时仅包含系统盘。
    自定义镜像名称弹性伸缩会自动为创建出来的镜像名称加后缀,防止与定时任务产生的镜像名称重复。例如,自动为创建出来的镜像添加_on_{{ ACS::ExecutionId }}_at_{{ Acs::CurrentDate }}格式的后缀。其中ACS::ExecutionIdAcs::CurrentDate分别表示OOS的执行ID和执行时间。
    配置来源默认选择伸缩配置
    伸缩组配置ID选择需要更新镜像的伸缩配置,支持选择多个伸缩配置。
    执行时间指定执行更新镜像任务的时间:
    • 现在:立即执行任务。
    • 定时:在指定的时间执行任务。您需要继续指定执行时间,精确到分钟。
    • 周期性:选择重复执行更新镜像任务的周期和重复结束的时间,并设置每次开始更新镜像的时间。例如,在2020年8月17日设置以下周期性任务:
      • 重复周期:按月
      • 每月的第21天至第25天执行
      • 开始时间:02:00
      • 重复结束时间:2020年8月26日00:00

      周期性任务的效果:从2020年8月21日至2020年8月25日,每天02:00执行一次更新镜像任务。

    权限来源选择OOS服务操作相关资源的权限来源:
    • 当前账号的已有权限:使用当前账号已经拥有的权限。
    • 指定RAM角色,使用该角色的权限:继续选择需要OOS服务扮演的RAM角色,使用已授予该RAM角色的权限。
    说明 如果执行时间指定为定时或者周期性,则仅支持通过指定RAM角色来授予权限。
  9. 单击确定
    在您设置的时间自动执行更新镜像任务,您可以在任务列表中查看源ECS实例的信息和任务执行情况。更新镜像任务
    任务执行成功后,在伸缩配置页签下查看结果。伸缩配置中的镜像名称为UpdateImage_from_<源ECS实例ID>_on_<更新镜像任务ID>的格式,表明已成功更新镜像。更新镜像结果