S3 Transfer Acceleration enables fast, easy, and secure transfers of files over long distances between your client and your S3 bucket.
Transfer Acceleration leverages Amazon CloudFront’s globally distributed Edge Locations.
As data arrives at an AWS Edge Location, data is routed to your Amazon S3 bucket over an optimized network path. According to an Amazon blog, improvements are typically in the range of 50% to 500% for cross-country transfer of larger objects, but can go ever higher under certain conditions.
Enabling & Using Transfer Acceleration
You can enable Transfer Acceleration on an S3 bucket using the S3 console (under S3 bucket’s properties), the S3 API, or the AWS CLI.
Once transfer acceleration is enabled, you can point your S3 PUT and GET requests to the s3-accelerate endpoint domain name.
Your data transfer application must use one of the following two types of endpoints to access the bucket for faster data transfer:
-
<bucketname>.s3-accelerate.amazonaws.com or
-
<bucketname>.s3-accelerate.dualstack.amazonaws.com for the “dual-stack” endpoint.
If you want to use standard data transfer, you can continue to use the regular endpoints.
After enabling Transfer Acceleration on a bucket it might take up to 30 minutes before the data transfer speed to the bucket increases.
Permissions
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:PutAccelerateConfiguration permission permits users to enable or disable Transfer Acceleration on a bucket.
The s3:GetAccelerateConfiguration permission permits users to return the Transfer Acceleration state of a bucket, which is either Enabled or Suspended.
Additional Requirements
-
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 (".").
S3 Transfer Acceleration vs. Amazon CloudFront
Transfer Acceleration optimizes the TCP protocol and adds additional intelligence between the client and the S3 bucket, making Transfer Acceleration a better choice if a higher throughput is desired.
If you have objects that are smaller than 1GB or if the data set is less than 1GB in size, you should consider using CloudFront's PUT/POST commands for optimal performance.
S3 Transfer Acceleration vs. AWS Snowball
The AWS Import/Export Snowball is ideal for customers moving large batches of data at once. With a very very good network transfer acceleration can perform very well.
Better option is to use both: perform initial heavy lift moves with an AWS Snowball (or series of AWS Snowballs) and then transfer incremental ongoing changes with Transfer Acceleration.
Important Notes – Transfer Acceleration (Exam Tips)
-
Transfer Acceleration supports all bucket level features including multipart upload.
-
Transfer Acceleration provides the same security as regular transfers to S3. No data is ever saved at Edge Locations.
-
If Amazon determines that Transfer Acceleration is not likely to be faster than a regular S3 transfer of the same object to the same destination region, they will not charge for that transfer, and may bypass the Transfer Acceleration system for that upload.
-
AWS has expanded its HIPAA compliance program to include S3 Transfer Acceleration as a HIPAA eligible service.
-
Software packages that connect directly into S3 can take advantage of Transfer Acceleration.
-
You can configure the bucket destination in your 3rd party gateway to use an S3 Transfer Acceleration endpoint domain name.
-
Transfer Acceleration can complement AWS Direct Connect.
References:
Additional Resources - Transfer Acceleration
Examples: http://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration-examples.html.
Speed comparison: http://s3-accelerate-speedtest.s3-accelerate.amazonaws.com/en/accelerate-speed-comparsion.html
Dual stack involves running IPv4 and IPv6 at the same time. End nodes and routers/switches run both protocols, and if IPv6 communication is possible that is the preferred protocol.
Virtual hosted style e.g. http://bucket.s3.dualstack.aws-region.amazonaws.com vs. Path style e.g. http://s3.dualstack.aws-region.amazonaws.com/bucket.
More Links:
http://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html
- heartin's blog
- Log in or register to post comments
Recent comments