All Projects → osodevops → aws-enterprise-naming-tagging-standard

osodevops / aws-enterprise-naming-tagging-standard

Licence: other
AWS Tagging policy and naming convention for all resources created within any AWS accounts under the AWS Master Account.

Projects that are alternatives of or similar to aws-enterprise-naming-tagging-standard

embd-go
embd-go is an embeddable command-line tool for embedding data files in Go source code, specially crafted for easy use with `go generate`.
Stars: ✭ 24 (-50%)
Mutual labels:  resources
python-resources-for-earth-sciences
A Curated List of Python Resources for Earth Sciences
Stars: ✭ 159 (+231.25%)
Mutual labels:  resources
esp8266
esp8266 resources.
Stars: ✭ 17 (-64.58%)
Mutual labels:  resources
Awesome-Workstations
A curated list of Awesome WFH computer and desk setups!
Stars: ✭ 35 (-27.08%)
Mutual labels:  resources
Enterprise-Web3.0
Enterprise™ for the Web3.0™
Stars: ✭ 32 (-33.33%)
Mutual labels:  enterprise
feedback
বাংলার প্রোগ্রামিং নেটওয়ার্ক
Stars: ✭ 21 (-56.25%)
Mutual labels:  resources
awesome-coder-resources
编程路上加油站!------【持续更新中...欢迎star,欢迎常回来看看......】【内容:编程/学习/阅读资源,开源项目,面试题,网站,书,博客,教程等等】
Stars: ✭ 54 (+12.5%)
Mutual labels:  resources
computer book list
一个综合了豆瓣,goodreads综合评分的计算机书籍书单
Stars: ✭ 1,535 (+3097.92%)
Mutual labels:  resources
Front-End-Checklist
🗂 O Front-End Checklist perfeito para websites modernos e desenvolvedores meticulosos
Stars: ✭ 157 (+227.08%)
Mutual labels:  resources
web-development-learning-resources
💪 Resources to become a senior web developer
Stars: ✭ 21 (-56.25%)
Mutual labels:  resources
resources api
Flask API for programming and cyber security learning resources
Stars: ✭ 63 (+31.25%)
Mutual labels:  resources
gogtags
GNU global compatible source code tagging for golang
Stars: ✭ 42 (-12.5%)
Mutual labels:  tagging
PKU-Lessons-Summary
北京大学软件与微电子学院硕士生课程知识点、作业等汇总【Summary of Knowledge Points and Assignments of Peking University Integrated Circuit Major Courses】
Stars: ✭ 31 (-35.42%)
Mutual labels:  resources
awesome-agtech
A curated list of technology companies, resources, and tools in the agricultural field.
Stars: ✭ 43 (-10.42%)
Mutual labels:  resources
FakeBundle
🗄 Use Resources in your Swift Package Manager executable
Stars: ✭ 13 (-72.92%)
Mutual labels:  resources
Cheatsheets
Quick reference material for techies
Stars: ✭ 66 (+37.5%)
Mutual labels:  resources
bhamtech
A community-currated collection of tech resources, projects, and other things related for Birmingham, AL
Stars: ✭ 23 (-52.08%)
Mutual labels:  resources
Position-Aware-Tagging-for-ASTE
Code and models for the paper " Position-Aware Tagging for Aspect Sentiment Triplet Extraction", EMNLP 2020.
Stars: ✭ 70 (+45.83%)
Mutual labels:  tagging
enterprise
Enterprise-grade component library for the Infor Design System
Stars: ✭ 117 (+143.75%)
Mutual labels:  enterprise
Data-Science
Free self-taught educational resources for Data Science! I'm currently learning Data Science. I build this repository for helping myself. But if it helps you anyhow, feel free to star it!
Stars: ✭ 35 (-27.08%)
Mutual labels:  resources

AWS Naming & Tagging Conventions

AWS Tagging policy and naming convention for all resources created within any AWS accounts under the AWS Master Account

Table of Contents

Terms and Abbreviations

Bibliography

Executive Summary

AWS Terms and Abbreviations

Tagging Overview

Tagging Best Practices

Resource Groups

Compound Tags

Style Rules

Tagging Region Codes

Enterprise Tagging Standards

Environment Names

Name Tag Format

AMI Versioning

Additional Tags

Operational Tags

Business Tags

Security Tags

AWS Resource Suffixes 11

Name Tag Examples 12

Terms and Abbreviations

The following table lists the Terms and Abbreviations that are referenced within the document.

Term Explanation
AMI Amazon Machine Image
AWS Amazon Web Services
AWS IAM AWS Identity and Access Management Service
DB Database
EBS Elastic Block Store
EC2 AWS Elastic Compute Cloud
OS Operating System
PCI Payment Card Industry
PII Personally identifiable information
RBAC Role-based Access Control
RDS Relational Database Service
S3 Simple Storage Service
SNS Simple Notification Service
SQS Simple Queue Service
VPC Virtual Private Cloud

Bibliography

The table below contains information about, and (where possible) links to, supporting documentation.

NO. DESCRIPTION VERSION
“How Should I Tag my AWS resources?” - https://d0.awsstatic.com/aws-answers/AWS_Tagging_Strategies.pdf June 2, 2017
AWS Naming Convention Best Practices (tagging) - http://www.myrtec.com.au/sites/www.myrtec.com.au/files/attachments/aws_naming_convention_best_practices_-_tagging.pdf September 11, 2014
AWS now supports 50 tags per resource - https://aws.amazon.com/blogs/security/now-organize-your-aws-resources-by-using-up-to-50-tags-per-resource/ August 15, 2016
User defined tag restrictions - http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html LATEST
Tagging your EC2 resources - http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html LATEST
Naming Conventions - https://en.wikipedia.org/wiki/Naming_convention_(programming) August 3, 2017
Elasticache replication group naming limits - http://docs.aws.amazon.com/cli/latest/reference/elasticache/create-replication-group.html As of 06/09/2017

AWS Terms and Abbreviations

The following terms and abbreviations will be used through this design and implementation of all Enterprise applications.

Name Value
Connectivity CONN
Database Layer RDS
Productuion Environment PROD
Dev Test Environment DEV/TEST
Pre Production Environment PPE
Management and Monitoring MGMT
Private PRI
Public PUB

N.B. In the above table the forward slash character (“/”) is part of the Value and is not being used as a delimiter.

Tagging Overview

AWS provide the ability to tag resources with descriptive metadata. Tags simplify resource management at scale and will be used for cost allocation. As the Enterprise plans to implement multiple applications, multiple application environments and multiple AWS accounts; tagging must be applied consistently to allow costs to be separated out into applications, environments and business units.

Each tag consists of a key and a value, both of which are user-defined strings. Once defined, tags can be used as a filter when requesting resources, such as Amazon EC2 instances, based on tag keys or values. Tags are also reported against in Cost Allocation Reports.

Tags provide identification and classification of AWS resources. Examples of commonly used tags include application identifier, environment, or owner.

Resource Groups

Use resource groups. A Resource Group is a collection of resources that shares one or more tags. It can span services and can be used to create a custom console that organizes and consolidates resources on a per-project basis. In AWS, a resource is an entity such as an EC2 instance, a S3 bucket and so on. Using the resource group tool, custom consoles can be created that organize and consolidate all resources for a specific project in a single view. For example, all the resources for a version of TEAM_A in production can be in one resource group whilst those resources used for TEAM_B be can be in another resource group (though the Enterprise's cloud operating model dictates that applications must exist in different accounts).

Compound Tags

There is a limit of 50 tags per resource in AWS, as such it is a good practice to combine several tag keys and values into a single compound tag. For example, rather than creating 3 keys (tags) called “OwnerName”, “OwnerPhone”, and “OwnerEmail,” the 3 keys should be combined into 1 key called “OwnerContact,” which could contain the compound values of Name, Phone, and Email address using a pipe delimiter.

We will assign the Name Tag as a compound value. We will use the hyphen as a delimiter. An example of the values assigned to the Name Tag are shown in examples section at the end of this document.

Style Rules

  • Tag key names are case-sensitive and can contain mixed-case letters, numbers, underscores, and hyphens.

  • Tag key names should use upper CamelCase (a.k.a. Pascal case), a convention that combines words/abbreviations by beginning each word with a capital letter such as “MiscMetadata” and “SupportEndpoints”.

  • Tag values are case-sensitive and should not use the semi-colon (“;”), equal sign (“=”), or pipe (“|”) characters as these are used as delimiters in compound values.

  • Compound tag value key names should use Pascal case followed by an equal sign (“=”) such as KeyName1=value1-value2-value3;KeyName2=value1-value2-value3

Tagging Region Codes

AWS’ regions codes are unique; therefore, they will be abbreviated as follows:

Region Region Code
ap-northeast-1 an1
ap-northeast-2 an2
ap-south-1 as1
ap-southeast-1 ase1
ap-southeast-2 ase2
ca-central-1 cc1
eu-central-1 ec1
eu-west-1 euw1
eu-west-2 euw2
sa-east-1 se1
us-east-1 ue1
us-east-2 ue2
us-west-1 uw1
us-west-2 uw2

AMI Versioning

AMI’s will have names that uniquely identify their use, operating system, OS version, creation date (reversed), creation version and AWS resource type prefix ‘AMI’. A “golden image” RedHat Linux 7.1 AMI name would be as follows:

Use Operating System Version Creation Date Version AWS Resource
GOLD RHEL 7.1 12/09/2017 01 AMI
GOLD.RHEL.7.1.2017.09.12.01-AMI

Business Tags

These can be used to capture business relevant information and which part of the business is responsible for this resource. Can greatly speed up the elimination process in an event of failure or attack.

Tag Description
SquadName Squad / Business are responsible for resource
CostCentre Business group to be billed for the AWS resources
PartnerContact Value contains contact information for external managed services partner Pipe separated John Smith

Security Tags

To obtain a full visibility over account surface data we use these security classification tags in conjunction with the Additional Tags to map which classification of data is where. AWS Config Rules can also be set where PCI data can only sit in Network=Red.

Tag Description
Compliance An identifier for workloads designed to adhere to specific compliance e.g. Normal / PII / PCI
Permissions An identifier for the specific entity that can modify the resource
LastReviewed Last time this instance was reviewed for compliance - YYYY-mm-dd
ApprovedVersion Steps which are taken to approve AMI image
ApprovedBy Department or software which has approved AMI for use in Organisation X
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].