我正在使用 AWS。我的目标是设置基础设施,该基础设施将在传出连接上具有静态 IP(支付提供商的要求,该解决方案已在我们的应用程序中实施),同时我希望具有负载平衡功能。我阅读了一些文档,它们都说,这种解决方案是不可能实现的,因为您需要决定是使用 Elastic Load Balance(不提供静态 IP)还是 Elastic IP(同时不提供负载平衡)。有什么技巧可以用于我的情况吗?
提前感谢您的任何建议。
皮奥特
答案1
如果您的支付处理器需要静态 IP,那么您不能在该实例上使用 ELB。您需要为连接到支付处理器的实例分配一个弹性 IP。
我们在 AWS 中运行的应用程序解决这个问题的方法是设置第二个小实例,使用弹性 IP,然后安装微型代理我们可以在上面设置代理服务器。我们有一个由 8 台 Web 服务器组成的集群,它们位于 ELB 后面,用于处理站点流量,当它们需要连接到我们的支付处理器(也需要静态 IP)时,Web 服务器会通过代理服务器建立连接。这样,支付处理器就可以看到来自运行 TinyProxy 的那台主机的所有连接。
答案2
“代理”答案的替代方法是使用带有 NAT 盒的 VPC 进行传出连接。
我们目前使用代理来与支付处理器建立传出连接,但我们正在迁移到 VPC。我们可以使用负载平衡扩展组来与我们的网站建立传入连接,但服务器通过 NAT 盒向支付处理器发出传出请求。NAT 盒具有静态 IP,并且可以被支付处理器列入白名单。
刚刚看到关于传入与传出的评论。如果支付处理器发起与您之间的连接,则您必须使用具有静态 IP 的代理,然后将其转发到您的 ELB。