S3简单一些总结

S3的考试内容在助理级解决方案架构师的考试中出现的频率比较多,因此需要重点学习并且最好能多做实验。

S3的基本特性

  • S3是一种对象存储,你可以保存文件到S3存储桶上
    • 不能用来保存操作系统,用来保存操作系统的是块存储,比如EBS (Elastic Block Storage)
  • 每一个S3的文件大小可以从 0 字节到 5TB
    • 使用Single Operation上传只能上传最大5 GB的文件
    • 使用分段上传(Multipart Upload)可以对文件进行分段上传,最大支持上传5 TB的文件
  • S3没有总文件容量的限制,即S3存储桶的容量是无限的
  • S3的文件存储在存储桶(Buckets)内,可以理解为文件夹
  • S3存储桶的命名是全球唯一的,不能和任何区域的任何账号内的S3存储桶同名
  • S3的URL区别
    • 普通的S3 URL:https://s3.ap-northeast-2.amazonaws.com/aws-xiaopeiqing-com/index.html
    • S3托管的静态网站URL:http://aws-xiaopeiqing-com.s3-website.ap-northeast-2.amazonaws.com
  • S3拥有99.99%(4个9)的可用性(Availability)
  • S3拥有99.999999999%(11个9)的持久性(Durability)
  • 当成功写入一个文件到S3之后,你会得到一个HTTP 200的成功响应

数据一致性模型

  • 新对象的PUTs操作具有写后读一致性(Read after Write consistency)
    • 即如果向S3存储桶写入一个新的文件(PUT操作),那么S3在返回HTTP 200成功状态前会先把数据同步到AWS的多个物理位置
    • 即向S3存储桶写入一个新的数据,马上就可以读取这个新的数据
  • 覆盖PUTs操作以及DELETES操作具有最终一致性(Eventual consistency)
    • 对于文件的更新和删除,结果不会马上显现,但最终会显现
    • 如果对一个已有的数据进行覆盖(覆盖PUTS操作)然后马上尝试读取该数据,因为数据可能还没有同步,因此有可能读取到的是旧的数据
    • 如果删除一个已有的数据(DELETES操作)然后马上尝试读取该数据,因为数据可能还没有同步,因此有可能还能读到这个数据

不同的S3存储类型

  • Standard –  默认的存储类:如果上传对象时未注明则S3会分配这个类型的存储
  • Reduced Redundancy – 低冗余存储(RRS):可用于存储可再生的数据,因为该类型的文件持久性最低,比如用来保存缩略图等
  • Standard – IA(Infrequently Accessed):用于保存不经常访问的数据,但是需要访问的时候也能很快地访问到。存储的价格比标准S3便宜,但是读取的费用比标准的S3高,也因为如此才要把不经常访问的数据放到这种类型的S3上。并且数据跨了多个AWS地理位置。
  • Onezone – IA:同上,但数据只保存到一个AWS可用区内
  • Glacier:非常便宜,仅用于做归档。从Glacier读取数据需要花费3-5个小时。

Key-Value store

S3是基于对象的,每一个对象包括了这些参数

  • 键(Key):可以认为是数据的名字
  • 值(Value):表示数据本身
  • 版本号(Version ID):对于启用了版本控制的存储桶来说很重要
  • 元数据(Metadata):关于数据的描述,比如说数据的创建时间,更改时间,文件类型,文件大小等信息
  • 访问控制信息:能管理对Bucket内文件的访问权限

S3版本控制(Versioning)

  • 会保存一个文件的所有版本(包括所有写入历史和删除信息)
  • S3版本控制是一个很好的备份工具
  • 一旦开启了版本控制,就不能取消,只能进行暂停
  • 版本控制可以和生命周期管理想集成
  • 版本控制启动后可以使用MFA Delete功能,即在删除一个文件的时候需要另外提供Token信息(软Token或者硬件Token),以此增加文件的安全性,减少误删的概率
  • 跨区域复制(Cross Region Replication)需要源S3存储桶和,目的S3存储桶都开启版本控制

S3生命周期管理(Lifecycle Management)

  • 生命周期管理可以和版本控制相结合
  • 可以对文件当前版本和历史版本起作用
  • 生命周期管理可以做到(X,Y,Z为自定义天数)
    • (转换操作)在文件创建的X天后将文件移动到Standard – IA (Infrequently Accessed)
    • (转换操作)再过Y天将文件移动到Glacier
    • (过期操作)再过Z天将文件永久删除

Amazon CloudFront

  • 边缘站点(Edge Location):边缘站点是内容缓存的地方,它存在于多个网络服务提供商的机房,它和AWS区域和可用区是完全不一样的概念。截至2018年中,AWS目前一共有100多个边缘站点。
  • 源(Origin):这是CDN缓存的内容所使用的源,源可以是一个S3存储桶,可以是一个EC2实例,一个弹性负载均衡器(ELB)或Route53,甚至可以是AWS之外的资源。
  • 分配(Distribution):AWS CloudFront创建后的名字
  • 分配分为两种类型,分别是
    • Web Distribution:一般的网站应用
    • RTMP (Real-Time Messaging Protocol):媒体流
  • 你不只是可以从边缘站点读取数据,你还可以往边缘站点写入数据(比如上传一个文件),边缘站点会将你写入的数据同步到源上
  • 在CloudFront上的文件会被缓存在边缘节点,缓存的时间是TTL(Time To Live)。文件存在超过这个时间,缓存会被自动清除
  • 如果在到达TTL时间之前,你希望更新文件,那么你也可以手动清除缓存,但你将会被AWS收取一定的费用

S3安全和加密选项

  • 默认情况下,所有新创建的S3存储桶都是私有的,只有存储桶的创建者/拥有者才能访问
  • 你可以通过以下两个方法来控制S3存储桶的安全性
    • 桶策略(Bucket Policy)
    • 访问控制列表(Access Control Lists)
  • S3存储桶的访问日志可以存到另一个S3存储桶里面,方便对日志进行查看
  • 传输过程中的加密(In Transit)
    • 使用SSL/TLS加密
  • 处于静态下的加密(At Rest)
    • 使用服务器端加密保护数据(Server Side Encryption,SSE)
      • Amazon S3 托管密钥的服务器端加密 (SSE-S3) – 使用256位AES-256加密标准进行加密,并且主密钥会定期轮换
      • AWS KMS 托管密钥的服务器端加密 (SSE-KMS) – 使用AWS提供的密钥管理系统,有更多的密钥管理能力
      • 服务器端加密与客户提供的密钥一起使用 (SSE-C) – 你来提供和管理加密密钥,S3负责加密和解密
    • 使用客户端加密保护数据(Client Side Encryption)

Storage Gateway

  • 文件网关(File Gateway):通过 NFS 连接直接访问存储在 Amazon S3 或者 Amazon Glacier上的文件,并且本地进行缓存
  • Volume Gateway:使用 iSCSI 作为本地磁盘连接到本地服务器上,让本地服务器可以访问到 Amazon S3 内的文件,其中,Volume Gateway 又分为以下两种
    • Stored Volumes:所有的数据都将保存到本地,但是会异步地将数据备份到AWS S3上
    • Cached Volumes:所有的数据都会保存到S3,但是会将最经常访问的数据缓存到本地
  • Tape Gateway:用来取代传统的磁带备份,通过 Tape Gateway 可以使用NetBackup,Backup Exec或Veeam 等备份软件将文件备份到 Amazon S3 或者 Amazon Glacier 上

Snowball

AWS提供了3种不同类型的Snowball。

  • Snowball
    • PB 级数据传输解决方案,可以在本地数据中心和 Amazon S3 之间进行数据的导入和导出
  • Snowball Edge
    • 在Snowball的基础上增加了计算的功能,你可以在Snowball上运行Lambda函数
  • Snowball Mobile
    • EB 级数据传输服务,是一辆用于传输数据的大卡车

S3传输加速

利用AWS CloudFront CDN网络的边缘节点(Edge Locations)加速S3传输的过程。

S3静态网站

  • S3可以托管静态网站
  • 你不需要额外的服务器,EC2,ECS等等,是一种无服务的架构
  • 非常便宜并且动态伸缩
  • 只能托管静态网站,不能托管动态网站(例如PHP、JSP或者ASP.NET等)

S3 FAQ

一定要熟读S3的常见问题,Amazon S3常见问题_AWS云存储怎么用-AWS云服务

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Loong_1213

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值