AWS S3 基本概念

AWS S3 基本概念

  • 引言
  • [什么是 AWS S3](#什么是 AWS S3)
  • [S3 应用](#S3 应用)
  • [S3 的核心概念](#S3 的核心概念)

引言

最近工作中有接触到 S3,往 S3 写入数据,从 S3 访问数据,所以花点时间整理一下有关 S3 的基本概念。

什么是 AWS S3

AWS S3 (Amazon Simple Storage Service) 是一个由 Amazon Web Services 提供的对象存储服务,专为存储和检索任意数量的数据而设计。与传统的文件系统和块存储不同,对象存储将数据存储为对象,每个对象包含数据、可变数量的元数据以及唯一的标识符。它提供了高度可扩展、可用性高且安全的数据存储解决方案,广泛应用于各种数据存储需求。

主要特点

  • 高度可扩展:S3 可以处理几乎无限数量的数据,并且能够在需求增加时自动扩展以处理更多的存储需求。

  • 高可用性和耐用性:S3 提供 99.999999999%(11个9)的数据耐用性,确保数据几乎不会丢失。它还提供高可用性,确保数据始终可访问。

  • 安全性:S3 提供多层次的安全功能,包括数据加密(传输中和静态存储时)、访问控制、审计日志等,确保数据的安全性和隐私性。

  • 低成本:S3 提供按需付费的定价模式,根据存储的数据量和请求次数收费,没有预付费用或最低消费。

  • 多种存储类别:S3 提供多种存储类别,如标准存储(S3 Standard)、低频访问存储(S3 Standard-IA)、归档存储(S3 Glacier)等,以满足不同数据存储和访问需求。

  • 灵活的数据访问:S3 支持 REST 和 SOAP 接口,这意味着几乎任何互联网连接的应用程序都可以使用 HTTP 协议访问 Amazon S3 中的数据。

S3 应用

S3 用途

  • 数据备份和恢复:S3 是一种理想的数据备份和恢复解决方案,可以安全地存储大量备份数据,并在需要时快速恢复。

  • 内容存储和分发:网站、移动应用和其他在线服务可以使用 S3 存储和分发静态内容,如图像、视频、文档等。

  • 大数据分析:与其他 AWS 服务(如 Amazon Redshift、Amazon EMR)集成,S3 可以用作大数据分析的存储库。

  • 数据归档:通过使用 S3 Glacier 等低成本存储类别,用户可以将不经常访问但需要长期保存的数据进行归档。

  • 应用程序数据存储:各种应用程序可以利用 S3 作为其数据存储后端,以便于数据管理和访问。

使用场景示例

  • 企业备份:企业可以使用 S3 存储重要的业务数据备份,以防止数据丢失。
  • 内容分发网络(CDN):使用 S3 存储和分发网站内容,并通过 Amazon CloudFront 提高内容交付速度和性能。
  • 数据湖 Data lake:将结构化和非结构化数据存储在 S3 中,作为大数据分析的数据湖。
  • 应用日志存储:应用程序可以将日志文件存储在 S3 中,便于集中管理和分析。

总的来说,AWS S3 是一种功能强大且灵活的数据存储服务,适用于各种规模和类型的存储需求。它的高可用性、安全性、成本效益和与其他 AWS 服务的紧密集成,使其成为许多企业和开发者的首选存储解决方案。

S3 的核心概念

架构概述

  • 存储桶(Buckets):存储桶是 S3 中存储数据的容器。每个存储桶都有一个在 Amazon S3 中全局唯一的名称,并且可以配置为在多个 AWS 区域之间复制数据。

  • 对象(Objects) :对象是存储在 S3 存储桶中的基本实体。每个对象由数据和元数据组成。数据部分是对象的主体内容,而元数据是一组描述对象的名称-值对。

  • 键(Keys):每个 S3 对象都有一个键,这是对象在存储桶中的唯一标识符。键和存储桶名称的组合定义了对象在 S3 中的唯一地址。

  • 区域(Regions):Amazon S3 在全球多个区域提供服务。选择存储数据的区域可以最小化延迟,满足法规要求,并降低成本。

存储类

  • 标准存储(Standard):适用于频繁访问的数据,提供低延迟和高吞吐量。
  • 标准 - 不常访问存储(Standard - IA):适用于不常访问但需要快速访问的数据,存储成本低,但访问费用较高。
  • 单区不常访问存储(One Zone - IA):类似于标准 - IA,但仅在单一可用区内存储数据,适用于可容忍数据丢失的应用。
  • 归档存储(Glacier):低成本存储,适用于长期归档数据,数据恢复时间在几分钟到数小时不等。
  • 深度归档存储(Glacier Deep Archive):更低成本的归档存储,适用于需要极少访问的数据,恢复时间为 12 小时以内。

数据管理

  • 生命周期管理:自动在存储类之间转移对象,以优化存储成本。可以根据对象的年龄或创建日期设置规则。
  • 版本控制(Versioning):允许多个版本的对象共存,防止意外删除和覆盖。
  • 跨区域复制(Cross-Region Replication):自动复制对象到另一个 AWS 区域的桶,增强数据冗余和灾难恢复能力
    安全和合规:

安全和合规

  • 访问控制:使用 IAM (Identity and Access Managment)策略、桶策略 Bucket policies 和访问控制列表(ACL Access control lists)来管理对 S3 资源的访问。
  • 加密:支持多种加密方法,包括服务器端加密(SSE-S3、SSE-KMS、SSE-C)和客户端加密。
  • 日志记录:可以启用访问日志记录功能,将所有对桶和对象的访问记录到另一个 S3 桶中。

查询和分析

  • S3 Select:允许从 S3 对象(如 CSV 文件、JSON 文件、Parquet 文件等)中检索特定的数据子集,减少数据传输量和处理时间。
  • S3 Glacier Select:允许直接从 Glacier 中检索特定的数据子集,适用于归档数据的分析。

事件通知

  • 配置方式:可以为桶配置事件通知,事件类型包括对象创建、删除、还原等。
  • 通知目标:事件通知可以发送到 Amazon SNS 主题、SQS 队列或触发 AWS Lambda 函数。

Amazon S3 的这些特性和概念共同构成了一个强大、灵活且可扩展的云存储解决方案,适用于各种应用程序和用例。

相关推荐
TGB-Earnest28 分钟前
【py脚本+logstash+es实现自动化检测工具】
大数据·elasticsearch·自动化
大圣数据星球2 小时前
Fluss 写入数据湖实战
大数据·设计模式·flink
suweijie7683 小时前
SpringCloudAlibaba | Sentinel从基础到进阶
java·大数据·sentinel
Data跳动8 小时前
Spark内存都消耗在哪里了?
大数据·分布式·spark
woshiabc1119 小时前
windows安装Elasticsearch及增删改查操作
大数据·elasticsearch·搜索引擎
lucky_syq9 小时前
Saprk和Flink的区别
大数据·flink
lucky_syq9 小时前
流式处理,为什么Flink比Spark Streaming好?
大数据·flink·spark
袋鼠云数栈9 小时前
深入浅出Flink CEP丨如何通过Flink SQL作业动态更新Flink CEP作业
大数据
小白学大数据11 小时前
如何使用Selenium处理JavaScript动态加载的内容?
大数据·javascript·爬虫·selenium·测试工具
15年网络推广青哥11 小时前
国际抖音TikTok矩阵运营的关键要素有哪些?
大数据·人工智能·矩阵