Tagging Elastic Beanstalk application resources - Amazon Elastic Beanstalk
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Tagging Elastic Beanstalk application resources

You can apply tags to resources of your Amazon Elastic Beanstalk applications. Tags are key-value pairs associated with Amazon resources. Tags can help you categorize resources. They're particularly useful if you manage many resources as part of multiple Amazon applications.

Here are some ways to use tagging with Elastic Beanstalk resources:

  • Deployment stages – Identify resources associated with different stages of your application, such as development, beta, and production.

  • Cost allocation – Use cost allocation reports to track your usage of Amazon resources associated with various expense accounts. The reports include both tagged and untagged resources, and they aggregate costs according to tags. For information about how cost allocation reports use tags, see Use Cost Allocation Tags for Custom Billing Reports in the Amazon Billing and Cost Management User Guide.

  • Access control – Use tags to manage permissions to requests and resources. For example, a user who can only create and manage beta environments should only have access to beta stage resources. For details, see Using tags to control access to Elastic Beanstalk resources.

You can add up to 50 tags to each resource. Environments are slightly different: Elastic Beanstalk adds three default system tags to environments, and you can't edit or delete these tags. In addition to the default tags, you can add up to 47 additional tags to each environment.

The following constraints apply to tag keys and values:

  • Keys and values can contain letters, numbers, white space, and the following symbols: _ . : / = + - @

  • Keys can contain up to 127 characters. Values can contain up to 255 characters.

    Note

    These length limits are for Unicode characters in UTF-8. For other multibyte encodings, the limits might be lower.

  • Keys are case sensitive.

  • Keys cannot begin with aws: or elasticbeanstalk:.

Tag propagation to launch templates

Elastic Beanstalk provides an option to enable the propagation of environment tags to launch templates. This option provides continued support for tag-based access control (TBAC) with launch templates.

Note

Launch configurations are being phased out and replaced by launch templates. For more information, see Launch configurations in the Amazon EC2 Auto Scaling User Guide.

To prevent down-time of running EC2 instances Amazon CloudFormation doesn’t propagate tags to existing launch templates. If there's a use case that requires tags for your environment’s resources, you can enable Elastic Beanstalk to create launch templates with tags for these resources. To do so, set the LaunchTemplateTagPropagationEnabled option in the aws:autoscaling:launchconfiguration namespace to true. The default value is false.

The following configuration file example enables the propagation of tags to launch templates.

option_settings: aws:autoscaling:launchconfiguration: LaunchTemplateTagPropagationEnabled: true

Elastic Beanstalk can only propagate tags to launch templates for the following resources:

  • EBS volumes

  • EC2 instances

  • EC2 network interfaces

  • Amazon CloudFormation launch templates that define a resource

This constraint exists because CloudFormation only allows tags on template creation for specific resources. For more information see TagSpecification in the Amazon CloudFormation User Guide.

Important
  • Changing this option value from false to true for an existing environment may be a breaking change for previously existing tags.

  • When this feature is enabled, the propagation of tags will require EC2 replacement, which can result in downtime. You can enable rolling updates to apply configuration changes in batches and prevent downtime during the update process. For more information, see Configuration changes.

For more information about launch templates, see the following:

Resources you can tag

The following are the types of Elastic Beanstalk resources that you can tag, and links to specific topics about managing tags for each of them: