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

规划虚拟机远程访问

本文介绍对虚拟机 (VM) 的远程访问的推荐指南,该虚拟机在 Azure 登陆区域体系结构中部署。

Azure 提供不同的技术,用于提供对 VM 的远程访问:

  • Azure Bastion,一种平台即服务 (PaaS) 解决方案,用于通过浏览器访问 VM,或当前通过 Windows 工作站上的本机 SSH/RDP 客户端以预览版的形式提供
  • 通过 Microsoft Defender for Cloud 提供的即时 (JIT) 访问
  • 混合连接选项,例如 Azure ExpressRoute 和 VPN
  • 直接附加到 VM 或经由 Azure 公共负载均衡器通过 NAT 规则附加到 VM 的公共 IP

选择最合适的远程访问解决方案取决于规模、拓扑和安全要求等因素。

设计注意事项

  • 如果可用,可以通过 ExpressRoute 或 S2S/P2S VPN 连接使用 Azure 虚拟网络的现有混合连接,提供从本地到 Windows 和 Linux Azure VM 的远程访问。
  • NSG 可用于保护 Azure VM 的 SSH/RDP 连接。
  • JIT 允许通过 Internet 进行远程 SSH/RDP 访问,而无需部署任何其他基础结构。
  • JIT 访问存在一些可用性限制
    • JIT 访问不能用于由 Azure 防火墙管理器控制的 Azure 防火墙保护的 VM。
  • Azure Bastion 提供额外的控制层。 它可以通过安全的 TLS 通道直接从 Azure 门户或本机客户端(预览阶段)与 VM 进行安全无缝的 RDP/SSH 连接。 此外,Azure Bastion 不需要混合连接。
  • 根据关于 Azure Bastion 配置设置中所述,请考虑使用适当的 Azure Bastion SKU 以根据你的要求使用。
  • 查看 Azure Bastion 常见问题解答,了解有关该服务的常见问题的解答。
  • 使用 Kerberos 身份验证的 Azure Bastion 要求域控制器和 Azure Bastion 都位于同一虚拟网络中。 有关详细信息,请参阅 Azure Bastion Kerberos 身份验证
  • Azure Bastion 可以在 Azure 虚拟 WAN 拓扑中使用,但存在一些限制:
    • 无法在虚拟 WAN 虚拟中心部署 Azure Bastion。
    • Azure Bastion 必须使用 Standard SKU,并且必须在 Azure Bastion 资源上启用 IP based connection 功能,请参阅基于 Azure Bastion IP 的连接文档
    • Azure Bastion 可以部署在虚拟 WAN 中连接的任何分支虚拟网络中,以访问其自己的虚拟机,或部署在经由其关联的中心通过虚拟 WAN 虚拟网络连接连接到同一虚拟 WAN 的其他虚拟网络;前提是路由配置正确。

提示

Azure Bastion 基于 IP 的连接还允许连接到基于本地的计算机,前提是 Azure Bastion 资源与要连接到的计算机之间建立了混合连接。 请参阅, 通过门户通过指定的专用 IP 地址连接到 VM

设计建议

  • 使用现有 ExpressRoute 或 VPN 连接提供对 Azure VM 的远程访问,这些 VM 可通过 ExpressRoute 或 VPN 连接从本地进行访问。
  • 在基于虚拟 WAN 的网络拓扑中,需要通过 Internet 远程访问虚拟机:
    • Azure Bastion 可以部署在相应 VM 的每个分支虚拟网络中。
    • 或者,可以选择在虚拟 WAN 拓扑中的单个分支中部署集中式 Azure Bastion 实例,如图 1 所示。 此配置减少了要在环境中要管理的 Azure Bastion 实例数。 此方案要求通过 Azure Bastion 登录到 Windows 和 Linux VM 的用户在 Azure Bastion 资源和所选分支虚拟网络上具有读取者角色。 某些实现可能有限制或阻止此情况的安全性或合规性注意事项。
  • 在中心辐射型网络拓扑中,需要通过 Internet 远程访问 Azure 虚拟机:
    • 可以在中心虚拟网络中部署单个 Azure Bastion 主机,该虚拟网络可以通过虚拟网络对等互连与辐射型虚拟网络上的 Azure VM 建立连接。 此配置减少了要在环境中要管理的 Azure Bastion 实例数。 此方案要求通过 Azure Bastion 登录到 Windows 和 Linux VM 的用户在 Azure Bastion 资源和中心虚拟网络上具有读取者角色。 某些实现可能有安全性或合规性注意事项。 请参阅图 2。
    • 环境可能不允许在 Azure Bastion 资源和中心虚拟网络上授予用户基于读取者角色的访问控制 (RBAC) 角色。 使用 Azure Bastion 基本版或标准版提供与分支虚拟网络中的 VM 的连接。 将专用 Azure Bastion 实例部署到每个需要远程访问的分支虚拟网络中。 请参阅图 3。
  • 配置 NSG 规则以保护 Azure Bastion 及它向其提供连接的 VM。 按照在 Azure Bastion 中使用 VM 和 NSG 中的指导进行操作。
  • 配置要发送到中央 Log Analytics 工作区的 Azure Bastion 诊断日志。 按照启用和使用 Azure Bastion 资源日志中的指导进行操作。
  • 确保为通过 Azure Bastion 连接到 VM 的用户或组进行了所需的 RBAC 角色分配
  • 如果通过 SSH 连接到 Linux VM,请使用使用 Azure Key Vault 中存储的私钥进行连接的功能。
  • 部署 Azure Bastion 和 ExpressRoute 或 VPN 访问,以满足特定需求,例如不受限紧急访问。
  • 不建议通过直接附加到 VM 的公共 IP 远程访问 Windows 和 Linux VM。 在没有严格的 NSG 规则和防火墙的情况下,切勿部署远程访问。

显示 Azure 虚拟 WAN 拓扑的示意图。

图 1:Azure 虚拟 WAN 拓扑。

显示 Azure 中心辐射型拓扑的示意图。

图 2:Azure 中心辐射型拓扑。

显示 Azure 独立虚拟网络拓扑的示意图。

图 3:Azure 独立虚拟网络拓扑。