AWS S3 bucket name restrictions and using https (secure)

There are some restrictions when naming and accessing S3 objects.

Bucket name restrictions

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:
  1. Must start with a lowercase letter or a number
  2. Must end with a lowercase letter or a number
  3. Can contain lowercase letters, numbers and dashes
  • Bucket names must not be formatted as an IP address (e.g., 192.168.5.4)

The following are examples of valid bucket names:

  • myawsbucket
  • aws.bucket.com
  • myawsbucket.1

Accessing buckets via https (secure)

If your bucket name has period in it then https fails with a certificate warning (see below).

This is due to the wildcard certificate not covering domains with periods in them. E.g. https://www.domain.com.s3-eu-west-1.amazonaws.com/image1.jpg

To make sure the URL will work in https, then you need to move the bucket name after the first “/”.

The general format is https://s3url.com/bucketname/object

Example :
https://s3-eu-west-1.amazonaws.com/www.domain.com/wifi-logo.jpg

Bucket restrictions

Further details on bucket restrictions can be found at the following URL;

http://docs.amazonwebservices.com/AmazonS3/latest/dev/BucketRestrictions.html?r=9654

This entry was posted in Amazon Web Services. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>