選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

在 Amazon ECS 上執行 X-Ray 協助程式

焦點模式
在 Amazon ECS 上執行 X-Ray 協助程式 - AWS X-Ray

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

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

在 Amazon ECS 中,建立執行 X-Ray 協助程式的 Docker 映像,將其上傳至 Docker 映像儲存庫,然後將其部署到您的 Amazon ECS 叢集。您可以使用您任務定義檔案中的連接埠映射和網路模式設定,來允許應用程式與精靈容器通訊。

使用官方 Docker 映像檔

X-Ray 在 Amazon ECR 上提供 Docker 容器映像,您可以隨應用程式一起部署。如需詳細資訊,請參閱下載協助程式

範例 任務定義
{ "name": "xray-daemon", "image": "amazon/aws-xray-daemon", "cpu": 32, "memoryReservation": 256, "portMappings" : [ { "hostPort": 0, "containerPort": 2000, "protocol": "udp" } ] }

建立和建置 Docker 影像

用於自訂組態時,您可能需要定義自己的 Docker 影像。

將受管政策新增至您的任務角色,以授予協助程式將追蹤資料上傳至 X-Ray 的許可。如需詳細資訊,請參閱授予協助程式將資料傳送至 X-Ray 的許可

使用以下其中一個 Dockerfiles 建立執行精靈的映像。

範例 Dockerfile – Amazon Linux
FROM amazonlinux RUN yum install -y unzip RUN curl -o daemon.zip https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-linux-3.x.zip RUN unzip daemon.zip && cp xray /usr/bin/xray ENTRYPOINT ["/usr/bin/xray", "-t", "0.0.0.0:2000", "-b", "0.0.0.0:2000"] EXPOSE 2000/udp EXPOSE 2000/tcp
注意

指定要接聽多重容器環境迴路的繫結地址時,必須提供標記 -t-b

範例 Dockerfile – Ubuntu

若是 Debian 的衍生產品,您還需要安裝憑證授權機構 (CA) 憑證,以避免下載安裝程式時發生問題。

FROM ubuntu:16.04 RUN apt-get update && apt-get install -y --force-yes --no-install-recommends apt-transport-https curl ca-certificates wget && apt-get clean && apt-get autoremove && rm -rf /var/lib/apt/lists/* RUN wget https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-3.x.deb RUN dpkg -i aws-xray-daemon-3.x.deb ENTRYPOINT ["/usr/bin/xray", "--bind=0.0.0.0:2000", "--bind-tcp=0.0.0.0:2000"] EXPOSE 2000/udp EXPOSE 2000/tcp

在您的任務定義中,組態取決於您使用的聯網模式。預設值是橋接聯網,可在您的預設 VPC 中使用。在橋接網路中,設定 AWS_XRAY_DAEMON_ADDRESS 環境變數,以告知 X-Ray SDK 要參考和設定主機連接埠的容器連接埠。舉例來說,您可以發佈 UDP 連接埠 2000,然後建立您應用程式容器與精靈容器的連結。

範例 任務定義
{ "name": "xray-daemon", "image": "123456789012.dkr.ecr.us-east-2.amazonaws.com/xray-daemon", "cpu": 32, "memoryReservation": 256, "portMappings" : [ { "hostPort": 0, "containerPort": 2000, "protocol": "udp" } ] }, { "name": "scorekeep-api", "image": "123456789012.dkr.ecr.us-east-2.amazonaws.com/scorekeep-api", "cpu": 192, "memoryReservation": 512, "environment": [ { "name" : "AWS_REGION", "value" : "us-east-2" }, { "name" : "NOTIFICATION_TOPIC", "value" : "arn:aws:sns:us-east-2:123456789012:scorekeep-notifications" }, { "name" : "AWS_XRAY_DAEMON_ADDRESS", "value" : "xray-daemon:2000" } ], "portMappings" : [ { "hostPort": 5000, "containerPort": 5000 } ], "links": [ "xray-daemon" ] }

若您在 VPC 私有子網路中執行您的叢集,您可以使用 awsvpc 網路模式來將彈性網路界面 (ENI) 連接到您的容器。這可讓您避免使用連結。忽略連接埠映射、連結,以及 AWS_XRAY_DAEMON_ADDRESS 環境變數中的主機連接埠。

範例 VPC 任務定義
{ "family": "scorekeep", "networkMode":"awsvpc", "containerDefinitions": [ { "name": "xray-daemon", "image": "123456789012.dkr.ecr.us-east-2.amazonaws.com/xray-daemon", "cpu": 32, "memoryReservation": 256, "portMappings" : [ { "containerPort": 2000, "protocol": "udp" } ] }, { "name": "scorekeep-api", "image": "123456789012.dkr.ecr.us-east-2.amazonaws.com/scorekeep-api", "cpu": 192, "memoryReservation": 512, "environment": [ { "name" : "AWS_REGION", "value" : "us-east-2" }, { "name" : "NOTIFICATION_TOPIC", "value" : "arn:aws:sns:us-east-2:123456789012:scorekeep-notifications" } ], "portMappings" : [ { "containerPort": 5000 } ] } ] }

在 Amazon ECS 主控台中設定命令列選項

命令列選項會覆寫影像組態檔中的任何衝突值。命令列選項通常用於本機測試,但也可以在設定環境變數或控制啟動程序時使用。

透過新增命令列選項,您將更新傳遞給容器的 Docker CMD。如需詳細資訊,請參閱 Docker 執行參考

若要設定命令列選項
  1. 開啟 Amazon ECS 傳統主控台,網址為 https://console.aws.amazon.com/ecs/

  2. 從導覽列中選擇包含您任務定義的區域。

  3. 在導覽窗格中,選擇 Task Definitions (任務定義)。

  4. Task Definitions (任務定義) 頁面中,選取要修訂之任務定義左側的方塊,並選擇 Create new revision (建立新修訂版)。

  5. Create new revision of Task Definition (建立任務定義的新修訂版) 頁面上,選取容器。

  6. ENVIRONMENT (環境) 區段中,將逗號分隔的命令列選項清單新增至 Command (命令) 欄位。

  7. 選擇更新

  8. 驗證資訊,然後選擇 Create (建立)。

下列範例顯示如何為 RoleARN 選項撰寫逗號分隔的命令列。RoleARN 選項會擔任指定的 IAM 角色,將區段上傳至不同的帳戶。

--role-arn, arn:aws:iam::123456789012:role/xray-cross-account

若要進一步了解 X-Ray 中可用的命令列選項,請參閱設定 AWS X-Ray 協助程式

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。