我在亚马逊云上运行了一个设置,其中有几个EC2实例正在通过负载均衡器运行。
当我插入第三方API时,网站具有唯一(静态)IP或IP集非常重要,因为第三方API仅接受已添加到其白名单中的IP请求。
所以基本上除非我们能够给这些第三方提供静态IP或IP范围,否则网站的请求将始终来自我们,我们将无法对它们进行任何调用。
任何人都知道如何实现这一点,因为我知道弹性IP与负载均衡器不兼容?
如果我要查找负载均衡器DNS名称的IP(例如dualstack.awseb-BAMobile-ENV-xxxxxxxxx.eu-west-1.elb.amazonaws.com解析为200.200.200.200)那么IP是静态?
非常感谢任何帮助/建议。
答案 0 :(得分:18)
负载均衡器的IP地址不是静态的。无论如何,您的传入负载均衡器IP不会用于传出连接。
您可以将弹性IP分配给负载均衡器后面的实际实例,然后将其用于传出请求。你得到5个弹性ips,我相信你可以在需要时申请更多。
此外,如果使用VPC并且您的实例位于私有子网中,那么他们将只能通过您设置的NAT实例访问互联网,您当然可以为NAT实例分配弹性IP
答案 1 :(得分:8)
您可以将附加 ENI(弹性网络接口)附加到VPC中的实例。这样,ELB(Elastic Load Balancer)将传入的Internet请求路由到Web服务器,并且附加的ENI将用于连接到您的第三方(或内部)请求(管理网络)
中查看有关它的更多详细信息答案 2 :(得分:5)
我真正了解这一点的唯一方法是在VPC中设置实例,并拥有专用的NAT实例,通过该实例路由所有出站流量。
以下是有关如何设置NAT实例的AWS文档的链接:
http://docs.amazonwebservices.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html
答案 3 :(得分:5)
这是一个老问题,但现在情况发生了变化。
现在,您可以创建网络ELB以获取具有静态IP的LB.
来自https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html
答案 4 :(得分:4)
您可以将弹性IP附加到实例但不附加到ELB(客户端看到的内容)。
您可以使用完整的反向代理图层7负载均衡器,例如HAProxy:
或商业实施,如Loadbalancer.org或Riverbed(Zeus)
他们都在AWS Marketplace:
答案 5 :(得分:0)
您可以使用DNSMadeeasy等DNS服务,该服务允许" ANAME"记录。这些行为类似于A记录,但可以指向FQDN或IP。因此,在这种情况下,您可以将其指向ELB DNS。
戴夫
答案 6 :(得分:0)
您可以在AWS中使用已经提到的loadbalancer.org设备。它将取代AWS NAT实例并提供更多功能,包括Layer4和Layer7,以及SSL终止和WAF。
最重要的是,您在AWS的30天试用版中获得免费支持,以帮助您启动和运行。
是的,我在为loadbalancer.org工作时有偏见但是我会说没有什么冒险没有获得。
答案 7 :(得分:0)
您对第三方API的出站请求不会通过ELB / ALB发出。这是用于传入连接。如果您需要入站静态IP,则可能需要放弃负载均衡器(或弄清楚如何执行Anshu的建议将弹性IP附加到负载均衡器上,有关详细信息,请参见文档)。更新:我找到了一些有关ALB使用静态地址的文档(我只是尝试将一个弹性IP绑定到一个IP,以确保失败)。 如果您在谈论出站连接,请参见以下内容: