混合云应用程序

已完成

Tailwind Traders 有多个应用程序,这些应用程序的前端组件当前在其外围网络中本地运行。 后端元素位于受保护的内部网络上。 Tailwind Traders 迁移到混合云的目的之一是停用其外围网络并在云中托管任何面向公众的工作负载。 由于合规性问题和工作负载所有者的担忧,其中一些应用程序应实际保留在 Tailwind Traders 设备中,而不是托管在 Azure 数据中心。

Tailwind Traders 还有一些其他应用程序,可以通过 VPN 连接访问悉尼、墨尔本和奥克兰数据中心的内部受保护网络。 这些应用程序通常要求用户使用其本地 Active Directory 实例进行身份验证。

在本单元中,你将了解允许 Tailwind Traders 维护用户通过 Azure 连接的应用程序的技术,即使数据或应用程序本身仍托管在 Tailwind Traders 设备上。

什么是 Azure 中继?

Azure 中继是一项服务,用于将组织内部网络上运行的工作负载安全地公开给公有云。 使用该服务,无需打开外围网络防火墙上的入站端口即可实现此目的。

Azure 中继支持本地服务和 Azure 中运行的应用程序之间的以下场景:

  • 传统的单向请求/响应式通信和对等通信
  • 用于启用发布/订阅场景的事件分发
  • 跨网络边界的双向和无缓冲套接字通信

Azure 中继具有以下功能:

  • 混合连接。 此功能使用开放标准的 Web 套接字,并且可以在多平台体系结构中使用。 它支持 .NET Core、.NET Framework、JavaScript/Node.js、基于标准的开放协议和远程过程调用 (RPC) 编程模型。
  • WCF 中继。 此功能使用 Windows Communication Foundation (WCF) 启用远程过程调用。 许多客户选择在其 WCF 程序中使用此功能。 此功能还支持 .NET Framework。

使用 Azure 中继,Tailwind Traders 可在无需 VPN 连接的情况下将一些在内部网络上运行的应用程序发布到 Internet 上的客户端。 如果没有前端 Web 应用在 Azure 中运行,该公司应使用 Azure 中继,而不应使用 Azure 应用服务混合连接。 如果应用程序不需要 Microsoft Entra 身份验证,应使用 Azure 中继,而不使用 Microsoft Entra 应用程序代理。

什么是应用服务混合连接?

Azure 应用服务的混合连接功能可以使用任何网络中的任何应用程序资源,这些网络能够在端口 443 上向 Azure 发送出站请求。 例如,可以使用混合连接来允许在 Azure 中运行的 Web 应用使用在本地运行的 SQL Server 数据库。 混合连接功能提供从 Azure 中运行的应用到传输控制协议 (TCP) 终结点的访问权限。

混合连接不仅限于在 Windows 服务器平台上运行的工作负载。 可以将混合连接配置为访问充当 TCP 终结点的任何资源,而不管使用的是哪种应用程序协议。 例如,可以在 Azure 中运行的 Web 应用程序与本地 Linux 虚拟机上运行的 MySQL 数据库之间配置混合连接。

混合连接使用你在某个位置部署的中继代理,在此位置中,该代理可以建立与内部网络上的 TCP 终结点的连接以及与 Azure 的连接。 此连接通过传输层安全性 (TLS) 1.2 进行保护。 共享访问签名 (SAS) 密钥用于身份验证和授权。

下图显示了 Azure 中运行的 Web 应用与本地运行的数据库终结点之间的混合连接。

Diagram that shows hybrid connection between a web app in Azure and a database endpoint on-premises.

混合连接具有以下功能:

  • 在 Azure 中运行的应用可以通过安全的方式访问本地系统和服务。
  • Internet 上的主机无需直接访问本地系统或服务。
  • 无需在防火墙中打开端口即可允许从 Azure 到中继代理的入站访问。 通过端口 443 以中继方式从出站代理启动所有通信。

混合连接具有以下限制:

  • 无法用于在本地网络上装载 SMB 共享。
  • 无法使用用户数据报协议 (UDP)。
  • 无法访问使用动态端口的基于 TCP 的服务。
  • 由于依赖 UDP,因此不支持轻型目录访问协议 (LDAP)。
  • 不能用于执行 Active Directory 域服务域加入操作。

对于 Tailwind Traders 而言,混合连接将允许停用当前在 Tailwind Traders 外围网络上运行其前端的多个应用程序。 这些应用可以迁移到 Azure。 混合连接将提供到托管应用后端组件的受保护网络的安全连接。

什么是 Microsoft Entra 应用程序代理?

使用 Microsoft Entra 应用程序代理,可以通过外部 URL 提供对在本地环境中运行的 Web 应用程序的安全远程访问。 可以将应用程序代理配置为允许远程访问 SharePoint、Microsoft Teams、IIS Web 应用程序和远程桌面以及对其进行单一登录。 可以将应用程序代理当做对内部网络或反向代理的 VPN 的替代。

应用程序代理对以下应用程序起作用:

  • 使用集成 Windows 身份验证的 Web 应用程序
  • 使用基于标头或基于表单的身份验证的 Web 应用程序
  • 通过远程桌面网关托管的应用程序

应用程序代理的工作原理如下:

  1. 用户通过公开可用的终结点连接到应用程序,然后执行 Microsoft Entra 登录。
  2. 登录完成后,系统会将令牌转发到用户的设备。
  3. 客户端设备将令牌转发到应用程序代理服务,该服务从令牌返回用户主体名称 (UPN) 和安全主体名称 (SPN)。 然后,应用程序代理将请求转发到应用程序代理连接器。
  4. 如果已启用单一登录,则应用程序代理连接器会执行其他身份验证。
  5. 应用程序代理连接器将请求转发到本地应用程序。
  6. 此响应通过连接器和应用程序代理服务发送给用户。

下图展示了此过程:

Diagram that shows Application Proxy functionality with the user outside the organizational network making a connection through Application Proxy to an on-premises application.

允许直接连接到应用程序的内部网络用户应避免使用应用程序代理。

Tailwind Traders 可以使用 Microsoft Entra 应用程序代理向外部用户提供对使用 Active Directory 身份验证的内部应用程序的访问权限。

知识检查

1.

Tailwind Traders 具有多个将迁移到其混合云的多层应用。 这些应用目前存在于 Tailwind Traders 外围网络的 web 层和悉尼数据中心的虚拟机上的数据库层。 新的应用程序体系结构将具有在 Azure 中运行的 Web 应用。 若要允许 Azure 中的 Web 应用层与悉尼数据中心的 VM 上运行的数据库层之间进行通信,Tailwind Traders 应该使用以下哪种技术?

2.

Tailwind Traders 希望发布使用 Active Directory 域服务帐户进行身份验证的应用程序,以便 Internet 上的主机可以访问该应用程序。 Tailwind Traders 已将 Microsoft Entra Connect 配置为将本地标识(将与此应用程序一起使用)同步到 Microsoft Entra ID。 可使用以下哪种混合技术将此应用程序发布到 Internet 上的主机,以便他们可以使用这些同步标识来访问它?