当前位置: 首页 > news >正文

AWS S3 基本概念

AWS S3 基本概念

  • 引言
  • 什么是 AWS 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 的这些特性和概念共同构成了一个强大、灵活且可扩展的云存储解决方案,适用于各种应用程序和用例。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 分享浏览器被hao123网页劫持,去除劫持的方式
  • QTextEdit 设置宽度
  • 中职网络安全B模块Cenots6.8数据库
  • 主从模式简介
  • Real User ID 和 Effective User ID 的区别
  • UCSD和MIT的华人学者最新成果展示:沉浸式远程遥操作机器人
  • 大模型推理:vllm多机多卡分布式本地部署
  • PySide(PyQt)判断QLineEdit的输入是否合规
  • 本人学习保存-macOS打开Navicat提示「“Navicat Premium”已损坏,无法打开。 你应该将它移到废纸篓。」的解决方法
  • neo4j 图数据库:Cypher 查询语言、医学知识图谱
  • 【C++】优先级队列(底层代码解释)
  • SpringApplication.java类
  • 【linux高级IO(二)】多路转接之select详解
  • 离线语音识别芯片在智能生活中的应用
  • liunx作业笔记1
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • 2017-09-12 前端日报
  • Bytom交易说明(账户管理模式)
  • ESLint简单操作
  • Git初体验
  • JAVA 学习IO流
  • leetcode-27. Remove Element
  • Python socket服务器端、客户端传送信息
  • React-redux的原理以及使用
  • Redis 中的布隆过滤器
  • SQLServer之创建显式事务
  • storm drpc实例
  • Vue 2.3、2.4 知识点小结
  • 阿里云应用高可用服务公测发布
  • 机器学习 vs. 深度学习
  • 基于遗传算法的优化问题求解
  • 使用SAX解析XML
  • 推荐一个React的管理后台框架
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 小而合理的前端理论:rscss和rsjs
  • PostgreSQL之连接数修改
  • python最赚钱的4个方向,你最心动的是哪个?
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • # Redis 入门到精通(七)-- redis 删除策略
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • #QT(一种朴素的计算器实现方法)
  • $forceUpdate()函数
  • (4) PIVOT 和 UPIVOT 的使用
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (PADS学习)第二章:原理图绘制 第一部分
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (二)JAVA使用POI操作excel
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (四)Linux Shell编程——输入输出重定向
  • (一)kafka实战——kafka源码编译启动