页面主题
- 一般性问题
16
- 服务等级协议 (SLA)
1
- 计费
4
- 安全性
30
- 数据保护
19
- Amazon S3 存储类
2
- S3 Intelligent-Tiering
12
- S3 Standard-Infrequent Access
10
- S3 单区 – 不频繁访问
12
- S3 Object Lambda
4
- Amazon S3 和 IPv6
7
- Amazon S3 Glacier Instant Retrieval 存储类别
7
- Amazon S3 Glacier Flexible Retrieval(前身为 Amazon S3 Glacier 存储类别)
11
- Amazon S3 Glacier Deep Archive
11
- 事件通知
5
一般性问题
全部打开Amazon S3 是一种面向 Internet 的存储服务。它是一种简单的存储服务,以很低的成本为软件开发人员提供高度可扩展、可靠且延迟低的数据存储基础设施。
Amazon S3 提供一个简单的 Web 服务接口,可用于在 Web 上随时随地存储和检索任意数量的数据。使用此 Web 服务,开发人员可以轻松地构建利用互联网存储的应用程序。由于 Amazon S3 具有很高的可扩展性,而且您只需按实际用量付费,因此开发人员可以从较小用量起步,根据需要扩展应用程序,而不影响性能或可靠性。其设计具有很高的灵活性:存储您需要的任意类型和任意数量的数据;读取相同数据一百万次,或者仅在紧急灾难恢复时读取;构建简单的 FTP 应用程序或复杂的 Web 应用程序,例如 Amazon.com 零售网站。Amazon S3 可以将开发人员解放出来,让他们专注于创新,而不是考虑如何存储数据。
Amazon S3 经过精心设计,可以满足 Amazon 内部开发人员必须达到的可扩展性、可靠性、速度、低成本和简易性要求。Amazon S3 可为任何外部开发人员提供这些相同优势。有关 Amazon S3 设计要求的更多信息,请参阅 Amazon S3 功能页面。
小规模的开发人员团队以前一直无法获得类似于 Amazon 的先进、可扩展的数据存储基础设施。Amazon S3 可以让任何开发人员利用 Amazon 自有的大规模优势,不需要预先投入资金,也不会影响性能。现在,开发人员可以尽情创新,因为他们知道无论其业务变得多么成功,他们都可以通过经济而简单的方式来确保其数据便于用户快速访问、始终可用且安全。
您可以存储的数据总量和对象数量不受限制。各个 Amazon S3 对象的大小可能在 1 字节至 5TB 之间。可在单个 PUT 中上传的最大对象为 5GB。对于大于 100MB 的对象,客户应考虑使用分段上传功能。
您可以使用多对象删除,将大量对象从 Amazon S3 删除。借助此功能,您可以通过单个请求发送多个数据对象键,以加快删除速度。Amazon 不会向您收取使用多对象删除的费用。
可以。Amazon 内的开发人员会在众多项目中使用 Amazon S3。其中很多项目均使用 Amazon S3 作为权威数据存储,并依赖它执行关键业务型操作。
Amazon S3 是基于密钥的简单对象存储。存储数据时,您应分配唯一对象密钥,此后可使用该密钥来检索数据。密钥可以是任何字符串,并可以模仿分层结构属性。
Amazon S3 提供基于标准的简单 REST Web 服务接口,该接口可与任何互联网开发工具包结合使用。我们特意对这些操作进行了简化,以便轻松添加新的分发协议和功能层。
Amazon S3 针对任意存储请求自动提供强大的写后读一致性,而无需更改性能或可用性,也不会影响应用程序的区域隔离,且无需支付额外费用。
对 S3 存储的任何请求现在具有强一致性。成功写入新对象或覆盖现有对象后,任何顺序读取请求将立即收到对象的最新版本。S3 还为列表操作提供了强一致性,因此写入后,您可以立即列出存储桶中的对象,并反映所有更改。
当您需要在写入后立即读取对象时,强写后读一致性可为您提供帮助。例如,强写后读一致性可帮助处理 Apache Spark 和 Apache Hadoop 等工作负载,在这些工作负载中,您经常在写入对象后立即读取并列出。当对象被覆盖随后立即读取很多次时,强写后读一致性确保所有读取操作读取的都是最新写入,从而使高性能计算工作负载也受益。这些应用程序将自动立即受益于强写后读一致性。S3 强一致性还可降低成本,而无需使用额外的基础设施来提供强一致性。
Amazon S3 本身是非常安全的。创建后,只有您有权访问自己创建的 Amazon S3 存储桶,并且可以完全控制谁有权访问您的数据。Amazon S3 支持用户身份验证,以控制对数据的访问。您可以使用各种访问控制机制(例如存储桶策略),选择性地向用户和用户组授予权限。Amazon S3 控制台会突出显示您可公开可访问的存储桶,注明公共可访问性的来源,并且还会在您的存储桶策略或存储桶 ACL 发生的更改将使您的存储桶可公开访问时,向您发出警告。您应该为不希望公开访问的所有账户和存储桶启用 Block Public Access。
您可以使用 HTTPS 协议,通过 SSL 端点安全地向 Amazon S3 上传数据或从 Amazon S3 下载数据。Amazon S3 会自动加密上传到存储桶的所有对象(从 2023 年 1 月 5 日起)。 或者,您也可以使用自己的加密库在将数据存储到 Amazon S3 之前对其进行加密。
有关更多信息,请访问 S3 用户指南。
Amazon S3 将会对上传至任何存储桶的所有新数据进行加密。Amazon S3 将 S3 托管式服务器端加密(SSE-S3)用作对所有上传对象加密的基本级别(从 2023 年 1 月 5 日起)。SSE-S3 提供了一种完全托管式解决方案,亚马逊云科技在该解决方案中使用多个安全层处理密钥管理和密钥保护。如果您更喜欢亚马逊管理您的密钥,则可以继续使用 SSE-S3。此外,您可以选择使用 SSE-C、SSE-KMS 或客户端库(例如 Amazon S3 加密客户端)加密数据。所有四个选项都可以将加密的敏感数据以静态方式存储在 Amazon S3 中。
SSE-C 允许 Amazon S3 对您的对象进行加密和解密,同时保留对用于加密对象的密钥的控制权。借助 SSE-C,您无需实施或使用客户端库来对 Amazon S3 中储存的对象执行加密和解密操作,但是需要对您发送到 Amazon S3 中执行对象加密和解密操作的密钥进行管理。如果您希望保留自己的加密密钥而不想实施或使用客户端加密库,请使用 SSE-C。
SSE-KMS 使 Amazon Key Management Service (KMS) 可以管理您的加密密钥。使用 Amazon KMS 管理您的密钥有几项额外的好处。利用 Amazon KMS,会设置几个单独的主密钥使用权限,从而提供额外的控制层并防止 Amazon S3 中存储的对象遭到未授权访问。Amazon KMS 提供审计跟踪,因此您能看到谁使用了您的密钥在何时访问了哪些对象,还能查看用户在没有解密数据的权限下所作的访问数据失败尝试次数。同时,Amazon KMS 还提供额外的安全控件,为客户遵守 PCI-DSS、HIPAA/HITECH 和 FedRAMP 行业要求的努力提供支持。
DSSE-KMS 可简化对数据应用双层加密的过程,无需投资客户端加密所需的基础设施。每层加密都使用不同的采用伽罗瓦计数器模式(Galois Counter Mode,简称 AES-GCM)算法的 256 位高级加密标准实现,并且通过了绝密工作负载使用审查和认可。DSSE-KMS 使用 Amazon KMS 来生成数据密钥,并让 Amazon KMS 管理您的加密密钥。使用 Amazon KMS 时,您需要多个单独的 KMS 密钥使用权限,从而提供额外的控制层并防止 Amazon S3 中存储的对象遭受未经授权的访问。Amazon KMS 提供审计跟踪,从而让您能看到谁使用您的密钥在何时访问了哪些对象,还能查看用户在没有数据解密权限的情况下而访问数据失败的尝试次数。同时,Amazon KMS 还提供额外的安全控件,为客户遵守 PCI-DSS 等行业要求的努力提供支持。
使用 Amazon S3 加密客户端之类的加密客户端库,您可以保持对密钥的控制,并使用您选择的加密库完成对象客户端的加密和解密。一些客户倾向于对加密和解密对象拥有完全端到端的控制权;这样一来,只有经过加密的对象才会通过互联网传输到 Amazon S3。如果您想掌握对加密密钥的控制权,应该使用客户端库,这样便可实施或使用客户端加密库,同时在将对象传输到 Amazon S3 进行储存之前需要对其进行加密。
有关使用 Amazon S3 SSE-S3、SSE-C 或 SSE-KMS 的更多信息,请参阅《Amazon S3 用户指南》中的使用加密主题。
客户可以使用多种机制来控制对 Amazon S3 资源的访问,包括 Identity and Access Management(IAM)策略、存储桶策略、接入点策略、访问控制列表(ACL)、查询字符串身份验证、虚拟私有云(VPC)端点策略以及 Amazon S3 Block Public Access。
IAM
IAM 让拥有多名员工的组织能够在一个亚马逊云科技账户下创建和管理多个用户。使用 IAM 策略,客户可向 IAM 用户授予对 Amazon S3 存储桶或对象的精细控制权,同时保留对用户执行的所有操作的完全控制。
存储桶和接入点策略
使用存储桶策略和接入点策略,客户可以定义广泛适用于其 Amazon S3 资源的所有请求的规则,例如为 Amazon S3 资源的子集授予写入权限。客户还可以基于请求的某种特征(例如 HTTP 引用站点和 IP 地址)来限制访问。
ACL
Amazon S3 支持 S3 的原始访问控制方法,即访问控制列表(ACL)。通过 ACL,客户可为特定用户授予对单个存储桶或对象的特定权限(例如 READ、WRITE、FULL_CONTROL)。对于更喜欢将策略专门用于访问控制的客户,Amazon S3 提供了 S3 对象所有权功能来禁用 ACL。 如果要迁移到基于 IAM 的存储桶策略,在启用 S3 对象所有权之前,您可以使用 S3 清单来查看存储桶中的 ACL 使用情况。
查询字符串身份验证
通过查询字符串身份验证,客户可以为 Amazon S3 对象创建一个仅在有限时间内有效的 URL。有关 Amazon S3 中的各种可用访问控制策略的更多信息,请参阅 Amazon S3 用户指南中的访问控制主题。
Amazon VPC
当客户创建 Amazon VPC 端点时,他们可以向该端点附加端点策略,以控制对其所连接的 Amazon S3 资源的访问。客户还可以使用 Amazon S3 存储桶策略来控制从特定端点或特定 VPC 对存储桶的访问。
S3 Block Public Access
Amazon S3 屏蔽公共访问权限提供接入点、存储桶和账户的相关设置,以帮助客户管理对 Amazon S3 资源的公共访问。借助 S3 屏蔽公共访问权限,账户管理员和存储桶拥有者可以轻松设置集中控制,以限制对其 Amazon S3 资源的公共访问,无论这些资源是如何创建的,都会强制执行。 默认情况下,所有新的存储桶都已开启“屏蔽公共访问权限”。
在 Amazon IAM 用户指南中了解有关策略和权限的更多信息。
服务等级协议 (SLA)
全部打开是。如果客户的月度正常运行时间百分比在任何账单周期内低于我们的服务承诺,Amazon S3 SLA 将提供服务补偿。在服务等级协议中可以找到更多信息。
计费
全部打开使用 Amazon S3,您只需可以按实际用量付费。没有最低消费。
当我们的成本较低时,我们的收费也比较低。对于通过 COPY 请求在 Amazon S3 亚马逊云科技中国(北京)区域或亚马逊云科技中国(宁夏)区域内部传输的数据,不收取数据传输费用。对于在亚马逊云科技中国(北京)区域或亚马逊云科技中国(宁夏)区域内部的 Amazon EC2 和 Amazon S3 之间传输的数据,不收取数据传输费用。对于跨两个亚马逊云科技区域的 Amazon EC2 和 Amazon S3 之间传输的数据(如在 Amazon EC2亚马逊云科技国(宁夏)区域和 Amazon S3 亚马逊云科技国(北京)区域之间传输),将按照在账单控制台的定价部分中规定的 Internet 传输费率收费。
开始使用服务时,没有安装费,也无需签订长期使用合约。我们将在月底向您收取当月的使用费。您可以随时在亚马逊云科技管理控制台上查看当前账单期的费用,只需登录您的亚马逊云科技账户,并单击“您的 Web Services 账户”下的“账户活动”。
通过亚马逊云科技管理控制台访问 Amazon S3 时,我们将按该服务的正常定价收费。为提供优化的体验,亚马逊云科技管理控制台可以主动执行请求。此外,某些交互操作可能导致对服务的多个请求。
我们的定价不包含适用的税费和关税(包括增值税和适用的销售税)。
安全性
全部打开Amazon S3 Access Grants 可将 Active Directory 等目录中的身份或 Amazon Identity and Access Management(IAM)主体映射至 S3 中的数据集。这可以根据最终用户的企业身份,自动向其授予 S3 访问权限,从而帮助您大规模管理数据权限。此外,S3 访问权限管控还会在 Amazon CloudTrail 中记录最终用户身份和用于访问 S3 数据的应用程序。这有助于提供直至最终用户身份级别的详细审核历史记录,以供您了解对 S3 存储桶中数据的所有访问情况。
如果您的 S3 数据被许多用户和应用程序共享和访问,其中一些用户和应用程序的身份位于 Okta 或 Entra ID 等企业目录中,并且您需要一种可扩展、简单、可审核的方式大规模授予对这些 S3 数据集的访问权限,那么您就应该使用 S3 Access Grants。
您可以通过四个步骤开始使用 S3 Access Grants。首先,配置 S3 Access Grants 实例。在此步骤中,如果您想对企业目录中的用户和组使用 S3 Access Grants,请启用 IAM Identity Center,并将 S3 Access Grants 连接到 Identity Center 实例。然后,使用 S3 Access Grants 注册一个位置。在此过程中,您将向 S3 Access Grants 授予一个 IAM 角色,用于创建临时 S3 凭证,用户和应用程序可以使用该凭证访问 S3。接下来,定义权限的授予情况,以指定谁可以访问哪些内容。最后,在访问时,让应用程序向 S3 Access Grants 申请临时凭证,并使用 Access Grants 提供的凭证访问 S3。
S3 Access Grants 支持两种身份:来自 Amazon IAM Identity Center 的企业用户或组身份,以及 Amazon IAM 主体(包括 IAM 用户和角色)。将 S3 Access Grants 与 IAM Identity Center 搭配使用时,您可以根据目录组的成员资格定义数据权限。IAM Identity Center 是一项 Amazon 服务,可连接到常用的身份供应商,包括 Entra ID、Okta、Ping 等。除了通过 IAM Identity Center 支持目录身份外,S3 Access Grants 还支持 IAM 主体(包括 IAM 用户和角色)的权限规则。这适用于以下用例:通过 IAM 和 SAML 断言(示例实施)管理自定义身份联合验证,而不是通过 IAM Identity Center;或基于 IAM 主体管理应用程序身份,但由于需要 S3 Access Grants 的可扩展性和可审核性,仍希望使用 S3 Access Grants。
Access Grants 提供三个访问级别:读取、写入和读写。读取允许您查看和检索来自 S3 的对象。写入允许您在 S3 中写入和删除。读写同时允许您进行读取和写入。
不可以。您只能使用 S3 Access Grants 提供的三个预定义访问级别(读取/写入/读写)。
是。每个 S3 Access Grants 实例最多可创建 10 万个授权,以及最多 1000 个位置。
不会。从 S3 Access Grants 获得凭证后,您可以在后续请求中重复使用未过期的凭证。对于这些后续请求,与其他方法相比,通过 S3 Access Grants 凭证进行身份验证的请求不会出现额外的延迟。
如果打算将 S3 Access Grants 用于目录身份,则需要先设置 Amazon IAM Identity Center。Amazon IAM Identity Center 可帮助您创建或连接员工身份(无论这些身份是在 Identity Center 中创建和存储的,还是在外部第三方身份供应商处创建和存储的)。有关设置过程,请参阅 Identity Center 文档。设置 Identity Center 实例后,您就可以将该实例连接到 S3 Access Grants。此后,S3 Access Grants 依靠 Identity Center 检索用户属性(如组成员资格),以评估请求并做出授权决策。
是。如今,您可以使用与应用程序相关联的 IAM 凭证(例如,EC2 的 IAM 角色凭证,或 IAM Roles Anywhere;或使用长期 IAM 用户凭证)初始化 S3 客户端,而在初始化 S3 客户端之前,您的应用程序需要先获取 S3 Access Grants 凭证。这些 S3 Access Grants 凭证将特定于应用程序中经过身份验证的用户。使用这些 S3 Access Grants 凭证初始化 S3 客户端后,就可以像往常一样使用这些凭证请求 S3 数据。
如今,通过 S3A 连接器,S3 Access Grants 已经可以与 EMR 及开源的 Spark 集成。此外,S3 Access Grants 还可与 Immuta 和 Informatica 等第三方软件集成,以便您集中管理权限。最后,S3 Access Grants 支持 Terraform 和 CloudFormation,可让您以编程方式预置 S3 Access Grants。
不可以。S3 Access Grants 无法取代 IAM。实际上,它可以与基于 IAM 的现有数据保护策略(加密、网络、数据边界规则)完美配合。S3 Access Grants 基于 IAM 基元构建,允许您大规模地表达更精细的 S3 权限。
是。要对使用 KMS 加密的对象使用 S3 Access Grants,存储桶所有者应在注册位置的过程中,将必要的 KMS 权限包含在要授予 S3 Access Grants 的 IAM 角色中。然后,S3 Access Grants 就可以利用该 IAM 角色,访问存储桶中的 KMS 加密对象。
要查看和管理 S3 Access Grants 权限,您可以使用 Amazon Web Services 管理控制台中的 S3 Access Grants 控制台体验,或使用 SDK 和 CLI API。
不可以,您不能使用 S3 Access Grants 授予公众对数据的访问权限。
应用程序使用 S3 Access Grants 发起数据访问会话的请求将记录在 CloudTrail 中。CloudTrail 将区分发出请求的用户身份,以及代表用户访问数据的应用程序身份。这可以帮助您审核最终用户身份,以了解谁在什么时候访问了哪些数据。
S3 Access Grants 根据向 S3 Access Grants 发出的请求次数收费。有关详细信息,请参阅定价页面。
Amazon Lake Formation 适用于需要管理表格数据(例如 Glue 表)访问权限的用例,在这些用例中,您可能需要强制实施行级和列级的访问权限。S3 Access Grants 用于管理直接访问 S3 的权限,例如对非结构化数据(包括视频、图片、日志等)的访问。
没有。S3 Access Grants 目前未与 IAM Access Analyzer 集成。您目前还不能使用 IAM Access Analyzer 分析 S3 Access Grants 的权限授予情况。客户可以访问 S3 控制台中的 S3 Access Grants 页面直接审核 S3 Access Grants,也可以使用 ListAccessGrants API 以编程方式进行审核。
如今,客户使用单一存储桶策略来管理对其 S3 存储桶的访问。该策略可按照不同权限级别来控制数百个应用程序的访问。
对于在 S3 上使用共享数据集的应用程序,Amazon S3 接入点可以简化大规模数据访问管理。借助 S3 接入点,您现在可以轻松为每个存储桶创建数百个接入点,这是一种配置共享数据集访问权限的新方法。接入点提供进入存储桶的自定义路径,它的主机名是唯一的,且访问策略可对通过接入点发出的任何请求强制执行特定的权限和网络控制。S3 接入点可与同一账户或其他可信账户中的存储桶关联。要了解更多信息,请访问用户指南。
S3 接入点简化了 S3 上共享数据集的数据访问的管理过程。您不再需要管理具有数百种不同权限规则的单个复杂的存储桶策略,也无需编写、读取、跟踪和审核这些规则。借助 S3 接入点,您可以创建接入点或向可信账户委派权限,以在存储桶上创建跨账户接入点。这样便可通过为特定应用程序制定的策略,授予访问共享数据集的权限。
使用 S3 接入点,您可以为每个需要访问共享数据集的应用程序将大型存储桶策略分解为各自独立的接入点策略。这样可以更轻松地专注于为应用程序构建正确的访问策略,而不必担心会干扰任何其他应用程序在共享数据集中的操作。您还可以创建服务控制策略(SCP),并要求将所有接入点限制为虚拟私有云(VPC),将数据限制在专用网络内。
每个 S3 接入点都配置了特定应用场景或应用程序的访问策略,并且一个存储桶可以有成千上万个接入点。例如,您可以为 S3 存储桶创建接入点,从而为用户组或应用程序组授予数据湖的访问权限。接入点可支持单个用户或应用程序,也可支持账户内和账户间的用户组或应用程序组,从而实现单独管理每个接入点。
此外,您可以向可信账户委派权限,以在存储桶上创建跨账户接入点。如果您未获存储桶所有者授予权限,跨账户接入点不会允许您访问数据。存储桶所有者始终保留对数据的最终控制,并且必须更新存储桶策略,以对跨账户接入点的请求给予授权。阅读用户指南,了解存储桶策略示例。
每个接入点都与单个存储桶关联,并包含网络源控制和屏蔽公共访问权限控制。您可以创建包含网络源控制的接入点,从而仅允许来自虚拟私有云(亚马逊云科技云的逻辑独立部分)的存储访问。也可以创建一个这样接入点,即,将接入点策略配置为仅允许访问具有已定义前缀的对象或带有特定标签的对象。
可以采用两种方式之一,通过接入点来访问共享存储桶中的数据。对于 S3 对象操作,可以使用接入点 ARN 来代替存储桶名称。对于需要标准 S3 存储桶名称格式的请求,可以改用接入点别名。系统会自动生成 S3 接入点别名,并且可在使用存储桶名称进行数据访问的任何位置与 S3 存储桶名称互换。每次为存储桶创建接入点时,S3 会自动生成新的接入点别名。有关完整的兼容操作和亚马逊云科技服务,请访问 S3 文档。
默认情况下,对于账户中存储桶和跨账户存储桶,每个账户每个区域可以创建 10,000 个接入点。每个亚马逊云科技账户的接入点数量没有硬性限制。访问服务限额,以申请增加接入点数量配额。
您可以像编写存储桶策略一样编写接入点策略,可在策略文档中使用 IAM 规则来管理权限并使用接入点 ARN。
您可以继续使用存储桶策略来限制对指定 VPC 的存储桶访问权限。接入点提供了一种更为简单且可审核的方法,以使用 API 控制,为组织中所有应用程序将共享数据集中的所有或部分数据限制为仅限 VPC 的流量。您可以使用 Amazon Organizations 服务控制策略(SCP),强制组织中创建的任何接入点将“网络源控制”API 参数值设为“vpc”。然后,任何新创建的接入点会自动将数据访问限制为仅限 VPC 的流量。无需额外的访问策略,即可确保仅处理来自指定 VPC 的数据请求。
是。要对组织中的接入点强制执行“无互联网数据访问”策略,您需要确保所有接入点强制执行仅限 VPC 访问。为此,需要编写亚马逊云科技组织服务控制策略(SCP),该策略仅支持 create_access_point() API 中“网络源控制”参数的值为“vpc”。如果您之前创建了任何面向互联网的接入点,可以将其删除。您还需要修改每个存储桶中的存储桶策略,以进一步限制直接通过存储桶主机名对存储桶进行互联网访问。由于其他亚马逊云科技服务可直接访问存储桶,请务必修改策略,将访问权限设置为允许所需的亚马逊云科技服务访问,以允许此类亚马逊云科技服务访问存储桶。有关如何执行此操作的示例,请参阅 S3 文档。
目前不能,但您可以添加存储桶策略,拒绝不是使用接入点发出的请求。有关更多详细信息,请参阅 S3 文档。
是。删除接入点后,通过其他接入点和存储桶主机名对关联存储桶的任何访问都不会中断。
对于接入点或使用接入点的存储桶,不收取额外费用。常用的 Amazon S3 请求费率适用。
您可以通过亚马逊云科技管理控制台、亚马逊云科技命令行接口(CLI)、应用程序编程接口(API)和亚马逊云科技软件开发工具包(SDK)客户端,开始在新存储桶和现有存储桶上创建 S3 接入点。要了解有关 S3 接入点的更多信息,请参阅用户指南。
数据保护
全部打开Amazon S3 可在指定年度内为对象提供 99.999999999% 的持久性。这种耐久性级别相当于每年平均有 0.000000001% 的数据对象丢失。例如,如果您使用 Amazon S3 存储 10000 个对象,则平均每 10000000 年会发生一次单个对象丢失。
Amazon S3 将您的数据对象冗余存储在分布于您所指定的 Amazon S3 地区多个设施的多台设备上。该服务可以快速检测和修复任何丢失冗余,从而抵御同时发生的设备故障。在处理对存储数据的请求时,该服务会在返回 SUCCESS 之前,将您的对象冗余存储于多个设施。Amazon S3 还定期使用校验和来验证数据的完整性。
Amazon S3 通过组合使用 Content-MD5 校验和、安全哈希算法(SHA)和循环冗余校验(CRC)来验证数据完整性。S3 在空闲时对数据执行这些校验和检测,并使用冗余数据修复任何不一致问题。此外,S3 还会在存储或检索数据时,对所有网络流量计算校验和,以检测数据包是否被篡改。
根据具体的应用程序需求,我们支持使用四种校验和算法来检查上传和下载请求的数据完整性:SHA-1、SHA-256、CRC32 或 CRC32C。系统会在您从 S3 存储或检索数据时自动计算和验证校验和,并且可以随时使用 GetObjectAttributes S3 API 或 S3 清单报告访问校验和信息。在将数据流式传输到 S3 时计算校验和可以节省时间,因为您可以一次完成数据的验证和传输。使用校验和来验证数据也是确保数据持久性的一项最佳实践,并且这些功能可以提高性能并降低成本。
通过版本控制,您可以保留、提取和恢复存储在 Amazon S3 存储桶中的每个对象的每个版本。一旦您为存储桶启用版本控制,Amazon S3 将在您每次执行 PUT、POST、COPY 或 DELETE 操作时保留现有数据对象。默认情况下,GET 请求将提取最近写入的版本。可通过在请求中指定版本来检索已覆盖对象或已删除对象的旧版本。
Amazon S3 为客户提供具有很高耐久性的存储基础设施。版本控制可在客户意外覆盖或删除对象的情况下提供一种恢复手段,从而提供另一层保护。这使您能够从无意用户操作或应用程序故障中轻松恢复。您还可将版本控制用于数据保留和存档。
您可以通过在 Amazon S3 存储桶上启用相应设置,来开始使用版本控制。有关如何启用版本控制的更多信息,请参阅 Amazon S3 技术文档。
当用户对某个数据对象执行 DELETE 操作时,后续默认请求将不再提取该数据对象。但是,该对象的所有版本将继续保留在您的 Amazon S3 存储桶中,可以提取或恢复。只有 Amazon S3 存储桶的拥有者才能永久删除某个版本。
您可以使用 Amazon S3 生命周期规则和 S3 版本控制来实施 S3 对象的回滚时段。例如,借助启用了版本控制的存储桶,您可以设置一条规则,将以前的所有版本存档到成本较低的 S3 Glacier 存储类,并在 100 天后删除它们,从而给您 100 天的时间来回滚对数据的任何更改,同时降低存储成本。此外,如果对象至少有 2 个较新版本,则您还可以通过在 5 天之后删除旧的(非当前)版本的对象来节省成本。您可以根据成本优化需要更改天数或较新版本数。这使您能够视需要保留其他版本的对象,但可通过在一段时间之后转换或删除它们来节省成本。
正常 Amazon S3 费率适用于存储或请求的对象的每个版本。
Amazon S3 Block Public Access 是一组新的安全控制措施,让客户能够确保 S3 存储桶和对象不会受到公共访问。只需单击几下,管理员便可以将 Amazon S3 Block Public Access 设置应用于某个账户内的所有存储桶或特定存储桶。将这些设置应用到账户之后,与该账户关联的所有现有或新的存储桶和对象都会沿用阻止公共访问的设置。默认情况下,所有新的存储桶都已开启“屏蔽公共访问权限”。 Amazon S3 屏蔽公共访问权限设置覆盖了允许公共访问的其他 S3 权限,这使得账户管理员能够轻松实施“无公共访问”策略,而不用考虑是否存在现有权限、存储桶的添加方式或创建方式。
通过 Amazon S3 Block Public Access 设置,您可以确保,无论是否在存储桶或对象上设置了现有策略,您都可以应用一项控制设置来指定 S3 资源现在或将来将不再具有公共访问权限。只需在 S3 控制台上单击几下,就可以防止在现在和将来在 S3 存储桶中设置公共策略和 ACL。要详细了解 Amazon S3 Block Public Access 设置,请访问“Amazon S3 开发人员指南”。
您可以通过 S3 控制台上的“Public access settings for this account”(此账户的公共访问设置)侧导航栏或 API 来配置 Amazon S3 Block Public Access 设置。当您在账户级别配置这些设置后,整个账户中的所有存储桶和对象都会继承属性。如果要更改这些设置,则可以返回 S3 控制台并取消选中相应复选框,或通过 API 以编程方式对其进行管理。
您可以通过 S3 控制台上的“权限”选项卡或通过 API 配置 Amazon S3 Block Public Access 设置。当您在存储桶级别配置这些设置后,系统将禁止对存储桶及其内部的对象进行公共访问。
Amazon S3 的 Amazon VPC 终端节点是 VPC 内的逻辑实体,允许通过亚马逊云科技中国网络连接到 S3。S3 有两种 VPC 终端节点:网关 VPC 终端节点和接口 VPC 终端节点。网关终端节点是您在路由表中指定的网关,用于通过亚马逊云科技中国网络从 VPC 访问 S3。接口终端节点通过使用私有 IP 将请求从 VPC 内部、本地或来自其他亚马逊云科技中国区域的请求路由到 S3,扩展了网关终端节点的功能。有关更多信息,请阅读 S3 文档。
您可以使用 Amazon S3 存储桶策略,限制从特定 Amazon VPC 终端节点或一系列终端节点访问存储桶。S3 存储桶策略现在支持条件 aws:sourceVpce,可使用该条件来限制访问。有关更多详细信息和示例策略,请阅读 S3 文档。
适用于 S3 的 Amazon PrivateLink 提供 Amazon S3 和本地之间的私有连接。您可以在 VPC 中为 S3 预置接口 VPC 终端节点,以便通过 Amazon Direct Connect 将本地应用程序直接连接到 S3。无需再需要使用公有 IP、更改防火墙规则或配置互联网网关即可从本地访问 S3。要了解更多信息,请阅读 S3 文档。
接口 VPC 终端节点在 VPC 中预置弹性网络接口 (ENI)。ENI 是一个逻辑网络组件,您可以通过该组件将请求通过亚马逊云科技中国网络路由到 S3。您可以在跨越一个或多个子网的一个或多个可用区中创建接口 VPC 终端节点。在您指定的每个子网中,将使用私有 IP 地址池中的 IP 地址来设置 ENI。对 S3 的请求将解析为分配给 ENIS 的私有 IP。以这种方式通过私有 IP 地址寻址 S3,可以从通过 Amazon Direct Connect 连接到亚马逊云科技的本地主机直接访问 S3。有关接口 VPC 终端节点的更多信息,请阅读 S3 文档。
您可以使用 Amazon VPC 管理控制台、Amazon CLI、亚马逊云科技开发工具包或 API 创建接口 VPC 终端节点。要了解更多信息,请阅读 S3 文档。
我们建议您使用接口 VPC 终端节点从本地或从其他亚马逊云科技中国区域的 VPC 访问 S3。对于从与 S3 相同的亚马逊云科技中国区域的 VPC 访问 S3 的资源,我们建议使用网关 VPC 终端节点,因为它们不计费。要了解更多信息,请阅读 S3 文档。
Amazon S3 存储类
全部打开Amazon S3 提供了一系列存储类,您可以根据工作负载的数据访问权限、弹性和成本要求进行选择。S3 存储类经过专门构建,用于为不同的访问模式提供低成本存储。S3 存储类几乎适用于任何用例,包括具有严格性能需求、数据驻留要求、未知或不断变化的访问模式或存档存储的使用案例。每个 S3 存储类都会收取存储数据和访问数据的费用。在确定最适合您的工作负载的 S3 存储类时,请考虑数据的访问模式和保留时间,以针对数据生命周期内的最低总成本进行优化。
在确定最适合您的工作负载的 S3 存储类时,请考虑数据的访问模式和保留时间,以针对数据生命周期内的较低总成本进行优化。大多数工作负载都具有不断变化的(用户生成的内容)、不可预测的(分析、数据湖)或未知的(新应用程序)访问模式,这就是为什么 S3 Intelligent-Tiering 应该成为默认存储类以自动节省存储成本的原因。如果您知道数据的访问模式,则可以遵循此指南。S3 Standard 存储类非常适合经常访问的数据;如果您每月访问多次数据,这将是最佳选择。S3 Standard-Infrequent Access 非常适合保留至少一个月的数据和每一两个月访问一次的数据。
对于很少访问的存档数据,您可以从三种归档存储类中进行选择,这三种存储类已针对不同访问模式和存储时长进行了优化。对于需要立即访问的归档数据,您应该使用 S3 Glacier Instant Retrieval,这是第一个为每年访问 2-3 次的数据提供毫秒级检索的归档存储类。对于不需要立即访问的归档数据,您可以通过使用 S3 Glacier 灵活检索在几分钟到几小时内检索数据,并且免费进行批量检索,从而降低存储成本。为了节省更多归档存储成本,您可以使用 S3 Glacier Deep Archive,这是 Amazon S3 中成本最低的存储,可在数小时内检索数据。所有这些存储类都是区域存储类,它们通过在亚马逊云科技中国区域中的多个设备和物理分离的亚马逊云科技可用区上冗余存储数据来提供多可用区 (AZ) 弹性。
对于弹性要求较低的数据,您可以通过选择单可用区存储类(例如 S3 One Zone-Infrequent Access)来降低成本。
S3 Intelligent-Tiering
全部打开Amazon S3 Intelligent-Tiering (S3 Intelligent-Tiering)是一种 S3 存储类,适用于访问模式未知或不断变化且难以学习的数据。它是唯一一个在访问模式变化时通过在四个访问分层之间移动对象来自动节省成本的云存储。其中有两个针对频繁访问和不频繁访问进行了优化的低延迟访问层,以及两个专为异步访问而设计且针对罕见访问进行了优化的可选存档访问层。
上传或转换至 S3 Intelligent-Tiering 的对象自动存储在频繁访问分层中。S3 Intelligent-Tiering 会监控访问模式,然后将连续 30 天内未被访问的对象移动到不频繁访问分层。您可以激活一个或两个存档访问层,可以将 90 天未访问的对象自动移动到存档访问层,然后在 180 天后将其移动到深度存档访问层。如果对象后来被访问,S3 Intelligent-Tiering 会将对象移回到频繁访问分层。检索是免费的,因此当访问模式发生变化时,不会产生额外的存储费用。
S3 Intelligent-Tiering 适用于访问模式未知或不断变化且难以学习的数据。也非常适合访问模式可能无法预测的数据集。对访问模式不断变化,且其中的对象子集长期很少访问的数据集,存档访问层可以进一步降低您的存储成本。S3 Intelligent-Tiering 可用于存储新的数据集,在上传后不久,这些数据集的访问会变得频繁,但会随着数据集的老化而减少。
S3 Intelligent-Tiering 频繁访问层、不频繁访问层和存档即时访问层可以提供与 S3 Standard 和 S3 Standard-Infrequent Access 存储类相同的性能。可选存档访问层具有与 S3 Glacier 灵活检索相同的性能,而深度存档访问层具有与 S3 Glacier Deep Archive 存储类相同的性能。
S3 Intelligent-Tiering 可提供 99.999999999% 的持久性,与 S3 Standard 存储类相同。S3 Intelligent-Tiering 的设计可以提供 99.9% 的可用性,并附带服务等级协议,当在任意账单周期内的可用性低于我们的服务承诺时,还可提供服务抵扣金。
S3 Intelligent-Tiering 会向您收取月度存储、请求和带宽费用,并对每个对象的监控和自动化收取少量月费。S3 Intelligent-Tiering 存储类将对象存储在三个存储访问层中:频繁访问层,以 S3 Standard 存储费率定价;不频繁访问层,以 S3 Standard-Infrequent Access 存储费率定价;以及存档即时访问层,以 S3 Glacier Instant Retrieval 存储费率定价。S3 Intelligent-Intelligent 还提供两个可选的异步访问层:以 S3 Glacier Flexible Retrieval 存储费率定价的存档访问层,以及以 S3 Glacier Deep Archive 存储费率定价的深度存档访问层。
S3 Intelligent-Tiering 不收取检索费。您只需支付少量监控和自动化费用,即可使用 S3 Intelligent-Tiering 监控访问模式,并自动在四个访问层之间移动对象,以优化存储成本和性能。
S3 Intelligent-Tiering 没有最小可计费对象大小,但小于 128KB 的对象不符合自动分层的条件。 这些较小的对象将不受监控,并将始终按频繁访问层费率收费,无监控和自动化费用。对于在 S3 Intelligent-Tiering 中存档到存档访问层或深度存档访问层的每个对象,Amazon S3 提供 8KB 的空间来存储对象名称和其他元数据(按 S3 Standard 存储费率计费),提供 32KB 的空间用来存储索引和相关元数据(按 S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 的存储费率计费)。
您可以使用 Amazon S3 API、CLI 或 S3 管理控制台创建存储桶,前缀或对象标签级别配置,以此来激活存档访问层和深度存档访问层。如果您的对象可以通过应用程序异步访问,您应该仅激活一个或两个存档访问层。
是。在存储桶、前缀或对象标签级别的配置中,您可以针对存档和深度存档访问层,将在 S3 Intelligent-Tiering 中存档对象的最后访问时间延长至两年。将对象移至存档访问层的最短最后访问时间为 90 天,将对象移入深度存档访问层的最短最后访问时间为 180 天。
您可以发出“还原”请求,对象将自动开始移回至频繁访问层,所有这些操作均可在 S3 Intelligent-Tiering 存储类中完成。存档访问层中的对象移至频繁访问层最多需要 3-5 小时,深度存档访问层中的对象移至频繁访问层最多需要 12 小时。对象移至频繁访问层之后,您可以发送 GET 请求检索该对象。
是的,S3 Intelligent-Tiering 由 Amazon S3 服务等级协议提供支持,当在任意账单周期内的可用性低于我们的服务承诺时,客户还可获得服务抵扣金。
使用 S3 Intelligent-Tiering 频繁访问层、不频繁访问层和存档即时访问层时,延迟和吞吐量性能将与 S3 Standard 相同。仅当对象可以通过应用程序异步访问时,才应激活存档和深度存档访问层。存档访问层中的对象移至频繁访问层最多需要 3-5 小时,深度存档访问层中的对象移至频繁访问层最多需要 12 小时。如果需要更快访问存档访问层或深度存档访问层中的对象,您可以使用控制台选择加快检索速度,支付加快检索费用。
没有,S3 Intelligent-Tiering 没有最短存储持续时间。
S3 Intelligent-Tiering 没有最小可计费对象大小,但小于 128KB 的对象不符合自动分层的条件。这些较小的对象将不受监控,并将始终按频繁访问层费率收费,无监控和自动化费用。对于在 S3 Intelligent-Tiering 中存档到存档访问层或深度存档访问层的每个对象,Amazon S3 提供 8KB 的空间来存储对象名称和其他元数据(按 S3 Standard 存储费率计费),提供 32KB 的空间用来存储索引和相关元数据(按 S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 的存储费率计费)。这让您可以使用 S3 LIST API 或 S3 库存报告实时获取所有 S3 对象的列表。有关更多详细信息,请访问 https://www.amazonaws.cn/en/s3/pricing/。
S3 Standard-Infrequent Access
全部打开S3 Standard-Infrequent Access(Standard-IA)是一种 Amazon S3 存储类,用于访问频率较低但在需要时要求能够快速访问的数据。Standard-IA 提供较高的持久性、吞吐量和较低的 Amazon S3 Standard 延迟,并且每 GB 的存储价格和检索费用都较低。成本较低且性能出色使得标准 – IA 成为长期存储和备份的理想选择,也是非常适用于灾难恢复的数据存储。标准 – IA 存储类别在对象级别进行设置,并可存储在 Standard 所在的存储桶中,从而让您可以使用生命周期策略在存储类别间自动转移对象,而无需更改任何应用程序。
标准 – IA 非常适用于访问频率较低但在需要时要求能够快速访问的数据。标准 – IA 非常适用于长期文件存储、来自同步和共享的较旧数据、备份数据以及灾难恢复文件。
S3 Standard-Infrequent Access 提供的性能与 S3 Standard 存储相同。
与 Standard 和 S3 Glacier Flexible Retrieval 相同,S3 Standard - IA 的设计也可实现 99.999999999% 的持久性。Standard - IA 的设计可以提供 99.9% 的可用性,并附带服务等级协议,如果任意账单周期内的可用性低于我们的服务承诺,还可提供服务抵扣金。
可以采用两种方式将数据导入标准 – IA。您可以在 x-amz-storage-class 标头中指定 STANDARD_IA,通过 PUT 操作直接将数据导入到标准 – IA。您也可以设置生命周期策略,将对象从标准转移到标准 – IA。
是的,标准 – IA 由 Amazon S3 服务等级协议提供支持,当在任意账单周期内的可用性低于我们的服务承诺时,客户还可获得服务抵扣金。
当使用 Standard – IA 时,延迟和吞吐量性能将与 Amazon S3 Standard 相同。
标准 – IA 适用于长期存储但访问频率较低的数据(已保留了数月或数年)。30 天内从 Standard – IA 删除的数据将按照完整的 30 天收费。
标准 – IA 适用于较大对象,最小对象大小为 128KB。小于 128KB 的对象将产生存储费用,并按 128KB 计费。比如,S3 Standard – IA 中 6KB 的对象将产生 6KB 的 S3 Standard – IA 存储费用,而剩下的最小对象大小(等于 122KB)将按照 S3 Standard – IA 存储费用收取。
是。除了使用生命周期策略将对象从 Standard 迁移到 Standard - IA 外,您还可以设置生命周期策略来将 Standard - IA 中的对象分级到 Amazon S3 Glacier Flexible Retrieval。
S3 单区 – 不频繁访问
全部打开S3 One Zone-IA 存储类是客户可以选择将对象存储在单个可用区中的 Amazon S3 存储类。S3 One Zone-IA 存储以冗余方式将数据存储在单个可用区内,这种存储的成本比地理上冗余的 S3 Standard-IA 存储的成本低 20%,而后者是以冗余方式将数据存储在多个地理上分离的可用区内。
S3 单区 – IA 提供 99% 的可用性 SLA,并且在可用区内的持久性还能够达到 99.999999999%。但是,与 S3 Standard 存储类不同的是,S3 单区 – IA 存储类不能灵活应对由地震或洪水等重大事件造成的可用区物理损失。
S3 单区 – IA 存储提供与 S3 标准和 S3 标准 – IA 相同的 Amazon S3 功能,用户可以通过 Amazon S3 API、CLI 和控制台使用这种存储类。S3 One Zone-IA 存储类是在对象级别进行设置的,并且可以和 S3 Standard 与 S3 Standard-IA 存储类存在于同一个存储桶中。您可以使用 S3 生命周期策略在存储类之间自动转移对象,而无需更改任何应用程序。
客户将 S3 单区 – IA 存储类用于不经常访问的存储,如备份副本、灾难恢复副本或其他易于重新创建的数据。
S3 单区 – IA 存储类可提供与 S3 标准和 S3 标准 – 不频繁访问存储类的性能相似的性能。
S3 单区 – IA 存储类在一个可用区内的持久性可达到 99.999999999%。但是,S3 单区 – IA 存储不能承受住可用性下降或可用区完全毁坏的情况。相比之下,S3 Standard 和 S3 Standard-Infrequent Access 存储能够承受住可用性下降或可用区毁坏的情况。S3 单区 – IA 存储可以提供与大多数现代物理数据中心相当或更高的持久性和可用性,同时还提供存储弹性和 Amazon S3 功能集的额外优势。
S3 单区 – IA 可以提供 99% 的可用性 SLA。相比而言,S3 标准提供 99.9% 的可用性 SLA,而 S3 标准 – 不频繁访问提供 99% 的可用性 SLA。与所有 S3 存储类一样,S3 单区 – IA 存储类附带服务等级协议,当在任意账单周期内的可用性低于我们的服务承诺时,还可提供服务积分。请参阅 Amazon S3 服务等级协议。
使用 S3 单区 – IA 存储类时,您应该会具有与使用 Amazon S3 标准和 S3 标准 – IA 存储类时近似的延迟和吞吐量。
与 S3 标准 – IA 一样,S3 单区 – IA 会根据每月存储量、带宽、请求数量收费,同时还会收取提早删除费和较小对象存储费以及数据检索费。与 Amazon S3 标准 – IA 相比,Amazon S3 单区 – IA 存储的每月存储费用要低 20%,而带宽和请求的定价、提早删除费和较小对象存储费以及数据检索费与之相同。
与 S3 标准 – 不频繁访问一样,如果您在创建 aS3 单区 – 不频繁访问对象之后的 30 天内将其删除,则需要支付提早删除费。例如,如果您对某个对象执行了 PUT 操作,然后在 10 天后将其删除了,您仍需要支付 30 天的存储费用。
与 S3 标准 – IA 一样,S3 单区 – IA 存储类的最小对象大小为 128KB。小于 128KB 的对象将产生存储费用,并按 128KB 计费。比如,S3 单区 – IA 存储类中 6KB 的对象将产生 6KB 的存储费用,而剩下的最小对象大小(等于 122KB)将按照 S3 单区 – IA 存储定价收取。请参阅定价页面,了解有关 S3 单区 – IA 定价的信息。
是。每个亚马逊云科技区域都是一个独立的地理区域。每个区域都有多个相互隔离的位置,称为可用区。Amazon S3 单区 – IA 存储类使用区域内的单个亚马逊云科技可用区。
是。Amazon EC2 让您能够在区域内选择可用区来放置资源,例如计算实例。当您使用 S3 单区 – IA 时,它会根据可用容量分配地区内的一个亚马逊云科技可用区。
是。您可以拥有包含存储在 S3 标准、S3 标准 – IA 和 S3 单区 – IA 中的不同对象的存储桶。
是
每个可用区均使用冗余电源和联网。在一个亚马逊云科技区域内,可用区位于不同的冲积平原和地震断裂带,并且在地理位置上是分离的,以避免受到火灾的影响。S3 标准和 S3 标准–不频繁访问存储类通过以冗余方式将数据存储在多个可用区来避免受到这类灾难的影响。S3 单区 – IA 可以保护用户免受可用区内设备故障的影响,但无法抵御可用区丢失的影响。使用 S3 单区 – IA、S3 标准和 S3 标准 – IA 选项,您可以选择最符合您的存储持久性和可用性要求的存储类。
S3 Object Lambda
全部打开S3 Object Lambda 让您可以添加自己的代码来处理从 S3 检索的数据,然后再将其返回到应用程序。使用 S3 Object Lambda,您可以使用自定义代码修改标准 S3 GET、HEAD 和 LIST 请求返回的数据。这可用于筛选行、动态调整图像大小、修改或屏蔽机密信息、创建对象的自定义视图或修改 S3 返回的数据。由 Amazon Lambda 功能提供支持,所有请求和数据处理都在完全由亚马逊云科技管理的基础设施上运行。您的自定义代码按需执行,无需创建和存储数据的衍生副本,而且不需要对应用程序进行更改。
S3 Object Lambda 可帮助您轻松满足任何应用程序的独特数据格式要求,而无需构建和操作其他基础设施(例如代理层),也无需创建和维护数据的多个衍生副本。S3 Object Lambda 使用 Amazon Lambda 函数自动处理标准 S3 GET、HEAD 和 LIST 请求的输出。Amazon Lambda 是一种无服务器计算服务,可运行客户定义的代码,而无需管理底层计算资源。只需在 Amazon S3 管理控制台中单击几下,您就可以配置 Lambda 功能并将其附加到 S3 Object Lambda 服务终端节点。此后,S3 将自动调用该 Lambda 功能来处理通过 S3 Object Lambda 终端节点检索的任何数据,并将转换后的结果返回给应用程序。您可以创作和执行自己的自定义 Lambda 功能,根据您的特定用例定制 S3 Object Lambda 的数据转换。
您可以使用 S3 Object Lambda 来在多个应用程序中共享单个数据副本,无需构建和运行自定义处理基础架构或存储数据的衍生副本。例如,通过使用 S3 Object Lambda 处理正常的 S3 GET 请求,您可以掩盖敏感数据以满足合规性要求,重构原始数据以使其与机器学习应用程序兼容,筛选数据以限制对 S3 对象内特定内容的访问,或者解决其他各种使用案例。您还可以使用 S3 Object Lambda 修改 S3 LIST 请求的输出,通过查询包含其他对象元数据的外部索引来丰富您的对象列表,筛选对象列表以仅包含带有特定对象标签的对象,并为列表中的所有对象名称添加文件扩展名。只需在亚马逊云科技管理控制台中单击几下即可设置 S3 Object Lambda 处理。
S3 Object Lambda 使用您指定的 Lambda 函数转换标准 GET、HEAD 和 LIST 请求的输出。一旦定义了用于处理请求数据的 Lambda 函数,您就可以将该函数连接到 S3 Object Lambda 端点。通过 S3 Object Lambda 端点所做的 GET、HEAD 和 LIST 请求现在将会调用指定的 Lambda 函数。Lambda 随后将会提取客户端请求的 S3 对象并处理该对象。处理完成后,Lambda 会将处理的对象流式传输回调用的客户端。
可以通过多种方式设置 S3 Object Lambda。您可以通过导航到“Object Lambda 接入点”选项卡在 S3 控制台中设置 S3 Object Lambda。接下来,创建一个 S3 Object Lambda 接入点,您想要 S3 针对 GET、LIST 和 HEAD 请求执行的 Lambda 函数以及支持的 S3 接入点。向所有资源授权,以便与 Object Lambda 交互。最后,将 SDK 和应用程序更新为使用新的 S3 Object Lambda 接入点,以便使用您选择的语言 SDK 检索 S3 中的数据。发出请求时,您可以使用 S3 Object Lambda 接入点别名。S3 Object Lambda 接入点的别名是自动生成的,并且可与通过 S3 Object Lambda 访问的数据的 S3 存储桶名称互换。对于现有 S3 Object Lambda 接入点,别名是自动分配的,并且可供使用。文档中提供有示例的 Lambda 函数实施,可帮助您开始使用。
此外,您还可以使用 Amazon CloudFormation 自动执行 S3 Object Lambda 配置。使用 Amazon CloudFormation 模板时,在您的账户中部署的 Lambda 函数会将 S3 对象传回请求的客户端或应用程序,且不会进行任何更改。您可以添加自定义代码,以便在数据返回到应用程序时修改和处理这些数据。要了解更多信息,请访问 S3 Object Lambda 用户指南。
Amazon S3 和 IPv6
全部打开每个连接到互联网的服务器和设备都必须具有一个唯一的地址。互联网协议第 4 版 (IPv4) 是最初的 32 位寻址方案。但是,互联网的持续发展意味着所有可用的 IPv4 地址都将随着时间的推移而被用尽。互联网协议第 6 版 (IPv6) 是新的寻址机制,旨在克服 IPv4 存在的全局地址限制。
使用支持 Amazon S3 的 IPv6,应用程序可以连接到 Amazon S3,无需安装任何 IPv6 到 IPv4 转换软件或系统。您可以满足合规性要求,更轻松地与基于 IPv6 现有本地应用程序集成,并且不需要购置昂贵的联网设备来处理地址转换。现在,您还可以利用带有 IPv6 地址的 IAM 策略和存储桶策略中的现有源地址筛选功能,扩展选项以保护与 Amazon S3 交互的应用程序。
首先,您可以将应用程序指向 Amazon S3 的新“双堆栈”终端节点,该终端节点支持通过 IPv4 和 IPv6 访问。在大多数情况下,通过 IPv6 访问无需进一步配置,因为大多数网络客户端默认首选 IPv6 地址。
不会。在 Amazon S3 中使用 IPv4 或 IPv6 时,您将获得相同的性能。
使用 IPv6 会受到影响的应用程序可以随时切换回仅有 IPv4 的标准终端节点。
否,目前在通过 BitTorrent 使用网站托管和访问时不提供 IPv6 支持。所有其他功能在使用 IPv6 访问 Amazon S3 时应该能够正常运作。
是的,您可以在所有亚马逊云科技区域使用 IPv6 与 Amazon S3,包括由光环新网运营的亚马逊云科技中国(北京)区域和由西云数据运营的亚马逊云科技中国(宁夏)区域。
Amazon S3 Glacier Instant Retrieval 存储类别
全部打开S3 Glacier Instant Retrieval 存储类为很少访问且需要毫秒级检索的长期数据(例如医学图像或新闻媒体资产)提供低成本存储。S3 Glacier Instant Retrieval 可以实现对归档存储的快速访问,并且吞吐量和毫秒级访问与 S3 Standard 存储类相同。S3 Glacier Instant Retrieval 旨在通过在至少三个物理分离的亚马逊云科技可用区中冗余地存储数据来实现 99.999999999%(11 个 9)的数据持久性和 99.9% 的可用性。
如果您的数据很少被访问(平均每季度一次)并且需要毫秒级的检索速度,S3 Glacier Instant Retrieval 将是理想的选择。它是专为需要与 S3 Standard-IA 相同的低延迟和高吞吐量性能的数据构建的存储,但数据访问频率低于 S3 Standard-IA,存储价格更低,访问数据的费用略高。
S3 Glacier Instant Retrieval 旨在实现 99.999999999%(11 个 9)的持久性和 99.9% 的可用性,与 S3 Standard-IA 相同,并附带服务登记协议,如果在任何计费周期内的可用性低于 99%,则提供服务抵扣金。
S3 Glacier Instant Retrieval 提供与 S3 Standard 和 S3 Standard-IA 存储类相同的毫秒延迟和高吞吐量性能。与专为异步访问而设计的 S3 Glacier 和 S3 Glacier Deep Archive 存储类不同,在访问存储在 S3 Glacier Instant Retrieval 中的对象之前,您无需发出恢复请求。
有两种方法可以将数据放入 S3 Glacier Instant Retrieval。您可以使用以下两种方法通过 PUT 请求直接将数据放入 S3 Glacier Instant Retrieval:在 x-amz-storage-class 标头中指定 GLACIER_IR,或者设置 S3 生命周期策略将对象从 S3 Standard 或 S3 Standard-IA 转移到 S3 Glacier Instant Retrieval。使用 Amazon S3 控制台、亚马逊云科技软件开发工具包或 Amazon S3 API,通过 PUT 请求直接将数据放入 Amazon S3 Glacier Instant Retrieval 或定义存档规则。
S3 Glacier Instant Retrieval 向您收取每月存储、请求(基于请求类型)和数据检索的费用。每月计费的存储量将基于全月使用的平均存储量,以每月 GB(GB-月)为单位。您需要根据请求类型(例如 PUT、COPY 和 GET)为请求付费。您还需要为返回给您的每千兆字节数据支付按 GB 计算的费用。
S3 Glacier Instant Retrieval 专为较大的对象而设计,最低按照 128KB 的对象存储容量进行收费。小于 128KB 的对象将产生存储费用,并按 128KB 计费。例如,一个在 S3 Glacier Instant Retrieval 中的 6KB 对象将产生 6KB 的 S3 Glacier Instant Retrieval 存储费用,以及对象大小的最低费用(按照 S3 Glacier Instant Retrieval 的存储价格计算,相当于额外产生 122KB 的费用)。请参阅 Amazon S3 定价页面,了解有关 Amazon S3 Glacier Instant Retrieval 定价的信息。
Amazon S3 Glacier Flexible Retrieval(前身为 Amazon S3 Glacier 存储类别)
全部打开S3 Glacier 存储类是一种安全、持久且低成本的存储服务,适用于数据存档。您可以放心存储任意大小的数据 – 成本与本地解决方案相当,甚至更低。为了保持成本低廉,同时满足各种需求,S3 Glacier 存储类提供了三种检索选项,各选项的检索时间从数分钟到数小时不等。您可以将对象直接上传到 Amazon S3 Glacier Flexible Retrieval,或使用 S3 生命周期策略将数据从任何适用于活动数据的 Amazon S3 存储类(S3 Standard、S3 Intelligent-Tiering、S3 Standard-IA、S3 One Zone-IA 和 S3 Glacier Instant Retrieval)传输到 S3 Glacier 存储类。
能,Amazon S3 让您可以利用 Amazon S3 Glacier Flexible Retrieval 价格极其低廉的存储类进行数据存档。Amazon S3 Glacier Flexible Retrieval 专门针对访问频率较低的数据以及可以接受数分钟检索时间的数据进行了优化。此类应用示例包括了数字媒体归档、财务和健康记录、原始基因组序列数据、长期数据库备份,以及法律规定必须保留的数据。
您可以根据生命周期,利用生命周期策略自动将 Amazon S3 对象集存档到 Amazon S3 Glacier Flexible Retrieval。使用 Amazon S3 管理控制台、亚马逊云科技开发工具包或 Amazon S3 API 来定义存档规则。规则将指定前缀和时间期限。前缀(如“logs/”)可标识受相应规则约束的对象。时间期限可指定在对象创建多少天(如 180 天)或在某个指定日期后应将该对象存档。名称以指定前缀开头以及在超过指定时间期限后过期的任何 Amazon S3 Standard 存储和 S3 Standard-IA 存储对象都将存档到 Amazon S3 Glacier Flexible Retrieval。要检索存储在 Amazon S3 Glacier Flexible Retrieval 中的 Amazon S3 数据,您需要通过 Amazon S3 API 或管理控制台启动恢复任务。恢复任务通常会在 3 到 5 小时内完成。任务完成后,您就可以通过 Amazon S3 GET 对象请求访问这些数据了。
能,与 Amazon S3 的其他存储类(S3 Standard 或 S3 Standard-IA)类似,使用 Amazon S3 API 或管理控制台存储的 Amazon S3 Glacier Flexible Retrieval 对象也有相关联的用户定义名称。您可以使用 Amazon S3 LIST API 获得所有 Amazon S3 对象名称的实时列表,包括那些使用 Amazon S3 Glacier Flexible Retrieval 选项存储的对象。
由于 Amazon S3 维护着用户定义对象名称和 Amazon S3 Glacier 系统定义标识符之间的映射,因此使用 Amazon S3 Glacier 存储类存储的 Amazon S3 对象只能通过 Amazon S3 API 或 Amazon S3 管理控制台进行访问。
要恢复存储在 Amazon S3 Glacier Flexible Retrieval 中的 Amazon S3 数据,您需要使用 Amazon S3 API 或 Amazon S3 管理控制台提出恢复请求。恢复请求通常会在 3 到 5 小时内完成。恢复请求会在 S3 Standard 中创建数据的临时副本,同时在 Amazon S3 Glacier Flexible Retrieval 中完整保留已存档数据。您能够以天为单位指定将临时副本存储在 S3 Standard 中的时间。然后,您可以通过 Amazon S3 GET 请求从 S3 Standard 访问已存档对象的临时副本。
处理恢复任务时,Amazon S3 首先从 Amazon S3 Glacier Flexible Retrieval 检索请求的数据(通常需要 3-5 个小时),然后在 S3 Standard 中创建请求数据的临时副本(通常需要数分钟)。大部分通过 Amazon S3 API 或管理控制台启动的恢复任务可在 3-5 个小时内完成。
您每月最多可以免费恢复 5% 的存储在 Amazon S3 Glacier Flexible Retrieval 中的 Amazon S3 数据。一般而言,这足以满足您的备份和存档需求。每月 5% 的最高免费恢复限额是按日比例计量的。例如,您在某一天将 12TB 的 Amazon S3 数据存档到 Amazon S3 Glacier Flexible Retrieval,那么您在这一天可以免费恢复 20.5GB 数据(假定该月有 30 天,则为:12TB x 5%/30 天 = 20.5GB)。您还可以使用批量恢复在 5-12 小时内进行免费检索。
Amazon S3 Glacier Flexible Retrieval 是专为需要将数据保留数月或数年的使用案例设计的。如果要删除的对象已存档在 Amazon S3 Glacier Flexible Retrieval 中不少于 3 个月,则可以免费删除。如果要在存档后三个月内删除或覆盖存档在 Amazon S3 Glacier Flexible Retrieval 中的对象,则需要支付提早删除费。该费用是按比例收取的。如果您在上传 1GB 数据 1 个月后将其删除,将需要支付提早删除费,用于支付后面 2 个月的 Amazon S3 Glacier Flexible Retrieval 存储费。如果您在 2 个月后删除 1GB 数据,则需要支付 1 个月的 Amazon S3 Glacier Flexible Retrieval 存储费。
每月计费的存储量将基于全月使用的平均存储量,以每月每千兆字节(GB-月)为单位计算。Amazon S3 计算对象大小的方法是,将您存储的数据量加上额外 32KB 的 S3 Glacier 数据,再加上额外 8KB 的 Amazon S3 Standard 存储类数据。对于每个对象,S3 Glacier Flexible Retrieval 额外需要 32KB 的数据,用于存储 S3 Glacier 的索引和元数据,这样您才能识别和检索数据。Amazon S3 需要 8KB 来存储和维护已存档到 S3 Glacier Flexible Retrieval 的对象的用户自定义名称和元数据。这让您可以使用 Amazon S3 LIST API 或 S3 清单报告,实时获取所有 Amazon S3 对象的列表,包括那些使用 S3 Glacier Flexible Retrieval 进行存储的对象。
例如,如果您存档了 100,000 个对象,每个对象 1 GB,那么您的计费存储空间为:每个对象 1.000032 千兆字节 x 100,000 个对象 = 100,003.2 千兆字节的 S3 Glacier 存储空间。每个对象 0.000008 千兆字节 x 100,000 个对象 = 0.8 千兆字节的 S3 Standard 存储空间。费用根据 Amazon S3 定价页面上列出的您所在亚马逊云科技区域的当前费率计算得出。有关其他 Amazon S3 定价示例,请访问 S3 账单常见问题解答,或使用亚马逊云科技定价计算器。
存档到 S3 Glacier Flexible Retrieval 的对象至少要存储 90 天。如果在不满 90 天时,对象被删除、覆盖或转移,将按比例收取相当于剩余天数的存储费用。 S3 Glacier Flexible Retrieval 还需要为每个存档对象额外存储 40 KB 的元数据。其中的 32 KB 元数据用于识别和检索您的数据,将按照 S3 Glacier Flexible Retrieval 费率计费。此外,还需要额外的 8KB 数据,按照 S3 Standard 费率收费,用于维护存档到S3 Glacier Flexible Retrieval 的对象的用户自定义名称和元数据。这允许您使用 S3 LIST API 或 S3 库存报告实时获取所有 S3 对象的列表。请参阅 Amazon S3 定价页面,了解有关 Amazon S3 Glacier Flexible Retrieval 定价的信息。
Amazon S3 Glacier Deep Archive
全部打开Amazon S3 Glacier Deep Archive 是一种新的 Amazon S3 存储类,可为长期保存每年访问一两次的数据提供安全和持久的对象存储。Amazon S3 Glacier Deep Archive 的云存储成本最低,每月每 GB ¥ 0.012 起,远低于存储和维护本地磁带库或异地存档数据的价格。
Amazon S3 Glacier Deep Archive 是一种理想的存储类,可以为公司最重要的数据资产提供离线保护,或者在根据公司政策、合同或监管合规性要求需要长期保留数据时提供离线保护。客户发现,Amazon S3 Glacier Deep Archive 是一个非常有吸引力的选择,它可以用来保护核心知识产权、金融和医疗记录、研究结果、法律文件、地震勘探研究和长期备份的,特别是在金融服务、医疗、石油和天然气以及公共部门等监管严格的行业。此外,还有一些组织希望保留核心知识产权的备份副本,比如媒体和娱乐公司。通常,使用 Amazon S3 Glacier Deep Archive 的客户可以减少或停止使用本地磁带库和本地之外的磁带存档服务。
Amazon S3 Glacier Deep Archive 拓宽了我们的数据存档产品范围,使您能够根据存储和检索成本以及检索时间选择最佳存储类。如果您需要使用加速检索在短短 1-5 分钟内检索存档数据,请选择 Amazon S3 Glacier Flexible Retrieval。相比之下,Amazon S3 Glacier Deep Archive 专用于不太可能访问但仍然需要长期持久存储的冷数据。Amazon S3 Glacier Deep Archive 的费用最多可比 Amazon S3 Glacier Flexible Retrieval 低 75%,可在 12 小时内使用标准检索速度提供检索。您还可以通过选择批量检索来降低检索成本,批量检索将在 48 小时内返回数据。
与 Amazon S3 Standard 和 Amazon S3 Glacier 存储类一样,Amazon S3 Glacier Deep Archive 的设计也可实现 99.999999999% 的持久性。Amazon S3 Glacier Deep Archive 设计用于提供 99.9% 的可用性,并附带服务等级协议,当在任意账单周期内的可用性低于我们的服务承诺时,还可提供服务积分。
是,Amazon S3 Glacier Deep Archive 以 Amazon S3 服务等级协议作为后盾,当在任意账单周期内的可用性低于我们的服务承诺时,还可向客户提供服务积分。
在 Amazon S3 Glacier Deep Archive 中存储数据的最简单方法是使用 S3 API 直接上传数据。只需指定“Glacier Deep Archive”作为存储类即可。您可以利用亚马逊云科技管理控制台、S3 REST API、亚马逊云科技开发工具包或亚马逊云科技命令行界面来完成该指定操作。
您还可以通过使用 S3 生命周期来创建迁移数据的策略,以此开始使用 Amazon S3 Glacier Deep Archive,S3 生命周期提供了定义对象生命周期和降低存储成本的能力。您可以将这些策略设置为根据对象的年限将其迁移到 Amazon S3 Glacier Deep Archive。您可以为 S3 存储桶或特定前缀指定策略。生命周期转换按 Amazon S3 Glacier Deep Archive 上传价格计费。
Amazon Tape Gateway 是 Amazon Storage Gateway 的一项基于云的虚拟磁带库功能,现与 Amazon S3 Glacier Deep Archive 集成,使您能够在 Amazon S3 Glacier Deep Archive 中存储基于磁带的虚拟长期备份和存档,从而为云中的这些数据提供最低成本的存储。首先,使用 Amazon Storage Gateway Console 或 API 创建一个新的虚拟磁带,并将存档存储目标设置为 Amazon S3 Glacier Flexible Retrieval 或 Amazon S3 Glacier Deep Archive。当备份应用程序弹出磁带时,磁带将存档到选定的存储目标中。
有多种方法可以将数据从现有磁带存档迁移到 Amazon S3 Glacier Deep Archive。您可以使用 Amazon Tape Gateway,通过虚拟磁带库 (VTL) 接口与现有备份应用程序集成。此接口可以将虚拟磁带提供给备份应用程序。以上操作可以立即将数据存储在 Amazon S3、Amazon S3 Glacier Flexible Retrieval 和 Amazon S3 Glacier Deep Archive。
您还可以使用 Amazon Snowball 来迁移数据。Snowball 可使用能确保传输安全的物理存储设备,加快 TB 到 PB 级数据迁入和迁出亚马逊云科技的速度。使用 Snowball 有助于解决进行大规模数据传输时会遇到的难题,包括网络成本高、传输时间长和安全问题。
最后,您可以使用 Amazon Direct Connect 来建立从本地到 Amazon Direct Connect 位置的专用网络连接。在许多情况下,Direct Connect 可以降低网络成本,增加带宽吞吐量,并提供比基于互联网的连接更一致的网络体验。
要检索存储在 Amazon S3 Glacier Deep Archive 中的数据,请使用 Amazon S3 API 或 Amazon S3 管理控制台发起“恢复”请求。“恢复”会在 S3 Standard 存储类中创建数据的临时副本,同时在 Amazon S3 Glacier Deep Archive 中完整保留已存档数据。您能够以天为单位指定将临时副本存储在 S3 中的时间。然后,您可以通过 Amazon S3 GET 请求从 S3 访问已存档对象的临时副本。
还原存档对象时,您可以在请求正文的 Tier 元素中指定以下一个选项:“标准”为默认层,并允许您在 12 小时内访问您存档的任何对象。“批量”让您可以检索大量数据甚至 PB 级数据,而且成本低廉,通常在 48 小时内就可以完成。
Amazon S3 Glacier Deep Archive 存储的定价基于您所存储数据的 GB 量、PUT/生命周期转换请求数、检索的 GB 数以及恢复请求数。该定价模型类似于 Amazon S3 Glacier Flexible Retrieval。请参阅 Amazon S3 定价页面,了解有关 Amazon S3 Glacier Deep Archive 定价的信息。
Amazon S3 Glacier Deep Archive 专为长期保存但很少访问的数据而设计,这些数据可以保存 7-10 年或更长时间。存档到 Amazon S3 Glacier Deep Archive 中的对象最短可存储 180 天,同时未满 180 天就被删除的对象所产生的按比例支付的费用等于按剩余天数支付的存储费用。请参阅 Amazon S3 定价页面,了解有关 Amazon S3 Glacier Deep Archive 定价的信息。
Amazon S3 Glacier Deep Archive 的最小计费对象存储大小为 40KB。您可以存储小于 40KB 的对象,但将按 40KB 存储空间计费。请参阅 Amazon S3 定价页面,了解有关 Amazon S3 Glacier Deep Archive 定价的信息。
Amazon S3 Glacier Deep Archive 集成了 Amazon S3 功能,包括 S3 存储类分析、S3 对象标记、S3 生命周期策略和 S3 对象锁定。通过 S3 存储管理功能,您可以使用单个 Amazon S3 存储桶存储 Amazon S3 Glacier Deep Archive、S3 Standard、S3 Standard-IA、S3 One Zone-IA 和 Amazon S3 Glacier Flexible Retrieval 数据的混合体。这让存储管理员可以基于数据和数据访问模式的性质做出决策。客户可以使用 Amazon S3 生命周期策略将老化的数据自动迁移到成本较低的存储类。
Amazon Storage Gateway 服务可将磁带网关与 Amazon S3 Glacier Deep Archive 存储类集成,这样您就可以将虚拟磁带存储在成本最低的 Amazon S3 存储类中,从而将云中存储长期数据的每月成本降低最多 75%。使用此功能,磁带网关支持将您的新虚拟磁带直接存档到 Amazon S3 Glacier Flexible Retrieval 和 Amazon S3 Glacier Deep Archive,从而帮助您满足备份、存档和恢复要求。磁带网关可帮助您将基于磁带的备份移动到亚马逊云科技,而无需对现有备份工作流程进行任何更改。磁带网关支持大多数领先的备份应用程序,例如 Veritas、Veeam、Commvault、Dell EMC NetWorker、IBM Spectrum Protect(在 Windows OS 上)和 Microsoft Data Protection Manager。
事件通知
全部打开您可以启用 Amazon S3 事件通知并接收它们以响应 S3 存储桶中的特定事件,例如 PUT、POST、COPY 和 DELETE 事件。您可以将通知发布到 Amazon EventBridge、Amazon SNS、Amazon SQS 或直接发布到 Amazon Lambda。
借助 Amazon S3 事件通知,您可以运行工作流程、发送提醒或执行其他用于响应 Amazon S3 中所存储对象更改的操作。您可以使用 Amazon S3 事件通知来设置触发器以执行各种操作,包括在上传媒体文件时转码、在数据文件可用时进行处理以及将 Amazon S3 对象与其他数据存储进行同步。您还可以根据对象名称前缀和后缀来设置事件通知。例如,您可以选择接收以“images/”开头的有关对象名称的通知。
有关 Amazon S3 事件通知消息中所含信息的详细描述,请参阅《Amazon S3 开发人员指南》中的“配置 Amazon S3 事件通知”主题。
有关如何配置事件通知的详细描述,请参阅 Amazon S3 开发人员指南中的“配置 Amazon S3 事件通知”主题。
使用 Amazon S3 事件通知无需支付额外费用。发送事件通知时,您只需为 Amazon SNS 或 Amazon SQS 的使用付费。要查看这些服务的定价详情,请访问 Amazon SNS 或 Amazon SQS 定价页面。