All Products
Search
Document Center

Auto Scaling:CreateScalingConfiguration

Last Updated:Feb 23, 2024

Creates a scaling configuration of the Elastic Compute Service (ECS) type. A scaling configuration is a template based on which ECS instances are automatically scaled out.

Usage notes

Auto Scaling automatically scales out ECS instances based on a scaling configuration. ECS instances can be configured in the following modes:

  • InstancePatternInfo.N: intelligent configuration mode. In this mode, you need to only specify the number of vCPUs, memory size, instance family, and maximum price. Auto Scaling selects an instance type that has the lowest price based on your configurations to create ECS instances. This mode is available only for scaling groups that reside in virtual private clouds (VPCs). This mode reduces the chance of scale-out failures caused by insufficient inventory of instance types.

  • InstanceType: Specify an instance type.

  • InstanceTypes.N: Specify multiple instance types.

  • InstanceTypeOverride.N: Specify multiple instance types and weights for the instance types.

  • Cpu and Memory: Specify the number of vCPUs and memory size. Auto Scaling determines a set of available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates ECS instances of the instance type that has the lowest unit price. This mode is available only if Scaling Policy is set to Cost Optimization Policy and the scaling configuration does not have a specified instance type.

Note

You cannot specify InstanceType, InstanceTypes.N, InstanceTypeOverride.N, and Cpu and Memory at the same time. You can specify InstanceType and InstancePatternInfo.N or specify InstanceTypes.N and InstancePatternInfo.N at the same time. If you specify InstanceType and InstancePatternInfo.N or specify InstanceTypes.N and InstancePatternInfo.N at the same time, Auto Scaling preferentially uses the instance types that are specified by InstanceType or InstanceTypes.N for scale-outs. If the instance types that are specified by InstanceType or InstanceTypes.N do not have sufficient inventory, Auto Scaling uses the instance types that are specified by InstancePatternInfo.N for scale-outs.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request parameters

Parameter

Type

Required

Example

Description

Action

String

Yes

CreateScalingConfiguration

The operation that you want to perform. Set the value to CreateScalingConfiguration.

ScalingGroupId

String

Yes

asg-bp14wlu85wrpchm0****

The ID of the scaling group for which you want to create a scaling configuration.

ImageId

String

No

centos6u5_64_20G_aliaegis****.vhd

The ID of the image that is used by Auto Scaling to automatically create instances.

Note

This parameter has the same effect as ImageName. You can specify this parameter or ImageName based on your business requirements. If you specify ImageName, ImageId is ignored. ImageId is optional.

ImageName

String

No

image****

The name of the image. The name must be unique within a region. You cannot use this parameter to specify images from Alibaba Cloud Marketplace.

Note

This parameter has the same effect as ImageId. You can specify this parameter or ImageId based on your business requirements. If you specify ImageId, ImageName is ignored. ImageName is optional.

InstanceType

String

No

ecs.g6.large

The ECS instance type. For more information, see Overview of instance families.

Note

You cannot specify InstanceType, InstanceTypes, InstanceTypeOverrides, and Cpu and Memory at the same time. You can specify InstanceType and InstancePatternInfos at the same time. If you specify InstanceType and InstancePatternInfos, Auto Scaling preferentially uses the instance type specified by InstanceType for scale-outs. If the specified instance type does not have sufficient inventory, Auto Scaling uses the instance type specified by InstancePatternInfos.

Cpu

Integer

No

2

The number of vCPUs.

You can specify the number of vCPUs and the memory size to define the range of instance types. For example, you can set CPU to 2 and Memory to 16 to specify instance types that have 2 vCPUs and 16 GiB of memory. If you specify CPU and Memory, Auto Scaling determines available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates instances of the instance type that is provided at the lowest price.

Note

You can specify CPU and Memory to define the range of instance types only if you set Scaling Policy to Cost Optimization Policy and no instance type is specified in the scaling configuration.

Memory

Integer

No

16

The memory size. Unit: GiB.

You can specify the number of vCPUs and the memory size to define the range of instance types. For example, you can set CPU to 2 and Memory to 16 to specify instance types that have 2 vCPUs and 16 GiB of memory. If you specify CPU and Memory, Auto Scaling determines available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates instances of the instance type that is provided at the lowest price.

Note

You can specify CPU and Memory to define the range of instance types only if you set Scaling Policy to Cost Optimization Policy and no instance type is specified in the scaling configuration.

DeploymentSetId

String

No

ds-bp1frxuzdg87zh4pz****

The ID of the deployment set of the ECS instances.

SecurityGroupId

String

No

sg-280ih****

The ID of the security group with which the ECS instances are associated. ECS instances that are associated with the same security group can communicate with each other.

IoOptimized

String

No

optimized

Specifies whether to create I/O optimized instances. Valid values:

  • none: does not create I/O optimized instances.

  • optimized: creates I/O optimized instances.

For instances of retired instance types, the default value is none. For instances of other instance types, the default value is optimized.

InternetChargeType

String

No

PayByTraffic

The billing method for network usage. Valid values:

  • PayByBandwidth: You are charged for the maximum available bandwidth that is specified by InternetMaxBandwidthOut.

  • PayByTraffic: You are charged for the actual data transfer. InternetMaxBandwidthOut specifies only the maximum available bandwidth.

For the classic network, the default value is PayByBandwidth. For VPCs, the default value is PayByTraffic.

InternetMaxBandwidthIn

Integer

No

100

The maximum inbound public bandwidth. Unit: Mbit/s. Valid values: 1 to 200.

Default value: 200. This parameter is not used for billing because inbound traffic of instances is free of charge.

InternetMaxBandwidthOut

Integer

No

50

The maximum outbound public bandwidth. Unit: Mbit/s. Valid values:

  • 0 to 1024 if you set InternetChargeType to PayByBandwidth. If you leave this parameter empty, this parameter is automatically set to 0.

  • 0 to 1024 if you set InternetChargeType to PayByTraffic. If you leave this parameter empty, an error is reported.

SystemDisk.Category

String

No

cloud_ssd

The category of the system disk. Valid values:

  • cloud: basic disk

  • cloud_efficiency: ultra disk

  • cloud_ssd: standard SSD

  • ephemeral_ssd: local SSD

  • cloud_essd: enhanced SSD (ESSD)

  • cloud_auto: ESSD AutoPL disk

If you specify SystemDisk.Category, you cannot specify SystemDiskCategories.N. If you do not specify SystemDisk.Category or SystemDiskCategories.N, the default value of SystemDisk.Category is used. For non-I/O optimized instances of Generation I instance types, the default value is cloud. For instances of other types, the default value is cloud_efficiency.

SystemDisk.Size

Integer

No

100

The size of the system disk. Unit: GiB. Valid values:

  • 20 to 500 if you set SystemDisk.Category cloud.

  • 20 to 500 if you set SystemDisk.Category to cloud_efficiency.

  • 20 to 500 if you set SystemDisk.Category to cloud_ssd.

  • 20 to 500 if you set SystemDisk.Category to cloud_essd.

  • 20 to 500 if you set SystemDisk.Category to cloud_essd.

The value of SystemDisk.Size must be greater than or equal to the value of max{20, ImageSize}.

Default value: 40 or the size of the image, whichever is greater.

SystemDisk.DiskName

String

No

cloud_ssdSystem

The name of the system disk. The name must be 2 to 128 characters in length. The name must start with a letter but cannot start with http:// or https://. The name can contain letters, digits, colons (:), underscores (_), and hyphens (-).

SystemDisk.Description

String

No

Test system disk.

The description of the system disk. The description must be 2 to 256 characters in length. The description can contain letters but cannot start with http:// or https://.

SystemDisk.AutoSnapshotPolicyId

String

No

sp-bp12m37ccmxvbmi5****

The ID of the automatic snapshot policy that you want to apply to the system disk.

SystemDisk.PerformanceLevel

String

No

PL0

The performance level (PL) of the system disk that is an ESSD. Valid values:

  • PL0: An ESSD can provide up to 10,000 random read/write IOPS.

  • PL1: An ESSD can provide up to 50,000 random read/write IOPS.

  • PL2: An ESSD can provide up to 100,000 random read/write IOPS.

  • PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.

Default value: PL0.

Note

For more information about how to select ESSD PLs, see ESSDs.

ScalingConfigurationName

String

No

scalingconfig****

The name of the scaling configuration. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (_), hyphens (-), and periods (.). The name must start with a letter or a digit.

The name of the scaling configuration must be unique in a region. If you do not specify this parameter, the ID of the scaling configuration is used.

LoadBalancerWeight

Integer

No

50

The weight of an ECS instance as a backend server. Valid values: 1 to 100.

Default value: 50.

Tags

String

No

{"key1":"value1","key2":"value2", ... "key5":"value5"}

The tags of the ECS instances. The tags must be specified in the key-value format. You can specify up to 20 tags for each instance. Take note of the following items when you specify tag keys and tag values:

  • A tag key can be up to 64 characters in length. The tag key cannot start with acs: or aliyun and cannot contain http:// or https://. You cannot specify an empty string as a tag key.

  • A tag value can be up to 128 characters in length. The tag value cannot start with acs: or aliyun and cannot contain http:// or https://. You can specify an empty string as a tag value.

UserData

String

No

echo hello ecs!

The user data of the ECS instances. The data must be encoded in Base64. The maximum size of the raw data before encoding is 16 KB.

KeyPairName

String

No

KeyPairTest

The name of the key pair that you want to use to log on to an ECS instance.

  • Windows instances do not support this parameter.

  • By default, the username and password authentication method is disabled for Linux instances.

RamRoleName

String

No

ramrole****

The name of the Resource Access Management (RAM) role that you want to attach to the ECS instances. This name is provided and maintained by RAM. You can call the ListRoles operation to query the available RAM roles. You can call the CreateRole operation to create RAM roles.

SecurityEnhancementStrategy

String

No

Active

Specifies whether to enable security hardening. Valid values:

  • Active: enables security hardening. This value is applicable to only public images.

  • Deactive: disables security hardening. This value is applicable to all image types.

InstanceName

String

No

instance****

The naming rule of the ECS instances that Auto Scaling creates based on the scaling configuration.

HostName

String

No

host****

The hostname of the ECS instances. The hostname cannot start or end with a period (.) or a hyphen (-). The hostname also cannot contain consecutive periods (.) or hyphens (-). Naming conventions for different types of instances:

  • Windows instances: The hostname must be 2 to 15 characters in length, and can contain letters, digits, and hyphens (-). The hostname cannot contain periods (.) or contain only digits.

  • Other instances, such as Linux instances: The hostname must be 2 to 64 characters in length. Separate multiple segments in a hostname with periods (.). Each segment can contain letters, digits, and hyphens (-).

SpotStrategy

String

No

NoSpot

The preemption policy that you want to apply to a pay-as-you-go or preemptible instance. Valid values:

  • NoSpot: The instance is created as a regular pay-as-you-go instance.

  • SpotWithPriceLimit: The instance is a preemptible instance that has a user-defined maximum hourly price.

  • SpotAsPriceGo: The instance is a preemptible instance for which the market price at the time of purchase is automatically used as the bidding price.

Default value: NoSpot.

PasswordInherit

Boolean

No

false

Specifies whether to use the password that is preconfigured for the image. Before you use this parameter, make sure that a password is configured for the image. Valid values:

  • true

  • false

Password

String

No

123abc****

The password of the ECS instance. The password must be 8 to 30 characters in length and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported:

()` ~!@#$%^&*-_+=\|{}[]:;'<>,.?/

For Windows instances, passwords cannot start with a forward slash (/).

Note

To ensure password security, we recommend that you use HTTPS to send requests if you specify Password.

ResourceGroupId

String

No

rg-resource****

The ID of the resource group to which the ECS instances belong.

HpcClusterId

String

No

hpc-clusterid

The ID of the Elastic High Performance Computing (E-HPC) cluster to which the ECS instances belong.

InstanceDescription

String

No

Test instance.

The description of the ECS instances. The description must be 2 to 256 characters in length. The description can contain letters but cannot start with http:// or https://.

ClientToken

String

No

123e4567-e89b-12d3-a456-42665544****

The client token that you want to use to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see Ensure idempotence.

Ipv6AddressCount

Integer

No

1

The number of randomly generated IPv6 addresses that you want to allocate to the elastic network interface (ENI).

CreditSpecification

String

No

Standard

The performance mode of the burstable instance. Valid values:

  • Standard: standard mode

  • Unlimited: unlimited mode

For more information, see the "Performance modes" section in the Overview topic.

ImageFamily

String

No

hangzhou-daily-update

The name of the image family. You can specify this parameter to obtain the latest available images in the current image family for instance creation. If you specify ImageId, you cannot specify ImageFamily.

ZoneId

String

No

cn-hangzhou-g

The zone ID of the ECS instances.

DedicatedHostId

String

No

dh-bp67acfmxazb4p****

The ID of the dedicated host on which you can create the ECS instance. Preemptible instances cannot be created on dedicated hosts. If you specify DedicatedHostId, SpotStrategy and SpotPriceLimit are ignored.

You can call the DescribeDedicatedHosts operation to query the IDs of dedicated hosts.

Affinity

String

No

default

Specifies whether to associate the ECS instance on a dedicated host with the dedicated host. Valid values:

  • default: does not associate the ECS instance with the dedicated host. If you restart an instance that was stopped in Economical Mode and the original dedicated host has insufficient resources, the instance is automatically deployed to another dedicated host in the automatic deployment resource pool.

  • host: associates the ECS instance with the dedicated host. If you restart an instance that was stopped in Economical Mode, the instance remains on the original dedicated host. If the original dedicated host has insufficient resources, the ECS instance cannot be restarted.

Default value: default.

Tenancy

String

No

default

Specifies whether to create the ECS instance on a dedicated host. Valid values:

  • default: creates the ECS instance on a non-dedicated host.

  • host: creates the ECS instance on a dedicated host. If you do not specify DedicatedHostId, Alibaba Cloud selects a dedicated host for the ECS instance.

Default value: default.

SchedulerOptions

Map

No

["testManagedPrivateSpaceId****"]

The scheduler options.

PrivatePoolOptions.MatchCriteria

String

No

Open

The type of the private pool. A private pool is generated when an elasticity assurance or a capacity reservation takes effect. You can select a private pool for Auto Scaling to start instances. Valid values:

  • Open: open private pool. Auto Scaling selects a matching open private pool to start instances. If no matching open private pools are found, Auto Scaling uses the resources in the public pool to start instances. In this case, you do not need to specify PrivatePoolOptions.Id.

  • Target: specified private pool. Auto Scaling uses the resources in the specified private pool to start instances. If the specified private pool is unavailable, Auto Scaling cannot start the instances. If you set this parameter to Target, you must specify PrivatePoolOptions.Id.

  • None: no private pool. Auto Scaling does not use the resources in private pools to start instances.

PrivatePoolOptions.Id

String

No

eap-bp67acfmxazb4****

The ID of the private pool. The ID of a private pool is the same as the ID of the elasticity assurance or capacity reservation for which the private pool is generated.

SpotDuration

Integer

No

1

The retention period of the preemptible instance. Unit: hours. Valid values:

  • 1: After a preemptible instance is created, Alibaba Cloud ensures that the instance is not automatically released within one hour. After the one-hour protection period ends, Alibaba Cloud compares the bidding price with the market price and checks the resource inventory to determine whether to release the instance.

  • 0: After a preemptible instance is created, Alibaba Cloud does not ensure that the instance is not automatically released within one hour. Alibaba Cloud compares the biding price with the market price and checks the resource inventory to determine whether to release the instance.

    Note

    Alibaba Cloud sends ECS system events to notify you five minutes before the instance is released. Preemptible instances are billed by second. We recommend that you specify a protection period based on your business requirements.

Default value: 1.

SpotInterruptionBehavior

String

No

Terminate

The interruption mode of the preemptible instance. Default value: Terminate. Set the value to Terminate. This value specifies that the preemptible instance is to be released.

InstanceTypes.N

String

No

ecs.g6.large

Instance type N. Valid values of N: 1 to 10.

The first instance type specified by InstanceTypes.N has the highest priority. The priority decreases based on the specified order of instance types. Auto Scaling preferentially creates instances by using the instance type that has the highest priority. If the creation fails, Auto Scaling creates instances by using the instance type that has the next highest priority.

Note

You cannot specify InstanceType, InstanceTypes, InstanceTypeOverrides, and Cpu and Memory at the same time. You can specify InstanceTypes and InstancePatternInfos at the same time. If you specify InstanceTypes and InstancePatternInfos at the same time, Auto Scaling preferentially uses the instance type specified by InstanceTypes for scale-outs. If the specified instance type does not have sufficient inventory, Auto Scaling uses the instance type specified by InstancePatternInfos for scale-outs.

InstanceTypeOverride.N.InstanceType

String

No

ecs.c5.xlarge

If you want to specify the weight of instance type N in the scaling configuration, you must specify InstanceTypeOverride.N.WeightedCapacity after you specify InstanceTypeOverride.N.InstanceType.

This parameter is used to specify the instance type. You can use InstanceTypeOverride.N.InstanceType to specify multiple instance types and use InstanceTypeOverride.N.WeightedCapacity to specify weights for the instance types. Valid values of N: 1 to 10.

Note

If you specify this parameter, you cannot specify InstanceTypes.N or InstanceType.

For information about valid values of InstanceType in InstanceTypeOverride.N.InstanceType, see Overview of instance families.

InstanceTypeOverride.N.WeightedCapacity

Integer

No

4

If you want to specify the weight of instance type N in the scaling configuration, specify InstanceTypeOverride.N.WeightedCapacity after you specify InstanceTypeOverride.N.InstanceType. The value of N in the two parameters must be the same.

This parameter specifies the weight of instance type N. The weight specifies the capacity of an instance of instance type N in the scaling group. A higher weight specifies that a smaller number of instances of instance type N are required to meet the expected capacity requirement.

Performance metrics such as the number of vCPUs and the memory size of each instance type may vary. You can specify different weights for different instance types based on your business requirements.

Example:

  • Current capacity: 0

  • Expected capacity: 6

  • Capacity of ecs.c5.xlarge: 4

To meet the expected capacity requirement, Auto Scaling must create and add two ecs.c5.xlarge instances.

Note

The capacity of the scaling group during a scale-out cannot exceed the sum of the maximum number of instances that is specified by MaxSize and the maximum weight of the instance types.

Valid values of WeightedCapacity in InstanceTypeOverride.N.WeightedCapacity: 1 to 500.

DataDisk.N.PerformanceLevel

String

No

PL1

The PL of data disk N that is an ESSD. If you set DataDisk.N.Category to cloud_essd, the value of N in this parameter must be the same as the value of N in DataDisk.N.Category. Valid values:

  • PL0: An ESSD can provide up to 10,000 random read/write IOPS.

  • PL1: An ESSD can provide up to 50,000 random read/write IOPS.

  • PL2: An ESSD can provide up to 100,000 random read/write IOPS.

  • PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.

Default value: PL1.

Note

For more information about how to select ESSD PLs, see ESSDs.

DataDisk.N.AutoSnapshotPolicyId

String

No

sp-bp19nq9enxqkomib****

The ID of the automatic snapshot policy that you want to apply to data disk N. Valid values of N: 1 to 16.

DataDisk.N.Encrypted

String

No

false

Specifies whether to encrypt data disk N. Valid values of N: 1 to 16. Valid values of this parameter:

  • true

  • false

Default value: false.

DataDisk.N.Description

String

No

Test data disk.

The description of data disk N. Valid values of N: 1 to 16. The description must be 2 to 256 characters in length. The description can contain letters but cannot start with http:// or https://.

DataDisk.N.SnapshotId

String

No

s-280s7****

The ID of the snapshot that you want to use to create data disk N. Valid values of N: 1 to 16. If you specify this parameter, DataDisk.N.Size is ignored. The size of the data disk is the same as the size of the specified snapshot.

If you specify a snapshot that was created on or before July 15, 2013, the operation fails and InvalidSnapshot.TooOld is returned.

DataDisk.N.Categories.N

String

No

cloud

Category N of data disk N. The first N in DataDisk.N.Categories.N represents the serial number of the data disk. Valid values of the first N: 1 to 16. The second N in DataDisk.N.Categories.N represents the serial number of the data disk category. Valid values of the second N: 1 to 4. A smaller value of N specifies a higher priority. If Auto Scaling cannot create instances by using the disk category that has the highest priority, Auto Scaling creates instances by using the disk category that has the next highest priority. Valid values:

  • cloud: basic disk. DeleteWithInstance of a basic disk that is created together with the ECS instance is set to true.

  • cloud_efficiency: ultra disk.

  • cloud_ssd: standard SSD.

  • cloud_essd: ESSD.

Note

If you specify this parameter, you cannot specify DataDisk.N.Category.

DataDisk.N.Size

Integer

No

100

The size of data disk N. Unit: GiB. Valid values of N: 1 to 16. Valid values:

  • 5 to 2000 if you set DataDisk.N.Category to cloud.

  • 20 to 32768 if you set DataDisk.N.Category to cloud_efficiency.

  • 20 to 32768 if you set DataDisk.N.Category to cloud_ssd.

  • 20 to 32768 if you set DataDisk.N.Category to cloud_essd.

  • 5 to 800 if you set DataDisk.N.Category to ephemeral_ssd.

The size of data disk N must be greater than or equal to the size of the snapshot that is specified by SnapshotId.

DataDisk.N.Device

String

No

/dev/xvdb

The mount target of data disk N. Valid values of N: 1 to 16. If you do not specify this parameter, the system automatically assigns a mount target when Auto Scaling creates ECS instances. The name of the mount target ranges from /dev/xvdb to /dev/xvdz.

DataDisk.N.DiskName

String

No

cloud_ssdData

The name of data disk N. Valid values of N: 1 to 16. The name must be 2 to 128 characters in length. The name must start with a letter but cannot start with http:// or https://. The name can contain letters, digits, colons (:), underscores (_), and hyphens (-).

DataDisk.N.Category

String

No

cloud_ssd

The category of data disk N. Valid values of N: 1 to 16. Valid values of this parameter:

  • cloud: basic disk. DeleteWithInstance of a basic disk that is created together with the ECS instance is set to true.

  • cloud_efficiency: ultra disk.

  • cloud_ssd: standard SSD.

  • ephemeral_ssd: local SSD.

  • cloud_essd: ESSD.

  • cloud_auto: ESSD AutoPL disk.

If you specify DataDisk.N.Category, you cannot specify DataDisk.N.Categories.N. If you do not specify DataDisk.N.Category or DataDisk.N.Categories.N, the default value of DataDisk.N.Category is used.

  • For I/O optimized instances, the default value is cloud_efficiency.

  • For non-I/O optimized instances, the default value is cloud.

DataDisk.N.DeleteWithInstance

Boolean

No

true

Specifies whether to release data disk N when the ECS instance to which data disk N is attached is released. Valid values of N: 1 to 16. Valid values of this parameter:

  • true

  • false

This parameter is available only for independent disks whose DataDisk.N.Category is set to cloud, cloud_efficiency, cloud_ssd, cloud_essd, or cloud_auto. If you specify this parameter for other disks, an error is reported.

Default value: true.

DataDisk.N.KMSKeyId

String

No

0e478b7a-4262-4802-b8cb-00d3fb40****

The ID of the Key Management Service (KMS) key that you want to use to encrypt data disk N. Valid values of N: 1 to 16.

DataDisk.N.ProvisionedIops

Long

No

100

The provisioned IOPS of data disk N.

Note

IOPS measures the number of read and write operations that an Elastic Block Storage (EBS) device can process per second.

DataDisk.N.BurstingEnabled

Boolean

No

false

Specifies whether to enable the Burst feature for data disk N. Valid values:

  • true

  • false

    Note

    This parameter is available only if you set DataDisk.Category to cloud_auto.

SpotPriceLimit.N.PriceLimit

Float

No

0.5

The price limit of preemptible instance N. Valid values of N: 1 to 10. This parameter is available only if you set SpotStrategy to SpotWithPriceLimit.

SpotPriceLimit.N.InstanceType

String

No

ecs.g6.large

The instance type of preemptible instance N. Valid values of N: 1 to 10. This parameter is available only if you set SpotStrategy to SpotWithPriceLimit.

SecurityGroupIds.N

String

No

sg-bp18kz60mefs****

The ID of security group N with which you want to associate the ECS instances. Valid values of N vary based on the maximum number of security groups with which an ECS instance can be associated. For more information, see the "Security group limits" section in the Limits topic.

Note

If you specify SecurityGroupId, you cannot specify SecurityGroupIds.N.

InstancePatternInfo.N.Cores

Integer

No

2

The number of vCPUs that you want to allocate to instance type N in intelligent configuration mode. You can specify this parameter to filter the instance types that meet the specified criteria. For more information, see Overview of instance families. Valid values of N: 1 to 10.

Take note of the following items:

  • InstancePatternInfo.N is available only for scaling groups that reside in VPCs.

  • You must specify InstancePatternInfo.N, InstancePatternInfo.N.Cores, and InstancePatternInfo.N.Memory at the same time.

  • If you specify an instance type by using InstanceType or InstanceTypes.N, Auto Scaling preferentially uses the instance type that is specified by InstanceType or InstanceTypes.N for scale-outs. If the specified instance type does not have sufficient inventory, Auto Scaling uses the lowest-priced instance type that is specified by InstancePatternInfo.N.

InstancePatternInfo.N.InstanceFamilyLevel

String

No

EnterpriseLevel

The level of instance type N in intelligent configuration mode. You can specify this parameter to filter the instance types that meet the specified criteria. Valid values:

  • EntryLevel: entry level (shared instance types) Instance types of this level are the most cost-effective but may not provide stable computing performance in a consistent manner. Instance types of this level are suitable for business scenarios in which the CPU utilization is low. For more information, see Shared instance families.

  • EnterpriseLevel: enterprise level. Instance types of this level provide stable computing performance and dedicated resources, and are suitable for scenarios that require high stability. For more information, see Overview of instance families.

  • CreditEntryLevel: credit entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which CPU utilization is low but may fluctuate in specific scenarios. For more information, see Overview of burstable instances.

Valid values of N: 1 to 10.

InstancePatternInfo.N.MaxPrice

Float

No.

2

The maximum price per hour for pay-as-you-go instance N or preemptible instance N in intelligent configuration mode. You can specify this parameter to filter the instance types that meet the specified criteria. Valid values of N: 1 to 10.

Note

If you set SpotStrategy to SpotWithPriceLimit, you must specify this parameter. In other cases, you do not need to specify this parameter.

InstancePatternInfo.N.Memory

Float

No

4

The memory size of instance type N in intelligent configuration mode. Unit: GiB. You can specify this parameter to filter the instance types that meet the specified criteria. For more information, see Overview of instance families. Valid values of N: 1 to 10.

InstancePatternInfo.N.ExcludedInstanceType.N

String

No

ecs.n1.small/ecs.n1.*/*7*

Instance type N that you want to exclude. You can use wildcard characters, such as an asterisk (*), to exclude an instance type or an instance family. Examples:

  • ecs.c6.large: excludes the ecs.c6.large instance type.

  • ecs.c6.*: excludes the c6 instance family.

InstancePatternInfo.N.Architecture.N

String

No

X86

Architecture N of instance type N. Valid values:

  • X86: x86

  • Heterogeneous: heterogeneous computing, such as GPU-accelerated or FPGA-accelerated

  • BareMetal: ECS Bare Metal Instance

  • Arm: Arm

  • SuperComputeCluster: Super Computing Cluster

By default, all values are selected.

InstancePatternInfo.N.BurstablePerformance

String

No

Include

Specifies whether to include burstable instance types. Valid values:

  • Exclude: does not include burstable instance types.

  • Include: includes burstable instance types.

  • Required: includes only burstable instance types.

Default value: Include.

SystemDiskCategories.N

String

No

cloud

Category N of the system disk. Valid values of N: 1 to 4. A smaller value of N specifies a higher priority. If Auto Scaling cannot create instances by using the disk category that has the highest priority, Auto Scaling creates instances by using the disk category that has the next highest priority. Valid values:

  • cloud: basic disk

  • cloud_efficiency: ultra disk

  • cloud_ssd: standard SSD

  • cloud_essd: ESSD

Note

If you specify this parameter, you cannot specify SystemDisk.Category.

SystemDisk.Encrypted

Boolean

No

false

Specifies whether to encrypt the system disk. Valid values:

  • true

  • false

Default value: false.

SystemDisk.KMSKeyId

String

No

0e478b7a-4262-4802-b8cb-00d3fb40****

The ID of the KMS key that you want to use to encrypt the system disk.

SystemDisk.EncryptAlgorithm

String

No

AES-256

The algorithm that you want to use to encrypt the system disk. Valid values:

  • AES-256

  • SM4-128

Default value: AES-256.

SystemDisk.ProvisionedIops

Long

No

100

The provisioned IOPS of the system disk.

Note

IOPS measures the number of read and write operations that an EBS device can process per second.

SystemDisk.BurstingEnabled

Boolean

No

false

Specifies whether to enable the Burst feature for the system disk. Valid values:

  • true

  • false

    Note

    This parameter is available only if you set SystemDisk.Category to cloud_auto.

ImageOptions.LoginAsNonRoot

Boolean

No

false

Specifies whether to use ecs-user to log on to an ECS instance. For more information, see Manage the logon username of an instance. Valid values:

  • true

  • false

Default value: false.

DeletionProtection

Boolean

No

false

Specifies whether to enable the Release Protection feature for the ECS instance. This parameter is applicable to only pay-as-you-go instances. You can use this parameter to specify whether an ECS instance can be directly released by using the ECS console or calling the DeleteInstance operation. Valid values:

  • true: enables Release Protection. In this case, you cannot release the ECS instance by using the ECS console or calling the DeleteInstance operation.

  • false: disables Release Protection. In this case, you can release the ECS instance by using the ECS console or calling the DeleteInstance operation.

Default value: false.

Note

Release Protection does not affect normal scale-ins. If you enable Release Protection for an ECS instance and the ECS instance meets the requirements defined in the scaling policy, the ECS instance can still be released during a scale-in.

StorageSetId

String

No

ss-bp67acfmxazb4p****

The ID of the storage set.

StorageSetPartitionNumber

Integer

No

2

The maximum number of partitions in the storage set. The value must be an integer greater than or equal to 2.

CustomPriorities.N.InstanceType

String

No

ecs.g6.large

You can use CustomPriorities to specify the priority of a custom ECS instance type + vSwitch combination. CustomPriorities.N.InstanceType specifies the ECS instance type in a custom combination.

Note

This parameter takes effect only if you set Scaling Policy to Priority Policy for your scaling group and the instance type specified by CustomPriorities.N.InstanceType is contained in the scaling configuration.

If Auto Scaling cannot create ECS instances by using the ECS instance type + vSwitch combination that has the highest priority, Auto Scaling automatically creates ECS instances by using the ECS instance type + vSwitch combination that has the next highest priority.

Note

If you specify priorities for only partial ECS instance type + vSwitch combinations, Auto Scaling preferentially uses the combinations that have specified priorities. When the combinations that have specified priorities do not provide sufficient inventory, Auto Scaling uses the combinations that do not have specified priorities based on the specified orders of vSwitches and instance types. Example: the specified order of vSwitches for your scaling group is vsw1 and vsw2 and the specified order of instance types in your scaling configuration is type1 and type 2. In addition, you use CustomPriorities to specify ["vsw2+type2", "vsw1+type2"]. In this example, the vsw2+type2 combination has the highest priority and the vsw2+type1 combination has the lowest priority. The vsw1+type2 combination has a higher priority than the vsw1+type1 combination.

CustomPriorities.N.VswitchId

String

No

vsw-bp14zolna43z266bq****

You can use CustomPriorities.N.VswitchId to specify the vSwitch ID in a custom ECS instance type + vSwitch combination.

Note

This parameter takes effect only if you set Scaling Policy to Priority Policy and the vSwitch specified by CustomPriorities.N.VswitchId is included in the vSwitch list of your scaling group.

Response parameters

Parameter

Type

Example

Description

ScalingConfigurationId

String

asc-bp1ffogfdauy0nu5****

The ID of the scaling configuration.

RequestId

String

473469C7-AA6F-4DC5-B3DB-A3DC0DE3****

The request ID.

Examples

Sample requests

http(s)://ess.aliyuncs.com/?Action=CreateScalingConfiguration
&ScalingGroupId=asg-bp14wlu85wrpchm0****
&ImageId=centos6u5_64_20G_aliaegis****.vhd
&ImageName=image****
&InstanceType=ecs.g6.large
&Cpu=2
&Memory=16
&DeploymentSetId=ds-bp1frxuzdg87zh4pz****
&SecurityGroupId=sg-280ih****
&IoOptimized=optimized
&InternetChargeType=PayByTraffic
&InternetMaxBandwidthIn=100
&InternetMaxBandwidthOut=50
&SystemDisk.Category=cloud_ssd
&SystemDisk.Size=100
&SystemDisk.DiskName=cloud_ssdSystem
&SystemDisk.Description=Test system disk.
&SystemDisk.AutoSnapshotPolicyId=sp-bp12m37ccmxvbmi5****
&SystemDisk.PerformanceLevel=PL0
&ScalingConfigurationName=scalingconfig****
&LoadBalancerWeight=50
&Tags={"key1":"value1","key2":"value2", ... "key5":"value5"}
&UserData=echo hello ecs!
&KeyPairName=KeyPairTest
&RamRoleName=ramrole****
&SecurityEnhancementStrategy=Active
&InstanceName=instance****
&HostName=host****
&SpotStrategy=NoSpot
&PasswordInherit=false
&Password=123abc****
&ResourceGroupId=rg-resource****
&HpcClusterId=hpc-clusterid
&InstanceDescription=Test instance.
&ClientToken=123e4567-e89b-12d3-a456-42665544****
&Ipv6AddressCount=1
&CreditSpecification=Standard
&ImageFamily=hangzhou-daily-update
&ZoneId=cn-hangzhou-g
&DedicatedHostId=dh-bp67acfmxazb4p****
&Affinity=default
&Tenancy=default
&PrivatePoolOptions.MatchCriteria=Open
&PrivatePoolOptions.Id=eap-bp67acfmxazb4****
&SpotDuration=1
&SpotInterruptionBehavior=Terminate
&InstanceTypes=["ecs.g6.large"]
&InstanceTypeOverride=[{"InstanceType":"ecs.c5.xlarge","WeightedCapacity":4}]
&DataDisk=[{"PerformanceLevel":"PL1","AutoSnapshotPolicyId":"sp-bp19nq9enxqkomib****","Encrypted":"false","Description":"Test data disk.","SnapshotId":"s-280s7****","Categories":["cloud"],"Size":100,"Device":"/dev/xvdb","DiskName":"cloud_ssdData","Category":"cloud_ssd","DeleteWithInstance":true,"KMSKeyId":"0e478b7a-4262-4802-b8cb-00d3fb40****","ProvisionedIops":100,"BurstingEnabled":false}]
&SpotPriceLimit=[{"PriceLimit":0.5,"InstanceType":"ecs.g6.large"}]
&SecurityGroupIds=["sg-bp18kz60mefs****"]
&InstancePatternInfo=[{"Cores":2,"InstanceFamilyLevel":"EnterpriseLevel","MaxPrice":2.0,"Memory":4.0,"ExcludedInstanceType":["ecs.n1.small/ecs.n1.*/*7*"],"Architecture":["X86"],"BurstablePerformance":"Include"}]
&SystemDiskCategories=["cloud"]
&SystemDisk.Encrypted=false
&SystemDisk.KMSKeyId=0e478b7a-4262-4802-b8cb-00d3fb40****
&SystemDisk.EncryptAlgorithm=AES-256
&SystemDisk.ProvisionedIops=100
&SystemDisk.BurstingEnabled=false
&ImageOptions.LoginAsNonRoot=false
&DeletionProtection=false
&StorageSetId=ss-bp67acfmxazb4p****
&StorageSetPartitionNumber=2
&CustomPriorities=[{"InstanceType":"ecs.g6.large","VswitchId":"vsw-bp14zolna43z266bq****"}]
&<Common request parameters>

Sample success responses

XML format

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateScalingConfigurationResponse>
    <ScalingConfigurationId>asc-bp1ffogfdauy0nu5****</ScalingConfigurationId>
    <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</CreateScalingConfigurationResponse>

JSON format

HTTP/1.1 200 OK
Content-Type:application/json

{
  "ScalingConfigurationId" : "asc-bp1ffogfdauy0nu5****",
  "RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}

Error codes

For a list of error codes, see Service error codes.

HTTP status code

Error code

Error message

Description

400

InstanceType.Mismatch

The specified scaling configuration and existing active scaling configuration have different instance type.

The instance type in the specified scaling configuration is different from the instance type in the current scaling configuration.

404

InvalidDataDiskSnapshotId.NotFound

Snapshot "XXX" does not exist.

The snapshot does not exist.

400

InvalidDataDiskSnapshotId.SizeNotSupported

The capacity of snapshot "XXX" exceeds the size limit of the specified disk category.

The size of the snapshot exceeds the maximum size that is allowed for the disk.

403

InvalidDevice.InUse

Device "XXX" has been occupied.

The mount target of the data disk is occupied.

400

InvalidImageId.InstanceTypeMismatch

The specified image does not support the specified instance type.

The specified image does not support the specified instance type.

404

InvalidImageId.NotFound

The specified image does not exist.

The specified image does not exist in your Alibaba Cloud account.

400

InvalidKeyPairName.NotFound

The specified KeyPairName does not exist in our records.

The key pair does not exist.

400

InvalidNetworkType.ForRAMRole

RAMRole can't be used For classic instance.

The network type of an instance is classic network. The classic network does not support RamRoleName.

400

InvalidParameter

The specified value of parameter KeyPairName is not valid.

The OS of the specified instance is Windows. Windows instances do not support KeyPairName.

400

InvalidParameter.Conflict

The value of parameter SystemDisk.Category and parameter DataDisk.N.Category are conflict.

The specified system disk category conflicts with the data disk category.

400

InvalidRamRole.NotFound

The specified RamRoleName does not exist.

The value of RamRoleName is invalid.

400

InvalidScalingConfigurationName.Duplicate

The specified value of parameter ScalingConfigurationName is duplicated.

The scaling configuration name already exists.

404

InvalidScalingGroupId.NotFound

The specified scaling group does not exist.

The specified scaling group does not exist in your Alibaba Cloud account.

400

InvalidSecurityGroupId.IncorrectNetworkType

The network type of specified security Group does not support this action.

The network type of the specified security group is different from the network type of the scaling group.

404

InvalidSecurityGroupId.NotFound

The specified security group does not exist.

The specified security group does not exist in your Alibaba Cloud account.

400

InvalidSecurityGroupId.VPCMismatch

The specified security group and the specified virtual switch are not in the same VPC.

The specified security group and vSwitch are not in the same VPC.

403

InvalidSnapshot.TooOld

This operation is denied because the specified snapshot is created before 2013-07-15.

The specified snapshot was created on or before July 15, 2013, and the request is rejected.

403

InvalidSystemDiskCategory.ValueUnauthorized

The system disk category is not authorized.

You do not have the permissions to create an ephemeral system disk.

400

InvalidUserData.Base64FormatInvalid

The specified parameter UserData must be base64 encoded.

The user data is not encoded in Base64.

400

InvalidUserData.SizeExceeded

The specified parameter UserData exceeds the size.

The user data size exceeds the upper limit.

403

QuotaExceeded.EphemeralDiskSize

Ephemeral disk size quota exceeded.

The total capacity of mounted ephemeral disks is greater than 2 TiB (2,048 GiB).

400

QuotaExceeded.ScalingConfiguration

Scaling configuration quota exceeded in the specified scaling group.

The maximum number of scaling configurations has been reached.

400

QuotaExceeded.SecurityGroupInstance

Instance quota exceeded in the specified security group.

The maximum number of ECS instances that can be associated with the specified security group has been reached.