概述
Alibaba Cloud DNS權重配置,指在DNS伺服器中為同一個主機記錄配置多個IP地址,在應答DNS查詢時,所有IP地址按照預先設定的權重進行返回不同的解析結果,將解析流量分配到不同的伺服器上,從而達到負載平衡的目的。
啟用條件
權重配置的啟用條件是網域名稱下存在相同的主機記錄、相同解析線路的多條A記錄、CNAME記錄、AAAA記錄。
如果不開啟權重,當記錄類型為A、AAAA、NS、MX、TXT等,Alibaba Cloud DNS會返回命中線路下的全部記錄,由LocalDNS進行選擇,若LocalDNS也返回全部地址給發起請求的終端,則由終端選擇一個IP進行訪問。若多條記錄均為CNAME,Alibaba Cloud DNS則返回其中的一條記錄。
規則限制
權重配置僅適用於記錄類型為“A記錄、CNAME記錄、AAAA記錄”,且是相同主機記錄、相同線路下的**多個記錄值。具體使用規則如下:
限制 | 支援 | 不支援 |
記錄類型 | A記錄、CNAME記錄、AAAA記錄。 | 其他記錄類型。 |
選項組 | 處於啟用狀態的記錄。 | 處於暫停、鎖定狀態的記錄,以及泛解析記錄。 |
解析記錄數量限制 | 單網域名稱單線路下允許配置權重的最大解析記錄數量:免費版支援10個,付費版支援90個。 | 不涉及。 |
權重值規則 | 權重值允許設定0-100,預設權重值比例為1:1 . 支援權重值設定為 “0”,則Alibaba Cloud DNS不返回此解析記錄值。 | 不涉及。 |
解析線路 | 可對預設線路配置帶權重的A記錄,也可以對具體的線路配置。 說明 不同線路中,其權重相互獨立。 | 針對不同線路,開啟/關閉負載平衡。 |
名詞解釋
序號 | 名詞 | 描述 |
1 | 負載平衡策略 | 顯示目前使用者應用的負載平衡策略,負載平衡策略包含返回全部地址、按權重返回地址兩種策略方式。 |
2 | 返回全部地址 | 指應用服務的網域名稱,同時解析到多個地址,每個IP地址平均承擔使用者的訪問流量。 |
3 | 按權重返回地址 | 指應用服務的網域名稱,同時解析到多個地址,每個地址配置不同的權重,使每個地址承擔不同比例的訪問流量。 |
4 | 開啟權重 | 此開啟權重為全域操作,可通過此功能對子網域名稱下的所有線路同時開啟權重設定。 |
5 | 關閉權重 | 此關閉權重為全域操作,可通過此功能對子網域名稱下的所有線路同時關閉權重設定。 |
6 | 設定權重 | 可通過此功能對某條或不同的解析線路,單獨開啟與設定權重。 |
設定方法
登入到 Alibaba Cloud DNS控制台。
在網域名稱解析頁面,權威網域名稱頁簽下,單擊目標網域名稱的解析設定,進入解析設定頁面。
在解析設定頁面,單擊左側導航權重配置,進入權重配置頁面,單擊開啟權重,彈出對話方塊後單擊確認。一般開啟是預設權重(1:1:1)的配置,在DNS請求應答中,Alibaba Cloud DNS會按照1:1:1的權重策略返回IP地址。
說明開啟權重為全域操作,指子網域名稱下的所有線路權重開關全部開啟。
在權重配置頁面,權重配置頁簽下,單擊設定權重,配置權重後,在DNS請求應答中,Alibaba Cloud DNS會按照預先設定的權重返回IP地址。
單獨為某條線路進行權重開啟
單獨開啟某一線路的權重及設定效果,除了“開啟權重”的全域開啟操作,您還可以單獨為某一線路進行線路權重開啟。例如:
子網域名稱的負載平衡策略為返回全部地址,單擊設定權重。
選擇要開啟權重的線路。
說明負載平衡策略為“返回全部地址”且未開啟線路權重開關,權重為不可編輯狀態。
開啟線路權重開關,在下方權重列按業務情境需求配置權重值。
實現效果:預設線路按照設定的權重比1:1進行返回,其他線路返回線路下全部地址。
實現效果
未開啟權重配置的效果
假設您有 3 台伺服器(IP 位址分別為1.1.XX.XX
、2.2.XX.XX
、3.3.XX.XX
)提供同一服務(1個網域名稱),且在解析設定中對應如下3條A記錄:
記錄類型 | 主機記錄 | 解析線路 | 記錄值 |
A | www | 預設 | 1.1.XX.XX |
A | www | 預設 | 2.2.XX.XX |
A | www | 預設 | 3.3.XX.XX |
當Local DNS訪問Alibaba Cloud DNS,Alibaba Cloud DNS將這3個解析記錄全部返回給Local DNS,Local DNS若將所有的IP地址返回給網站訪問者,網站訪問者的瀏覽器會隨機訪問其中一個IP。
在無DNS負載平衡的權威DNS中,這種方法能夠在一定程度上減輕單台伺服器的壓力,但它不能區分伺服器的差異,不能反映伺服器的當前運行狀態。
預設權重效果
權重配置開啟,預設配置的是1:1:1權重,Alibaba Cloud DNS會根據(預設權重1:1:1),輪詢3個A記錄,依次返回3個IP地址,以響應網站訪問者的請求。DNS解析結果如下所示:
Region1 訪問,返回 1.1.XX.XX
Region2 訪問,返回 2.2.XX.XX
Region3 訪問,返回 3.3.XX.XX
Region4 訪問,返回 1.1.XX.XX
Region5 訪問,返回 2.2.XX.XX
Region6 訪問,返回 3.3.XX.XX
……
權重設定效果
權重配置開啟後,進行權重設定,在DNS請求應答中,IP地址按照預先設定的權重進行返回,可以實現將解析流量按照權重進行分配。例如,將上述3條解析記錄的權重比設定為2:1:1時,則DNS解析結果如下所示:
Region1 訪問,返回 1.1.XX.XX
Region2 訪問,返回 2.2.XX.XX
Region3 訪問,返回 3.3.XX.XX
Region4 訪問,返回 1.1.XX.XX
Region5 訪問,返回 1.1.XX.XX
Region6 訪問,返回 2.2.XX.XX
……
如果您在測試過程中,發現偶爾會出現DNS解析結果和權重配置不符的現象,這屬於一種正常現象。因為加權輪詢是一個粗粒度的解析流量調度方式,它針對的是Localdns的請求,而Localdns在TTL時間內是只會向權威DNS(Alibaba Cloud DNS)請求一次。
例如您的網域名稱被上海和北京兩個地區的使用者訪問,假設上海使用者使用的是localdnsA,北京使用者使用到的是localdnsB。 當localdnsA和localdnsB向Alibaba Cloud DNS發起查詢請求的時候,Alibaba Cloud DNS會按照使用者配置的加權策略返回,但是在TTL時間內,使用相同localdns下的所有使用者擷取到的都是同一個解析結果。