登录
  • 人们都希望被别人需要 却往往事与愿违
  • 如果建筑工人像程序员写软件那样盖房子, 那第一只飞来的啄木鸟就能毁掉人类文明@Gerald Weinberg (软件工程大牛)

使用Azure Front Door 和 Load Balancer

建站运维 Benny小土豆 1331次浏览 1459字 0个评论
文章目录[显示]

一般来说,做个网站,并开放给全世界,有以下几种方式:

  1. 直接使用公网IP+端口号
  2. 买个域名,做解析,使用域名访问
  3. 套上 Cloudflare,让 Cloudflare去反向代理源站
  4. 用 Cloudflare Argo Tunnel,服务器有没有公网IP都无所谓了
  5. 其他CDN方案

最近在用 Azure,一直想利用一下他们的Front Door。简单的摸索了一下如何把Front Door、Load Balancer 和 vm三者结合起来使用。

创建一台 vm

不分配公网 IP 没关系,简单起见这里先只创建一个了

创建 LB

使用Azure Front Door 和 Load Balancer

给 LB的类型设置为 Public,创建一个IP,可以选Microsoft网络也可以选公网,具体区别可以看 https://learn.microsoft.com/zh-cn/azure/virtual-network/ip-services/routing-preference-overview

使用Azure Front Door 和 Load Balancer

添加 NIC,选择虚拟机的那个网卡

使用Azure Front Door 和 Load Balancer

此负载均衡器会有一个公网IP地址,并且连接到了我们的vnet,只是我们还没有定义 NAT出入规则,所以还需要继续配置

打开LB的Inbound NAT rules,由于我们的backend其实只有一台vm,因此类型选择 azure 虚拟机就可以了

使用Azure Front Door 和 Load Balancer

这个时候 ssh 就会发现能够连到vm啦,但是vm还上不了网

使用Azure Front Door 和 Load Balancer

要添加出网规则机器才能上网,outbound rules中添加一个

使用Azure Front Door 和 Load Balancer

Port allocation 选择 default就行

这个时候机器就可以上网了,体验了一把自己配置 SNAT的快感🤡

那就先跑个nginx 方便我们后续测试 http

sudo docker run -d -p 80:80 nginx:alpine
curl localhost

之后时候你在这台机器外面 curl 还是不行的,因为还得继续加一条 inbound 80 规则和上面一样,这时在外面就可以访问啦!

创建 Front Door

Front door有三种,Classic、Standard、Premium

Classic即将在2027年3月退役

Classic 按照流量和路由规则、WAF等计费,Standard、Premium则是月费、流量和请求数量计费。

按照提示来就行,之后 Front Door会让我们配置

Domain

Domain 那里就选创建 Front Door的时候的那个域名

使用Azure Front Door 和 Load Balancer

Backend pools

需要注意这里 https port也要写80

因为在我们的vm上只跑了80端口,所以只能都80。如果我们的应用是跑在其他端口的话,也要跟着更改

使用Azure Front Door 和 Load Balancer

routing rules

要注意 forwarding protocol 选择 http only,原因同上

使用Azure Front Door 和 Load Balancer

然后部署,等几分钟,就有啦

使用Azure Front Door 和 Load Balancer

总结

  1. Azure Front Door Premium 可以用 Private Link 连接到内部负载均衡器。但是 Premium 月费要330美元,我可能确实用不起……
  2. 如果单机性能足够,那么给vm分配个公网IP,然后配置 Front Door写这个IP就行
  3. 如果单机性能不够,那么可以再加多台vm,然后用LB做负载均衡;也可以直接 Front Door 加 backend pool
  4. 走微软全球网络路由的性能应该不错

参考文档

 


文章版权归原作者所有丨本站默认采用CC-BY-NC-SA 4.0协议进行授权|
转载必须包含本声明,并以超链接形式注明原作者和本文原始地址:
https://dmesg.app/azure-fd.html
喜欢 (0)
分享:-)
关于作者:
If you have any further questions, feel free to contact me in English or Chinese.
发表我的评论
取消评论

                     

去你妹的实名制!

  • 昵称 (必填)
  • 邮箱 (必填,不要邮件提醒可以随便写)
  • 网址 (选填)