Amazon EC2 和 AWS App Mesh - AWS X-Ray

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon EC2 和 AWS App Mesh

AWS X-Ray 與整合AWS App Mesh以管理微服務的特使代理。App Mesh 提供了一個版本的 Envoy,您可以將其配置為將跟踪數據發送到在相同任務或網繭的容器中運行的 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 版本目前不會根據配置的取樣規則傳送追蹤。取而代之的是,特使 1.16.3 或更新版本使用 5% 的固定取樣率,而使用 1.16.3 之前的特使版本採樣率為 50%。

範例 Amazon ECS 的特使容器定義
{ "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 }
注意

要了解有關可用的特使地區地址的更多信息,請參閱 AWS App Mesh 用戶指南中的 Envoy 圖像

如需在容器中執行 X-Ray 精靈的詳細資訊,請參閱X-Ray Amazon。對於包含服務網格、微服務、Envoy Proxy 和 X-Ray 精靈的範例應用程式,請在 App Mesh 範例儲存庫中部署範例 GitHubcolorapp