[英]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.