你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

开发测试实验室企业参考体系结构

本文提供了用于在企业中部署 Azure 开发测试实验室的参考体系结构。 该体系结构包括以下关键元素:

  • 通过 Azure ExpressRoute 建立的本地连接
  • 远程桌面网关,用于远程登录到虚拟机 (VM)
  • 与专用项目存储库的连接
  • 实验室使用的其他平台即服务 (PaaS) 组件

体系结构

下图展示了一个典型的开发测试实验室企业部署。 此体系结构将不同 Azure 订阅中的几个实验室连接到公司的本地网络。

Diagram that shows a reference architecture for an enterprise DevTest Labs deployment.

开发测试实验室组件

开发测试实验室让企业可以轻松快速地提供对 Azure 资源的访问。 每个实验室都包含软件即服务 (SaaS)、基础结构即服务 (IaaS) 和 PaaS 资源。 实验室用户可以创建和配置 VM、PaaS 环境和 VM 项目

在上图中,“Azure 订阅 1”中的“团队实验室 1”显示了实验室可以访问和使用的一个 Azure 组件示例。 有关详细信息,请参阅关于开发测试实验室

连接组件

如果你的实验室必须访问本地公司资源,则需要本地连接。 常见方案是:

  • 一些本地数据不能移到云中。
  • 你需要将实验室 VM 加入本地域。
  • 出于安全或合规性原因,你需要强制所有云网络流量通过本地防火墙。

此体系结构使用 ExpressRoute 连接到本地网络。 你也可以使用站点到站点 VPN

在本地,远程桌面网关可以实现与开发测试实验室的传出远程桌面协议 (RDP) 连接。 企业的公司防火墙通常会在公司防火墙阻止传出连接。 要启用连接,可以使用以下方法:

  • 使用远程桌面网关,并允许使用网关负载均衡器的静态 IP 地址。
  • 使用强制隧道通过 ExpressRoute 或站点到站点 VPN 连接重定向所有 RDP 流量。 强制隧道是企业级开发测试实验室部署中的一个常见功能。

联网组件

在此体系结构中,Microsoft Entra ID 在所有网络中提供了标识和访问管理。 实验室 VM 通常使用本地管理帐户进行访问。 如果有可用的 Microsoft Entra ID、本地或 Microsoft Entra 域服务域,可以将实验室 VM 加入域。 然后,用户可以使用基于域的标识来连接到 VM。

Azure 网络拓扑可以控制实验室资源如何访问本地网络和 Internet 以及如何与之通信。 此体系结构展示了企业与开发测试实验室的常见联网方式。 实验室通过 ExpressRoute 或站点到站点 VPN 连接,使用中心辐射型配置中的对等互连虚拟网络连接到本地网络。

由于开发测试实验室直接使用 Azure 虚拟网络,因此不会对设置网络基础结构的方式有任何限制。 你可以设置网络安全组,根据源和目标 IP 地址限制云流量。 例如,可以仅允许来自公司网络的流量进入实验室网络。

可伸缩性注意事项

开发测试实验室没有内置配额或限制,但实验室使用的其他 Azure 资源具有订阅级别的配额。 在典型的企业部署中,需要几个 Azure 订阅才能涵盖大型开发测试实验室部署。 企业通常会达到以下配额:

  • 资源组。 开发测试实验室会为每个新 VM 创建一个资源组,实验室用户在资源组中创建环境。 订阅可包含多达 980 个资源组,所以这就是订阅中的 VM 和环境数量限制。

    以下两个策略可帮助你保持在资源组限制范围内:

    • 将所有 VM 都放入同一资源组。 此策略有助于符合资源组限制,但会影响每个资源组的资源类型限制。
    • 使用共享公共 IP。 如果允许 VM 具有公共 IP 地址,可以将大小和区域相同的所有 VM 放入同一资源组。 此配置有助于同时符合资源组配额和每个资源组的资源类型配额。
  • 每个资源组每个资源类型的资源数。 每个资源组每个资源类型的资源数的默认上限为 800。 将所有 VM 放入同一资源组会更快地达到这个上限,尤其是当 VM 有许多额外的磁盘时。

  • 存储帐户。 开发测试实验室中的每个实验室都附带了一个存储帐户。 对于每个订阅每个区域的存储帐户数量,Azure 配额默认为 250。 因此一个区域中开发测试实验室的最大数目也是 250。 增加配额后,每个区域最多可以创建 500 个存储帐户。 有关详细信息,请参阅增加 Azure 存储帐户配额

  • 角色分配。 角色分配允许用户或主体访问资源。 Azure 具有每个订阅 2000 个角色分配的上限。

    默认情况下,开发测试实验室为每个实验室 VM 创建一个资源组。 VM 创建者将获得 VM 的“所有者”权限和资源组的“读者”权限。 因此,每个实验室 VM 使用两个角色分配。 向实验室授予用户权限也会使用角色分配。

  • API 读取/写入。 可以使用 REST API、PowerShell、Azure CLI 和 Azure SDK 自动执行 Azure 和开发测试实验室。 每个 Azure 订阅最多允许每小时 12,000 个读取请求和 1,200 个写入请求。 通过自动执行开发测试实验室,可能会达到 API 请求数上限。

可管理性注意事项

你可以使用 Azure 门户一次管理一个开发测试实验室实例,但企业可能有多个 Azure 订阅和许多实验室需要管理。 要以一致的方式对所有实验室进行更改,需要脚本自动化。

下面是在开发测试实验室部署中使用脚本的一些示例:

  • 更改实验室设置。 使用 PowerShell 脚本、Azure CLI 或 REST API,在所有实验室中更新特定实验室设置。 例如,更新所有实验室以允许新的 VM 实例大小。

  • 更新项目存储库个人访问令牌 (PAT)。 Git 存储库的 PAT 通常会在 90 天、一年或两年后过期。 为了确保连续性,延长 PAT 非常重要。 或者,创建新 PAT 并使用自动化将其应用到所有实验室。

  • 限制对实验室设置的更改。 若要限制某些设置,如允许使用商城映像,可以使用 Azure Policy 来防止更改资源类型。 或者,可以创建一个自定义角色,并为用户授予该角色,而不是内置的实验室角色。 可以限制对大多数实验室设置的更改,如内部支持、实验室公告和允许的 VM 大小。

  • 为 VM 应用命名约定。 可以使用 Azure Policy 指定命名模式,帮助在基于云的环境中标识 VM。

为开发测试实验室管理 Azure 资源的方式与为其他目的管理的方式相同。 例如,Azure Policy 适用于在实验室中创建的 VM。 Microsoft Defender for Cloud 可报告实验室 VM 合规性情况。 Azure 备份可以为实验室 VM 提供定期备份。

安全注意事项

开发测试实验室自动受益于内置的 Azure 安全功能。 如果要求传入的远程桌面连接仅源自公司网络,可以将网络安全组添加到远程桌面网关上的虚拟网络。

另一个安全注意事项是向实验室用户授予的权限级别。 实验室所有者使用 Azure 基于角色的访问控制 (Azure RBAC) 将角色分配给用户,并设置资源和访问级别的权限。 最常见的开发测试实验室权限是“所有者”、“参与者”和“用户”。 你也可以创建和分配自定义角色。 有关详细信息,请参阅在 Azure 开发测试实验室中添加所有者和用户

后续步骤

请参阅本系列中的下一篇文章:提供概念证明