AWS 存储概念 + 操做 (主要为S3)

  1. S3出现的时间比较早,能够追溯到2003年。
  2. S3不一样于企业网里面的存储方案,块存储或者文件存储,S3属于对象存储 Object。
  3. S3的总存储空间是无限大的
  4. S3都是存储在bucket里面。Bucket造成了S3的最高级别域名,而后bucket的名字也是global的独有的(其实就是个DNS域名)。
  5. S3的文件/Bucket虽然是全球惟一的,可是在建立的时候得选定一个region,一旦选定了就不能更改。并且不须要选择AZ,AWS会本身负责Avaiablity,Disaster Recovery的设计。
    如上面所说,这个bucket size是无限大的。若是须要跨region复制S3数据,得使用cross region replica
  6. S3的单个Object的大小范围 [0, 5TB]
  7. S3的object是由 文件数据自己 以及 metadata组成。 AWS 把数据自己当作stream of bytes
    而metadata 分为system metadata 以及user metadata。 前者是为系统所用,好比说大小,MD5散列值,以及http content type。User metadata 是optional的。
  8. 每个bucket里面,标记一个object的方式是经过key,固然粗看上去,这个key更像是个文件名。不一样的bucket里面,能够有相同的key(文件名)。一个S3 object 是经过S3 bucket,S3 key,以及可选的version-ID 来标识de
  9. S3的availability是99.99%
  10. S3的durability 是99.999999999%(11个9) 这个能够认为是数据的完整性
  11. Data Consistency 数据的一致性在大型数据中内心面一直是个问题。你在某一块存储上更新了数据,而另一块存储还没来得及更新。在同步的空档期若是从后者下载了数据,那显然数据不是最更新的了。AWS采起两种策略,read-after-write consistency以及eventual consistency。
  12. S3有几种不一样的等级:standard,standard IA,one-zone IA,Glacier
  13. S3启用了版本控制,当每一个object 有incremental 更新的时候,这个版本号就开始有用了
    Versioning is turned on at the bucket level. Once enabled, versioning cannot be removed from a bucket; it can only be suspended.
  14. S3能够经过ACL,bucket policy,IAM进行访问控制。
  15. 当你成功上传文件到S3的时候,会获得一个HTTP code 200

S3的类型,我直接贴图了
AWS 存储概念 + 操做 (主要为S3)
如今能够看到,书上写的RRS,reduce redundancy storage已经没有了。取而代之更多细分。那基本上class 取决于avilablility, 多少个AZ部署,取出时间有多久。html

S3的收费标准
具体能够参考这个连接:https://aws.amazon.com/cn/s3/pricing/
总结起来有以下几个特色:python

  1. 按照存储的数据多少收费,存的越多,收费越便宜。以50TB,450TB,500TB为分界线
  2. S3是经过http请求操做的,全部的get,post,put,list都要收费,delete不收费
  3. 全部进出S3的internet会被收费,只有三种状况例外:传入数据(AWS获取数据,笑而不语),同一个region的EC2和S3互相传输数据,传到cloudfront
  4. 管理和复制也会被收费,包括了S3清单,S3分析和S3对象标记功能
  5. Transfer Acceleration使用了AWS的direct connect,也是会被收费的。

这里我抄一句小茶的话:S3是对象存储、EBS是块存储。EC2能够和S3链接,方法是使用s3fs的方式挂载,或者用AWS CLI来对S3进行操做。web

实验环节:
首先进入S3界面,注意右上角没有region,取而代之是global,咱们能够管理全球全部的S3 buckets。因此反复强调S3只有region的概念,没有AZ。
AWS 存储概念 + 操做 (主要为S3)api

建立完bucket以后就能够上传数据了。
除了让你选择文件以外,还会让你选择storage class
AWS 存储概念 + 操做 (主要为S3)缓存

上传完以后就能够看到里面有大量的属性能够更改。大部分特性要作什么实际上是一目了然的。app

AWS 存储概念 + 操做 (主要为S3)

AWS 存储概念 + 操做 (主要为S3)
AWS 存储概念 + 操做 (主要为S3)

总的来讲在真是的运维环境里,这种上传,而且属性的操做确定是你们开会研究好统一的标准,经过api一块儿实现的。靠人手工这样操做……画面太美,不敢想象。因此学完整个AWS的课程以后,写一堆rest api的python代码也是必须的。运维

这里有一个注意点,虽然咱们在作实验的时候,把bucket make public了,可是我过了两天回来登陆的时候有一堆的垃圾日志文件。明显就是被人DDoS了。虽然不能上传,但万一你开启了忘记关掉,而后又是全部人均可以上传的。异步

此处也注意一个他们的保护机制,若是在下面页面的地方勾选了block,那你全部的bucket和objects都是没法在公网上被访问的。或者说,这个设置会覆盖你bucket和object的block public access的操做。
AWS 存储概念 + 操做 (主要为S3)
S3的版本控制ide

  1. 版本控制会建立多个不一样的文件版本,并给一个版本ID;
  2. 删除被版本控制控制的文件并不会删掉文件,只会添加删除标记,须要显示版本显示;
  3. 积累的文件版本也是要收费的,全部版本容量的总和;
  4. 版本控制不能关闭只能暂停,暂停后在上传相同文件会覆盖ID为NULL的文件;
  5. 版本控制针对的是整个bucket,而不是单个文件

AWS 存储概念 + 操做 (主要为S3)

S3的cross-region replicationpost

  1. cross-replication的前提条件是必须得开启versionning
  2. 删除文件,文件的某一个版本或者删除删除标记(Delete Marker)是不会被同步的(目标存储桶的对象是不会被删除的)
    AWS 存储概念 + 操做 (主要为S3)

S3的lifecycle
这个功能是不须要开启versioning的,能够解释的地方并很少。主要就是为了成本考虑。
AWS 存储概念 + 操做 (主要为S3)

S3 Transfer Acceleration
用户能够经过使用AWS的CloudFront的Edge location来上传下载数据。简单的来说,就是你和你要操做的S3的节点更近了,而后S3再经过本身内部的传输和各自的region 沟通。

总体而言,对香港这种网速很好的区域,这个功能彷佛用处不大。。。
AWS 存储概念 + 操做 (主要为S3)

S3 static website hosting
简单的来说,就是你把一个静态的html页面上传到你的bucket,而后static website hosting会生成一个网页连接,就能够访问了。暂时没想到这个玩意的use case。。。

注意下S3的object 连接和 website 连接二者的区别
https://tonytokyobucket.s3-ap-northeast-1.amazonaws.com/static+webhosting.html
http://tonytokyobucket.s3-website-ap-northeast-1.amazonaws.com/

Storage Gateway
这个功能简单的来说就是讲现有的on-prem的数据迁移到云上的一个服务。推荐读一读FAQ的第一部分,通常问题:https://aws.amazon.com/cn/storagegateway/faqs/

三个驱动缘由值得一记:

  1. 使用storage gateway 是为了让数据尽可能平滑的迁移到云上
  2. 减小本地存储,少给EMC,Netapp付钱
  3. 下降数据与AWS服务的延时

须要注意的是,storage不只能够在AWS的console上配置,也可使用on-prem或者VM ESxi版本的。
Storage Gateway一共分为三种
File Gateway: 基于NFS,SMB的文件传输
Volume Gateway: 块存储,使用iSCSI。这种存储也分两种类型
a. stored volumes: 会将数据保存在本地,可是会异步的将数据备份到S3上去
b. cached volume: 数据保存到S3上,可是会将常常访问的数据放到缓存上。
Tape Gateway:没啥好说的,所有搬到Glacier上。

基于上面的描述,下面这个部署模型就清晰不少了。
AWS 存储概念 + 操做 (主要为S3)

注意,须要部署两套storaged gateway,一套在客户的数据中心,另一套就在AWS里面。

EFS(Elastic File System)
我直接贴小茶的一个S3,EBS,EFS的比较。
价格是S3 < EBS < EFS

EFS贵,性价比不高。EBS最高容量只有16TB。须要注意的是,当建立完EFS以后,须要将这个文件系统mount到一个EC2实例上。一个比较有趣的实施,是建立多个EC2,而后将同一个EFS挂载到不一样的EC2上。这样就能实现多个EC2 共享一个文件夹。(这个是和EBS最根本的区别,EBS其实能理解为EC2 的硬盘)。实验在我看完VPC以后再作。

相关文章
相关标签/搜索