跨账户跨区域日志集中化 - Amazon CloudWatch Logs
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

跨账户跨区域日志集中化

Amazon CloudWatch Logs 数据集中化可结合 Amazon Organizations 使用,通过使用跨账户和跨区域集中化规则将多个成员账户中的日志数据收集到一个数据存储库中。您可以定义自动将日志数据从多个账户和 Amazon Web Services 区域复制到组织内集中账户的规则。此功能简化了日志整合流程,可在整个 Amazon 基础设施范围内实现更高效的集中监控、分析与合规性管理。

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

注意

CloudWatch Logs 集中化仅处理在您创建集中化规则后到达源账户的新日志数据。历史日志数据(创建规则之前存在的日志)不会进行集中。

数据集中化概念

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

集中化规则

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

源账户

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

目标账户

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

备份区域

目标账户中的可选辅助区域,可以在其中复制日志数据,以提高恢复能力并实现灾难恢复。

CloudWatch Logs 中的加密

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

设置日志集中化

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

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

先决条件

  • 必须设置 Amazon Organizations,并且源账户和目标账户都必须属于该组织。

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

创建集中化规则

请按照以下过程创建一个将日志数据从源账户复制到目标账户的集中化规则。

创建集中化规则
  1. 以组织的管理账户或委派管理员账户身份导航至 CloudWatch 控制台。

  2. 选择设置

  3. 导航到组织选项卡。

  4. 选择配置规则

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

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

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

      • 组织内的成员账户列表

      • 组织内的组织单元列表

      • 整个组织

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

      • 生成器:基于点击的体验,可生成源选择标准

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

      源选择标准支持的语法:

      • 支持的键:OrganizationId | OrganizationUnitId | AccountId | *

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

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

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

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

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

    3. 备份区域:根据需要选择存储集中式遥测数据的第二个副本的区域。

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

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

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

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

        • 生成器:基于点击的体验,可生成日志组选择标准

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

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

        • 支持的键:LogGroupName | *

        • 支持的运算符:= | != | IN | NOT IN | AND | OR | LIKE | NOT LIKE

    2. KMS 加密的日志组

      重要

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

      请选择以下选项之一:

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

      • 使用 Amazon 托管式 KMS 密钥在目标账户中集中通过客户管理型 KMS 密钥加密的日志组:将通过客户管理型 KMS 密钥加密的源日志组中的日志事件集中到未与客户管理型 KMS 密钥关联而是使用 Amazon 托管式 KMS 密钥的目标日志组中。

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

        • 目标加密密钥 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 Logs 控制台和 Amazon CloudTrail 日志来监控集中化规则的状态和性能。这有助于确保日志数据成功复制,并识别集中化配置中的任何问题。

在控制台中监控集中化

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

在控制台中监控集中化规则
  1. 以组织的管理账户或委派管理员账户身份导航至 CloudWatch 控制台。

  2. 选择设置

  3. 导航到组织选项卡。

  4. 选择管理规则

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

    • 规则名称:每个集中化规则的名称

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

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

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

    • 目标区域:目标账户的区域

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

集中化监控

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

当前监控功能包括:

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

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

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

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

监控规则运行状况

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

规则运行状况包括:

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

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

  • PROVISIONING:组织的集中化正在设置过程中。

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

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

Amazon CloudTrail 会记录对集中化服务的 API 调用,使您可以跟踪配置更改并排查 Amazon Organizations 成员账户的问题。

关键 CloudTrail 集中化事件包括:

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

  • UpdateCentralizationRuleForOrganization:修改现有规则时

  • DeleteCentralizationRuleForOrganization:删除规则时

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

  • ListCentralizationRulesForOrganization:列出规则时

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