选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

使用 API Gateway REST API 设置 AWS X-Ray

聚焦模式
使用 API Gateway REST API 设置 AWS X-Ray - Amazon API Gateway

在本节中,您可以找到有关如何使用 API Gateway REST API 设置 AWS X-Ray 的详细信息。

API Gateway 的 X-Ray 跟踪模式

通过跟踪 ID 来跟踪请求在您的应用程序中传输的路径。跟踪会收集单个请求(通常是 HTTP GETPOST 请求)生成的所有分段。

API Gateway API 的跟踪有两种模式:

  • 被动:如果您尚未在 API 阶段上启用 X-Ray 跟踪,则此模式为默认设置。此方法意味着,只有在上游服务上启用 X-Ray 后才会跟踪 API Gateway API。

  • 主动:如果 API Gateway API 阶段具有此设置, API Gateway 会自动根据 X-Ray 指定的采样算法对 API 调用请求进行采样。

    在一个阶段上启用主动跟踪时,如果服务相关角色不存在,API Gateway 会在您的账户中创建该角色。该角色被命名为 AWSServiceRoleForAPIGateway,且将 APIGatewayServiceRolePolicy 托管策略附加于此。有关服务相关角色的更多信息,请参阅使用服务相关角色

    注意

    X-Ray 应用采样算法确保跟踪有效,同时为 API 所接收的请求提供代表性样本。默认的采样算法是每秒钟 1 个请求,超过此限制的请求采样 5%。

您可以使用 API Gateway 管理控制台、API Gateway CLI 或AWS开发工具包更改 API 的跟踪模式。

X-Ray 跟踪的权限

当您在一个阶段上启用 X-Ray 跟踪时,如果服务相关角色不存在,则 API Gateway 会在您的账户中创建该角色。该角色被命名为 AWSServiceRoleForAPIGateway,且将 APIGatewayServiceRolePolicy 托管策略附加于此。有关服务相关角色的更多信息,请参阅使用服务相关角色

在 API Gateway 控制台中启用 X-Ray 跟踪

您可以使用 Amazon API Gateway 控制台在 API 阶段上启用活动的跟踪。

这些步骤假设您已将 API 部署到阶段。

  1. 通过以下网址登录到 Amazon API Gateway 控制台:https://console.aws.amazon.com/apigateway

  2. 选择您的 API,然后在主导航窗格中选择阶段

  3. 阶段窗格中,选择阶段。

  4. 日志和跟踪部分中,选择编辑

  5. 要启用活动的 X-Ray 跟踪,请选择 X-Ray 跟踪以开启 X-Ray 跟踪。

  6. 选择 Save changes(保存更改)

一旦您已为 API 阶段启用了 X-Ray,则可以使用 X-Ray 管理控制台查看跟踪和服务地图。

使用 API Gateway CLI 启用 AWS X-Ray 跟踪

使用以下 create-stage 命令创建具有活动 X-Ray 跟踪的阶段:

aws apigateway create-stage \ --rest-api-id rest-api-id \ --stage-name stage-name \ --deployment-id deployment-id \ --region region \ --tracing-enabled=true

输出将与以下内容类似:

{ "tracingEnabled": true, "stageName": stage-name, "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "deploymentId": deployment-id, "lastUpdatedDate": 1533849811, "createdDate": 1533849811, "methodSettings": {} }

使用以下 create-stage 命令创建没有活动 X-Ray 跟踪的阶段:

aws apigateway create-stage \ --rest-api-id rest-api-id \ --stage-name stage-name \ --deployment-id deployment-id \ --region region \ --tracing-enabled=false

输出将与以下内容类似:

{ "tracingEnabled": false, "stageName": stage-name, "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "deploymentId": deployment-id, "lastUpdatedDate": 1533849811, "createdDate": 1533849811, "methodSettings": {} }

使用以下 update-stage 为已部署 API 启用活动 X-Ray 跟踪:

aws apigateway update-stage \ --rest-api-id rest-api-id \ --stage-name stage-name \ --patch-operations op=replace,path=/tracingEnabled,value=true

使用以下 update-stage 为已部署 API 停用活动 X-Ray 跟踪:

aws apigateway update-stage \ --rest-api-id rest-api-id \ --stage-name stage-name \ --region region \ --patch-operations op=replace,path=/tracingEnabled,value=false

输出将与以下内容类似:

{ "tracingEnabled": false, "stageName": stage-name, "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "deploymentId": deployment-id, "lastUpdatedDate": 1533850033, "createdDate": 1533849811, "methodSettings": {} }

一旦您已为 API 阶段启用了 X-Ray,请使用 X-Ray CLI 检索跟踪信息。有关更多信息,请参阅将 API 与 AWS CLI 一起使用

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。