1. 程式人生 > >記錄學習阿里雲伺服器負載均衡,快速簡單入門

記錄學習阿里雲伺服器負載均衡,快速簡單入門

  • 理論概述

    1. 建立ECS例項

      負載均衡服務是ECS面向多機方案的一個配套服務,需要同ECS結合使用。本教程中,建立兩臺ECS例項處理負載均衡監聽轉發的流量。

    2. 搭建應用

      在建立的ECS上,搭建服務應用。本教程中,使用Apache建立一個靜態網頁。

    3. 建立負載均衡例項

      建立負載均衡例項。負載均衡例項是一個執行的負載均衡服務實體。

    4. 新增監聽和後端伺服器

      配置負載均衡例項,新增監聽規則和後端伺服器。

    5. 域名解析(可選)

      使用雲解析服務將一個域名解析到負載均衡的服務地址上,提供服務。

    6. 刪除負載均衡例項

      如果您不需要負載均衡服務了,為避免不必要的計費,可以將其刪除。

  • 準備操作

    1.  在使用負載均衡前,您需要根據您的業務確定負載均衡的監聽型別和網路型別等。

      規劃例項地域

      在選擇地域時,請注意:

    2. 為了減少延遲並提高下載速度,建議選擇離您客戶最近的地域。
    3. 為了提供更加穩定可靠的服務,阿里雲負載均衡已在大部分地域提供主備可用區,實現同地域下的跨機房容災。建議您選擇提供主備可用區的地域。
    4. 由於負載均衡不支援跨地域部署,因此應選擇與後端ECS例項相同的地域。
    5. 選擇例項的網路型別(公網或私網)

      負載均衡提供面向公網和內網的負載均衡均衡服務:

    6. 如果您需要使用負載均衡分發來自公網的請求,選擇建立公網負載均衡例項。

      公網負載均衡例項提供一個公網IP,用來接收來自Internet的請求。

      對於公網負載均衡例項,您還需要選擇例項的計費方式:
      • 按流量計費:適用於波峰波谷效應明顯的業務。
      • 按頻寬計費:適用於頻寬較為平穩的業務。
    7. 如果您需要使用負載均衡分發來自內網的請求,選擇建立私網負載均衡例項。

      私網負載均衡例項僅提供阿里雲私網IP,只能通過阿里雲內部網路訪問該負載均衡服務,無法從Internet訪問。

    8. 選擇例項規格

      負載均衡於2018年4月1日推出了效能保障型例項,您可以獨享已購例項的資源,更好地保障服務的可用性。負載均衡提供六種例項規格供您選擇:

    9. 對於按量付費例項,建議您直接選擇可以買到的最大規格,這樣可以保證業務的靈活性(彈性),且不會讓您額外多付出成本。但如果您認為您的業務量不太可能到達超強型I(slb.s3.large),也可以設定一個合理的彈性上限,比如高階型II(slb.s3.medium)。
    10. 對於預付費例項,您需要評估您的實際業務量,然後選擇一個較合適的規格,對於業務量評估來說,主要參考下面幾個原則:
      • 如果是四層監聽,關注的重點是長連線的併發連線數,那麼最大(併發)連線數應當作為一個關鍵指標來參考。根據不同的業務場景,您需要預估一個負載均衡例項需要承載的最大併發連線數,並選擇相應的規格。
      • 如果是七層監聽,關注的重點是QPS的效能,QPS決定了一個七層應用系統的吞吐量。同樣,您也需要根據經驗對QPS進行預估。在初步選定一個規格後,在業務壓測和實測過程中對規格進行微調。
      • 結合與效能保障型例項一起推出的其它關鍵監控指標,檢視實際業務流量的走勢、峰值情況,對效能規格進行更加精確的選取。
    11. 選擇協議型別

      阿里雲提供基於四層(TCP協議和UDP協議)和七層(HTTP協議和HTTPS協議)的應用的負載均衡:

    12. 四層監聽將請求直接轉發給後端伺服器,不會修改標頭。客戶端請求到達負載均衡監聽後,負載均衡伺服器會使用監聽中配置的後端埠與後端伺服器建立TCP連線。
    13. 七層監聽原理上是反向代理的一種實現。客戶端請求到達負載均衡監聽後,負載均衡伺服器會通過與後端伺服器建立TCP連線,即再次通過新TCP連線HTTP協議訪問後端,而不是直接轉發報文到後端ECS。

      由於七層監聽比四層監聽在底層實現上多了一個Tengine處理環節,因此,七層監聽效能沒有四層好。此外,客戶端埠不足、後端伺服器連線過多等場景也可能導致七層服務效能不高,如果您對效能有很高的要求,建議您使用四層監聽。

      更多詳細資訊,參見協議說明

    14. 準備後端伺服器

      在使用負載均衡服務前,您需要建立ECS例項並部署相關應用,然後將ECS例項新增到負載均衡例項中來處理轉發的客戶端請求。

      建立ECS時,請注意:

    15. ECS例項的地域和可用區

      確保ECS例項的地域和負載均衡例項的地域相同。此外,建議您將ECS部署在不同的可用區內,提高可用性。

    16. 應用配置在ECS上部署好應用後,不需要再進行特別的配置。但如果您要配置一個四層監聽(TCP協議或UDP協議),並且ECS使用的是Linux系統,確保 net.ipv4.conf檔案中的以下三個引數的值為零:
      
      net.ipv4.conf.default.rp_filter = 0
      net.ipv4.conf.all.rp_filter = 0
      net.ipv4.conf.eth0.rp_filter = 0
  • 建立ECS例項

    1. 在使用負載均衡服務前,您至少需要建立兩臺ECS例項並部署應用服務。然後將其新增到負載均衡例項中,作為後端伺服器來接收轉發的客戶端請求。

      背景資訊

      本教程將指引您建立兩個名稱分別為ECS01和ECS02的ECS例項。

      操作步驟

    2. 登入雲伺服器ECS管理控制檯。
    3. 在左側導航欄,單擊例項,然後單擊建立例項。
    4. 在建立頁面,配置ECS例項。本教程中的ECS例項的主要配置資訊如下。您可以根據您的需求進行配置。


      • 地域:由於負載均衡不支援跨地域部署,因此建立ECS例項時應選擇與負載均衡服務相同的地域。本教程選擇華東1。
      • 網路型別:選擇專有網路。使用系統提供的預設專有網路和交換機及安全組。
      • 映象:選擇公共映象(Ubuntu 16.04 64位)作為兩個ECS例項的作業系統。
      • 購買例項數量:將購買數量設定為2,系統會自動建立兩臺相同配置的ECS例項。
      • 公網寬頻:選擇為ECS例項自動分配公網IP地址。
      • 公網寬頻計費:此處選擇按固定寬頻計費,頻寬設定為1Mbps即可。
      • 選擇安全組:配置的安全組規則必須包括入方向的22和80埠。
        • 22埠是SSH遠端連線埠,用於登入ECS例項。
        • 80埠是Web服務預設埠,用於訪問建立靜態網頁中Apache搭建的靜態網頁。
    5. 單擊立即購買,完成建立。
    6. 在例項列表頁面,選擇華東1地域,找到目標例項。將游標移至例項名稱區域,單擊出現的鉛筆圖示,分別輸入ECS01和ECS02作為例項名稱。


  • 建立ECS例項後,您需要在ECS上部署相關應用。本教程將指引您使用Apache搭建兩個靜態網頁。

    操作步驟

  • 登入ECS例項。


  • 執行如下命令,從伺服器上更新安裝包資訊。
    sudo apt-get update
  • 執行如下命令,安裝Apache伺服器。
    sudo apt-get install apache2
  • 執行如下命令,修改index.html檔案內容。
    cd /var/www/html
    
    echo "Hello World ! This is ECS01." > index.html

    修改成功後,在瀏覽器中輸入ECS例項繫結的彈性公網IP地址,您將看到如下網頁內容。


  • 重複上述步驟,在另外一個ECS實上建立一個靜態網頁並將網頁內容修改為 Hello World ! This is ECS02.

    建立成功後,在瀏覽器中輸入ECS02的彈性公網IP,您會看到如下圖所示的內容。 

  • 建立負載均衡例項

    1. 在使用負載均衡前,您需要建立一個負載均衡例項。一個負載均衡例項可以新增多個監聽和後端伺服器。本教程指引您建立一個公網負載均衡例項。負載均衡服務例項建立後,系統會自動分配一個服務地址,您可以將您的域名解析到該服務地址。

      操作步驟

    2. 登入負載均衡管理控制檯
    3. 在例項管理頁面,單擊建立負載均衡。
    4. 在購買頁面選擇一種付費方式。

      本教程選擇 按量付費。

    5. 參考建立負載均衡例項,配置負載均衡例項。本教程中的負載均衡例項配置如下:
      • 地域:由於負載均衡不支援跨地域部署,因此建立負載均衡例項時應選擇與ECS例項相同的地域。本教程選擇華東1。
      • 可用區:負載均衡在大部分地域都開通了多可用區功能,實現同城容災。當主可用區的機房故障、不可用時,負載均衡仍然有能力在非常短的時間內(大約30s中斷)切換到另外一個備可用區的機房恢復服務能力;當主可用區恢復時,負載均衡同樣會自動切換到主可用區的機房提供服務。

        本教程中的主可用區為華東1 可用區B,備可用區為華東1 可用區D。

      • 例項型別:選擇公網。
    6. 單擊立即購買,完成建立。
    7. 建立成功後,返回負載均衡管理控制檯。
    8. 在例項管理頁面,選擇華東1地域, 將游標移至剛建立的負載均衡例項名稱區域,單擊出現的鉛筆圖示,輸入SLB1作為負載均衡例項的名稱,單擊確定。


  • 域名解析

    1. 您可以將域名解析到負載均衡例項的公網服務地址上,提供服務。

      背景資訊

      例如,您網站的域名為www.abc.com,執行在公網IP地址為1.1.1.1的ECS例項上。建立負載均衡例項後,系統分配的負載均衡例項的公網IP地址為2.2.2.2。您需要要將ECS例項新增到負載均衡例項的後端伺服器池,並將域名www.abc.com解析到2.2.2.2。通常情況下,建議您使用A記錄解析(即將域名解析到一個IP地址)即可。

      操作步驟

    2. 登入雲解析DNS管理控制檯。
    3. 單擊新增域名,新增您的的域名。
    4. 在域名解析列表頁面,單擊目標域名操作列下的解析設定, 根據設定域名解析中的步驟完成域名解析設定。
    5.  上一篇:配置負載均衡例項

      下一篇:刪除負載均衡例項 

      相關文件

    6. 建立負載均衡例項
    7. 配置負載均衡例項
    8. 教程概述
    9. 建立靜態網頁
    10. 建立ECS例項
    11. 刪除負載均衡例項
    12. 相關產品

    13. 負載均衡

      負載均衡(Server Load Balancer)是對多臺雲伺服器進行流量分發的負載均衡服務。負載均衡可以通過流量分發擴充套件應用系統對外的服務能力,通過消除單點故障提升應用系統的可用性。

    14. 雲伺服器 ECS

      雲伺服器(Elastic Compute Service,簡稱 ECS)是一種簡單高效、處理能力可彈性伸縮的計算服務,幫助您快速構建更穩定、安全的應用,提升運維效率,降低 IT 成本,使您更專注於核心業務創新。

    15. 專有網路 VPC

      專有網路VPC(Virtual Private Cloud)是使用者基

  • 刪除負載均衡例項

    1. 當您不再需要負載均衡服務時,可以將其刪除,避免不必要的計費。刪除負載均衡例項不會刪除後端ECS,也不會影響後端ECS的執行。

      背景資訊

      說明

    2. 如果您已經將一個域名解析到了負載均衡的服務地址,需要先將其解析到另外一個負載均衡服務地址上,避免業務中斷。
    3. 只能釋放按量付費的負載均衡例項。包年包月的預付費例項在到期後若未按時續費會自動釋放。
    4. 負載均衡例項釋放後,後端ECS還在繼續執行。如果您也不再需要後端ECS提供服務了,釋放ECS。
    5. 操作步驟

    6. 登入負載均衡管理控制檯
    7. 在例項管理頁面,選擇負載均衡例項的所屬地域。
    8. 找到目標例項,單擊列表底部的釋放設定或者選擇操作列的更多 > 釋放設定。


    9. 在釋放設定對話方塊內,根據需要選擇立即釋放或者定時釋放。

      如果您選擇定時釋放,設定自動釋放的時間。

    10. 單擊下一步。
    11. 單擊確定,完成負載均衡例項的釋放。