Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Amazon S3 bucket naming convention

I wonder, what is the reason behind two different naming conventions for buckets created in US regions and the other regions available in AWS.

According to this document: http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html we should name our buckets using the rules:

In all regions except for the US Standard region a bucket name must comply with the following rules. These result in a DNS compliant bucket name.

Bucket names must be at least 3 and no more than 63 characters long

Bucket name must be a series of one or more labels separated by a period (.), where each label:

Must start with a lowercase letter or a number

Must end with a lowercase letter or a number

Can contain lowercase letters, numbers and dashes

Bucket names must not be formatted as an IP address (e.g., 192.168.5.4)

For the US region tho, we can use longer names, dots, dashes, underscores etc.

I do understand that making your bucket with non dns compilant name maybe a bad idea but I don't get why in US region its available and in others not. What is the reason behind it?

like image 264
Kris Avatar asked Sep 10 '13 10:09

Kris


1 Answers

US Standard is different in many aspects from other S3 regions.

The bucket naming restrictions are probably different because US Standard is the oldest S3 region. It's possible that they later decided that it is better to enforce DNS compliant bucket names in other regions and kept US Standard unchanged for compatibility reasons.

US Standard is also different when it comes to storage and consistency as it's the only region that doesn't provide read-after-write consistency and that spreads the storage across a wider geographical area, between Northern Virginia or the Pacific Northwest.

like image 106
dcro Avatar answered Oct 12 '22 03:10

dcro