AWS Tags for Beginners: The Guide I Wish I Had on Day One
A beginner-friendly walkthrough of AWS tags: what they are, a minimal tagging schema, how to tag your first resource from the console, and how to activate cost allocation tags so you can see spending by project.
TL;DR
- A tag is a key-value pair you attach to an AWS resource, for example
Environment = dev. - Tags help you know who owns a resource, why it exists, and how much it costs.
- A few well-chosen tags (4 or 5) are already a solid foundation.
- You can start from the AWS console, without writing any code.
- To see your tags in your bill, you must activate them as cost allocation tags.
Why I'm Writing This
I'm a student taking my first steps in cloud with AWS Skills Builder. At first, tags looked like an optional detail, something to deal with "later." The more I learned, the more I noticed that almost every good practice for organization, cost control, and security in AWS depends on them.
I'm writing from the perspective of someone who is still learning, so that if you are just starting out too, you can follow along without getting lost.
1. What Is a Tag?
A tag is a text label with two parts:
| Key | Value |
|---|---|
| Environment | dev |
| Owner | maria |
| Project | my-first-website |
Think of tags like the sticky notes you put on boxes when you move house: "Kitchen," "Fragile," "Books." Without them, you would have to open every box to know what's inside.
AWS works the same way. Over time you will have EC2 instances, S3 buckets, databases, Lambda functions... and if none of them are tagged, nobody will know what belongs to what.
2. What Are Tags For? Four Real Uses
1. Organization. You can filter and search resources by project, environment, or team.
2. Cost control. This is the most important use. If you tag everything with
Project, you can later ask: "How much did project X cost me this month?"3. Accountability. An
Owner tag answers the question: "Who do I ask before deleting this?"4. Security and automation. Some IAM permissions and automations can be based on tags (a more advanced topic, but good to know it exists).
3. A Minimal Schema to Get Started
You don't need 20 tags. Start with these:
| Tag | Example | Answers... |
|---|---|---|
| Project | web-portfolio | Which project is it part of? |
| Environment | dev / test / prod | Which environment is it in? |
| Owner | your-name | Who is responsible? |
| CostCenter | learning | Who pays, or which area is it charged to? |
Three tips so it doesn't turn into chaos:
- Pick one style and stick to it. AWS tag keys and values are case-sensitive:
environmentandEnvironmentare different tags. - Use predictable values.
dev, not sometimesdev, sometimesdevelopment, and sometimesDev. - Don't store sensitive data (passwords, personal emails, customer data) in tags. They are metadata visible to many services.
4. Basic Limits Worth Knowing
For most AWS resources:
- Up to 50 user-defined tags per resource.
- A key can be up to 128 characters and a value up to 256.
- The
aws:prefix is reserved for AWS. Don't use it.
And an honest warning: not every service behaves exactly the same with tags. When you use a new service, check its documentation.
5. Hands-On: Tag Your First Resource from the Console
A simple exercise, ideal for your learning account:
- Sign in to the AWS console and create an S3 bucket (or launch a
t2.micro/t3.microEC2 instance if it's covered by your Free Tier). - During creation, find the Tags section.
- Add the four tags from the schema:
Project,Environment,Owner,CostCenter. - Finish creating the resource.
- Open the resource and check its tags tab to confirm they are there.
Tip: adding tags at creation time is much better than doing it afterward. What isn't tagged at the start usually stays untagged.
6. Find and Fix Untagged Resources: Tag Editor
Already have resources without tags? That's what Tag Editor is for, found under Resource Groups & Tag Editor in the console:
- Search for resources by Region and resource type.
- Filter by a tag, or by resources that don't have it.
- Select several and add tags in bulk, instead of one by one.
It's a quick way to bring order when things are already messy.
7. Tags and Costs: The Step Almost Everyone Forgets
This surprised me: adding a tag doesn't mean it shows up in your bill.
To use tags in cost analysis, you must activate them as cost allocation tags in the Billing and Cost Management console (from the management account).
General steps:
- Go to Billing and Cost Management → Cost allocation tags.
- Find your user-defined tags (for example
Project). - Select them and activate them.
- Wait: it can take up to 24 hours for them to become available.
After that, in Cost Explorer you can group or filter your costs by
Project or Environment and answer questions like: "How much is my testing environment spending?"Two important details:
- Only activate the tags that help answer a real cost question. You don't need to activate all of them.
- A tag shows up in costs from the moment it is activated and present on the resource. It doesn't invent history for resources that weren't tagged at the time.
8. A Preview of What Comes Next
As your AWS usage grows, some tools take tags to the next level. You don't need to master them today, but it's good to know they exist:
- Infrastructure as Code (Terraform, CloudFormation, CDK): applies tags automatically every time you deploy.
- Tag policies in AWS Organizations: standardize allowed keys and values.
- AWS Config: checks whether your resources comply with required tags.
- AWS Budgets: creates budget alerts per project using tags.
My plan is to learn them step by step, starting with the basics.
9. Common Beginner Mistakes (That I Could Make Too)
- Writing
Dev,dev,DEV, anddevelopmentas if they were the same thing. - Tagging only some resources and leaving the rest "for later."
- Using vague values like
Owner = adminorProject = test. - Forgetting to activate cost allocation tags and then not seeing them in the bill.
- Putting sensitive information in a tag.
Final Checklist
- [ ] I defined a small tag schema (4 or 5 tags).
- [ ] I always use the same capitalization and values.
- [ ] I tag resources when I create them.
- [ ] I used Tag Editor to review and fix existing resources.
- [ ] I activated my cost allocation tags in Billing.
- [ ] I don't store sensitive data in tags.
Conclusion
A tag looks like a tiny detail: two words attached to a resource. But those two words are what, months later, let you answer who created this, what it's for, and how much it costs.
If you are starting out in cloud like me, my recommendation is simple: tag from the very first resource you create. It's a small habit that will make you think like a professional from the start.
Enjoyed reading this content? Let the author know!
Your likes, comments, shares, and saves help creators reach more builders.
Loading recommendations
Loading article