问题标签 [azure-load-balancer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1048 浏览

azure - Azure 内部负载平衡网络,带有 VNet 网关和 P2S VPN

因此,正如标题所示,我需要使用 VPN 制作负载平衡的内部网关。我是一名开发人员,所以网络不是我的强项。

我有两个相同的 VM(可用区 1 中的 VM1 和可用区 2 中的 VM2),我需要在它们之间共享 VPN 流量。我的客户提供了将在他们的防火墙上配置的 5 个地址范围,所以我会选择一个供他们使用,然后他们需要忽略内部路由。

我的最终目标是允许客户端通过 VPN 连接到一个 IP 地址(在他们分配的范围内),并让 Azure 将流量主要定向到 VM1,但如果可用区 1 出现故障,则故障转移到 VM2。客户端必须不知道他们最终连接到哪个虚拟机。

我的问题是我无法创建负载均衡器的静态 IP 在网关 VPN P2S 地址池的地址范围内的配置。Azure 要求 P2S 地址池位于 VNet 的地址空间之外,负载均衡器需要使用 VNet 的子网(这显然在 VNet 的地址空间内,所以我被卡住了。

我可以使用客户端为 P2S VPN 指定的 IP 范围创建 GW -> Vnet -> 子网 -> VM1/VM2 设置没有问题,但是没有负载均衡器,我该如何引导 VM 之间的流量?

例如(IP 是假设的)

  • Vnet 地址范围为 172.10.0.0/16
  • 网关子网是 172.10.10.0/24
  • Gateway的P2S地址池为172.5.5.5/29
  • VM1 的 IP 是 172.10.10.4
  • VM2 的 IP 是 172.10.10.5

我可以创建一个负载均衡器来使用 Vnet(以及后端池中的 VM),但是它的静态 IP 必须位于 VNet 的子网中,因此位于 P2S 地址池之外。那么我该如何实现呢?

我想创建第二个 VNet 和相应的网关并链接网关,但我似乎最终在同一条船上

更新:这是我的 VNet 图的图像。我现在只添加了一个 VM (NSPHiAvail1),但 VM2 将在同一个 LB 后端池中 在此处输入图像描述

NSP_Address_Range 范围是 VNet 的子网,是客户端指定的范围。负载均衡器的前端 IP 在此范围内

0 投票
2 回答
1067 浏览

azure - How to redirect traffic hosted on an azure endpoint (DNS/static IP) to different external IP address

Question: How do I host an endpoint in azure which allows me to redirect internet traffic at will between azure and aws services?

I am hosting two kubernetes clusters - one in Azure and the other in AWS. I want to be able to: 1. redirect the traffic at will to either aws or azure, whilst retaining the public dns endpoint.
2. fail over manually [and pref automatically too] to the aws cluster. What is the best way to host the endpoint in azure?

Requirements:

  • The traffic needs to be redirected immediately - no caching issues and stale loads!
  • Ability to configure failover - i.e. specify that Azure is hot and AWS is the failover service - the traffic should be automatically redirected as soon as Azure goes down.

I have looked at Traffic Manager, Load Balancers and Application Gateway. Not sure which one (if any) of these is best.

0 投票
0 回答
344 浏览

c# - 特定环境中的间歇性 Bad Gateway 502 响应

我们在 WCF 中实现了一项服务。它在所有环境中都可以正常工作,除了在特定环境中它经常抛出异常

System.ServiceModel.ProtocolException:远程服务器返回意外响应:(502)错误网关。System.Net.WebException:远程服务器返回错误:(502)错误网关。在 System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)...

被调用的方法返回一个布尔值。但这是一个大事务,在 DB 端通常需要 15 分钟。我们的配置完成了 50 分钟。有时是完成交易。有时它会在 2 分钟后抛出上述错误。

在目标机器上涉及负载均衡器。我怀疑这是错误是因为他们。

如果原因是这样..那我有什么选择?

0 投票
1 回答
3698 浏览

azure-vm-scale-set - Azure 负载均衡器(标准 SKU) - 如何启用出站 ICMP 流量(使 ping 工作)?

对于网络,我使用新的标准 SKU(负载均衡器、公共 IP 地址等)。默认情况下,公共 IP 地址标准 SKU 的所有内容均已禁用。

我添加了以下内容并获得了 TCP 出站连接: 1. NSG - 启用所有出站流量 2. 负载均衡器规则 - Tcp 规则并禁用 SNAT 3. 出站规则 - Tcp

现在,当我远程访问 VMSS VM 实例时,我可以打开“google.com”。但是“ping google.com”总是超时。

我想知道我应该配置什么来启用 ping/tracert 工作(它们对我的服务产品至关重要)?

(首先,我使用默认的基本负载均衡器创建了 VMSS - 一切正常,包括 ping)。

0 投票
1 回答
201 浏览

azure - 由于 WAF 不支持,WAF 与负载均衡器的替代用法?

在我的应用程序中,我需要对 WAF 的 IPv6 支持。由于 WAF 还不支持 IPv6,我可以使用连接到 WAF 的负载均衡器,如下图(因为 IPv6 支持负载均衡器)?这是一个好的设计吗?

在此处输入图像描述

0 投票
1 回答
370 浏览

azure - aks-engine 无法创建内部负载均衡器

我无法让 aks-engine 为代理池创建负载均衡器,服务永远处于“待定”状态。

我只能在资源组中看到 master 的负载均衡器。它全部使用非常通用的 aks-engine generate examples/kubernetes-custom-vnet.json(仅使用现有的 vnet)和 ARM 模板进行部署

0 投票
1 回答
588 浏览

azure - 带有 Haproxy 的 Azure 负载均衡器导致 504 超时

我们在 Azure 的负载均衡器产品后面使用 2 个活动的 haproxy 服务器,然后将负载分配到我们的前端 Web 集群。我们有这个设置是因为我们需要在我们的 haproxy 服务器上使用 HA,并且我们还在 haproxy 中使用了许多规则来路由任何 Azure 产品都不支持的流量。

我们遇到了一个问题,流量到达 azure 负载均衡器,被路由到 haproxy 框,然后发送到 IIS 进行处理,但我们从未收到服务器返回的响应,但我可以看到请求已被处理,因为数据有已写入数据库。我在 504 的 haproxy 日志中有一个日志,但是当我检查 IIS 日志时,没有注册任何内容,因此它在 IIS 中得到处理,但看起来连接在某个阶段断开了。

我在没有 Azure 负载均衡器的情况下测试了这个设置,只有 Haproxy 可以正常工作,但是当我们引入 Azure 负载均衡器时,我们开始出现 504 错误。有没有人见过这样的问题?

haproxy.cfg

Azure 负载均衡器配置

0 投票
1 回答
128 浏览

azure - 负载均衡器后面的 .NET Core VMS 上的 SSL

我目前正在设置一个高可用性 (HA) 环境,其中两个运行 Ubuntu 的 Azure 虚拟机位于标准 Azure 负载均衡器后面。现在我知道标准负载均衡器只有第 4 层,这意味着它不能进行 SSL 卸载。

这两个 VM 都在运行 .NET Core Web API。他们显然都需要 SSL 证书来处理来自负载均衡器的 SSL 连接。

我知道我可以购买 SSL 证书并设置 Kestrel 以在 Web API 本身上使用该证书,但我想要免费证书。我知道另一种选择是使用 nginx 服务器生成证书,然后将证书复制到 Web API,但这意味着我需要每 3 个月重复一次该过程,这非常痛苦,因为这意味着我将有停机时间我使 HA 集群脱机以更新证书。

有谁知道在负载均衡器后面的两个虚拟机上使用 Lets Encrypt 的方法?

0 投票
0 回答
49 浏览

azure - 如何将附加模板中的 loadBalancingRules、侦听器和概率关联到 Azure 云上的现有负载均衡器?

我已经使用 Azure 资源管理器模板创建了 Azure 负载均衡器,但无法弄清楚如何将额外模板中定义的新侦听器、规则和探测器与现有负载均衡器相关联。

这样做的动机是利用一个负载平衡器将流量路由到通过不同端口在同一虚拟机规模集上运行的多个应用程序。

0 投票
0 回答
387 浏览

azure - 从 azure-aks pod 调用具有不同源 IP 地址的外部服务

我们尝试将我们的多微服务应用程序部署到一家大公司。但是,公司基础架构团队要求我们使用某些私有 IP 地址请求他们的服务。我们在公司网络和 azure 虚拟网络之间建立了 vpn 连接。

例如,我们从我们的一个微服务中调用 company-service-1、company-service-2 和 company-service-3,infra 团队说,使用 XXX.XXX.XXX.121 源 IP 调用 company-service-1 ,使用 XXX.XXX.XXX.122 源 ip 调用 company-service-2 并使用 XXX.XXX.XXX.123 源 ip 调用 company-service-3。他们已经为这些 ip 定义了防火墙规则,并且由于某些安全限制而不会更改它们。

我们可以通过为虚拟机定义不同的网络接口并创建一些 ip 路由来做到这一点,例如“ip route add XXX.XXX.XXX.YYY/32 via XXX.XXX.XXX.1 src XXX.XXX.XXX.123”。但那时,我们正在努力解决网络接口添加限制。因为,归根结底,我们要用不同的 ip 调用 20 个不同的服务。此外,我们可能有多个 aks 集群,因此这种方法并不好。

我们尝试通过像微软所说的出口负载平衡器来实现这一点。我们尝试通过 aks 添加一些负载均衡器,它似乎获得了真实的 IP 地址。但问题是我们无法为某些外部端点定义某些 IP 地址。来自 Pod 的每个请求都尝试直接访问公司 Web 服务,而无需访问负载均衡器并从防火墙返回错误。

aks 中的负载均衡器

我们在下面使用 yaml 创建了负载均衡器。这些是内部负载均衡器,因为当我们尝试创建公共负载均衡器时,我们无法为其分配特定的 IP 地址,或者我们可能会遗漏一些东西。我们还尝试使用公共负载均衡器,但没有运气。

内部负载均衡器 Yaml

此外,我们尝试使用 Istio - egress 功能来做到这一点,我们使用 sidecar 注入安装 istio 并标记一个命名空间以进行测试。我们创建了 virtualService、ServiceEntry、Gateway 和 DestionationRule,但我们找不到为某些外部主机提供特定负载均衡器或特定 IP 的方法。

ServiceEntry、Gateway、VirtualService、DestinationRule yaml

我们从 azure 和 istio 页面中阅读了很多文档并进行了很多搜索。我们尝试了很多东西,我不能把它们都写在这里。我认为,这不应该是一个很难的话题,应该有一个有效的方法来做到这一点。恐怕我们会迷路。我们的内部团队没有基础设施人员,这是我们第一次使用 Azure 和 azure-aks。

我们对所有想法持开放态度,并提前感谢您的所有想法。

环境:我们正在使用 azure kubernetes 服务。服务器版本:version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.13", GitCommit:"954ff68d59e9dc62fa8252ffa9023a90ff8a358c", GitTreeState:"clean", BuildDate:"2019-02-13T11:03: 32Z”,GoVersion:“go1.9.3”,编译器:“gc”,平台:“linux/amd64”}

集群大小:1 个节点(测试环境) 集群中工作负载的一般描述:一个应用程序包含多个 java-spring boot 微服务