童鞋們大家好,今兒是個好日子,Azure NAT Gateway 從 Azure 21v 的 Portal 上蹦了出來,一通操作(quadra click)創建好了,開個機器試試,還行好使,看來並沒有掛在牆上。那今兒就說說 Azure VNet 內如何選擇 Outbound 流量的打開方式吧,。
1. 什么是 VNet 內 Outbound 流量:
從 VNET 內資源主動發起的訪問 Internet 地址的連接請求。
2. 目前 Azure 有哪些產品支持 Outbound 流量:
- VNET 內的默認 Internet Gateway
- VM 的實例級公網 IP
- Basic Load Balancer
- Standard Load Balancer
- Azure Firewall
- Azure NAT Gateway
什么 !? Azure 居然給了我 6 個選項。 嗯,沒有看錯,6個,你在用哪一款呢?你現在用的是不是你中意的那一款呢?
3. 一表解千愁,總有一款適合你
- 固定出口 IP : 對外部服務 API 調用的標准需求,通過固定 IP 來允許對端設置白名單
- 多出口地址支持:如果只是單一公網 IP,可用的 Outbound 連接的可用端口就是 65535 個,支持更多的連接通過更多的公網 IP 來支持
- SNAT 端口資源動態分配:Basic/Standard LB 都是默認通過預分配的機制給到后端的主機,這就意味當預分配端口耗盡時無法動態自動分配,Standard LB 可以通過配置策略來調整預分配的端口資源數量,但仍然是靜態的,當預分配資源耗盡時仍會出現無資源可用的現象。預分配策略可參考如下連接:https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-outbound-connections#preallocatedports
- Outbound Idle Timeout: 精細化控制 SNAT 端口資源的關鍵,如果 timeout 不可設置導致默認 4mins 過小,對於一些長連接場景不友好。
- TCP Reset on IDEL:增強服務器和客戶端體驗的友好性,當連接由於 IDLE Timeout 被釋放后,后續的連接 NAT GW 和 Standard LB 可以主動的向兩側或一側發送 reset 報文,引導客戶端重新建立連接
- 策略顆粒度:策略顆粒度決定的相應 outbound 規則的使能范圍
- 支持安全功能: Azure Firewall 額外提供了4-7層防火牆功能以及 IP 地址輿情分析功能
綜上可見,NAT Gateway 是最簡單快捷的 Outbound 連接的打開神器,小伙伴們可以操練起來,quadra click 打開屬於你自己 VNet 的 NAT Gateway,傳送門:https://docs.microsoft.com/en-us/azure/virtual-network/quickstart-create-nat-gateway-portal。