Create a Bucket in a Specific Location

You want to create a bucket in a specific geographic location.

Use the location parameter to the create_bucket method to specify the location of the new bucket.

Originally, there was just a single S3 endpoint and all data was stored in one region or location, the eastern United States. Over time, however, the S3 service has expanded, and there are now five region-specific endpoints:

There is a big difference, however, in the way S3 handles resources and regions. For services like EC2, SimpleDB, SQS, and the like, the regions are treated as completely separate services, and resources cannot be easily shared across these regions. For example, if you want to create an EC2 instance in the EU region, you have to connect to the EC2 EU endpoint to do so, and that instance is unknown to the other EC2 regions. With S3, you specify a Location for the bucket when it is created, but once it is created, you can access the bucket from any of the S3 endpoints. In addition, you can create an EU bucket when you are talking to the US endpoint and vice versa. So, the resource namespace is global to the entire S3 service, across all regions. The main reason you might decide to talk to a region-specific endpoint is to get better latency in your connections.