运维编排服务OOS为更新自定义镜像的场景提供了公共模版。您只需选择一个源镜像,输入更新镜像所需的云助手脚本等必要参数,就可以创建随机或定时的运维任务,一键更新自定义镜像。

前提条件

更新自定义镜像会自动创建临时资源并采用按量付费计费方式,您的账号余额不能小于100元。

背景信息

在更新自定义镜像的完整流程中,运维编排服务OOS的ACS-ECS-UpdateImage公共模板按顺序执行以下任务:
  1. 检查新自定义镜像的名称是否已存在,以及是否符合规则。
  2. 根据您配置的实例规格、源镜像ID、安全组ID等参数创建并运行一台临时ECS实例。
  3. 检查临时ECS实例是否安装了云助手客户端,若缺失则安装云助手客户端。
  4. 在临时ECS实例上,通过云助手执行脚本更新实例系统环境。
    说明 运维编排服务OOS通过调用云助手API执行Shell、Bat或者PowerShell等脚本,更新ECS实例的系统应用环境。更多详情,请参见云助手概述
  5. 停止临时ECS实例。
  6. 根据临时ECS实例创建自定义镜像。
  7. 释放临时ECS实例。

操作步骤

  1. 登录ECS管理控制台
  2. 在左侧导航栏,单击实例与镜像 > 镜像
  3. 在顶部状态栏左上角处,选择地域。
  4. 镜像列表页签下,选择自定义镜像,找到目标镜像,在操作栏选择更多 > 更新镜像
    使用OOS更新自定义镜像
  5. 跳转至OOS管理控制台后,完成以下操作:
    1. 保持基本信息的默认设置,单击下一步:设置参数
    2. 完成参数设置填写,用以自动化创建或更新自定义镜像运维任务,参数含义如下表所示。
      参数 说明 示例
      targetImageName 更新的自定义镜像的名称,必须满足正则表达式/^[A-Za-z0-9\-_]*$/要求,且不能和已有镜像名称重名。 add_testtxt_20191010
      sourceImageId 待更新的源镜像ID。
      说明 如果您还未创建过自定义镜像,可以使用公共镜像ID,例如centos_7_06_64_20G_alibase_20190711.vhd
      m-bp13y4of6mdoqw******
      instanceType 用以创建临时ECS实例的实例规格,取值请参见实例规格族 ecs.g5.xlarge
      securityGroupId 用以创建临时ECS实例的安全组ID。 sg-bp1azkttqpldxg******
      vSwitchId 用以创建临时ECS实例的交换机ID。指定的虚拟交换机必须和安全组在同一个专有网络VPC中。 vsw-bp1s5fnvk4gn2tw******
      commandType 云助手脚本类型:
      • RunShellScript:Linux实例适用的Shell脚本。
      • RunBatScript:Windows实例适用的Bat脚本。
      • RunPowerShellScript:Windows实例适用的PowerShell脚本。
      RunShellScript
      commandContent 在临时ECS实例中执行的脚本内容。
      echo "hello world" >/root/test.txt.
      执行使用到的权限的来源 可选参数。
      • (默认设置)当前账号的已有权限:执行您使用的账号的权限动作。请确保您拥有创建自定义镜像涉及的所有ECS API调用权限。
      • 指定RAM角色,使用该角色的权限:如果指定了RAM角色名称,OOS扮演该RAM角色执行运维任务。
      当前账号的已有权限
      使用OOS创建自定义镜像
    3. 单击下一步:确认
    4. 查看运维任务详情以及风险操作,确认无误后单击确认风险并执行
  6. 执行管理中查看创建的运维任务。

执行结果

若成功创建运维任务,且执行状态处于运行中,则表示更新自定义镜像正在进行中。当执行状态转换为成功时,则表示镜像更新成功,您可以在执行详情中查看新镜像ID。 更新镜像结果
说明 如需了解更新自定义镜像的详细过程,您可单击该执行的详情,查看执行日志,了解运维任务的实时进度和状态。