Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS-如何限制对域中一个端点的调用?_Amazon Web Services_Api - Fatal编程技术网

Amazon web services AWS-如何限制对域中一个端点的调用?

Amazon web services AWS-如何限制对域中一个端点的调用?,amazon-web-services,api,Amazon Web Services,Api,我们在AWS中托管了一个应用程序。我们现在计划为这个应用程序提供一个公共API。为该api的请求提供服务的成本很高。是否可以使用AWS(在我们的应用程序中不实现逻辑)限制对该api的请求,这样,如果在指定时间内发出的请求超过一定数量,它们将被拒绝 任何建议都将不胜感激。 谢谢。我认为至少有两种方法可以做到这一点: 如果您使用EC2托管Linux实例,则可以使用iptables按源IP地址进行速率限制。如果您想将垃圾邮件发送到某些端点的IP列入黑名单,则可以使用AWS WAF为您的API创建速率

我们在AWS中托管了一个应用程序。我们现在计划为这个应用程序提供一个公共API。为该api的请求提供服务的成本很高。是否可以使用AWS(在我们的应用程序中不实现逻辑)限制对该api的请求,这样,如果在指定时间内发出的请求超过一定数量,它们将被拒绝

任何建议都将不胜感激。
谢谢。

我认为至少有两种方法可以做到这一点:


如果您使用EC2托管Linux实例,则可以使用
iptables
按源IP地址进行速率限制。

如果您想将垃圾邮件发送到某些端点的IP列入黑名单,则可以使用AWS WAF为您的API创建速率限制规则:


您想要什么级别的节流(以reqs/sec或reqs/min为单位)?你希望发生什么事超过限制?API返回的数据多久更改一次?为什么要公开一个“昂贵”的API?@michaelsqlbot:throttling级别:(reqs/min)将是理想的。一旦超过限制,HTTP 503可能就是响应。每次通话的数据变化;每个调用都涉及到对其他RESTAPI的多个调用。为了使我们的客户能够访问该API,需要公开该API(业务要求);由于我们了解客户机,如果服务器响应超过200,我们可以建议指数退避。