AWS Tagging Schema

Contents


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"
}