使用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访问日志

一、背景

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访问日志”

开启FSR自动预热从EBS快照恢复过来的卷

一、背景

在AWS官网,有关从快照恢复后的预热描述如下。

空的 EBS 卷一经创建便能实现其最高性能,而不需要初始化(以前称为预热)。

对于从快照创建的卷,必须先从 Amazon S3 下载存储块并将其写入到卷中,然后才能访问这些块。该预备操作需要一些时间才能完成,并且可能会导致首次访问每个块时的 I/O 操作延迟大大提高。在下载所有块并将其写入到卷后,才会实现卷性能。

这也就意味着,如果是从快照恢复一个EC2,或者是从CloudEndure的快照恢复过来,初始的磁盘性能将不足。由此,需要执行预热才能充分发挥性能。

预热分成手工预热和自动预热。

Continue reading “开启FSR自动预热从EBS快照恢复过来的卷”

手工激活在IDC内网的Storage Gateway

注:2021年Storage Gateway产品特性更新,支持通过图形界面在内网激活,本文部分内容可能已经不适用,因此请参考这篇。

一、背景

Storage Gateway是在IDC中提供云端存储服务的虚拟网关。Storage Gateway可以提供文件存储、块存储(IPSAN)和虚拟带库(VTL)三种协议。Storage Gateway部署在IDC内,对IDC内提供网络服务,对外需要从IDC所在的运行位置,发起网络到AWS云的对应区域的管理控制台和S3桶。

此外,在激活Storage Gateway时候,需要AWS控制台能够链接Storage Gateway所对应的虚拟机的暴露在外网的80端口,这个条件对于国内IDC来说较为苛刻:

  • 1、是因为很多IDC上下行带宽不对等,没有太多公网IP可以用来暴露;
  • 2、ICP备案的要求,未经备案就无法打开80端口。

因此,因此本文将描述在此场景下,无需暴露公网80端口,如何手工激活。

Continue reading “手工激活在IDC内网的Storage Gateway”