Azure新知识科普 - Gateway Load Balancer

网友投稿 380 2022-09-30

Azure新知识科普 - Gateway Load Balancer

最近集中看了看Azure新出的一些东西,感觉数量着实不少,而且有些也挺实用的,比如这次要介绍的这个Gateway Load Balancer,之前介绍了cross region load balancer,可以跨region去分发4层的流量,而且还可以做到就近访问,配置比较简单又很实用。

Gateway load balancer 和cross region load balancer不同,但是实用是一样的,Gateway load balancer近年来已经基本要成为第一梯队云厂的标配了,这也说明各家越来越重视这种软实力,Gateway Load Balancer主要是给一些云上的NVA设备用,比如palo alto或者F5等。在以前没有Gateway Load Balancer的时候,如果要在云上用这种三方的防火墙,其实也不是没办法,只不过会稍微麻烦一点,部署完成之后要手动去控制路由和防火墙规则,来实现进站出站流量都要经过FW的需求

有了Gateway Load Balancer之后,相对来说就会变得简单一点

Gateway Load Balancer的介绍可以参考下边的文档

​​Load Balancer还是个preview的功能,所以想要尝试下的话,需要一些额外的配置,但是总体来说也不复杂

我们可以通过PowerShell来创建一个试一下

首先要注册resource provider,因为是preview的功能

Register-AzProviderFeature -ProviderNamespace Microsoft.Network -FeatureName AllowGatewayLoadBalancer

注册会需要一段时间,通过下边命令查看注册结果

Get-AzProviderFeature -ProviderNamespace Microsoft.Network -FeatureName AllowGatewayLoadBalancer

之后就可以开始创建了

首先获取用于gateway lb部署的subnetid

$vnet=Get-AzVirtualNetwork -ResourceGroupName Work -Name Work-vnet$fe=New-AzLoadBalancerFrontendIpConfig -SubnetId $vnet.Subnets[-1].id -Name lbfe

接下来创建tunnel,其实也是backendpool的一部分

$tunnelInterface1=New-AzLoadBalancerBackendAddressPoolTunnelInterfaceConfig -Type 'Internal' -Protocol Vxlan -Identifier '800' -Port 10800$tunnelInterface2=New-AzLoadBalancerBackendAddressPoolTunnelInterfaceConfig -Type 'External' -Protocol Vxlan -Identifier '801' -Port 10801#两个interface必须是不同类型

创建backend pool

$bepool=New-AzLoadBalancerBackendAddressPoolConfig -Name 'backend' -TunnelInterface $tunnelInterface1,$tunnelInterface2

创建probe

$probe = @{ Name = 'HealthProbe' Protocol = ' Port = '80' IntervalInSeconds = '360' ProbeCount = '5' RequestPath = '/'}$healthprobe = New-AzLoadBalancerProbeConfig @probe

创建LB Rule

$para = @{ Name = 'myLBRule' Protocol = 'All' FrontendPort = '0' BackendPort = '0' FrontendIpConfiguration = $fe BackendAddressPool = $bepool Probe = $healthprobe}$rule = New-AzLoadBalancerRuleConfig @para

创建LB

$lb = @{ ResourceGroupName = ‘Work’ Name = 'LoadBalancer-gw' Location = 'eastasia' Sku = 'Gateway' LoadBalancingRule = $rule FrontendIpConfiguration = $fe BackendAddressPool = $bepool Probe = $healthprobe}New-AzLoadBalancer @lb

在Portal上也能看到创建出来的LB了,SKU显示是Gateway

之后还不算完,如果想实现把发给IP或者LB的流量自动redirect到gatewayLB,还需要创建个link,要不完怎么知道要把流量转发给哪个NVA

$gwlb=Get-AzLoadBalancer -ResourceGroupName 'work' -Name 'LoadBalancer-gw'$lb=Get-AzLoadBalancer -ResourceGroupName 'MC_Apache_SSLAKS_eastasia' -Name 'kubernetes'$lbip=Get-AzPublicIpAddress -ResourceGroupName 'MC_Apache_SSLAKS_eastasia' -Name '89686742-6cbe-436b-a2b7-6e8737af283f'$config=Set-AzLoadBalancerFrontendIpConfig -Name "config" -PublicIpAddress $lbip -LoadBalancer $lb -GatewayLoadBalancerId $gwlb.FrontendIpConfigurations.Id$config | Set-AzLoadBalancer

这样就OK了,总体来说创建过程还是要比cross region lb复杂不少的,现在Portal上相关的配置也不是很健全,想尝试的话建议可以再等等

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:JavaCV实现读取视频信息及自动截取封面图详解
下一篇:《XML编程与应用教程》第一章习题解答
相关文章

 发表评论

暂时没有评论,来抢沙发吧~