我发现 Amazon Simple Storage Service (Amazon S3) 控制台、Amazon CloudWatch 和 Amazon S3 Storage Lens 存储统计管理工具上的存储指标存在差异。
简短描述
AWS 服务使用不同的方法来测量存储和报告存储值。CloudWatch 每日存储桶存储量指标包括未完成的分段上传和非当前版本。Amazon S3 Storage Lens 总存储量指标包括未完成的分段上传、对象元数据和删除标记。每个存储桶总大小的 Amazon S3 控制台指标不包括未完成的分段上传或非当前版本。
解决方法
确定导致存储指标差异的原因
要确定差异的原因,请执行以下操作:
如果您开启了 S3 版本控制,请使用 Amazon S3 清单列表来检查您的 S3 存储桶中是否有不同的对象版本。清单列表会捕获存储桶名称、对象大小、存储类别和版本 ID 等元数据。您可以使用 Amazon Athena 查询数据。您还可以使用当前版本字节和非当前版本字节 S3 Storage Lens 存储统计管理工具控制面板指标来计算当前和非当前版本的大小。
要删除未完成的分段上传,请参阅 Discovering and deleting incomplete multipart uploads to lower Amazon S3 costs(发现和删除未完成的分段上传以降低 Amazon S3 成本)。
查看您的存储指标
计算 CloudWatch 中的每日存储指标
BucketSizeBytes CloudWatch 指标可捕获所有 Amazon S3 和 Amazon S3 Glacier 存储类型、对象版本以及未完成的分段上传。CloudWatch 会计算所有对象大小、存储桶中的当前和非当前对象以及未完成的分段上传大小的总和。**BucketSizeBytes ** 指标会计算以下对象存储类别的 S3 存储桶中有多少数据(以字节为单位):
- S3 Standard
- S3 Intelligent-Tiering
- S3 Standard - 不常访问 (IA)
- S3 One Zone-IA
- S3 Reduced Redundancy Storage
- S3 Glacier Deep Archive
- S3 Glacier Flexible Retrieval
- S3 Glacier Instant Retrieval
CloudWatch 中的 NumberOfObjects CloudWatch 指标计算您的存储桶中的以下值:
- 所有存储类别中的对象总数。对于具有版本控制的存储桶,这包括当前和非当前对象版本以及删除标记。
- 未完成分段上传的分段总数。
例如,如果同一对象有两个版本,则这两个版本算作两个独立的对象。
有关详细信息,请参阅 CloudWatch 中存储桶的 Amazon S3 每日存储指标。
在 S3 Storage Lens 存储统计管理工具控制面板中计算总存储空间指标
总存储空间指标位于 Bucket(存储桶)选项卡中。该指标可捕获未完成的分段上传、对象元数据和删除标记。
要查看它们使用的空间构成,请查看以下指标:
上述指标在 AWS Free Tier 中可用。
对象计数指标还包括有关当前和非当前版本、删除标记和未完成分段上传对象计数的信息。
有关详细信息,请查看以下指标:
- 当前版本对象计数
- 非当前版本对象计数
- 删除标记对象计数
- 未完成分段上传对象计数
有关详细信息,请参阅 Amazon S3 Storage Lens 存储统计管理工具指标词汇表。要设置 S3 Storage Lens 存储统计管理工具控制面板,请参阅使用 Amazon S3 Storage Lens 存储统计管理工具优化存储成本。
计算 Amazon S3 控制台上的存储桶总大小
在 Amazon S3 控制台中,您可以使用计算总大小操作计算存储桶的大小。但是,如果您关闭 Show versions(显示版本)开关,则存储桶总大小不包括分段上传以及以前或非当前的版本。Amazon S3 仅会计算存储在存储桶中的每个对象的当前或最新版本的对象总数。例如,如果您的存储桶中某个对象有两个版本,则 Amazon S3 的存储计算器会将它们仅计为一个对象。因此,Amazon S3 控制台计算的数字小于 CloudWatch 报告的数字。
相关信息
用于中止分段上传的生命周期配置
即将过期的对象