VPC 设计 - 部署的最佳实践 WorkSpaces

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

VPC 设计

本节介绍调整您的 VPC 和子网的最佳实践、流量以及对目录服务设计的影响。

在为您的 Amazon 设计 VPC、子网、安全组、路由策略和网络访问控制列表 (ACL) 时,需要考虑以下几点, WorkSpaces 以便您可以构建可扩展、安全且易于管理的 WorkSpaces 环境:

  • VPC — 我们建议使用专门用于 WorkSpaces 部署的单独的 VPC。使用单独的 VPC,您可以 WorkSpaces 通过创建流量分离来为自己指定必要的监管和安全护栏。

  • 目录服务-每个 AWS Directory Service 结构都需要一对子网,这些子网提供在可用区之间分配的高可用性目录服务。

  • 子网大小 — WorkSpaces 部署与目录结构相关联并驻留在与您选择的 VPC 相同的 VPC 中 AWS Directory Service,但它们可以位于不同的 VPC 子网中。一些注意事项:

    • 子网大小是永久性的,不能更改。你应该为未来的增长留出充足的空间。

    • 您可以为所选安全组指定默认安全组 AWS Directory Service。安全组适用于与特定 AWS Directory Service 构造关联的所有 WorkSpaces 组件。

    • 您可以让多个实例 AWS Directory Service 使用同一个子网。

在设计 VPC 时,请考虑未来的计划。例如,您可能需要添加管理组件,例如防病毒服务器、补丁管理服务器或 AD 或 RADIUS MFA 服务器。值得在您的 VPC 设计中规划更多可用 IP 地址以满足此类要求。

有关 VPC 设计和子网规模调整的深入指导和注意事项,请参阅 re: Invent 演示文稿 Amazon.com 如何迁移到亚马逊。 WorkSpaces

网络接口

每个 WorkSpaces 都有两个弹性网络接口 (ENI)、一个管理网络接口 (eth0) 和一个主网络接口 (eth1)。 AWS 使用管理网络接口来管理 WorkSpace — 这是您的客户端连接终止的接口。 AWS 为此接口使用私有 IP 地址范围。为了使网络路由正常运行,您不能在任何可以与您的 WorkSpaces VPC 通信的网络上使用此私有地址空间。

有关按地区使用的私有 IP 范围的列表,请参阅 Amazon WorkSpaces 详情

注意

亚马逊 WorkSpaces 及其关联的管理网络接口不在您的 VPC 中,您也无法查看管理网络接口或您的 Amazon Elastic Compute Cloud (Amazon EC2) 实例 ID(请参阅Figure 5Figure 6Figure 7和)。 AWS Management Console 但是,您可以在控制台中查看和修改主网络接口 (eth1) 的安全组设置。每个 WorkSpace 接口的主网络接口都会计入您的 ENI Amazon EC2 资源配额。对于 Amazon 的大规模部署 WorkSpaces,您需要通过打开支持请求 AWS Management Console 以增加 ENI 配额。

流量流

您可以将 Amazon WorkSpaces 流量分为两个主要部分:

  • 客户端设备和 Amazon WorkSpaces 服务之间的流量。

  • Amazon WorkSpaces 服务与客户网络流量之间的流量。

下一节将讨论这两个组件。

客户端设备到 WorkSpace

无论位于何处(本地还是远程),运行 Amazon WorkSpaces 客户端的设备都使用相同的两个端口连接到 Amazon WorkSpaces 服务。客户端使用端口 443(HTTPS 端口)来传输所有身份验证和会话相关信息,使用端口 4172(PCoIP 端口),同时使用传输控制协议 (TCP) 和用户数据报协议 (UDP),用于向给定和网络运行状况检查进行像素流式传输。 WorkSpace 两个端口上的流量都经过加密。端口 443 流量用于身份验证和会话信息,并使用 TLS 加密流量。像素流媒体流量使用 AES-256 位加密,通过流媒体网关在客户端与eth0客户端之间进行通信。 WorkSpace更多信息可以在本文档的安全性章节中找到。

我们按区域发布 PCoIP 流媒体网关和网络运行状况检查端点的 IP 范围。通过仅允许端口 4172 上的出站流量进入您使用 Amazon 的特定 AWS 区域,您可以限制端口 4172 从公司网络到 AWS 流媒体网关和网络运行状况检查终端节点的出站流量。 WorkSpaces有关 IP 范围和网络运行状况检查终端节点,请参阅 Amazon WorkSpaces PCoIP 网关 IP 范围。

Amazon WorkSpaces 客户端具有内置的网络状态检查功能。此实用程序通过应用程序右下角的状态指示器向用户显示其网络是否支持连接。下图显示了通过选择客户端右上角的 “网络” 可以访问的网络状态的更详细视图。

该图显示了 WorkSpaces 客户端浏览器网络检查窗口

图 1: WorkSpaces 客户端:网络检查

用户通过提供目录 WorkSpaces 服务结构所使用的目录(通常是他们的公司目录)的登录信息,启动从其客户端到 Amazon 服务的连接。登录信息通过 HTTPS 发送到所在地区的 Amazon WorkSpaces 服务的身份验证网关。 WorkSpace 然后,Amazon WorkSpaces 服务的身份验证网关会将流量转发到与您 WorkSpace关联的特定 AWS Directory Service 结构。

例如,使用 AD Connector 时,AD 连接器会将身份验证请求直接转发到您的 AD 服务,该服务可能位于本地或 AWS VPC 中。有关更多信息,请参阅本文档的 AD DS 部署场景部分。AD Connector 不存储任何身份验证信息,它充当无状态代理。因此,AD Connector 必须连接到 AD 服务器。AD 连接器使用您在创建 AD 连接器时定义的 DNS 服务器来确定要连接到哪个 AD 服务器。

如果您使用的是 AD Connector,并且在目录上启用了 MFA,则在目录服务身份验证之前会检查 MFA 令牌。如果 MFA 验证失败,则不会将用户的登录信息转发到您的 Di AWS rectory Service。

用户通过身份验证后,流式传输流量将使用端口 4172(PCoIP 端口)通过 AWS 流媒体网关开始流式传输。 WorkSpace在整个会话过程中,仍通过 HTTPS 交换与会话相关的信息。流式传输流量使用 WorkSpace (eth0上 WorkSpace)上未连接到您的 VPC 的第一个 ENI。从流媒体网关到 ENI 的网络连接由管理 AWS。如果从流媒体网关到流媒体网卡的连接出现故障,则 CloudWatch 会生成一个事件。 WorkSpaces 有关更多信息,请参阅本文档的 “使用 Amazon 进行监控或记录 CloudWatch” 部分。

Amazon WorkSpaces 服务和客户端之间发送的数据量取决于像素活动级别。为确保用户获得最佳体验,我们建议 WorkSpaces 客户与您所在 AWS 地区之间的往返时间 (RTT) 小 WorkSpaces 于 100 毫秒 (ms)。通常,这意味着您的 WorkSpaces 客户距离托管区域不到两千英里。 WorkSpace C onnection Health Check 网页可以帮助您确定连接亚马逊 WorkSpaces 服务的最佳 AWS 区域。

到 VPC 的亚马逊 WorkSpaces 服务

在对从客户端到的连接进行身份验证 WorkSpace 并启动流式传输流量后,您的 WorkSpaces 客户端将显示连接到您的虚拟私有云 (VPC WorkSpace) 的 Windows 或 Linux 桌面(您的 Amazon),并且您的网络应显示您已建立该连接。 WorkSpace的主弹性网络接口 (ENI)(标识为eth1)将从您的 VPC 提供的动态主机配置协议 (DHCP) 服务中为其分配一个 IP 地址,该服务通常来自与您的 Di AWS rectory Service 相同的子网。IP 地址在 WorkSpace生命周期内一直保留 WorkSpace。您的 VPC 中的 ENI 可以访问 VPC 中的任何资源以及您已连接到 VPC 的任何网络(通过 VPC 对等互连、 AWS Direct Connect 连接或 VPN 连接)。

ENI 对您的网络资源的访问取决于子网的路由表和您的 AWS Directory Service 为每个子网配置的默认安全组 WorkSpace,以及您分配给 ENI 的任何其他安全组。您可以使用 AWS Management Console 或随时向面向您的 VPC 的 ENI 添加安全组 AWS CLI。(有关安全组的更多信息,请参阅您的安全组 WorkSpaces。) 除安全组外,您还可以在给定对象上使用首选的主机防火墙 WorkSpace 来限制对 VPC 内资源的网络访问。

建议使用特定于您的环境的 Active Directory 的 DNS 服务器 IP 和完全限定域名创建 DHCP 选项集,然后将这些自定义创建的 DHCP 选项集分配给亚马逊使用的亚马逊 VPC WorkSpaces。默认情况下,亚马逊虚拟私有云(亚马逊 VPC)使用 AWS DNS 而不是您的目录服务 DNS。使用 DHCP 选项集可以确保正确的 DNS 名称解析和内部 DNS 域名服务器的配置一致 WorkSpaces,这不仅适用于您的,而且适用于您可能为部署计划的任何支持工作负载或实例。

在应用 DHCP 选项时,与传统 EC2 实例的应用 WorkSpaces 方式相比,它们的应用方式有两个重要区别:

  • 第一个区别是 DHCP 选项 DNS 后缀的应用方式。每个都为其网络适配器配置 WorkSpace 了 DNS 设置,启用了 “追加主后缀和连接特定 DNS 后缀” 和 “追加主 DNS 后缀的父后缀” 选项。配置将使用在您注册并默认关联的 DNS AWS 目录服务中配置的 DNS 后缀进行更新。 WorkSpace 此外,如果在使用的 DHCP 选项集中配置的 DNS 后缀不同,则会将其添加并应用于任何关联 WorkSpaces的 DNS 后缀。

  • 第二个区别是,由于 Amazon WorkSpaces 服务优先考虑已配置目录的域控制器 IP 地址, WorkSpace 因此配置的 DHCP 选项 DNS IP 不会应用于。

或者,您可以配置 Route 53 私有托管区域以支持混合或拆分 DNS 环境,并为您的 Amazon WorkSpaces 环境获取正确的 DNS 解析。有关更多信息,请参阅 VPC 的混合云 DNS 选项和带有 A ctive Directory 的AWS 混合 DNS

注意

在 VPC 上应用新的或不同的 DHCP 选项集时,每个人都 WorkSpace 必须刷新 IP 表。要进行刷新,您可以运行 ipconfig /renew 或重启使用更新后的 DHCP 选项集配置的 VPC 中的任何 WorkSpace一个。如果您使用的是 AD Connector,并更新已连接的 IP 地址/域控制器的 IP 地址,则必须更新自己的 Skylight DomainJoinDNS 注册表项。 WorkSpaces建议通过 GPO 执行此操作。此注册表项的路径是HKLM:\SOFTWARE\Amazon\Skylight。如果修改 AD 连接器REG_SZ的 DNS 设置,则该值不会更新,而且 VPC DHCP 选项集也不会更新此密钥。

本白皮书 “AD DS 部署场景” 部分中的图显示了所描述的流量。

如前所述,Amazon WorkSpaces 服务会优先考虑已配置目录的域控制器 IP 地址以进行 DNS 解析,并忽略在 DHCP 选项集中配置的 DNS 服务器。如果您需要更精细地控制亚马逊的 DNS 服务器设置 WorkSpaces,可以使用《亚马逊 WorkSpaces 管理指南》的《更新亚马逊的 DNS 服务器 WorkSpaces》指南 WorkSpaces 中的说明更新亚马逊的 DNS 服务器

因此,如果您 WorkSpaces 需要解析中的其他服务 AWS,并且使用在 VPC 中设置的默认 DHCP 选项,则必须将此 VPC 中的域控制器 DNS 服务配置为使用 DNS 转发,指向 Amazon DNS 服务器,IP 地址位于您的 VPC CIDR 底部加两个;也就是说,如果您的 VPC CIDR 是 10.0.0.0/24,则您将 DNS 转发配置为使用标准 Route 53 DNS 解析器 10.0.0.2。

如果您 WorkSpaces 需要对本地网络上的资源进行 DNS 解析,则可以使用 R oute 53 解析器出站终端节点,创建 Route 53 转发规则,并将此规则与需要此 DNS 解析的 VPC 关联起来。如果您已按照上一段所述在域控制器 DNS 服务上将转发配置为 VPC 的默认 Route 53 DNS 解析器,则可以在《A mazon Route 53 开发者指南》的《解决 VPC 之间的 DNS 查询》和您的网络指南中找到 DNS 解析流程。

如果您使用的是默认 DHCP 选项集,并且要求您的 VPC 中不属于您的 Active Directory 域的其他主机能够解析 Active Directory 命名空间中的主机名,则可以使用此 Route 53 解析器出站端点,并添加另一条 Route 53 转发规则,将活动目录域的 DNS 查询转发到 Active Directory DNS 服务器。此 Route 53 转发规则必须与能够访问您的 Active Directory DNS 服务的路由 53 解析器出站终端节点以及您想要启用的所有 VPC 关联以解析 Act WorkSpaces ive Directory 域中的 DNS 记录。

同样,R oute 53 解析器入站终端节点可用于允许对本地网络中的 Act WorkSpaces ive Directory 域的 DNS 记录进行 DNS 解析。

显示了 WorkSpaces DNS 解析的图片

图 2:带有 Route 53 端点的 WorkSpaces DNS 解析示例

  • 您的亚马逊 WorkSpaces 将使用 AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD) DNS 服务进行 DNS 解析。 AWS Managed Microsoft AD DNS 服务解析example.aws域,并将所有其他 DNS 查询转发到 VPC CIDR 基本 IP 地址 +2 处的默认 Route 53 DNS 解析器以启用 DNS 解析

    共享服务 VPC 包含一个 Route 53 出站解析器终端节点,该终端节点与两个 Route 53 转发规则相关联。其中一条规则将example.com域名的 DNS 查询转发到本地 DNS 服务器。第二条规则将您的 AWS Managed Microsoft AD 域名的 DNS 查询转发example.aws到共享服务 VPC 中的 Active Directory DNS 服务。

    使用此架构,您的 Amazon WorkSpaces 将能够解析以下内容的 DNS 查询:

    • 您的 AWS Managed Microsoft AD 域名example.aws

    • 使用默认 DHCP 选项集配置的域中的 EC2 实例(例如host1.eu-west-1.compute.internal)以及其他 AWS 服务或终端节点。

    • 本地域中的主机和服务,例如host3.example.com

  • • 只要 Route 53 转发规则与两个 VP WorkSpaces C 关联即可,共享服务 VPC (host1.eu-west-1.compute.internalhost2.eu-west-1.compute.internal) 和 VPC () 中的其他 EC2 工作负载可以执行与您 WorkSpaces相同的 DNS 解析。在这种情况下,example.aws域的 DNS 解析将通过 VPC CIDR 基本 IP 地址 +2 的默认 Route 53 DNS 解析器进行,根据配置和关联的 Route 53 转发规则,该解析器将通过 Route 53 解析器出站端点将其转发到 Act WorkSpaces ive Directory DNS 服务。

  • • 最后,本地客户端也可以执行相同的 DNS 解析,因为本地 DNS 服务器配置了example.awseu-west-1.compute.internal域的条件转发器,将这些域的 DNS 查询转发到 Route 53 解析器入站端点 IP 地址。

典型配置示例

让我们考虑一个场景,即你有两种类型的用户,而你的 AWS 目录服务使用集中式 AD 进行用户身份验证:

  • 需要从任何地方获得完全访问权限的员工(例如全职员工)— 这些用户将拥有对互联网和内部网络的完全访问权限,并且他们将通过防火墙从 VPC 进入本地网络。

  • 只能从公司网络内部进行限制访问的员工(例如承包商和顾问)— 这些用户通过代理服务器限制对 VPC 中特定网站的互联网访问,并且在 VPC 和本地网络中的网络访问权限将受到限制。

您想让全职员工能够拥有本地管理员访问权限 WorkSpace 以安装软件,并且您想使用 MFA 强制执行双重身份验证。您还希望允许全职员工不受其限制地访问互联网 WorkSpace。

对于承包商,您希望阻止本地管理员的访问权限,以便他们只能使用特定的预安装应用程序。您想使用安全组对其应用限制性网络访问控制 WorkSpaces。您只需要向特定的内部网站开放端口 80 和 443,并且您想完全阻止他们访问互联网。

在这种情况下,有两种完全不同的用户角色,它们对网络和桌面访问的要求不同。最佳做法是以 WorkSpaces 不同的方式管理和配置它们。您需要创建两个 AD 连接器,每个用户角色一个。每个 AD Connector 需要两个具有足够可用的 IP 地址的子网,以满足您的 WorkSpaces使用增长预期。

注意

出于管理目的,每个 AWS VPC 子网消耗五个 IP 地址(前四个,最后一个 IP 地址),每个 AD Connector 在每个子网中占用一个 IP 地址。

此场景的进一步考虑因素如下:

  • AWS VPC 子网应该是私有子网,这样流量就可以通过网络地址转换 (NAT) 网关、云中的代理 NAT 服务器或通过本地流量管理系统路由回来控制,例如互联网接入。

  • 所有发往本地网络的 VPC 流量均已设置防火墙。

  • Microsoft AD 服务器和 MFA RADIUS 服务器要么位于本地(请参阅本文档中的场景 1:使用 AD Connector 对本地 AD DS 进行代理身份验证),要么是 AWS 云实施的一部分(请参阅本文档中的场景 2 和方案 3,AD DS 部署场景)。

鉴于所有人 WorkSpaces 都有某种形式的互联网访问权限,并且它们托管在私有子网中,因此您还必须创建可以通过互联网网关访问互联网的公有子网。您需要为全职员工提供一个 NAT 网关,允许他们访问互联网,还需要一个供顾问和承包商使用的代理 NAT 服务器,以限制他们访问特定的内部网站。要做好故障规划、设计高可用性并限制跨可用区的流量费用,在多可用区部署中,您应该在两个不同的子网中安装两个 NAT 网关和 NAT 或代理服务器。在拥有两个以上区域的区域中,您选择作为公有子网的两个可用区将与您用于 WorkSpaces 子网的两个可用区相匹配。您可以将每个 WorkSpaces 可用区的所有流量路由到相应的公有子网,以限制跨可用区的流量费用并简化管理。下图显示了 VPC 的配置。

示例架构显示带有 NAT 网关的 VPC 配置示例

图 3:高级 VPC 设计

以下信息描述了如何配置这两种不同的 WorkSpaces 类型:

要为全职员工 WorkSpaces 进行配置,请执行以下操作:

  1. 在 Amazon WorkSpaces 管理控制台中,选择菜单栏上的 “目录” 选项。

  2. 选择接待全职员工的名录。

  3. 选择 “本地管理员设置”。

启用此选项后,任何新创建的都 WorkSpace 将具有本地管理员权限。要授予互联网访问权限,请将 NAT 配置为从您的 VPC 进行出站互联网访问。要启用 MFA,您需要指定 RADIUS 服务器、服务器 IP、端口和预共享密钥。

对于全职员工 WorkSpaces, WorkSpace 可通过 AD Connector 设置应用默认安全组,将入站流量限制为来自帮助台子网的远程桌面协议 (RDP)。

要 WorkSpaces 为承包商和顾问进行配置,请执行以下操作:

  1. 在 Amazon WorkSpaces 管理控制台中,禁用 Internet 访问本地管理员设置。

  2. 在 “安全组设置” 部分下添加一个安全组,以便为在该目录下 WorkSpaces创建的所有新用户强制使用安全组。

对于顾问 WorkSpaces,可通过 AD Connector 设置将默认安全组应用于与 AD Connector WorkSpaces 关联的所有人,从而限制出站和入站流量。 WorkSpaces 该安全组可防止从 HTTP 和 HTTPS 流量 WorkSpaces 以外的任何内容进行出站访问,以及本地网络中从 Helpdesk 子网到 RDP 的入站流量。

注意

安全组仅适用于 VPC(eth1上 WorkSpace)中的 ENI,并且不会因为安全组而限制 WorkSpace 从 WorkSpaces 客户端访问该弹性网卡。下图显示了最终的 WorkSpaces VPC 设计。

示例架构显示了最终 WorkSpaces VPC 设计的示例。

图 4:使用用户角色进行 WorkSpaces 设计

AWS Directory Ser

如导言中所述, AWS Directory Service 是亚马逊的核心组件 WorkSpaces。使用 AWS Directory Service,您可以在亚马逊上创建三种类型的目录 WorkSpaces:

  • AWS M@@ anaged Microso ft AD 是一款托管的微软 AD,由 Windows Server 2012 R2 提供支持。 AWS 托管 Microsoft AD 有标准版或企业版两种版本。

  • S@@ imple AD 是一款独立的、与 Microsoft AD 兼容的托管目录服务,由 Samba 4 提供支持。

  • AD Con nector 是一个目录代理,用于将身份验证请求和用户或组查询重定向到你现有的本地 Microsoft AD。

以下部分介绍亚马逊 WorkSpaces 经纪服务与 AWS 目录服务之间身份验证的通信流程、 WorkSpaces使用 AWS 目录服务实施的最佳实践以及高级概念,例如 MFA。它还讨论了亚马逊 WorkSpaces 大规模基础设施架构概念、Amazon VPC 要求和 AWS 目录服务,包括与本地微软 AD 域服务 (AD DS) 的集成。