They’re Here – Longer EC2 Resource IDs Now Available
Last November I gave you a heads-up that we planned to increase the length of the resource IDs for EC2 instances, reservations, volumes, and snapshots in early 2016. We are now entering a transition period that will last until early December (2016). During this period, you can opt in to the new format (a resource identifier followed by a 17-character string) on a region-by-region, user-by-user, type-by-type basis. Once you opt in for a given region and IAM user (or for the root account), newly created resources will receive the longer IDs.
Effective today, you can opt in to the new format for EC2 instances and EC2 reservations. Each reservation represents the results of a single instance launch request, and can be associated with multiple instances.
If you build libraries, tools, or applications that make direct calls to the AWS API, now is the time to opt in and to start your testing process! If you store the IDs in memory or in a database, take a close look at fixed-length fields, data structures, schema elements, string operations, and regular expressions. Resources that were created before you opt in will retain their existing short identifiers; be sure that your revised code can still handle them!
You can opt in to the new format using the AWS Management Console, the AWS Command Line Interface (AWS CLI), the AWS Tools for Windows PowerShell, or though an API function.You can also opt out if your testing uncovers issues that you need to address.
Opting In – Console
To opt in via the Console, simply log in, choose EC2, and click on Resource ID length management:
Then click on Use Longer IDs for the desired resource types:
Opting In – AWS CLI
To opt in using the AWS CLI, use the
modify-id-format command and specify the desired resource type:
$ aws ec2 modify-id-format --resource instance --use-long-ids
You can opt out like this:
$ aws ec2 modify-id-format --resource instance --no-use-long-ids
Opting In – AWS Tools for Windows PowerShell
To opt in using the AWS Tools for Windows PowerShell, use the
Edit-EC2IdFormat cmdlet and specify the desired resource type:
PS C:\> Edit-EC2IdFormat -Resource instance -UseLongId True
You can opt out like this:
PS C:\> Edit-EC2IdFormat -Resource instance -UseLongId False
Opting In – AWS SDKs
To opt in from your own tools or application code, call the
ModifyIdFormat function, specify the resource type (instance or reservation), and set the UseLongIds parameter to True.
Things to Know
You can opt in at the IAM user or account level. After you have opted in, newly created resources of the specified types will receive the new, longer identifiers as soon as the setting takes effect (typically a few minutes). The identifiers will be visible in API results, the command line, and the console.
If a particular IAM user opts in and then creates some resources, the longer identifiers will be visible to other users, even if they have not opted in. You may want to create a separate AWS account for testing purposes in order to avoid confusion. You can also choose to do your testing in an AWS region that you don’t use on a regular basis (see the AWS Global Infrastructure page for a list of current and planned regions).
This blog post applies to all AWS regions and accounts. AWS accounts created on or after March 7, 2016 will default to longer instance and reservation IDs, and can be opted out if necessary.
After you have performed your testing and are satisfied that your tools, code, and applications work to your satisfaction, we recommend that you opt in for all of your AWS accounts before December 2016. This will give you confidence that no surprises will arise when the new identifiers become mandatory.
To learn more about this important update to AWS, please read the Longer EC2 and EBS Resource IDs FAQ.
PS – We’ll be adding support for EBS volumes and snapshots in April; stay tuned for more information.