阿裏雲産品之負載均衡

萱蘇的運維日常 2024-04-01 14:04:07
概述

負載均衡,英文名稱爲Load Balance,其含義就是指將負載(工作任務)進行平衡、分攤到多個操作單元上進行運行,例如FTP服務器、Web服務器、企業核心應用服務器和其它主要任務服務器等,從而協同完成工作任務。負載均衡構建在原有網絡結構之上,它提供了一種透明且廉價有效的方法擴展服務器和網絡設備的帶寬、加強網絡數據處理能力、增加吞吐量、提高網絡的可用性和靈活性。

負載均衡分類

OSI(Open System Interconnect),即開放式系統互聯。是OSI組織爲了互聯網各層之間協作而制定的標准模型。再具體點來說是爲了使互聯網各個基礎組件廠商統一標准而制定的標准,這樣就能實現互聯了。

四層負載

基于IP+端口的負載均衡,在三層負載均衡的基礎上,通過發布三層的IP地址(VIP),然後加上四層的端口號,來決定哪些流量需要做負載均衡,對需要處理的流量進行NAT處理,轉發至後台服務器,並記錄下這個TCP或UDP的流量時由哪台服務器處理的,後續這個連接的所有流量都會同樣轉發到同一台服務器處理。對應的負載均衡器稱爲四層交換機(L4 Switch),主要分析IP層及TCP/UDP層,實現四層負載均衡。此種負載均衡不理解應用協議(如HTTP/FTP/MySQL等等)實現四層的軟件:

LVS

NGINX

HAPROXY

七層負載

七層負載均衡工作在 OSI 模型的第七層(應用層),指的是負載均衡設備通過請求報文中的應用層信息(如URL、HTTP頭部、資源類型等信息)和負載均衡算法,選擇到達的目標內部服務器。七層負載均衡的功能更加豐富靈活,另外七層負載均衡兩端(面向用戶端和服務器端)的連接都是獨立的,在一定程度上也提升了後端系統的安全性,因爲像網絡常見的DoS攻擊,在七層負載均衡的環境下通常在負載均衡設備上就截止了,不會影響到後台服務器的正常運行。比如常見 Nginx 就是運行在七層的負載均衡軟件實現七層負載軟件

HAPROXY

NGINX

APACHE

負載算法

負載均衡算法,主要分爲以下5種,輪詢、加權輪詢、哈希、隨機、最少連接。輪詢:

加權輪詢

哈希

隨機

最小連接數

負載均衡應用場景

彈性橫向擴張

服務高可用

流量調度

雲産品

阿裏雲負載均衡産品分爲ALB(應用負載均衡)、NLB(網絡負載均衡)、CLB(傳統負載均衡)。該三種SLB配置方法大體相同,以下以配置步驟以CLB爲例。

計費方式

ALB實力規格費+LCU+公網流量費,LCU可使用LCU資源包進行抵扣NLB實力規格費+LCU+公網流量費CLB包年包月:實例費+規格費+公網帶寬費按量收費:實例費+規格費+LCU+公網流量費

LCU是按小時進行收費的,其計算規則如下:LCU費用 = LCU單價 * LCU個數LCU 單價:

ALB/CLB  0.049

NLB  0.037

ALB/CLBLCU個數 = MAX{新建連接個數LCU,並發連接個數LCU,處理流量個數LCU,規則評估數LCU}新建連接個數LCU = 最大連接數 / 25(單位 個)並發連接個數LCU = 最大並發連接數 / 300(單位 個)處理流量個數LCU = 總處理流量 / 1                  (單位 GB)規則評估數LCU = 規則評估數 / 1000NLBLCU個數 = MAX{新建連接個數LCU,並發連接個數LCU,處理流量個數LCU}新建連接個數LCU = 最大連接數 (800/400/50)(單位 個)並發連接個數LCU = 最大並發連接數 / (100000/50000/3000)(單位 個)處理流量個數LCU = 總處理流量 / 1(單位 GB)

配置步驟

配置前准備

業務是否平穩(按量付費)

四層:最大並發連接數;七層:QPS數(包年包月)

確認實例網絡類型,公網 or 私網

確認實例所在地域,CLB不支持跨地域

選擇合適的規格

確定轉發協議(TCP/UDP/HTTP/HTTPS)

創建CLB實例

登錄【負載均衡SLB控制台】>【傳統型負載均衡CLB】>【實例管理】>【創建傳統型負載均衡】

填寫相關配置信息,點擊【立即購買】

配置監聽

在【實例管理】頁面,找到對應的CLB實例,在【操作列】單擊【監聽配置向導】

在向導頁面進行相關配置的填寫。例如協議、監聽端口、調度算法等

添加後端服務器組

在【實例管理】頁面,單擊實例 ID 進入實例詳情頁面

在【默認服務器組】頁簽,單擊【添加】,勾選已存在的ECS實例

配置健康檢查

進入實例詳情頁面,在【監聽】頁簽,單擊【添加監聽】或者在目標監聽的【操作】列單擊【修改監聽配置】

進入【健康檢查】頁面進行配置

配置域名解析

登錄【域名解析控制台】,在目標域名【操作】列點擊【解析設置】

添加記錄

驗證均衡是否正常,流量是否轉發到對應的後端服務上

配置證書(七層)

CLB支持兩種來源的證書:

在阿裏雲SSL證書服務中簽發或托管的證書:從阿裏雲SSL證書服務選擇,可實現證書到期提醒和一鍵續期。暫未支持客戶端CA證書。

第三方簽發的證書:上傳第三方簽發證書,您需要持有證書的公鑰和私鑰文件。支持HTTPS服務器證書及客戶端CA證書。

在創建證書前,請注意:

如果一個證書要在多個地域使用,那麽創建證書時需要選擇多個地域。

每個地域最多可以創建100個服務器證書。

每個地域最多可以創建100個客戶端CA證書。

傳阿裏雲證書

登錄【傳統型負載均衡CLB控制台】,在左側導航欄,選擇【傳統型負載均衡 CLB(原SLB)】 > 【證書管】

在【證書管理】頁面,單擊【創建證書】。

在【創建證書】面板,選擇阿裏雲簽發證書,從證書列表中選擇使用的SSL證書,並選擇證書所屬資源組和證書部署地域。證書不支持跨地域使用。如果該證書需要在多個地域使用,選擇所有需要的地域。

上傳非阿裏雲證書

登錄【傳統型負載均衡CLB控制台】,在左側導航欄,選擇【傳統型負載均衡 CLB(原SLB)】 > 【證書管理】。

在【證書管理】頁面,單擊【創建證書】。

在【創建證書】面板,選擇上傳非阿裏雲簽發證書,並完成以下配置。

替換證書

替換監聽證書

登錄【傳統型負載均衡CLB控制台】,在【實例管理】頁面單擊需要替換證書的CLB實例ID,選擇【監聽】頁簽。

單擊需要替換證書的HTTPS監聽【操作】列的【管理證書】。

在【管理證書】面板選擇服務器證書(默認證書)下拉框選擇一個服務器證書。

單擊【高級配置】右側的【修改】,修改雙向認證和TLS安全策略配置,然後單擊確定。

在左側導航欄選擇【傳統型負載均衡 CLB(原SLB)】 > 【證書管理】,在【證書管理】頁面找到過期目標證書,然後在【操作】列單擊【刪除】,並在彈出的對話框中,單擊【確定】。

若過期證書關聯了其他監聽,則無法進行刪除操作

通過證書管理替換證書

通過證書管理替換證書後,所有關聯該證書的監聽或擴展域名上的證書也將自動替換

登錄【傳統型負載均衡CLB控制台】,在左側導航欄,選擇【傳統型負載均衡 CLB(原SLB)】 > 【證書管理】。

在【證書管理】頁面,單擊需要替換證書的操作列的替換證書。

至少關聯了一個監聽或者域名擴展的證書才能被替換。

在替換服務器證書頁面,修改證書。

選擇【阿裏雲簽發證書】,選擇證書部署地域和所屬資源組,在證書列表選擇新的證書。

選擇【上傳非阿裏雲簽發證書】

選擇【創建一個證書並替換】。

選擇【使用已有證書】替換,在已有證書列表中選擇用來替換的服務器證書。

單擊【替換證書】。

單擊【去證書列表】查看,在【證書管理】頁面,可以查看關聯監聽或者擴展域名對應的證書變成新替換的證書。

WAF與SLB相結合

SLB可與WAF結合使用,將更好的保護後端服務器。目前進行配置的方法有以下兩種

通過【負載均衡控制台】

在【實例管理】頁面,單擊實例 ID 進入實例詳情頁面

在【安全防護】頁簽,單擊立即開通

目前負載均衡控制台只支持爲七層監聽開啓WAF2.0

通過【web應用防火牆控制台】

web應用防火牆3.0

在【接入管理】頁面,單擊【雲産品接入】頁簽。

在CLB(HTTP/HTTPS)分頁,單擊目標實例前的image.png圖標,展開查看該實例下已添加到WAF防護的端口。

登錄【web應用防火牆3.0控制台】,在左側導航欄點擊【接入管理】

在【雲産品接入】頁簽選擇CLB(HTTP/HTTPS),單擊【接入】

根據頁面對服務進行授權

在配置頁面進行相關配置的填寫,點擊【確認】

查看源站服務器和管理引流端口

查看端口詳情:單擊端口詳情,查看端口、協議、配置的證書信息,設置WAF前是否有七層代理(高防/CDN等)、啓用流量標記。取消接入:單擊取消接入,在取消接入對話框,單擊確定。取消接入後,您資産上的流量將不再受到WAF保護,您可以單擊接入,重新添加端口。具體操作,請參見添加引流端口。

更新引流端口配置的證書

在數字證書管理服務(原 SSL 證書)控制台部署證書到七層CLB實例

在負載均衡控制台更新證書

續費證書或將第三方證書上傳到數字證書管理服務(原 SSL 證書)

同步證書到七層CLB實例

七層CLB實例綁定的證書更新後,會自動同步到WAF。如果沒有同步,您可以在WAF控制台執行如下操作:在【接入管理】 > 【雲産品接入】 > 【CLB(HTTP/HTTPS)】頁簽,單擊【接入】。在【接入資産】- 【七層CLB面板】,單擊【同步最新資産】,手動同步更新。

3. 如果引流端口更換的證書爲第三方證書,引流端口會自動取消接入。您需要在更換證書後重新添加端口,具體操作,請參見添加引流端口

web應用防火牆2.0

SLB存在公網ip,且端口未開啓雙向認證

托管在內地服務上的域名需要進行icp備案

已上傳證書(只有七層需要滿足)

在【網站接入】頁面,單擊【服務器列表】頁簽。

單擊實例前的

圖標,展開查看該實例下已添加到WAF防護的端口。

透明接入前提:

登錄【web應用防護2.0管理控制台】,在左側導航欄點擊【資産中心】>【網站接入】

在【域名列表】頁簽,單擊【網絡接入】,選擇【接入模式】爲【透明接入】,並填寫域名相關信息,點擊【確認】

查看源站服務器和管理引流端口

四層SLB類型、ECS類型實例的端口不會自動同步到服務器列表,您需要手動添加端口。具體操作,請參見添加端口。

Web流量狀態(圖示①)表示該端口的流量目前是否經過WAF防護,可選項開啓或關閉。您可以單擊操作列下的【關閉引流】、【開啓引流】,修改端口引流狀態。

關閉端口引流後,該服務器端口的流量將不會經過WAF防護。Web流量狀態(圖示②)表示該實例下端口接入WAF防護的整體狀態,可選項未防護、部分防護、運行中。

3. 如果實例爲四層SLB類型、ECS類型,您可以單擊端口【操作】列下的【刪除】,並在提示對話框中單擊【確定】,刪除某個不再需要流量防護的端口。

更新引流端口配置的證書

如果實例監聽端口配置的證書被更新,您只需要在SLB實例中更新證書,WAF會自動同步。同步時長約30分鍾

ALB實例和七層SLB實例:無需在WAF重新上傳證書。

如果監聽端口證書更換爲通過第三方平台(非阿裏雲)購買的證書,您需要在更新證書後,重新將實例接入WAF

2. 如果WAF自動同步的證書未生效,您可以在【服務器列表】頁簽,單擊【更新】圖標,手動更新實例監聽端口配置的證書2. **ECS實例和四層SLB實例:**需要在WAF重新上傳證書1. 您可以在服務器列表頁簽,定位到需要更新證書的實例,單擊目標端口【操作】列的【編輯】,通過手動上傳或選擇已有證書的方式上傳證書。

阿裏雲産品ALB、NLB、CLB區別

|| ALB | NLB | CLB || --- | --- | --- | --- || 轉發能力 | 七層 | 四層 | 四/七層基礎能力 || 協議 | HTTP/HTTPS | TCP/UDP | TCP/UDP/HTTP/HTTPS || 效率 | 低 | 高 | - || 安全性 | 高 | 低 | - || 架構和性能 |

基于NFV虛擬化平台,支持彈性伸縮

單實例最大支持100萬QPS|

基于NFV虛擬化平台,不依賴物理機,支持彈性和快速擴容等需求

單實例最大支持1億並發|

基于物理機架構

單實例最大支持100萬並發、5萬QPS|| 典型應用場景 |

互聯網應用七層高性能自動彈性場景

音視頻應用大流量低時延場景

雲原生應用金絲雀藍綠發布場景|

四層大流量高並發業務場景

物聯網、車聯網等IoT業務入口

多活容災、IDC雲上出入口場景|

網站、系統四層流量分發高可靠場景

大並發高性能網絡分流場景

同城災備、跨地域容災場景|

SLB+ESS

當用戶架構處于一下幾種情況:

用戶直接訪問服務器

應用、數據未分離

應用、數據分離

用戶通過軟件負載訪問

應用、數據未分離

應用、數據分離

現狀2:

單點故障

無法橫向擴容

現狀1:

橫向擴容工作量大

空閑資源浪費

通過使用阿裏雲SLB+ESS+雲監控可以很好的解決該情況彈性伸縮:彈性伸縮(Elastic Scaling Service,簡稱ESS),也稱爲Auto Scaling,是指根據業務需求和策略自動調整計算能力(即實例數量)的服務。您可以指定實例的類型,即ECS實例或ECI實例。彈性伸縮不僅適合業務量不斷波動的應用程序,同時也適合業務量穩定的應用程序。

彈性伸縮支持直接綁定SLB、ECS、ECI實例,彈性實例的增減有多種方式:

手動添加

報警任務

業務波動性較大,不可預估業務高峰期,可以使用監控指標(cpu使用率、內存使用率......)進行彈性擴容

定時任務

業務的波動有迹可循,能夠明確的知道業務的高峰時段

伸縮原理:

依據模式觸發伸縮(多模式並行)

通過接口調用伸縮程序

根據規則和配置執行伸縮活動

創建實例並加入SLB、RDS

注意點:

靜態存儲(圖片、視頻、文件......)最好放在OSS、NAS上,保證數據一致性

挂載文件系統

通過oss內網地址進行訪問(AK、AS、Endpoint,【私有需要進行系統對接,申請url簽名才能訪問】)

挂載爲目錄

OSS

NAS

推薦使用OSS進行存儲,使用內網訪地址進行訪問。相對于其他三類,使用內網地址訪問最簡潔,最便利。其他兩種方式都需要進入系統進行挂載,需要在進行擴容時進行挂載,挂載過程中可能出現異常導致挂載失敗,從而導致所擴容服務器無法正常提供服務。

伸縮動作之後,會存在冷卻時間,在冷卻時間內不執行報警任務(重啓伸縮組,冷卻時間失效)

數據庫目前只能直接關聯RDS,其他類型的可用生命周期挂鈎+OOS進行關聯

0 阅读:11