我们正在实施使用具有自动扩展功能的 AWS ELB 的解决方案。
我们遇到的问题是,有时我们集成的第三方(例如支付网关)需要将我们的 IP 列入“白名单”。由于自动缩放实例的 IP 不可预测,因此我们的设置很难实现这一点。
我不想使用像单独的“NAT实例”这样的东西,因为在我看来,它会破坏我们环境的所有美观性和冗余性,并造成单点故障。
在这种情况下,最佳做法是什么?是否有任何建议的解决方案可以实现 EC2 和相关服务的可扩展性和固有可靠性,但仍将所有出站连接绑定到一组有限的 IP 地址?
答案1
如果这仅用于与合作伙伴网络的传出连接,则 NAT 网关是您从 Auto Scaling 组获取所有出站连接的唯一机会。您需要一个 NAT 并为其分配一个 ElasticIP,以便您的合作伙伴可以将其列入白名单。
如果您想避免单点故障,请使用托管 NAT 网关,因为它比在 EC2 上运行的网关具有更高的容错能力。如果您当前的基础设施是这样设置的,您可以在两个不同的可用区中设置两个托管 NAT 网关。这会花费一些钱,因为托管 NAT 并不太便宜,但在我看来这是最好的选择。