将 Amazon S3 与 Amazon EC2 结合使用 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

将 Amazon S3 与 Amazon EC2 结合使用

Amazon Simple Storage Service(Amazon S3)是一种对象存储服务,提供行业领先的可扩展性、数据可用性、安全性和性能。您可以使用 Amazon S3 为数据湖、网站、备份和大数据分析等一系列用例存储和检索任意数量的数据,这些数据可以来自 Amazon EC2 实例或互联网上的任何地方。有关更多信息,请参阅什么是 Amazon S3?

数据元是 Amazon S3 中存储的基础实体。Amazon S3 中存储的每个对象都包含在存储桶中。存储桶在最高级别上组织管理 Amazon S3 命名空间,并指定负责该存储的账户。Amazon S3 存储桶类似于互联网域名。存储在存储桶中的对象具有唯一的密钥值,可以使用 URL 进行检索。举例来说,如果密钥值为 /photos/mygarden.jpg 的对象存储在 DOC-EXAMPLE-BUCKET1 存储桶中,则可使用 URL https://DOC-EXAMPLE-BUCKET1.s3.amazonaws.com/photos/mygarden.jpg 对该对象进行寻址。有关更多信息,请参阅 Amazon S3 的工作原理

用法示例

凭借 Amazon S3 的存储优势,您可以选择使用此服务存储文件和数据集以用于 EC2 实例。有几种方法可在 Amazon S3 和您的实例间移动数据。除下面所讨论的示例外,您还可以使用其他人编写的各种工具从您的计算机或实例访问您在 Amazon S3 中的数据。Amazon 论坛中对其中一些常见工具进行了讨论。

如果您有权限,就可以使用以下某种方法在 Amazon S3 和您的实例之间复制文件。

Amazon Tools for Windows PowerShell

Windows 实例有图形浏览器优势,您可以用图形浏览器直接访问 Amazon S3 控制台;不过,出于脚本编写目的,Windows 用户也可以使用 Amazon Tools for Windows PowerShell 将对象移入和移出 Amazon S3。

使用以下命令可将一个 Amazon S3 对象复制到您的 Windows 实例。

PS C:\> Copy-S3Object -BucketName my_bucket -Key path-to-file -LocalFile my_copied_file.ext
Amazon Command Line Interface

Amazon Command Line Interface(Amazon CLI)是用于管理 Amazon 服务的统一工具。Amazon CLI 能让用户对自己进行身份验证,从 Amazon S3 下载受限制的项目和上载项目。有关更多信息(例如如何安装和配置这些工具),请参阅 Amazon Command Line Interface 详细信息页

aws s3 cp 命令与 Unix cp 命令类似。您可以将文件从 Amazon S3 复制到您的实例,从您的实例复制到 Amazon S3,可以将文件在不同 Amazon S3 位置之间复制。

使用以下命令可将一个对象从 Amazon S3 复制到您的实例。

aws s3 cp s3://my_bucket/my_folder/my_file.ext my_copied_file.ext

使用以下命令可将一个对象从您的实例重新复制到 Amazon S3。

aws s3 cp my_copied_file.ext s3://my_bucket/my_folder/my_file.ext

aws s3 sync 命令可以将整个 Amazon S3 存储桶同步到本地目录位置。这可以用于下载数据集并使本地副本随远程集保持更新。如果您对 Amazon S3 存储桶拥有合适权限,则当您最后在命令中将源与目标位置反转时,可以将本地目录备份推送到云。

使用以下命令可将整个 Amazon S3 存储桶下载到实例上的本地目录。

aws s3 sync s3://remote_S3_bucket local_directory
Amazon S3 API

如果您是一名开发人员,则可以使用 API 访问 Amazon S3 中的数据。有关更多信息,请参阅 Amazon Simple Storage Service 用户指南。您可以使用此 API 及其示例帮助开发应用程序,可将其与其他 API 和 SDK(例如 boto Python 接口)集成。