在我的上一个博客,我概述了Nutanix Frame™如何在Amazon Web Services(AWS)中带上您自己的(BYO)网络功能,以允许将其连接到现有的专用网络的方式部署框架帐户。在那篇文章中,我部署了RDP堡垒服务器,因此由于我没有私人网络,因此可以从基于Internet的机器访问这些私人帧工作负载。
在此博客中,我将演示如何使用框架自动流动网关设备(SGA)部署功能来授予Internet访问那些相同的私人工作负载,以便我不再需要RDP Bastion Server来访问专用网络。
专用网络配置
下图显示了现有的专用网络配置。
图1.现有网络配置
在这种情况下,我选择将A /24 CIDR用于VPC,以便更好地适应SGA的要求,即目标专用网络具有18至24位的网络掩码。
流门户设备(SGA)
Streaming Gateway设备(SGA)是基于NGINX®软件的反向代理,客户可以部署,允许基于Internet的用户连接到专用网络上的Frame Workload Virtual Machines(VM)。描述了体系结构这里。可以通过遵循这些信息(VPC,子网)在您的私有云上手动部署SGA方向。您需要将通配符DNS的记录,SGA的通配符公共密钥证书和负载平衡器管理(如果您希望进行高可用性SGA部署)。
最近,Nutanix引入了一个功能(框架网络,与SGA的专用网络),该功能自动化了SGA的部署。这使框架客户管理员可以在创建帐户期间从框架控制台创建一个或多个SGA。借助此功能,自动编排过程既可以创建框架工作负载VPC,又创建SGA VPC,可以处理通配符DNS记录,通配符公共密钥证书和负载平衡器(如果需要)。但是,此功能不适用于我们的BYO网络案例。
如果您通过框架帐户名称,应用于SGA VPC的CIDR以及要部署的SGA数量,可以利用自动化功能。Nutanix的支持可以启动该过程,以自动为您创建SGA VPC并将其凝视到您现有的VPC。
在此示例中,我希望使用10.101.0.0/24 CIDR中的VPC中2个SGA,以便两个VPC可以彼此以及我将来可能创建的任何其他私人子网路由。自动化的SGA部署过程最终将创建解决方案体系结构,如图2所示。
图2. SGA部署体系结构
帧自动创建VPC,对等,子网(每个可用性区域),Internet网关,NAT GW,所请求的SGA数量和负载平衡器(如果要求超过1个SGA)。它还设置了路线。框架帐户VPC上唯一需要完成的任务是检查工作负载安全组并确认SGA可以在443上建立与Workload VMS的入站连接,以便Internet上的用户可以从Workload VMS流式传输。在此示例中,我通过允许所有10.0.0.0/8 IP来创建Workload Security Group中的入站TCP/443会话来做到这一点。
自动化整个事情
如上所述,帧具有新的功能,可以在使用BYO AWS订阅创建框架帐户时自动部署和设置SGA。该功能标记为“带有SGA的专用网络”,允许Frame Administrator在一个简单的步骤中自动部署框架SGA VPC和Frame Workload VPC。上面提到的唯一需要的其他信息是Workload VPC的VPC CIDR。
图3.带有SGA对话框的专用网络
遵循我们在我们中描述的工作流程文档,帧平台将与上面的BYO网络案例创建几乎完全相同的架构。SGA将被放置在负载平衡器后面,并将创建专用于框架帐户的“让我们加密”证书并自动部署。使用的子域将是Nutanixframe.com域中的子域,并将包括“供应商ID”,它是框架帐户的唯一标识符(供应商ID在下面的示例中为33957)。
启用SGA工作负载VM主机名的示例
SGA AutoDeploy-网络
如上所述,无论是通过Nutanix支持还是通过框架控制台启动的SGA AutoDeploy都会创建一个专用于SGA的VPC。这种分离的好处是创建一个基于云的DMZ,可以集中和确保与专用网络的入站连接。
图4. SGA VPC
帧管理员定义了CIDR块,并使用该块创建了VPC。该CIDR应该在需要连接的专用网络或私人VPC上是唯一的。
AutoDeploy过程将根据AWS地区的AWS可用性区(AZS)的数量将此VPC分为子网。如果请求多个SGA,则帧平台将在多个AZS中部署SGA,当单个AZ无法访问时,会导致高可用性(HA)解决方案。
Internet网关连接到SGA VPC,如果需要,将在SGA的前面提供负载平衡器,以完成HA设置。最终的网络步骤使用请求的帧帐户工作负载VPC创建对等,并在两个VPC中更新路由表。
SGA AutoDeploy -DNS
下一步是根据图5所示的“供应商ID”中所谓的“供应商ID”创建DNS子区域。每个帧帐户在帐户的“摘要”页面上都有一个唯一的ID。
图5.供应商ID
该子区将服从于Nutanixframe.com域,并将属于sga-nutanixframe.com的表格。我们将Route53用于DNS,因此将创建子区域,并将设置一个单个通配符条目,指向单个SGA实例的IP或AWS负载均衡器的CNAME。
SGA AutoDeploy -Nginx配置
SGA VM本身将使用“用户数据”部署,这是每次启动SGA时运行的脚本。它使用帧平台设置的环境变量来自定义配置。
如果未配置,SGA所做的第一件事是创建一个公共或私人键盘,该键盘将公共密钥发送到框架平台。该对用于确保SGA和帧平台之间的未来通信。
然后,脚本与“ Letsencrypt”联系以获取挑战字符串,然后将其转发到帧平台。框架平台将挑战字符串作为TXT记录,将其存储在DNS子区域中,以便“ Letsencrypt”可以验证DNS子区域的所有权。
然后,SGA脚本对帧平台进行轮询,直到从帧平台获得DNS更新已完成的确认为止。然后,它告知“ Letsencrypt”可以验证挑战。成功后,LetSencrypt完成了SSL证书签名,并将公共密钥证书返回SGA,可以在NGINX配置中使用。
一个单独的脚本获取提供的CIDR信息,并为每个潜在的工作负载IP地址中的NGINX中创建适当的条目。
一旦完成,NGINX就会重新启动,SGA就可以使用了!
好处
自动部署流网路电器(SGA)为框架管理员提供了框架帐户的额外安全性的好处,而无需获得和维护SSL证书并管理Wildcard DNS记录。它还通过允许管理员控制框架帐户和SGA VPC的专用IP地址,从而简化框架工作负载帐户和专用网络之间的连接。
关于作者
David Horvath是Nutanix框架的高级解决方案建筑师。他已经成为框架团队的一员已有近4年了,在此之前,他花了20年的时间与美国情报界的各种信息技术项目进行咨询。
©2021 Nutanix,Inc。保留所有权利。Nutanix,Nutanix徽标和所有Nutanix产品,此处提到的功能和服务名称是美国和其他国家的Nutanix,Inc。的注册商标或商标。本文提到的其他品牌名称仅用于识别目的,可能是其各自持有人的商标。这篇文章可能包含指向不属于Nutanix.com一部分的外部网站的链接。Nutanix不控制这些站点,并对任何外部站点的内容或准确性不承担所有责任。我们决定链接到外部站点的决定不应被视为对该站点上任何内容的认可。这篇文章可能包含明确和暗示的前瞻性陈述,这些陈述不是历史事实,而是基于我们当前的期望,估计和信念。此类陈述的准确性涉及风险和不确定性,并取决于未来的事件,包括可能无法控制的事件,实际结果可能与此类陈述所预期的或暗示的事件可能存在重大差异。本文所包含的任何前瞻性陈述仅在此期开始,除了法律要求外,我们没有义务更新或修改任何此类前瞻性陈述,以反映后续事件或情况。