上一篇中其實有談到Azure Standard Load Balancer 有一個優點也是劣勢的地方是他的出站鏈接,默認狀況下,當VM被掛載到Standard Public Load Balancer的backend pool中時,這臺VM會失去outbound到internet的能力,這可能會致使有些用戶搞不清楚是爲何,並且若是是Standard Internal Load Balancer,實際上是不提供outbound到internet的方案的,除非附加一個公網IP給到這臺VM,因此這能夠算是Standard Load Balancer的一個缺點後端
可是另外一方面,Standard Load Balancer實際上是可讓用戶本身去控制outbound的規則的,若是你比較瞭解Azure VM的出入站規則的話,你會知道Azure實際上是有SNAT端口耗盡的問題的,Standard Load Balancer可讓用戶本身去配置SNAT時候的協議,端口數量,使用的IP等等,這會比以前要靈活一些frontend
此次咱們來普及下若是在Standard Public Load Balancer backend pool中的VM,想要出站到internet,要怎麼配置ide
整體上來講,有兩類辦法
測試
1.配置Load Balancer rule或者NAT rule
3d
2.手動爲Load Balancer 配置outbound ruleblog
首先咱們來看第一種
ip
咱們如今有一臺VM,這臺VM是在Standard Public Load Balancer 的 Backend Pool中的,能夠看到它是沒辦法訪問internet的ci
以後嘗試建立LB規則,可是create implicit outbound rule選擇NOit
能夠看到LB規則其實已經生效了
io
可是在VM內部,能夠發現仍是沒辦法訪問internet
接下來咱們刪掉以前的規則,從新添加一次,此次create implicit outbound rule選擇yes
能夠看到此次終於可以訪問了!
可是若是咱們刪掉LB的rule
立刻就不能再訪問了
以上是第一種方法,接下來咱們來看還有第二種方法,即便咱們沒有任何LB或者NAT的規則,也能夠經過直接指定outbound rule來讓VM出站到Internet
首先獲取到LB
接下來就能夠爲LB添加規則了
這裏要注意,LB的出站規則實際上是有不少參數能夠配置的,整體來講能夠分爲如下這些
"frontendIPConfigurations": [ list_of_frontend_ip_configuations ],
"allocatedOutboundPorts": number_of_SNAT_ports, 須要是8的倍數,上限64000
"idleTimeoutInMinutes": 4 through 66,
"enableTcpReset": true | false,
"protocol": "Tcp" | "Udp" | "All",
"backendAddressPool": backend_pool_reference,
配置完成後,咱們就能夠更新這個LB了
再次測試,能夠發現又能夠訪問internet了,可是這時候咱們並無任何LB的rule
以上就是在使用Standard Load Balancer時,若是後端的VM想要可以訪問internet,咱們須要注意的地方