Amazon EC2 和 AWS App Mesh - AWS X-Ray
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon EC2 和 AWS App Mesh

AWS X-Ray 与 AWS 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 环境变量

例 Amazon ECS 的 Envoy 容器定义

{ "name": "envoy", "image": "840364872350.dkr.ecr.us-west-2.amazonaws.com/aws-appmesh-envoy:v1.12.3.0-prod", "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 区域地址的更多信息,请参阅 AWS App Mesh 用户指南中的 Envoy 映像

有关在容器中运行 X-Ray 守护程序的详细信息,请参阅在 Amazon ECS 上运行 X-Ray 守护程序。对于包含服务网格、微服务、Envoy 代理和 X-Ray 守护程序的示例应用程序,请在 App Mesh 示例 GitHub 存储库中部署 colorapp 示例。