I want to use S3 Transfer Acceleration to improve the file upload speed to my Amazon Simple Storage Service (Amazon S3) bucket. I also want to compare the speeds between direct uploads to the S3 bucket and S3 Transfer Acceleration.
Resolution
To compare the general upload speed across Amazon S3 Regions, use the Amazon S3 Transfer Acceleration Speed Comparison tool. To test the upload speed of a specific file size, use the test-upload.sh from the Amazon Web Services - Labs GitHub website.
Before you run test-upload.sh, you must meet the following requirements:
- Review your AWS Identity and Access Management (IAM) user credentials to verify that you have the permissions to activate Transfer Acceleration. You need the s3:PutAccelerateConfiguration permission to turn Transfer Acceleration on or off. Also, you need the s3:GetAccelerateConfiguration permission to view if Transfer Acceleration is active in a bucket. For more information, see Requirements for using Transfer Acceleration.
- Turn on Transfer Acceleration on your S3 bucket.
- Install and configure the AWS Command Line Interface (AWS CLI) on your machine.
Note: If you receive errors when you run AWS Command Line Interface (AWS CLI) commands, see Troubleshoot AWS CLI errors. Also, make sure that you're using the most recent AWS CLI version.
Requirements for test-upload.sh
Before you run test-upload.sh, first install the bc language on your Linux machine:
Ubuntu or Debian
apt-get install bc
Amazon Linux, CentOS, Red Hat Enterprise Linux (RHEL), or Fedora
yum install bc
Requirements for test-upload.sh on a macOS machine
Before you run test-upload.sh, use Homebrew to install coreutils on macOS:
- (Optional) If you don't have Homebrew installed, then follow the installation instructions on the Homebrew website.
- Install coreutils through Homebrew:
brew install coreutils
Related information
User and role policy examples
Activating and using S3 Transfer Acceleration using the AWS CLI