将 ECS 服务日志转发到 AWS CloudWatch 的正确方法是什么?

What's the proper way to forward ECS service logs to AWS CloudWatch?

所以我的理解是,当我使用 AWS Copilot 将新服务部署到 ECS 时,默认情况下日志会自动转发到 CloudWatch。

Copilot 为每个服务创建日志组,我可以在 CloudWatch Logs 中看到。

但是,根据 AWS 文档,日志记录也可以使用 Copilot sidecars 和 AWS FireLens 实现,它使用 FluentD 或 FluentBit 收集日志,然后转发内容 CloudWatch。

我不明白为什么这是必要的。我的意思是,为什么要创建一个用于登录到 CloudWatch 的 sidecar,当日志记录似乎自动工作时,没有任何 sidecar。

https://aws.github.io/copilot-cli/docs/developing/sidecars/

这里有一个通过 FireLens 进行日志记录的示例。与默认情况下工作的日志记录机制相比,这样做有什么好处?

提前致谢!

AWS Copilot 为您的应用程序构建映像,该应用程序已配置代理以将日志转发到 CloudWatch,但是您可能希望将其他映像部署到未安装此代理的 ECS。例如,假设你想部署一个 nginx 容器到 ECS,你可能会选择使用 sidecar 转发日志而不是自定义 nginx 镜像。