簡體   English   中英

AWS X-Ray Crossacount 數據收集

[英]AWS X-Ray Crossacount data collection

我有一個分布在兩個 AWS 賬戶上的應用程序。 應用程序的一部分將數據從一個帳戶提取到另一個帳戶。

生產者部分實現為 python lambda 微服務。 消費者部分是彈性 beanstalk 中的 spring-boot 應用程序和額外的 python lambdas,它們在 EBeanstalk 中的 spring-boot 應用程序處理后進一步將數據分發到外部系統。

我沒有在任何地方運行的顯式 X-Ray 守護進程。

我想知道是否可以將一個帳戶的 X 射線跟蹤發送到該帳戶,以便我可以在一個地方監控我的應用程序。

我在文檔中找不到有關跨帳戶使用的任何提示。 這甚至可行嗎?

如果您運行 X-Ray 守護程序,您可以向該守護程序提供RoleARN ,以便它承擔該角色並將其從 X-Ray SDK 接收的數據從賬戶 1 發送到賬戶 2。

但是,如果您在 API Gateway 或 AWS Lambda 上啟用了 X-Ray,這些服務生成的分段將發送到它們運行的​​賬戶,並且無法為這些服務跨賬戶發送數據。

如果您有任何疑問,請告訴我。 如果是,請包括您正在使用的架構流程和解決方案堆棧,以更好地指導您。

謝謝,瑜伽士

這是可能的,但您必須將自己的 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM