ALIYUN::ECS::InstanceClone类型用于克隆一个ECS实例。
语法
{
"Type": "ALIYUN::ECS::InstanceClone",
"Properties": {
"DeletionProtection": Boolean,
"DiskMappings": List,
"LoadBalancerIdToAttach": String,
"Description": String,
"BackendServerWeight": Integer,
"Tags": List,
"SecurityGroupId": String,
"RamRoleName": String,
"ImageId": String,
"ResourceGroupId": String,
"SpotPriceLimit": String,
"InstanceChargeType": String,
"SourceInstanceId": String,
"Period": Number,
"SpotStrategy": String,
"Password": String,
"InstanceName": String,
"ZoneId": String,
"KeyPairName": String,
"InternetMaxBandwidthIn": Integer
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
ResourceGroupId | String | 否 | 否 | 实例所在的资源组ID。 | 无 |
SourceInstanceId | String | 是 | 否 | 待克隆的源ECS实例的ID。 | 克隆实例规格、镜像、带宽收费方式、带宽限制、网络类型等所有实例数据和设置。如果源ECS实例加入多个安全组,新实例会加入源实例的第一个安全组。 |
BackendServerWeight | Integer | 否 | 否 | ECS实例在负载均衡器实例中的权重。 | 取值范围:0~100。 默认值:100。 |
LoadBalancerIdToAttach | String | 否 | 否 | ECS实例待加入的负载均衡实例的ID。 | 无 |
Description | String | 否 | 否 | 描述信息。 | 最长支持256个字符。 |
ImageId | String | 否 | 是 | 用于启动ECS实例的镜像ID,包括公共镜像、自定义镜像和云市场镜像。 | 支持通过模糊的方式指定公共镜像ID,无需指定一个完整的公共镜像ID。例如:
|
SecurityGroupId | String | 否 | 否 | 新建实例所属安全组ID。 | 无 |
InstanceName | String | 否 | 是 | 实例名称。 | 长度为2~128个字符。必须以英文字母或汉字开头,不能以 |
Password | String | 否 | 否 | ECS实例登录密码。 | 长度为8~30个字符。 必须同时包含大写字母、小写字母、数字和特殊字符中的三种。 支持的特殊字符为: 如果指定该参数,必须使用HTTPS协议调用API,以免密码泄露。 |
DiskMappings | List | 否 | 是 | 需要挂载的磁盘。 | 最多支持16块磁盘。 更多信息,请参见DiskMappings属性。 |
Tags | List | 否 | 是 | 用户自定义标签。 | 最多支持20个标签,格式: 更多信息,请参见Tags属性。 |
ZoneId | String | 否 | 否 | 可用区ID。 | 无 |
InstanceChargeType | String | 否 | 否 | 实例的付费方式。 | 取值:
|
Period | Number | 否 | 否 | 付费周期。 | 取值:1、2、3、4、5、6、7、8、9、12、24、36。 单位:月。 若InstanceChargeType为PrePaid,此参数为必选;若InstanceChargeType为PostPaid,此参数为可选。 |
KeyPairName | String | 否 | 是 | ECS实例绑定的密钥对名称。 | Windows系统默认值为空。 在Linux系统中,如果指定该参数,Password的内容仍旧会被设置到实例中,但是密码登录方式会默认被禁止,采用密钥对验证登录。 |
RamRoleName | String | 否 | 否 | 实例RAM角色名称。 | 更多信息,请参见CreateRole - 创建角色和ListRoles - 获取角色列表。 |
SpotPriceLimit | String | 否 | 否 | 设置实例的每小时最高价格。 | 支持最多3位小数,当SpotStrategy取值为SpotWithPriceLimit时该参数生效。 |
SpotStrategy | String | 否 | 否 | 按量付费实例的竞价策略。 | 当InstanceChargeType取值为PostPaid时该参数生效。取值:
|
DeletionProtection | Boolean | 否 | 否 | 实例释放保护属性,指定是否支持通过控制台DeleteInstance接口释放实例。 | 取值:
|
InternetMaxBandwidthIn | Integer | 否 | 否 | 最大公网输出带宽设置。 | 单位为Mbps(兆比特每秒)。 取值范围为0~200。 默认值为200。 |
DiskMappings语法
"DiskMappings": [
{
"Category": String,
"DiskName": String,
"Description": String,
"Device": String,
"SnapshotId": String,
"PerformanceLevel": String,
"Size": String
}
]
DiskMappings属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Size | String | 是 | 否 | 数据盘大小。 | 取值范围:20~500。 单位:GB。 |
Category | String | 否 | 否 | 数据盘类型。 | 取值:
I/O优化实例的默认值为cloud_efficiency,非I/O优化实例的默认值为cloud。 |
DiskName | String | 否 | 否 | 数据盘名称。 | 长度为2~128个字符。必须以英文字母或汉字开头,不能以 |
PerformanceLevel | String | 否 | 否 | 创建ESSD云盘作为系统盘使用时,设置云盘的性能等级。 | 取值:
关于如何选择ESSD性能等级,请参见ESSD云盘。 |
Description | String | 否 | 否 | 描述信息。 | 长度范围:2~256个字符。 默认值为空。 |
Device | String | 否 | 否 | 挂载点。 | 该参数即将停止使用,为提高代码兼容性,建议您尽量不要使用该参数。 |
SnapshotId | String | 否 | 否 | 创建数据盘使用的快照。 | 无 |
Tags语法
"Tags": [
{
"Value": String,
"Key": String
}
]
Tags属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Key | String | 是 | 否 | 标签键。 | 长度为1~128个字符,不能以 |
Value | String | 否 | 否 | 标签值。 | 长度为0~128个字符,不能以 |
返回值
Fn::GetAtt
InstanceId:实例ID。由系统生成,实例的全局唯一标识。
PrivateIp:VPC类型实例的私网IP。当NetworkType为
vpc
时,该参数生效。InnerIp:Classic类型实例的私网IP。当 NetworkType为
classic
时,该参数生效。PublicIp:Classic类型实例的公网IP。当NetworkType为
classic
时,该参数生效。ZoneId:可用区ID。
HostName:实例的主机名称。
PrimaryNetworkInterfaceId:主网卡ID。
SecurityGroupIds:已创建实例的安全组ID列表。
示例
YAML
格式
ROSTemplateFormatVersion: '2015-09-01'
Description: Test ECS Instance Clone
Parameters:
RegionId:
Type: String
AssociationProperty: ALIYUN::ECS::RegionId
SourceInstanceId:
Type: String
AssociationProperty: ALIYUN::ECS::Instance::InstanceId
AssociationPropertyMetadata:
RegionId: ${RegionId}
Resources:
InstanceClone:
Type: ALIYUN::ECS::InstanceClone
Properties:
SourceInstanceId:
Ref: SourceInstanceId
JSON
格式
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "Test ECS Instance Clone",
"Parameters": {
"RegionId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::RegionId"
},
"SourceInstanceId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::Instance::InstanceId",
"AssociationPropertyMetadata": {
"RegionId": "${RegionId}"
}
}
},
"Resources": {
"InstanceClone": {
"Type": "ALIYUN::ECS::InstanceClone",
"Properties": {
"SourceInstanceId": {
"Ref": "SourceInstanceId"
}
}
}
}
}