Azure Standard Load Balancer 出站規則

    上一篇中其實有談到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等等,這會比之前要靈活一些


    這次我們來普及下如果在Standard Public Load Balancer backend pool中的VM,想要出站到internet,要怎麼配置

    

    總體上來說,有兩類辦法

    1.配置Load Balancer rule或者NAT rule

    2.手動爲Load Balancer 配置outbound rule


    首先我們來看第一種

    我們現在有一臺VM,這臺VM是在Standard Public Load Balancer 的  Backend Pool中的,可以看到它是沒辦法訪問internet的

    1.png


    

    之後嘗試創建LB規則,但是create implicit outbound rule選擇NO

    2.png


    可以看到LB規則其實已經生效了

    3.png


    但是在VM內部,可以發現還是沒辦法訪問internet

    4.png


    

    接下來我們刪掉之前的規則,重新添加一次,這次create implicit outbound rule選擇yes

    5.png



    可以看到這次終於能夠訪問了!6.png


    但是如果我們刪掉LB的rule

    7.png


    馬上就不能再訪問了

    8.png


    以上是第一種方法,接下來我們來看還有第二種方法,即使我們沒有任何LB或者NAT的規則,也可以通過直接指定outbound rule來讓VM出站到Internet

    首先獲取到LB

 9.png

  

    接下來就可以爲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,

    10.png 

    配置完成後,我們就可以更新這個LB了

    11.png


    再次測試,可以發現又可以訪問internet了,但是這時候我們並沒有任何LB的rule12.png


    以上就是在使用Standard Load Balancer時,如果後端的VM想要能夠訪問internet,我們需要注意的地方

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章