【AWS入门】Amazon S3简介

发布于:2025-03-19 ⋅ 阅读:(13) ⋅ 点赞:(0)

【AWS入门】Amazon S3简介

A Brief Introducton to Amazon S3

By Jackson@ML

1. 数据存储类型

计算机产生的数据,例如:文本,图片,视频或者其它类型,需要保存下来才能够继续使用,无论是系统管理、Web开发或者企业应用。

数据存储的类型,通常包含以下类型:

1) File Storage(文件存储)

文件存储,采用传统的自上而下的树形结构,数据分别存在不同的文件夹里;类似于文件夹和子文件夹及文件的模式(参考Windows 10/11的文件资源管理器,或者macOS里的Finder及其下的目录架构)。

文件存储是分层的拓扑结构,每个文件具有完整路径和文件名;文件名由名称和后缀构成。

文件存储在硬盘和NAS(Network Attached Storage, 网络连接存储)中。

文件存储非常容易操作,但存储需要规划好文件架构;随着文件系统逐渐庞大,文件存储成本变得越来越高,属于比较昂贵。

文件存储的协议有NFS,SMB等。

在这里插入图片描述
图一 文件存储结构

2) Block Storage(块存储)

块存储,用于较大型的数据库和结构化文件及应用程序等。文件被分成很多块,并且带有唯一的ID;这些块可以存储到不同的磁盘(即硬盘等存储设备)。

通常使用的块存储有SAN(Storage Area Network,存储区域网络)
块存储更加快速和灵活,但是比文件存储要更加复杂。

块存储的协议采用iSCSI,FC等。

在这里插入图片描述
图二 块存储结构

3) Object Storage(对象存储)

对象存储相对较新,将大量非结构化数据存储为对象,将数据作为平面地址空间中的对象进行管理,每个对象都分配有唯一的标识符和元数据,通常用于云环境。对象有三个组成部分:

  • ID,唯一的标识符;
  • MetaData,原数据,是对数据的描述;
  • 数据,就是实际的数据。

对象存储用于静态内容存储,例如:电影,图片,音乐等非结构化数据。它的数据分布广,易于通过HTTP请求访问,也就是说通过Web站点存放和访问。

在这里插入图片描述
图三 对象存储(原数据和存储桶)

2. Amazon S3定义

Amazon Simple Storage Service,简称S3,即亚马逊简单存储服务。它是个人、应用程序和一系列AWS服务保存其数据的地方。

Amazon S3有绝佳的应用场景:

  1. 备份文档,维护日志文件和灾难恢复映像
  2. 分析和操作静态大数据
  3. 托管静态网站

相较于传统存储方式,S3提供了廉价且可靠的存储。Amazon S3也能与AWS运行的内外部操作紧密集成到一起。

依照前述介绍,块存储是将物理存储设备上的数据划分成单独的块,它使用文件存储来管理。

NTFS是Windows常用的文件系统,而Btrfs或ext4则是Linux使用的文件系统。文件系统代表操作系统将文件和数据分配空间,并在操作系统需要读取数据时提供访问权限。

像Amazon S3这样的对象存储系统提供了可看作存储数据的平面。这种简单的设计,避免了kauicunc糊的一些与操作系统相关的复杂性,并允许任何人轻松使用任何数量的经过专业设计和精心维护的存储容量。

3. Amazon S3服务架构

Amazon S3将文件存在buket(桶)中,也称为 “存储桶”

默认情况下,每个AWS账户可以创建最多100个存储桶。和其它AWS服务一样,可按照使用情况,要求AWS放宽该限制。

S3存储桶和内容存在单个AWS区域(Region)中,但为S3存储桶选择的名称,在S3系统必须是全局唯一的。

1) 前缀和分隔符

显而易见,存储桶没有类似文件存储那样的目录结构,但它可以使用前缀和分隔符来定义存储桶结构。

前缀用普通文本字符串表示组织级别层次;分隔符将告诉S3将具有类似于contact/phonenumber.pdf名称的文件作为对象。

使用Amazon CLI访问文件的方法是:
S3://bucketname/filename

2) 大对象

虽说理论上对于S3存储桶数据没有总量限制,但单个对象可能不超过5TB大小;单个文件上传不能超过5GB。

为降低数据丢失或避免上传终止风险,AWS建议对任何大雨100MB的对象(即大对象)使用分段上传功能。

分段上传,就是将大对象分成多个较小的部分,并将它们单独传输到S3目标;即便传输失败,也可以重新开始并不影响其它传输。

若要将大文件传输到S3存储桶,Amazon S3 Transfer Acceleration(Amazon S3传输加速器) 可以派上用场,加快上传速度。

4. AWS管理控制台

AWS Management Console(AWS管理控制台) 满足对全部云计算资源的管理和控制。因此,在注册了AWS国际或者国内账户后,可以在其平台之上,利用AWS管理控制台完成对资源的配置,进而进行应用程序开发和运营等。

AWS管理控制台除管理EC2外,还可以管理S3和其它众多的AWS服务。

首先,进入AWS官网登录页面,使用根用户(或IAM用户)登录;没有注册的用户,可以在下方点击“创建新AWS账户”进行注册。

在这里插入图片描述
登录成功后,进入到AWS用户界面,显示“恭喜!感谢您注册AWS”的字样。

点击右上角按钮“登录控制台”,出现控制台页面。

在这里插入图片描述

在页面上方,有一个Search(搜索栏),用鼠标点击(或用Option +S组合键进入),即可搜索可用服务。

输入S3字样,弹出Web菜单,如下图所示。

在这里插入图片描述
弹出菜单中,最上方就是S3服务,点击进入S3服务页面。

在这里插入图片描述
S3页面有高亮显示,“创建存储桶”;此时,点击“创建存储桶”,如下图:

**加粗样式**
输入存储桶名称并选择存储桶,最后设定对象所有权及存储桶版本控制等,就可以创建一个存储桶了。

存储桶的格式示例为:s3://bucket/prefix

在这里插入图片描述
图四 存储桶保存数据(带有数据安全性)

在这里插入图片描述
图五 弹性灵活的存储桶数据

5. Amazon S3存储桶类型

S3将数据存在存储桶中,即没有最低限制,也没有最高限制,一切按照存储需求来定。

当然,S3为了不同用户的存储需求,定制了不同存储桶套餐。用户只需为使用的存储付费。以下是主要的S3类别:

1) Amazon S3 Standard(S3标准)

是S3通用存储。S3 标准针对频繁访问的数据,提供持久性、可用性和性能较高的对象存储。由于 S3 标准可交付低延迟的高吞吐量,因此适合广泛使用案例,包括云应用程序、动态网站、内容分配、移动和游戏应用程序以及大数据分析。

2) Amazon S3 Intelligent-Tiering (S3 Intelligent-Tiering)

这是AWS首个云存储,针对未知或变化的访问;可以根据访问频率自动将数据移动至最经济实惠的访问层,从而自动在细粒度对象级别降低用户的存储成本,并且不会影响性能,也不会产生检索费用或运营开销。

3) Amazon S3 Express One Zone

这是一款高性能专用单可用区存储类,为用户经常访问的数据和延迟敏感应用程序提供稳定的毫秒级数据访问性能。与S3 Standard相比, S3 Express One Zone 可以将数据访问速度提高 10 倍,将请求成本降低 50%。

4) Amazon S3 Standard – Infrequent Access(S3标准 – IA)

适用于非频繁访问,但在需要时要求快速访问的数据。 S3 Standard – IA提供较高的持久性、较高的吞吐量以及较低的S3 Standard延迟。它的每单位GB存储价格和检索费用都比较低,成本较低且性能出色。

5) Amazon S3 One Zone-Infrequent Access (S3 One Zone-IA),即S3单区- IA,

适用于不经常访问但在需要时要求快速访问的数据。其它S3存储类数据至少有三个可用区(AZ),而S3单区- IA将数据存储在单个可用区(AZ)且成本较S3标准- IA要低20%。它非常适合不频繁访问的数据使用较低费用的,且要求可用性和弹性的用户。

6) Amazon Glacier

Amazon Glacier用于长期存档文件。Amazon Glacier专为数据归档而构建,旨在为用户提供最高性能、最大检索灵活性和最低成本的云归档存储。

针对不同访问模式和存储持续时间,有经过优化的三种归档存储类可选。它们分别是:

o Amazon S3 Glacier Instant Retrieval
o Amazon S3 Glacier Flexible Retieval
o Amazon S3 Glacier Deep Archive

有相关的Glacier文档详细介绍它们的用途。
在这里插入图片描述

6. Amazon S3加密

存储在S3上的数据始终是加密的。

为保护静态数据, S3提供了端对端加密方式:

  • 服务器端加密。是S3平台将数据保存时进行加密,并在用户通过身份验证后,完成数据取回操作时解密。
  • 客户端加密。对数据传输到S3前将其加密。既可以用AWS KMS-Managed Customer Master Key(即CMK)来完成,也可以用Amazon S3加密客户端提供的Client-Side Master Key完成加密。

**服务器端加密可以大大降低过程的复杂性,通常选用服务器端加密;但有时监管机构可能要求你保持对加密密钥的完全控制,这就是客户端加密成为唯一选择。


后续文章将介绍S3 与EC2 和其它AWS服务协同完成项目工作的案例。

敬请关注和点赞。👍
您的任何,我的动力!:-)

相关阅读:

  1. 【AWS入门】Amazon EC2简介
  2. 【AWS入门】AWS云计算简介
  3. AWS入门】2025 AWS亚马逊云科技账户注册使用指南
  4. AWS入门】创建并使用Amazon Builder ID