启用和使用 S3 Transfer Acceleration
可以使用 Amazon S3 Transfer Acceleration 在客户端和 S3 存储桶之间进行快速、安全的远距离文件传输。您可以使用 S3 控制台、Amazon Command Line Interface(Amazon CLI)、API 或 Amazon SDK 启用 Transfer Acceleration。
本节提供了有关如何对存储桶启用 Amazon S3 Transfer Acceleration 和对启用的存储桶使用加速端点的示例。
有关 Transfer Acceleration 要求的更多信息,请参阅使用 Amazon S3 Transfer Acceleration 配置快速、安全的文件传输。
注意
如果要比较加快的上传速度与未加快的上传速度,请打开 Amazon S3 Transfer Acceleration 速度比较工具
此速度比较工具使用分段上传来将文件从浏览器传输到各种使用和未使用 Amazon S3 Transfer Acceleration 的 Amazon Web Services 区域。您可以比较直接上传和按区域传输加速上传的上传速度。
为 S3 存储桶启用传输加速
登录到Amazon Web Services Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/
。 -
在存储桶列表中,选择要为其启用加速传输的存储桶的名称。
-
选择属性。
-
在 Transfer acceleration (传输加速) 下,选择 Edit (编辑)。
-
选择 Enable(启用),然后选择 Save changes(保存更改)。
要访问加速数据传输
-
在 Amazon S3 为您的存储桶启用传输加速后,查看存储桶的 Properties(属性)选项卡。
-
在 Transfer acceleration(传输加速)下,Accelerated endpoint(加速端点)显示存储桶的传输加速端点。使用此端点访问与存储桶之间的加速数据传输。
如果您暂停传输加速,加速端点不再起作用。
以下是用于 Transfer Acceleration 的 Amazon CLI 命令的示例。有关设置 Amazon CLI 的说明,请参阅《Amazon S3 API 参考》中的 Developing with Amazon S3 using the Amazon CLI。
在存储桶上启用 Transfer Acceleration
使用 Amazon CLI put-bucket-accelerate-configuration 命令对存储桶启用或暂停 Transfer Acceleration。
以下示例设置 Status=Enabled
以对存储桶启用 Transfer Acceleration。您用 Status=Suspended
来暂停 Transfer Acceleration。
$
aws s3api put-bucket-accelerate-configuration --bucketbucketname
--accelerate-configuration Status=Enabled
使用 Transfer Acceleration
您可以将 s3 和 s3api Amazon CLI 命令发出的所有 Amazon S3 请求定向到加速端点:s3-accelerate.amazonaws.com
。为此,请在 Amazon Config 文件的配置文件中将配置值 use_accelerate_endpoint
设置为 true
。必须对存储桶启用 Transfer Acceleration 才能使用加速端点。
所有请求都使用存储桶寻址的虚拟风格发送:my-bucket.s3-accelerate.amazonaws.com
。不会将任何 ListBuckets
、CreateBucket
和 DeleteBucket
请求发送到加速端点,因为该端点不支持这些操作。
有关 use_accelerate_endpoint
的更多信息,请参阅《Amazon CLI 命令参考》中的 Amazon CLI S3 配置。
以下示例在默认配置文件中将 use_accelerate_endpoint
设置为 true
。
$
aws configure set default.s3.use_accelerate_endpoint true
如果您需要对某些 Amazon CLI 命令使用加速端点,但不对其他此类命令使用加速端点,则可使用以下两种方法中的任一方法:
-
通过将
--endpoint-url
参数设置为https://s3-accelerate.amazonaws.com
,来对任何 s3 或 s3api 命令使用加速端点。 -
在 Amazon Config 文件中设置单独的配置文件。例如,创建一个将
use_accelerate_endpoint
设置为true
的配置文件和一个不设置use_accelerate_endpoint
的配置文件。在运行一条命令时,根据是否需要使用加速端点来指定要使用的配置文件。
将对象上传到已启用 Transfer Acceleration 的存储桶
以下示例通过使用已配置为使用加速端点的默认配置文件来将文件上传到已启用 Transfer Acceleration 的存储桶。
$
aws s3 cpfile.txt
s3://bucketname/keyname
--regionregion
以下示例通过使用 --endpoint-url
参数指定加速端点来将文件上传到已启用 Transfer Acceleration 的存储桶。
$
aws configure set s3.addressing_style virtual$
aws s3 cpfile.txt
s3://bucketname/keyname
--regionregion
--endpoint-url https://s3-accelerate.amazonaws.com
以下是使用 Transfer Acceleration 通过 Amazon SDK 将对象上传到 Amazon S3 的示例。一些 Amazon SDK 支持的语言(例如,Java 和 .NET)使用加速端点客户端配置标记,这样一来,您便无需显式将 Transfer Acceleration 的端点设置为 bucketname
.s3-accelerate.amazonaws.com。
使用 REST API PutBucketAccelerateConfiguration
操作在现有存储桶上启用加速配置。
有关更多信息,请参阅《Amazon Simple Storage Service API 参考》中的 PutBucketAccelerateConfiguration。