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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

亚马逊 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 跟踪。

显示客户端和 App Mesh 服务之间轨迹的轨迹地图。

要配置 Envoy 代理以将数据发送到 X-Ray,请在其容器定义中设置 ENABLE_ENVOY_XRAY_TRACING 环境变量

注意

Envoy 的 App Mesh 版本目前不根据配置的采样规则发送跟踪。而是使用 5% 的固定采样率(针对 Envoy 版本 1.16.3 或更新版本),或 50% 的采样率(针对 Envoy 1.16.3 之前的版本)。

例 Amazon 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 }
注意

请参阅《 Amazon App Mesh 用户指南》中的 Envoy 图像,了解有关可用 Envoy 区域地址的更多信息。

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