ECS 一键完全克隆

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

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

ECS 一键完全克隆

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

>> ECS 一键克隆

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

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-课时2学习笔记


下一篇:案例分享----钉钉