

# 使用应用程序跟踪数据来识别 Amazon ECS 的优化机会
<a name="trace-data"></a>

Amazon ECS 与 Amazon Distro for OpenTelemetry 集成，以从应用程序中收集跟踪数据。Amazon ECS 使用 Amazon Distro for OpenTelemetry 附加容器，以收集跟踪数据并将其路由到 Amazon X-Ray。有关更多信息，请参阅[在 Amazon ECS 中设置 Amazon Distro for OpenTelemetry Collector](https://aws-otel.github.io/docs/setup/ecs)。然后，您可以使用 Amazon X-Ray 来识别错误和异常、分析性能瓶颈和响应时间。

要使 Amazon Distro for OpenTelemetry Collector 将跟踪数据发送到 Amazon X-Ray，必须将您的应用程序配置为创建跟踪数据。有关更多信息，请参阅 *Amazon X-Ray 开发人员指南*中的[分析 Amazon X-Ray 的应用程序](https://docs.amazonaws.cn/xray/latest/devguide/xray-instrumenting-your-app.html)。

## Amazon Distro for OpenTelemetry 与 Amazon X-Ray 集成所需的 IAM 权限
<a name="trace-data-iam"></a>

Amazon ECS 与 Amazon Distro for OpenTelemetry 集成要求您创建任务角色并在任务定义中指定角色。我们建议您为配置 Amazon Distro for OpenTelemetry sidecar，以将容器日志路由到 CloudWatch Logs。

**重要**  
如果您还要使用 Amazon Distro for OpenTelemetry 集成收集应用程序指标，请确保您的任务 IAM 角色还包含该集成所需的权限。有关更多信息，请参阅 [使用应用程序指标关联 Amazon ECS 应用程序性能](metrics-data.md)。

创建角色后，请创建一个具有以下权限的策略，然后将其附加到该角色。
+ `logs:PutLogEvents`
+ `logs:CreateLogGroup`
+ `logs:CreateLogStream`
+ `logs:DescribeLogStreams`
+ `logs:DescribeLogGroups`
+ `logs:PutRetentionPolicy`
+ `xray:PutTraceSegments`
+ `xray:PutTelemetryRecords`
+ `xray:GetSamplingRules`
+ `xray:GetSamplingTargets`
+ `xray:GetSamplingStatisticSummaries`
+ `ssm:GetParameters`