启用和使用 S3 Transfer Acceleration
您可以使用 Amazon S3 Transfer Acceleration 在您的客户端和 S3 Bucket 之间进行快速、安全的远距离文件传输。您可以使用 S3 控制台、Amazon Command Line Interface (Amazon CLI) 或 Amazon 软件开发工具包启用 Transfer Acceleration。
本节提供了有关如何对存储桶启用 Amazon S3 Transfer Acceleration 和对启用的存储桶使用加速终端节点的示例。
有关 Transfer Acceleration 要求的更多信息,请参阅使用 Amazon S3 Transfer Acceleration 配置快速、安全的文件传输。
如果要比较加快的上载速度与未加快的上载速度,请打开 Amazon S3 Transfer Acceleration 速度比较工具
此速度比较工具使用分段上载来将文件从浏览器传输到各种使用和未使用 Amazon S3 Transfer Acceleration 的 Amazon Web Services 区域。您可以比较直接上载和按区域传输加速上载的上载速度。
为 S3 Bucket 启用传输加速
登录到 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 CLI 进行 Amazon S3 开发。
在存储桶上启用 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 软件开发工具包将对象上载到 Amazon S3 的示例。一些Amazon软件开发工具包支持的语言(例如,Java 和 .NET)使用加速终端节点客户端配置标记,这样一来,您便无需显式将 Transfer Acceleration 的终端节点设置为 bucketname
.s3-accelerate.amazonaws.com。