本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon EC2 和Amazon App Mesh
Amazon X-Ray与集成Amazon App Mesh以管理微服务的 Envoy 代理。App Mesh 提供了 Envoy 版本,您可以将其配置为将跟踪数据发送到在同一任务或 Pod 的容器中运行的 X-Ray 守护程序。X-Ray 支持使用以下 App Mesh 兼容服务进行跟踪:
-
Amazon Elastic Container Service (Amazon ECS)
-
Amazon Elastic Kubernetes Service (Amazon EKS)
-
Amazon Elastic Compute Cloud (Amazon EC2)
使用以下说明以了解如何通过 App Mesh 启用 X-Ray 跟踪。

要将 Envoy 代理配置为向 X-Ray 发送数据,请在其容器定义中设置ENABLE_ENVOY_XRAY_TRACING
环境变量。
注意
App Mesh 版本的 Envoy 目前不根据配置的采样规则发送跟踪。相反,它对于 Envoy 版本 1.16.3 或更高版本使用 5% 的固定采样率,对于 1.16.3 之前的 Envoy 版本,它使用 50% 的采样率。
例 亚马逊 ECS 的 Envoy 容器定义
{ "name": "envoy", "image": "public.ecr.aws/appmesh/aws-appmesh-envoy:
envoy-version
", "essential": true, "environment": [ { "name": "APPMESH_VIRTUAL_NODE_NAME", "value": "mesh/myMesh/virtualNode/myNode" },{ "name": "ENABLE_ENVOY_XRAY_TRACING", "value": "1" }
], "healthCheck": { "command": [ "CMD-SHELL", "curl -s http://localhost:9901/server_info | cut -d' ' -f3 | grep -q live" ], "startPeriod": 10, "interval": 5, "timeout": 2, "retries": 3 }
注意
要了解有关可用的 Envoy 区域地址的更多信息,请参阅Amazon App Mesh用户指南中的 Envo y 图片。
有关在容器中运行 X-Ray 守护程序的详细信息,请参阅在 “X-Ray” 上部署。对于包含服务网格、微服务、Envoy 代理和 X-Ray 守护程序的示例应用程序,请在 App Meshcolorapp
示例 GitHub存储库中部署该示例