Amazon EC2 Launch Configurations deprecation
Users of AWS Launch Configurations will have received communication from AWS this week concerning the deprecation of new EC2 instances within EC2 Launch Configurations.
This comes following AWS's announcement last year that Launch Configurations were being phased out, with the newer Launch Templates replacing them.
The change announced this week further cements the need to migrate away from Launch Configurations in order to make use of newer instance types like the range of instances utilising the new arm64 Graviton processors. While existing t4g, r6g, m6g and c6g instance types are available in Launch Configurations currently, any newer instance types will not be available.
Launch Configurations vs Launch Templates
An EC2 Launch Configuration is an instance configuration template that an Auto Scaling group uses to launch EC2 instances. The Launch Configuration specifies information for the instances, including the ID of the Amazon Machine Image (AMI), the instance type, the key pair used for SSH access, and details of the security groups associated with the instance.
Launch Configurations were released all the way back in 2010, and users of EC2 that have previously used Launch Configurations, or users of Elastic Beanstalk on older platform versions will likely have used Launch Configurations and may be affected by this change.
The successor to Launch Configurations is Launch Templates which AWS released in 2017 as a way to simplify the launch process for Auto Scaling and On-Demand Instances. Just like Launch Configurations, Launch Templates define the steps required to create an instance, by recording all required instance parameters in a resource that can be used across multiple services. AWS have maintained Launch Configurations alongside Launch Templates but the newer features added to Launch Templates have not been backported to Launch Configurations.
Launch Templates also have a range of other benefits over Launch Configurations, including the ability to mix instance and CPU architectures and improved governance through the use of IAM controls and versioning of the templates.
Launch Configuration deprecation schedule
The annoucement from AWS provides the following key dates:
- December 31, 2022 - No new EC2 features or new EC2 instance types will be added to launch configurations after this date.
- March 31, 2023 - New accounts created after this date will not be able to create new launch configurations via the console. API and CLI access will remain available to support customers with automation use cases.
- December 31, 2023 - New accounts created after this date will not be able to create new launch configurations.
Removing deprecated Launch Configurations from Elastic Beanstalk
Users of older Elastic Beanstalk platform versions may have Launch Configurations stored in the EC2 console that were created originally by the Elastic Beanstalk engine.
In order to migrate away from Launch Configurations used from Elastic Beanstalk, it will be necessary to re-platform your Elastic Beanstalk application onto a newer, supported platform version. In doing so, and once your old EB application has been terminated, the Launch Configurations used for the old platform version will be removed automatically during the EB termination process.