利用资源编排创建100台ECS实例并指定自动释放时间

本文涉及的产品
资源编排,不限时长
简介:

在之前的博客中我们提到了通过资源编排创建一个ECS实例。在实际的大规模使用中,还是非常不方便的。为了更快更方便的批量创建资源,我们提供了新的资源类型InstanceGroup,它可以方便创建最多100台的同规格配置的资源,并且可以在创建的时候指定自动释放时间,您也可以不指定,当需要释放全部资源的时候通过删除该资源组或者通过ECS控制台释放这些实例。

InstanceGroup简介

相对于ALIYUN::ECS::Instance, InstanceGroupInstanceGroupClone提供了几个新的参数:

  • MaxAmount

    • 当前资源组创建的最大的ECS实例的数量。目前最大支持100台。必填参数。
  • MinAmount

    • 当前资源组创建的最小的ECS实例的数量,目前不生效,但是必须小于等于最大值,为未来扩展。必填参数。
  • AutoReleaseTime

    • 由于资源编排创建的是按量付费的资源,所以可以指定自动的释放时间,格式为yyyy-MM-ddTHH:mm:ssZ。遵循ISO8601的UTC时间,相比北京时间要减去8个小时。如果您想在北京时间12月20日16点28分释放,您需要指定为2015-12-20T08:28:11Z。时间范围为不小于当前时间半个小时,不大于当前时间3年。选填参数。

由于通过Group生成的资源为数组,所以这里的生成的模板返回的属性名称和类型也有不同。

  • InstanceIds:

    • 当前实例组的实例Id数组,格式为['i-...1', 'i-...2',...]。
  • PublicIps

    • 当前实例组的公网IP数组,格式为['##.##.##.##', '##.##.##.##',...]。仅对经典网络有效
  • PrivateIps

    • 当前实例组的私网IP数组,格式为['##.##.##.##', '##.##.##.##',...]。仅对VPC网络有效

通过ALIYUN::ECS::InstanceGroupClone快速客隆一组ECS的资源

这个资源将会拷贝源实例:

  • 实例规格
  • 镜像ID
  • 安全组ID
  • 系统盘类型,名称,描述
  • 数据盘类型,名称,描述,如果从快照创建,则从快照拷贝
  • 网络配置,网络付费类型,网络带宽
  • VPC类型的拷贝VSwitch

除了上面的属性,依然支持指定下面的属性,如果指定下面的属性就会覆盖默认属性的配置:

  • 实例名称
  • 实例描述
  • 实例密码
  • Tags配置

通过下面的模板可以快速的创建一组ECS的实例。这里您需要提供一个源实例ID来客隆,默认客隆1台同配置的ECS。

{
  "ROSTemplateFormatVersion" : "2015-09-01",
  "Parameters": {
    "SourceInstanceId": {
      "Type": "String"
    },
    "Password": {
      "Type": "String",
      "NoEcho": "true",
    },
    "MinAmount": {
      "Type": "Number",
      "Default": 1
    },
    "MaxAmount": {
      "Type": "Number",
      "Default": 1
    },
  },
  "Resources" : {
    "WebServer": {
      "Type": "ALIYUN::ECS::InstanceGroupClone",
      "Properties": {
        "SourceInstanceId": {"Ref": "SourceInstanceId"},
        "Password": {"Ref": "Password"},
        "MinAmount": {"Ref": "MinAmount"},
        "MaxAmount": {"Ref": "MaxAmount"}
      }
    }
  },
  "Outputs": {
    "InstanceId": {
         "Value" : {"Fn::GetAtt": ["WebServer","InstanceIds"]}
    },
    "PublicIp": {
         "Value" : {"Fn::GetAtt": ["WebServer","PublicIps"]}
    },
    "PrivateIp": {
         "Value" : {"Fn::GetAtt": ["WebServer","PrivateIps"]}
    }    
  }
}

如果需要在创建的时候指定自动释放时间,您需要加上一个参数AutoReleaseTime

{
  "ROSTemplateFormatVersion" : "2015-09-01",
  "Parameters": {
    "SourceInstanceId": {
      "Type": "String"
    },
    "Password": {
      "Type": "String",
      "NoEcho": "true",
      "Description": "实例的密码。8-30个字符,必须同时包含三项(大、小写字母,数字和特殊符号)"
    },
    "MinAmount": {
      "Type": "Number",
      "Default": 1
    },
    "MaxAmount": {
      "Type": "Number",
      "Default": 1
    },
    "AutoReleaseTime": {
      "Type": "String",
      "Description": "自动释放时间, 使用yyyy-MM-ddTHH:mm:ssZ格式的UTC0时间,相比北京时间减8个小时。暂时支持当前时间大于半个小时,不大于当年时间3年。"
    }
  },
  "Resources" : {
    "WebServer": {
      "Type": "ALIYUN::ECS::InstanceGroupClone",
      "Properties": {
        "SourceInstanceId": {"Ref": "SourceInstanceId"},
        "Password": {"Ref": "Password"},
        "MinAmount": {"Ref": "MinAmount"},
        "MaxAmount": {"Ref": "MaxAmount"},
        "AutoReleaseTime": {"Ref": "AutoReleaseTime"}
      }
    }
  },
  "Outputs": {
    "InstanceId": {
         "Value" : {"Fn::GetAtt": ["WebServer","InstanceIds"]}
    },
    "PublicIp": {
         "Value" : {"Fn::GetAtt": ["WebServer","PublicIps"]}
    },
    "PrivateIp": {
         "Value" : {"Fn::GetAtt": ["WebServer","PrivateIps"]}
    }    
  }
}

使用模板参数创建一组ECS实例

类似于创建一个ECS的实例,这里只需要添加新的参数MaxAmount,MinAmount, AutoReleaseTime即可。

{
  "ROSTemplateFormatVersion" : "2015-09-01",
  "Description": "一个简配的ecs实例,包括一个安全组,用户只需要指定imageId",
  "Parameters" : {
    "ImageId": {
      "Type" : "String",
      "Description": "镜像文件 ID,表示启动实例时选择的镜像资源"
    },
    "InstanceType": {
      "Type": "String",
      "Description": "实例的资源规格"
    },
    "SecurityGroupId": {
      "Type": "String",
      "Description": "安全组Id"
    },
    "MinAmount": {
      "Type": "Number",
      "Default": 1
    },
    "MaxAmount": {
      "Type": "Number",
      "Default": 1
    },
    "AutoReleaseTime": {
      "Type": "String",
      "Description": "自动释放时间, 使用yyyy-MM-ddTHH:mm:ssZ格式的UTC0时间,相比北京时间减8个小时。暂时支持当前时间大于半个小时,不大于当年时间3年。"
    }
  },
  "Resources" : {
    "WebServer": {
      "Type": "ALIYUN::ECS::InstanceGroup",
      "Properties": {
        "ImageId" : {"Ref": "ImageId"},
        "InstanceType": {"Ref": "InstanceType"},
        "SecurityGroupId": {"Ref": "SecurityGroupId"},
        "MinAmount": {"Ref": "MinAmount"},
        "MaxAmount": {"Ref": "MaxAmount"},
        "AutoReleaseTime": {"Ref": "AutoReleaseTime"}        
      }
    }
  },
  "Outputs": {
    "InstanceId": {
         "Value" : {"Fn::GetAtt": ["WebServer","InstanceIds"]}
    },
    "PublicIp": {
         "Value" : {"Fn::GetAtt": ["WebServer","PublicIps"]}
    },
    "PrivateIp": {
         "Value" : {"Fn::GetAtt": ["WebServer","PrivateIps"]}
    }    
  }
}  

如果需要创建IO优化的实例或者N2规格的机型,您还需要额外额外设置两个属性。"SystemDisk_Category": "cloud_efficiency" and "IoOptimized": "optimized"。 样例参照下文。

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": "一个简配的ecs实例,包括一个安全组,用户只需要指定imageId",
  "Parameters": {
    "AutoReleaseTime": {
      "Description": "自动释放时间, 使用yyyy-MM-ddTHH:mm:ssZ格式的UTC0时间,相比北京时间减8个小时。暂时支持当前时间大于半个小时,不大于当年时间3年。",
      "Type": "String"
    },
    "ImageId": {
      "Description": "镜像文件 ID,表示启动实例时选择的镜像资源",
      "Type": "String"
    },
    "InstanceType": {
      "Description": "实例的资源规格",
      "Type": "String"
    },
    "MaxAmount": {
      "Default": 1,
      "Type": "Number"
    },
    "MinAmount": {
      "Default": 1,
      "Type": "Number"
    },
    "SecurityGroupId": {
      "Description": "安全组Id",
      "Type": "String"
    }
  },
  "Resources": {
    "WebServer": {
      "Properties": {
        "AutoReleaseTime": {
          "Ref": "AutoReleaseTime"
        },
        "ImageId": {
          "Ref": "ImageId"
        },
        "InstanceType": {
          "Ref": "InstanceType"
        },
        "IoOptimized": "optimized",
        "MaxAmount": {
          "Ref": "MaxAmount"
        },
        "MinAmount": {
          "Ref": "MinAmount"
        },
        "SecurityGroupId": {
          "Ref": "SecurityGroupId"
        },
        "SystemDisk_Category": "cloud_efficiency"
      },
      "Type": "ALIYUN::ECS::InstanceGroup"
    }
  },
  "Outputs": {
    "InstanceId": {
      "Value": {
        "Fn::GetAtt": [
          "WebServer",
          "InstanceIds"
        ]
      }
    },
    "PrivateIp": {
      "Value": {
        "Fn::GetAtt": [
          "WebServer",
          "PrivateIps"
        ]
      }
    },
    "PublicIp": {
      "Value": {
        "Fn::GetAtt": [
          "WebServer",
          "PublicIps"
        ]
      }
    }
  }
}

欢饮提出您对资源编排的需求和反馈,谢谢!

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
存储 编解码 缓存
阿里云服务器实例规格选择参考:根据业务场景选择云服务器实例规格
在阿里云服务器的购买过程中,云服务器实例规格是很多用户最难选择的一个选项,因为阿里云有着多达几十种不同的实例规格,为此,阿里云官方在云服务器购买页面新推出了一个场景化选型推荐,用户可通过自己的上云场景结合场景化选型里面的业务场景和细分场景来选择适合自己的阿里云服务器实例规格,在很大程度上解决了新手用户在选择阿里云服务器实例规格上的困局。
111 11
阿里云服务器实例规格选择参考:根据业务场景选择云服务器实例规格
|
2天前
|
机器学习/深度学习 弹性计算 缓存
阿里云服务器经济型e实例与通用算力型u1实例对比分析与选择指南
在阿里云服务器的实例规格中,经济型e实例和通用算力型u1实例是很多个人和普通企业级用户常见的选择,经济型e实例与通用算力型u1实例的主要区别在于性能、应用场景及价格策略。本文将详细对比这两种实例的性能、应用场景及价格策略,以供参考。
|
3天前
|
弹性计算 开发框架 .NET
阿里云服务器购买教程及云服务器地域、实例、操作系统、带宽等参数选择指南
对于初次购买阿里云服务器的用户来说,想使用阿里云服务器搭建网站或者运行APP、小程序等项目,第一步就是要先购买阿里云服务器,下面小编以图文形式给大家介绍一下阿里云服务器的购买流程,以及购买过程中如何云服务器地域、实例、带宽等关键配置和选择这些参数的一些注意事项,以供参考。
|
11天前
|
存储 缓存 编解码
阿里云服务器2核8G、4核16G、8核32G选择经济型、通用算力型和计算型实例参考
如果我们计划购买的云服务器配置是2核8G、4核16G、8核32G配置,在阿里云目前的活动中,可选的实例规格有经济型e、通用算力型u1、通用型g7、通用型g8y等几个实例规格可选,由于不同实例规格的性能和价格及适用场景不同,因此,有的新手用户可能不知道如何选择,本文为大家介绍在2核8G、4核16G、8核32G这三种配置下,经济型、通用算力型和通用型实例的选择问题,以供参考。
|
10天前
|
存储 机器学习/深度学习 应用服务中间件
阿里云倚天云服务器实例:计算型c8y、通用型g8y、内存型r8y实例介绍
阿里云倚天云服务器是基于阿里云自研的倚天710 ARM架构CPU打造的高性能计算产品系列,它依托先进的第四代神龙架构,旨在为用户提供稳定可预期的超高效能体验。倚天云服务器在存储、网络性能及计算稳定性方面实现了显著提升,主要得益于其芯片级的快速路径加速技术。本文将深度解析阿里云倚天云服务器的计算型c8y、通用型g8y、内存型r8y实例,探讨其优势及适用场景,以供选择参考。
|
1月前
|
分布式计算 大数据 数据挖掘
阿里云服务器计算型c8i、通用型g8i、内存型r8i实例测评与价格参考
阿里云服务器计算型c8i、通用型g8i、内存型r8i实例是阿里云的第八代云服务器实例规格,是除了计算型c7和c8y、通用型g7与g8y、内存型r7与r8y之外同样深受用户喜欢的云服务器实例规格。本文将详细介绍阿里云第八代云服务器中的计算型c8i、通用型g8i、以及内存型r8i实例,包括它们的技术特性、适用场景以及最新的活动价格信息。
阿里云服务器计算型c8i、通用型g8i、内存型r8i实例测评与价格参考
|
1月前
|
Cloud Native Java 编译器
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
随着云计算技术的不断发展,云服务商们不断推出高性能、高可用的云服务器实例,以满足企业日益增长的计算需求。阿里云推出的倚天实例,凭借其基于ARM架构的倚天710处理器,提供了卓越的计算能力和能效比,特别适用于云原生、高性能计算等场景。然而,有的用户需要将传统基于x86平台的应用迁移到倚天实例上,本文将介绍如何将基于x86架构平台的应用迁移到阿里云倚天实例的服务器上,帮助开发者和企业用户顺利完成迁移工作,享受更高效、更经济的云服务。
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
|
1月前
|
存储 编解码 网络协议
阿里云服务器通用型g8y实例与通用型g7收费标准与性能区别参考
阿里云服务器通用型g7、通用型g8y实例都是阿里云目前活动中可选的通用型实例规格,它们同属于通用型实例,但是他们之间是有一些区别的。通用型g7属于第七代云服务器,而通用型g8y属于倚天云服务器,是最新一代的云服务器实例。本文为大家介绍一下它们在收费标准及性能方面的一些区别,以供参考。
阿里云服务器通用型g8y实例与通用型g7收费标准与性能区别参考
|
1月前
|
编解码 前端开发 安全
通过阿里云的活动购买云服务器时如何选择实例、带宽、云盘
在我们选购阿里云服务器的过程中,不管是新用户还是老用户通常都是通过阿里云的活动去买了,一是价格更加实惠,二是活动中的云服务器配置比较丰富,足可以满足大部分用户的需求,但是面对琳琅满目的云服务器实例、带宽和云盘选项,如何选择更适合自己,成为许多用户比较关注的问题。本文将介绍如何在阿里云的活动中选择合适的云服务器实例、带宽和云盘,以供参考和选择。
通过阿里云的活动购买云服务器时如何选择实例、带宽、云盘
|
1月前
|
弹性计算 运维 安全
阿里云轻量应用服务器和经济型e实例区别及选择参考
目前在阿里云的活动中,轻量应用服务器2核2G3M带宽价格为82元1年,2核2G3M带宽的经济型e实例云服务器价格99元1年,对于云服务器配置和性能要求不是很高的阿里云用户来说,这两款服务器配置和价格都差不多,阿里云轻量应用服务器和ECS云服务器让用户二选一,很多用户不清楚如何选择,本文来说说轻量应用服务器和经济型e实例的区别及选择参考。
阿里云轻量应用服务器和经济型e实例区别及选择参考

推荐镜像

更多