运维编排场景系列-----ECS实例系统快照下载到本地

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储OSS,敏感数据保护2.0 200GB 1年
对象存储 OSS,内容安全 1000 次 1年
简介: 运维编排场景系列-----ECS实例系统快照下载到本地 ECS实例的系统快照文件不能直接从云端下载到本地,不过通过OOS的模板可以轻松帮您实现下载数据到本地。 解决方案 此过程您只需选定要创建系统快照的ECS实例,并准备一个可保存镜像的OSS bucket,剩下工作交给OSS就可以了,当OOS准备完待下载内容后,您单击下载快照的镜像文件即可。

ECS实例的系统快照文件不能直接从云端下载到本地,不过通过OOS的模板可以轻松帮您实现下载数据到本地。

解决方案

此过程您只需选定要创建系统快照的ECS实例,并准备一个可保存镜像的OSS bucket,剩下工作交给OSS就可以了,当OOS准备完待下载内容后,您单击下载快照的镜像文件即可。
OOS主要帮您做了这些,其先对您选定的ECS实例打系统快照,完成后对快照创建镜像,再将镜像导出到OSS的bucket内,最后将bucket中镜像对应的文件名返回。

OOS模版任务

  1. 获取被指定的ECS实例系统盘信息。
  2. 检查ECS实例状态,保证可创建快照。
  3. 对ECS实例系统盘进行快照创建。
  4. 等待快照创建完成。
  5. 对快照创建镜像。
  6. 等待镜像创建完成。
  7. 将镜像导出到指定的OSS的bucket中。
  8. 返回镜像导出后在bucket内对应的文件名。

模版内容

FormatVersion: OOS-2019-06-01
Description: Export image of snapshot which is created by ECS instance system disk to OSS.
Parameters:
  instanceIds:
    Description: The ID list of the ECS instance.
    Type: List
  OSSBucket:
    Description: The bucket of the image to export into.
    Type: String
  OSSPrefix:
    Description: The prefix for name of the image to export into oos.
    Type: String
  regionId:
    Description: The region Id of instance.
    Type: String
    MinLength: 1
    MaxLength: 30
  OOSAssumeRole:
    Description: The RAM role to be assumed by OOS.
    Type: String
    Default: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'

Tasks:

  - Name: querysDiskInfo
    Action: 'ACS::ExecuteAPI'
    Description: Get info of the data disk.
    Properties:
      Service: ECS
      API: DescribeDisks
      Parameters:
        RegionId: '{{ regionId }}'
        InstanceId: '{{ ACS::TaskLoopItem }}'
        DiskType: system
    Outputs:
      systemDiskId:
        Type: String
        ValueSelector: 'Disks.Disk[].DiskId'
    Loop:
      Items: '{{ instanceIds }}'
      Outputs:
        systemDiskIds:
          AggregateType: 'Fn::ListJoin'
          AggregateField: systemDiskId

  - Name: checkInstanceAvailable
    Action: 'ACS::CheckFor'
    Description: Checks whether the ECS instance status is running or stopped.
    Properties:
      Service: ECS
      API: DescribeInstances
      Parameters:
        RegionId: '{{ regionId }}'
        InstanceIds:
          - '{{ ACS::TaskLoopItem }}'
      DesiredValues:
        - Running
        - Stopped
      PropertySelector: 'Instances.Instance[].Status'
    Loop:
      Items: '{{ instanceIds }}'


  - Name: createSnapshot
    Action: 'ACS::ExecuteAPI'
    Description: Create a snapshot with the specified disk ID and snapshot name.
    Properties:
      Service: ECS
      API: CreateSnapshot
      Parameters:
        RegionId: '{{ regionId }}'
        DiskId: '{{ ACS::TaskLoopItem }}'
        SnapshotName: 'Snapshot-from-{{ ACS::TaskLoopItem }}-{{ ACS::ExecutionId }}'
    Outputs:
      snapshotId:
        Type: String
        ValueSelector: SnapshotId
    Loop:
      Items: '{{ querysDiskInfo.systemDiskIds }}'
      Outputs:
        snapshotIds:
          AggregateType: 'Fn::ListJoin'
          AggregateField: snapshotId

  - Name: untilSnapshotsReady
    Action: 'ACS::WaitFor'
    Description: Waits for the snapshot to be accomplished.
    Properties:
      Service: ECS
      API: DescribeSnapshots
      Parameters:
        RegionId: '{{ regionId }}'
        SnapshotIds:
          - '{{ ACS::TaskLoopItem }}'
      DesiredValues:
        - accomplished
      PropertySelector: 'Snapshots.Snapshot[].Status'
    Loop:
      Items: '{{ createSnapshot.snapshotIds }}'

  - Name: createImage
    Action: 'ACS::ExecuteAPI'
    Description: Creates a custom image.
    Properties:
      Service: ECS
      API: CreateImage
      Parameters:
        RegionId: '{{ regionId }}'
        ImageName: 'img-from-{{ ACS::TaskLoopItem }}-{{ ACS::ExecutionId }}'
        SnapshotId: '{{ ACS::TaskLoopItem }}'
    Outputs:
      imageId:
        Type: String
        ValueSelector: ImageId
    Loop:
      Items: '{{ createSnapshot.snapshotIds }}'
      Outputs:
        ImageIds:
          AggregateType: 'Fn::ListJoin'
          AggregateField: imageId

  - Name: untilCreateImageReady
    Action: 'ACS::WaitFor'
    Description: Wait for created images available.
    Properties:
      Service: ECS
      API: DescribeImages
      Parameters:
        RegionId: '{{ regionId }}'
        ImageId: '{{ ACS::TaskLoopItem }}'
      DesiredValues:
        - Available
      PropertySelector: 'Images.Image[].Status'
    Loop:
      Items: '{{ createImage.ImageIds }}'

  - Name: exportImageToOSS
    Action: 'ACS::ExecuteAPI'
    Description: Copy image.
    Properties:
      Service: ECS
      API: ExportImage
      Parameters:
        RegionId: '{{ regionId }}'
        ImageId: '{{ ACS::TaskLoopItem }}'
        OSSBucket: '{{ OSSBucket }}'
        OSSPrefix: '{{ OSSPrefix }}'
    Loop:
      Items: '{{ createImage.ImageIds }}'
      Outputs:
        TaskIds:
          AggregateType: 'Fn::ListJoin'
          AggregateField: TaskId
    Outputs:
      TaskId:
        ValueSelector: TaskId
        Type: String

  - Name: queryNameOfFile
    Action: 'ACS::ExecuteAPI'
    Description: Get object name of image.
    Properties:
      Service: ECS
      API: DescribeTaskAttribute
      Parameters:
        RegionId: '{{ regionId }}'
        TaskId: '{{ ACS::TaskLoopItem }}'
    Loop:
      Items: '{{ exportImageToOSS.TaskIds }}'
      Outputs:
        OSSObjectNames:
          AggregateType: 'Fn::ListJoin'
          AggregateField: OSSObjectName
    Outputs:
      OSSObjectName:
        ValueSelector:  'OperationProgressSet.OperationProgress[].RelatedItemSet.RelatedItem[1].Value'
        Type: String

Outputs:
  OSSObjectNames:
    Value: '{{ queryNameOfFile.OSSObjectNames }}'
    Type: List
  imageIds:
    Value: '{{ createImage.ImageIds }}'
    Type: List
  snapshotIds:
    Value: '{{ createSnapshot.snapshotIds }}'
    Type: List
  instanceIds:
    Value: '{{ instanceIds }}'
    Type: List

模版参数

  • instanceIds: 实例ID,在该参数中输入您准备打快照的ECS实例ID,支持添加多个实例ID进行批量操作。
  • OSSBucket:  OSS的Bucket,在该参数中输入一个可以保存镜像文件的OSS bucket,以便您从中下载快照的镜像文件。
  • OSSPrefix:  OSS文件名前缀,输入一个存储在OSS bucket内镜像的文件名前缀。
  • regionId: 将要创建系统快照的ECS实例所在region。

操作步骤

  1. 登录到运维编排服务控制台
  2. 单击 自定义模版 ,将上文的模版内容复制到YAML格式编辑区域,输入模版名称。
    20190905162521_
  3. 单击 创建模版
    EventTriggerValidation
  4. 模版创建成功后,单击该模版的 创建执行
  5. 风险确认模式选择 客户了解风险,无需确认 。
    20190905162552
  6. 单击 下一步:设置参数
  7. 将准备好的模版参数输入到对应参数栏。
  8. 执行使用到的权限的来源选择 当前账号的已有权限(确保创建执行的账号具有模版中涉及的云产品API权限,如无权限请参考账号访问控制完成账号授权)。
    20190905170200
  9. 单击下一步:确认创建。
    20190905163233
  10. 单击 创建执行 。
  11. 待执行结束后查看输出的存入到bucket中数据的objectName。
    20190905170959
  12. 根据模版执行结果返回实例ID对应的objectName,在OSS中选择并下载快照的镜像文件到本地。
    20190905171858
相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
16天前
|
存储 人工智能 容灾
阿里云服务器2核8G、4核16G、8核32G配置热门实例性能对比与场景化选型指南
2核8G/4核16G/8核32G配置的阿里云服务器在阿里云活动中目前有经济型e、通用算力型u1、通用型g7、通用型g8y和通用型g9i五种实例可选,目前2核8G配置选择u1实例活动价格652.32元1年起,4核16G月付选择经济型e实例最低89元1个月,8核32G配置160元1个月起,本文将为大家解析经济型e、通用算力型u1、通用型g7及通用型g8y实例,帮助用户根据自身需求合理选择最适合的实例规格和配置。
|
2月前
|
存储 缓存 安全
阿里云服务器热门实例选择参考:e/u1/c7/c8y/c9i/g7/g8y/g9i/r7/r8y/r9i实例适用场景汇总
通过阿里云的活动购买云服务器时,除了轻量应用服务器之外,活动内的云服务器实例规格主要以e/u1/c7/c8y/c9i/g7/g8y/g9i/r7/r8y/r9i这几种为主。本文主要为介绍阿里云服务器的实例规格是什么,有什么用,并汇总了阿里云轻量应用服务器和这些热门云服务器实例规格的适用场景,以供大家了解和选择适合自己的需求的实例规格。
|
9天前
|
存储 弹性计算 网络协议
阿里云服务器ECS通用算力型u2a实例,CPU采用AMD EPYC处理器,睿频最高3.7 GHz
阿里云ECS通用算力型u2a实例搭载AMD EPYC处理器,睿频高达3.7GHz,基于CIPU架构,网络与存储突发带宽最高25Gbps,I/O性能强、延迟低。支持多种云盘及IPv4/IPv6,适用于中小型数据库、APP服务等场景,性价比高,官网价降低9%-22%,是中小企业上云优选。
179 0
|
2月前
|
存储 弹性计算 缓存
企业级云服务器租用一年需要多少预算?199元2核4G5M带宽阿里云u1实例评测
阿里云企业用户专享,仅需199元/年即可租用ECS通用算力型u1实例(2核4G、5M带宽、80G云盘),适用于中小企业官网、电商展示、数据分析等场景。支持多地域部署,新老用户均可享受,性价比高,助力企业稳定运营。
198 7
|
2月前
|
存储 弹性计算 安全
阿里云轻量服务器通用型、CPU优化型、多公网IP型、国际型、容量型不同实例区别与选择参考
阿里云轻量应用服务器实例类型分为通用型、CPU优化型、多公网IP型、国际型、容量型,不同规格族的适用场景和特点不同,收费标准也不一样。本文为大家介绍轻量应用服务器通用型、多公网IP型、容量型有何区别?以及选择参考。
|
8天前
|
存储 弹性计算 固态存储
阿里云服务器租用价格参考:最新收费标准与不同实例热门配置活动价格
阿里云服务器租用价格参考:配置最低的1核0.5G云服务器,按量付费价格0.063元/小时,按月租用价格为18元/1月,爆款配置的活动价格目前直降,2核2G配置轻量应用服务器抢购价为38元一年;经济型e实例2核2G3M特惠价99元1年;通用算力型u1实例2核4G5M带宽特惠价199元1年;2核8G配置的活动价格最低为一年652.32元;4核16G配置的活动价格最低为1196.64元;8核16G配置的最低一年租用价格为3815.03元。以下是2025年阿里云服务器最新收费标准与热门配置活动价格的详细内容。
|
2月前
|
存储 机器学习/深度学习 缓存
阿里云服务器4核8G配置租用价格:不同实例收费标准、活动价格对比与选购参考
4核8G配置是深受初创企业用户喜欢的云服务器配置,2025年截止目前,按量收费标准最低降至0.45元/小时,包年包月租用平均优惠月价最低仅需159.84元/月,按年购买还可享受u1实例4核8G活动价955.58元/年起的价格。云服务器实例规格和配置不同,收费标准与活动价格也不同,下面是小编为大家整理汇总的阿里云服务器4核8G配置2025年最新收费标准与活动价格。
171 3
阿里云服务器4核8G配置租用价格:不同实例收费标准、活动价格对比与选购参考
|
22天前
|
存储 人工智能 弹性计算
阿里云gpu云服务器收费价格,热门实例简介和最新按量、1个月、1年收费标准参考
在阿里云所有gpu云服务器实例规格中,计算型gn5、gn6i、gn6v、gn7i和最新推出的gn8is、gn8v-tee等实例规格是其中比较热门的gpu云服务器实例。阿里云gpu云服务器最新租用价格参考,适合AI推理/训练的16核60G+1张A10 24G显存(gn7i-c16g1.4xlarge),按量优惠价1.9/小时起。本文为大家展示阿里云gpu云服务器中gn5、gn6i等热门实例规格的主要性能和适用场景以及最新按量和1个月、1年收费标准,以供参考。
|
2月前
|
人工智能 编解码 安全
阿里云服务器上新,第9代AMD企业级实例g9ae,提升企业AI业务创新与性能突破
近日,阿里云推出的服务器ECS第9代AMD企业级实例-g9ae实例已开启邀测阶段,g9ae实例基于CIPU 2.0架构,搭载AMD Turin处理器,为国内首创物理核设计的“性能旗舰型”算力产品,专为AI时代企业离线数据处理打造。本文为大家介绍g9ae实例的性能及适用场景,以供了解与参考。
|
2月前
|
存储 弹性计算 网络协议
阿里云服务器ECS通用算力型u2i实例怎么样?与u1有什么区别?
阿里云ECS通用算力型u2i实例基于全新CIPU架构,性能更稳定,网络带宽和存储IOPS更高,适合对性能和稳定性要求较高的中小型业务。相比u1实例,u2i在架构、网络、存储等方面均有明显提升,适用于动态业务需求。