带有虚拟网络的 Azure 网关
Azure gateway with a virtual network
我有多个关于网关和 VM 设置的问题,下面是我的实际情况。
我有一个应用程序网关和两个 VM Ubuntu,所有内容都托管在 Azure 上。他们都在同一个虚拟网络上。两个虚拟机只有一个私有 IP(10.1.0.4 和 10.1.0.5),网关有一个私有 IP(10.1.1.4)和一个 public IP。因为只有网关有一个public IP,所以我想一切都必须经过它,这就是我想要的。
我努力实现的目标:
在1680端口做负载均衡,重定向到1680端口
重定向每个 VM 的 SSH 以专门连接到一个,因为目前它们没有 public IP。是否可以使用基于路径的规则来做到这一点?喜欢 www.example.com/VM1 通过 SSH 连接到第一个虚拟机?如果不是,用什么来区分VM1和VM2的SSH连接?
将网关的80端口重定向到特定VM的8080端口。如我之前的示例,www.example.com/adminPanelVM1 连接到端口 80 上的第一个 VM(重定向到 VM 上的端口 8080)
我已经使用 HTTP 参数、侦听器和规则创建了网关的端口 1680 的重定向。
Azure 应用程序网关
Azure 应用程序网关在 HTTP/HTTPS/WebSocket 协议的 OSI 模型的第 7 层运行,因为任何其他协议(如 SSH)都无法路由。
你有几个选择。
您可以使用网络安全组或 NSG 来控制对虚拟机的访问。在 NSG 中,您可以定义允许访问 VM 的流量来自何处。
NSG 的行为类似于基于源和目标信息过滤流量的访问控制列表,并按优先级顺序评估规则。有关 NSG 的详细信息,请参阅 this 页面。
另一种选择是使用负载平衡器。
Azure 负载均衡器
如果您需要进行端口映射,就像您在问题中描述的那样,那么简单的负载均衡器可能是更适合您的解决方案。 Azure 负载均衡器在 OSI 模型中的较低级别工作,即第 4 层(传输层),处理 TCP/UDP 流量。
因此,如果您使用的是负载均衡器,那么您可以设置 NAT 规则以将您的流量转发到特定的机器,换句话说,如果您想这样做:
- LB 端口 1234 重定向到 VM1 端口 22 并且
- LB 端口 4312 重定向到 VM2 端口 22
您可以使用 Creating a public load balancer in Resource Manager by using PowerShell 文章中所述的 PowerShell 来完成此操作。
步骤很多,但它会引导您完成创建 NAT 规则、NIC 和关联虚拟机的整个过程。
Azure 应用程序网关与 Azure 负载均衡器?
这两个服务是截然不同的服务,它们试图解决不同的问题,尽管这些问题可能看起来很相似:)
应用程序网关的主要用途是:
- SSL 终止
- 基于 cookie 的会话亲和力
- 负载均衡流量循环
其中 Azure 负载均衡器服务作为 TCP/UDP 级别工作并支持例如端口映射。
成本方面,负载均衡器服务免费,而应用程序网关按小时计费。
关于这个话题有很多很棒的文章,什么时候选择哪个服务。有关更多详细信息,请参见例如链接
我有多个关于网关和 VM 设置的问题,下面是我的实际情况。
我有一个应用程序网关和两个 VM Ubuntu,所有内容都托管在 Azure 上。他们都在同一个虚拟网络上。两个虚拟机只有一个私有 IP(10.1.0.4 和 10.1.0.5),网关有一个私有 IP(10.1.1.4)和一个 public IP。因为只有网关有一个public IP,所以我想一切都必须经过它,这就是我想要的。
我努力实现的目标:
在1680端口做负载均衡,重定向到1680端口
重定向每个 VM 的 SSH 以专门连接到一个,因为目前它们没有 public IP。是否可以使用基于路径的规则来做到这一点?喜欢 www.example.com/VM1 通过 SSH 连接到第一个虚拟机?如果不是,用什么来区分VM1和VM2的SSH连接?
将网关的80端口重定向到特定VM的8080端口。如我之前的示例,www.example.com/adminPanelVM1 连接到端口 80 上的第一个 VM(重定向到 VM 上的端口 8080)
我已经使用 HTTP 参数、侦听器和规则创建了网关的端口 1680 的重定向。
Azure 应用程序网关
Azure 应用程序网关在 HTTP/HTTPS/WebSocket 协议的 OSI 模型的第 7 层运行,因为任何其他协议(如 SSH)都无法路由。
你有几个选择。
您可以使用网络安全组或 NSG 来控制对虚拟机的访问。在 NSG 中,您可以定义允许访问 VM 的流量来自何处。
NSG 的行为类似于基于源和目标信息过滤流量的访问控制列表,并按优先级顺序评估规则。有关 NSG 的详细信息,请参阅 this 页面。
另一种选择是使用负载平衡器。
Azure 负载均衡器
如果您需要进行端口映射,就像您在问题中描述的那样,那么简单的负载均衡器可能是更适合您的解决方案。 Azure 负载均衡器在 OSI 模型中的较低级别工作,即第 4 层(传输层),处理 TCP/UDP 流量。
因此,如果您使用的是负载均衡器,那么您可以设置 NAT 规则以将您的流量转发到特定的机器,换句话说,如果您想这样做:
- LB 端口 1234 重定向到 VM1 端口 22 并且
- LB 端口 4312 重定向到 VM2 端口 22
您可以使用 Creating a public load balancer in Resource Manager by using PowerShell 文章中所述的 PowerShell 来完成此操作。
步骤很多,但它会引导您完成创建 NAT 规则、NIC 和关联虚拟机的整个过程。
Azure 应用程序网关与 Azure 负载均衡器?
这两个服务是截然不同的服务,它们试图解决不同的问题,尽管这些问题可能看起来很相似:)
应用程序网关的主要用途是:
- SSL 终止
- 基于 cookie 的会话亲和力
- 负载均衡流量循环
其中 Azure 负载均衡器服务作为 TCP/UDP 级别工作并支持例如端口映射。
成本方面,负载均衡器服务免费,而应用程序网关按小时计费。
关于这个话题有很多很棒的文章,什么时候选择哪个服务。有关更多详细信息,请参见例如链接