Amazon S3 Transfer Acceleration enables fast, easy, and secure transfers of files over long distances between your client and an S3 bucket. Transfer Acceleration takes advantage of Amazon CloudFront’s globally distributed edge locations. As the data arrives at an edge location, data is routed to Amazon S3 over an optimized network path.
When using Transfer Acceleration, additional data transfer charges may apply. For more information about pricing, seeAmazon S3 Pricing.
Why Use Amazon S3 Transfer Acceleration?
You might want to use Transfer Acceleration on a bucket for various reasons, including the following:
You have customers that upload to a centralized bucket from all over the world.
You transfer gigabytes to terabytes of data on a regular basis across continents.
You underutilize the available bandwidth over the Internet when uploading to Amazon S3.
For more information about when to use Transfer Acceleration, seeAmazon S3 FAQs.
Using the Amazon S3 Transfer Acceleration Speed Comparison Tool
You can use the Amazon S3 Transfer Acceleration Speed Comparison tool to compare accelerated and non-accelerated upload speeds across Amazon S3 regions. The Speed Comparison tool uses multipart uploads to transfer a file from your browser to various Amazon S3 regions with and without using Transfer Acceleration.
You can access the Speed Comparison tool using either of the following methods:
Copy the following URL into your browser window, replacing
regionwith the region that you are using (for example, us-west-2) and
yourBucketNamewith the name of the bucket that you want to evaluate:
For a list of the regions suppported by Amazon S3, see Regions and Endpoints in the Amazon Web Services General Reference .
Use the Amazon S3 console. For details, see Enabling Transfer Acceleration in the Amazon Simple Storage Service Console User Guide .
Getting Started with Amazon S3 Transfer Acceleration
To get started using Amazon S3 Transfer Acceleration perform the following steps:
Enable Transfer Acceleration on a bucket – For your bucket to work with transfer acceleration, the bucket name must conform to DNS naming requirements and must not contain periods (".").
You can enable Transfer Acceleration on a bucket any of the following ways:
Transfer data to the acceleration-enabled bucket using the
bucketname.s3-accelerate.amazonaws.com endpoint – When uploading to or downloading from the Transfer Acceleration enabled bucket you must use the bucket endpoint domain name
to get accelerated data transfers. You can find the unique Transfer Acceleration endpoint name for your bucket in the Amazon S3 management console.
You can continue to use the regular endpoint in addition to the accelerate endpoint.
For example, let’s say you currently have a REST API application usingPUT Object that uses the host name mybucket.s3.amazonaws.com in the
PUTrequest. To accelerate the
PUTyou simply change the host name in your request to mybucket.s3-accelerate.amazonaws.com . To go back to using the standard upload speed, simply change the name back to mybucket.s3.amazonaws.com .
You can use the new accelerate endpoint in the AWS CLI, AWS SDKs, and other tools that transfer data to and from Amazon S3. If you are using the AWS SDKs, some of the supported languages use an accelerate endpoint client configuration flag so you don’t need to explicitly set the endpoint for Transfer Acceleration to
bucketname.s3-accelerate.amazonaws.com. For examples of how to use an accelerate endpoint client configuration flag, see Amazon S3 Transfer Acceleration Examples .
You can use all of the Amazon S3 operations through the transaction acceleration endpoint, except for the following the operations: GET Service (list buckets) , PUT Bucket (create bucket) , andDELETE Bucket. Also, Amazon S3 Transfer Acceleration does not support cross region copies usingPUT Object – Copy.
Requirements for Using Amazon S3 Transfer Acceleration
The following are the requirements for using Transfer Acceleration on an S3 bucket:
Transfer Acceleration is only supported on virtual style requests. For more information about virtual style requests, see Making Requests Using the REST API .
The name of the bucket used for Transfer Acceleration must be DNS-compliant and must not contain periods (".").
Transfer Acceleration must be enabled on the bucket. After enabling Transfer Acceleration on a bucket it might take up to thirty minutes before the data transfer speed to the bucket increases.
You must use the use the endpoint
to access the enabled bucket.
You must be the bucket owner to set the transfer acceleration state. The bucket owner can assign permissions to other users to allow them to set the acceleration state on a bucket. The
s3:PutAccelerateConfigurationpermission permits users to enable or disable Transfer Acceleration on a bucket. The
s3:GetAccelerateConfigurationpermission permits users to return the Transfer Acceleration state of a bucket, which is either
Suspended.For more information about these permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources .
Transfer Acceleration is not Health Insurance Portability and Accountability Act (HIPAA) compliant.
Transfer Acceleration uses AWS Edge infrastructure (edge locations), which are not Health Insurance Portability and Accountability Act (HIPAA) compliant. If your organization has personal health information (PHI) workloads covered under the HIPAA Business Associate Agreement (BAA), you can’t use Transfer Acceleration. For more information, contact AWS Support atContact Us.