Amazon S3
提供无限可扩展的对象存储,具备 11 个 9 的持久性和多种存储类别的核心存储服务
概述
Amazon S3(Simple Storage Service)是一项提供行业领先可扩展性、数据可用性、安全性和性能的对象存储服务。可存储和检索任意数量的数据,设计持久性为 99.999999999%(11 个 9)。通过存储类别(Standard、Intelligent-Tiering、Glacier 等)优化成本,通过存储桶策略和 ACL 精细控制访问权限。是 AWS 生态系统中最基础的服务之一,几乎所有 AWS 服务都与 S3 集成。
存储类别与生命周期管理
S3 提供多种存储类别适应不同访问模式。Standard 适合频繁访问的数据。Intelligent-Tiering 自动在频繁和不频繁访问层间移动数据,无检索费用。Standard-IA 和 One Zone-IA 适合不频繁访问但需要快速检索的数据。Glacier Instant Retrieval 提供毫秒级检索的归档存储。Glacier Flexible Retrieval 和 Glacier Deep Archive 适合极少访问的长期归档,检索时间从分钟到小时不等。生命周期策略自动在存储类别间转换对象或在指定天数后删除。实践中,日志数据常设置为 30 天后转到 Standard-IA、90 天后转到 Glacier、365 天后删除的策略。S3 Storage Lens 提供存储使用和活动的组织级可见性,帮助识别优化机会。
安全性与访问控制
S3 的安全模型包括多层控制。存储桶策略(基于资源的 JSON 策略)控制谁可以访问存储桶及其对象。IAM 策略控制用户和角色对 S3 的操作权限。S3 Block Public Access 在账户或存储桶级别阻止公共访问,防止意外暴露。对象所有权设置推荐使用存储桶所有者强制(Bucket Owner Enforced)禁用 ACL,简化权限管理。加密方面,SSE-S3(S3 管理密钥)是默认加密,SSE-KMS(KMS 管理密钥)提供审计跟踪和密钥轮换控制,SSE-C(客户提供密钥)由客户完全控制密钥。S3 Object Lock 提供 WORM(Write Once Read Many)保护,满足合规要求。版本控制保留对象的所有版本,防止意外删除和覆盖。
性能优化与事件驱动架构
S3 的性能设计为每个前缀每秒 3,500 PUT/COPY/POST/DELETE 和 5,500 GET/HEAD 请求。通过在键名中使用随机前缀分散请求到不同分区可提升吞吐量。S3 Transfer Acceleration 使用 CloudFront 边缘位置加速跨地域上传。分段上传将大文件分割为多个部分并行上传,提高上传速度和可靠性(建议 100MB 以上文件使用)。S3 事件通知在对象创建、删除等事件发生时触发 Lambda、SQS 或 SNS,是事件驱动架构的基础。S3 Select 和 Glacier Select 允许使用 SQL 表达式仅检索对象中需要的数据子集,减少数据传输量。S3 Access Points 为共享数据集的不同应用程序提供独立的访问策略,简化大规模访问管理。