分类: 云计算
2014-09-19 10:38:38
在 Azure 中创建的所有虚拟机都可以通过专用网络通道与同一云服务或虚拟网络中的其他虚拟机自动连接。所有其他入站通信(例如从其他云服务或虚拟网络中的 Internet 主机或虚拟机发起的流量)都需要一个终结点。
终结点可用于不同目的。在使用 Azure 管理门户创建的虚拟机上默认使用和配置的终结点用于远程桌面协议 (RDP) 和远程 Windows PowerShell 会话流量。这些终结点允许你通过 Internet 远程管理虚拟机。
终结点的另一个用途是配置 Azure 负载平衡器,以将特定类型的流量的分布在多个虚拟机或服务之间。例如,你可以将 Web 请求流量负载分布在多个 Web 服务器或 Web 角色上。
为虚拟机定义的每个终结点都分配有一个公用端口和专用端口(TCP 或 UDP)。Internet 主机会将其传入流量发送到云服务的公共 IP 地址和公用端口。云服务中的虚拟机和服务将侦听其专用 IP 地址和专用端口。Azure 负载平衡器会将传入流量的公共 IP 地址和端口号映射到虚拟机的专用 IP 地址和端口号,对于来自虚拟机的响应流量来说,反之亦然。
当你在多个虚拟机或服务之间配置流量的负载平衡时,Azure 将提供传入流量的随机分布。
对于包含 Web 角色或辅助角色的实例的云服务,你可以在服务定义中定义公共终结点。对于包含虚拟机的云服务,你可以在创建虚拟机时向虚拟机添加终结点,也可以在以后添加终结点。
下图显示了一个用于加密的 Web 流量的负载平衡终结点,该终结点在使用公用和专用 TCP 端口 443 的三个虚拟机之间共享。这三个虚拟机位于一个负载平衡集中。
当 Internet 客户端向云服务的公共 IP 地址和 TCP 端口 443 发送网页请求时,Azure 负载平衡器将在负载平衡集中的三个虚拟机之间对这些请求执行随机平衡。
有关创建负载平衡集的步骤,请参阅。
Azure 还支持对云服务中的虚拟机之间的流量、自己包含在虚拟网络内的云服务中的虚拟机之间的流量,以及本地计算机和跨界虚拟网络中的虚拟机之间的流量进行内部负载平衡。有关详细信息,请参阅。
虚拟机的初始终结点集取决于你如何创建虚拟机。
当你使用 Windows PowerShell cmdlet 创建虚拟机时,默认情况下不创建任何终结点。你必须在创建虚拟机后添加终结点。有关详细信息,请参阅 。
你可以使用以下方法通过 Azure 管理门户创建虚拟机:
Azure 负载平衡器工作在 OSI 模型的第 4 层(传输层)。这意味着它作用于单个 TCP 或 UDP 通信流(由其源和目标 IP 地址和端口号定义)。在第 4 层进行负载平衡可确保给定 TCP 连接或 UDP 消息交换的所有数据包都路由到同一目标。
Azure 负载平衡器通过对在给定输入终结点上收到的流量计算哈希函数,来在一组可用服务器(虚拟机)之间分布负载。Azure 负载平衡器使用传入数据包中的以下字段来计算哈希值:
然后,Azure 负载平衡器使用此哈希值将流量映射到可用的服务器。同一 TCP 连接或 UDP 消息交换的所有数据包都映射到负载平衡集中的同一个服务器。当客户端关闭并重新打开连接或从同一源 IP 地址启动新的会话时,源端口通常会更改。这将创建一个新的不同哈希值和一个新的流量到可用服务器的映射。
其结果是流量将随机分布在负载平衡集的成员上。基于此随机分布,不同连接将可以映射到同一服务器。