AWS API Gateway 是否有可能在不删除 API 本身的情况下“关闭”/“禁用”API Gateway 中的 API? 我希望保留 API 的配置,而不会因删除而丢失它我希望避免;这也将具有防止使用 AWS 计费 API 的有益并行动机。
有可能吗,还是删除是唯一的选择?
您可以将阶段的突发限制/速率限制设置为零。 在控制台中:API 网关 -> 选择 API -> 保护/节流 -> 选择你的阶段 -> 编辑默认路由节流 -> 突发限制=0,速率限制=0
至少对我有用。调用 API 时,您会得到:
{“消息”:“请求太多”}
没有禁用按钮,但有两种可能性可以被视为解决方法:
Deny
资源基础策略添加到 API。{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Principal": "*",
"Action": "execute-api:Invoke",
"Resource": "execute-api:/{{stageNameOrWildcard}}/{{httpVerbOrWildcard}}/{{resourcePathOrWildcard}}"
}
]
}
该策略将拒绝 API 的所有调用,使其有效禁用。但调用仍将计入 API 使用量。
似乎有一个比上面更简单的答案:
如果您担心您的信用卡被附加到您的个人 AWS 账户以进行试用层访问,并且机器人会找到您的网关并对它进行 DOS 攻击,您可以通过导航到
API Gateway
>选择你的 API > Stages
> 选择你的阶段。然后进行以下调整:
Save
变化您必须为 API 的每个阶段执行此操作。
重新部署您的 API。
如果您超过阈值,亚马逊可能会要求您对费用负责 - 即使它们不是您自己针对您的端点提出的请求。