如何在Lambda / APIGateway上为Flask应用程序存储Flask-Limiter的限速桶?

时间:2018-06-09 21:20:28

标签: python amazon-web-services flask aws-lambda rate-limiting

我使用Flask在几十个端点上构建了一个API,并使用Zappa将其部署为API网关上的Lambda。

我使用Flask-Limiter对端点进行速率限制。 Flask-Limiter可以使用内存,redis或memcached来请求,但这是我的问题。

因为Lambda是无服务器的,所以我不知道如何配置redis安装来保存Flask-Limiter使用的请求信息。我不确定记忆是否有意义,因为无表情的lambdas是无国籍的。 S3似乎非常慢,任何数据库都是如此(我在应用程序的数据库中使用Aurora)。

广泛的Zappa文档和我通过API网关在速率限制请求中看到的少数StackOverflow问题似乎都没有为API网关和Lambda上的速率限制计算提供持久存储的好方法。

在API Gateway / Lambda上实现API的速率限制是否有一些最佳实践?我觉得它不应该在应用程序中完成,并且可以在AWS控制台中进行一些设置,但我没有看到任何最好的前进方法。 (我也很擅长这一点。)

0 个答案:

没有答案