/ 中存储网

Amazon S3( Simple Storage Service )常见问题汇总

2016-09-30 08:34:16 来源:中存储

Amazon S3简介

可扩展的云存储

Amazon Simple Storage Service (Amazon S3) 为开发人员和 IT 团队提供安全、耐用且高度可扩展的对象存储。Amazon S3 易于使用,通过简单的 Web 服务接口实现在 Web 上的任意位置存储和检索任意数量的数据。使用 Amazon S3,您只需按您实际使用的存储量付费,没有最低消费限制和设置成本。

Amazon S3 提供一系列的存储类别,可用于不同的使用案例,包括用于频繁访问数据的通用存储的 Amazon S3 Standard、用于长期但非频繁访问数据的 Amazon S3 – Infrequent Access(Standard – IA),以及用于长期归档的 Amazon Glacier。Amazon S3 还提供可配置生命周期策略,以便在您数据的生命周期内对其进行管理。一旦设置了策略,您的数据便会自动迁移到最合适的存储类别,而您的应用程序无需进行任何更改。

Amazon S3 可单独使用,也可与其他 AWS 服务以及第三方存储库和网关结合使用。Amazon S3 可为各种各样的使用案例提供经济高效的对象存储服务,其中包括云应用程序、内容分发、备份和归档、灾难恢复以及大数据分析。

使用案例

内容存储和分发

Amazon S3 为各种内容,从 Web 应用程序到媒体文件,提供了一种高耐久性和高可用性的存储。 它允许您将整个存储基础设施转移到云端,从而利用 Amazon S3 的扩展性和按使用付费的优势,以处理不断增长的存储需求。 您可以从 Amazon S3 直接分发您的内容。

对于分享易于复制的内容或在其他位置存储了原始副本的内容,Amazon S3 的 Standard – Infrequent Access Storage (S-IA) 功能将是一种极为有利的解决方案。例如,如果您想将媒体内容存储在内部,但需要向客户、渠道合作伙伴或员工提供访问权限,则可以使用 S-IA 这一低成本解决方案来存储和分享此内容。

用于数据分析的存储

无论是存储用于分析的医药数据、用于计算和定价的财务数据,还是用于调整尺寸的照片图像,Amazon S3 都是存储原始内容的理想位置。这样,您可以将该内容发送到 Amazon EC2 进行计算、调整大小或其他大规模分析,而不会由于在这些服务之间移动数据产生任何数据传输的费用。然后,您可以选择使用 Amazon S3 的去冗余存储 (RRS) 功能(当然,也可以使用 Amazon S3 的标准存储)来存储这些结果以及可再生的内容。

备份、存档与灾难恢复

Amazon S3 提供了高耐久性、高可扩展性以及安全的解决方案来备份和归档您的关键数据。 您可以使用 Amazon S3 的版本控制功能为存储的数据提供进一步的保护。您也可以基于对象的生命周期为其定义归档规则,将 Amazon S3 对象归档到 Amazon Glacier 以享受极低成本的存储服务。随着数据老化,这些规则可以确保您的数据自动存储到最合算的存储服务中。

静态网站托管

您可以在 Amazon S3 上托管整个静态网站,进而获得一个价格实惠、高度可用并且可根据流量要求自动扩展的托管解决方案。自托管一个可以处理峰值流量加载且高度可用的网站不但非常困难,而且成本高昂。有了 Amazon S3,您可以提供可靠的流量服务,并且无需再为处理突发的高峰流量而扩展基础设施问题大伤脑筋。 Amazon S3 设计保证了 99.99% 的可用性和 99.999999999% 的耐久性,它使得您能够访问一个可高度扩展且快速可靠的基础设施,也就是 Amazon 运行自身的全球网站网络所采用的基础设施。 您还可以享受到按需付费的定价,也就是只按实际用量付费。 Amazon S3 的网站托管解决方案特别适合托管静态内容(包括 html 文件、图片、视频以及 JavaScript 等客户端脚本)的网站。 (建议使用 Amazon EC2 进行托管包含服务器端脚本编写和数据库交互内容的网站。)

Amazon S3 设计要求

Amazon S3 的基本理念是善加利用基于 Internet 的优质存储。它让开发人员不再担心如何存储数据、数据是否安全或者是否有足够的存储可用。他们不再需要支付前期费用来建立自己的存储解决方案,也不需要支付维护和扩展存储服务器的后续成本。 Amazon S3 功能简单且强大:以实惠的价格安全地存储任何数量的数据,同时确保数据在您需要时始终可用。借助 Amazon S3,开发人员能够专注于利用数据来进行创新,而不是研究如何存储数据。

Amazon S3 的构建方式满足以下设计要求:

耐用

Amazon S3 提供耐用的基础设施存储重要数据,其设计旨在为对象提供 99.999999999% 的耐用性。您的数据将通过冗余方式存储在多个设施以及一个设施内的多个设备上。

成本低廉

利用 Amazon S3,您能以非常低廉的成本存储大量数据。利用生命周期管理,您可设置策略来将数据自动迁移到 Standard – Infrequent Access 和 Amazon Glacier,随着时间的推移,成本还会进一步降低。您只需按需付费,无需承诺最低费用或支付前期费用。

可用

Amazon S3 Standard 可在指定年度内为对象提供高达 99.99% 的可用性,并且有 Amazon S3 服务等级协议的支持,从而确保您可在有需要时放心依赖。您还可以选择一个 AWS 区域来优化延迟、尽可能降低成本或满足法规要求。

可扩展

利用 Amazon S3,您可以尽可能多地存储数据并在需要时访问数据。您可以不必预测未来的存储需求并能按需要向上和向下扩展,从而大幅提高业务灵活性。

发送事件通知

Amazon S3 可在对象上传到 Amazon S3 时发送事件通知。Amazon S3 事件通知可使用 Amazon SQS 或 Amazon SNS 进行传送,或直接发送到 AWS Lambda,从而使您能够触发工作流、警报或其他处理操作。例如,您可以使用 Amazon S3 事件通知在媒体文件上传完成时触发其转码操作,在数据文件可用时触发其处理流程,或触发 Amazon S3 对象与其他数据存储的同步。

性能高

Amazon S3 支持分段上传,可帮助最大化网络吞吐量和弹性,同时还让您能够选择 AWS 区域存储接近于终端用户的数据并最小化网络延迟。而且 Amazon S3 还能与 Amazon CloudFront 集成,后者是一项内容分发 Web 服务,能以低延迟性和高数据传输速度向终端用户分发内容,且无需承诺最低使用费用。

易于使用

Amazon S3 具有基于 Web 的管理控制台和移动应用,非常易于使用,并且提供全套 REST API 和软件开发工具包,可与第三方技术轻松集成。

Amazon S3 产品详细信息

Amazon S3 功能

Amazon S3 特意内置了最小的功能集。

  • 写入、读取和删除对象,每个对象可包含从 1 字节到 5 TB 的数据。您可以存储的数据元没有数量限制。
  • 每个对象存储在桶中,通过开发人员分配的唯一密钥来进行检索。
  • 存储在中国(北京)区域的数据对象绝不会离开该区域,除非您将它们传出。
  • 身份验证机制旨在确保数据安全,以防未授权访问。 对象可以设置为私有或公有,也可以向特定用户授予权限。
  • 使用基于标准的 REST 和 SOAP 接口,它们可与任何 Internet 开发工具包搭配使用。
  • 灵活构建,以便能够轻松添加协议或功能层。默认的下载协议是 HTTP。
  • 提供数据生命周期内的简化管理。包括:按桶分隔数据、监视和控制花费,以及自动将数据归档至成本更低的存储选项。这些选项均可通过 Amazon S3 管理控制台轻松进行管理。

保护您的数据

默认情况下,Amazon S3 中存储的数据是安全的;只有桶和对象所有者才能访问他们创建的 Amazon S3 资源。Amazon S3 支持多种访问控制机制。借助 Amazon S3 的数据保护功能,您可以保护数据以防出现逻辑和物理故障,防止因用户意外操作、应用程序错误及基础设施故障而导致数据丢失。对于必须遵守相关法规标准的客户,Amazon S3 的数据保护功能可作为实现合规性的总体策略的一部分。下面将详细介绍 Amazon S3 提供的各种数据安全和可靠性功能。

数据安全性的详细信息

Amazon S3 支持多种机制,使您能够灵活控制访问您数据的人员以及他们的访问方式、时间以及位置。Amazon S3 提供了四种不同的访问控制机制:Identity and Access Management (IAM) 策略、访问控制列表 (ACL)、存储桶策略以及查询字符串身份验证。 IAM 让拥有多名员工的组织能够在一个 AWS 账户下创建和管理多个用户。通过 IAM 策略,您可以授予 IAM 用户对 Amazon S3 存储桶或数据对象的细化控制权。 您可以使用 ACL 选择性地添加(授予)对个别数据对象的特定权限。 Amazon S3 存储桶策略可用来添加或拒绝对单一存储桶内的部分或所有数据对象的权限。 使用查询字符串身份验证,您能够通过仅在预定时间段内有效的 URL 共享 Amazon S3 数据对象。

您可以使用 HTTPS 协议通过 SSL 终端节点,将数据安全地上传/下载到 Amazon S3。

Amazon S3 还能够记录对 Amazon S3 资源所做的请求。您还可以配置 Amazon S3 存储桶,针对提出的相关请求创建访问日志记录。 这些服务器访问日志可捕获对存储桶或其中的数据对象发出的所有请求,还可用于审核目的。

有关 Amazon S3 中安全功能的更多信息,请参阅 访问控制主题在 Amazon S3 开发人员指南。

数据持久性和可靠性

Amazon S3 为任务关键型和主要数据存储提供了高度持久的存储基础设施。Amazon S3 通过冗余方式将数据存储在多个设施以及一个设施内的多个设备上。为了提高耐用性,Amazon S3 在确认数据已成功存储之前会将数据同步存储在多个设施中。此外,Amazon S3 还会在存储或检索数据时对所有网络流量计算校验和,以检测数据包是否损坏。与需要进行费时耗力的数据验证和手工修复的传统系统不同,Amazon S3 可以定期执行系统的数据完整性校验,并且内置了自动的自我修复功能。

Standard 具有以下特点:

  • 以 Amazon S3 服务等级协议作为后盾,以确保可用性。
  • 设计旨在特定年度内为对象提供 99.999999999% 的持久性和 99.99% 的可用性。
  • 能够承受同时两个设施中的数据丢失。

Standard – Infrequent Access 具有以下特点:

  • 以 Amazon S3 服务等级协议作为后盾,以确保可用性。
  • 设计目的是在指定年度内为对象提供 99.999999999% 的耐用性和 99.9% 的可用性。
  • 能够承受同时两个设施中的数据丢失。

Amazon Glacier 具有以下特点:

  • 设计目的是在指定年度内为对象提供 99.999999999% 的耐用性。
  • 能够承受同时两个设施中的数据丢失。

管理您的数据

Amazon S3 让数据管理变得异常简便。 通过 Amazon S3 的数据生命周期管理功能,您可以自动将数据对象存档到成本更低的存储选项,或者执行重复删除,帮助您降低数据对象在生命周期内的成本。 Amazon S3 还允许您监视和控制不同业务职能部门的成本。 所有这些管理功能都可以使用 Amazon S3 API 或管理控制台轻松管理。 下面将详细介绍 Amazon S3 提供的各种数据管理功能。

数据生命周期管理

随着您的数据不断发展,Amazon S3 可以自动分配和更改成本和性能特性。它甚至还能自动执行常见的数据生命周期管理任务,包括预配置容量、自动迁移以降低费用层级,以及遵守法规合规性策略和最终按计划删除。

在存储新数据时,Amazon S3 让您不必再计划容量,因为它能够按需扩展,您只需为使用的容量付费即可。如果采用传统的存储系统,计划容量是一个极易出错的过程,尤其是存储需求的增长无法预测时。过度的预配置容量会导致设备闲置和成本增加,而预配置不足又会让您超出计划过早进行昂贵的硬件升级。

随着数据老化,或者在硬件故障或到达使用寿命时,Amazon S3 会自动并且透明地负责将您的数据迁移到新硬件上。 这种机制让您不必执行昂贵、耗时且风险极大的硬件迁移。 随着数据老化,Amazon S3 还可以自动将数据迁移到成本较低的存储中。您可以基于数据的使用年限定义规则,将 Amazon S3 对象自动迁移到 Standard – Infrequent Access (Standard – IA) 或 Amazon Glacier。

一旦数据结束了其生命周期,Amazon S3 还提供了编程选项,用于删除重复和大量数据。对于重复删除,您可以将规则定义为在预定义的时间段后删除对象集。这些规则可用于存储在 Standard 或 Standard – IA 中的对象,也适用于已归档到 Amazon Glacier 的对象。

您还可以针对 Amazon S3 对象的版本定义生命周期规则以降低存储成本。例如,您可以创建规则,当较旧版本的对象不再需要时自动将其彻底删除,从而节省资金并提高性能。除此之外,您还可以创建规则来将较旧的版本自动迁移到 Standard – IA 或 Amazon Glacier,从而进一步降低您的存储成本。

成本监视和控制

Amazon S3 提供了多种用于管理和控制成本的功能。 您可以使用 AWS 管理控制台和 Amazon S3 API 为 Amazon S3 存储桶添加标签,以便您将成本分配到多个业务维度,包括成本中心、应用程序名称或拥有者。 然后,您可以使用亚马逊 AWS 成本分摊报告(其中显示了按标签统计的使用情况和成本)来查看成本的分布。有关为 S3 存储段添加标签的详细信息,请参阅 Amazon S3 Developer Guide 中的 Bucket Tagging 主题。

传输大量数据

您可以使用 AWS Direct Connect 将大批量数据传输到 Amazon S3。AWS Direct Connect 服务便于您建立一个连接内部设施和 AWS 的专用网络。使用 AWS Direct Connect,您可以在 AWS 和数据中心、办公室或主机托管环境之间建立私有网络连接。在很多情况下,这样做可以降低网络成本、提高带宽吞吐量,并提供比基于 Internet 的连接更为一致的网络体验。

Amazon Simple Storage Service 常见问题

请注意:Amazon S3 在面向中国发布时会略有不同。完整详细信息请参阅 Amazon S3 开发人员指南。

  • 一般性问题
  • 服务等级协议 (SLA)
  • 账单
  • 安全性
  • 数据保护
  • 低冗余存储 (RRS)
  • Amazon Glacier

一般性问题

问:什么是 Amazon S3?
Amazon S3 是一种面向 Internet 的存储服务。它是一种简单存储服务,以很低的成本为软件开发人员提供高度可扩展的、可靠的、低延迟的存储基础设施。

问:Amazon S3 可以用来做什么?
Amazon S3 提供一个简单的 Web 服务接口,可用于存储和提取任意数量的数据,这些操作可从 Web 上的任何位置随时执行。使用此种 Web 服务,开发人员可以轻松地构建利用互联网存储的应用程序。由于 Amazon S3 具有很高的可扩展性,而且您只需按实际用量付费,因此开发人员可以从较小用量起步,根据需要扩展应用程序,而不影响性能或可靠性。其设计具有很高灵活性:存储您需要的任意类型和任意数量的数据;读取相同数据一百万次,或者仅在紧急灾难恢复时读取;构建简单的 FTP 应用程序或复杂的 Web 应用程序,例如 Amazon.com 零售网站。Amazon S3 可以将开发人员解放出来,让他们专注于创新,而不是考虑如何存储数据。

问:Amazon S3 有哪些技术优势?
Amazon S3 经过精心设计,可以满足 Amazon 内部开发人员必须达到的可扩展性、可靠性、速度、低成本和简易性要求。Amazon S3 可为任何外部开发人员提供这些相同优势。有关 Amazon S3 设计要求的更多信息,请参阅 Amazon S3 详细信息页面。

问:开发人员可以实现哪些以前无法实现的功能?
小规模的开发商以前一直无法获得类似于 Amazon 的先进、可扩展的数据存储基础设施。Amazon EC2 可以让任何开发人员利用亚马逊自有的大规模优势,不需要预先投入,也无需牺牲性能。开发人员现在可以解放出来,专注于创新,因为他们知道无论他们的业务做成多大,数据都可以快速访问,随时保持可用性和安全性,不仅成本低,而且非常简单。

问:我可以存储多少数据?
您可以存储的总数据容量和数据对象数量不受限制。各个 Amazon S3 数据对象的大小可在 1 字节至 5 TB 之间。可在单个 PUT 中上传的最大数据对象为 5 GB。对于大于 100 MB 的数据对象,客户应该考虑使用分段上传功能。

问:如何利用 Amazon S3 的生命周期策略来降低 Amazon S3 存储成本?
借助 Amazon S3 生命周期策略,您可以配置在特定时间期限后是将数据对象存档到 Amazon Glacier,还是将其删除。您可以利用此策略驱动的自动化操作来轻松快速地降低存储成本和节省时间。在每个规则中,您都可以指定前缀、时间期限、转移到 Amazon Glacier 和/或过期。例如,您可以创建一个规则,规定将带有常见前缀 “logs/” 且创建后已有 30 天的所有数据对象存档,并且这些数据对象将于自创建之日起的 365 天后开始失效。您还可以创建单独的规则,规定仅带有前缀 “backups/” 且自创建后已有 90 天的所有数据对象开始失效。生命周期策略对现有数据对象和新的 S3 数据对象都适用,从而确保您能够针对所有当前数据和 S3 中存储的任何新数据优化存储、最大限度地节省成本,而无需耗时的手动数据检查和迁移。在生命周期规则内,前缀字段用于识别服从该规则的数据对象。要将规则应用于单个数据对象,请指定键名称。要将规则应用于一组数据对象,请指定它们的共同前缀(例如 “logs/”)。您可以指定迁移操作和过期操作以存档或删除数据对象。关于时间期限,您可以指定一个日期(如 2013 年 1 月 31 日)或自创建之日算起的天数(如 30 天),以便在此日期或超过此天数后将数据对象存档或删除。您可为不同前缀创建多条规则。有关更多信息,请参阅 Amazon S3 开发人员指南中的 Lifecycle Management主题。

问:如何删除大量数据对象?
您可以使用多数据对象删除,将大量数据对象从 Amazon S3 删除。借助此功能,您可以通过单个请求发送多个数据对象键,以加快删除速度。Amazon 不会因为使用多数据对象删除而向您收取费用。

问:如何将数据对象配置为在特定时间段之后删除?
您可以使用“数据对象过期”功能,在指定天数之后将数据对象从您的存储桶中删除。您可以通过应用于存储桶的生命周期配置策略,为位于您的存储桶中的一组数据对象定义过期规则。通过每条数据对象过期规则,您可以指定前缀和过期时段。前缀字段标识了要遵守规则的数据对象。要将规则应用于单个数据对象,请指定键名称。要将规则应用于一组数据对象,请指定它们的共同前缀(例如 “logs/”)。对于过期时段,请指定从创建日期之日开始的天数(即寿命),超过这个天数之后,该数据对象将被删除。您可为不同前缀创建多条规则。例如,您可以创建一条规则,将具有前缀 “logs/” 的所有数据对象在创建 30 天之后删除,另外创建一条单独规则,将具有前缀 “backups/” 的所有数据对象在创建 90 天之后删除。

添加数据对象过期规则之后,该规则被应用于已存在于存储桶中的数据对象,以及添加到存储桶中的新数据对象。一旦数据对象超过它们的过期日期,将对它们进行标识,并排队进行删除。对于达到或超出过期日期的数据对象的存储,不会向您收取费用,当数据对象删除之前在队列中等待时,它们仍然可以访问。对于标准删除请求,Amazon S3 不会因为使用数据对象过期功能来删除数据对象而向您收取费用。有关更多信息,请参阅 Amazon S3 开发人员指南中的数据对象过期主题。

问:Amazon 是否将自身数据存储在 Amazon S3 中?
是。Amazon 内部的开发人员也将 Amazon S3 用于众多项目。其中很多项目使用 Amazon S3 作为授权数据存储,并依赖它执行业务关键型操作。

问:Amazon S3 数据是如何组织的?
Amazon S3 是基于键的简单数据对象存储。存储数据时,您应分配唯一数据对象键,此后可使用该键来提取数据。键可以是任何字符串,可以模仿分层结构属性。

问:我如何与 Amazon S3 连接?
Amazon S3 提供基于标准的简单 REST 和 SOAP Web 服务接口,该接口可用于任何互联网开发工具包。我们特意对这些操作进行了简化,以便轻松添加新的分发协议和功能层。

问:Amazon S3 的可靠性如何?
Amazon S3 让所有开发人员能够访问同一个高度可扩展、快速可靠、低成本的数据存储基础设施,Amazon 使用该基础设施来运行自身的全球网站网络。该服务的设计可用性为 99.99%。

问:如果来自我的应用程序的流量突然达到峰值,会出现什么情况?
Amazon S3 从一开始就将处理来自任何互联网应用程序的高流量作为设计目标。按用量付费的定价以及无限制的容量,可以确保您的递增费用不会变化,而且您的服务也不会中断。Amazon S3 的庞大规模使得我们能够均衡地分布负载,任何应用程序都不会受到流量峰值的影响。

服务等级协议 (SLA)

问:Amazon S3 是否提供服务等级协议 (SLA)?

是。如果客户的月度正常运行时间百分比在任何账单周期内低于我们的服务承诺,Amazon S3 SLA 将提供服务补偿。可在此处找到更多信息。

服务等级协议 (SLA)

问:Amazon S3 是否提供服务等级协议 (SLA)?

是。如果客户的月度正常运行时间百分比在任何账单周期内低于我们的服务承诺,Amazon S3 SLA 将提供服务补偿。更多信息请参阅服务级别协议。

账单

问:Amazon S3 的费用是多少? 
使用 Amazon S3,您只需可以按实际用量付费。没有最低消费。

当我们的成本较低时,我们的收费也比较低。对于通过 COPY 请求在 Amazon S3 中国(北京)区域内部传输的数据,不收取数据传输费用。在中国(北京)区域的 Amazon EC2 和 Amazon S3 之间传输数据,不收取数据传输费。在 Amazon EC2 与所有其他 AWS 区域的 Amazon S3 之间传输的数据(如在加利福尼亚北部的 Amazon EC2 和中国(北京)区域的 Amazon S3 之间传输),将按照在 S3 详细信息页面的定价部分中规定的 Internet 传输费率收费。

有关 S3 定价信息,请访问 S3 详细信息页面上的定价部分。

问:如何对我使用 Amazon S3 收费和记账
开始使用服务时,没有安装费,用户无需对服务的使用签订任何长期使用期限合约。我们将在月底向您收取当月的使用费. 您可以随时在 AWS 管理控制台上查看当前账单期的费用,只需登录您的亚马逊 AWS 账户,并单击 “Your Web Services Account” 下的 “Account Activity”。

问:通过 AWS 管理控制台访问 Amazon S3 要如何收费? 
通过 AWS 管理控制台访问 Amazon S3 时,适用该服务的正常定价。为提供优化的体验,AWS 管理控制台可以主动执行请求。此外,某些交互操作可能导致对服务的多个请求。 

问:定价中包含税金了吗? 
我们的定价不包括适用的税金和关税(包括增值税和适用的营业税)。 

问:我的数据的安全性如何?
Amazon S3 本身是非常安全的。只有存储桶和数据对象的拥有者能够访问他们创建的 Amazon S3 资源。Amazon S3 支持用户身份验证,以控制对数据的访问。您可以使用各种访问控制机制,例如存储桶策略和访问控制列表 (ACL),选择性地向用户和用户组授予权限。您可以使用 HTTPS 协议,通过 SSL 终端节点,安全地向 Amazon S3 上传数据或从 Amazon S3 下载数据。

问:如何控制对我存储在 Amazon S3 上的数据的访问?
客户可以使用四种机制来控制对 Amazon S3 资源的访问:Identity and Access Management (IAM) 策略、存储桶策略、访问控制列表 (ACL) 和查询字符串身份验证。IAM 让拥有多名员工的组织能够在一个 AWS 账户下创建和管理多个用户。通过 IAM 策略,公司可为 IAM 用户授予对 Amazon S3 存储桶或数据对象的细化控制权限,同时保留对用户执行的所有操作的完全控制。通过存储桶策略,公司可以定义广泛适用于所有 Amazon S3 资源请求的规则,例如授予对一部分 Amazon S3 资源的写入权限。客户还可以基于请求的某种特征(例如 HTTP 引用站点和 IP 地址)来限制访问。通过 ACL,客户可为特定用户授予对单个存储桶或数据对象的特定权限(例如读取、写入、完全控制)。通过查询字符串身份验证,客户可创建指向某个 Amazon S3 数据对象的 URL,仅在限定时间内有效。有关 Amazon S3 中的各种可用访问控制策略的更多信息,请参阅 Amazon S3 开发人员指南中的访问控制主题。

问:Amazon S3 是否支持数据访问审核?
是的。客户可以选择配置 Amazon S3 存储桶,为针对它的所有请求创建访问日志记录。这些访问日志记录可用于审核用途,包含有关请求的详细信息,例如请求类型、在请求中指定的资源、处理请求的时间和日期。

问:对存储在 Amazon S3 上的数据加密时,可以使用哪些选项?
您可以选择使用服务器端加密 (SSE),或者使用 Amazon S3 加密客户端等 客户端库,加密您在 Amazon S3 中的数据。两种方法都可以保护存储在 Amazon S3 上的敏感数据。如果使用客户端库,您可以保持对用于加密的密钥的控制。有些客户希望获得对密钥的更多控制;而其他客户则不希望产生管理和保护这些密钥所需 的开销。如果使用 SSE,AWS 将为您处理密钥管理和密钥保护。如果您希望 AWS 管理密钥,应该选择使用 SSE。SSE 使用了一种最强大的分组加密技术:256 位高级加密标准 (AES-256)。256 位是为 AES 定义的最大密钥大小。对于存储在标准存储和低冗余存储 (RRS) 中的数据对象,可以同时支持客户端加密和服务器端加密。有关使用 Amazon S3 服务器端加密的更多信息,请参阅 Amazon S3 开发人员指南中的使用服务器端加密上的主题。

数据保护

问:Amazon S3 的耐用性如何?
Amazon S3 可在一年内提供 99.999999999% 的数据对象耐久性。这种耐久性级别相当于每年平均有 0.000000001% 的数据对象丢失。例如,如果您使用 Amazon S3 存储 10000 个数据对象,则平均每 10000000 年会发生一次单个数据对象丢失。

问:Amazon S3 的设计如何达到 99.999999999% 的持久性?
Amazon S3 将您的数据对象冗余存储在分布于 Amazon S3 中国(北京)区域的多个设施的多台设备上。该服务可以快速检测和修复任何丢失冗余,从而抵御同时发生的设备故障。在处理对存储数据的请求时,该服务会在返回 SUCCESS 之前,将您的数据对象冗余存储于多个设施。Amazon S3 还定期使用校验和来验证您的数据完整性。

问:Amazon S3 使用哪些校验和来检测数据损坏?
Amazon S3 结合使用内容-MD5 校验和及循环冗余检验 (CRC) 来检测数据损坏。Amazon S3 在空闲时对数据执行这些检验和检测,并使用冗余数据修复任何损坏。此外,在存储或提取数据时,该服务还对所有网络流量计算校验,以检测数据包损坏。

问:什么是版本控制?
通过版本控制,您可以保留、提取和恢复存储在 Amazon S3 存储桶中的每个数据对象的每个版本。一旦您为存储桶启用版本控制,Amazon S3 将在您每次执行 PUT、POST、COPY 或 DELETE 操作时保留现有数据对象。默认情况下,GET 请求将提取最近写入的版本。可通过在请求中指定版本,提取已覆盖数据对象或已删除数据对象的旧版本。

问:为什么应该使用版本控制? 
Amazon S3 为客户提供具有很高耐久性的存储基础设施。版本控制可在客户意外覆盖或删除数据对象的情况下提供一种恢复手段,从而提供另一层保护。这使您能够从无意用户操作或应用程序故障中轻松恢复。您还可将版本控制用于数据保留和存档。

问:如何开始使用版本控制?
您可以通过在 Amazon S3 存储桶上启用相应设置,来开始使用版本控制。有关如何启用版本控制的更多信息,请参阅 Amazon S3 技术文档。

问:版本控制如何防止数据对象意外删除? 
当用户对某个数据对象执行 DELETE 操作时,后续默认请求将不再提取该数据对象。但是,该数据对象的所有版本将继续保留在您的 Amazon S3 存储桶中,可以提取或恢复。只有 Amazon S3 存储桶的拥有者才能永久删除某个版本。

问:如何对我使用版本控制收费? 
正常 Amazon S3 费率适用于存储或请求的数据对象的每个版本。

Standard – Infrequent Access

问:什么是 S3 Standard – Infrequent Access?

Amazon S3 Standard – Infrequent Access (Standard – IA) 是一种 Amazon S3 存储类别,用于非频繁访问但在需要时要求能够快速访问的数据。Standard – IA 提供较高的耐用性、吞吐量和较低的 Amazon S3 Standard 延迟,并且每 GB 的存储价格和检索费用都较低。成本较低且性能出色使得 Standard – IA 成为长期存储和备份的理想选择,也是非常适用于灾难恢复的数据存储。Standard – IA 存储类别在对象级别进行设置,并可存储在 Standard 所在的存储桶中,从而让您可以使用生命周期策略在存储类别间自动转移对象,而无需更改任何应用程序。

问:为什么要选择使用 Standard – IA?

Standard – IA 非常适合用于非频繁访问,但在需要时也要求能够快速访问的数据。Standard – IA 非常适合用于长期文件存储、来自同步和分享的较旧数据、备份数据以及灾难恢复文件。

问:S3 Standard – Infrequent Access 能提供什么样的性能?

S3 Standard – Infrequent Access 提供的性能与 S3 Standard 存储相同。

问:Standard – IA 的耐用性和可用性如何?

S3 Standard – IA 的设计可提供 99.999999999% 的耐用性,与 Standard 和 Amazon Glacier 相同。Standard – IA 的设计可提供 99.9% 的可用性,并附带服务等级协议,当在任意账单周期内可用性低于我们的服务承诺时,还可提供服务积分。

问:如何将我的数据导入 Standard – IA?

将数据导入 Standard – IA 有以下两种方法:您可以在 x-amz-storage-class 标头中指定 STANDARD_IA,通过 PUT 操作直接将数据导入到 Standard – IA。您也可以使用生命周期策略,将对象从 Standard 转移到 Standard – IA。

问:我的 Standard – IA 对象是否享有 Amazon S3 服务等级协议的保障?

是的,Standard – IA 由 Amazon S3 服务等级协议提供保障,当在任意账单周期内可用性低于我们的服务承诺时,客户还可获得服务积分。

问:使用 Standard – IA 后,将会对我的延迟和吞吐量性能产生什么样的影响?

当使用 Standard – IA 时,延迟和吞吐量性能将与 Amazon S3 Standard 相同。

问:Standard – IA 是否有最低持续时间?

Standard – IA 的设计适用于长期存储但非频繁访问的数据(已保留了数月或数年)。30 天内从 Standard – IA 删除的数据将按照完整的 30 天收费。

问:Standard – IA 是否有最小对象大小?

Standard – IA 的设计适用于较大对象,最小对象大小为 128KB。小于 128KB 的对象将产生存储费用,并按 128KB 计费。比如,S3 Standard – IA 中 6KB 的对象将产生 6KB 的 S3 Standard – IA 存储费用,而剩下的最小对象大小(等于 122KB)将按照 S3 Standard – IA 存储费用收取。

问:我能否将 Standard – IA 的对象捆绑到 Amazon Glacier?

能。除了可使用生命周期策略将对象从 Standard 迁移到 Standard – IA,您还可设置生命周期策略来将 Standard – IA 中的对象捆绑到 Amazon Glacier。

Amazon Glacier

问:Amazon S3 是否能将数据元归档到成本更低廉的存储选项?
可以,Amazon S3 让您能够将价格低廉的 Amazon Glacier 存储服务作为您数据存档时的存储选项。Amazon Glacier 是优化给不经常访问的数据,通常数小时的检索时间是可被接受的。此类应用示例包括了数字媒体归档、财务和健康记录、原始基因组序列数据、长期数据库备份,以及法律规定必须保留的数据。

问:如何使用 Amazon Glacier 选项存储数据?
您可以根据数据对象的生命周期,利用生命周期策略自动将 Amazon S3 数据对象集存档到 Amazon Glacier。使用 Amazon S3 管理控制台、AWS 开发工具包或 Amazon S3 API 来定义存档规则。规则将指定前缀和时间期限。前缀(如:“logs/”)识别服从此规格的数据对象。时间期限可指定在该数据对象创建多少天(如 180 天)或在某个日期后应将该数据对象存档。名称以指定前缀开头和在超过指定时间期限老化的任何 Amazon S3 标准存储和低冗余存储数据对象都将存档到 Amazon Glacier。要检索存储在 Amazon Glacier 中的 Amazon S3 数据,您需要通过 Amazon S3 API 或管理控制台启动恢复任务。恢复任务通常会在 3 到 5 小时内完成。任务完成后,您就可以通过 Amazon S3 GET 数据对象查询访问这些数据了。

问:是否可以使用 Amazon S3 API 或管理控制台来列出已存档到 Amazon Glacier 的数据对象? 
可以,与其他 Amazon S3 存储选项(标准或低冗余存储)类似,使用 Amazon S3 API 或管理控制台存储在 Amazon Glacier 中的数据对象也有相关联的用户定义名称。您可以使用 Amazon S3 LIST API 实时获得所有 Amazon S3 数据对象名称的列表,包括那些使用 Amazon Glacier 选项进行存储的数据对象。

问:是否可以使用 Amazon Glacier API 来访问已归档到 Amazon Glacier 的数据元?
由于 Amazon S3 维护着用户定义数据对象名称和 Amazon Glacier 系统定义标识符之间的映射,所以使用 Amazon Glacier 选项存储的 Amazon S3 数据对象只能通过 Amazon S3 API 或 Amazon S3 管理控制台来访问。

问:如何恢复存档在 Amazon Glacier 中的数据对象?
要恢复存储在 Amazon Glacier 中的 Amazon S3 数据,您需要使用 Amazon S3 API 或 Amazon S3 管理控制台提出恢复请求。恢复请求常会在 3 到 5 小时内完成。恢复请求会在 RRS 中创建临时数据副本,同时在 Amazon Glacier 中完整保留已存档数据。您可以以天为单位指定将临时副本存储在 RRS 上的时间。然后,可以通过 Amazon S3 GET 从 RRS 请求访问已存档数据对象的临时副本。

问:恢复存储在 Amazon Glacier 中的数据对象需要多长时间?
处理恢复任务时,Amazon S3 首先从 Amazon Glacier 检索请求的数据(通常需要 3-5 小时),然后在 RRS 中创建请求数据的临时副本(通常需要数分钟)。您可以认为大部分通过 Amazon S3 API 或管理控制台启动的恢复任务可在 3-5 小时内完成。

问: 可以免费恢复多少数据? 
您每月最多可以免费恢复存储在 Amazon Glacier 中的 Amazon S3 数据的 5%。一般而言,这足以满足您备份和存档需要。每月 5% 的最高免费恢复限额是按日比例计量的。例如,您在某一天,将 12 TB 的 Amazon S3 数据归档到 Amazon Glacier,那么这一天您可以免费恢复 20.5 GB 数据(假定该月为 30 天,则为:12 TB x 5% / 30 天 = 20.5 GB)。

问:删除存储在 Amazon Glacier 中不到 3 个月的数据对象时,如何收费? 
Amazon Glacier 是专为需要长久保留数据的使用案例设计的。如果要删除的数据对象已存档在 Amazon Glacier 中不少于 3 个月,则可以免费删除。如果要在存档后三个月内删除或覆盖存档在 Amazon Glacier 中的数据对象,则需要交纳提早删除费。该项费用是按比例收取的。如果您在上传 1 个月后删除 1 GB 数据,将需要支付提早删除费,用于支付后面 2 个月的 Amazon Glacier 存储费。如果您 2 个月后删除 1 GB ,则需要支付 1 个月的 Amazon Glacier 存储费。

事件通知

问题 1:什么是 Amazon S3 事件通知?

Amazon S3 事件通知可在响应 Amazon S3 中的操作(如 PUT、POST、COPY 或 DELETE)时发送。通知消息可通过 Amazon SNS 或 Amazon SQS 发送。

问题 2:Amazon S3 事件通知有哪些用途?

Amazon S3 事件通知可使您运行工作流、发送警报或执行为响应存储在 Amazon S3 中的对象的更改而作的其他操作。您可以使用 Amazon S3 事件通知来设置触发器以执行各种操作,包括在上传媒体文件时转码,在数据文件可用时进行处理以及将 Amazon S3 对象与其他数据存储进行同步。您还可以根据对象名前缀和后缀来设置事件通知。例如,您可以选择接收以“images/”开头的对象名的通知。

问题 3:Amazon S3 事件通知中包含什么内容?

有关 Amazon S3 事件通知消息中所包含信息的详细描述,请参阅 Amazon S3 开发人员指南中的“配置 Amazon S3 事件通知”主题。

问题 4:如何设置 Amazon S3 事件通知?

关于如何配置事件通知的详细描述,请参阅 Amazon S3 开发人员指南中的配置 Amazon S3 事件通知主题。

问题 5:使用 Amazon S3 事件通知的成本是多少?

使用 Amazon S3 事件通知,无需支付额外费用。发送事件通知时,您只需为 Amazon SNS 或 Amazon SQS 的使用付费。要查看这些服务的定价详情,请访问 Amazon SNS 或 Amazon SQS 定价页面。

生命周期管理策略

问:什么是生命周期管理?

借助 S3 生命周期管理,您可以通过预定义的策略定义对象的生命周期并降低存储成本。基于数据的使用年限,您可以设置生命周期转移策略,将 Amazon S3 对象自动迁移到 Standard – Infrequent Access (Standard – IA) 或 Amazon Glacier。此外,您还可以设置生命周期过期策略,以便基于对象的使用年限自动删除过期对象。您可以设置分段上传过期策略,以便基于上传时间终止尚未完成的分段上传。

问:如何设置生命周期管理策略?

您可以在 S3 控制台、S3 REST API、AWS 开发工具包或 AWS 命令行界面 (CLI) 中制定和管理生命周期策略。您可以在前缀或存储桶级别指定策略。

问:使用生命周期管理如何收费?

设置和应用生命周期策略无需额外付费。根据生命周期规则,当对象符合转移条件时,每个对象的转移请求都需付费。

问:生命周期管理策略有哪些用途?

随着时间推移,数据可能会不再那么重要而有价值,或是不再受合规性要求的约束。Amazon S3 中包含各种各样的策略库,可帮助您自动执行数据迁移流程。例如,您可以将非频繁访问的对象设置为在一段时间后移动到成本较低的存储层级(例如 Standard – Infrequent Access)。再过一段时间,它可能会移动到 Amazon Glacier 中进行归档和实现合规性,并且最终会被删除。这些规则会在您不知觉的情况下降低存储成本并简化管理工作,还可用于 Amazon 系列存储服务。此外,这些策略还包含效果出色的管理实践,指导如何删除不再需要的对象和属性,从而管理成本并优化性能。

问:如何利用 Amazon S3 的生命周期策略来降低 Amazon S3 存储成本?

借助 Amazon S3 生命周期策略,您可以配置在特定时间期限后是将对象迁移到 Standard – Infrequent Access (Standard – IA),归档到 Amazon Glacier,还是将其删除。您可以利用此策略驱动的自动化操作来轻松快速地降低存储成本和节省时间。在每个规则中,您都可以指定前缀、时间期限、转移到 Standard – IA 或 Amazon Glacier 和/或过期。例如,您可以创建一个规则,规定将带有常见前缀“logs/”且创建后已有 30 天的所有对象归档到 Amazon Glacier,并且这些对象将于自创建之日起的 365 天后失效。您还可以创建单独的规则,规定仅带有前缀 “backups/” 且自创建后已有 90 天的所有数据对象开始失效。生命周期策略对现有数据对象和新的 S3 数据对象都适用,从而确保您能够针对所有当前数据和 S3 中存储的任何新数据优化存储、最大限度地节省成本,而无需耗时的手动数据检查和迁移。在生命周期规则内,前缀字段用于识别服从该规则的数据对象。要将规则应用于单个数据对象,请指定键名称。要将规则应用于一组数据对象,请指定它们的共同前缀(例如 “logs/”)。您可以指定迁移操作和过期操作以存档或删除数据对象。关于时间期限,您可以指定一个创建日期(如 2015 年 1 月 31 日)或自创建之日算起的天数(如 30 天),以便在此日期或超过此天数后将对象归档或删除。您可为不同前缀创建多条规则。最后,您可以使用生命周期策略使未完成上载自动过期,从而防止部分文件上载的计费。

问:如何将数据对象配置为在特定时间段之后删除?

您可以设置生命周期过期策略,在指定天数之后将数据对象从您的存储桶中删除。您可以通过应用于存储桶的生命周期配置策略,为位于您的存储桶中的一组数据对象定义过期规则。通过每条数据对象过期规则,您可以指定前缀和过期时段。前缀字段标识了要遵守规则的数据对象。要将规则应用于单个数据对象,请指定键名称。要将规则应用于一组数据对象,请指定它们的共同前缀(例如 “logs/”)。对于过期时段,请指定从创建日期之日开始的天数(即寿命),超过这个天数之后,该数据对象将被删除。您可为不同前缀创建多条规则。例如,您可以创建一条规则,将具有前缀 “logs/” 的所有数据对象在创建 30 天之后删除,另外创建一条单独规则,将具有前缀 “backups/” 的所有数据对象在创建 90 天之后删除。

添加数据对象过期规则之后,该规则被应用于已存在于存储桶中的数据对象,以及添加到存储桶中的新数据对象。一旦数据对象超过它们的过期日期,将对它们进行标识,并排队进行删除。如果数据对象的存储时间到期或者过期,我们不会向您收取费用,而且当对象在排队等候删除之时,您仍可以访问它们。对于标准删除请求,Amazon S3 不会因为使用数据对象过期功能来删除数据对象而向您收取费用。您也可以为版本控制已启用或已挂起的存储桶设置过期规则。

问:为什么要使用生命周期策略让未完成的分段上传过期?

用于让未完成的分段上传过期的生命周期策略使您能够限制分段上传的处理时长。如果您未完成的分段上传已不再需要,这项功能将会为您节省成本。这可以降低您的 S3 存储账单费用,因为当您放弃某项分段上传时,与该分段上传相关的存储会被删除,您也就无需为已存储的那部分内容付费。