Amazon Simple Storage Service (S3) 常见问题

https://aws.amazon.com/cn/s3/faqs/#sia_anchor

Amazon Simple Storage Service (S3) 常见问题

一般性问题

区域

计费

安全性

数据保护

Amazon S3 Standard – Infrequent Access Class

Amazon Glacier

跨区域复制

事件通知

静态网站托管

存储管理

Amazon S3 Transfer Acceleration

Amazon S3 和 IPv6

立即使用 AWS

免费试用 Amazon S3

AWS 免费套餐包括由 Amazon S3 提供的 5GB 存储空间、20 000 个 Get 请求和 2 000 个 Put 请求。

查看 AWS 免费套餐详细信息 »

AWS 免费套餐

获取 12 个月的 AWS 免费亲身实践体验

Amazon Simple Storage Service (S3) 常见问题_第1张图片

什么是 AWS

探究 AWS 平台、云产品和功能

Amazon Simple Storage Service (S3) 常见问题_第2张图片

一般性问题

问:什么是 Amazon S3?

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

问:Amazon S3 可以用来做什么?

Amazon S3 提供一个简单的 Web 服务接口,可用于存储和提取任意数量的数据,这些操作可从 Web 上的任何位置随时执行。使用此种 Web 服务,开发人员可以轻松地构建利用互联网存储的应用程序。由于 Amazon S3 具有很高的可扩展性,而且您只需按实际用量付费,因此开发人员可以从较小用量起步,根据需要扩展应用程序,而不影响性能或可靠性。

Amazon S3 的设计还具有很高的灵活性。存储您需要的任意类型和任意数量的数据;读取相同数据一百万次,或者仅在紧急灾难恢复时读取;构建简单的 FTP 应用程序或复杂的 Web 应用程序,例如 Amazon.com 零售网站。Amazon S3 可以将开发人员解放出来,让他们专注于创新,而不是考虑如何存储数据。

问:如何开始使用 Amazon S3?

要注册 Amazon S3,请单击Amazon S3详细信息页面上的“注册此 Web 服务”按钮。您必须拥有 Amazon Web Services 账户才能访问此服务;如果还没有该账户,则在您开始 Amazon S3 注册过程时,系统将提示您创建一个账户。注册后,请参阅资源中心的 Amazon S3 文档和示例代码,以便开始使用 Amazon S3。

问:Amazon S3 有哪些技术优势?

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

问:开发人员可以实现哪些以前无法实现的功能?

小型开发机构以前一直无法获得类似于 Amazon S3 的先进、可扩展的数据存储基础设施。Amazon S3 让任何开发人员都可以充分利用 Amazon 自身的规模优势,而无需前期投资,也不会影响性能。开发人员现在可以解放出来,专注于创新,因为他们知道无论他们的业务做成多大,数据都可以快速访问,随时保持可用性和安全性,不仅成本低,而且非常简单。

问:我可以存储哪种类型的数据?

您实际上可以存储任何格式的任何类型数据。请参阅Amazon Web Services 许可协议以了解详细信息。

问:我可以存储多少数据?

您可以存储的总数据容量和对象个数不受限制。各个 Amazon S3 对象的大小范围可以从最小 0 字节到最大 5 TB。可在单个 PUT 中上传的最大数据元为 5 GB。对于大于 100 MB 的数据元,客户应该考虑使用分段上传功能。

问:Amazon S3 提供哪些存储类?

Amazon S3 提供一系列用于不同用例的存储类别。这包括用于频繁访问数据的通用存储的 Amazon S3 Standard、用于长期但非频繁访问数据的 Amazon S3 Standard – Infrequent Access,以及用于长期档案的 Amazon Glacier。您可以在Amazon S3 存储类页面上了解有关这三个存储类的更多信息。

低冗余存储 (RRS) 是 Amazon S3 的一个存储选项,使客户能够通过以低于 Amazon S3 标准存储的冗余级别来存储非关键性的可再生数据,从而降低成本。您可以在低冗余详细信息页面上了解有关低冗余存储的更多信息。

问:如何删除大量数据元?

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

问:Amazon 如何处理我在 Amazon S3 中的数据?

Amazon 将存储您的数据,并跟踪其相关使用情况,用于账单用途。除非法律要求,Amazon 不会出于 Amazon S3 服务之外的任何目的访问您的数据。请参阅Amazon Web Services 许可协议以了解详细信息。

问:Amazon 是否将自身数据存储在 Amazon S3 中?

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

问:Amazon S3 数据是如何组织的?

Amazon S3 是基于密钥的简单数据元存储。存储数据时,您应分配唯一数据元密钥,此后可使用该密钥来提取数据。密钥可以是任何字符串,可以模仿分层结构属性。

问:我如何与 Amazon S3 连接?

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

问:Amazon S3 的可靠性如何?

Amazon S3 让所有开发人员能够访问同一个高度可扩展、快速可靠、低成本的数据存储基础设施,Amazon 使用该基础设施来运行自身的全球网站网络。S3 Standard 的设计可实现 99.99% 的可用性,Standard – IA 的设计可实现 99.9% 的可用性。两者都有Amazon S3 服务等级协议的支持。

问:Amazon S3 使用什么样的数据一致性模型?

所有区域中的 Amazon S3 存储桶会为新对象的 PUTS 提供先写后读一致性,并为覆盖 PUTS 和 DELETES 提供最终一致性。

了解更多

问:如果来自我的应用程序的流量突然达到峰值,会出现什么情况?

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

问:什么是 BitTorrent™ 协议?如何在 Amazon S3 中使用该协议?

BitTorrent 是一个开源互联网分发协议。Amazon S3 的带宽费率非常低廉,但 BitTorrent 允许用户同时从 Amazon 和其他用户下载进行下载,让开发人员进一步节省常用数据的带宽费用。除了默认的客户端/服务器传输机制之外,Amazon S3 中的任何公开提供数据均可通过 BitTorrent 数据下载。只需在 REST API 中的 GET 请求中添加 ?torrent 参数。

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

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

问:如何增加我可以预置的 Amazon S3 存储桶的数量?

默认情况下,客户最多可以为每个 AWS 账户预置 100 个存储桶。不过,您可以访问AWS 服务限制,增加 Amazon S3 存储桶限制。

区域

问:我的数据存储在哪里?

创建 Amazon S3 存储桶时,您可以指定一个区域。在该区域内,您的对象冗余存储在分布于多个设施的多台设备上。请参阅地区性产品和服务页面,了解 Amazon S3 服务在不同地区的具体提供情况。

问:我如何确定将数据存储在哪个区域?

需要基于您的特定应用程序考虑多个因素。您可能希望将数据存储在具备以下条件的地区…

…距离您的客户、数据中心或其他 AWS 资源较近,以便缩短数据访问延迟。

…距离其他运营地点很远,以实现地理位置冗余和灾难恢复。

…让您能够达到特定法律和法规要求。

…让您能够降低存储成本。您可以选择价格较低的区域以节省资金。有关 S3 的定价信息,请访问S3 定价页面。

问:我不在美国或欧洲,如何使用 Amazon S3?

不论您所在的位置如何,您都可以使用 Amazon S3。您只需确定希望将您的 Amazon S3 数据存储在哪个 AWS 区域。

问:没有美国标准区域吗?

为了与 AWS 区域命名惯例保持一致,我们已将美国标准区域更名为美国东部(弗吉尼亚北部)区域。终端节点没有变化,您也无需对应用程序做出任何更改。

计费

问:Amazon S3 的费用是多少?

使用 Amazon S3,您只需可以按实际用量付费。没有最低收费。您可以使用AWS 简单月度成本结算器估算月度费用。

当我们的成本较低时,我们的收费也比较低。有些价格因 Amazon S3 地区而异,取决于您的存储段的位置。对于通过 COPY 请求在 Amazon S3 区域内部传输的数据,没有数据传输费用。通过 COPY 请求在区域间传输的数据按在 Amazon S3 详情页面的定价部分指定的费率收费。对于在同一区域内的 Amazon EC2 和 Amazon S3 之间传输的数据,或在 Amazon EC2 弗吉尼亚北部区域和 Amazon S3 美国东部(弗吉尼亚北部)区域之间传输的数据,没有数据传输费用。在 Amazon EC2 与所有其他区域的 Amazon S3 之间传输的数据(如在 Amazon EC2 加利福利亚北部和 Amazon S3 美国东部(弗吉尼亚北部)区域之间的传输)按在 Amazon S3 详情页面的定价部分指定的费率收费。

有关 Amazon S3 的定价信息,请访问定价页面。

问:为什么价格因我选择的 Amazon S3 地区而异?

当我们的成本较低时,我们的收费也比较低。例如,我们在美国东部(弗吉尼亚北部)区域的成本低于美国西部(加利福尼亚北部)区域的成本。

问:使用版本控制时如何收费?

正常 Amazon S3 费率适用于存储或请求的数据元的每个版本。例如,我们以下列场景为例,说明使用版本控制时的存储费用(假定当月有 31 天):

1) 当月第 1 天:您对存储段中的 4 GB(4,294,967,296 字节)数据执行了 PUT 操作。

2) 当月第 16 天:您对同一存储段中的 5 GB(5,368,709,120 字节)数据执行了 PUT 操作,使用与第 1 天的原始 PUT 操作相同的密钥。

分析上述操作的存储费用时,请注意,在第 15 天写入 5 GB 数据元时,第 1 天的 4 GB 数据元并未从存储段删除。相反,这 4 GB 数据元作为旧版本保留,5 GB 数据元成为存储段中的最近写入的数据元版本。当月底:

总字节小时使用量

[4,294,967,296 字节 x 31 天 x(24 小时/天)] + [5,368,709,120 字节 x 16 天 x(24 小时/天)] = 5,257,039,970,304 字节小时。

转换为 GB 月:

5257039970304 字节小时 x (1GB/1073741824 字节) x (1 月/744 小时) = 6.581GB 月

费用根据Amazon S3 定价页面上您所在地区的当前费率计算得出。

问:如何对我使用 Amazon S3 收费和计费?

开始使用服务时,没有安装费,用户无需对服务的使用签订任何长期使用期限合约。每个月底将自动向您的信用卡收取当月使用费。您可以随时在 Amazon Web Services 网站上查看当前账单期的费用,只需登录您的 Amazon Web Services 账户,并单击“您的 Web 服务账户”下的“账户活动”。

使用AWS 免费使用套餐*,您可在除 AWS GovCloud 之外的所有地区免费开始使用 Amazon S3。注册后,新的 AWS 客户在第一年每月可以获得 5 GB 的 Amazon S3 标准存储、20,000 次 Get 请求、2,000 次 Put 请求、15GB 的数据传入、15GB 的数据传出。

Amazon S3 对以下类型的使用收费。请注意:以下计算假定没有使用 AWS 免费套餐。

使用的存储:

Amazon S3 存储定价在Amazon S3 价目表上说明。

每月计费的存储容量基于全月内使用的平均存储量。其中包括您在 AWS 账户下创建的存储段中存储的所有数据元数据和元数据。我们按“TimedStorage-ByteHrs”衡量您的存储使用量,每月底合计该值,得出您的月度费用。

存储示例:

假定您在 3 月的 15 天在存储段存储了 100 GB(107,374,182,400 字节)的标准 Amazon S3 存储数据,还在 3 月下旬的 16 天存储了 100 TB(109,951,162,777,600 字节)的标准 Amazon S3 存储数据。

3 月底,您的字节小时使用量如下:总字节小时使用量 = [107374182400 字节 x 15 天 x (24 小时/天)] + [109951162777600 字节 x 16 天 x (24 小时/天)] = 42259901212262400 字节小时。

将其转换为 GB 月使用量:42259901212262400 字节小时/每 GB 1073741824 字节/每月 744 小时 = 52900GB 月

这一使用容量跨越两个不同容量层级。每月存储价格是在假定数据存储在美国东部 (弗吉尼亚北部) 地区的情况下计算得出:50TB 层级:51200GB x 0.023 USD = 1177.60 USD 50TB 到 450TB 层级:1700GB x 0.022 USD = 37.40 USD

总存储费用 = 1177.60 USD + 37.40 USD = 1215.00 USD

网络数据传入:

Amazon S3 数据传入定价在Amazon S3 价目表上说明。

它代表发送到您的 Amazon S3 存储段的数据量。对位于美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、美国西部(加利福尼亚北部)、欧洲(爱尔兰)、欧洲(法兰克福)、亚太区域(新加坡)、亚太区域(东京)、亚太区域(悉尼)、南美洲(圣保罗)、AWS GovCloud(美国)区域的存储桶,数据传输费用为 0.000 USD/GB。

网络数据传出:

Amazon S3 数据传出定价在Amazon S3 价目表上说明。对于 Amazon S3,只要是从指定 Amazon S3 区域以外的位置读取您存储段中的数据,此费用即适用。

数据传出定价费率层级考虑到了您在特定区域通过 Amazon EC2、Amazon S3、Amazon RDS、Amazon SimpleDB、Amazon SQS、Amazon SNS 和 Amazon VPC 传到 Internet 的数据总量。这些层级不适用于从一个 AWS 区域到另一个 AWS 区域的 Amazon S3 数据传出量。

数据传出示例:

假定在某个 31 天月份,您每天将 1TB 的 Amazon S3 数据从美国东部(弗吉尼亚北部)区域传到 Internet。假定在同一个 31 天月份,您每天还将 1 TB 的 Amazon EC2 实例数据从同一区域传到 Internet。

您的总数据传输量将为 62 TB(31 TB 来自 Amazon S3,31 TB 来自 Amazon EC2)。这个数据量等于 63,488 GB (62 TB * 1024 GB/TB)。

此使用容量跨越三个不同容量层级。以下计算的月度数据传出费用假定数据传输发生在美国东部(弗吉尼亚北部)区域:

10TB 级:10239GB(10×1024GB/TB – 1 (免费))x 0.09 USD = 921.51 USD

10TB 至 50TB 级:40960GB (40×1024) x 0.085 USD = 3481.60 USD

50TB 至 150TB 级:12288GB (剩余) x 0.070 USD = 860.16 USD

总数据传出费用 = 921.51 USD + 3481.60 USD + 860.16 USD = 5263.27 USD

数据请求:

Amazon S3 请求定价在Amazon S3 价目表上说明。

请求示例:

假定您在 3 月每天将 10,000 个文件传入 Amazon S3,将 20,000 个文件传出 Amazon S3。然后,您在 3 月 31 日删除了 5,000 个文件。

总计 PUT 请求数 = 10,000 个请求 x 31 天 = 310,000 个请求

总计 GET 请求数 = 20,000 个请求 x 31 天 = 620,000 个请求

总计 DELETE 请求数 = 5,000 × 1 天 = 5,000 个请求

假定您的存储段位于美国东部(弗吉尼亚北部)区域,则请求费用按以下方式计算:

310,000 个 PUT 请求:310,000 个请求 x 0.005 USD/1,000 = 1.55 USD

620,000 个 GET 请求:620,000 个请求 x 0.004 USD/10,000 = 0.25 USD

5,000 个 DELETE 请求 = 5,000 个请求 x 0.00 USD(无费用) = 0.00 USD

数据恢复:

Amazon S3 数据检索定价适用于 Standard – Infrequent Access (Standard – IA) 存储类别,并汇总于Amazon S3 定价表。

数据检索示例:

假设在一个月内您检索了 300GB 的 Standard – IA,其中的 100GB 转出至互联网,100GB 到达了同一 AWS 区域的 EC2,还有 100GB 到达了同一 AWS 区域的 CloudFront。

您在这个月的数据检索费用将被计为 300GB x 0.01 USD/GB = 3.00 USD。请注意,对于转出至互联网的部分,您也需支付网络数据迁移费。

请参阅这里,详细了解将数据元归存档到 Amazon Glacier 的计费信息。

* * 除 AWS GovCloud 地区之外,您在其他所有地区对免费套餐的使用量都按月计算,自动应用于账单 – 未用完的月使用量不会转入下月。存在限制条件;详见优惠条款。

问:如何对我通过 AWS 管理控制台访问 Amazon S3 收费?

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

问:从其他 AWS 账户访问 Amazon S3 时,如何收费?

当其他账户访问您的存储时,我们将按正常 Amazon S3 定价收费。您可选择将您的存储桶配置为申请方付款存储桶,在这种情况下,申请方将支付 Amazon S3 数据的相关申请和下载费用。

有关申请方付款存储桶的更多信息,请参阅Amazon S3 文档。

问:价格是否含税?

除非另行说明,否则我们的价格不包括适用的税费和关税 (包括增值税和适用销售税)。使用日本账单地址的客户若要使用 AWS,则需缴纳日本消费税。了解更多。

安全性

问:我的数据的安全性如何?

Amazon S3 本身是非常安全的。只有存储段和数据元的拥有者能够访问他们创建的 Amazon S3 资源。Amazon S3 支持用户身份验证,以控制对数据的访问。您可以使用各种访问控制机制,例如存储段策略和访问控制列表 (ACL),选择性地向用户和用户组授予权限。您可以使用 HTTPS 协议,通过 SSL 终端节点,安全地向 Amazon S3 上传数据或从 Amazon S3 下载数据。如果您需要更高的安全性,可以使用服务器端加密 (SSE) 选项或客户提供密钥型服务器端加密 (SSE-C) 选项来对静态存储数据进行加密。Amazon S3 支持 SSE 和 SSE-C 加密技术。或者,您也可以使用自己的加密库先对数据进行加密再将其储存在 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-S3、SSE-C、SSE-KMS 或客户端库(例如Amazon S3 加密客户端)对数据进行加密。所有四个选项都可以将敏感的数据以静态方式存储在 Amazon S3 中。

SSE-S3 提供了一种集成式解决方案,Amazon 通过其使用多个安全层处理密钥管理和密钥保护问题。如果您希望 Amazon 管理您的密钥,您应该选择 SSE-S3。

SSE-C 让您能利用 Amazon S3 对对象执行加密和解密操作,同时保持对加密对象所用密钥的控制权。借助 SSE-C,您无需实施或使用客户端库来对 Amazon S3 中储存的对象执行加密和解密,但是需要对您发送到 Amazon S3 中执行对象加密和解密操作的密钥进行管理。当您希望维护自己的加密密钥而不想实施或使用客户端加密库时,请使用 SSE-C。

SSE-KMS 可让您使用AWS Key Management Service(AWS KMS) 来管理您的加密密钥。使用 AWS KMS 管理您的密钥有几项额外的好处。利用 AWS KMS,会设置几个单独的主密钥使用权限,从而提供额外的控制层并防止 Amazon S3 中存储的对象受到未授权访问。AWS KMS 提供审查跟踪,因此您能看到谁使用了您的密钥在何时访问了哪些对象,还能查看用户在没有解密数据的权限下所作的访问数据失败尝试次数。同时,AWS KMS 还提供额外的安全控制,从而支持客户努力符合 PCI-DSS、HIPAA/HITECH 和 FedRAMP 行业要求。

使用Amazon S3 加密客户端之类的加密客户端库,您可以保持对密钥的控制并使用您选择的加密库完成对象客户端侧的加密和解密。一些客户倾向于对加密和解密对象拥有端到端的控制权;这样一来,只有经过加密的对象才会通过互联网传输到 Amazon S3。如果您想掌握对加密密钥的控制权,应该使用客户端库,这样便可实施或使用客户端加密库,同时在将对象传输到 Amazon S3 进行储存之前需要对其进行加密。

有关使用 Amazon S3 SSE-S3、SSE-C 或 SSE-KMS 的更多信息,请参阅Amazon S3 开发人员指南中的使用加密上的主题。

问:Amazon 如何保护 SSE 加密密钥?

使用 SSE 时,每个受保护数据元都使用唯一密钥进行加密。此数据元密钥本身使用单独的主密钥进行加密。新的主密钥至少每月发布一次。加密数据、加密密钥和主密钥存储在分开的主机上并受到多层的安全保护。

问:使用 Amazon S3 时,是否可以按照欧盟数据隐私法规?

客户可以选择使用欧洲(爱尔兰)或欧洲(法兰克福)区域将所有数据存储在欧洲。您有责任确保自己遵守欧盟隐私法律。

问:在何处可以找到有关 AWS 安全性的详细信息?

有关 AWS 安全性的详细信息,请参阅Amazon Web Services: Overview of Security Processes 文档。

问:Amazon VPC Endpoint for Amazon S3 是什么?

Amazon VPC Endpoint for Amazon S3 是 VPC 内的逻辑实体,仅允许连接到 S3。VPC 端点路由请求到 S3,并将响应路由回 VPC。有关 VPC 端点的更多信息,请参阅使用 VPC 端点。

问:我能否允许特定 Amazon VPC 端点访问 Amazon S3 存储桶?

您可以使用 Amazon S3 存储桶策略,限制从特定 Amazon VPC 端点或一系列端点访问存储桶。S3 存储桶策略现在支持条件 aws:sourceVpce,您可将其用于限制访问。有关更多信息和示例策略,请参阅使用 VPC 端点。

问:什么是 Amazon Macie?

Amazon Macie是一种支持 AI 技术的安全服务,可以帮助您通过自动发现、分类和保护存储在 Amazon S3 中的敏感数据来防止数据丢失。Amazon Macie 使用机器学习来识别敏感数据 (例如,个人身份信息 [PII] 或知识产权),分配业务价值,提供此数据的存储位置信息及其在组织中的使用方式信息。Amazon Macie 可持续监控数据访问活动异常,并在检测到未经授权的访问或意外数据泄漏风险时发出警报。

问:Amazon Macie 有什么作用?

您可以使用 Amazon Macie 通过持续监控数据和账户凭证来防范安全威胁。Amazon Macie 为您提供一种自动化和低接触的方式来发现和分类业务数据。它通过模板化的 Lambda 函数进行控制,可在发现可疑行为或对实体或第三方应用程序进行未经授权的数据访问时撤销访问或触发密码重置策略。发出警报时,您可以使用 Amazon Macie 进行事件响应,并使用 Amazon CloudWatch 事件迅速采取行动,保护您的数据。

问:Amazon Macie 如何保护您的数据?

在数据分类过程中,Amazon Macie 识别客户在其 S3 存储桶中的对象,并将对象内容流式传输到内存中进行分析。当需要对复杂文件格式进行更深入的分析时,Amazon Macie 将下载对象的完整副本,并在短时间内保存,直到完成对象的全面分析。Amazon Macie 对数据分类的文件内容分析完毕后,它将立即删除存储内容,仅保留未来分析所需的元数据。客户可以随时撤销 Amazon Macie 访问 Amazon S3 存储桶数据的权限。有关更多信息,请转到Amazon Macie 用户指南。

数据保护

问:Amazon S3 的持久性如何?

Amazon S3 Standard 和 Standard – IA 的设计可在指定年度内为对象提供 99.999999999% 的持久性。这种持久性级别对应的平均年对象损失率预计为 0.01%。例如,如果您使用 Amazon S3 存储 10,000 个数据元,则平均每 10,000,000 年发生一次数据元丢失。此外,Amazon S3 可以抵御在两个设施同时发生的数据丢失。

对于任何环境,最佳实践是做好备份,并准备好防范恶意或意外用户错误的措施。对于 S3 数据,最佳实践包括安全访问权限、跨区域复制、版本控制和经常测试的有效备份。

问:Amazon S3 的设计如何达到 99.999999999% 的持久性?

Amazon S3 Standard 和 Standard – IA 将您的对象冗余存储在分布于 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 对象上设置垃圾桶、回收站或回滚时段以从删除和覆盖项中恢复吗?

您可以使用生命周期规则以及版本控制来实施 Amazon S3 对象的回滚时段。例如,借助支持版本控制的存储桶,您可以设置一条规则,该规则将所有以前的版本存档到低成本的 Glacier 存储类,并在 100 天后删除它们,从而给您 100 天的时段来回滚对数据的任何更改,同时降低存储成本。

问:如何确保我保留的版本得到最大保护?

版本控制的 MFA Delete 功能采用了多重验证,可用于提供另一个安全层。默认情况下,对您的 Amazon S3 存储段的所有请求都需要您的 AWS 账户证书。如果您在 Amazon S3 存储段上利用 MFA Delete 功能启用了版本控制,则需要以下两种形式的身份验证才能永久删除数据元的某个版本:您的账户证书、来自您拥有的身份验证设备的有效六位代码和序列号。要了解有关利用 MFA Delete 功能启用版本控制的更多信息,包括如何购买和激活身份验证设备,请参阅Amazon S3 技术文档。

问:使用版本控制时如何收费?

正常 Amazon S3 费率适用于存储或请求的数据元的每个版本。例如,我们以下列场景为例,说明使用版本控制时的存储费用(假定当月有 31 天):

1) 当月第 1 天:您对存储段中的 4 GB(4,294,967,296 字节)数据执行了 PUT 操作。

2) 当月第 16 天:您对同一存储段中的 5 GB(5,368,709,120 字节)数据执行了 PUT 操作,使用与第 1 天的原始 PUT 操作相同的密钥。

分析上述操作的存储费用时,请注意,在第 15 天写入 5 GB 数据元时,第 1 天的 4 GB 数据元并未从存储段删除。相反,这 4 GB 数据元作为旧版本保留,5 GB 数据元成为存储段中的最近写入的数据元版本。当月底:

总字节小时使用量

[4,294,967,296 字节 x 31 天 x(24 小时/天)] + [5,368,709,120 字节 x 16 天 x(24 小时/天)] = 5,257,039,970,304 字节小时。

转换为 GB 月:

5257039970304 字节小时 x (1GB/1073741824 字节) x (1 月/744 小时) = 6.581GB 月

费用根据Amazon S3 定价页面上您所在地区的当前费率计算得出。

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 专为提供 99.9% 的可用性而设计,拥有更加精简前端,可用性只比 S3 Standard 低 0.09%。Standard – IA 附带服务等级协议,当在任意账单周期内可用性低于我们的服务承诺时,还可提供服务积分。

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

有两种方式可以将数据从 S3 导入 Standard – IA。通过在 x-amz-storage-class 标头中指定 STANDARD_IA,您可以直接将数据放入 Standard – IA。您可以通过设置生命周期策略来将对象从 Standard 转移到 Standard – IA。

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

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

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

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

问:如何对我使用 Standard – IA 收费?

请查看Amazon S3 定价页面获取有关 Standard – IA 定价的一般信息。

问:如果我使用复制请求将对象的存储类从 Standard-IA 更改为 Standard,会产生哪些费用?

您将需要为 Standard-IA 复制请求和 Standard-IA 数据检索付费。

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

Standard – IA 的设计适用于长期但非频繁访问的数据(已保留了数月或数年)。30 天内从 Standard – IA 删除的数据将按照完整的 30 天收费。请查看Amazon S3 定价页面获取有关 Standard – IA 定价的信息。

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

Standard – IA 的设计适用于较大对象,最小对象大小为 128KB。小于 128KB 的对象将产生存储费用,并按 128KB 计费。比如,S3 Standard – IA 中 6KB 的对象将产生 6KB 的 S3 Standard – IA 存储费用,而剩下的最小对象大小(等于 122KB)将按照 S3 Standard – IA 存储费用收取。请查看Amazon S3 定价页面获取有关 Standard – IA 定价的信息。

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

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

Amazon Glacier

问:Amazon S3 是否能将数据元归档到成本更低廉的存储选项?

可以,Amazon S3 使您能够将价格低廉的Amazon Glacier存储服务作为您数据存档时的存储选项。  Amazon Glacier 存储数据的费用低至每月每 GB 0.004 USD。为了保持成本低廉,同时满足各种数据取回需求,Amazon Glacier 提供三种访问存档的选项,各自的取回时间从数分钟到数小时不等。存档使用案例的部分示例包括数字媒体归档、财务和医疗记录、原始基因组序列数据、长期数据库备份,以及法律规定必须保留的数据。

问:如何使用 Amazon Glacier 选项存储数据?

您可以根据对象的生命周期,利用生命周期规则自动将 Amazon S3 对象集存档到 Amazon Glacier。使用 Amazon S3 管理控制台、AWS 开发工具包或 Amazon S3 API 来定义存档规则。规则将指定前缀和时间期限。前缀(如:“logs/”)识别服从此规格的数据元。时间期限可指定在该数据元创建多少天(如 180 天)或在某个日期后应将该数据元存档。名称以指定前缀开头和在超过指定时间期限老化的任何 Amazon S3 Standard 或 Amazon S3 Standard – IA 对象都将归档到 Amazon Glacier。要取回存储在 Amazon Glacier 中的 Amazon S3 数据,您需要通过 Amazon S3 API 或管理控制台启动取回作业。任务完成后,您可以通过 Amazon S3 GET 对象查询来访问这些数据。

有关将生命周期规则用于存档的更多信息,请参阅“Amazon S3 开发人员指南”中的对象存档主题。

问:是否可以使用 Amazon S3 API 或管理控制台来列出已归档到 Amazon Glacier 的数据元?

可以,与其他 Amazon S3 存储选项 (Standard 或 Standard – IA) 类似,使用 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 管理控制台启动取回请求。取回请求会在 RRS 中创建临时数据副本,同时在 Amazon Glacier 中完整保留已存档数据。您可以以天为单位指定将临时副本存储在 RRS 上的时间。然后,可以通过 Amazon S3 GET 从 RRS 请求访问已存档对象的临时副本。

问:取回存档在 Amazon Glacier 中的对象需要多长时间?

处理取回作业时,Amazon S3 首先从 Amazon Glacier 取回请求的数据,然后在 RRS 中创建所请求数据的临时副本 (通常需要数分钟)。请求的访问时间取决于您选择的取回选项:加急、标准或批量取回。除了最大的对象 (250MB+) 以外,对于使用加急取回方式访问的所有数据,通常在 1-5 分钟内即可使用。使用标准取回方式取回的对象通常在 3-5 小时内完成。最后,批量取回通常在 5-12 小时内完成。有关取回选项的更多信息,请参阅Glacier 常见问题。

问:将对象存档在 Amazon Glacier 中会如何收费?

Amazon Glacier 存储的价格为每月每 GB 0.004 USD。传入 Amazon Glacier 的生命周期传输请求的费用为每 1000 个请求 0.05 USD。Glacier 中存档的对象提供最短为 90 天的存储,同时未满 90 天就被删除的对象所产生的按比例支付的费用等于按剩余天数支付的存储费用。

问:将 Amazon S3 数据元归档到 Amazon Glacier 时,如何计算存储费?

每月计费的存储容量基于全月内使用的平均存储量,以每月千兆字节计(即:GB 月)。Amazon S3 计算对象大小的方式为:您存储的数据量,加上额外 32KB 的 Glacier 数据,再加上额外 8KB 的 S3 标准存储数据。Amazon Glacier 对每个对象需要额外 32KB 的数据用于 Glacier 的索引和元数据,使您能够识别和取回您的数据。Amazon S3 需要 8KB 存储空间来存储和维护用户为已归档到 Amazon Glacier 的数据元定义的名称和元数据。这让您可以使用 Amazon S3 LIST API 实时获取所有 Amazon S3 数据元的列表,包括那些使用 Amazon Glacier 选项存储的数据元。例如,如果您存档了 100 000 个数据元且每个数据元均为 1 GB,那么您的可计费存储应为:

每个数据元 1.000032 GB x 100 000 个数据元 = 100 003.2 GB Amazon Glacier 存储。

每个数据元 0.000008 GB 字节 x 100 000 个数据元 = 0.8 GB Amazon S3 标准存储。

费用根据Amazon S3 定价页面上您所在地区的当前费率计算得出。

问:可以免费取回多少数据?

您可以每月免费取回 10GB 的 Amazon Glacier 数据。免费套餐限额适用于标准取回,可在当月任何时候使用。

问:删除存储在 Amazon Glacier 中不到 3 个月的数据元时,如何收费?

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

问:从 Glacier 取回数据如何收费?

有三种方式可以从 Glacier 取回数据,每种方式具有不同的每 GB 取回费和每存档请求费 (即请求一个存档计为一个请求)。加急取回费用为每 GB 0.03 USD,每个请求 0.01 USD。标准取回费用为每 GB 0.01 USD,每 1000 个请求 0.05 USD。批量取回费用为每 GB 0.0025 USD,每 1000 个请求 0.025 USD。

例如,在美国东部 (弗吉尼亚北部) 地区使用加急取回方式,如果您请求取回 10 个存档,每个存档的大小均为 1GB,则费用为 10 x 0.03 USD + 10 x 0.01 USD = 0.40 USD。

如果您在美国东部 (弗吉尼亚北部) 地区使用标准取回方式取回 500 个存档,每个存档的大小均为 1GB,则费用为 500GB x 0.01 USD + 500 x 0.05 USD/1000 = 5.25 USD。

最后,如果您在美国东部 (弗吉尼亚北部) 地区使用批量取回方式,并要取回 500 个存档,每个存档的大小均为 1GB,则费用为 500GB x 0.0025 USD + 500 x 0.025 USD/1000 = 1.2625 USD。

存档对象取回以后,同时驻留在 RRS 和 Glacier 中。

有关 Glacier 定价的更多信息,请访问Glacier 定价页面。

事件通知

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

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

问题 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 事件通知主题。您可以在Amazon SNS 文档和Amazon SQS 文档中了解有关 AWS 消息收发服务的更多信息。

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

使用 Amazon S3 事件通知,无需支付额外费用。发送事件通知时,您只需为 Amazon SNS 或 Amazon SQS 的使用付费,或只需承担运行 AWS Lambda 功能的成本。要查看这些服务的定价详情,请访问 Amazon SNS、Amazon SQS 或 AWS Lambda 定价页面。

静态网站托管

问:可以在 Amazon S3 上托管我的静态网站吗?

可以,您可以在 Amazon S3 上托管整个静态网站,进而获得一个价格实惠、高度可用并且可根据流量要求自动扩展的托管解决方案。Amazon S3 让您能够访问一个可高度扩展、快速可靠且成本低廉的基础设施,也就是 Amazon 运行自身的全球网站网络所采用的基础设施。如果在任意账单周期内,客户的可用性低于我们的服务承诺,与存储类别和服务等级协议相对应的服务可用性可提供服务积分。要了解有关在 Amazon S3 中托管网站的更多信息,请参见我们关于 Amazon S3 托管网站设置的演示。

问:哪些类型的网站应该使用 Amazon S3 进行静态网站托管?

Amazon S3 特别适合托管仅包含静态内容(包括 html 文件、图片、视频以及 JavaScript 等客户端脚本)的网站。建议使用 Amazon EC2 进行托管包含服务器端脚本编写和数据库交互内容的网站。

问:可以对 Amazon S3 托管网站使用我自己的主机名称吗?

可以,您可以轻松地将您的内容长期存储在 Amazon S3 存储段中,并且将您的域名(例如,“example.com”)映射至该存储段。这样,您网站的访客就可以通过在浏览器中输入您网站的 URL(例如,“http://example.com”)访问该内容。

问:Amazon S3 是否支持网站重定向?

是的,Amazon S3 提供多种方式以使您的静态网站实现网站内容重定向。重定向使您可以更改 Amazon S3 托管网站中某个网页的统一资源定位符 (URL)(例如,从 www.example.com/oldpage 更改为 www.example.com/newpage),并且不会破坏指向原先 URL 的链接或书签。您可以设置存储段规则,以启动自动重定向。您也可以为单个 S3 数据元配置重定向。

问:在 Amazon S3 上托管静态网站是否需要额外付费?

在 Amazon S3 上托管静态网站无需额外付费。您的网站对象在存储、请求和数据传输方面适用相同的定价政策。

有关更多信息,请访问S3 定价页面。

存储管理

为 S3 对象添加标签

问:什么是 S3 对象标签?

S3 对象标签是适用于 S3 对象的键值对,在对象的生命周期内,可随时创建、更新或删除这些标签。借助这些标签,您将能够创建 Identity and Access Management (IAM) 策略,设置 S3 生命周期策略以及自定义存储指标。然后,可以使用这些对象级标签管理后台中存储类别与过期对象之间的转换。

问:我如何对我的对象应用对象标签?

上传新对象时,您可以向其添加标签,也可以向现有对象添加标签。每个 S3 对象最多可添加 10 个标签,您可以使用 AWS 管理控制台、REST API、AWS CLI 或 AWS SDK 添加对象标签。

问:我为何应使用对象标签?

借助对象标签这一新工具,您可以简化 S3 存储的管理。使用此工具能够在对象的生命周期内随时创建、更新和删除标签,从而使您的存储能够满足您业务的需求。借助这些标签,您可以控制对标记有特殊键值对的对象的访问,从而可以进一步保护机密数据,使之仅供精选组或用户访问。对象标签还可用于为属于特定项目或业务单位的对象添加标签,这可以与生命周期策略结合使用来管理向 S3 Standard – Infrequent Access 和 Glacier 存储级的转换。

问:我如何更新对象上的对象标签?

在 S3 对象的生命周期内,您可以随时更改对象标签,您可以使用 AWS 管理控制台、REST API、AWS CLI 或 AWS SDK 更改对象标签。请注意,在 AWS 管理控制台之外进行的所有更改均是对整个标签集合进行的更改。如果某个特定对象关联了 5 个标签,您要为其添加第 6 个标签,那么您需要在该请求中包括最初的 5 个标签。

问:如果我使用跨区域复制,我的对象标签也会复制吗?

使用跨区域复制可以跨区域复制对象标签。有关设置跨区域复制的更多信息,请访问《Amazon S3 开发人员指南》中的如何设置跨区域复制。

对于已启用跨区域复制的用户,需要具有新的权限才能复制标签。有关所需策略的更多信息,请访问《Amazon S3 开发人员指南》中的如何设置跨区域复制。

问:对象标签的费用是多少?

对象标签的价格是每月每 10000 个标签 0.01 USD。对于与添加和更新对象标签相关的请求,其价格与现有请求价格相同,请查看Amazon S3 定价页面,了解更多信息。

S3 Analytics – Storage Class Analysis

问:什么是 S3 Analytics – Storage Class Analysis?

借助 Storage Class Analysis,您可以分析存储访问模式并将相应数据传输给正确的存储类。这一新的 S3 Analytics 功能可自动确定低频率访问模式,从而帮助您将存储转换为 Standard-IA。您可以配置存储类分析策略来监视整个存储桶、前缀或对象标签。在观察到不频繁的访问模式时,您可以根据结果轻松地创建新的生命周期策略。Storage Class Analysis 还以可视化方式在 AWS 管理控制台上提供您每天的存储使用情况,您可将这些分析结果导出至 S3 存储桶,以便使用所选 Amazon QuickSight 等商业智能工具进行分析。

问:如何开始使用 S3 Analytics – Storage Class Analysis?

您可以使用 AWS 管理控制台或 S3 PUT Bucket Analytics API 来配置 Storage Class Analysis 策略,从而识别出可转换为 Standard-IA 或存档到 Glacier 的低频率访问存储。您可以导航至“S3 控制台”中的“管理”选项卡来管理 S3 Analytics、S3 Inventory 和 S3 CloudWatch 指标。

问:使用 S3 Analytics – Storage Class Analysis 时,如何付费?

请查看Amazon S3 定价页面,获取有关 S3 Analytics – Storage Class Analysis 定价的一般信息。

问:Storage Class Analysis 多久更新一次?

Storage Class Analysis 每日将在 S3 管理控制台上进行更新。此外,您可以将 S3 Analytics 配置为将您的每日存储类分析导出到您选择的 S3 存储桶。

S3 Inventory

问:什么是 S3 Inventory?

S3 Inventory 是 Amazon S3 同步 LIST API 的预定备选方案,使用它可以简化业务流程和大数据作业并能加速其处理速度。对于有关某个 S3 存储桶或共享前缀的对象及其相应元数据,S3 Inventory 可每日或每周提供其 CSV (逗号分隔值) 平面文件输出。

问:如何开始使用 S3 Inventory?

您可以使用 AWS 管理控制台或 PUT Bucket Inventory API,为您 S3 存储桶中的所有对象或某个共享前缀下的对象子集配置每日或每周库存。在配置过程中,您可以指定清单的目标 S3 存储桶、输出文件的输出格式 (CSV) 以及业务应用程序所需的具体对象元数据,例如:对象名称、大小、上次修改日期、存储类、版本 ID、删除标记、非当前版本标记、分段上传标记或复制状态。

问:S3 Inventory 是否能改善我的大数据作业和业务流程应用程序的性能?

会的,S3 Inventory 可用作大数据作业或工作流程应用程序的现成输入,而不是同步的 S3 LIST API,从而节约了它在调用和处理 LIST API 响应方面所用的时间和计算资源。

问:使用 S3 Inventory 时,如何收费?

请查看Amazon S3 定价页面,获取有关 S3 Inventory 定价的一般信息。

S3 CloudWatch 指标

问:如何开始使用 S3 CloudWatch 指标?

使用 AWS 管理控制台,可在 1 分钟内为您的 S3 存储桶生成 CloudWatch 指标,或使用前缀或对象标签配置指标的筛选条件。此外,还可以通过调用 S3 PUT Bucket Metrics API 来启用 S3 存储指标的发布并对其进行配置。存储指标在启用后的 15 分钟内即可在 CloudWatch 中使用。

问:我能否使存储指标符合我的应用程序或企业组织的需求?

能,您可以配置 S3 CloudWatch 指标,使之生成有关您 S3 存储桶的指标,或使用前缀或对象标签配置指标的筛选条件。例如,您可以将前缀“/Bucket01/BigData/SparkCluster”用作指标筛选条件 1,对访问数据的 spark 应用程序进行监控,并将标签“Dept, 1234”定义为指标筛选条件 2 (第二个指标筛选条件)。一个对象可以是多个筛选条件中的成员,例如,前缀“/Bucket01/BigData/SparkCluster”中的一个对象和带标签“Dept,1234”的对象都可以同时出现在指标筛选条件 1 和 2 中。这样,指标筛选条件便可符合业务应用程序、团队结构或组织预算需求,从而可在同一个 S3 存储桶中对多个工作负载进行分别监控和提醒。

问:我可以对我的存储指标设置哪些警报?

您可以使用 CloudWatch 对任何存储指标数量、计数器或等级设置阈值,当值达到此阈值时,就触发相应操作。例如,您对 4xx 错误响应的百分比设置一个阈值,当值超出此阈值至少 3 个数据点时,就触发 CloudWatch 警报以提醒 Dev Ops 工程师。

问:使用 S3 CloudWatch 指标时,如何收费?

S3 CloudWatch 指标是依据 Amazon CloudWatch 的自定义指标定价的。请查看Amazon CloudWatch 定价页面,获取有关 S3 CloudWatch 指标定价的一般信息。

生命周期管理策略

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

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

问:如何制定生命周期管理策略?

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

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

生命周期策略的制定和应用无需额外费用。根据生命周期规则,当对象符合转移条件时,每个对象的转移请求都需付费。有关定价信息,请访问S3 定价页面。

问:生命周期管理策略有什么作用?

随着数据的不断成熟,它的重要性和价值会不断降低,并且/或者需遵循合规性要求。Amazon S3 包含一个丰富的策略库,可帮您自动执行数据迁移流程。例如,您可以将访问频率较低的对象设置为在一段时间之后移动到成本较低的存储层级(如 Standard-Infrequent Access)。再过一段时间,它可以移动到 Amazon Glacier 中进行归档和合规性操作,并最终删除。这些规则可在无形中降低存储成本并简化管理工作,而且它们适用于亚马逊的整个存储服务系列。这些策略还包含出色的管理实践,可移除那些不再需要的对象和属性,从而控制成本并优化性能。

问:如何利用 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 存储费用。

了解更多。

跨区域复制

问:Amazon S3 跨区域复制 (CRR) 是什么?

CRR 是 Amazon S3 的一项功能,可以自动在多个 AWS 区域之间复制数据。通过 CRR,每个上传到 S3 存储桶的对象都会自动复制到您选择的不同 AWS 区域中的目标存储桶中。您可以使用 CRR 在不同的地理区域中提供低延迟的数据访问。如果您需要遵循将数据副本在相距数百公里的不同地点储存的合规性要求,CRR 还可以帮助您达成这一目标。

问:如何开启 CRR?

CRR 是存储桶级的配置。在不同区域中指定目标存储桶用于复制,这样就可以对来源存储桶开启 CRR 配置。还可以使用 AWS 管理控制台、REST API、AWS CLI 或 AWS 软件开发工具包来开启 CRR。要开启 CRR,必须对来源存储桶和目标存储桶都打开版本控制功能。更多信息请访问Amazon S3 开发人员指南中的How to Set Up Cross-Region Replication。

问:CRR 会向目标存储桶复制哪些内容?

CRR 会将您对来源存储桶直接进行的每一个对象级上传进行复制。元数据和与对象关联的 ACL 也是复制的一部分。对对象的底层数据、元数据或 ACL 进行的任何改动都会触发向目标存储桶的新复制活动。您可以选择复制上传到来源存储桶的全部对象,也可以通过指定前缀来选择上传对象的子集。开启 CRR 前已经存在的数据不会复制。您可以使用 S3 的 COPY API 将现有数据复制到目标存储桶。关于 CRR 的更多信息请访问Amazon S3 开发人员指南中的How to Set Up Cross-Region Replication。

问:能否对 CRR 使用生命周期规则?

可以,您可以对来源存储桶和目标存储桶配置单独的生命周期规则。比如,您可以配置一个生命周期规则,从而在目标存储桶将数据从 Standard 迁移到 Standard – IA,或者配置一个生命周期规则来将数据归档到 Amazon Glacier。

问:CRR 如何定价?

您需要为 Amazon S3 服务的存储、请求以及复制数据的跨区域数据传输而支付通常会产生的费用。例如,如果您在区域间复制了 1000 个 1GB 的对象 (1000GB),则会产生 0.005 USD(1000 个请求 x 0.005 USD/1000 个请求)的请求费用(复制了 1000 个对象)和 20 USD(0.020 USD/GB 传输 x 1000GB)的区域间数据传输费用。复制后,该 1000GB 数据会产生基于目标区域的存储费用。

如果源对象是通过分段上传功能上传的,则使用相同数量的段和段大小进行复制。例如,通过分段上传功能上传的 100GB 对象(800 个段,每段 128MB)在复制时会产生与 802 个请求(800 个上传段请求 + 1 个初始分段上传请求 + 1 个完成分段上传请求)关联的请求成本。您会产生 0.00401 USD(802 个请求 x 0.005 USD/1000 个请求)的请求费用和 2.00 USD(0.020 USD/GB 传输 x 100GB)的区域间数据传输费用。复制后,该 100GB 数据会产生基于目标区域的存储费用。

有关更多信息,请访问S3 定价页面。

Amazon S3 Transfer Acceleration

问:什么是 Transfer Acceleration?

Amazon S3 Transfer Acceleration 可在客户与您的 Amazon S3 存储桶之间实现快速、轻松、安全的远距离文件传输。Transfer Acceleration 利用了 Amazon CloudFront 遍布全球的 AWS 边缘站点。数据到达某个 AWS 边缘站点时,即被通过优化的网络路径路由至您的 Amazon S3 存储桶。

问:如何开始使用 Transfer Acceleration?

Transfer Acceleration 的入门很简单。首先,使用 Amazon S3 控制台、Amazon S3 API 或 AWS CLI 在 S3 存储桶上启用Transfer Acceleration。启用 Transfer Acceleration 后,您可以将 Amazon S3 PUT 和 GET 请求指向 s3-accelerate 终端节点的域名。您的数据传输应用程序必须使用以下两种终端节点类型中的一种,以访问用于更快的数据传输的存储桶:“双堆栈”终端节点的.s3-accelerate.amazonaws.com 或.s3-accelerate.dualstack.amazonaws.com。如果您想要使用标准数据传输,可以继续使用常规终端节点。

对于要使用 Transfer Acceleration 的存储桶,有一些特定的限制。有关详情,请单击此处,查看《Amazon S3 开发人员指南》。

问:Transfer Acceleration 有多快?

Transfer Acceleration 可充分利用您的带宽,尽可能降低距离对吞吐量的影响。无论客户位于何方,Transfer Acceleration 都能确保数据快速、稳定地传输到 Amazon S3。加速的幅度主要取决于您的可用带宽、源和目标之间的距离以及网络路径上的数据包丢失率。通常,源和目标之间的距离越远、可用带宽越多和/或对象大小越大,加速的幅度越大。

一位客户的测量结果是:从分布在美国、欧洲和部分亚洲地区的全球用户群向亚太地区(悉尼)的存储桶摄入 300MB 的文件,平均传输时间可以缩短 50%。而另一位客户观察到,从东南亚和澳大利亚的用户向美国东部(弗吉尼亚北部)的 S3 存储桶上传 250MB 文件(分成 50MB 大小的几个部分)时,性能提升超过 500%。

试用速度比较工具,预览您所在位置能获得的性能提升!

问:谁应该使用 Transfer Acceleration?

Transfer Acceleration 的设计目的是优化从世界各地向 S3 存储桶传输数据的速度。如果您从多个分散的地点向一个集中的存储桶上传数据,或者如果您经常需要跨各大洲传输 GB 或 TB 级的数据,节约的数据传输时间可以达到数小时或者数天。

问:Transfer Acceleration 的安全程度如何?

Transfer Acceleration 的安全等级与 Amazon S3 的常规传输相同。Transfer Acceleration 同样支持所有 Amazon S3 安全功能,例如基于客户端的 IP 地址来限制访问。Transfer Acceleration 与客户端通过标准的 TCP 通信,无需更改防火墙。AWS 边缘站点不会存储任何数据。

问:如果 Transfer Acceleration 未能加快速度,会怎么样?

您每次使用 Transfer Acceleration 上传对象时,我们都会检查 Transfer Acceleration 的传输速度是否会快于常规 Amazon S3。在将同一对象传输到同一目标 AWS 区域时,如果我们确定 Transfer Acceleration 的传输速度不会快于常规 Amazon S3,那么对于此次使用 Transfer Acceleration 进行的传输,我们将不会收取任何费用,并且可能会绕过该次上传的 Transfer Acceleration 系统。

问:我能对分段上传使用 Transfer Acceleration 吗?

可以,Transfer Acceleration 支持所有存储桶级别的功能,包括分段上传。

问:在 Transfer Acceleration 和 Amazon CloudFront 的 PUT/POST 之间,我应该如何选择?

Transfer Acceleration 优化了 TCP 协议,并在客户端与 S3 存储桶之间添加了更多智能,因此如果需要更高的吞吐量,Transfer Acceleration 就是更好的选择。如果您的对象小于 1GB,或者如果数据集小于 1GB,则应该考虑使用 Amazon CloudFront 的 PUT/POST 命令来优化性能。

问:在 Transfer Acceleration 和 AWS Snowball 之间,我应该如何选择?

要一次性移动大批量数据,AWS Import/Export Snowball 就是客户的理想选择。AWS Snowball 的周转时间通常为 5-7 天。一般来说,通过一条充分利用的 1Gbps 线路,Transfer Acceleration 在同样的时间内最多可以传输 75TB 数据。总之,如果通过 Internet 传输所需的时间超过一个星期,或者如果需要反复传输作业且可用带宽超过 25Mbps,Transfer Acceleration 就是不错的选择。另一个选择是同时使用两者:利用一个 AWS Snowball(或一系列 AWS Snowball)执行最初繁重的传输任务,然后利用 Transfer Acceleration 传输递增的日常变更。

问:可以使用 Transfer Acceleration 作为 AWS Direct Connect 的补充吗?

如果客户拥有专用联网要求或者能访问 AWS Direct Connect 交换点,AWS Direct Connect 就是不错的选择。Transfer Acceleration 最适合从分散的客户位置通过公共 Internet 提交数据,或者是由于网络条件不断变化而造成吞吐量较低的情况。有些 AWS Direct Connect 客户使用 Transfer Acceleration 帮助远程办公室传输数据,因为远程办公室的 Internet 性能可能会比较差。

问:可以使用 Transfer Acceleration 作为 AWS Storage Gateway 或第三方网关的补充吗?

如果您能够在第三方网关中配置存储桶目标以使用 S3 Transfer Acceleration 终端节点域名,则会看到相应优势。

请访问Storage Gateway 常见问题的“文件”这一部分,详细了解 AWS 实施。

问:可以使用 Transfer Acceleration 作为第三方集成软件的补充吗?

可以。在将作业发送到 Amazon S3 时,直接连接到 Amazon S3 的软件包(单击此处了解更多存储合作伙伴解决方案)可以充分利用 Transfer Acceleration。

问:Transfer Acceleration 是否符合 HIPAA 要求?

符合,AWS 已对其 HIPAA 合规性计划进行扩展,其中已将 Amazon S3 Transfer Acceleration 作为一项符合 HIPAA 要求的服务包括进来。如果您已与 AWS 签订商业合伙协议 (BAA),则可以使用 Amazon S3 Transfer Acceleration 在您的客户端和 Amazon S3 存储桶之间快速、轻松且安全地远距离传输文件,包括受保护健康信息 (PHI)。有关更多消息,请参阅HIPAA 合规性。

Amazon S3 和 IPv6

问:什么是 IPv6?

连接到 Internet 的每个服务器和设备都必须具有一个唯一地址。Internet 协议版本 4 (IPv4) 是原始的 32 位寻址方案。但是,Internet 的持续发展意味着所有可用的 IPv4 地址都将随着时间而被用尽。Internet 协议版本 6 (IPv6) 是新的寻址机制,设计用以克服 IPv4 的全球地址限制。

问:IPv6 可以用来做什么?

使用适用于 Amazon S3 的 IPv6 支持,应用程序无需任何 IPv6 到 IPv4 转换软件或系统即可连接到 Amazon S3。您可以满足合规性要求,更轻松地与基于 IPv6 的现有本地应用程序集成,并且无需购买昂贵的联网设备来处理地址转换。您还可以借助 IPv6 地址利用 IAM 策略和存储桶策略中现有的源地址筛选功能,扩大您的选择范围以确保应用程序与 Amazon S3 安全交互。

问:如何在 Amazon S3 上开始使用 IPv6?

首先,您可以将应用程序指向 Amazon S3 的新“双堆栈”终端节点,该终端节点同时支持通过 IPv4 和 IPv6 访问。在大多数情况下,无需进一步配置即可通过 IPv6 进行访问,因为大多数网络客户端倾向于默认使用 IPv6 地址。应用程序可能会通过现有 API 和虚拟托管类型 (例如 http://bucket.s3.dualstack.aws-region.amazonaws.com)或路径类型 (例如 http://s3.dualstack.aws-region.amazonaws.com/bucket) 的 URL 继续访问数据,而不更改代码。使用 Amazon S3 Transfer Acceleration 时,“双堆栈”终端节点必须是 http(s)://bucket.s3-accelerate.dualstack.amazonaws.com 的形式。但是,您还须评估自己的存储桶和 Identity and Access Management (IAM) 策略,以确保为新的 IPv6 地址配置了合适的访问权限。有关通过 IPv6 访问 Amazon S3 的入门信息,请参阅通过 IPv6 向 Amazon S3 发出请求。

问:如果指向 Amazon S3 的“双堆栈”终端节点,我仍然能够通过 IPv4 访问 Amazon S3 的 API 吗?

是的,在连接到 Amazon S3“双堆栈”终端节点的情况下,您可以继续使用 IPv6 和 IPv4 地址访问 Amazon S3 API。您需要将客户端配置为首选 IPv4 地址,这可能是很多应用程序运行时语言的应用程序级或主机级配置选项。请查阅有关运行时平台正在使用的语言的文档,以了解首选 IPv4 连接的具体配置选项。

问:使用 IPv6 时,Amazon S3 的性能预计是否会出现变化?

不会,不论是使用 IPv4 还是 IPv6,Amazon S3 的性能都相同。

问:如果指向 Amazon S3 的“双堆栈”终端节点,现有 VPC 端点会继续工作吗?

会,您可以继续使用 VPC 终端节点通过 IPv4 访问 Amazon S3。如果您在仅支持 IPv4 的 VPC 中使用双堆栈终端节点,该 VPC 实例会舍弃 AAAA 记录,并始终通过 IPv4 访问 Amazon S3。

问:如果我启用 IPv6,IPv6 地址会显示在服务器访问日志中吗?

会,如果您启用了 Amazon S3 服务器访问日志功能,IPv6 地址现在将显示在服务器访问日志中。解析日志的所有客户工具或软件都应该进行更新以处理新的 IPv6 地址格式。如果您对 IPv6 流量影响工具或软件处理服务器访问日志中 IPv6 地址的能力有任何问题,请联系开发人员支持。

问:我需要更新存储桶和 IAM 策略吗?

是的,如果您使用策略授予或限制通过 IP 地址的访问,则需要在切换至“双堆栈”终端节点之前更新这些策略以涵盖相关的 IPv6 范围。如果您的存储桶授予或限制对特定 IAM 用户的访问,您也需要在切换至“双堆栈”终端节点之前,让 IAM 策略管理员审核这些用户的 IAM 策略,以确保他们能够合理访问相关的 IPv6 范围。无法做到这些可能会导致客户端在开始使用 IPv6 时,错误失去或获得存储桶的访问权限。

问:在使用适用于 Amazon S3 的 IPv6 时,如果我的客户端受到策略、网络或其他限制的影响,我该怎么做?

由于使用 IPv6 受到影响的应用程序可以随时切换回仅支持 IPv4 的标准终端节点。

问:IPv6 适用于所有 Amazon S3 功能吗?

否,在使用网站托管和通过 BitTorrent 访问时,暂不提供 IPv6 支持。当使用 IPv6 访问 Amazon S3 时,所有其他功能应该都可以按预期工作。

问:所有区域都支持 IPv6 吗?

您可以在除中国(北京)外的所有商业 AWS 区域使用 IPv6 和 Amazon S3。您也可以在 AWS GovCloud(美国)区域使用 IPv6。

你可能感兴趣的:(Amazon Simple Storage Service (S3) 常见问题)