跳至主要内容

Amazon S3 文档

概述

Amazon Simple Storage Service(Amazon S3)具有多种功能,您可通过各种方式组织和管理您的数据,从而支持特定使用案例、实现成本效率、执行安全要求并满足合规要求。数据以对象的形式存储在名为 “存储桶” 的资源中。S3 的功能包括将元数据标签附加到对象,跨 S3 Storage Classes 移动和存储数据,配置并实施数据访问控制,防止未经授权的用户访问数据,运行大数据分析,在对象级别和存储桶级别监控数据,以及查看您所在组织的存储使用情况和活动趋势。您可以通过 S3 Access Points 或直接通过存储桶主机名访问对象。

存储管理和监控

Amazon S3 的平行且未分层的结构以及多种管理功能,帮助各种规模和行业的客户按照能够对其业务和团队带来利用价值的方式组织数据。所有对象在 S3 存储桶中存储,可以按照 “前缀” 的共享名称进行组织并存储。对于每个对象,您可以附加名为 S3 对象标签的键值对,这些键值对在对象的整个生命周期中可以创建、更新和删除。如需跟踪对象及其对应的标签、存储桶和前缀,您可以使用 S3 Inventory 报告,其中列出了 S3 存储桶中的已存储对象或具有特定前缀的已存储对象,及其相应的元数据和加密状态。S3 Inventory 可配置为以每天或每周生成报告。

存储管理


借助 S3 存储桶名称、前缀、对象标签和 S3 Inventory,您可以通过很多方式将您的数据进行分类以及报告您的数据,然后配置其他 S3 功能以进行操作。无论您存储数以千计或十亿级的对象,S3 Batch Operations 批量操作可帮助您轻松管理您在 Amazon S3 中任意规模的数据。使用 S3 批量操作,只需一个 S3 API 请求或在 Amazon S3 控制台中单击几次,您便可在存储桶之间复制对象、替换对象标签集、修改访问控制,以及从 Amazon S3 Glacier 中恢复归档对象。您还可以使用 S3 批量操作在对象上运行 Amazon Lambda 函数,以执行自定义业务逻辑,例如处理数据或者转码图像文件。开始使用前,请使用 S3 Inventory 报告指定目标对象列表或者提供自定义列表,然后从预填充的菜单中选择所需操作。S3 批量操作请求完成后,您会收到通知以及全部更改完成报告。

Amazon S3 还支持帮助维护数据版本控制、防止意外删除以及在相同或不同的亚马逊云科技区域中复制数据的功能。S3 Versioning 旨在使您可轻松保存、检索和还原存储至 Amazon S3 存储桶中的某个对象的各个版本,该操作可使您可以从意外的用户操作和应用程序故障中恢复。为防止意外删除,请在 S3 存储桶中启用 Multi-Factor Authentication (MFA) Delete。如果您在启用了 MFA Delete 的存储桶中尝试删除某个存储的对象,存储桶会要求提供两种形式的身份验证:您的亚马逊云科技账户凭证以及有效序列号、空格以及显示在已批准身份验证设备(例如,硬件密钥卡或 Universal 2nd Factor(U2F)安全密钥)。

利用 S3 Replication,您可将对象(及其对应的元数据和对象标签)复制到相同或不同的亚马逊云科技区域的一个或多个目标存储桶,以减少延迟、确保合规性、安全性、灾难恢复和其他使用案例。您可以将 S3 Cross-Region Replication(CRR)配置为从源 S3 存储桶复制到不同亚马逊云科技区域中的一个或多个目标存储桶。Amazon S3 Same-Region Replication(SRR)在同一亚马逊云科技区域内的存储桶之间复制对象。Amazon S3 Replication Time Control(S3 RTC)提供对复制时间的可见性以帮助您满足数据复制的合规性要求。

在访问跨亚马逊云科技区域复制的数据集时,Amazon S3 Multi-Region Access Points 可提高性能。基于 Amazon Global Accelerator,S3 Multi-Region Access Points 点会考虑网络拥塞和请求应用程序的位置等因素,通过亚马逊云科技网络将您的请求动态传送至数据的最低延迟副本。S3 Multi-Region Access Points 提供单个全局端点,您可以用来访问跨越 S3 中多个存储桶的复制数据集。该操作允许您使用在单个区域中采用的相同简单架构来构建多区域应用程序,然后在全球任意区域运行这些应用程序。

您还可以通过 S3 Object Lock 实施 “一次写入多次读取(WORM)” 策略。此 S3 管理功能旨在客户定义的保留期内阻止删除对象版本,让您能够通过实施保留策略来进一步保护数据或满足合规性要求。您可将工作负载从现有 WORM 系统迁移到 Amazon S3,并在对象级别或存储桶级别配置 S3 对象锁定,防止在预定义的保留到期日期或法定保留日期之前删除对象版本。具有 S3 Object Lock 的对象会保留 WORM 保护,即使它们移动到具有 S3 生命周期策略的不同存储类。如需跟踪哪些对象具有 S3 Object Lock,您可以参阅包含对象 WORM 状态的 S3 Inventory 报告。

存储监控

在这些管理功能之外,使用 S3 功能和其他亚马逊云科技服务来监视和控制您的 S3 资源。您可应用标签到 S3 存储桶,以便将成本分配到多个业务维度(例如成本中心、应用程序名称或拥有者),然后使用 Amazon Cost Allocation Reports 查看按存储桶标签聚合的使用情况和成本。您还可以使用 Amazon CloudWatch 跟踪您的亚马逊云科技资源的运行状况,并配置在估计费用达到用户设定的阈值时发送的账单提醒。另一个亚马逊云科技监视服务为 Amazon Cost Allocation Reports CloudTrail,使用 Amazon CloudTrail 跟踪和报告存储桶级和对象级活动,并配置 S3 Event Notifications,以触发工作流和提示,或在 S3 资源发生特定更改时调用 Amazon Lambda。S3 Event Notifications 在媒体文件上载至 Amazon S3 时自动进行转码,在数据文件可用时进行处理,并与其他数据存储同步对象。

存储分析和洞察

S3 Storage Lens

S3 Storage Lens 提供了对象存储使用情况和活动趋势的组织范围可见性,并提出了可行的建议,以提高成本效益并应用数据保护最佳实践。S3 Storage Lens 是首个能够在组织中为数以百计甚至上千个账户提供对象存储使用量和活动单一视图的云存储分析解决方案,并通过深入分析以生成账户、存储桶甚至前缀级别的见解。利用帮助客户优化存储的经验,S3 Storage Lens 分析整个组织的指标以提供基于上下文的建议,从而找到降低存储成本的方法,并应用数据保护方面的最佳实践。

S3 Storage Class Analysis

Amazon S3 Storage Class Analysis 功能将分析存储访问模式,以帮助您决定何时将相应数据传输至正确的存储类。该功能可观察数据访问模式,从而帮助您确定何时将访问频率较低的存储转换为成本较低的存储类。您可以利用结果帮助改善 S3 Lifecycle 策略。您可以配置存储类分析以分析存储桶中的所有对象。或者,您可以配置筛选条件将对象分在一组,以便按常用前缀、对象标签或同时按前缀和标签进行分析。

存储类别

借助 Amazon S3,您可以在多种不同的 S3 Storage Classes 中存储数据:S3 Intelligent-Tiering、S3 Standard、S3 Standard-Infrequent Access (S3 Standard-IA)、S3 One Zone-Infrequent Access (S3 One Zone-IA)、S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、S3 Glacier Deep Archive 以及 S3 Outposts。

每个 S3 Storage Class 支持特定的数据访问级别,并具有对应的成本或地理位置。

对于访问模式不断变化、未知或不可预测的数据,例如数据湖、分析或新应用程序,请使用 S3 Intelligent-Tiering,S3 Intelligent-Tiering 会自动优化您的存储成本。S3 Intelligent-Tiering 自动在三个低延迟访问层之间移动您的数据,这些访问层针对频繁、不频繁和罕见的访问进行了优化。当对象的子集随着时间的推移被归档时,您可以激活专为异步访问而设计的归档访问层。

对于更易于预测的访问模式,您可以将关键任务型生产数据存储在 S3 Standard 中以经常访问,将不经常访问的数据存储在 S3 Standard-IA 或 S3 One Zone-IA 中以节省成本,并在归档存储类 —S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval 以及 S3 Glacier Deep Archive 中以最低成本归档数据。您可以使用 S3 Storage Class Analysis 监控对象的访问模式,以发现应该移动至较低成本存储类的数据。然后,您可以使用此信息来配置进行数据传输的 S3 Lifecycle 策略。S3 Lifecycle 策略还可用于在数据的生命周期结束时将这些数据失效。

访问管理与安全性

访问管理

为保护您在 Amazon S3 中的数据,默认情况下用户只有自己所创建 S3 资源的访问权限。您可使用以下访问管理功能之一或者功能组合来向其他用户授予访问权限:Amazon Identity and Access Management(IAM)(创建用户并管理其相应的访问权限);Access Control Lists(ACL)(单独对象可供授权用户访问);存储桶策略(配置单个 S3 存储桶中所有对象的访问权限);S3 Access Points(通过创建具有名称和每个应用程序或应用程序组特定权限的访问点,简化共享数据集的数据访问管理);以及 Query String Authentication(通过临时 URL 向其他用户授予限时访问权限)。Amazon S3 还支持 Audit Logs,其中列出对您 S3 资源发出的请求,从而清楚地了解谁访问了哪些数据。


安全性

Amazon S3 提供了灵活的安全功能,用于阻止未经授权的用户访问数据。使用 VPC 终端节点从您的 Amazon Virtual Private Cloud(Amazon VPC)以及从本地连接到 S3 资源。Amazon S3 支持服务器端加密(提供多个密钥管理选项)和用于数据上传的客户端加密。使用 S3 Inventory 可以检查 S3 对象的加密状态。

S3 Block Public Access 是一组安全控制功能,可帮助您配置 S3 存储桶和对象以阻止公共访问。只需在 Amazon S3 Management Console 中单击几次,您即可对亚马逊云科技账户内的所有存储桶或特定 S3 存储桶应用 S3 Block Public Access 设置。将设置应用到某个亚马逊云科技账户之后,与该账户关联的任何现有或新的存储桶及对象将继承阻止公共访问的设置。S3 Block Public Access 会覆盖其他 S3 访问权限,使账户管理员能够轻松实施 “无公共访问” 策略,而不管如何添加对象、如何创建存储桶或者是否存在现有的访问权限。S3 Block Public Access 控制是可审核的,提供了更进一步的控制,并可使用 Amazon Trusted Advisor 存储桶权限检查、Amazon CloudTrail 日志和 Amazon CloudWatch 警报。您应为不希望公开访问的所有账户和存储桶启用阻止公共访问。

S3 Object Ownership 功能禁用了访问控制列表(Access Control Lists,“ACL”),将所有对象的所有权更改为存储桶所有者,并简化了对存储在 S3 中的数据的访问管理。当您配置 S3 Object Ownership 存储桶所有者强制设置时,ACL 将不再影响您的存储桶及其中对象的权限。所有访问控制都将使用基于资源的策略、用户策略或这些策略的某种组合来定义。

借助局限于 Virtual Private Cloud(VPC)的 S3 访问点,您可以在您的私有网络内轻松为您的 S3 数据设置防火墙。此外,您可以使用 Amazon Service Control Policies,要求组织中的任何新 S3 访问点仅支持 VPC 访问。

IAM Access Analyzer for S3 功能可帮助您在为 S3 存储桶和访问点设置、验证和优化策略时简化权限管理。Access Analyzer for S3 可监控您现有的存储桶访问策略,以验证它们是否仅提供对 S3 资源的必要访问权限。Access Analyzer for S3 会评估您的存储桶访问策略,以便您可以快速修复任何具有不必要访问权限的存储桶。在查看显示对存储桶的潜在共享访问权限的结果时,只需单击 S3 控制台,即可阻止对存储桶的公共访问。出于审核目的,您可将 Access Analyzer for S3 结果下载为 CSV 报告。此外,S3 控制台可以在您编写 S3 策略时报告 IAM Access Analyzer 中的安全警告、错误和建议。该控制台将会自动运行 100 多项策略检查,以验证您的策略。这些检查可以为您节约时间,指导您解决错误,并帮助您应用安全最佳实践。

IAM 通过提供某用户或角色上次使用 S3 及执行相关操作的时间戳,让您可以更轻松地分析访问与降低权限,以便实施最低权限原则。使用此 “上次访问” 信息分析 S3 访问,确定未被使用的权限,并将其移除。

Amazon PrivateLink for S3 在 Amazon S3 与本地之间提供私有连接。您可以在 VPC 中为 S3 预置接口 VPC 终端节点,以通过 Amazon Direct Connect 或 Amazon VPN 将本地应用程序直接与 S3 连接。为 S3 发送到接口 VPC 终端节点的请求会通过 Amazon 网络自动路由到 S3。您可以设置安全组并为接口 VPC 终端节点配置 VPC 终端节点策略,以进行其他访问控制。

数据处理

S3 Object Lambda

借助 S3 Object Lambda,您可以将自己的代码添加到 S3 GET 请求中,以便在数据返回到应用程序时修改和处理数据。您可使用自定义代码修改标准 S3 GET 请求返回的数据,以便实施筛选行、动态调整图像大小、隐去机密数据等操作。在 Amazon Lambda 函数的支持下,无需对应用程序进行任何更改,您的代码即可在亚马逊云科技完全托管的基础设施上运行,不必创建和存储数据的衍生副本,也不必运行昂贵的代理。

S3 Object Lambda 使用 Amazon Lambda 函数处理标准 S3 GET 请求的输出。Amazon Lambda 是一种无服务器计算服务,无需管理底层计算资源,即可运行客户定义的代码。只需在亚马逊云科技管理控制台中单击几下,即可配置 Lambda 函数并将其附加到 S3 Object Lambda Access Point。此后,S3 将自动调用 Lambda 函数来处理通过 S3 Object Lambda Access Point 检索到的任何数据,并将转换后的结果返回应用程序。您可以编写和执行自己的自定义 Lambda 函数,根据您的特定使用案例定制 S3 Object Lambda 的数据转换。

即时查询

Amazon S3 具有内置功能和补充服务,可以查询数据而无需复制并将数据加载到单独的分析平台或数据仓库。这意味着您可以直接对存储在 Amazon S3 中的数据运行大数据分析。S3 Select 是一种为查询设计的 S3 功能,按照设计将查询性能提升高达 400%,并将减少查询成本高达 80%。其工作方式是检索某个对象的数据子集(使用简单 SQL 表达式)而非整个对象。

Amazon S3 还与 Amazon 分析服务 Amazon Athena 和 Amazon Redshift Spectrum 兼容。

数据传输

Amazon 提供数据传输服务组合,从而为任何数据迁移项目提供适当解决方案。连接水平是数据迁移的重大影响因素,Amazon 提供可解决您的混合云存储、在线数据传输和离线数据传输需求的产品。

混合云存储:Amazon Storage Gateway 是一种混合存储服务,让您可以将本地应用程序无缝连接并扩展到 Amazon 存储。客户使用 Storage Gateway 将磁带库无缝替代为云存储,提供云存储支持的文件共享,或创建低延迟缓存来访问亚马逊云科技中本地应用程序的数据。

在线数据传输:Amazon DataSync 可以轻松将大数据集传输至 Amazon S3。DataSync 可自动处理或消除很多手动任务,包括脚本复制作业、计划和监控传输、验证数据和优化网络利用率。此外,您还可以使用 Amazon DataSync 在 S3 on Outposts 上的存储桶与亚马逊云科技区域中存储的存储桶之间复制对象。Amazon Transfer Family 使用 SFTP、FTPS 和 FTP 提供至 Amazon S3 的完全托管文件传输。Amazon S3 Transfer Acceleration 可在客户与您的 Amazon S3 存储桶之间实现快速的远距离文件传输。

离线数据传输:Amazon Snow Family 是专为网络容量受限或不存在的边缘站点构建的服务,可在恶劣的环境中提供存储和计算功能。Amazon Snowball 服务使用坚固的便携式存储和边缘计算设备来进行数据收集、处理和迁移。客户可以运送物理 Snowball 设备来进行至亚马逊云科技的离线数据迁移。

客户也可以与 Amazon Partner Network(APN)中的第三方服务提供商合作部署混合存储架构、将 Amazon S3 集成到现有应用程序和工作流中,以及在 Amazon Cloud 之间往返传输数据。

性能

Amazon S3 提供行业领先的云对象存储性能。Amazon S3 对并行请求的支持意味着您可以按照计算集群的系数扩展 S3 性能,而无需对应用程序进行任何自定义。性能按前缀扩展,因此您可以并行使用尽可能多的前缀,从而实现所需的吞吐量。前缀的数量没有限制。Amazon S3 性能每秒至少支持 3500 个添加数据请求,每秒至少支持 5500 个检索数据请求。每个 S3 前缀均支持这些请求速率,因此可以轻松实现显著的性能提升。

如需实现此 S3 请求速率性能,您无需随机化对象前缀即可实现更快的性能。换言之,您现在可以在 S3 对象命名中使用逻辑或顺序命名模式,而不会对性能产生任何影响。

一致性

Amazon S3 自动为所有应用程序提供强大的写入后读取一致性,无需更改性能或可用性,无需牺牲应用程序的区域隔离性,并且无需额外费用。借助 S3 强大的一致性,无需对应用程序进行更改,从而简化了本地分析工作负载的迁移,并且无需提供强一致性的额外基础设施,进而降低了成本。

对 S3 存储的任何请求均高度一致。成功写入新对象或覆盖现有对象后,任何后续读取请求都会立即收到该对象的最新版本。S3 还为列表操作提供强大的一致性,因此在写入之后,可以立即在存储桶中执行对象列表,并反映所有更改。

其他信息

有关服务控制、安全特性及功能的其他信息,包括有关存储、检索、修改、限制和删除数据的信息,请参见 https://docs.amazonaws.cn/。以上链接包含的信息不构成光环新网关于亚马逊云科技(北京区域)的客户协议或西云数据关于亚马逊云科技(宁夏区域)的客户协议的“文档”的一部分,也不构成您与光环新网或西云数据之间就您使用亚马逊云科技中国区域服务达成的其他协议的任何部分。