使用 亚马逊云科技 CloudTrail 估算 亚马逊云科技 Config 记录器的成本和使用量

亚马逊云科技 Config 是一项跟踪您的 亚马逊云科技 账户中 亚马逊云科技 资源配置变化的服务。每当 亚马逊云科技 Config 检测到正在 记录 的资源类型发生变化时,它就会使用配置记录器来创建配置项目。 例如,如果 亚马逊云科技 Config 正在记录 A mazon S3 存储桶,则每当创建、更新或删除存储桶时,亚马逊云科技 Config 都会创建一个配置项目。 亚马逊云科技 Config 的部分定价 基于您账户中 记录的 配置项目 数量。但是,配置项目取决于工作负载行为,这可能使估计配置项的数量变得困难。

在这篇文章中,我们将介绍在启用 亚马逊云科技 Config 后如何使用 亚马逊云科技 CloudTra il 来估算配置项目数量。亚马逊云科技 CloudTrail 是一项监控和记录您的 亚马逊云科技 基础设施中的账户活动的服务。这些记录的事件将帮助我们确定可能由 亚马逊云科技 Config 记录的配置项目的估算值。如果您使用的是 亚马逊云科技 Config 规则或 亚马逊云科技 Config 一致性包,则会产生额外费用。有关示例,请参阅 亚马逊云科技 Config 定价页面

步骤 1:查询 亚马逊云科技 CloudTrail

先决条件

本博客中的 CloudTrail 查询示例,要求客户具有以下任一设置选项:

  1. CloudTrail Lake 事件数据存储 设置为接收 CloudTrail 事件
  2. 亚马逊 Athena 设置为查询您的 Cloud Trail 日志。

您选择的选项将取决于您在环境中配置了哪些选项

选项 1:在 亚马逊云科技 CloudTrail Lake 中运行查询

以下示例 CloudTrail Lake 查询将返回在给定时间段内捕获的与 亚马逊云科技 服务列表相关的 API 事件总数。您可以选择通过更新查询的 E ventSource 部分向查询中添加或删除其他 亚马逊云科技 服务。查询的 API 事件是可能触发 亚马逊云科技 Config 中的资源变化的事件。有些资源类型没有被 亚马逊云科技 Config 记录的示例查询捕获,例如 亚马逊云科技:: Config:: ResourceCompliance。此查询将为您提供一个起点,了解如果开启 亚马逊云科技 Config 记录器,可以记录多少配置项目。 亚马逊云科技 计算器 可以帮助您为 亚马逊云科技 Config 创建估算值。请注意,运行此查询会产生额外费用,请查看 CloudTrail 定价 页面以了解更新的定价。

  1. 导航到 CloudTrail 控制台
  2. 在左侧导航菜单中,选择 Lake
  3. 选择 编辑器
  4. 复制以下查询并将其粘贴到您的编辑器窗口中。(注意:您必须将 $EDS_ID 替换为 事件数据存储的 ID。此外,你可以添加其他你想跟踪的 eventSource)
SELECT
    recipientAccountId, awsRegion, eventSource, count(* 
    ) as TotalPossibleCI 
FROM
    $EDS_ID
Where
    (eventSource like 'eks%' 
        or eventSource like 'ec2%' 
        or eventSource like 'vpc%'
        or eventSource like 'ecs%' 
        or eventSource like 'iam%' 
        or eventSource like 'autoscaling%' 
        or eventSource like 's3%' 
        or eventSource like 'rds%' 
        or eventSource like 'backup%' 
        or eventSource like 'athena%' 
        or eventSource like 'cloudtrail%' 
        or eventSource like 'cloudfront%' 
        or eventSource like 'cloudformation%' 
        or eventSource like 'code%' 
        or eventSource like 'ecr%' 
        or eventSource like 'lambda%' 
        or eventSource like 'efs%' 
    ) 
    and readOnly=False 
    and managementEvent=True 
    and eventTime > '2023-04-01 00:00:00' 
    AND eventTime < '2023-04-30 00:00:00' 
group
    by recipientAccountId, awsRegion, eventSource Order by recipientAccountId desc, TotalPossibleCI desc
  1. 接下来,您必须将要搜索的时间范围替换为要使用的时间范围。这将有助于减少查询中扫描的数据量,使其仅搜索指定的时间和日期。e ventTime > 之后指定的日期字符串 是将包含的最早事件时间戳,而在 e ventTime < 之后指定的日期字符串 是将包含的最新事件时间戳。
  2. 单击 “ 运行 ”, 然后您的结果将显示在 “ 查询结果 ” 下 。请注意,在估算一个月内 记录的配置项目总量的 亚马逊云科技 Config 成本时,将使用 TotalPossibleCI 列的值。
Query results screen displaying the output of the sql query.

图 1:亚马逊云科技 CloudTrail Lake 查询结果

  1. 然后,您可以通过单击 “保存” 来 保存 将来再次运行的查询
  2. 将其命名为 亚马逊云科技 Config 配置项的 估算数量
  3. 输入 A WS Config 配置项目 预估数量的 描述 。
  4. 单击 “ 保存查询 ” 。

选项 2:亚马逊 Athena 的 Aws CloudTrail 查询

如果你有 CloudTrail 设置使用 亚马 逊 A thena 的跟踪,则运行类似的查询。您可以使用下面的示例 Athena 查询来估算如果启用 亚马逊云科技 Config,可以创建多少潜在的配置项目。与上面的 CloudTrail Lake 查询类似,您可以选择通过更新查询的 E ventSource 部分在查询中添加或删除其他 亚马逊云科技 服务。查询结果将为您提供一个起始点,可以与 亚马逊云科技 计算器 一起使用,估算开启 亚马逊云科技 Config 记录器时可能记录的配置项目数量的 亚马逊云科技 Config 成本。另请注意,运行此查询将产生额外费用,请查看 A thena 定价页面 以了解更新的定价。

(注意:您必须将 $ {tableName} 替换为 CloudTrail 的雅典娜表名,并使用要查询的日期范围调整 EventTim e 字段。此外,你可以添加其他 e ventSource( 你想追踪的 eventSource

SELECT
  recipientAccountId, awsRegion, eventSource, count(*) as TotalPossibleCI
FROM
  ${tableName}
WHERE
  (eventSource like ‘eks%’
    or eventSource like ‘ec2%’
    or eventSource like ‘vpc%’
    or eventSource like ‘ecs%’
    or eventSource like ‘iam%’
    or eventSource like ‘autoscaling%’
   or eventSource like ‘s3%’
   or eventSource like ‘rds%’
   or eventSource like ‘backup%’
   or eventSource like ‘athena%’
   or eventSource like ‘cloudtrail%’
   or eventSource like ‘cloudfront%’
   or eventSource like ‘cloudformation%’
   or eventSource like ‘code%’
   or eventSource like ‘ecr%’
   or eventSource like ‘lambda%’
   or eventSource like ‘efs%’
  )
  AND readonly = ‘false’
  AND managementEvent = ‘True’
  AND eventTime > ‘2023-04-01 00:00:00’
  AND eventTime < ‘2023-04-30 00:00:00’
GROUP BY recipientAccountId, awsRegion, eventSource
ORDER BY recipientAccountId desc, TotalPossibleCI desc;

第 2 步:使用 亚马逊云科技 定价计算器创建估算值

如果开启 亚马逊云科技 Config 记录器,我们可以使用 亚马逊云科技 定价计算器来估算每月 亚马逊云科技 Config 的成本,估算出记录的配置项目数量。请注意,记录的配置项目只是 亚马逊云科技 Config 定价的一部分,您还需要估算将在您的账户中运行的 亚马逊云科技 Config 规则和一致性包评估的数量。

  1. 导航到 亚马逊云科技 定价计算器页面,然后选择 创建估算值
  2. 在 “ 选择 服务” 下的 “ 查找服务 ” 搜索框中 ,搜索 “亚马逊云科技 Config”,然后在 亚马逊云科技 Config 下选择 “ 配置 ” 。
  3. 配置 亚马逊云科技 Config 部分,键入描述,然后选择 要为其创建估算价格的 区域
  4. 在 “记录的 配置项目” 部分的 “记录 的配置项目数” 下,输入您之前在 CloudTrail 中运行的查询 中的 “totalPossibleCI” 总值。
  5. 然后,这将为您估算一个月内记录的配置项目总量的 亚马逊云科技 Config 成本。
Create an Estimate screen for configuring AWS Config values for the AWS Pricing Calculator.

图 2:使用 亚马逊云科技 定价计算器创建估算值

清理

如果您想删除保存在CloudTrail Lake中的查询,则可以执行以下步骤:

  1. 导航到 CloudTrail 控制台
  2. 在左侧导航菜单中,选择 Lake
  3. 选择已 保存的查询
  4. 选择 亚马逊云科技 Config 配置项的 预估数量
  5. 单击 “ 删除 ” 。

结论

这篇文章演示了如何使用 CloudTrail Lake 来帮助收集与可能触发 亚马逊云科技 Config 创建配置项目的 API 相关事件数量相关的统计数据。借助 CloudTrail Lake,您可以进一步使用其他查询来更深入地了解账户中捕获的活动。要了解有关 CloudTrail Lake 的更多信息,请参阅博客文章 宣布 亚马逊云科技 CloudTrail Lake — 一个托管审计和安全湖

作者简介:

以赛亚·萨利纳 斯

以赛亚·萨利纳斯是云运营团队的高级专业解决方案架构师。Isaiah 拥有 10 多年的使用 亚马逊云科技 技术的经验,与客户合作设计、实施和支持复杂的云基础设施。他还喜欢与其他人讨论如何使用 亚马逊云科技 服务为他们的问题提供解决方案。

布拉德·吉洛门·

布拉德是 亚马逊云科技 CloudOps 的首席产品专家,专注于 亚马逊云科技 Config 和 CloudTrail。他的经验包括在 亚马逊云科技 领导联邦金融企业支持三年,然后于 2020 年成为产品专家。他目前与我们的客户合作,以降低风险,同时在云端运营时保持安全和合规。


*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。