AWS resource tagging is fundamental for effective cloud cost management. By creating and allocating cost-related tags in AWS, you can organize and manage your resources according to keys and values that make sense to you. This helps you better understand your cloud costs and manage your spending.
But proper tagging isn’t easy. While AWS provides several useful resources, you may still run into some issues that require more involved solutions.
Below are some common challenges you may encounter with AWS tags — including both technical and leadership-related issues — and how to solve them.
AWS Tags: 8 Common Problems And Solutions
1. Initial untagged resources
The problem: Few companies have cloud governance or tagging strategies in place when they first start operating in the cloud. The implication is that, in the early days, developers deploy several untagged resources that remain in the cloud environment for years. Since no one is sure what they are for, they are not terminated and continue to contribute to the overall cloud bill.
Potential solutions: The unattractive solution is to do the laborious work of manually tagging those resources. If you have hundreds of untagged resources, this option is not viable. The next option is to assign tags using a script. This may still present some challenges, but it saves time compared to manual tagging.
One of the best ways to gain visibility into your untagged resources quickly is to use a cost allocation solutions like the one offered by CloudZero. CloudZero uses a code-driven approach to organizing cloud spend, even if your tagging isn’t perfect.
2. Inconsistent tagging and tag variations
The problem: AWS tag keys and values are case-sensitive. For example, the tag keys, ProjectType, projecttype, and Projecttype are considered three separate tags. In addition to different letter cases, you could have missing letters in keys and values, abbreviations, and misspellings. Without an effective tagging strategy in place, you could have an application tag written in 10 different variations.
Variations lead to messy and convoluted tagging. The issue is further complicated when these problematic tags are designated as cost allocation tags, which need to be activated in AWS. The more tags you turn on, the more data they generate and the more costs you incur to store those data. It becomes a never-ending cycle until you clean up those problematic tags.
Potential solutions: The first step in solving inconsistent tagging issues is to implement a Cloud Center of Excellence (CCOE). A Cloud Center of Excellence is an internal unit charged with managing your organization’s cloud infrastructure and resources. This team defines the tags that should be used as well as the appropriate letter case. They also create policies at the organizational level to govern tags.
3. Uncontrolled values
The problem: If you have more than 5,000 tags and 20,000 values, then it’s incredibly difficult to collate cost-related tags.
Potential solutions: One way to tackle this is for the COE to whitelist specific application and product tag names and define the range of values that engineers can choose from when creating new instances.
These tags and values must be assigned when an instance is created or the resources are either terminated or called out in a shared bucket. As the shared bucket grows, the team can then bring visibility back to leadership to determine if they need to allocate some engineering time to clean resources in the shared bucket.
Another solution is to create a database that contains all tag data and set up a team to manage the database. This team will do relational mapping, group the tags together, and clean up the untagged resources.
However, an AI-powered, automated platform like CloudZero is often a better option for addressing uncontrolled AWS tagging issues. CloudZero Dimensions group bad values and tags and perform an extra level of metadata tagging to provide visibility to leadership and product teams.
While you can solve the problem yourself by setting up a database and hiring a team of engineers to support the cleanup process, a solution like CloudZero automatically performs the cleanup so your team can focus on more critical engineering activities.
4. Not all stakeholders want to be involved in cloud cost management
The problem: Leadership rarely cares about tagging. Even if they want to reap the rewards of highly organized resources, tagging strategy is the last thing they think about.
As a result, employee teams tend to tag resources the way they want in the absence of a formal strategy (especially in the beginning). FinOps managers must often “chase people down” to get teams to tag resources properly and enforce policies that ensure good visibility into cloud costs.
Potential solutions: Ultimately, for tagging policy to be effective, engineers have to take action. While the FinOps team can take steps to enforce a tagging policy, it’s down to the developers to change tags or ensure tags are in place.
That’s why engineering or tech leaders should always be part of the CCOE, so they can thoroughly understand the problems, communicate these problems to their teams, and call out developers on bad practices or lack of tagging.
5. Differing Tagging Strategies Between Companies
The problem: It’s hard enough managing one company’s tagging policy, let alone combining two entirely separate strategies into one that makes sense. But that’s exactly what happens when one company acquires another.
During acquisitions and mergers, the two companies involved often have different ideologies and understanding of how things should work in the cloud. They may also have different ideas about how to deploy resources and tag them.
Potential solutions: The solution here is to create a team that will compare the existing practices and develop a uniform tagging strategy. Existing tags and values can then be merged to align with the new strategy.
In practice, this usually requires manual and painstaking work. This is another instance where a solution like CloudZero can come in handy. CloudZero provides you with visibility into your current tags, so you can easily understand where you have gaps. Then, you can either tag it or group based on other attributes.
6. All departments must be on board with policy changes
The problem: The challenge in many companies is that certain teams or departments are often alienated from cost conversations even though their activities may have a serious impact on costs.
For example, requests from the product team have a huge impact on revenue. The new features and enhancements increase the amount of resources needed to power the product, and this drives up cloud costs.
Potential solutions: To solve this issue, all affected teams should have full visibility into how they contribute to costs and understand their role in maintaining the tagging strategy. The CCOE team should talk to all stakeholders — from product to finance teams — about their requirements.
For example, finance and leadership are often interested in staying within budget, so they want to know if the cost of building a product line aligns with the monthly forecast. Tech teams, on the other hand, often want to get insight into the available service options. For example, they may want to know the AWS cost for a particular application.
A solid tagging strategy should align with all of these goals and ensure that all departments understand how their feature requests contribute to costs and revenue.
7. Untaggable and shared resources
The problem: Certain resources in AWS simply cannot be tagged. There will also inevitably be shared resources in your application environment that won’t yield to your tagging policy. How do you make sure there are no blind spots?
Potential solutions: The first step is to ensure that strategies are aligned between leadership and the CCOE. It has to be mutually agreed that there will be a shared cost bucket for untaggable resources. This shared bucket may be called infrastructure, Opex, or other suitable names.
If you need more visibility into that bucket, the next step is to do cost allocation calculations to proportionally distribute that cost to different products. Alternatively, you could use a cost intelligence platform that gives you cost visibility even if you have untagged, untaggable, and shared resources.
8. Lack of communication
The problem: The finance team often reports on a quarterly basis to stakeholders, investors, or shareholders who need to understand how much revenue or profit the business is making. If there are untagged resources at the time of reporting, the finance team will make assumptions about those resources.
If there’s no communication between engineering, finance, and product teams, then this further complicates the problem, because each team will view cloud cost from different perspectives and work with different numbers.
Potential solutions: Better enforcement of a company-wide tagging policy should be the first step toward a solution. The fewer untagged resources there are, the fewer assumptions finance has to make.
However, the solution that can really make a difference in your cloud cost reporting is to establish a single source of truth for monitoring cloud costs.
You need a single platform where everyone can access the cost information they need, whether they’re in finance, engineering, or leadership. With CloudZero, for example, not only can you automatically allocate shared bucket costs, but each department can also view relevant cost information from a single dashboard. This eliminates the need for assumptions and ensures everyone is on the same page.
Achieve Immediate Cost Visibility Even Without Perfect Tagging
CloudZero is a cloud cost intelligence platform unlike any other on the market. Our unique code-driven approach provides you with cost intelligence in a matter of hours — versus weeks or months.
CloudZero works similar to how you define Infrastructure as Code — we use a code artifact to define how to organize costs. This gives you flexibility and accuracy — even for Kubernetes, shared costs in multi-tenant applications, and non-taggable AWS services.