0

关于网关和虚拟机的设置,我有多个问题,所以这就是我的实际情况。

我有一个应用程序网关和两个 VM Ubuntu,一切都托管在 Azure 上。它们都在同一个虚拟网络上。两个虚拟机都只有一个私有 IP(10.1.0.4 和 10.1.0.5),网关有一个私有 IP(10.1.1.4)和一个公共 IP。因为只有Gateway有公网IP,所以我想一切都要经过它,这就是我想要的。

我试图实现的目标:

  • 在端口 1680 上做一个负载均衡器,重定向到端口 1680。

  • 重定向每个 VM 的 SSH 以专门连接到一个,因为目前它们没有公共 IP。是否可以使用基于路径的规则来做到这一点?像 www.example.com/VM1 一样通过 SSH 连接到第一个虚拟机?如果不是,可以使用什么来区分 VM1 和 VM2 的 SSH 连接?

  • 将网关的 80 端口重定向到特定 VM 的 8080 端口。作为我之前的示例,www.example.com/adminPanelVM1 连接到端口 80 上的第一个 VM(重定向到 VM 上的端口 8080)

我已经设法使用 HTTP 参数、侦听器和规则创建网关端口 1680 的重定向。

4

1 回答 1

5

Azure 应用程序网关

Azure 应用程序网关在 HTTP/HTTPS/WebSocket 协议上的 OSI 模型的第 7 层运行,因为任何其他协议(如 SSH)都无法路由。

你有几个选择。

您可以使用网络安全组 (NSG) 来控制对虚拟机的访问。在 NSG 中,您可以定义允许访问 VM 的流量的来源。

NSG 的行为类似于访问控制列表,它根据源和目标信息过滤流量并按优先级顺序评估规则。有关 NSG 的更多信息,请参阅页面。

另一种选择是使用负载平衡器。

Azure 负载均衡器

如果您需要进行端口映射,就像您在问题中描述的那样,那么简单的负载均衡器可能是您更好的解决方案。Azure 负载均衡器在 OSI 模型中的较低级别工作,即第 4 层(传输层),处理 TCP/UDP 流量。

因此,如果您使用的是负载均衡器,那么您可以设置 NAT 规则以将您的流量转发到特定机器,换句话说,如果您想这样做:

  • LB 端口 1234 重定向到 VM1 端口 22 和
  • LB 端口 4312 重定向到 VM2 端口 22

您可以使用 PowerShell 执行此操作,如使用 PowerShell在资源管理器中创建公共负载均衡器一文中所述。

有很多步骤,但它会引导您完成创建 NAT 规则、NIC 和关联虚拟机的整个过程。

Azure 应用程序网关与 Azure 负载均衡器?

这两个服务是截然不同的服务,并试图解决不同的问题,尽管这些问题可能看起来相似:)

应用程序网关的主要用途是:

  • SSL 终止
  • 基于 cookie 的会话亲和性
  • 用于负载平衡流量的循环

Azure 负载均衡器服务用作 TCP/UDP 级别并支持例如端口映射。

成本方面,负载均衡器服务是免费的,而应用程序网关按小时计费。

关于这个主题有很多很棒的文章,什么时候选择哪个服务。例如,请参阅链接以获取更多详细信息

于 2018-04-12T10:06:17.440 回答