你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
教程:使用高级网络设置实验室间通信
重要
Azure 实验室服务将于 2027 年 6 月 28 日停用。 有关详细信息,请参阅停用指南。
注意
本文引用了实验室计划中可用的功能,该计划取代了实验室帐户。
Azure 实验室服务高级网络使你能够控制使用实验室计划创建的实验室的网络。 可以使用高级网络来实现各种方案,包括连接到许可服务器、使用 Azure 网络的中心辐射型模型或实验室间通信。 在本教程中,你将为 Web 开发课程设置实验室到实验室通信。
完成本教程后,你将有一个实验室,其中包含两个能够相互通信的实验室虚拟机:一个服务器 VM 和一个客户端 VM。
详细了解 Azure 实验室服务中受支持的网络方案。
本教程介绍如何执行下列操作:
- 创建资源组
- 创建虚拟网络和子网
- 将子网委托给 Azure 实验室服务
- 创建网络安全组
- 更新网络安全组入站规则
- 将网络安全组与虚拟网络相关联
- 使用高级网络创建实验室计划
- 创建两个实验室
- 在模板 VM 上启用 ICMP
- 发布两个实验室
- 测试实验室 VM 之间的通信
先决条件
- 具有活动订阅的 Azure 帐户。 如果没有 Azure 订阅,请在开始之前创建一个免费帐户。
创建资源组
资源组是在其中部署和管理 Azure 资源(例如 Web 应用、数据库和存储帐户)的逻辑容器。 例如,可以选择在使用完之后通过一个简单的步骤删除整个资源组。
以下步骤显示了如何使用 Azure 门户创建资源组。 为了简单起见,请在同一个资源组中创建用于本教程的所有资源。
- 登录 Azure 门户。
- 选择“资源组”。
- 在顶部菜单中选择“+ 创建”。
- 在“创建资源组”页的“基本信息”选项卡上,执行以下操作:
- 对于“订阅”,选择要在其中创建实验室的订阅。
- 对于“资源组”,键入 MyResourceGroup。
- 对于“区域”,选择离你最近的区域。 有关可用区域的更多信息,请参阅 Azure 地理位置。
- 选择“查看 + 创建” 。
- 查看“摘要”页,并选择“创建”。
创建虚拟网络和子网
以下步骤演示了如何使用 Azure 门户创建可与 Azure 实验室服务一起使用的虚拟网络和子网。
重要
将 Azure 实验室服务与高级网络结合使用时,虚拟网络、子网、实验室计划和实验室都必须位于同一区域中。 有关各种产品支持哪些区域的详细信息,请参阅 Azure 产品(按区域)。
打开之前创建的 MyResourceGroup。
选择 Azure 门户左上角的“+ 创建”,然后搜索“虚拟网络”。
选择“虚拟网络”磁贴,然后选择“创建”。
在“创建虚拟网络”的“基本信息”选项卡上,执行以下操作:
- 对于“订阅”,选择与资源组相同的订阅。
- 对于“资源组”,选择 MyResourceGroup。
- 对于“名称”,输入 MyVirtualNetwork。
- 对于“区域”,选择 Azure 实验室服务也支持的区域。 有关受支持区域的详细信息,请参阅Azure 实验室服务(按区域)。
- 在完成时选择“下一步:IP 地址”。
在“IP 地址”选项卡中,创建实验室使用的子网。
- 选择“+ 添加子网”
- 对于“子网名称”,输入 labservices-subnet。
- 对于“子网地址范围”,以 CIDR 表示法输入范围。 例如,10.0.1.0/24 有足够的 IP 地址供 251 个实验室 VM 使用。 (Azure 为每个子网保留 5 个 IP 地址。)若要为 VM 创建具有更多可用 IP 地址的子网,请使用不同的 CIDR 前缀长度。 例如,10.0.0.0/20 可以容纳 4000 多个实验室 VM 的 IP 地址。 有关添加子网的详细信息,请参阅添加子网。
- 选择“确定”。
选择“查看 + 创建” 。
通过验证后,选择“创建”。
将子网委托给 Azure 实验室服务
接下来,配置要与 Azure 实验室服务一起使用的子网。 要将子网与 Azure 实验室服务结合使用,必须将该子网委托给服务。
- 打开 MyVirtualNetwork 资源。
- 选择左侧菜单中的“子网”项。
- 选择 labservices-subnet 子网。
- 在“子网委派”部分下,为“将子网委托给服务”设置选择 Microsoft.LabServices/labplans。
- 选择“保存” 。
创建网络安全组
可以在虚拟网络中使用 NSG 控制流向一个或多个虚拟机 (VM)、角色实例、网络适配器 (NIC) 或子网的流量。 NSG 包含根据流量方向、协议、源地址和端口以及目标地址和端口允许或拒绝流量的访问控制规则。 可以随时更改 NSG 的规则,所做的更改适用于所有关联的实例。
有关 NSG 的详细信息,请访问什么是 NSG。
在 Azure 实验室服务中使用高级网络时需要 NSG。
若要创建 NSG,请完成以下步骤:
- 在 Azure 门户左上角选择“+ 创建资源”,搜索“网络安全组”。
- 选择“网络安全组”磁贴,然后选择“创建”。
- 在“创建网络安全组”的“基本信息”选项卡上,执行以下操作:
- 对于“订阅”,选择之前使用的同一订阅。
- 对于“资源组”,选择 MyResourceGroup。
- 对于“名称”,输入 MyNsg。
- 对于“区域”,选择与之前创建的 MyVirtualNetwork 相同的区域。
- 选择“查看 + 创建” 。
- 验证通过后,选择“创建”。
更新网络安全组入站规则
为了确保实验室用户可以使用远程桌面连接到实验室 VM,需要创建安全规则以允许此类流量。 使用 Linux 时,需要调整 SSH 规则。
为之前创建的子网创建允许 RDP 和 SSH 流量的规则:
打开 MyNsg。
从左侧菜单中选择“入站安全规则”。
从顶部菜单栏中,选择“+ 添加”。 按如下所示填写添加入站安全规则的详细信息:
- 对于“源”,请选择“任何”。
- 对于“源端口范围”,选择 *。
- 对于“目标”,选择“IP 地址”。
- 对于“目标 IP 地址/CIDR 范围”,从之前创建的“labservices-subnet”中选择子网范围。
- 对于“服务”,选择“自定义”。
- 对于“目标端口范围”,输入“22、3389”。 端口 22 适用于安全外壳协议 (SSH)。 端口 3389 适用于远程桌面协议 (RDP)。
- 对于“协议”,请选择“任何”。
- 对于“操作”,请选择“允许”。
- 对于“优先级”,选择 1000。 优先级必须高于 RDP 和/或 SSH 的其他“拒绝”规则。
- 对于“名称”,输入 AllowRdpSshForLabs。
- 选择 添加 。
等待规则创建完毕。
在菜单栏上选择“刷新”。 新规则现在显示在规则列表中。
将网络安全组关联到虚拟网络
现在有了一个带有入站安全规则的 NSG,允许实验室 VM 连接到虚拟网络。
将 NSG 与之前创建的虚拟网络关联:
- 打开 MyVirtualNetwork。
- 在左侧菜单中选择“子网”。
- 从顶部菜单栏中选择“+ 关联”。
- 在“关联子网”页面上,执行以下操作:
- 对于“虚拟网络”,选择 MyVirtualNetwork。
- 对于“子网”,选择 labservices-subnet。
- 选择“确定”。
警告
将网络安全组连接到子网是“必需的步骤”。 如果没有与子网关联的网络安全组,实验室用户无法连接到其实验室 VM。
使用高级网络创建实验室计划
现在已经创建并配置了虚拟网络,接下来可以创建实验室计划:
在 Azure 门户的左上角选择“创建资源”。
搜索“实验室计划”。
在“实验室计划”磁贴上选择“创建”下拉菜单,然后选择“实验室计划”。
在“创建实验室计划”页的“基本信息”选项卡上,执行以下操作:
- 对于“Azure订阅”,选择之前使用的订阅。
- 对于“资源组”,请选择一个现有资源组,或选择“新建”并输入新资源组的名称。
- 对于“名称”,请输入实验室计划名称。 有关命名限制的详细信息,请参阅 Microsoft.LabServices 资源名称规则。
- 对于“区域”,请选择要在其中创建实验室计划的位置/区域。
选择“下一页:网络”。
在“网络”选项卡上,执行以下操作:
- 选择“启用高级网络”。
- 对于“虚拟网络”,选择 MyVirtualNetwork。
- 对于“子网”,选择 labservices-subnet。
- 选择“查看 + 创建” 。
验证成功后,选择“创建”。
注意
只有在创建实验室计划时,才能启用高级网络。 稍后无法添加高级网络。
创建两个实验室
接下来,创建两个使用高级网络的实验室。 这些实验室使用与 Azure 实验室服务关联的 labservices-subnet。 使用 MyLabPlan 创建的任何实验室 VM 都可以相互通信。 可以通过使用 NSG、防火墙等来限制通信。
执行以下步骤,以创建两个实验室。 对服务器 VM 和客户端 VM 重复这些步骤。
导航到 Azure 实验室服务网站:https://labs.azure.com。
选择“登录”并输入凭据。 Azure 实验室服务支持组织帐户和 Microsoft 帐户。
从菜单栏的下拉列表中选择 MyResourceGroup。
选择“新建实验室”。
在“新建实验室”窗口中,执行以下操作::
- 指定“名称”。 名称应易于识别。 将 MyServerLab 用于具有服务器 VM 的实验室,将 MyClientLab 用于具有客户端 VM 的实验室。 有关命名限制的详细信息,请参阅 Microsoft.LabServices 资源名称规则。
- 选择“虚拟机映像”。 在本教程中,使用 Windows 11 专业版,但可以根据需要选择其他可用映像。 有关启用虚拟机映像的更多信息,请参阅指定实验室创建者可用的市场映像。
- 对于“大小”,选择“中”。
- “区域”中只有一个区域。 当实验室使用高级网络时,该实验室必须与相关联的子网位于同一区域。
- 选择“下一步”。
在“虚拟机凭据”页上,指定实验室中所有 VM 的默认管理员凭据。 指定管理员的“名称”和“密码”。 默认情况下,所有实验室 VM 的密码与此处指定的密码相同。 选择下一步。
重要
记下用户名和密码。 这些信息不会再次显示。
在“实验室策略”页上,保留默认选择,然后选择“下一步”。
在“模板虚拟机设置”窗口中的“创建模板虚拟机”上保留所选内容。 选择“完成”。
此时会看到以下屏幕,显示模板 VM 的创建状态。
等待模板 VM 创建完毕。
在实验室模板上启用 ICMP
创建实验室后,启用 ICMP (ping) 以测试实验室 VM 之间的通信。 首先,在两个实验的模板 VM 上启用 ICMP。 在模板 VM 上启用 ICMP 也会同时在实验室 VM 上启用它。 发布实验室后,实验室 VM 能够相互 ping。
要启用 ICMP,请在每个实验中为每个模板 VM 完成以下步骤。
在实验室的“模板”页面上,启动并连接到模板 VM。
- 选择“启动模板”。
注意
模板 VM 在运行时会产生成本,因此,请确保在不需要运行模板 VM 时将它关闭。
- 启动模板后,选择“连接到模板”。
登录到模板 VM 后,修改 VM 上的防火墙规则以允许 ICMP。 由于你使用的是 Windows 11,因此可以使用 PowerShell 和 Enable-NetFirewallRule cmdlet。 若要打开 PowerShell 窗口,请执行以下操作:
- 选择“开始”按钮。
- 键入 PowerShell
- 选择 Windows PowerShell 应用。
运行以下代码:
Enable-NetFirewallRule -Name CoreNet-Diag-ICMP4-EchoRequest-In
Enable-NetFirewallRule -Name CoreNet-Diag-ICMP4-EchoRequest-Out
在实验室的“模板”页面中,选择“停止”以停止模板 VM。
发布两个实验室
此步骤发布实验室。 你发布模板 VM 时,Azure 实验室服务会使用该模板在实验室中创建 VM。 所有虚拟机的配置都与模板相同。
在“模板”页上,选择“发布”。
输入实验室所需的计算机数量,然后选择“发布”。
警告
发布是一项不可逆的操作! 无法撤消。
将看到模板页面的“发布状态”。 等待发布完成。
测试实验室 VM 之间的通信
在本节中,确认不同实验室中的两个实验室虚拟机是否能够相互通信。
首先,从每个实验室启动并连接到一个实验室 VM。 为每个实验室完成以下步骤。
在 Azure 实验室服务网站中打开实验室。
在左侧菜单中选择“虚拟机池”。
选择虚拟机池中列出的单个 VM。
记下 VM 的“专用 IP 地址”。 稍后需要服务器实验室和客户端实验室 VM 的专用 IP 地址。
选择“状态”滑块以将状态从“停止”更改为“启动”。
注意
当实验室教师启动实验室 VM 时,实验室用户的配额不受影响。 用户配额指定实验室用户在计划上课时间之外可用的实验室小时数。 有关配额的详细信息,请参阅为用户设置配额。
“状态”为“正在运行”后,为正在运行的 VM 选择连接图标。 打开下载 RDP 文件以连接到 VM。 有关不同操作系统上的连接体验的更多信息,请参阅连接到实验室 VM。
现在,使用 ping 实用工具来测试跨实验室通信。 从服务器实验室的实验室 VM 中,打开命令提示符。 使用 ping {ip-address}
。 {ip-address}
是之前记下的客户端 VM 的专用 IP 地址。 也可以从客户端实验室的实验室 VM 到服务器实验室的实验室 VM 进行测试。
完成后,导航到每个实验室的“虚拟机池”页面,选择实验室 VM,然后选择“状态”滑块以停止实验室 VM。
清理资源
如果你不打算继续使用此应用程序,请按照以下步骤删除虚拟网络、网络安全组、实验室计划和实验室:
- 在 Azure 门户中,选择想要删除的资源组。
- 选择“删除资源组”。
- 若要确认删除,请键入资源组的名称
故障排除
实验室创建失败,出现“You are not authorized to access this resource
”消息
创建新的实验室计划时,权限可能需要几分钟时间才能传播到实验室级别。 可以在资源组级别分配实验室创建者角色,以防止此行为:
- 在 Azure 门户中,转到包含该实验室计划的资源组。
- 在左侧导航栏中,选择“访问控制(IAM)”。
- 选择“添加”>“添加角色分配”。
- 将实验室创建者角色分配给用户帐户。