Tagging Resources for Cost Allocation From Day One
Tags turn an unreadable invoice into a report by project, environment and owner. Retrofitting them is far harder than starting with them.
An untagged cloud invoice tells you that you spent money on compute and storage. It does not tell you which project, which environment or which person to ask. Tags are what turn the second question into an answerable one.
Why retrofitting is painful
Tagging is trivial when a resource is created and tedious afterwards. Retrofitting means identifying hundreds of resources whose purpose nobody remembers, and cost reports only become useful from the moment tags exist, so historical data stays unreadable.
Deciding on a scheme before creating the second resource is the cheapest version of this task you will ever get.
A minimal scheme
Four tags cover most needs. Resist adding more until something concrete demands it.
- project — which piece of work this belongs to.
- environment — production, staging, development.
- owner — a team or person to ask.
- managed-by — terraform, manual, or the tool that created it.
That last one is more useful than it looks. It tells you immediately whether changing something by hand will be reverted by automation.
Consistency beats completeness
Tags are matched literally. prod, Prod and production are three different values and will appear as three rows in a cost report.
Write the permitted values down, keep them lowercase, and keep the list short. A scheme with fifteen tags and no enforcement produces worse reports than one with four that everyone follows.
Enforce it where you can
Several providers support policies that require particular tags before a resource can be created, or that flag untagged resources. Where infrastructure is defined in code, apply default tags at the provider level so every resource inherits them without anyone remembering.
What tags will not do
Not every charge is taggable. Some data transfer and certain shared services appear without resource-level attribution, so a proportion of any bill remains unallocated. That is normal. The aim is to explain the large majority, not to reach a perfect hundred percent.
Payoff
Once tags exist, cost reports can be filtered by project and environment, budgets can be scoped as described in budget alerts that actually fire, and an unfamiliar account becomes readable during an audit.
Cloud accounts on OldCloudShop
Ten providers, every configuration and the starting price for each.
Continue in the library
Other entries covering account structure, billing, security and provider infrastructure.