我想使用 AWSSupport-TroubleshootAPIGatewayHttpErrors AWS Support 自动化工作流程 (SAW) 运行手册来解决 Amazon API Gateway 错误。
简短描述
AWSSupport-TroubleshootAPIGatewayHttpErrors 运行手册提供了一种自动化解决方案来查找和解决 API Gateway HTTP 请求引起的错误。如果您的 API 配置为记录所有资源和方法请求,您可以使用此运行手册来解决 4xx 和 5xx 错误。
有关如何设置日志记录的更多信息,请参阅在 API Gateway 中为 REST API 设置 CloudWatch 日志记录。
有关 SAW 的详细信息,请参阅 AWS Support 自动化工作流程 (SAW)。
解决方法
AWSSupport-TroubleshootAPIGatewayHttpErrors 运行手册会在尝试检索和分析 Amazon CloudWatch Logs 之前验证 API、资源、方法和阶段。
运行该自动化任务的当前用户或代入的 AWS Identity and Access Management (IAM) 服务角色必须具有以下权限:
- apigateway:GET
- logs:GetQueryResults
- logs:StartQuery
- ssm:DescribeAutomationExecutions
- ssm:GetAutomationExecution
- ssm:DescribeAutomationStepExecutions
- ssm:StartAutomationExecution
- ssm:DescribeDocument
- ssm:GetDocument
- ssm:ListDocuments
先决条件
在运行运行手册之前,请确保您的 IAM 用户或角色具有相应权限。这些权限包括特定的 AWS Systems Manager 权限以及上文中介绍的其他特定于服务的权限。
运行 AWSSupport-TroubleshootAPIGatewayHttpErrors 自动化
-
打开 AWSSupport-TroubleshootAPIGatewayHttpErrors 运行手册。
**注意:**该运行手册位于 us-east-1 AWS 区域。
-
选择执行自动化。
对于输入参数,请输入以下内容:
- **RestApiId(必填):**需要排查问题的 API 的 API ID。
- **StageName(必填):**已部署阶段的名称。
- **ResourcePath(必填):**该方法的资源路径。
- **HttpMethod(必填):**已配置的资源路径的方法。
- **StartTime(必填):**查询 CloudWatch Logs 的开始日期和时间。格式必须是 yyyy-MM-ddTHH:mm:ss,时区必须为 UTC。
- **EndTime(必填):**查询 CloudWatch Logs 的结束日期和时间。格式必须是 yyyy-MM-ddTHH:mm:ss,时区必须为 UTC。
- **AccessLogs(必填):**提供有关是否已分析访问日志的信息。
- **ExecutionId(选填):**请求出错时对应的执行 ID。
- **AutomationAssumeRole(选填):**IAM 角色的 Amazon 资源名称(ARN),允许 Automation(Systems Manager 的一项功能)代表您执行操作。如果未指定角色,则 Automation 将使用启动运行手册的用户的权限。
-
选择执行。自动化启动。
-
自动化完成后,请查看输出部分以获取详细结果。
**注意:**即使未找到任何日志,运行手册也能成功完成。