对每月总传出数据设置上限的最简单方法是什么?我不想在短时间内限制带宽,目的是确保即使我受到 DDOS 攻击并且无法响应 AWS 限制监视器的警报,我也可以在每月带宽成本的支出限额内。
Node.js 在 AWS EC2 中的 Ubuntu 上运行,因此可以在多个级别实现此功能。
答案1
我会用tc
和令牌桶过滤器(tbf
)来实现这一点。如果你有一条 1Gbps 的线路,在满负荷的情况下,它可以传输约 328TB/月。如果你的传出数据限制为 50TB/月,那么最大持续速率将是
(50/328)Gbps ~ 0.152Gbps ~ 152Mbps
然后你可以使用 tc 来限制最大
tc qdisc add dev eth0 root tbf rate 152.0mbit burst 20kb latency 50ms
或类似的东西。当然,如果你没有一直充分利用你的链接,那么这可能会很浪费,但你不应该超出你的限制。
Wolfram Alpha对于解决这类问题也很方便。