开发者社区> 问樵> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

ECS 一键完全克隆

简介: 通过 ROS 完整克隆 ECS,包括所有数据
+关注继续查看

是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。

当我们的应用上线的时候,首先要做服务器选型,在做系统配置,最后应用环境配置,然后部署机器验证,看我们搭建的环境是否符合需求。当一切都搞定了,应用需要大规模上线,或者由于业务发展需要扩展我们的应用部署,这个时候我们再一步一步再配置一遍,拷贝数据吗。以前可能需要需要这么做,但是现在这些步骤完全可以自动化的完成。通过资源编排可以非常方便的实现一台ECS的全量克隆。那么所有的事情都变得非常简单。

ECS 一键完全克隆

通过下面的链接就可以很方便的一键克隆任意多台源ECS。应用部署和应用扩展就是分分钟的事。

>> ECS 一键克隆

点击这个链接后,会看如下的页面,在对应的框中输入具体的参数,点击创建,然后就开始ECS的完全克隆。

clone_ecs

具体说一下这些参数的含义:

  • 已选地域:选择在哪个region克隆机器,可以通过上一步,调整region
  • 栈名:指定ROS资源栈的名称,必须全局唯一
  • 创建超时:克隆机器的超时时间
  • 失败回滚:克隆机器失败后,是不是删除部分创建成功的其他资源
  • Source ECS Instance ID:将要克隆的源 ECS
  • ECS Login Password:克隆的新机器的 root 用户登录密码
  • Source ECS system disk ID:将要克隆的源 ECS 的系统盘 ID
  • Source ECS data disk ID:将要克隆的源 ECS 的数据盘 ID
  • Number of Cloned ECS:将要克隆多少台完全一样的 ECS

模板详解

ROS 是通过模板来实现ECS的一键完全克隆。在这个模板中,主要用到了一下三个资源:

ALIYUN::ECS::Snapshot 资源是给磁盘做快照; ALIYUN::ECS::CustomImage 基于系统盘快照做系统镜像;最终通过ALIYUN::ECS::InstanceGroupClone 基于系统盘镜像和数据盘快照完整克隆ECS。它们各自详细的参数都可以通过链接看到。

完整的模板如下:

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": "Clone ECS Instance",
  "Parameters": {
    "SourceEcsDataDiskId": {
      "Type": "String",
      "Description": "Create snapshot based on source ECS data disk",
      "Label": "Source ECS data disk ID"
    },
    "SourceEcsSystemDiskId": {
      "Type": "String",
      "Description": "Create custom image based on source ECS system disk",
      "Label": "Source ECS system disk ID"
    },
    "SourceEcsInstanceId": {
      "Type": "String",
      "Description": "Source ECS Instance",
      "Label": "Source ECS Instance ID"
    },
    "LoginPassword": {
      "NoEcho": true,
      "Type": "String",
      "Description": "ECS Login Password",
      "AllowedPattern": "[a-zA-Z0-9-\\(\\)\\`\\~\\!@\\#\\$%\\^&\\*-+=\\|\\{\\}\\[\\]\\:\\;\\‘\\,\\.\\?\\/]*",
      "Label": "ECS Login Password",
      "MinLength": 8,
      "MaxLength": 41
    },
    "NumberOfClonedEcs": {
      "Type": "Number",
      "Description": "The number of nodes will be cloned",
      "MinValue": 1,
      "Label": "Number of Cloned ECS",
      "MaxValue": 100,
      "Default": 1
    }
  },
  "Resources": {
    "CustomImage": {
      "Type": "ALIYUN::ECS::CustomImage",
      "Properties": {
        "SnapshotId": {
          "Ref": "SystemDiskSnapshot"
        },
        "Timeout": 600
      }
    },
    "NewEcsInstance": {
      "Type": "ALIYUN::ECS::InstanceGroupClone",
      "Properties": {
        "DiskMappings": [
          {
            "SnapshotId": {
              "Fn::GetAtt": [
                "DataDiskSnapshot",
                "SnapshotId"
              ]
            },
            "Size": 20
          }
        ],
        "MinAmount": {
          "Ref": "NumberOfClonedEcs"
        },
        "ImageId": {
          "Ref": "CustomImage"
        },
        "SourceInstanceId": {
          "Ref": "SourceEcsInstanceId"
        },
        "MaxAmount": {
          "Ref": "NumberOfClonedEcs"
        },
        "Password": {
          "Ref": "LoginPassword"
        }
      }
    },
    "DataDiskSnapshot": {
      "Type": "ALIYUN::ECS::Snapshot",
      "Properties": {
        "DiskId": {
          "Ref": "SourceEcsDataDiskId"
        }
      }
    },
    "SystemDiskSnapshot": {
      "Type": "ALIYUN::ECS::Snapshot",
      "Properties": {
        "Timeout": 300,
        "DiskId": {
          "Ref": "SourceEcsSystemDiskId"
        }
      }
    }
  },
  "Outputs": {
    "NewEcsInstanceIds": {
      "Value": {
        "Fn::GetAtt": [
          "NewEcsInstance",
          "InstanceIds"
        ]
      }
    }
  }
}

总结

在很多情况下,我们需要完全克隆一台ECS,例如应用扩容,ECS整体迁移等等,但是当前情况下,很多时候我们克隆ECS只能是手动创建,然后手动做数据迁移,这个在需要快速做应用部署,大量的运维的情况下是不可行的。ROS 基于模板实现了自动化的,快捷的,ECS完全克隆的解决方案。可以大大提高大家运维效率和减少运维的失误。

是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
续费任务-ECS使用报告
使用ecs布置我的世界服务器中遇到的问题,以及解决方法
46 0
C#特性 System.ComponentModel命名名空间属性方法大全,Syst em.ComponentModel命名空间的特性
目录: System.ComponentModel 特性命名空间与常用类 System.ComponentModel.DataAnnotations ComponentModel - Classes 类 ComponentModel - Structs 结构体 ComponentModel - Interfaces 界面 ComponentModel - Enums 枚举 ComponentModel - Delegates 委托
75 0
ES6 完全使用手册
## 前言 1. 这里的 "ES6" 泛指 ES5 之后的新语法 2. 这里的 "完全" 是指本文会不断更新 3. 这里的 "使用" 是指本文会展示很多 ES6 的使用场景 4. 这里的 "手册" 是指你可以参照本文将项目更多的重构为 ES6 语法 此外还要注意这里不一定就是正式进入规范的语法。 ## 1. let 和 const 在我们开发的时候,可能认为应该默认使
811 0
ES6 完全使用手册
前言 这里的 "ES6" 泛指 ES5 之后的新语法 这里的 "完全" 是指本文会不断更新 这里的 "使用" 是指本文会展示很多 ES6 的使用场景 这里的 "手册" 是指你可以参照本文将项目更多的重构为 ES6 语法 此外还要注意这里不一定就是正式进入规范的语法。
760 0
页面中iframe中嵌入一个跨域的页面,让这个页面按照嵌入的页面宽高大小显示的方式;iframe嵌套的页面不可以编辑的问题解决方案
<html> <head> <style> body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; overflow: hidden; } </style> </head&
1743 0
Microsoft Security Essential: 微软安全软件
Microsoft Security Essential: 微软安全软件 这个杀毒软件终身免费 【作者】张昺华 【出处】http://www.cnblogs.com/sky-heaven/ 【博客园】 http://www.
653 0
使expect脚本传回返回值
使expect脚本传回返回值 1、使用expect示例: spawn $SPAWN_CMD expect {         -re "Enter password for new role:" {                 send "$PWPROMPT\...
2482 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
ECS全知道(下) 镜像与快照+块存储、安全、网运维与监控
立即下载
ECS云磁盘热迁移
立即下载
ECS全知道(上) 实例+计费
立即下载