使用AWS VPN客户端访问内部Web应用程序

我试图将客户端的networking连接到我们的AWS数据中心,以允许访问(之前公开的)内部networking应用程序。

目前,我们已经build立了dynamic​​路由到一个新的,空的VPC的CIDR与客户端的networking不冲突,作为我们主要的VPC冲突的VPNbuild立。

几个问题:

1)该CIDR是否需要广告​​或传播到客户端networking,我该怎么做?

2)我如何将该范围内的客户端可访问IP地址转发到包含Web应用程序的VPC的内部IP地址?

3)一旦完成,我该如何将安全组应用到该VPN连接,以限制对该IP的访问?

或者,我是否以这种错误的方式去做?

1)该CIDR是否需要广告​​或传播到客户端networking,我该怎么做?

如果VPN有dynamic路由,那就意味着它是为BGPconfiguration的,所以VPC的CIDR应该自动发布。

2)我如何将该范围内的客户端可访问IP地址转发到包含Web应用程序的VPC的内部IP地址?

这是你的计划失败的地方。

对于通过VPC边界的stream量,VPC必须具有对等连接。 对等连接不支持中转stream量。

如果对等连接中的任一VPC具有以下连接之一,则无法将对等关系扩展到该连接:

•VPN连接

http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html

与VPC B的VPN连接无法访问VPC A中的资源,即使A和B被对等也是如此。

但是,下一点将会说明,这也是一样。

3)一旦完成,我该如何将安全组应用到该VPN连接,以限制对该IP的访问?

你不能。 VPC提供的VPN连接本质上是可信的。 他们被允许访问VPC中的实例上的安全组允许访问的任何实例,这意味着您的所有实例(包括只有私有IP地址的实例)必须由其安全组进行适当保护,因为VPC VPN连接在该可信连接的防火墙上打开一个大洞。

但是,您没有此问题,因为您已经为客户互连创build了新的VPC,并且无法通过对等连接传输到主VPC。

您在第2点中解决问题的方法是在VPC B中configuration代理服务器。将其安全组configuration为允许从允许的客户端IP进行访问,由于您在此VPC中没有其他内容,因此解决了第3点问题。 将代理指向VPC A中的实际服务,并允许其IP地址通过VPC A中相应的安全组访问服务。

或者,我是否以这种错误的方式去做?

也许。 :)内置于VPC的VPN服务似乎是用于连接到完全可信的networking。

在我的基础架构中,我只有一个这样的VPN连接到客户端的networking,但在这种情况下,整个VPC都在自己的AWS账户上,并且具有专用于该一个客户端的基础设施。

在其他情况下,我有一个到客户端networking/从客户端networking的IPSec隧道,我不使用从VPC的VPN提供,因为,正如你可以看到,这真的不是理想的。 相反,我使用弹性IP终止了EC2实例上的隧道,运行Linux,Openswan和HAProxy。

networking编号不是一个因素,因为我将一个非冲突地址分配给网关实例上的辅助回送接口,并将HAProxy绑定到它。 无论我是访问客户的LDAP还是HTTP服务,还是访问我的一台服务器,我的机器都会看到实例正常的VPC分配的代理IP地址,但客户的networking会看到代理使用的假的非冲突地址在IPSec隧道内监听来自客户端的连接或build立到客户端的出站连接。

因此,在我的VPCnetworking和客户端之间没有发生实际的IP路由 – 在网关服务器上运行的代理维护的背靠背TCP连接是从networking到networking的唯一path,顺便说一句,在$ 5 / month的t2.nano实例类上运行得很好。