S3 (Simple Storage Service)

  1. Bucket

    1. Bucket全局唯一,一个account默认可创建100个bucket,一般用DNS名字命名
  2. AWS region
    1. 创建Bucket的时候需要选择region,region在物理和逻辑上完全独立,除非用户手动从一个region复制数据到另一个region
    2. 可以选择离端点用户地理位置近的region创建bucket,也可以选择离主数据中心远的地方创建region,以实现容灾
    3. AWS支持cross region replication,但需要开启version并设置相应的IAM策略
  3. Object
    1. S3是AWS提供的对象存储服务,存储的是对象,不是文件。一个对象包含data和metadata,metadata包含系统的metata,如上次修改时间,ACL控制,Object Size, MD5等,也可以包含用户自定义metadata,如果tag等。
    2. 一个对象的数据大小范围为0-5TB
    3. 对象存储与block存储和文件存储的区别
      1. 对象存储基于对象,用API,CLI,SDK等操作数据,虽然有逻辑上的层次结构,且看上去很像文件目录,但实际上没有文件系统,底层也不一定按照层次结构存储。
      2. block存储基于存储设备,存放的是固定大小的block,协议有iSCSI,FC等。
      3. 文件存储基于操作系统,存放的是文件,AWS提供了EFS NSA服务,协议有CIFS,NFS。
  4. Key
    1. 用于标识一个对象,如:path1/path2/path3/…/filename
    2. 对象的唯一标识:buckname + key + version
  5. Object URL
    1. http://mybucket.s3.amazon.com/fee/fi/fo/fum/jack.doc, 其中,mybucket是bucket名称,fee/fi/fo/fum/jack.doc是该对象的key
  6. 如何操作S3的对象和bucket
    1. CLI,RESTful API,SDK,Console,SOAP(New features are not supported)
  7. 持久性和可靠性
    1. 默认情况S3提供11×9的持久性和4×9的可靠性。
    2. 持久性:Will my data still be there in the future?
    3. 可靠性:Can I access my data right now?
  8. 一致性
    1. AWS提供数据最终一致性,对于新增加的数据,不会读取到旧数据,因为要么读取到数据,要么读取不到数据
    2. 对于修改已经存在的数据,如果此时立即读取,由于数据的同步需要一定时间,此时可能读取到修改前的旧数据
    3. 同理,对于删除数据,也可能读取到旧的数据
    4. 不管怎样,最终要么读取到新数据,要么读取不到数据,数据最终一致
  9. 访问控制
    1. Bucket policy,推荐,控制粒度很细
    2. ACLs,不推荐,控制粒度粗糙
    3. IAM
    4. query-string authentication
  10. 静态网站主机
    1. S3可以当作静态网站服务,将文件上传到bucket并全部设置为public,开启static websit hosting服务并指定index和error page,此时可以访问静态页面。可以使用Route 53,设置一个友好的DNS name,这个是可选的。
    2. 可以作为静态网站的资源有,html,js,css,pic,file,video,music,etc。
    3. 可以结合Cloud Front来缓存静态资源,以提高网站性能。
  11. 前缀和分隔符
    1. CLI,API,SDK等都支持通过前缀和分隔符操作资源。
    2. 分隔符支持"/"和"\"。
  12. 存储类别
    1. S3 Standard,标准存储类别,高可用,高持久,低延迟,高性能,大部分场景都可以使用。价格最高。
    2. S3 Standard - Infrequent Access,不经常访问的数据,且数据至少要保存30天。高可用,高持久,低延迟,高性能。费用比Standard低。
    3. S3 Reduced Redundancy Storage,减少了冗余的存储,提供4*9的持久性,可以存储容易还原的数据,如视频,缩略图等。费用比Standard低。
    4. Glacier,glacier可以作为单独的对象存储,与S3类似,也可以作为S3的一个存储类别。一般存放归档数据,且提交获取请求后,可能要等3-5个小时才能拷贝到S3,不能立即获取。价格最低。
  13. 对象生命周期管理
    1. 设置策略管理对象生命周期,如,对象刚开始是S3 Standard类型,一段时间(如30天)后自动变为S3 Standard - Infrequent Access,一年后变为Glacier,三年后自动删除。
  14. 数据加密
    1. 可以选择加密或不加密,默认不加密。
    2. 支持加密方式:SSE-S3,SSE-KMS,SSE-C,Client-Side encryption。
      1. SSE-3: AWS自动为每个对象分配不同密钥,并用AES-256加密数据,用master密钥加密对象密钥,对象,对象密钥,master密钥分别存放,且定期rotate master密钥。
      2. SSE-KMS: AWS key management service管理密钥,可以autid密钥的操作。
      3. SSE-C: 用户自己提供并管理密钥。
      4. Client-Side encryption: 客户端加密,在上传数据前就加密。
  15. 版本控制
    1. 可以防止意外删除数据,因为删除后可以获取到之前任一版本的数据。
    2. 开启versioning后不能删除,只能暂停。
  16. MFA删除
    1. 仅支持root账号。
    2. 在删除对象时需要指定MFA code,以防止意外删除。
  17. Pre-Signed URL
    1. 使用SDK,CLI为一个对象创建pre-signed URL,并指定有效期,通过该URL且在有效期内可以访问对象。
    2. 可以防止URL扩散,被无权限的人任意访问数据。
  18. Multipart Upload
    1. 对于较大的数据(>5 GB),支持分块并行上传,以提高效率。
    2. AWS CLI默认就开启,如aws s3 cp, aws s3 mv, aws s3 sync等。
  19. Range Gets
    1. 对于较大 数据,不用一次全部下载,可以只下载其某一部分。
  20. 跨region复制
    1. 开启version,并设置相关的IAM权限,可以跨region复制对象。
    2. 开启此功能的目的是可以让终端用户访问最近的bucket以提高访问效率,或者是有特别的安全要求,需要存放多份数据拷贝。
    3. 注意:此功能并不是为了防止意外删除对象而设计。
  21. Logging
    1. 支持Server access logging和object level logging,以跟踪对象的操作和访问。
  22. 事件通知
    1. 删除,增加,修改数据后可以将事件通知到SNS和SQS。
  23. 最佳操作和实践
    1. S3可以使用在混合云的场景,本地存放一部分数据,备份和归档数据存放到S3。
    2. S3可以存放DB索引对应的真实数据,DB存放数据索引,S3存放真实数据。
    3. S3可以作为静态网站。
    4. 如果每秒访问的请求很多,可以通过Cloud Front缓存数据,或者为对象增加随机hash prefix,这样可以将请求尽可能的分散到不同的设备。

Glacier

  1. Archives

    1. 与S3的Object类似,是归档数据。
    2. 支持0-40TB的大小,自动加密,且不可更改数据,每次创建数据时,会自动生成ID。
  2. Vaults
    1. 与Bucket类似,用于存放archives,默认1000个valuts。
    2. Valuts locks,锁住valuts,防止其它人修改,可指定策略,如:write once read many。
  3. Data Retrieval
    1. 每月可以免费获取5%的数据,更多的数据需要收费。

S3 和 Glacier的区别

S3 Glacier
高可靠,高持久 高可靠,高持久
经常访问的数据 不经常访问的数据
生产数据或归档数据 归档数据
每个对象最大5TB 每个归档最大40TB
可以自定义key 自动生成归档ID
选择加密或不加密 必须加密,且自动加密
可更改对象 不可修改归档数据
可以立即取回数据 3-5小时的取回时间
默认100个bucket 默认1000个vaults

AWS S3 and Glacier相关推荐

  1. s3 aws_您需要了解的有关AWS S3的所有信息

    s3 aws This article will provide an in-depth introduction to AWS S3 - the secure, scalable, and supe ...

  2. AWS S3云存储服务

    AWS S3云存储服务 1 S3概念及基础知识 2 S3的基本操作 3 S3数据安全 4 S3数据加密以及命令行CLI 4.1 S3加密工作原理 4.1.1 server端的加密 4.1.2 clie ...

  3. awss3 android,aws s3 命令

    管理存储桶 创建桶; $ aws s3 mb s3://bucket-name 删除桶: $ aws s3 rb s3://bucket-name 删除非空桶: $ aws s3 rb s3://bu ...

  4. OSS(对象存储服务)与 AWS S3(Amazon Simple Storage Service)

    1. AWS S3对象存储 Amazon Simple Storage Service (Amazon S3) 是一种面向 Internet 的存储服务.您可以通过 Amazon S3 随时在 Web ...

  5. aws s3 静态网站_如何将静态网站或JAMstack应用托管并部署到AWS S3和CloudFront

    aws s3 静态网站 S3 and CloudFront are AWS cloud services that make serving static assets powerful and ch ...

  6. k8s aws 部署_如何在短短30分钟内使用CircleCI设置到AWS S3的持续部署

    k8s aws 部署 by Adam Watt 通过亚当·瓦特 如何在短短30分钟内使用CircleCI设置到AWS S3的持续部署 (How to setup Continuous Deployme ...

  7. php上传照片到s3云服务器,PHP上传文件到AWS S3生成下载文件URL

    * 加载s3客户端 * @return string*/ functionAWS_S3Client(){$ACCESS_KEY_ID = '你的s3 ID';$SECRET_ACCESS_KEY = ...

  8. AWS S3宕机的启发: 云必须分散化

    上周,AWS S3云存储服务中断,互联网圈掀起一番波澜,然而AWS将其因归咎于一名技术人员在例行维修中的失误,关闭了S3子系统的少量服务器,由于一条错误的指令输入,被关闭的服务器比预期要多.事情过去了 ...

  9. editor 插入图片之后将光标放到右侧_通过vscode插件自动上传剪贴板图片至aws s3

    vscode是我日常所使用的编辑器,包括在写这篇文章的时候.在编辑markdown文档的时候,总会遇到插入图片的问题.所以我就想实现一个简单的vscode插件,在运行时,可以将剪贴板里的图片上传到aw ...

最新文章

  1. react使用 PropTypes 和 getDefaultProps()
  2. 程序员编程艺术:第二章、字符串是否包含问题
  3. DEBERTA(Decoding-enhanced BERT with disentangled attention) 论文笔记
  4. Mr.J---重拾Ajax(一)--XMLHttpRequest
  5. console输出彩色字体
  6. java tomcat输出信息,java – 如何在Tomcat中记录stdout输出?
  7. 【深度学习】使用Keras开发的流程概述
  8. java没有类_为什么Java中没有类的第一类对象?
  9. 数据丢失与重复_面试官:如何保证消息的可靠性传输?如何处理消息丢失的问题?...
  10. 群晖3617可以有几个网卡_【群晖系统】黑群晖洗白13问~经典QA
  11. Java区块链视频教程百度云_区块链开发入门到精通视频教程
  12. 方方格子Excel工具箱的使用教程
  13. 史玉柱自述创业历程,我思故我在
  14. stm32—酒精传感器的初步使用
  15. 美国计算机专业gre314,托福89,GRE 314获南加大计算机录取
  16. 转载此文纪念在c/c++上投入的时间,没有人能永久统治这个国家,别了c/c++
  17. RuoYi-Vue-Plus 与 RuoYi-Cloud-Plus 高端进阶 源码分析 系列教程
  18. Ubuntu18.04安装mysql并登录(版本5.7)
  19. java基于web的聊天系统代码_WebChat聊天系统 - WEB源码|JSP源码/Java|源代码 - 源码中国...
  20. Spring Boot项目集成AWS SDK连接到AWS S3,实现上传下载功能

热门文章

  1. wps的linux文字显示模糊,WPS字体模糊不清晰怎么回事
  2. 摸索一下午,终于解决Tomcat9中文乱码问题!!
  3. nth-child和nth-of-type的区别
  4. 解决 ERROR 2002 (HY000) Can‘t connect to local MySQL server through socket ‘tmpmysql.sock‘
  5. Windows 7 Windows10 纯净正版下载
  6. 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'Logger' 中的标识列插入显式值
  7. 文献管理软件--zotero基本使用
  8. 奥的斯电梯服务器自动呼梯,奥的斯外呼电梯控制系统说明
  9. 第六篇 VGGNet——模型精讲
  10. Idea中变量的下划线