Amazon S3 Transfer Acceleration
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, see Amazon 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, see Amazon 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 supported 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 and from the acceleration-enabled bucket by using one of the following s3-accelerate endpoint domain names:
– to access an acceleration-enabled bucket.
– to access an acceleration-enabled bucket over IPv6. Amazon S3 dual-stack endpoints support requests to S3 buckets over IPv6 and IPv4. The Transfer Acceleration dual-stack endpoint only uses the virtual hosted-style type of endpoint name. For more information, see Getting Started Making Requests over IPv6 and Using Amazon S3 Dual-Stack Endpoints.
Currently support for the dual-stack accelerated endpoint is only available from the AWS Java SDK. For an example, see Creating an Amazon S3 Java Client to Use the Transfer Acceleration Dual-Stack Endpoint. Support for the AWS CLI and other AWS SDKs is coming soon.
You can continue to use the regular endpoint in addition to the accelerate endpoints.
You can point your Amazon S3 PUT object and GET object requests to the s3-accelerate endpoint domain name after you enable Transfer Acceleration. For example, let's say you currently have a REST API application using PUT 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.
After Transfer Acceleration is enabled, it can take up to 20 minutes for you to realize the performance benefit. However, the accelerate endpoint will be available as soon as you enable Transfer Acceleration.
You can use the 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 endpoints, except for the following the operations: GET Service (list buckets), PUT Bucket (create bucket), and DELETE Bucket. Also, Amazon S3 Transfer Acceleration does not support cross region copies using PUT 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.
To access the bucket that is enabled for Transfer Acceleration, you must use the use the endpoint
. or the dual-stack endpoint
to connect to the enabled bucket over IPv6.
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 at Contact Us.