負載平衡作為流量轉寄服務,將來自用戶端的請求通過負載平衡叢集轉寄至後端伺服器,後端伺服器再將響應通過內網返回給負載平衡。

入網流量路徑

對於入網流量,負載平衡會根據使用者在控制台或API上配置的轉寄策略,對來自前端的訪問請求進行轉寄和處理,資料流轉如图 1所示。

图 1. 入網流量路徑


  1. TCP/UDP協議和HTTP/HTTPS協議的流量都需要經過LVS叢集進行轉寄。
  2. LVS叢集內的每一台節點伺服器均勻地分配海量訪問請求,並且每一台節點伺服器之間都有會話同步策略,以保證高可用。
    • 如果相應的Server Load Balancer執行個體服務通信埠使用的是四層協議(TCP或UDP),那麼LVS叢集內每個節點都會根據Server Load Balancer執行個體負載平衡策略,將其承載的服務要求按策略直接分發到後端ECS伺服器。
    • 如果相應的Server Load Balancer執行個體服務通信埠使用的是七層HTTP協議,那麼LVS叢集內每個節點會先將其承載的服務要求均分到Tengine叢集,Tengine叢集內的每個節點再根據負載平衡策略,將服務要求按策略最終分發到後端ECS伺服器。
    • 如果相應的Server Load Balancer執行個體服務通信埠使用的是七層HTTPS協議,與上述HTTP處理過程類似,差別是在按策略將服務要求最終分發到後端ECS伺服器前,先調用Key Server進行證書驗證及資料包加解密等前置操作。

出網流量路徑

負載平衡SLB和後端ECS之間是通過內網進行通訊的。
  • 如果ECS僅僅處理來自負載平衡的請求,可以不購買公網頻寬(ECS公網IP/Elastic IP Address/NAT Gateway等)。
  • 如果需要直接通過後端ECS對外提供服務,或後端ECS有訪問外網的需求, 那麼需要相應的配置或購買ECS公網IP/Elastic IP Address/NAT Gateway等服務,

ECS的公網流量訪問路徑如图 2所示。

图 2. 出網流量路徑


總體原則:流量從哪裡進來,就從哪裡出去。

  1. 通過負載平衡進入的流量在負載平衡SLB上限速/計費,僅收取出方向流量費用,入方向流量不收取(在未來可能會改變),SLB到ECS之間是阿里雲內網通訊,不收取流量費用。
  2. 來自Elastic IP Address/NAT Gateway的流量,分別在Elastic IP Address/NAT Gateway上進行限速/計費,如果在購買ECS時選擇了公網頻寬,限速/計費點在ECS上。
  3. 負載平衡SLB僅提供被動訪問公網的能力,即後端ECS只能在收到通過負載平衡SLB轉寄來的公網的請求時,才能訪問公網回應該請求,如後端ECS希望主動發起公網訪問,則需要配置/購買ECS公網頻寬、Elastic IP Address或NAT Gateway來實現。
  4. ECS公網頻寬(購買ECS時配置)、Elastic IP Address、NAT Gateway均可以實現ECS的雙向公網訪問(訪問或被訪問),但沒有流量分發和負載平衡的能力。