开始使用 amazon-s3

文档摘要

来自 http://docs.aws.amazon.com/AmazonS3/latest/dev/Welcome.html

Amazon Simple Storage Service 是 Internet 的存储。它旨在使开发人员更轻松地进行 Web 规模计算。

Amazon S3 有一个简单的 Web 服务界面,你可以使用它在任何时间从 Web 上的任何位置存储和检索任何数量的数据。它使任何开发人员都可以访问亚马逊用于运行其自己的全局网站网络的高度可扩展,可靠,快速,廉价的数据存储基础架构。该服务旨在最大限度地扩大规模效益,并将这些优势传递给开发人员。

语言和脚本支持

S3 不是这样的开发语言,而是支持 Web 服务请求的云平台。亚马逊发布了各种各样的工具和 SDK 。语言 SDK 通过处理诸如 Web 服务请求,身份验证,会话管理,令牌续订等任务来提供对 S3 的透明访问。还有用于 bash / windows / iospowershell 的命令行界面。

S3 API

竞争供应商支持 S3 Web 服务 API。本主题目前不直接涵盖 API,因此此处的示例对于构建连接到利用 S3 API 的竞争系统的应用程序没有用。

版本

截至 2017 年 3 月 28 日,AWS CLI 有 174 个版本,这些版本在 CLI 发行说明中有详细记录 。Amazon S3 有 66 个版本,其中一些是宣布添加新区域,另一些是添加功能。这些内容记录在 S3 发行说明中

例子

对于到目前为止在入门部分中显示的示例,Amazon S3 对于以下用例的开发人员非常有用:

  • **** 在高性能,持久的系统中存储或备份文件,从而将此任务从非云架构中卸载:Linux 和 Windows 文件系统。使用内部部署服务器或 EC2 实例重新创建 S3 的持久性和性能级别是昂贵的。
  • 当网络带宽成为问题时,例如,在多个并发用户必须下载大文件的情况下,将数据移动到 S3 可以用作应用程序缓解数据中心或本地服务器的带宽短缺的方式。这是一种分发大型代码存储库,虚拟机映像,视频或软件安装程序的方法。可以改善用户上传时间和用户下载时间。 [为了在非常大的用户群场景中获得额外的性能,可以使用诸如 cloudfront 之类的内容交付系统来缓存离用户更近的文件。
  • **你的应用程序需要创建或使用大文件,**并且你需要一种允许用户访问或存放它的方法。
  • 你的应用程序分发非常大,你需要与用户共享。
  • 你正在组建一个持续的交付管道,例如在 Amazon S3 上托管你网站的部分内容。

此时,示例未显示如何执行以下操作:

  • 这些例子虽然比输入 aws s3 help, do not mention some of the commands covered in help, such asaws s3 网站更快更清晰。
  • 如何共享或限制用户访问权限。如果没有明确的限制,这些示例仅适用于共享同一 AWS 账户的用户。
  • 如何通过加密保护数据。请注意,AWS 将 S3 定位为具有比 EC2 中存储的数据更高的安全级别。 AWS 安全最佳实践,2016 年 8 月,p。27

安全

AWS 建议将 S3 视为安全平台:

除非你有更严格的业务或合规性要求,否则除了 AWS 安全全局基础架构提供的保护之外,你不需要引入额外的保护层。同上。第 2 页

在其安全指南中 ,AWS 建议使用适用于 S3 的 AWS 身份验证。同上。页。27

此外,S3 还提供服务器端加密或客户端加密。AWS Java SDK 透明地提供客户端加密; 密钥不需要存储在 AWS 上。同上。页。28