繁体   English   中英

S3 指标的巨大差异 - Cloudwatch vs AWS S3 CLI vs UI“Get Size”

[英]Huge varience in S3 Metrics - Cloudwatch vs AWS S3 CLI vs UI 'Get Size'

我有一个存储桶,它在 S3 管理控制台/CloudWatch 和 S3 命令行工具之间具有非常不同的总大小和对象数量指标。

S3 管理控制台指标屏幕

  • BucketSizeBytes:标准存储:3.2TB
  • 对象数量:172,000

S3 管理控制台 - 获取大小对话框

  • 总大小:264.0 GiB
  • 对象总数:127,030

云观察:

  • BucketSizeBytes:3.55TB
  • 对象数量:172,000

命令行工具

aws s3 ls --summarize --human-readable --recursive s3://mybucket.com
  • 总大小:264.0 GiB
  • 对象总数:127,030

命令行工具和 S3 管理控制台 - 获取大小对话框返回我所期望的。

我们根据高得多的 CloudWatch 统计数据进行计费。

如果它们接近,我不会感到困扰,但 Cloudwatch 报告的 StorageSize 是 CLI 工具的近 15 倍。

S3 存储桶上没有复制。

生命周期策略可以:

  • 清理不完整的分段上传
  • 将文件 +1 年发送到 Glacier
  • 一年后永久删除以前的版本

版本控制已打开,但我很确定它没有被使用; 即文件只上传过一次。 我已经测试了几个随机文件来确认,它们都只有一个最新版本可用。 我很高兴在存储桶设置中将其关闭,但我知道这不会“删除”旧版本(如果它们存在的话)吗?

我也不相信这是因为 Glacier 存储的文件,因为我最近才设置此生命周期策略,并且在此之前存在大小不匹配。

鉴于 S3 管理控制台 UI > 概述 > Select 所有文件夹 > 操作 > 获取大小报告与 CLI 工具相同,264GB,我感到非常困惑。

因此,在 UI 中选择所有文件管理器/文件夹会返回 264GB,但指标会返回 3.2TB。

任何人都可以阐明这里发生了什么,以及我如何清理它! 谢谢罗布

这是由 3TB 的旧版本文件引起的; 但整个目录已被删除,因此未显示在 UI 中。

当我切换 UI 以显示版本时,已删除的文件夹出现,然后在其中我可以看到已删除文件的所有旧版本。

以下 CLI 语句帮助我确认它是由版本控制引起的:

aws s3api list-object-versions --bucket mybucker.com --query 'Versions[*].[Size,Size]' --output text  | awk '{s+=$1} END {printf "%.0f", s}'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM