跨账号跨区域日志集中化 - Amazon CloudWatch 日志

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

跨账号跨区域日志集中化

Amazon Lo CloudWatch gs 数据集中化使用跨账户和跨区域集中化规则,将来自多个成员账户的日志数据收集到一个数据存储库中。 AWS Organizations 您可以定义自动将日志数据从多个账户复制 AWS 区域 到组织内的集中账户的规则。此功能简化了日志整合,从而改善了整个 AWS 基础架构的集中监控、分析和合规性。

CloudWatch 日志数据集中化提供了配置灵活性,可满足操作和安全要求,例如能够在目标账户内设置规则期间配置备份区域,以确保增强弹性。此外,您可以完全控制从源账户复制的日志组的加密行为,以处理最初使用客户管理的 KMS 密钥加密的数据。

数据集中化概念

在开始使用 CloudWatch 日志数据集中化之前,请先熟悉以下概念:

集中化规则

一种配置,用于定义如何将来自源账户和地区的日志数据复制到目标账户和区域。规则指定源条件和目标设置。

源账户

日志数据来源的 AWS 账户。源账户的日志事件将根据您定义的集中化规则复制到目标账户。

目标账户

存储复制的日志数据的目标 AWS 帐户。此账户用作日志分析和监控的集中位置。

Backup 区域

目标账户中的一个可选辅助区域,可以在其中复制日志数据,以提高弹性和灾难恢复。

CloudWatch 日志中的加密

日志组数据始终在 CloudWatch 日志中加密。默认情况下, CloudWatch Logs 使用具有 256 位高级加密标准 Galois/Counter 模式 (AES-GCM) 的服务器端加密来加密静态日志数据。或者,您可以使用 AWS 密钥管理服务进行此加密。如果这样做,则使用 AWS 自有的 KMS 密钥或客户托管的 KMS 密钥进行加密。使用 KM AWS S 的 KMS 密钥加密可在日志组级别启用,方法是在创建日志组时或日志组存在之后,将 KMS 密钥与日志组关联。将 KMS 密钥与日志组关联后,该日志组所有新摄取的数据都将使用该密钥加密。这些数据在整个保留期内都以加密格式存储。 CloudWatch 只要有请求,日志就会解密这些数据。 CloudWatch 每当请求加密数据时,例如对源账户运行日志集中化规则时,日志都必须具有 KMS 密钥的权限。如果您使用的是客户托管的 KMS 密钥,请使用标签更新与源日志组和目标日志组关联的 KMS 密钥LogsManaged = true。有关更多信息,请参阅《密AWS 钥管理服务开发人员指南》中的 KMS AWS 密

设置日志集中化

要设置 CloudWatch Logs Centralization,您需要配置集中化规则,以定义日志数据如何从源账户中的日志组流向目标账户中的日志组。

启用集中化规则并将日志事件复制到目标账户后,您可以使用增强的筛选功能在集中式日志组上创建指标、订阅和账户筛选器。这些过滤器可以定位来自特定源账户和地区的日志事件,并且可以将源账户和区域信息作为指标维度发出。有关更多信息,请参阅 使用筛选条件从日志事件创建指标

先决条件

  • AWS Organizations 必须进行设置,并且源帐户和目标帐户都必须属于该组织。

  • 必须为管理账户和目标账户启用可信访问权限 CloudWatch,以便提供对日志数据的访问权限。

创建集中规则

使用以下步骤创建将日志数据从源账户复制到目标账户的集中化规则。

创建集中化规则
  1. 使用组织的管理或委派管理员帐户导航到 CloudWatch 控制台。

  2. 选择设置

  3. 导航至 “组织” 选项卡。

  4. 选择配置规则

  5. 通过设置以下字段来指定来源详细信息,然后选择 “下一步”:

    1. 集中化规则名称:输入集中规则的唯一名称。

    2. 来源帐户:定义来源选择标准,以选择要从中集中遥测数据的帐户。选择标准可以包括:

      • 组织中的成员账户列表

      • 组织中的组织单位列表

      • 整个组织

      您可以通过两种模式提供选择标准:

      • Builder:一种基于点击的体验,用于生成来源选择标准

      • 编辑器:提供来源选择标准的自由格式文本框

      源选择标准支持的语法:

      • 支持的密钥: OrganizationId | OrganizationUnitId | AccountId | *

      • 支持的运算符:= | IN | OR

    3. 来源区域:选择区域列表以查找要集中的遥测数据。

  6. 通过设置以下字段来指定目的地详细信息,然后选择下一步

    1. 目标帐户:在组织中选择一个充当遥测数据中心目标的帐户。

    2. 目标区域:选择存储集中式遥测数据副本的主要区域。

    3. Backup Region:(可选)选择存储集中式遥测数据的第二个副本的区域。

  7. 通过设置以下字段来指定遥测数据,然后选择下一步:

    1. 日志组:选择以下选项之一:

      • 所有日志组:集中源账户中所有日志组的日志。

      • 筛选日志组:根据日志组选择标准,集中源账户中日志组子集中的日志。您可以通过两种模式提供选择标准:

        • Builder:一种基于点击的体验,用于生成日志组选择标准

        • 编辑器:提供日志组选择标准的自由格式文本框

        日志组选择标准支持的语法:

        • 支持的密钥: LogGroupName| *

        • 支持的运算符:= |! = | 在 | 不在 | 和 | 或 | 喜欢 | 不喜欢 | 不喜欢

    2. KMS 加密日志组

      重要

      CloudWatch 如果集中化规则中提供的 KMS 密钥不允许日志使用,则集中化规则将无法将日志从源账户传送到目标 CloudWatch 日志组。有关更多信息,请参阅 步骤 2:设置 KMS 密钥的权限

      请选择以下选项之一:

      • 不要集中使用客户托管的 KMS 密钥加密的日志组:跳过集中使用客户托管 KMS 密钥加密的源日志组中的日志事件。

      • 使用托管 KMS 密钥@@ 将使用客户托管 KMS 密钥加密的日志组集中到目标账户中:将使用客户 AWS 托管 KMS 密钥加密的源日志组中的日志事件集中到与客户托管 KMS 密钥无关而是使用托管 KMS 密钥的目标日志组中。 AWS

        选择此设置后,还必须设置以下内容:

        • 目标加密密钥 ARN:属于目标账户和主目标区域的 KMS 密钥的 ARN,将与新创建的目标日志组相关联。

        • 备份目标加密密钥 ARN(可选):属于目标账户和备份目标区域的 KMS 密钥的 ARN,将与新创建的目标日志组相关联。

        注意

        请注意,此设置仅适用于使用客户托管的 KMS 密钥对源日志组进行加密的情况,并且仅适用于目标账户中新创建的日志组。

  8. 查看集中化规则,可以选择在最后一刻进行任何编辑,然后选择创建集中化策略。

修改集中规则

使用以下步骤修改现有的集中化规则。

修改集中规则
  1. 使用组织的管理或委派管理员帐户导航到 CloudWatch 控制台。

  2. 选择设置

  3. 导航至 “组织” 选项卡。

  4. 选择管理规则

  5. 选择要更新的规则,然后选择编辑

  6. 根据需要更新规则配置,选择 “下一步” 继续执行每个步骤。

  7. 在步骤 4 “查看和配置” 中,选择 “更新集中化策略”。

查看集中规则

使用以下步骤查看现有集中化规则的详细信息。

查看集中化规则
  1. 使用组织的管理或委派管理员帐户导航到 CloudWatch 控制台。

  2. 选择设置

  3. 导航至 “组织” 选项卡。

  4. 选择管理规则

  5. 查看所有现有集中化规则的列表,然后选择特定的规则名称以查看其详细信息。

删除集中化规则

使用以下步骤删除现有的集中化规则。

删除集中化规则
  1. 使用组织的管理或委派管理员帐户导航到 CloudWatch 控制台。

  2. 选择设置

  3. 导航至 “组织” 选项卡。

  4. 选择管理规则

  5. 选择要删除的规则,然后选择删除

  6. 确认删除并选择删除

监控集中化

您可以使用 CloudWatch指标、 CloudWatch 日志控制台和日志来监控集中化规则的状态和 AWS CloudTrail 性能。这可以帮助您确保成功复制日志数据,并确定集中化配置中存在的任何问题。

在控制台中监控集中化

使用 CloudWatch 日志控制台查看集中化规则的状态和活动。

在控制台中监控集中化规则
  1. 使用组织的管理或委派管理员帐户导航到 CloudWatch 控制台。

  2. 选择设置

  3. 导航至 “组织” 选项卡。

  4. 选择管理规则

  5. 查看集中化规则列表,其中显示:

    • 规则名称:每条集中规则的名称

    • 规则状态:当前操作状态(活动、非活动、错误)

    • 创建日期:规则的创建时间

    • 目标账户 ID:目标账户的账户 ID

    • 目标区域:目标账户所在的地区

  6. 选择特定的规则名称以查看规则配置的详细信息

集中监控

您可以使用控制台界面和 API 操作监控集中化规则。

当前的监控功能包括:

  • 规则运行状况:通过控制台或 GetCentralizationRuleForOrganization API 监控集中化规则的整体运行状况

  • 规则配置:查看规则设置和上次更新时间戳

  • 失败原因:当规则被标记为不健康时,查看详细的失败信息

  • API 活动:通过 CloudTrail 日志跟踪集中化 API 调用

监控规则运行状况

每条集中化规则都有一个健康状态,用于指示其运行是否正常。您可以通过控制台或使用 API 以编程方式检查规则运行状况。

规则运行状况状态包括:

  • HEALTHY:该规则运行正常,正在按配置复制日志数据

  • UNHEALTHY:该规则遇到了问题,可能无法正确复制数据

  • PROVISIONING: 该组织的集中化正在建立之中。

当规则被标记为 UNHEALTHY 时,该FailureReason字段会提供有关需要解决的特定问题的详细信息。

使用监控集中化 API 调用 AWS CloudTrail

AWS CloudTrail 记录对集中化服务进行的 API 调用,允许您跟踪配置更改并解决属于您的 AWS Organizations成员的账户的问题。

集中化的关键 CloudTrail 事件包括:

  • CreateCentralizationRuleForOrganization: 当新的集中化规则被创建时

  • UpdateCentralizationRuleForOrganization: 修改现有规则时

  • DeleteCentralizationRuleForOrganization: 当规则被删除时

  • GetCentralizationRuleForOrganization: 检索规则详细信息时

  • ListCentralizationRulesForOrganization: 列出规则时

您可以使用 CloudTrail 日志来审核集中化配置更改,并将其与性能问题或复制失败相关联。