All Products
Search
Document Center

Auto Scaling:CreateScalingConfiguration

Last Updated:Nov 26, 2024

Creates a scaling configuration. When you call the CreateScalingConfiguration operation, you can specify the scaling group ID, instance type, and image to create a scaling configuration of the Elastic Compute Service (ECS) type.

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: the 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 the 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 also reduces the risk of scale-out failures due to 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 price. This mode is available only if you set Scaling Policy to Cost Optimization Policy and the scaling configuration does not contain an instance type.

  • When you call the CreateScalingConfiguration operation to create a scaling configuration, you can use only one of the following methods to configure a primary elastic network interface (ENI) in each call. If you use both methods in a call, the call fails and an error message is returned.

    • Specify SecurityGroupId, SecurityGroupIds.N, and Ipv6AddressCount to configure primary ENI-related information.

    • Specify NetworkInterfaces.N to configure primary and secondary ENIs. In this case, specify at least one primary ENI. If you set NetworkInterfaces.N.InstanceType to Primary, a primary ENI is configured. If you set NetworkInterfaces.N.InstanceType to Secondary or leave the parameter empty, a secondary ENI is configured.

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 InstanceTypes.N and InstancePatternInfo.N at the same time. If you specify InstanceType and InstancePatternInfo.N or InstanceTypes.N and InstancePatternInfo.N at the same time, Auto Scaling preferentially uses the instance types that are specified by InstanceType or InstanceTypes.N during scale-out events. If the instance types that are specified by InstanceType or InstanceTypes.N have insufficient inventory, Auto Scaling uses the instance types that are specified by InstancePatternInfo.N during scale-out events.

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 used by Auto Scaling to create ECS 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 in 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 InstancePatternInfo at the same time. If you specify InstanceType and InstancePatternInfo at the same time, Auto Scaling preferentially uses the instance type specified by InstanceType during scale-out events. If the specified instance type has insufficient inventory, Auto Scaling uses the instance type specified by InstancePatternInfo during scale-out events.

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 the 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 has 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 specify no instance type 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 the 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 specify no instance type in the scaling configuration.

DeploymentSetId

String

No

ds-bp1frxuzdg87zh4pz****

The ID of the deployment set to which ECS instances that you create from the scaling configuration belong.

SecurityGroupId

String

No

sg-280ih****

The ID of the security group to which ECS instances that you create from the scaling configuration belong. ECS instances that belong to the same security group can communicate with each other.

IoOptimized

String

No

optimized

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

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

  • optimized: creates I/O optimized ECS instances.

For retired instance types, the default value of this parameter is none. For other instance types, the default value of this parameter 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 amount of transferred data. InternetMaxBandwidthOut specifies only the maximum available bandwidth.

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

InternetMaxBandwidthIn

Integer

No

10

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

  • If the purchased outbound public bandwidth is less than or equal to 10 Mbit/s, the valid values of this parameter are 1 to 10 and the default value is 10.

  • If the purchased outbound public bandwidth is greater than 10 Mbit/s, the valid values of this parameter are 1 to the InternetMaxBandwidthOut value and the default value is the InternetMaxBandwidthOut value.

InternetMaxBandwidthOut

Integer

No

10

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

Default value: 0.

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: Enterprise 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 of this parameter is cloud. For instances of other types, the default value of this parameter 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 to 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 ephemeral_ssd.

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, and can contain letters, digits, colons (:), underscores (_), and hyphens (-). It must start with a letter but cannot start with http:// or https://.

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

PL1

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: PL1.

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 leave this parameter empty, the ID of the scaling configuration is used.

LoadBalancerWeight

Integer

No

50

The load balancing weight of each ECS instance. Valid values: 1 to 100.

Default value: 50.

Tags

String

No

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

The tags of ECS instances. Specify the tags in the key-value pair format. You can specify up to 20 tags for each ECS instance. When you specify tag keys and tag values, take note of the following items:

  • A tag key can be up to 64 characters in length. It 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. It 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

ZWNobyBoZWxsbyBlY3Mh

The user data of ECS instances. Encode the user data in the Base64 format. The raw data before Base64 encoding cannot exceed 32 KB in size.

KeyPairName

String

No

KeyPairTest

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

  • 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 ECS instances. The 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 the Security Hardening feature. Valid values:

  • Active: enables the Security Hardening feature. This value applies only to public images.

  • Deactive: disables the Security Hardening feature. This value applies to all image types.

InstanceName

String

No

instance****

The name series of ECS instances created by Auto Scaling from the scaling configuration.

HostName

String

No

host****

The hostname series of ECS instances created by Auto Scaling from the scaling configuration. A hostname cannot start or end with a period (.) or a hyphen (-). A hostname cannot contain consecutive periods (.) or hyphens (-). Naming conventions:

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

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

SpotStrategy

String

No

NoSpot

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

  • NoSpot: The ECS instances are created as regular pay-as-you-go instances.

  • SpotWithPriceLimit: The ECS instances are preemptible instances that have a user-defined maximum hourly price.

  • SpotAsPriceGo: The ECS instances are created as preemptible instances 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 in the image. To use this parameter, make sure that a password is configured in the specified image. Valid values:

  • true

  • false

Password

String

No

123abc****

The password series of ECS instances. A 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 any of the following special characters:

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

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

Note

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

ResourceGroupId

String

No

rg-resource****

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

HpcClusterId

String

No

hpc-clusterid

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

InstanceDescription

String

No

Test instance.

The description of 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 is used 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 ENI.

CreditSpecification

String

No

Standard

The performance mode of burstable instances. Valid values:

  • Standard: the standard mode.

  • Unlimited: the 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 most recent list of 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 ECS instances.

DedicatedHostId

String

No

dh-bp67acfmxazb4p****

The ID of the dedicated host on which ECS instances can be created. 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 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 in Economical Mode, the instance remains on the original dedicated host. If the original dedicated host has insufficient resources, you cannot restart the ECS instance.

Default value: default.

Tenancy

String

No

default

Specifies whether to create ECS instances on dedicated hosts. Valid values:

  • default: does not create ECS instances on dedicated hosts.

  • host: creates ECS instances on dedicated hosts. If you do not specify DedicatedHostId, Alibaba Cloud automatically selects dedicated hosts to create ECS instances.

Default value: default.

SchedulerOptions

Map

No

["testManagedPrivateSpaceId****"]

The scheduler options.

PrivatePoolOptions.MatchCriteria

String

No

Open

The type of private pool that you want to use to start ECS instances. A private pool is generated when an elasticity assurance or a capacity reservation takes effect. You can select a private pool to start ECS instances. Valid values:

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

  • Target: the specified private pool. Auto Scaling uses the resources in the specified private pool to start ECS instances. If the specified private pool does not exist, the restart operation fails. 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 ECS 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 protection period of preemptible instances. Unit: hours. Valid values:

  • 1: After a preemptible instance is created, Alibaba Cloud ensures that the instance is not automatically released within 1 hour. After the 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 1 hour. Alibaba Cloud compares the bidding 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 5 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 preemptible instances. Set the value to Terminate. This value specifies that the preemptible instance can 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 this parameter 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 InstancePatternInfo at the same time. If you specify InstanceTypes and InstancePatternInfo at the same time, Auto Scaling preferentially uses the instance type specified by InstanceTypes during scale-out events. If the specified instance type has insufficient inventory, Auto Scaling uses the instance type specified by InstancePatternInfo during scale-out events.

InstanceTypeOverride.N.InstanceType

String

No

ecs.c5.xlarge

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

This parameter specifies instance type N. 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 the 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 an instance type 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 achieve the expected capacity.

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.

Sample capacity configurations:

  • Current capacity: 0.

  • Expected number: 6.

  • Capacity of ecs.c5.xlarge: 4.

To achieve the expected capacity, Auto Scaling scales out two ecs.c5.xlarge instances.

Note

The total capacity of the scaling group is limited and cannot exceed the sum of the maximum group size specified by MaxSize and the highest weight assigned to an instance type.

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 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 is 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 disks by using the disk category that has the highest priority, it creates disks by using the disk category that has the next highest priority. Valid values:

  • cloud: basic disk. The DeleteWithInstance attribute of a basic disk that is created together with an 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 leave this parameter empty, 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, and can contain letters, digits, colons (:), underscores (_), and hyphens (-). It must start with a letter but cannot start with http:// or https://.

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. The DeleteWithInstance attribute of a basic disk that is created together with an 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 of this parameter is cloud_efficiency.

  • For non-I/O optimized instances, the default value of this parameter 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 refers to 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 takes effect only if you set DataDisk.Category to cloud_auto.

For more information, see ESSD AutoPL disks.

SpotPriceLimit.N.PriceLimit

Float

No

0.5

The price limit of preemptible instance N. Valid values of N: 1 to 10. This parameter takes effect 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 takes effect only if you set SpotStrategy to SpotWithPriceLimit.

SecurityGroupIds.N

String

No

sg-bp18kz60mefs****

The ID of security group N to which ECS instances belong. The valid values of N vary based on the security group quota of each ECS instance. 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 obtain the instance types that meet the specified criteria. For more information, see Overview of instance families. Valid values of N: 1 to 10.

When you specify this parameter, take note of the following items:

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

  • If you specify InstancePatternInfo.N, you must specify InstancePatternInfo.N.Cores and InstancePatternInfo.N.Memory.

  • 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 during scale-out events. If the specified instance type has insufficient inventory, Auto Scaling uses the lowest-priced instance type that is specified by InstancePatternInfo.N during scale-out events.

InstancePatternInfo.N.InstanceFamilyLevel

String

No

EnterpriseLevel

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

  • EntryLevel: entry level (shared instance type). Instance types of this level are the most cost-effective but may not ensure consistent computing performance. 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 performance and dedicated resources and are suitable for business 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 the CPU utilization is low but may fluctuate in specific cases. 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 of pay-as-you-go instance N or preemptible instance N in intelligent configuration mode. You can specify this parameter to obtain the instance types that meet the specified criteria. Valid values of N: 1 to 10.

Note

If you set SpotStrategy to SpotWithPriceLimit, this parameter is required. In other cases, this parameter is optional.

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 obtain 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 the asterisk (*) wildcard character to exclude an instance type or 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

The architecture type of instance type N. Valid values:

  • X86: x86.

  • Heterogeneous: heterogeneous computing, such as GPUs and FPGAs.

  • BareMetal: ECS Bare Metal Instance.

  • Arm: Arm.

  • SuperComputeCluster: Super Computing Cluster (SCC).

By default, all values are selected.

InstancePatternInfo.N.BurstablePerformance

String

No

Include

Specifies whether to include burstable instance types. Valid values:

  • Exclude: excludes burstable instance types.

  • Include: includes burstable instance types.

  • Required: includes only burstable instance types.

Default value: Include.

InstancePatternInfo.N.InstanceTypeFamilies.N

String

No

ecs.g6

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

InstancePatternInfo.N.MinimumCpuCoreCount

Integer

No

2

The minimum number of vCPUs per instance type.

InstancePatternInfo.N.MaximumCpuCoreCount

Integer

No

4

The maximum number of vCPUs per instance type.

Note

The value of MaximumCpuCoreCount cannot exceed four times the value of MinimumCpuCoreCount.

InstancePatternInfo.N.GpuSpecs.N

String

No

NVIDIA V100

The GPU model.

InstancePatternInfo.N.InstanceCategories.N

String

No

Compute-optimized with GPU

Category N of ECS instances. Valid values:

Note

Valid values of N: 1 to 10.

  • General-purpose

  • Compute-optimized

  • Memory-optimized

  • Big data

  • Local SSDs

  • High Clock Speed

  • Enhanced

  • Shared

  • Compute-optimized with GPU

  • Visual Compute-optimized

  • Heterogeneous Service

  • Compute-optimized with FPGA

  • Compute-optimized with NPU

  • ECS Bare Metal

  • Super Computing Cluster

  • High Performance Compute

InstancePatternInfo.N.CpuArchitectures.N

String

No

X86

CPU architecture N of ECS instances. Valid values:

Note

Valid values of N: 1 to 2.

  • X86

  • Arm

InstancePatternInfo.N.PhysicalProcessorModels.N

String

No

Intel Xeon(Ice Lake) Platinum 8369B", "Intel Xeon(Skylake) Platinum 8163", … "Intel Xeon(Cascade Lake) Platinum 8269CY

Processor model N of ECS instances. Valid values of N: 1 to 10.

InstancePatternInfo.N.MinimumEniQuantity

Integer

No

2

The minimum number of ENIs per instance.

InstancePatternInfo.N.MinimumEniPrivateIpAddressQuantity

Integer

No

2

The minimum number of IPv4 addresses per ENI.

InstancePatternInfo.N.MinimumEniIpv6AddressQuantity

Integer

No

1

The minimum number of IPv6 addresses per ENI.

InstancePatternInfo.N.MinimumInitialCredit

Integer

No

12

The initial vCPU credits per t5 or t6 burstable instance.

InstancePatternInfo.N.MinimumBaselineCredit

Integer

No

12

The initial vCPU credits per t5 or t6 burstable instance.

InstancePatternInfo.N.MinimumMemorySize

Float

No

4

The minimum memory size per instance. Unit: GiB.

InstancePatternInfo.N.MaximumMemorySize

Float

No

4

The maximum memory size per instance. Unit: GiB.

InstancePatternInfo.N.MinimumGpuAmount

Integer

No

2

The minimum number of GPUs per instance. The value must be a positive integer.

InstancePatternInfo.N.MaximumGpuAmount

Integer

No

2

The maximum number of GPUs per instance. The value must be a positive integer.

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 disks by using the disk category that has the highest priority, it creates disks 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 refers to 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 takes effect only if you set SystemDisk.Category to cloud_auto.

For more information, see ESSD AutoPL disks.

ImageOptions.LoginAsNonRoot

Boolean

No

false

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

  • true

  • false

Default value: false.

DeletionProtection

Boolean

No

false

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

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

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

Default value: false.

Note

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

StorageSetId

String

No

ss-bp67acfmxazb4p****

The ID of the storage set.

StorageSetPartitionNumber

Integer

No

2

The maximum number of partitions in the storage set. Valid values: integers 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 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, it automatically creates ECS instances by using the ECS instance type + vSwitch combination that has the next highest priority.

Note

If you specify priorities only for specific ECS instance type + vSwitch combinations, Auto Scaling preferentially uses the combinations that have the specified priorities to create instances. If the combinations do not provide sufficient resources, Auto Scaling uses the combinations that do not have the specified priorities to create instances based on the specified orders of vSwitches and instance types. Example: The specified order of vSwitches of the scaling group is vsw1 and vsw2, and the specified order of instance types in the 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.

NetworkInterfaces.N.InstanceType

String

No

Primary

The ENI type. If you specify NetworkInterfaces.N, specify at least one primary ENI. You cannot specify SecurityGroupId or SecurityGroupIds.N. Valid values:

  • Primary: the primary ENI.

  • Secondary: the secondary ENI.

Default value: Secondary.

NetworkInterfaces.N.NetworkInterfaceTrafficMode

String

No

HighPerformance

The communication mode of the ENI. Valid values:

  • Standard: uses the TCP communication mode.

  • HighPerformance: enables the Elastic RDMA Interface (ERI) and uses the remote direct memory access (RDMA) communication mode.

Default value: Standard.

Note

The number of ERIs per instance cannot exceed the maximum number of ERIs supported by the instance type of the instance. For more information, see Overview of instance families.

NetworkInterfaces.N.Ipv6AddressCount

Integer

No

1

The number of randomly generated IPv6 addresses that you want to assign to primary ENI N. When you specify this parameter, take note of the following items:

  • This parameter takes effect only if you set NetworkInterfaces.N.InstanceType to Primary.

  • If you set NetworkInterface.N.InstanceType to Secondary or leave the parameter empty, you cannot specify this parameter.

  • If you specify this parameter, you cannot specify Ipv6AddressCount.

NetworkInterfaces.N.SecurityGroupIds.N

String

No

sg-uf6ij8dwxh****

The ID of security group N to which ENI N belongs. When you specify this parameter, take note of the following items:

  • If you set NetworkInterfaces.N.InstanceType to Primary, you must specify this parameter. In this case, this parameter provides the same effect as SecurityGroupIds.N. You cannot specify SecurityGroupId or SecurityGroupIds.N.

  • If you set NetworkInterfaces.N.InstanceType to Secondary or leave the parameter empty, this parameter is optional. The default value is the ID of the security group to which ECS instances belong.

DedicatedHostClusterId

String

No

dc-2zedxc67zqzt7lb4****

The ID of the dedicated host cluster.

SecurityOptions.ConfidentialComputingMode

String

No

TDX

The confidential computing mode. Valid values:

HttpEndpoint

String

No

enabled

Specifies whether the access channel is enabled for instance metadata. Valid values:

  • enabled

  • disabled

Default value: enabled.

Note

For more information about instance metadata, see Overview of ECS instance metadata.

HttpTokens

String

No

optional

Specifies whether the security hardening mode IMDSv2 is forcefully used to access instance metadata. Valid values:

  • optional: does not forcefully use the security hardening mode (IMDSv2).

  • required: forcefully uses the security hardening mode (IMDSv2). After you set this parameter to required, you cannot access instance metadata in normal mode.

Default value: optional.

Note

For more information about modes of accessing instance metadata, see Access mode of instance metadata.

Response parameters

Parameter

Type

Example

Description

ScalingConfigurationId

String

asc-bp1ffogfdauy0nu5****

The scaling configuration ID.

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=10
&InternetMaxBandwidthOut=10
&SystemDisk.Category=cloud_ssd
&SystemDisk.Size=100
&SystemDisk.DiskName=cloud_ssdSystem
&SystemDisk.Description=Test system disk.
&SystemDisk.AutoSnapshotPolicyId=sp-bp12m37ccmxvbmi5****
&SystemDisk.PerformanceLevel=PL1
&ScalingConfigurationName=scalingconfig****
&LoadBalancerWeight=50
&Tags={"key1":"value1","key2":"value2", ... "key5":"value5"}
&UserData=ZWNobyBoZWxsbyBlY3Mh
&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","InstanceTypeFamilies":["ecs.g6"],"MinimumCpuCoreCount":2,"MaximumCpuCoreCount":4,"GpuSpecs":["NVIDIA V100"],"InstanceCategories":["Compute-optimized with GPU"],"CpuArchitectures":["X86"],"PhysicalProcessorModels":["Intel Xeon(Ice Lake) Platinum 8369B\", \"Intel Xeon(Skylake) Platinum 8163\", … \"Intel Xeon(Cascade Lake) Platinum 8269CY"],"MinimumEniQuantity":2,"MinimumEniPrivateIpAddressQuantity":2,"MinimumEniIpv6AddressQuantity":1,"MinimumInitialCredit":12,"MinimumBaselineCredit":12,"MinimumMemorySize":4.0,"MaximumMemorySize":4.0,"MinimumGpuAmount":2,"MaximumGpuAmount":2}]
&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****"}]
&NetworkInterfaces=[{"InstanceType":"Primary","NetworkInterfaceTrafficMode":"HighPerformance","Ipv6AddressCount":1,"SecurityGroupIds":["sg-uf6ij8dwxh****"]}]
&DedicatedHostClusterId=dc-2zedxc67zqzt7lb4****
&SecurityOptions={"ConfidentialComputingMode":"TDX"}
&HttpEndpoint=enabled
&HttpTokens=optional
&<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

Description

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 specified key pair does not exist.

400

InvalidNetworkType.ForRAMRole

RAMRole can't be used For classic instance.

An instance uses the 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.

A scaling configuration that has the same 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 is 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 size of the user data 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.

400

InvalidSecurityGroupId.IncorrectType

The managed security group "XXX" is not supported.

The managed security group named XXX is not supported.