An instance configuration source is the template Auto Scaling uses to create Elastic Compute Service (ECS) instances or elastic container instances during scale-outs. Auto Scaling supports two types: launch templates and scaling configurations. Both specify the instance parameters for a scaling group, but they differ in parameter validation, versioning, and supported billing methods. If you are setting up a new scaling group and do not have an existing launch template, use a scaling configuration — it validates required parameters at creation time and prevents a whole class of scale-out failures.
Each scaling group can have only one active instance configuration source at a time. Enabling a new source immediately invalidates the current one.
Choose an instance configuration source
Use a scaling configuration when:
-
Your scaling group serves ECS instances or elastic container instances (ECI).
-
You need parameter validation at creation time — a scaling configuration won't save if required parameters like the image are missing, which eliminates a whole class of scale-out failures.
-
You need Pay-as-you-go or Spot Instance billing.
-
You want to select up to 20 instance types to increase the success rate of scale-outs.
Use a Launch Template when:
-
Your scaling group is ECS type only.
-
You already maintain launch templates in the ECS console and want to reuse them directly.
-
You need Subscription billing.
-
You need to manage multiple versioned configurations — launch templates support creating new versions without modifying the original. For example, you can create a base template without an image, then create a new version that adds the image and user data for a specific application release.
The following table summarizes the key differences.
| Launch template | Scaling configuration | |
|---|---|---|
| Supported scaling group type | ECS only | ECS and ECI |
| Parameter validation | None — all parameters are optional; a missing image causes scale-out failure | Required parameters validated at creation; a missing image blocks creation |
| Modifiable | Cannot modify existing versions; create a new version instead | Modifiable, but all changes are irreversible |
| Multiple instance types | Not supported natively; configure in Extend Configurations of Launch Template | Up to 20 instance types |
| Billing method | Subscription, Pay-as-you-go, Spot Instance | Pay-as-you-go, Spot Instance |
| Region and zone | Zone only | Not supported (inherited from scaling group) |
| VPC and vSwitch | Scaling group settings override template settings | Inherited from scaling group |
| Dedicated host / private pool | Not supported | Supported |
| IPv6 | Not supported | Supported |
Set an instance configuration source
There are three ways to set the instance configuration source for a scaling group.
Select Existing Instance
When you create a scaling group, set Instance Configuration Source to Select Existing Instance. Auto Scaling automatically creates a scaling configuration from the selected instance's parameters and enables the scaling group.
No new image is created. The scaling configuration uses the image ID from the original instance. If that image ID no longer exists, scale-outs will fail.
Launch Template
When you create a scaling group, set Instance Configuration Source to Launch Template and select an existing template. The scaling group is automatically enabled.
Create a scaling configuration
Create the scaling group first (set Instance Configuration Source to Create from Scratch — the group enters a Disabled state), then create a scaling configuration and apply it to the group. This approach gives you the most control over instance parameters.
Compare parameters
The parameters available differ across the three source types. The following tables show which parameters each source supports, organized by category.
Billing and instance
| Parameter | Scaling configuration | Existing instance | Launch template |
|---|---|---|---|
| Billing method | Pay-as-you-go, Spot Instance | Inherited from instance | Subscription, Pay-as-you-go, Spot Instance |
| Instance type | Supported (up to 20 types) | Inherited from instance | Supported |
| Image | Public, custom, shared, marketplace | Inherited from instance | Public, custom, shared, marketplace, community |
| Spot strategy / price limit | Supported | Supported | Supported |
| Instance name / hostname | Supported | Not inherited | Supported |
| User data | Supported | Supported | Supported |
| RAM role | Supported | Supported | Supported |
Storage
| Parameter | Scaling configuration | Existing instance | Launch template |
|---|---|---|---|
| System disk | Supported | Supported (category and size) | Supported |
| Data disk | Supported | Supported | Supported |
| Apsara File Storage NAS | Via OOS templates and lifecycle hooks | Not supported | Supported |
| Snapshot | Not supported | Not supported (SourceSnapshotId for data disk only) | Supported |
Network and security
| Parameter | Scaling configuration | Existing instance | Launch template |
|---|---|---|---|
| Security group | Supported (single and multiple) | SecurityGroupIds | SecurityGroupId |
| Elastic network interface | Supported | Not supported | Supported |
| Internet charge type / bandwidth | Supported | Supported | Supported |
| IPv6 address count | Supported | Not supported | Not supported |
| Deployment set | Supported | Supported | Not supported |
| HPC cluster | Supported | Supported | Not supported |
Dedicated resources and access
| Parameter | Scaling configuration | Existing instance | Launch template |
|---|---|---|---|
| Dedicated host | Supported | Not supported | Not supported |
| Private pool | Supported | Not supported | Not supported |
| Key pair | Supported | Supported | Supported |
| Logon credentials | Key Pair, Set Later | Inherited from instance | Key Pair, Inherit Password From Image, Set Later |
| Save As / configuration name | Save Auto Scaling Configuration (specify a name) | — | Save As: New Template or New Template Version |
| Resource group | Supported | Supported | Supported |
| Tags | Supported | Not supported | Supported |
| KMS key (disk encryption) | Supported | Supported | Supported |
| Auto snapshot policy | Supported | Not supported | Not supported |
For the full parameter list, see CreateScalingConfiguration, CreateLaunchTemplateVersion, and RunInstances.
Manage instance configuration sources
| Task | Description | User guide | API |
|---|---|---|---|
| Create a scaling group using an existing instance | Auto Scaling creates a scaling configuration from the instance and enables the group. | Create scaling groups, Create a scaling group based on an existing ECS instance | CreateScalingGroup |
| Create a scaling group using a launch template | Specify a launch template as the source when creating the group. | Create scaling groups | CreateScalingGroup |
| Create a scaling configuration for an ECS scaling group | Create and apply a scaling configuration after creating the scaling group. | Create a scaling configuration of the ECS type | CreateScalingConfiguration |
| Create a scaling configuration for an ECI scaling group | Create and apply a scaling configuration after creating the scaling group. | Create a scaling configuration of the Elastic Container Instance type | CreateEciScalingConfiguration |
| Switch to a different source | Modify the scaling group to specify a launch template, or create and apply a new scaling configuration. | Modify scaling groups, Apply scaling configurations | ModifyScalingGroup |
| Modify or delete a scaling configuration | Edit an existing scaling configuration or remove one that is no longer needed. All modifications are irreversible. | Modify or delete scaling configurations | ModifyScalingConfiguration, DeleteScalingConfiguration |
| Update the image in a scaling configuration | Replace the image in a scaling configuration to reflect updated application versions. | Update an image in a scaling configuration | — |