AWS TAGGING - 101 GAIN VISIBILITY TO COSTS IN AWS
What are tags and why do I need them?
Imagine you are responsible for managing AWS costs at a company running multiple applications tied to different business units spanning hundreds of EC2 instances along with the accompanying infrastructure. Now consider the following questions:
Which AWS resources are incurring majority of the AWS costs? Which of these resources are candidates for reduction? What business unit, application, or user is responsible for these resources? Which collections of resources are exceeding budget?
Tagging is a simple but crucial feature within AWS that helps reduce and control costs by creating visibility to what’s really going on in our environment. Tags allow you to visually identify resources by a description (Value) and make it easier to understand both their purpose and origin. Tags function as key-value pairs, both of which can be defined by the user. For example, if you are trying to tag an EC2 Instance to determine whether it is in Test or Production, your Key could be “Stack” and your value could be “Production” as illustrated in Figure 1.
When considering which resources are appropriate for tagging, the answer is simple: All possible AWS resources should be tagged (EC2, S3, and RDS). There is no cost associated with tagging, and no impact on performance, so, why wouldn’t you?
Keeping track of the ongoing cloud costs alone can be challenging. Making cost-optimizing decisions without tagging is nearly impossible.
Figure 1.
Understand the basic guidelines for tagging
- Maximum number of tags per resource: 50
- Maximum key length: 127 Unicode characters in UTF-8
- Maximum value length: 255 Unicode characters in UTF-8
- Tag keys and values are case sensitive
- Avoid “aws:” prefix in your tag names or values: This is reserved for AWS use and you can’t edit or delete tag names or values with this prefix. Tags with this prefix do not count against your tags per resource limit
Consider the core tagging classes
- Application: Used to describe a set of disparate resources that work together to deliver a service or product.
- Environment: Used to identify Production, Staging, and Development infrastructure.
- Role: Used to describe the function of a resource (Load Balancer, Database Server, Web Server, etc.).
- Cluster: Used to identify the set of instances that share the responsibility of being part of an application.
- Owner: Used to identify the individual or group who is responsible for the resource.
- Cost Center: Used for cost accounting.
- Customer: Used to identify the client that the resource serves.
- Launch Time: Used to determine when the instance was created and/or launched.
Build an optimal tagging strategy for your business
1. Consider what information is important to the organization. Getting the necessary insights may require tagging resources with multiple Keys. AWS now allows up to 50 tags per resource. A starting list for Keys could be Stack, Role, Application, Environment, Cluster, and Owner. This list should be tailored to each organization’s needs.
2. After determining the appropriate minimum Keys for your organization, require that users apply the minimum Keys on all supported AWS resources. Users can apply additional tags, but accurate resource control and cost reporting will depend upon universal usage of your organization's mandatory tagging schema.
3. Automate tagging as much as possible. For users launching resources programmatically, this may be easier to incorporate. However, tagging is equally crucial for users who launch resources manually. Whether you tag programmatically or manually, identify which tag keys are the most important and apply those tags across your infrastructure consistently.
4. Remain consistent in your tagging. Create a set schema with a well-defined classification. Make sure that users are aware of the assigned Keys and set Values. For example, make it clear that Prod is the Key for Production.
5. Evaluate your environment regularly. Even the best-designed tagging schema will fail if users do not consistently employ it. Organizations need to remain vigilant in tag monitoring and enforcement.
CLOUDigen can help
We optimize AWS to deliver maximum value to your business 1-503-914-6156 1-844-685-5536 **Info@CLOUDigen.com