Skip to main content

aws-naming-research


Aws Naming Research

Research AWS resource naming conventions and constraints for a given service. Use when you need to look up naming rules (length, valid characters, scope), recommended patterns, and uniqueness requirements for AWS resources. Triggers on: AWS naming rules research, resource naming constraints, S3 bucket name validation.

Details​

PropertyValue
Skill Directory.github/skills/aws-naming-research/
PhaseGeneral
User Invocable✅ Yes
Usage/aws-naming-research AWS service or resource type to look up (e.g. 'S3 bucket', 'Lambda function', 'IAM role', 'RDS instance')

Documentation​

AWS Naming Research

Procedure​

1. Look Up Naming Constraints​

For the requested AWS resource type, apply the constraints table below. If the resource is not listed, fetch the official AWS documentation.

Reference: AWS Resource Naming Rules

Use the recommended naming pattern from the table below and construct a compliant name for the user's deployment.

3. Validate the Name​

Check:

  • Length is within min-max bounds
  • Characters used are in the allowed set
  • Starts/ends with allowed characters
  • Meets uniqueness scope requirement

4. Return JSON Summary​

{
"resource": "S3 Bucket",
"proposed_name": "my-app-data-prod-abc123",
"valid": true,
"constraints": {
"min_length": 3,
"max_length": 63,
"allowed_chars": "lowercase letters, numbers, hyphens",
"start_with": "letter or number",
"end_with": "letter or number",
"no_consecutive_hyphens": true,
"no_ip_format": true,
"scope": "global",
"globally_unique": true
},
"validation_notes": []
}

Naming Constraints Reference​

S3 Buckets​

ConstraintValue
Min length3
Max length63
Valid charactersLowercase letters (a-z), numbers (0-9), hyphens (-), dots (.)
Must start withLetter or number
Must end withLetter or number
No consecutive hyphensTrue
No IP formatCannot be formatted as IP address (e.g., 192.168.1.1)
ScopeGlobal — unique across all AWS accounts and regions
NotesDots allowed but not recommended (breaks SSL). Use hyphens instead.

Recommended pattern: {project}-{purpose}-{env}-{random-suffix} Example: myapp-uploads-prod-a7k3m


Lambda Functions​

ConstraintValue
Min length1
Max length64
Valid charactersLetters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_)
ScopeRegional — unique within an AWS account and region

Recommended pattern: {project}-{function-purpose}-{env} Example: myapp-process-orders-prod


IAM Roles​

ConstraintValue
Min length1
Max length64
Valid charactersLetters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_), dots (.), at signs (@), equals (=), plus (+), comma (,)
ScopeAccount — unique within an AWS account (global to all regions)

Recommended pattern: {project}-{service}-{purpose}-role-{env} Example: myapp-lambda-processor-role-prod


IAM Policies​

ConstraintValue
Min length1
Max length128
Valid charactersLetters, numbers, hyphens, underscores, dots, +, =, ,, @
ScopeAccount

Recommended pattern: {project}-{resource}-{permissions}-policy Example: myapp-dynamodb-read-policy


EC2 Instances (Name Tag)​

ConstraintValue
Min length0
Max length256 (tag value limit)
Valid charactersAny UTF-8 characters
ScopeAccount + Region (tag Name is not unique)

Recommended pattern: {project}-{role}-{env}-{az-or-index} Example: myapp-web-prod-1


EC2 Security Groups​

ConstraintValue
Max name length255 (group name)
Valid charactersLetters, numbers, spaces, and _.-:/()#,@[]+=&;{}!$*
ScopeVPC

Recommended pattern: {project}-{tier}-{protocol}-sg-{env} Example: myapp-web-https-sg-prod


RDS DB Instance Identifiers​

ConstraintValue
Min length1
Max length63
Valid charactersLetters (a-z, A-Z), numbers (0-9), hyphens (-)
Must start withLetter
Cannot end withHyphen
No consecutive hyphensTrue
ScopeRegional — unique within an AWS account and region

Recommended pattern: {project}-{db-purpose}-{env} Example: myapp-users-prod


DynamoDB Tables​

ConstraintValue
Min length3
Max length255
Valid charactersLetters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_), dots (.)
ScopeRegional — unique within an AWS account and region

Recommended pattern: {Project}-{Entity}-{Env} (use PascalCase for DynamoDB) Example: MyApp-Orders-Prod


ECS Clusters​

ConstraintValue
Max length255
Valid charactersLetters, numbers, hyphens, underscores
ScopeRegional

Recommended pattern: {project}-{env}-cluster Example: myapp-prod-cluster


ECS Task Definitions (Family Name)​

ConstraintValue
Max length255
Valid charactersLetters, numbers, hyphens, underscores
ScopeRegional — revision number appended automatically

Recommended pattern: {project}-{service}-task Example: myapp-api-task


EKS Clusters​

ConstraintValue
Min length1
Max length100
Valid charactersLetters (a-z, A-Z), numbers (0-9), hyphens (-)
Must start withLetter
ScopeRegional

Recommended pattern: {project}-{env}-eks Example: myapp-prod-eks


Secrets Manager Secrets​

ConstraintValue
Max length512
Valid charactersAny ASCII characters except /, \, @, #, or space as first character
Recommended separator/ for hierarchical naming
ScopeRegional

Recommended pattern: {env}/{project}/{purpose} Example: prod/myapp/database-credentials


CloudFormation Stacks​

ConstraintValue
Min length1
Max length128
Valid charactersLetters (a-z, A-Z), numbers (0-9), hyphens (-)
Must start withLetter
ScopeRegional

Recommended pattern: {project}-{component}-{env} Example: myapp-api-prod


SNS Topics​

ConstraintValue
Max length256
Valid charactersLetters, numbers, hyphens, underscores
FIFO suffixMust end in .fifo for FIFO topics
ScopeRegional

Recommended pattern: {project}-{event-type}-topic[-{env}] Example: myapp-order-events-topic


SQS Queues​

ConstraintValue
Max length80
Valid charactersLetters, numbers, hyphens, underscores
FIFO suffixMust end in .fifo for FIFO queues
ScopeRegional

Recommended pattern: {project}-{purpose}-queue[-{env}] Example: myapp-order-processing-queue


EventBridge Rules​

ConstraintValue
Max length64
Valid charactersLetters, numbers, hyphens, underscores, dots
ScopeRegional — unique within an event bus

Recommended pattern: {source}-{event-type}-rule Example: orders-created-rule


API Gateway APIs​

ConstraintValue
Max length128
Valid charactersLetters, numbers, hyphens, underscores
ScopeRegional

Recommended pattern: {project}-{version}-api[-{env}] Example: myapp-v1-api-prod


Cognito User Pools​

ConstraintValue
Max length128
Valid charactersLetters, numbers, spaces, hyphens, underscores
ScopeRegional

Recommended pattern: {project}-{env}-users Example: myapp-prod-users


Step Functions State Machines​

ConstraintValue
Max length80
Valid charactersLetters, numbers, hyphens, underscores
ScopeRegional

Recommended pattern: {project}-{workflow-purpose}-workflow Example: myapp-order-processing-workflow


CloudWatch Log Groups​

ConstraintValue
Max length512
Valid charactersLetters, numbers, _, -, /, ., #
Recommended separator/ for hierarchical grouping
ScopeRegional

Recommended pattern: /{service}/{project}/{function-or-resource} Example: /aws/lambda/myapp-process-orders-prod


General AWS Tagging Recommendations​

Include these tags on all resources for governance and cost management:

{
"Environment": "dev | staging | prod",
"Project": "project-name",
"ManagedBy": "cloudformation | terraform | manual",
"Owner": "team-or-email",
"CostCenter": "cost-center-id",
"CreatedDate": "YYYY-MM-DD"
}

Uniqueness Scope Summary​

ScopeDescriptionExamples
GlobalUnique across all AWS accounts and regionsS3 buckets
AccountUnique within your AWS account (all regions)IAM roles, policies
RegionalUnique within an account + regionLambda, RDS, DynamoDB, ECS, EKS
VPCUnique within a VPCSecurity groups

References​