我有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是否受到攻击?
答案 0 :(得分:0)
配置API网关的日志记录时,请确保设置写入日志的角色以允许将其写入cloudwatch。
你可以在云观察下看到它们,就像下面的流一样,
API-网关执行-Logs_(APIID)/ {阶段}
答案 1 :(得分:0)
这是AWS的官方回答:
不幸的是,API Gateway不为客户提供访问日志。我将在API网关端创建一个功能请求,API网关将考虑优先处理此请求,但我无法为此提供ETA。作为解决方法,您可以使用与其他资源相同级别的模拟集成创建代理资源,并且您将能够看到遇到错误资源的请求的日志。
https://forums.aws.amazon.com/thread.jspa?messageID=805138󄤒
答案 2 :(得分:0)
您现在可以在API网关的舞台上启用访问日志记录。 (参见本页底部:http://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html)到目前为止,在我的测试中,它仅为有效请求记录正确的IP地址,requestTime和资源路径。它会记录对无效请求的尝试访问,但不会获取IP,requestTime(无论如何都可以从日志输入时间获取),也不会尝试路径。
我想启用它来查看是否有人试图探测我的API以获取攻击媒介,所以到目前为止它并不是非常有帮助。