我在SuSE Linux的Amazon EC2实例上有一个在云中运行的应用程序实例,我需要它连接到位于防火墙后面的本地Intranet(通常是端口80,也包括其他一些端口)上的Web服务。 我正在寻找一个好的策略来实现这一点。
我正在思考防火墙内的Windows 2000服务器上的某种代理,它将通过SSH隧道连接到EC2实例。 但是我从来没有把ssh隧道放在一起。 这是最好的select吗? 什么是我可以用来把它放在一起的一些推荐的工具?
这是为了开发设置,所以它不一定是生产级的健壮。 但它确实需要工作。 有什么想法吗?
亚马逊刚刚推出了虚拟私有云服务,使您可以通过IPsec连接将现有基础架构连接到一组隔离的AWS计算资源。
我会在您的Amazon EC2实例和本地networking之间build立一个VPN。 这将允许您保持所有通信的私密性和安全性,同时允许EC2实例访问防火墙后面的设备。
就个人而言,我发现OpenVPN是这样的事情的完美工具。 安装和configuration非常简单,运行良好,Linux和Windows,而且是开源的。 很难出错。 另外,我也在很多公司用于生产工作,并取得了巨大的成功。
CohesiveFT有一个免费和商业的产品,用于EC2networking“覆盖”
如果您热衷于使用SSH,可能很难在Windows 2000中使用,您可能需要调查Services for UNIX或Cygwin。 就我个人而言,我不会使用SSH来处理这种情况。 我倾向于发现SSH不是长期解决scheme的最佳select,对于一般的隧道,它会施加明显的开销。
我同意OpenVPN是一个理想的工具,它的开销要小得多,而且比SSH有更好的Windows支持。 我将使用Windows 2000机器作为您的networking和EC2实例之间的桥梁。 让您的路由器将所有注定到您的EC2弹性IP范围的stream量转发到Windows 2000机器。 使用OpenVPN创build一个到你的EC2实例的隧道,让Win2k的网桥从物理networkingstream量到由OpenVPN创build的虚拟接口。 这将创造一个透明的解决scheme,有限的延迟和开销。
OpenVPN是一个成熟和可靠的解决scheme,我经常在类似的情况下使用,我发现它通常比商业替代scheme更好地logging和支持。
您可以使用Azure .NET Services中的Service Bus在您的云实例和Intranet Web服务之间安全地中继消息。 我们使用这个来调用Windows Azure的内部Web服务。 如果使用.NET Web服务(使用内置库),该服务显然更容易使用,但该服务应该通过REST API与供应商无关。
不幸的是,文档有点稀疏。 虽然你不需要使用这个模型的任何VPN。