菜单

本页使用了机器翻译。某些内容可能不完美。敬请提出宝贵意见和建议。

分享反馈

S3 存储:完整指南

目录

分享该页面

Yifat Perry
Yifat Perry

什么是 Amazon S3 Storage?

Amazon Simple Storage Service (Amazon S3) 提供可扩展且安全的对象存储。Amazon S3 可以支持各种用例,包括数据湖、移动应用程序、网站、备份和还原、企业应用程序、存档、大数据分析和物联网 (IoT) 设备。该服务使客户能够配置、优化和组织对数据的访问,以满足业务和合规要求。

这是关于云存储的广泛系列指南的一部分。

在本文中:

Amazon S3 使用案例

备份和灾难恢复

Amazon S3 可以跨区域自动复制数据,同时保持最大的持久性和可用性。此功能使 Amazon S3 成为归档和存储高度关键备份和数据的理想选择。

Amazon S3 版本控制可以存储每个文件的多个版本,以便更轻松地恢复这些文件或旧版本。此功能为 S3 客户提供更高级别的保护。

分析

Amazon S3 提供就地查询功能,您可以使用它对存储在 S3 中的数据进行强大的分析。此功能支持大多数第三方服务集成,无需将数据移动到其他地方。

数据存档

Amazon S3 提供多个存储类层级,包括 Amazon S3 Glacier,这是一种持久且经济高效的存档解决方案。您可以从标准 S3 存储中移动数 TB 的数据并将其存储在 Glacier 中以实现合规目的。为节省时间,您可以使用生命周期策略来自动化该流程。您指定希望系统何时存档数据,策略会执行该操作。

安全与合规

Amazon S3 提供多种合规性和加密功能,可帮助满足 PCI-DSS、FedRAMP、FISMA、HIPAA/HITECH、数据保护指令和其他标准设定的要求。除了满足安全和合规性要求外,这些功能还可以帮助您限制对关键数据的访问,例如通过使用存储桶策略。

Amazon S3 的工作原理是什么?

Amazon S3 允许您将数据文件存储为对象,您可以在 S3 存储桶中组织这些对象。您可以通过 Amazon S3 控制台管理对象和存储桶。

Amazon S3 对象

Amazon S3 对象由数据文件及其关联的元数据组成。您可以将任何文件类型存储为对象,包括图像、文档和视频。Amazon S3 将每次上传的最大对象文件大小限制为 160 GB。但是,AWS 提供了多种工具来帮助您添加较大的文件。

对象是可以存储在 S3 中的基本实体。每个对象都有一个唯一密钥,用于在指定的 S3 环境中唯一标识它。

Amazon S3 存储桶

S3 对象通过将其存储在存储桶(用作存储容器)中来组织。您可以使用 Amazon S3 API 将多个对象上传到一个存储桶。

AWS 允许您为每个 AWS 云账户创建最多 100 个存储桶。您可以提交服务限制增加请求以申请额外的存储桶。AWS 不限制您可以在每个存储桶中存储的对象数量。

在创建存储桶时,需要考虑以下几个方面:

  • 选择合适的 AWS 区域——除非您传输对象,否则它们会保留在放置在某个区域内的存储桶中。但是,AWS 允许您在创建新存储桶时选择一个区域。通过选择最近的区域,您可以最大限度地降低成本并解决延迟问题。

  • Amazon S3 存储桶是全局唯一的—同一 AWS 区域内的其他 AWS 帐户不能使用相同的存储桶名称。仅当您删除这些存储桶时,这些名称才可用。

相关内容:阅读我们的 S3 配置指南

Amazon S3 控制台

AWS 允许您通过 Amazon S3 控制台管理存储桶和对象。您可以从 AWS 管理控制台访问它。S3 控制台提供基于浏览器的图形用户界面。

S3 控制台可让您配置、创建和管理存储桶,以及下载、上传和管理存储对象。通过控制台,您可以采用逻辑层次结构来组织您的存储。

逻辑层次结构使用关键字前缀和分隔符在控制台中形成文件夹结构。通过使用功能组合(存储桶名称、密钥、Web 服务端点和需要时的版本)来唯一地寻址每个 S3 对象,此结构可以帮助您轻松定位文件。

相关内容:阅读我们的 AWS S3 备忘单

AWS S3 存储类

Amazon S3 提供七个存储类,包括:

  • S3 Standard—支持需要低延迟和高吞吐量的频繁访问数据。此层非常适合内容分发、动态网站、大数据工作负载和应用程序。

  • S3 Intelligent-Tiering—支持访问需求未知或不断变化的数据。此层提供四种访问类型,包括频繁访问、存档、不频繁访问 (IA) 和深度存档。该层分析客户访问模式,然后自动将数据移动到最便宜的层。

  • S3 Standard-IA—支持需要快速访问的不频繁访问数据。此层提供较低的存储价格,非常适合长期存储、备份和数据恢复 (DR) 方案。

  • S3 One Zone-IA—支持需要时需要快速访问的不频繁访问数据。此层级不提供高弹性和可用性,因此仅适用于可轻松重新创建的数据,或已保存在其他位置的数据。

  • S3 Glacier—主要支持存档存储方案。此层为可能遭受长时间检索的数据提供经济高效的存储。它提供可变的检索速率,范围在几分钟到几小时之间。

  • S3 Glacier Deep Archive—支持每年只需要访问一次或两次的数据。此层提供最低的存储 S3 价格。

  • S3 Outposts—向现场 AWS Outposts 环境添加 API 和 S3 对象存储功能。当您的性能要求需要将数据保留在现场应用程序附近或满足特定的数据驻留规定时,您可以使用 S3 Outposts。

AWS 提供生命周期管理策略的使用。您可以使用此功能管理数据,并将其转移到更合适的层级。

S3 教程:Amazon S3 入门

AWS 允许您将对象存储在存储桶中。以下是一个快速教程,可以指导您创建存储桶,然后将对象上传到此存储桶中:

创建 S3 存储桶

先决条件:一个活跃的 AWS 账户。

要创建存储桶:

      1. 登录您的帐户并访问 AWS 管理控制台,您可以在其中找到 Amazon S3 控制台。您可以使用此网址快速访问:https://console.aws.amazon.com/s3/

        AWS 控制台 S3 已分类

        图片来源:AWS

      2. 选择 Create bucket 选项。
      3. 转到Bucket name,并为新存储桶输入符合 DNS 的名称。AWS
      4. 转到Region,并为您的存储桶选择一个 AWS Region。最好选择地理位置最接近的区域来满足监管要求,并最大限度地减少延迟和成本。
      5. 选择 Create bucket 选项。

将对象上传到存储桶

创建存储桶后,您可以开始上传对象。

要将对象上传到存储桶:

  1. 使用以下 URL 转到 Amazon S3 控制台:https://console.aws.amazon.com/s3/
  2. 转到 Buckets 列表,然后选择目标存储桶的名称。
  3. 转到目标存储桶的"对象"选项卡,然后选择"上传"选项。
    AWS
  4. 转到 Files and folders,然后选择 Add files 选项。
  5. 选择要上传的文件,然后选择Open选项。
  6. 选择上传选项。

AWS S3 安全

Amazon S3 数据保护

Amazon S3 为主数据存储和关键任务数据存储提供了非常坚固的存储基础架构。S3 允许您将对象冗余地存储在 Amazon 地区内多个设施的多个设备上。

为了帮助维护数据持久性,Amazon S3 PUT 和 put object -copy 操作可以在多个可用区域上同步保留您的信息。Amazon S3 存储对象后,可以通过轻松识别和修复任何丢失的冗余来保持其持久性。

以下是 Amazon S3 标准存储提供的数据保护功能:

  • 在任何一年提供 99.99% 的可用性和 99.999999999% 的对象持久性
  • 能够承受两个设施中数据的同时丢失
  • 由 Amazon S3 服务级别协议支持

Amazon S3 还通过版本控制来保护您的数据。您可以使用版本控制来检索、还原和保留您存储在 Amazon S3 桶中的所有对象的所有版本。使用版本控制,您可以从应用程序故障和无意的用户操作中快速恢复。请求默认返回到最近编写的版本。您还可以通过请求详细说明对象的版本来检索对象的旧版本。

Amazon S3 数据加密

数据保护包括静态数据(当 Amazon S3 数据中心将信息存储在磁盘上时)和传输中的数据(当数据往返于 Amazon S3 时)。您可以通过客户端加密或 Secure Socket Layer/Transport Layer Security 来保护传输中的数据。

您可以选择以下选项来保护 Amazon S3 中的静态数据:

  • 服务器端加密——您可以请求 Amazon S3 在将对象保留在其信息中心的磁盘上之前对其进行加密,然后在您下载对象时对其进行解密。
  • 客户端加密——您可以在客户端加密数据,然后将信息上传到 Amazon S3。在这里,您可以控制加密密钥、加密过程和相关工具。

相关内容:阅读我们的 S3 加密指南

使用 AWS PrivateLink for Amazon S3,您可以在虚拟私有云中配置接口 VPC 端点。您可以通过 VPN 和 AWS Direct Connect 直接从现场应用程序访问这些端点,也可以通过 VPC 对等从其他 AWS 区域访问这些端点。

Amazon S3 中的身份和访问管理

默认情况下,每个 Amazon S3 资源(对象、存储桶和子资源,例如网站配置和生命周期配置)都保持私有。资源所有者(或创建资源的 AWS 帐户)可以单独访问资源。资源所有者可以选择通过起草访问策略向其他人提供访问权限。

Amazon S3 提供访问策略选项,分为用户策略和基于资源的策略。连接到资源(对象和存储桶)的访问策略称为基于资源的策略。

相关内容:阅读我们的 S3 存储桶安全指南

Amazon S3 性能指南

在开发从 Amazon S3 检索和上传对象的应用程序时,请使用以下指南来提高性能:

测量性能

从 EC2 实例访问 S3 时,请注意 CPU、网络吞吐量和 DRAM 要求。根据对这些资源的需求,可能需要评估其他 Amazon EC2 实例类型。

在评估性能时,通过 HTTP 分析工具检查 DNS 延迟、查找时间和信息传输速度也很有用。

水平缩放存储连接

通过多个连接分散请求是横向扩展性能的典型设计方法。在开发高性能应用程序时,请将 Amazon S3 视为一个超大型分布式系统,而不是单个网络端点(如传统存储服务器)。您可以通过向 Amazon S3 发出多个同时请求来获得最佳性能。

您可以通过单独的连接传播此类请求,以优化来自 Amazon S3 的可访问带宽。Amazon S3 不会限制到特定 S3 存储桶的连接数。

使用 Amazon S3 传输加速

S3 Transfer Acceleration 有助于在 S3 存储桶和客户端之间的广阔地理距离上安全、快速地传输文件。Transfer Acceleration 利用 Amazon CloudFront 的全球分布式边缘位置。

使用传输加速时,当信息到达边缘位置时,您会通过优化的网络路由将信息传输到 Amazon S3。传输加速适用于在大陆间传输千兆字节到兆兆字节的信息。对于从全球各地上传到集中式存储桶的客户来说,这也很有帮助。

您可以使用 Amazon S3 Transfer Acceleration Speed Comparison 工具,对比 Amazon S3 区域的非加速和加速上传速度。此工具利用多部分上传来测试从浏览器到多个 Amazon S3 区域的文件传输速度。

有关延迟敏感应用程序的重试请求

积极的重试和超时有助于促进一致的延迟。由于 Amazon S3 的规模相当大,如果初始请求速度较慢,重试请求可能会采用另一条路径并成功。AWS SDK 具有可配置的重试和超时值。您可以将这些值调整为特定应用程序的容差。

相关内容:阅读我们的 S3 性能指南

使用 Cloud Volumes ONTAP 优化 AWS 存储

NetApp Cloud Volumes ONTAP,领先的企业级存储管理解决方案,在 AWS、Azure 和 Google Cloud 上提供安全、经过验证的存储管理服务。Cloud Volumes ONTAP 容量可以扩展到数 PB,它支持各种用例,如文件服务、数据库、DevOps 或任何其他企业工作负载,具有强大的功能,包括高可用性、数据保护、存储效率、Kubernetes 集成等。

特别是,Cloud Volumes ONTAP 提供存储效率功能,包括精简配置、数据压缩和重复数据删除,可将存储占用空间和成本降低多达 70%。

详细了解 Cloud Volumes ONTAP 如何通过这些Cloud Volumes ONTAP 存储效率案例研究帮助节省成本。

下载我们的免费指南:企业迁移到 AWS 的 5 个阶段

了解有关 S3 存储的更多信息

Amazon S3 AWS 认证备忘单

获得 AWS 认证有很多好处。第一步是全面了解您的 AWS 服务。在这篇文章中,我们将为您提供一份易于记忆的备忘单,介绍您在参加 AWS 认证考试时需要了解的有关 Amazon S3 的所有内容,从 AWS S3 CLI 的使用到访问配置。

在我们的 Amazon S3 Cheat Sheet 中了解更多信息。

如何保护 AWS S3 配置

云提供商可以保护他们的服务,但用户需要确保他们的数据在存储在云中时是安全的。当涉及到存储在 AWS S3 中的对象时,这一点尤其重要。

这篇博客文章介绍了用户可以采取的一些措施来保护 AWS S3,包括限制存储桶访问、利用密钥管理服务以及添加 Cloud Volumes ONTAP 安全功能。

如何保护 Amazon S3 配置中阅读更多信息。

比较 AWS SLA:EBS vs S3 vs Glacier vs 所有其他服务

AWS 上不同的云存储选项分别提供哪些类型的 SLA?这是否会影响哪一个将是您数据的正确存储选择?

这篇博客文章比较了 AWS 提供的数据块(AWS EBS)、对象(AWS S3)、深度存档(Glacier)和其他存储选项,因此您可以根据数据与运营的相关性,精确定位数据具有理想可用性和持久性的平台。

比较 AWS SLA:EBS vs S3 vs Glacier vs 所有其他服务 中了解更多信息

如何使用 Amazon S3 加密保护 S3 对象

将数据存储在 Amazon S3 上至关重要,这就是为什么 AWS 有一些强大的加密工具可用于这种流行的对象存储服务。本文将介绍这些 S3 加密方法,以帮助您找到最能保护数据的选项。

阅读更多关于如何使用 Amazon S3 加密保护 S3 对象

如何测试和监控 AWS S3 性能

AWS 的新采用者可能并不了解平台的所有细节以优化其部署,但有一些关键提示和技巧可用于监控和优化 AWS S3 性能。

本文将介绍一些有助于优化 Amazon S3 使用的设计原则和架构最佳实践。

请阅读 如何测试和监控 AWS S3 性能

Amazon S3 存储桶安全:如何查找打开的存储桶并保证其安全

开放的 Amazon S3 存储桶可能会使您的数据和组织面临相当大的风险。互联网上的任何人都可以访问开放的存储桶,因此识别它们并关闭它们至关重要。这篇文章将展示如何找到这些存储桶并防止此类泄漏发生的步骤。

阅读更多内容:Amazon S3 Buckets: Security Risks with Open Buckets and How to Find Them

如何将 AWS S3 对象复制到其他 AWS 帐户

在许多大型组织中,可能使用不止一个 AWS 账户。虽然在同一账户拥有的存储桶之间移动对象很容易,但当数据必须在这些账户之间的不同 S3 存储桶之间移动时会发生什么?

在本文中,我们将演示如何将对象从一个 AWS 账户中的存储桶复制到另一个 AWS 账户中的 S3 存储桶。

如何将 AWS S3 对象复制到另一个 AWS 账户中阅读更多信息。

S3 定价简化:完整指南

Amazon Simple Storage Service (Amazon S3) 是一种对象存储解决方案,具有数据可用性、可扩展性、性能和安全性。通过定价示例了解 S3 定价组件,包括每 GB 月成本、数据操作和数据检索。获取降低 S3 成本的 3 个技巧。

如需了解更多信息,请参阅S3 Pricing Made Simple: The Complete Guide

S3 访问:如何在同一 Amazon S3 存储桶中存储具有不同权限的对象

对于不拥有存储对象的存储桶的用户来说,访问 S3 对象可能是一个障碍。出于合理的原因,存储桶默认情况下是私有的——确保数据安全始终很重要。但是,为了使组织内部更容易共享数据,可以调整单个对象的权限,以允许其他用户访问它们。

本文将向您展示如何为存储在单个存储桶中的 Amazon S3 对象设置不同的访问选项。

如需了解更多信息,请参阅S3 Access:如何在同一 Amazon S3 桶中存储具有不同权限的对象

Amazon S3 Storage Lens:S3 存储分析的单一管理平台

在企业部署中,Amazon S3 的使用可能非常复杂。如果有多个 IT 团队分布在多个 AWS 区域中,利用 S3 满足其自身需求,则可能很难理解服务的使用方式。为了帮助此类组织跟踪其 S3 使用情况,AWS 推出了 Amazon S3 Storage Lens。

这款单一窗格控制台提供免费和付费服务仪表板,用户可以利用这些仪表板了解整个组织中的整个 S3 存储使用情况。这有助于优化使用和降低成本。

阅读更多:Amazon S3 Storage Lens:S3 存储分析的单一管理平台

请参阅有关关键云存储主题的其他指南

我们与我们的内容合作伙伴一起撰写了关于其他几个主题的深入指南,这些指南在您探索云存储领域时也很有用。

文件上传

作者:Cloudinary

Google 云存储

作者:NetApp

AWS 快照

作者:NetApp

Drift chat loading