介绍
组织通常需要在用户与内部网络资源之间建立安全连接。对于拥有全球员工的组织,传统的虚拟私人网络(VPN)解决方案可能难以扩展。提供单一的VPN端点会导致单点故障:一旦出现故障,将会失去对关键IT基础设施的连接。
通常,需要身份提供者(IdP)来对用户进行VPN身份验证。微软的Active Directory是许多组织常用的身份提供者。由于微软Active Directory已经存在近二十年,因此IT组织的域通常代表了大量的时间和精力投资。组织通常希望将微软Active Directory集成作为业务应用程序的身份验证层,以最大化该投资。然而,配置传统VPN解决方案以对微软Active Directory进行身份验证可能是一个复杂的过程。
在本文中,您将学习如何在多个AWS区域创建AWS客户端VPN端点,并允许所有端点的用户对单一目录进行身份验证。
服务简介
首先,让我们总结一下在此解决方案中使用的AWS服务。
AWS客户端VPN
AWS客户端VPN是一种可扩展的、完全托管的VPN服务。它为用户提供了一个端点,可以使用基于OpenVPN的VPN客户端软件与AWS网络建立安全连接。在正确的网络配置下,用户通过客户端VPN连接访问AWS和本地资源。
微软Active Directory身份验证
客户端VPN还支持微软Active Directory身份验证。您可以集成自我管理的目录,或使用AWS目录服务托管的微软AD。AWS托管的微软AD允许您运行功能齐全的微软Active Directory,并进行自动数据复制、快照和软件更新。该解决方案还利用了Active Directory连接器,这是一个管理网关,可以将目录请求代理到其他域控制器。
Amazon Route 53
Amazon Route 53是一项高度可用和可扩展的DNS网络服务,可以根据延迟(以及其他路由策略)智能路由用户,从而实现容错和低延迟的解决方案。
AWS证书管理器(ACM)
AWS证书管理器(ACM)使您能够轻松配置、管理和部署用于AWS服务的公共和私有安全套接字层/传输层安全性(SSL/TLS)证书,包括客户端VPN。
架构
图1所示的架构实现了通过AWS服务访问远程用户的容错解决方案。当用户启动VPN连接时,Route 53通过找到当前提供最低延迟的客户端VPN端点来确定使用哪个端点。Route 53将该端点的地址响应给DNS请求。然后,VPN用户会被提示输入其微软Active Directory凭据。客户端VPN端点将这些凭据与多区域托管的微软AD进行身份验证,如果凭据有效,VPN用户将与AWS建立安全连接。
在定期间隔内,Route 53进行健康检查,尝试与客户端VPN端点建立TCP连接。(对于此解决方案,客户端VPN端点必须使用TCP作为传输协议,而不是默认的UDP。)如果对某个端点的检查失败,Route 53将该端点视为不健康,并停止将用户定向到该不健康的端点,直到服务恢复。Route 53随后将VPN用户发送到其余健康的端点之一。
我们将通过逐步部署来详细探讨组件。
解决方案优点
与传统选项相比,此解决方案提供了几个优势: - 灵活性:您可以使用单一控制平面进行目录管理。 - 改善用户体验:它将VPN用户路由到延迟最低的端点,从而在与私有IT资源交互时提供更响应的用户体验。 - 可靠性:如果客户端VPN服务发生区域性中断,Route 53仅将VPN用户路由到健康的VPN端点。 - 成本优化:AD连接器为分支区域提供身份验证,这比运行单独的托管微软Active Directory便宜。 - 可扩展性:您可以类似地配置多个分支区域,随着组织进入新地区而扩展。
步骤1:选择主区域和分支区域
首先,查看可用的AWS区域,并指定一个主区域和一个或多个分支区域。本文后续将使用基于托管资源的区域命名的约定,例如“主VPC”或“分支VPC”。
本示例使用美国东部(北弗吉尼亚)作为主区域,使用美国西部(俄勒冈州)作为唯一的分支区域。任何提供所需服务的AWS区域都可以充当主区域或分支区域。主区域之所以被指定,是因为它托管了主要的AWS托管微软AD实例。为了提供最佳的VPN用户体验,客户可以通过在靠近用户的区域实施此架构来降低平均网络延迟。例如,一家美国客户在欧洲也有员工,可以选择北弗吉尼亚作为主区域,而爱尔兰作为分支区域。
步骤2:在每个区域创建VPC和子网
对于每个选择的区域,创建一个Amazon虚拟私有云(VPC)。确保VPC的IPv4 CIDR不重叠,否则它们将无法进行对等连接,如步骤3所述。在每个VPC中,在不同的可用区(AZ)中创建两个子网。确保子网的IPv4 CIDR块没有重叠。
步骤3:对等区域网络
通过VPC对等连接或AWS Transit Gateways,将主VPC和分支VPC连接起来。由于VPN用户可能会连接到任何端点,因此网络对等连接为他们提供了连接到超出其连接区域的IT资源的网络路径。配置此连接超出了此解决方案的范围。
步骤4:配置主目录和复制目录
为了维护单一的身份验证控制平面,您使用AWS托管的微软AD实例上的多区域复制。这种使用微软Active Directory的方式自动将AWS托管的微软AD目录数据复制到多个区域,消除了全球Active Directory基础设施通常需要的繁重工作。
步骤4a:主区域
创建AWS托管的微软AD的企业版,如图2所示,并使用两个主子网进行配置。创建可能需要最多45分钟。
步骤4b:分支区域
在创建AWS托管的微软AD后,将每个分支区域添加为复制区域,如图3所示,并在每个区域的两个分支子网中配置网络。AWS托管的微软AD实例配置区域之间的网络连接,以便进行复制。来自主区域的Active Directory对象的任何更改都会复制到所有其他区域,从而简化VPN用户的管理。
步骤5:在分支区域创建AD Active Directory连接器
截至目前,您无法配置客户端VPN端点以对复制的AWS托管微软AD实例进行身份验证。然而,您可以配置对AD连接器的身份验证。在每个分支区域中,创建一个AD连接器实例,如图4所示。将其连接到同一区域内的已复制的AWS托管微软AD实例。请注意,主区域不需要完成此步骤,因为主端点可以直接与主AD Active Directory实例关联。
步骤6:创建并导入服务器证书
无论我们使用何种身份验证方法,客户端VPN端点都需要通过AWS证书管理器(ACM)提供的服务器证书。创建一个证书并将其导入到主区域和所有分支区域的ACM中。
如果您需要为每个端点使用独特的证书,并且这些证书具有不同的证书...(内容未完待续)
通过上述步骤,您可以有效地配置AWS客户端VPN,以满足组织的安全连接需求。希望这篇文章能帮助您更好地理解和实现VPN解决方案。