AWS API Gateway - 记录错误请求?

时间:2017-09-12 20:43:10

标签: api amazon-web-services logging lambda aws-api-gateway

我有api(API Gateway和Lambda)的日志记录设置。 API Gateway在哪里记录Apache类型的HTTPS连接日志?我想看看什么是没有映射到我的API的终点。例如,我的api是domain.com/api/v1/resource,如果客户端尝试访问domain.com/api/v1/some_invalid_resource,如何记录?此外,API网关可防止API滥用(请参阅https://aws.amazon.com/api-gateway/faqs/),如果我没有连接级别日志,我如何知道我的API是否受到攻击?

3 个答案:

答案 0 :(得分:0)

配置API网关的日志记录时,请确保设置写入日志的角色以允许将其写入cloudwatch。

你可以在云观察下看到它们,就像下面的流一样,

API-网关执行-Logs_(APIID)/ {阶段}

答案 1 :(得分:0)

这是AWS的官方回答:

不幸的是,API Gateway不为客户提供访问日志。我将在API网关端创建一个功能请求,API网关将考虑优先处理此请求,但我无法为此提供ETA。作为解决方法,您可以使用与其他资源相同级别的模拟集成创建代理资源,并且您将能够看到遇到错误资源的请求的日志。

https://forums.aws.amazon.com/thread.jspa?messageID=805138&#805138

答案 2 :(得分:0)

您现在可以在API网关的舞台上启用访问日志记录。 (参见本页底部:http://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html)到目前为止,在我的测试中,它仅为有效请求记录正确的IP地址,requestTime和资源路径。它会记录对无效请求的尝试访问,但不会获取IP,requestTime(无论如何都可以从日志输入时间获取),也不会尝试路径。

我想启用它来查看是否有人试图探测我的API以获取攻击媒介,所以到目前为止它并不是非常有帮助。