我们使用API将拒绝请求的服务,除非源IP先前已被列入白名单。 他们只给我们3个插槽,这是一个问题,因为我们有超过3台机器需要使用API。
解决此问题最常用的技术是什么?
注意:我没有试图针对第三方API的条款和条件做任何事情。 我们正在使用ResellerClub ,我联系他们要求更多的插槽,但他们回答:
我请求你把你的服务器路由到一些IP地址。
因此,这个问题。
思考:
我们的体系结构:我们使用AWS,并将我们的实例放在ELB后面运行的VPC中。 我们经常在不知道IP地址的情况下提出新的实例。 我们在所有机器上运行相同的软件。 机器运行CoreOS,我们的应用程序在Docker容器中运行。
一个相当普遍的基础结构是没有一个实际的应用服务器具有公共的IPv4 IP地址,它们将位于负载平衡器后面的RFC 1918专用networking范围内,并且他们做出的任何传出请求是:
我想我会发布一个更新,因为项目现在已经成功完成使用NAT实例。
正在使用“一个NAT实例”,我应该看看? 看起来很复杂 – 有没有更简单的解决scheme?
现在NAT实例全部build立起来了,最初的复杂感已经过去了,实际上感觉很简单 – 甚至比以前更干净(因为被迫使用私有子网是安全性的提升)。
来自AWS的官方NAT实例设置说明运行良好: http : //docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html 。 我们使用Amazon提供的AMI来启动NAT实例。 经历了这个过程之后,我意识到它是如何“行业标准”,甚至可能是“最佳实践”。
缺点:
t2.small不是很贵,而且库存AMI不需要修改,所以不是很大的维护负担)。 .ssh/config并在“ ProxyCommand ”上阅读,您可以使事情100%透明,这样只需使用ssh server1即可。