【问题标题】:CloudWatch not receiving Cloudtrail logs from outside regionCloudWatch 未收到来自外部区域的 Cloudtrail 日志
【发布时间】:2018-09-28 23:17:29
【问题描述】:

我正在努力检测在 CloudWatch 中的给定区域之外执行的活动。例如,如果 InternetGateway 与 CloudWatch 事件(比如说 eu-central-1)在同一区域中创建,CloudWatch 会检测到它,但是如果它在其他地方(比如说 eu-west-1)它不会抓住事件。

但是,Cloudtrail 确实捕获了给定区域中的事件(它是跨区域激活的),正如我在该特定区域的事件历史记录中看到的那样。 (让我们再说一遍 eu-west-1)。

无论创建区域如何,我如何让 CloudWatch 对正在发生的事情采取行动?

  • 是否应该在每个区域中创建 CloudWatch 事件,以及与修复相关的 lambda 函数?
  • 或者有没有办法捕获所有区域的日志并在一个单一的空间中处理它们?

【问题讨论】:

  • 进行分布式部署然后在一个区域中针对一项功能进行整理似乎是个坏主意。可能应该按地区进行。除非你知道自己在做什么。

标签: amazon-web-services amazon-cloudwatch amazon-cloudtrail


【解决方案1】:

您应该能够将跨区域的 cloudtrail 日志放入单个存储桶中:

从多个区域接收 CloudTrail 日志文件您可以将 CloudTrail 配置为将日志文件从多个区域传送到 单个账户的单个 S3 存储桶。例如,您有一条线索 在配置为传递日志文件的美国西部(俄勒冈)区域中 到 S3 存储桶和 CloudWatch Logs 日志组。当您应用 跟踪到所有区域,CloudTrail 在所有其他区域创建一个新跟踪 地区。该路径具有原始路径配置。 CloudTrail 将日志文件传送到同一个 S3 存储桶和 CloudWatch Logs 日志 组。

来自:https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html

【讨论】:

  • 我的 Trail 存储桶确实在单个空间中接收所有日志。但是,当在其区域之外发生某些事情时,不会触发 CloudWatch 事件。我是否应该跨区域创建相同的 CloudWatch 事件来涵盖我的整个订阅?
【解决方案2】:

我在将 CloudTrail 转到 CloudWatch Logs 时遇到了类似的问题。我想将 eu-west-1 的 CloudTrail 事件和 Route 53 的全局事件(似乎来自 us-east-1)接收到 CloudWatch Logs 流中,这样我就可以对我们的 AWS 账户添加一些进一步的监控和警报。

https://docs.aws.amazon.com/awscloudtrail/latest/userguide/send-cloudtrail-events-to-cloudwatch-logs.html 上的文档非常好,易于理解,甚至提到:

注意

适用于所有区域的跟踪将所有区域的日志文件发送到您指定的 CloudWatch Logs 日志组。

但是,我无法让它工作。我还尝试让日志传递 IAM 策略更加宽松——默认策略包括流名称中的区域名称,我认为这可能会改变来自其他区域的日志——但这没有帮助。最终,即使事件正确显示在 S3 存储桶中,我也无法从 eu-west-1 外部获取任何内容以传送到 CloudWatch Logs。

我最终通过在 us-east-1 中创建第二个重复跟踪并将该区域的日志传送到该区域的 Cloudwatch Logs 来解决此问题。

【讨论】:

    猜你喜欢
    • 2020-10-06
    • 1970-01-01
    • 2018-12-08
    • 2020-02-27
    • 2022-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多