[英]AWS X-Ray Crossacount data collection
我有一个分布在两个 AWS 账户上的应用程序。 应用程序的一部分将数据从一个帐户提取到另一个帐户。
生产者部分实现为 python lambda 微服务。 消费者部分是弹性 beanstalk 中的 spring-boot 应用程序和额外的 python lambdas,它们在 EBeanstalk 中的 spring-boot 应用程序处理后进一步将数据分发到外部系统。
我没有在任何地方运行的显式 X-Ray 守护进程。
我想知道是否可以将一个帐户的 X 射线跟踪发送到该帐户,以便我可以在一个地方监控我的应用程序。
我在文档中找不到有关跨帐户使用的任何提示。 这甚至可行吗?
这是可能的,但您必须将自己的 xray-daemon 作为服务运行。
默认情况下,lambda 使用其自己的 xray 守护进程向其运行的帐户发送跟踪。但是,X-Ray SDK 支持可用于使用自定义 xray 守护进程的环境变量。 即使微服务在 lambda function 中运行,这些环境变量也适用。
由于您的 lambda 写在 python 中,您可以参考这个AWS Doc谈论环境变量。 您可以将该值设置为自定义 xray 守护程序服务的地址。
AWS_XRAY_DAEMON_ADDRESS = x.x.x.x:2000
假设您要将跟踪从账户 1 发送到账户 2。您可以通过将守护程序配置为承担一个角色来实现。 此角色必须存在于帐户 2(您要将跟踪发送到的位置)中。 然后在账户 1 中运行 XRay 守护程序服务时通过传递选项来使用此角色的 ARN(从您希望发送跟踪的位置)。 此处的AWS 文档中提到了要使用的选项。
--role-arn, arn:aws:iam::123456789012:role/xray-cross-account
确保您在帐户 1 中附加了权限,以便将跟踪发送到帐户 2。
最近的发布现在可以做到这一点: https://aws.amazon.com/about-aws/whats-new/2022/11/amazon-cloudwatch-cross-account-observability-multiple-aws-accounts/ 。
您可以将账户链接到另一个账户以共享跟踪、指标和日志。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.