AWS Tagging Schema
Purpose
After working at Caseware I have seen the value that a robust tagging strategy for resources can bring in terms of cost control or just pinpointing the Infrastructure-as-Code (IaC) source of the specific resource.
Version 3
2023-07-10
Tag Key | Mandatory? | Reason | Format |
---|---|---|---|
ns.created | ✓ | Date this resource was created. | YY-mm-dd |
ns.source | ✓ | Link to the Git repository and folder of the IaC source. | Link or na |
ns.tagging | ✓ | The version of the tagging schema being followed. | \d+ |
ns.iac | ✗ | The IaC tool used to create the resources. | [-a-z] |
ns.updated | ✗ | Date on which this resource was updated. | YY-mm-dd |
Example:
{
"ns.created": "2023-04-05",
"ns.source": "https://gitlab.com/tfsubs/billing-alarm",
"ns.tagging": 1,
"ns.iac": "terraform",
"ns.updated": "2023-07-10"
}
Version 2
2022-11-08
I found that I had IaC resources what were being modified after they were created and I wanted a way to indicate that within the tagging schema on a resource level, that prompted the inclusion of the ns.updated tag.
Tag Key | Mandatory? | Reason | Format |
---|---|---|---|
ns.created | ✓ | Date this resource was created. | YY-mm-dd |
ns.tagging | ✓ | The version of the tagging schema being followed. | \d+ |
ns.unit | ✓ | Terraform unit identifier that this resource belongs to. | [-a-z] or na |
ns.updated | ✗ | Date on which this resource was updated. | YY-mm-dd |
Example:
{
"ns.created": "2023-04-05",
"ns.tagging": 1,
"ns.unit": "billing-alarm",
"ns.updated": "2023-07-10"
}
Version 1
2022-06-01
The first version includes information about the source of the resource in the ns.unit tag and information about when the resource was first created. The ns.tagging unit is mandatory as I expected there to be future versions of the tagging schema on different resources, and a version identifier would help identify what tags are being used where.
Tag Key | Mandatory? | Reason | Format |
---|---|---|---|
ns.created | ✓ | Date this resource was created. | YY-mm-dd |
ns.tagging | ✓ | The version of the tagging schema being followed. | \d+ |
ns.unit | ✓ | Terraform unit identifier that this resource belongs to. | [-a-z] or na |
Example:
{
"ns.created": "2023-04-05",
"ns.tagging": 1,
"ns.unit": "billing-alarm"
}