Cloudtrail 到 Cloudwatch 到其他账户

Cloudtrail to Cloudwatch to other account

我有 4 个 aws 帐户,出于安全目的,我想将所有日志集中到一个帐户中。

意思是从帐户 prod、dev 和 perf 收集 cloudwatch 日志到一个名为 logs 的帐户中。理想情况下,它们最终会出现在帐户日志中的 cloudwatch 中,因此我可以使用 ELK 轻松处理它们。

我在这里读到:

http://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CrossAccountSubscriptions.html

但是我找不到关于如何简单地设置整个堆栈的教程。

如有任何建议,我们将不胜感激。

在另一个账户中使用 CloudWatch Logs 的唯一不同之处在于您需要使用的凭证。

我会这样做;在您的日志帐户中,创建 3 个 IAM 用户:

  • 产品
  • 开发
  • 性能

为每个用户授予必要的 IAM 权限以将日志写入 CloudWatch 日志。此外,为您将用于身份验证的 3 个用户创建一组 AWS 凭据。

然后在您的应用程序中,根据您所在的堆栈,将您的代码配置为使用相关凭证(即 Dev、Prod)写入 CloudWatch 日志。唯一的区别应该是您在代码中的任何位置创建 CloudWatch 日志客户端。您应该从您的 "Logs" 帐户向客户端传递相关 IAM 用户的凭据。

编辑:

如果您使用的是 CloudWatch Logs 客户端,思路是一样的。您创建用户,而只是向客户提供相关的 AWS 凭证。您可以在 /etc/awslogs/awslogs.conf 中从您的日志帐户中为用户指定信用。您使用的凭证会将您的日志发送到其他账户中的 CloudWatch。您需要遵循的过程基本上记录在 AWS docs