我在 AWS VPC 中运行我自己的 NAT 实例。我想确保 NAT 实例不会成为瓶颈,为此我想设定我自己对何时扩展到辅助 NAT 的期望(如果有的话)。
我知道实例类型(如果这很重要,目前是 m1.medium)是其中的一个重要方面,但想知道如何检查 NAT 实例是否开始达到其最大值以及我是否可以实现更好的吞吐量VPC 中的机器,如果其中一些使用不同的 NAT 实例。
它通过一个非常简单的 iptables 指令进行 NAT,如下所示:
$ iptables --table nat --list
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 10.0.0.0/16 anywhere
它可能会在两件事上成为瓶颈:CPU 和带宽。监控 CPU 应该很简单,并且很容易判断它何时达到限制。带宽应该易于监控,但更难判断何时达到限制,因为 EC2 不保证一定数量的网络带宽。您可以进行一些带宽测试并从中推断出限制。
在任何情况下,网络问题都会以 TCP 重传的形式显示在客户端上。在所有客户端上监控这一点会告诉您何时出现问题,但不一定是您的 NAT 实例或其他问题。