Amazon Simple Storage Service(简称 S3)是 AWS 在 2006 年发布的第一款云服务产品,S3 作为对象存储具有海量存储、接口灵活、11 个 9 持久性、价格便宜等特点,特别适合存放静态文件如图片、视频、日志以及备份文件等等,同时 S3 是 AWS 大数据解决方案中重要组成部分,以 EMRFS 的形式与 EMR(AWS 托管的 Hadoop 平台)结合提供计算与存储分离的灵活架构。
熟悉 S3 控制台的小伙伴一定发现,自从 5 月份开始,控制台的界面焕然一新,甚至有点无处下手,但熟悉起来后又有些爱不释手,下面我们将介绍下新版控制台带来了哪些新的功能,以及如何给你的工作带来极大效率提升。
新版控制台的操作说明,图文并茂,详见:
http://docs.amazonaws.cn/AmazonS3/latest/user-guide/what-is-s3.html
一、创建存储桶
创建存储桶的时候除了配置桶名、存储桶区域之外,还可以配置版本控制、日志、标签以及访问权限,现在用户可以在新版控制台使用“从现有存储桶复制设置”的功能,选择相同配置的存储桶即可,避免重复设置。
二、上传对象
在控制台下除了正常的通过点击上传按钮选择上传文件完成上传外,新版控制台支持在存储桶界面下,直接将待上传的对象拖放到页面上。通过新版控制台上传单个文件支持最大 78GB。
对存储桶中对象的上传、删除、重命名等操作,页面底部可以看到该操作的进度及其他操作的历史记录。
三、ACL
我们可以通过配置存储桶及对象的 ACL 来实现存储桶和对象的访问控制,老版控制台的部分名称容易让人引起歧义,以存储桶 ACL 为例,如下图所示,其中查看权限是指查看该存储桶权限的权限,即查看该存储桶 ACL 的权限,而不是指查看存储桶的权限,编辑权限同样是指编辑权限的权限,不是编辑存储桶的权限。
在新版控制台中很好的避免了这点误区,分对象访问和权限访问,这里以存储桶的 ACL 举例,见下图:
其中一个新功能是我们可以在管理用户处添加其他帐号的规范 ID(https://docs.aws.amazon.com/zh_cn/general/latest/gr/acct-identifiers.html )或帐号的 Email 向该帐号中的 IAM user/role 授权访问,以实现跨帐号访问,需要注意的是对方帐号的 IAM user/role 拥有对该存储桶的操作权限取决于此处我们设置的 ACL 以及对方帐号中 IAM user/role 本身 policy 设定的权限。
四、标签 Tag
S3 标签是随 S3 新版控制台一起发布的一个服务特性。标签可以帮助你对存储桶以及对象进行分类或标记,类似我们给 EC2 等资源添加标签一样,每个 S3 标签也是一个键值对,每个对象最多可添加 10 个标签键值对,键值对大小写敏感。通过使用标签,我们可以创建基于标签的 IAM policy 以实现细粒度的权限控制,比如标签为 PHI 的值为 true 时,仅供只读。同时,在使用 S3 数据生命周期管理、分析、指标等功能的时候,可以创建基于标签的过滤器,实现细粒度的资源管理。
S3 标签作为新服务特性,相应的 API 也同步发布,比如 PUT Object tagging, GET Object tagging, DELETE Object tagging 以及其他支持标签的 API 如 PUT Object, GET Object, POST Object, PUT Object-Copy,详细可参考:
http://docs.aws.amazon.com/zh_cn/AmazonS3/latest/dev/object-tagging.html 需要注意的是,标签遵循最终一致性模型。
五、生命周期管理
数据通常从创建后会经历频繁访问、低频访问、极少访问的数据热度周期,相对于热数据,冷数据适合以成本更低的方式存储,比如热数据存放在 S3 standard,冷数据存放在 S3-IA,归档数据存放在 Glacier 等,以达到成本最优的目标。我们可以使用 S3 数据生命周期管理通过配置相应的规则来实现数据的生命周期管理,随着 S3 标签的发布,现在我们可以创建基于前缀和/或基于标签的规则,以实现更细粒度的资源管理。详细操作步骤见:
http://docs.amazonaws.cn/AmazonS3/latest/user-guide/create-lifecycle.html
六、存储类分析
存储类分析是新发布的功能,通过该工具,我们可以更加直观的了解到存储桶中的数据活跃情况,帮助我们决策何时将不常访问的数据从 S3 Standard 转换为 S3-IA,即为配置数据生命周期管理提供数据支持。
同时,可以创建筛选条件,选择对整个桶中对象或者具有某些前缀或标签的对象进行分析,即对对象进行分类分析,需要注意的是,分析是从启用该功能后一段时间后才能看到结果(通常是 24~48 小时),并不是可以立刻可以看到分析结果。
通过存储类分析,我们可以可视化的了解到存储桶数据在过去 30 天的检索量,占比,以及多个时间范围段内数据存储与检索的情况,该数据每天更新,并且可以以 csv 的格式导出到 S3 存储桶以供下载,可使用 Quicksight 等 BI 工具进行展现。
csv 中字段说明见:
配置存储类分析详细操作步骤见:
http://docs.amazonaws.cn/AmazonS3/latest/user-guide/configure-analytics-storage-class.html
七、存储指标
CloudWatch 可以监控 S3 存储桶的使用情况,过去只有两个指标:存储桶大小和对象数量,随着新版控制台的发布,又有两类指标发布,即请求指标和数据传输指标。
请求指标(收费功能)中包含 GetRequest, PutRequest, ListRequest, AllRequest, PostRequest, DeleteRequest, HeadRequest, 4xxErrors, 5xxErrors。数据传输指标(收费功能)包含 TotalRequestLatency,FirstByteLatency,BytesDownloaded,BytesUploaded。这些指标均为 1 分钟报告 1 次,我们可以通过这些指标快速了解和定位 S3 使用过程中的一些问题,比如当前 S3 存储桶是否遇到性能瓶颈,是否需要提 case 提升限制等等。同样可以通过配置基于前缀/标签的过滤器实现细粒度的管理。
S3 请求速率及性能注意事项参见:
http://docs.amazonaws.cn/AmazonS3/latest/dev/request-rate-perf-considerations.html
指标详细解释可以见:
配置请求指标操作步骤见:
http://docs.amazonaws.cn/AmazonS3/latest/user-guide/configure-metrics.html
八、存储清单
S3 存储清单是 S3 提供的一项存储管理工具,S3 存储清单可以每天或每周输出指定 S3 存储桶或存储桶中指定前缀的对象及其相关元数据信息的列表,并以 CSV 文件的格式存储在指定的 S3 存储桶中。存储清单遵循最终一致性模型,即列表中可能没有最近添加或删除的对象信息,如果需要确认某一个对象的状态,我们可以使用 HEAD Object REST API(或命令行,SDK)来获取该对象的元数据。
对于存储桶中有海量文件的用户而言,存储清单可以方便的帮助用户了解当前存储桶中的文件列表而不是像过去那样需要频繁调用 GET Bucket API(每次返回最多 1000 个对象),从而加速一些业务工作流及大数据作业等等。
配置存储清单时,我们可以指定清单筛选条件、生成频率、存储位置、清单中包含的字段等等,一个存储桶可以配置多个清单。
配置存储清单操作步骤见:
http://docs.amazonaws.cn/AmazonS3/latest/user-guide/configure-inventory.html
看完上面 S3 新版控制台的介绍,是不是对这个新工具又有了一些新的认识,不妨将这些新功能用起来,优化成本,提升工作效率,在 AWS 上面诞生更多的创新应用。
作者介绍
王世帅,AWS 解决方案架构师,负责基于 AWS 的云计算方案架构的咨询和设计,同时致力于 AWS 云服务在国内教育、医疗行业的应用和推广。在加入 AWS 之前曾在国航担任系统工程师,负责存储方案的架构设计,在企业私有云方面有丰富经验。
本文转载自 AWS 技术博客。
原文链接:
https://amazonaws-china.com/cn/blogs/china/right-way-to-open-amazon-s3-console/
评论