View a markdown version of this page

使用 Amazon CloudWatch 日志智能分层优化存储成本 - 亚马逊 CloudWatch 日志
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon CloudWatch 日志智能分层优化存储成本

Amazon Lo CloudWatch gs 智能分层会根据访问模式自动将您的日志数据分为三个访问级别:标准、不频繁访问和存档即时访问。借助智能分层,您可以在成本较低的分层中保留大容量、长期保留的日志,而不会产生任何运营开销。与其筛选日志或将它们卸载到单独的存储解决方案,不如将它们本地保存在 CloudWatch 日志中,无论您的数据位于哪一层,都可以从相同的查询体验中受益。

CloudWatch 日志监控访问模式,并自动将 30 天内未访问的数据重新分类为 “不频繁访问” 层,将 90 天内未访问的数据重新分类为存档即时访问层。当您访问较旧的数据时, CloudWatch Logs 会自动将其提升回标准套餐,持续 30 天。通过将所有日志整合到 CloudWatch 日志中,您可以通过一个工具获得全面的可见性,从而消除管理多个存储解决方案的运营开销,并通过在一个地方查询、分析所有日志并发出警报来缩短平均解决时间 (MTTR)。

要开始优化存储成本,请使用 CloudWatch 控制台或致电PutStorageTierPolicy在区域内的账户级别启用智能分层。启用智能分层后,它将应用于该区域内您账户中的所有日志组。

Ama CloudWatch zon Logs 智能分层可在除中东(巴林)和中东(阿联酋)区域之外的所有 Amazon 商业区域使用。

CloudWatch 记录智能分层访问级别

无论您的日志数据位于哪个访问层,您的查询体验都保持不变。

标准(默认)

这是默认套餐。所有新摄取的日志数据都从标准层开始。只要访问日志数据,它就会一直保存在该层中。标准层为查询、导出、实时跟踪和日志检索提供低延迟和高吞吐量性能。

不频繁访问

如果连续 30 天未访问日志数据,则会移至 “不频繁访问” 级别。低频访问层提供的查询延迟和吞吐量与标准层相同,但存储成本更低。

存档即时访问

如果连续 90 天未访问日志数据,则它将移至 “存档即时访问” 层。Archive Instant Access 层以最低的存储成本提供与其他层相同的毫秒查询延迟。

构成访问权限的操作

以下访问模式会自动将低频访问层或存档即时访问层的日志数据提升回标准层。当这些操作中的任何一个读取成本较低层的日志事件时,这些日志事件将移回标准层级,持续 30 天。每次后续访问时,计时器都会重置。

用于日志集中化的分层分类

通过跨账户跨区域日志集中访问目标账户中复制的日志只会提升目标账户中的日志数据。

  • 带查询或警报配置的出口 — 使用StartQueryCreateScheduledQuery通过 Logs Insights 查询 CloudWatch 日志数据或配置日志警报

  • 筛选和检索日志事件-使用FilterLogEvents或读GetLogEvents取日志事件

  • 导出 — 使用以下命令将日志数据导出到 Amazon S3 CreateExportTask

启用 CloudWatch 日志智能分层

所需的权限

要管理账户的存储层,您需要以下 IAM 权限:

  • logs:PutStorageTierPolicy— 需要为您的账户设置或更改存储层。

  • logs:GetStorageTierPolicy— 需要检索当前配置的存储层。还需要从控制台启用智能分层。

拥有CloudWatchLogsFullAccess托管策略的用户已经拥有这两个权限。拥有CloudWatchLogsReadOnlyAccess托管策略的用户拥有该logs:GetStorageTierPolicy权限。

以下示例显示了授予这两个权限的策略语句:

{ "Effect": "Allow", "Action": [ "logs:PutStorageTierPolicy", "logs:GetStorageTierPolicy" ], "Resource": "*" }

使用 控制台启用

要使用 CloudWatch 控制台启用智能分层,请执行以下操作:

  1. 打开 CloudWatch 控制台,网址为https://console.aws.amazon.com/cloudwatch/

  2. 在导航窗格中,选择设置

  3. “设置” 页面上,选择 “日” 选项卡。

  4. 在 “智能分层” 部分中,选择启用

使用启用 Amazon CLI

要启用智能分层,请使用以下put-storage-tier-policy命令:

aws logs put-storage-tier-policy --storage-tier INTELLIGENT_TIERING

该命令返回设置的存储层及其上次更新的时间:

{ "storageTier": "INTELLIGENT_TIERING", "lastUpdatedTime": 1751328000000 }

要禁用智能分层,请将存储层重新设置为:STANDARD

aws logs put-storage-tier-policy --storage-tier STANDARD

当您将存储层重新设置为时STANDARD,您账户中的所有日志组都将按标准存储费率计费。

查看您当前的配置

要查看您账户的当前存储层,请使用以下get-storage-tier-policy命令:

aws logs get-storage-tier-policy

该命令返回当前存储层及其上次更新时间:

{ "storageTier": "INTELLIGENT_TIERING", "lastUpdatedTime": 1751328000000 }

监控每层存储量

启用智能分层后, CloudWatch Logs 会发布一个预售指标,该指标显示每个日志组在每个层中存储的数据量:

  • 命名空间:AWS/Logs

  • 指标名称:StoredBytes

  • 尺寸:LogGroupNameStorageType(值:StandardInfrequent_AccessArchival_Instant_Access

您可以使用此指标来创建显示每层存储细分的 CloudWatch 仪表板、设置分层大小警报或跟踪一段时间内的成本优化。

注意

该指标每天发布一次,可能无法实时反映等级变动。

CloudWatch 日志智能分层的定价

使用智能分层,您可以根据数据所在的层支付不同的存储费率。启用智能分层不收取任何额外费用,也无需为层级过渡收取任何费用。您只需为每层消耗的存储空间付费。

有关定价的更多信息,请参阅 Amazon CloudWatch 定价

要查看每层存储成本,请使用 Athena 并按(标准)TimedStorage-IA-ByteHrs、(不频繁访问)TimedStorage-AIA-ByteHrs和(存档TimedStorage-ByteHrs即时访问)使用类型进行筛选。有关账单中 CloudWatch 日志使用类型的更多信息,请参阅分析、优化和降低 CloudWatch 成本