使用S3 Lifecycle policy将标准层存储转换为INT智能分层以降低存储成本

一、背景

在过往的博客中,有几篇是S3成本优化相关,可参考如下:

在开启了S3 Storage Lens的Dashboard后,可以看到所有存储桶的使用的存储类型。如果看到有大量的Standard分类,且平均大小是在1MB或者以上,那么就很适合开启INT智能分层来优化存储成本。

注意:S3 INT智能分层对于小于128KB的对象无效。即使开启了INT智能分层,小于128KB的文件将使用保存在S3 Standard标准层、且计费也是按照标准层。因此对象平均大小是决定是否使用S3智能分层的关键。

基于以上几篇的信息,本文介绍来介绍S3服务的生命周期转换功能。

Continue reading “使用S3 Lifecycle policy将标准层存储转换为INT智能分层以降低存储成本”

S3版本管理101: 使用版本管理用于文件恢复和反删除

一、背景

S3服务具有文件版本管理功能,这允许您不改变对象目标的文件名而保留多个历史版本。例如在上传时候看起来文件名相同是覆盖了,其实是将新上传的文件保存为当前最新版本(Latest版本),原来的文件变成历史版本。被删除的对象,如果是在一个打开了历史版本的存储桶,那么是可以反删除。当然如果所有历史版本都被删除了,那么这个文件无法找回了。

因此正确使用版本管理功能,可解决许多业务场景问题,通过反删除也可以增加业务上的保护,而了解版本管理的机制,可实现彻底永久删除,实现更好的数据隐私保护。

Continue reading “S3版本管理101: 使用版本管理用于文件恢复和反删除”

安全改进解读:S3将阻止Public公开访问和禁用文件ACL两项功能作为新创建存储桶时候的默认设置

摘要:本文介绍了2023年以来S3将阻止Public公开访问和禁用文件ACL两项功能作为新创建存储桶时候的默认设置这一变化由此带来的安全方面的改进。同时,介绍了在此场景下如何配置存储桶公开对外发布数据。

一、背景

在S3控制台上,可以看到如下信息:

The S3 Block Public Access and S3 Object Ownership features provide settings to manage public access and object ownership for your Amazon S3 resources. All Block Public Access settings are enabled by default, and all new buckets, access points, and objects do not allow public access. By default, Object Ownership is set to bucket owner enforced, which disables the use of access control lists (ACLs).

These default settings have been in place in the S3 console since 2018 and 2021, respectively, and are recommended security best practices. Since April 2023, these default settings apply to all new buckets, regardless of how they are created. If you require public access, you can edit the Block Public Access settings, and grant access by using bucket policies. Unless you need to control access for each object individually, using ACLs to grant access isn't recommended. For more information, see Access control best practices.

以上两项功能,分别推出与2018年和2021年,之前是可选配置,目前成为了新建存储桶Bucket时候的默认配置。本文对这两个功能的使用进行介绍。

Continue reading “安全改进解读:S3将阻止Public公开访问和禁用文件ACL两项功能作为新创建存储桶时候的默认设置”

使用Python Boto3从CloudWatch获取S3存储桶大小的Metric值

一、背景

对象式存储S3是用于存储海量文件的,当文件达到百万、千万、上亿的时候,S3可正常响应查询、写入的请求,而普通OS上的文件系统在这个数量级必须引入目录散列,并且伴随着性能下降,且如果是虚拟机本地盘还可能出现inodes使用满的情况。这种场景下,S3对象存储针对海量文件是非常友好的。因此使用S3是很有必要的。

S3也有不方便的地方,例如统计文件大小。传统的文件系统方式是做遍历后求和。那么S3上数百万个文件做一次遍历,开销极其巨大,而且产生了巨大的读取费用(List也算读取,参考S3收费文档)。由此,S3有个功能是S3 Inventory,即每天一次生成文件清单,并可通过Athena做进一步查询文件名称和大小。此外,还可以通过S3 Storage Lens查看各存储桶的总数据量和类型。

Continue reading “使用Python Boto3从CloudWatch获取S3存储桶大小的Metric值”

优化S3存储成本:S3智能分层配合S3 Glacier即时检索获得成本节约

一、背景

S3 Glacier Instant Retrieval(S3 GIR)存储类型是2021年re-Invent新发布的存储类型,原有的异步方式取回数据的Glacier存储类型则改名为S3 Glacier Flexible Retrieval。新发布的S3 Glacier Instant Retrieval的存储费用与S3 Glacier Flexible Retrieval相近,在此基础上提供了立刻可取的性能,适合每年访问2-3次数据场景下的海量数据存储。

Continue reading “优化S3存储成本:S3智能分层配合S3 Glacier即时检索获得成本节约”

在EC2内为自己的EBS磁盘扩容

在EC2内可为自己的EBS磁盘扩容,而不需要通过AWS Console网页界面控制台。前提是:

  • 本机是Cloud9云端IDC开发环境,内置有关权限和role
  • 本EC2已经安装AWSCLI并且配置了AKSK,且AKSK对应的IAM User是具有本Region EC2服务修改配置的权限
  • 本EC2挂载了EC2 Profile对应了一个IAM Role,这个IAM Role具有操作EC2服务修改配置的权限
Continue reading “在EC2内为自己的EBS磁盘扩容”

使用S3 Access Point访问S3存储桶

一、背景

S3提供Access Point用于数据分享、访问授权,可用于对外隐藏真实的存储桶名称的同时实施权限控制。S3 Access Point有两种类型:从Internet互联网访问类型,以及仅能从特定VPC访问的类型。此外S3 Access Point也支持跨账户访问。

下面分别进行两种配置。

Continue reading “使用S3 Access Point访问S3存储桶”

在Amazon Linux(CentOS)和Ubuntu系统的EC2上使用EFS服务

2年前写过一篇EFS挂载使用说明,一晃2年过去。EFS界面已经大幅优化,挂载命令对中国区支持也更加友好,不需要以前步骤的人工修改挂载点了。因此重新编写了本文档。

新版EFS操作界面简化了创建过程,可实现几次点击即可配置好EFS。本文描述如何创建EFS服务,并在Amazon Linux(CentOS)和Ubuntu系统的EC2挂载使用。

Continue reading “在Amazon Linux(CentOS)和Ubuntu系统的EC2上使用EFS服务”

为IDC或私有VPC内的Storage Gateway使用VPC Endpoint访问S3

之前写过Blog视频谈到了在内网环境的Storage Gateway的激活,在2021年Storage Gatway升级后,内网的激活流程和向导作出了改进,激活更为方便。

此外,如果安全上有需求要求所有流量在内网不能出现在公网,可以搭配专线或Site-to-site VPN,然后将所有流量发送到Interface类型的VPC Endpoint,即可实现所有流量处于内网的私密状态。

Continue reading “为IDC或私有VPC内的Storage Gateway使用VPC Endpoint访问S3”

使用CloudTrail和Athena分析S3访问日志

本文更新于2023年8月,新增了对于大量CloudTrail历史数据,需要实现创建分区键的说明。否则按照CloudTrail控制台推荐的默认的Athena建表语句进行查询,将是针对数个GB数据的全表扫描带来不必要的成本。按照本文新增章节,创建带有分区键的Athena表,即可显著降低查询成本。分区键推荐采用Region和日期的方式。

一、背景

S3存储桶的文件读写日志包括Server Access Log和CloudTrail两种方式。二者之间的差别可参考如下网址:

https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/userguide/logging-with-S3.html

在官方上描述非常详细,可看到CloudTrail采集的信息更加丰富,因此本文将介绍使用CloudTrail做分析。如下截图。

Continue reading “使用CloudTrail和Athena分析S3访问日志”