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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/45983.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Node.js配置CORS跨域(解决服务器api接口跨域问题)

一、安装cors npm install cors 二、在接口文件中使用cors const express require(express); const cors require(cors); // 引入 cors 中间件 const app express(); const port 3000;app.use(cors()); // 使用 cors 中间件const catList [{image: https://131703669…

prometheus+grafana应用监控配置

配置Prometheus 官方地址:Download | Prometheus (wegt下载压缩包,解压并重命名prometheus,文件放于/data/prometheus即可) 配置 service方法(文件放于 /etc/systemd/system/prometheus.service): [Unit…

前端面试题日常练-day86 【面试题】

题目 希望这些选择题能够帮助您进行前端面试的准备&#xff0c;答案在文末 以下哪个HTML标签用于定义一个内联框架&#xff0c;用于嵌入其他网页&#xff1f; a) <frame> b) <iframe> c) <div> d) <section> 在JavaScript中&#xff0c;以下哪个方法…

k8s(四)---node

四、node node就是节点 1.查看node&#xff08;查询集群状态&#xff09; kubectl get no状态为kubec Ready 可以查看更多信息&#xff1a;-owide kubectl node -owide node没有命名空间隔离&#xff0c;所以node不需要指定命名空间 此处是一个master节点、两个worker节点、状态…

Neo4j:图数据库的革命性力量

Neo4j 首席技术官 prathle 撰写了一篇出色的博文&#xff0c;总结最近围绕 GraphRAG 的热议、我们从一年来帮助用户使用知识图谱 LLM 构建系统中学到的东西&#xff0c;以及我们认为该领域的发展方向。Neo4j一时间又大火起来&#xff0c;本文将带你快速入门这神奇的数据库。 前…

Spring Boot项目的控制器貌似只能get不能post问题

我这2天新建了一个Spring Boot项目测试&#xff0c;在控制器上写了两个接口&#xff0c;一个是支持Get方式访问&#xff0c;另一个支持Post方式访问&#xff0c;发现Get可以&#xff0c;而Post不行。前端Post后&#xff0c;报403&#xff0c;找不到这个方法。 一、原因 原因是…

Flutter框架时间线梳理

Flutter是一个开源的UI工具包&#xff0c;它用于构建高质量的原生移动应用。Flutter的版本历史如下&#xff1a; Flutter 0.1.2&#xff1a; 2018年发布&#xff0c;这是第一个正式发布的版本&#xff0c;包含了基本的框架和工具。 Flutter 1.0.0&#xff1a; 2019年发布&…

ubuntu 物理内存爆炸而不使用虚拟内存的问题

ubuntu 物理内存不足时有时候会不去使用虚拟内存&#xff0c;让虚拟内存空闲&#xff0c;而直接关闭占用内存的进程&#xff0c;如果在进行模型测试或训练时&#xff0c;就会导致训练或测试进程被杀死。 1. 修改 swappiness&#xff1a; cat /proc/sys/vm/swappiness sudo sysc…

NLP之词的重要性

文章目录 何为重要词TF*IDFTF*IDF其他版本TFIDF 算法特点TF*IDF的优势TF*IDF劣势 TF*IDF的应用搜索引擎文本摘要文本相似度计算 上一篇文章介绍了新词的发现&#xff0c;用内部凝固度和左右熵来发现新词。这时候机器对一篇文章有了对词的一定理解&#xff0c;这时我们让机器上升…

C语言阶乘(只用逻辑运算中的短路效应判断)

目录 开头程序程序的流程图程序输入与输出的效果例1输入输出 例2输入输出 例3输入输出 结尾 开头 大家好&#xff0c;我叫这是我58。今天&#xff0c;我们要来看我做的只用逻辑运算中的短路效应判断的用C语言编译出来的阶乘计算程序。 程序 #define _CRT_SECURE_NO_WARNINGS…

Selenium 元素操作 WebElement 对象

通过 find_element() 方法找到的元素对象就是 WebElement 类型。clear(): 清除文本 send_keys(value): 模拟按键输入 click(): 单击元素 submit()&#xff1a; 提交表单(有些不提供搜索按钮&#xff0c;通过键盘上的回车键完成提交&#xff0c;可以通过 submit 模拟) size: 获…

Prometheus 云原生 - 微服务监控报警系统 (Promethus、Grafana、Node_Exporter)部署、简单使用

目录 开始 Prometheus 介绍 基本原理 组件介绍 下文部署组件的工作方式 Prometheus 生态安装&#xff08;Mac&#xff09; 安装 prometheus 安装 grafana 安装 node_exporter Prometheus 生态安装&#xff08;Docker&#xff09; 安装 prometheus 安装 Grafana 安装…

STM32之六:SysTick系统滴答定时器

目录 1. SysTick简介 2. 时钟来源 3. SysTick寄存器 3.1 CTRL—SysTick控制及状态寄存器 3.2 RELOAD—SysTick重装载数值寄存器 3.3 CURRENT—SysTick当前数值寄存器 4. systick系统定时器配置 5. 延时函数实现 5.1 延时函数编写步骤 5.2 微秒级延时函数delay_us 5.…

JVM:运行时数据区

文章目录 一、总览二、程序计数器1、介绍2、程序计数器在运行中会出现内存溢出吗&#xff1f; 三、栈1、介绍2、栈帧的组成部分&#xff08;1&#xff09;局部变量表&#xff08;2&#xff09;操作数栈&#xff08;3&#xff09;帧数据&#xff08;3&#xff09;栈内存溢出&…

2、ASPX、.NAT(环境/框架)安全

ASPX、.NAT&#xff08;环境/框架&#xff09;安全 源自小迪安全b站公开课 1、搭建组合&#xff1a; WindowsIISaspxsqlserver .NAT基于windows C开发的框架/环境 对抗Java xx.dll <> xx.jar 关键源码封装在dll文件内。 2、.NAT配置调试-信息泄露 功能点&#xf…

【PHP】Symfony框架

Symfony框架 Symfony是一个用于PHP的开放源代码框架&#xff0c;旨在简化PHP应用程序的开发过程。它由Fabien Potencier和他的团队开发&#xff0c;并在2005年首次发布。Symfony的设计目标是提供一种灵活、可重用和可扩展的方法来构建Web应用程序。 起源 Symfony的起源可以追…

zigbee开发工具:3、驱动安装与程序下载(更新中...)

zigbee开发工具前两篇讲解了IAR开发工具的安装与注册&#xff0c;还介绍了新建一个cc2530开发工程的建立与配置。在进行zigbee开发&#xff0c;代码编写编译好后还需要下载到zigbee节点设备上进行调试与验证&#xff0c;那么就需要安装SmartRF Flash Programmer软件 和仿真器等…

【LabVIEW学习篇 - 6】:数组、簇

文章目录 数组创建数组数组函数数组大小 根据索引取值数组与for循环 案例一案例二 簇LabVIEW簇的特点和用途&#xff1a;创建簇解除捆绑按名称解除捆绑簇的捆绑重新排序簇中控件 数组 在LabVIEW中&#xff0c;数组是一种用于存储相同数据类型的多个元素的数据结构。以下是关于…

【BUG】Python3|COPY 指令合并 ts 文件为 mp4 文件时长不对(含三种可执行源代码和解决方法)

文章目录 前言源代码FFmpeg的安装1 下载2 安装 前言 参考&#xff1a; python 合并 ts 视频&#xff08;三种方法&#xff09;使用 FFmpeg 合并多个 ts 视频文件转为 mp4 格式 Windows 平台下&#xff0c;用 Python 合并 ts 文件为 mp4 文件常见的有三种方法&#xff1a; 调用…

B树:深入解析与实战应用

在数据结构和算法的世界中&#xff0c;B树&#xff08;B-tree&#xff09;无疑是一颗璀璨的明星。它不仅广泛应用于数据库和文件系统的索引结构中&#xff0c;而且在许多需要高效数据检索的场景中发挥着重要作用。本文将从B树的基本概念入手&#xff0c;通过图文结合的方式&…