天天看點

玩轉ECS第6講 | 彈性計算Region化部署和跨可用區容災介紹一、Region和可用區介紹二、Endpoints和資源作用域三、多可用區容災和Region化部署

關鍵詞:彈性計算、單元化、跨可用區容災

演講嘉賓簡介:李鐘(謝頓),阿裡雲智能彈性計算進階技術專家。2015年7月加入阿裡雲彈性計算團隊,目前負責阿裡雲彈性計算管控架構團隊,主飛彈性計算管控系統架構的優化和演進。

以下内容根據演講視訊以及PPT整理而成。

觀看回放 更多課程請進入“ 玩轉ECS詳情頁

”了解

本次分享主要圍繞以下三個方面:

一、Region和可用區介紹

二、Endpoints和資源作用域

三、多可用區容災和Region化部署

彈性計算Region化部署和跨可用區容災本身是非常複雜的課題,本次分享由阿裡雲彈性計算架構負責人李鐘(謝頓)為大家介紹如何選擇Region,同時結合阿裡雲在Region化部署和跨可用區容災的實踐經驗,分享多region部署場景中如何使用阿裡雲彈性計算的最佳實踐,并結合彈性計算的實踐經驗探讨如何基于阿裡雲多可用區實作跨地域容災。

該部分主要介紹Region和可用區,包括阿裡雲建設Region和可用區的原因、劃分等。

1.Region(地域)與Available Zone(可用區)

Region(地域):根據定義,Region是互相獨立的地理區域,Region中包含多個Available Zone。可通過阿裡雲Region和可用區分布圖直覺了解。

Available Zone(可用區):Available Zone是Region内網絡和電力互相獨立的區域,具有兩個主要特點。第一,Available Zone網絡和電力互相獨立,具有故障隔離能力。當一個可用區内部網絡、電力出現問題時,不會影響其他可用區。第二,相同Region内的可用區之間内網互通,通過高速網絡連接配接,網絡延遲低(ms級)。

即可用區之間有故障隔離,同時相同Region内的可用區之間網絡延遲較低,可以将多個可用區視為整體提供服務,也為後續做跨可用區容災提供了基礎。

此處需要指明,并不是先規定了地域和可用區後才發現可支援高可用服務建設,而是在有高可用服務需求的基礎上通過Region與可用區方式進行了資源劃分。

2.如何選擇Region?

選擇一個Region有以下三點重要影響因素:

第一,地域選擇需要符合相應政策和法律合規性需要。例如向美國提供服務,要求對應資料與伺服器資源必須在該國家内部,那麼根據下方Region與可用區分布,隻能申請美西、美東兩處資源。

第二,需要根據所需雲産品在各個地域的功能開通情況和SLA選擇合适區域。

第三,一般選擇距離使用者更近且網絡延遲更低的地域,保證使用者快速接入。

玩轉ECS第6講 | 彈性計算Region化部署和跨可用區容災介紹一、Region和可用區介紹二、Endpoints和資源作用域三、多可用區容災和Region化部署

雖然Region的選擇看似條款化,但是實際選擇時是更為簡單直覺的,較易得到最優選擇。

3.阿裡雲Region與可用區分布

目前為止,阿裡雲公共雲在全球建設21個地域63個可用區,資源正在快速增長中,未來将支援更多形态。

下圖所示展現了阿裡雲在全球多個地理位置提供服務的能力,可見Region是一個地理概念。例如當使用者在華北2(北京)Region購買資源時,對應的ECS、RDS産品的确是在該地域範圍内。

玩轉ECS第6講 | 彈性計算Region化部署和跨可用區容災介紹一、Region和可用區介紹二、Endpoints和資源作用域三、多可用區容災和Region化部署

目前Region與可用區分布較集中在中國,其他國家地區也有分布,在南美與非洲缺少Region建設,是後續的發展方向。

而Region的使用稍顯複雜。與各個Region交會并不直接使用其名字,而是通過REGION_ID。REGION_ID看似雜亂,其實具有一定特點,可大緻分為以下三種:

中國REGION_ID為cn-(城市名),如cn-hangzhou。

大面積國家REGION_ID為(國家代碼)-(方位)-(編号),如USA-EAST-2。

其他地區REGION_ID為(地區)-(方位)-(編号)。

該部分介紹使用Region與可用區時需要關注的兩個關鍵點:Endpoints和資源作用域。

1. Endpoints

Endpoints是調用ECS API的接入位址。

調用ECS API首先需要擷取Endpoints,即需要知道需要調用的地域的域名,才能調用到相應服務。第二需要有AK,通過某種阿裡雲特定的算法對調用串做一些加簽。如此便可以完成一次請求。

如下表所示,根據不同Region類型,Endpoints接入方式有如下三種:

第一種類型是中心域名Region,其接入點域名位址是ecs.aliyuns.com。此類老地域使用相容模式隻能通過中心域名接入,如cn-beijing。

第二種類型是Region化域名,其接入點為Region化域名位址ecs.${REGION_ID}.aliyuns.com。此類Region使用Region化域名調用,相容中心域名接入,如cn-zhangjiakou。

第三種類型開始考慮不相容中心域名接入的Region化域名,隻能通過Region化域名位址ecs.${REGION_ID}.aliyuns.com接入,如cn-heyuan。

玩轉ECS第6講 | 彈性計算Region化部署和跨可用區容災介紹一、Region和可用區介紹二、Endpoints和資源作用域三、多可用區容災和Region化部署

針對以上三種類型Region的接入得到了最佳實踐。非中心域名的地域,建議使用Region化域名位址ecs.${REGION_ID}.aliyuns.com。部分Region隻能使用中心域名通路,後續會之間切換為Region化域名。

2.資源作用域

使用ECS過程中會有多種資源,每一種資源有其特定的作用域。

下表羅列了部分資源。如賬号、角色、AK此類為全局性資訊,所有Region共享。執行個體、雲盤為可用區級别的概念,建立執行個體、雲盤都需要選擇一個特定的可用區,但是執行個體隻能挂載相同可用區的雲盤。快照、鏡像資源、keypair、安全組的作用域均為Region,在Region内各個可用區均可通路。當需要跨Region使用快照、鏡像資源時,需要先進行資源複制操作,在另一個Region上形成新資源才可以使用。

玩轉ECS第6講 | 彈性計算Region化部署和跨可用區容災介紹一、Region和可用區介紹二、Endpoints和資源作用域三、多可用區容災和Region化部署

資源作用域并非規定成章,有時會存在變化,大部分時期是上述情況。

該部分介紹如何利用Region與可用區地域分布以及可用區電力、網絡故障隔離和低延遲的特點實作多可用區容災和Region化部署。

1.跨可用區容災——冷備方式

冷備方式指兩個可用區,一個主可用區運作,一個不運作作為備份。一旦運作中的可用區服務故障,部署并運作備份可用區。冷備方式較易實作,其缺點為主備切換耗時大(分鐘級)。

單可用區提供服務:如下圖所示,可用區a和可用區b同時提供兩套服務,由單可用區提供服務。正常情況下可用區a提供服務,可用區b的ECS服務不進行部署和運作,對應的SLB沒有流量。流量從DNS解析到可用區a的SLB,接入請求後SLB會分發到某個ECS。

玩轉ECS第6講 | 彈性計算Region化部署和跨可用區容災介紹一、Region和可用區介紹二、Endpoints和資源作用域三、多可用區容災和Region化部署

RDS主備架構:兩個ECS通路同一個RDS,RDS采用主備結構,主RDS提供讀寫服務,同時有一條路徑自動同步資料到備RDS,保證兩個可用區的資料一緻性與及時性,為容災切換提供基礎。

無狀态服務:ECS部署無狀态服務,所有業務狀态存儲在資料庫中或可從資料庫恢複。如此才能在可用區a故障時将整個業務切換到可用區b。

故障恢複方案:可用區a、b存在電力、網絡的實體隔離,延遲低,發生可用區級别故障時可切換可用區提供服務。可用區a發生問題時,部署并運作可用區b服務,RDS主備切換,可用區a恢複後可繼續進行資料同步。切換DNS,可用區b SLB接收流量開始提供服務。

劣勢:冷備方式比單純的單個可用區提供服務有更強的容災能力,但是其缺點是切換可用區啟動ECS、啟動服務等、運作SLB等等操作耗費一定時間,屬于分鐘級别的容災。

2.跨可用區容災——雙活方式

雙活容災方式與冷備方式差別在于兩個可用區同時運作,資料同步。一旦某一可用區服務故障,另一可用區繼續提供服務。雙活方式同樣易于實作,且主備切換耗時低(s級)。

雙可用區同時提供服務:如下圖所示,有可用區a和可用區b同時提供兩套服務。SLB同時挂載兩個可用區的ECS服務,每個可用區的SLB需要将請求分發給兩個可用區的ECS。

玩轉ECS第6講 | 彈性計算Region化部署和跨可用區容災介紹一、Region和可用區介紹二、Endpoints和資源作用域三、多可用區容災和Region化部署

RDS主備架構:自動同步資料,保證兩個可用區的資料一緻性與及時性。正常情況下兩可用區服務均通路RDS主節點。

無狀态服務:ECS部署無狀态服務,所有業務狀态存儲在資料庫中或可從資料庫恢複。

故障恢複方案:當一個可用區發生問題時,RDS可自動主備切換。DNS定時檢測SLB狀态,屏蔽故障可用區,SLB定時檢測ECS服務狀态,屏蔽故障服務。該場景下大部分檢測自動實作,部分複雜場景下可能需要手動确認故障,但是該切換過程迅速,可實作秒級切換。

以上兩種跨可用區容災方式較為實用、常見,實作條件均是可用區之間具備網絡、電力的實體隔離以及低延遲特點。

3.跨Region部署

此處僅介紹較為簡單的跨Region部署模式。

玩轉ECS第6講 | 彈性計算Region化部署和跨可用區容災介紹一、Region和可用區介紹二、Endpoints和資源作用域三、多可用區容災和Region化部署

首先進行地域劃分。Region化部署完成後,每個Region中由可用區容災的叢集保證高可用性。但是用戶端調用地域時一個Region不能支援所有使用者與資源通路。是以首先需要根據使用者或者資源所屬地域進行劃分,通過DNS服務擷取Region化位址。該DNS可能是阿裡雲提供的服務或其他服務,DNS根據使用者或資源傳回相應的Region化位址。

例如某使用者通路Region 1,則調用Region 1的服務提供相應支援,某使用者通路Region 2,則調用Region 2的服務提供相應支援。

Region内雙可用區容災。地域劃分完成後,當可用區級别問題擴大到Region級别問題場景下,并未提供Region級别容災能力,但是提供了隔離能力。例如當Region1發生問題,無法切換到Region2進行容災,但是可以實作隔離,當Region 1出現問題時Region 2不受影響,即能夠儲存一部分工作服務的能力。

若需要提供Region級别容災能力,需要實作跨Region的資料同步或複制,将一個Region的資料、使用者狀态等複制到另一個Region,即可實作Region切換。如此将更加複雜。Region級别容災等複雜方案此處不做介紹,有興趣者可自行查閱資料。

故障影響和恢複。使用者最終選擇的容災方式、故障隔離級别、故障恢複方案等需要根據自身業務需求、實作難度與故障機率等進行判斷,選擇最适合自身業務的方案。

綜上所述,本次分享介紹了Region、可用區的定義、故障隔離與低延遲特性、關鍵點以及跨可用區容災等基本概念。大家可以利用阿裡雲的基礎架構以及業務相應支援提高服務可用性,在一定級别實作容災,提供更好的服務。

感興趣的同學可通過學習更加具體的場景下不同跨可用區容災方案,更加深入了解跨Region容災。

關注百曉生,笑談雲計算

玩轉ECS第6講 | 彈性計算Region化部署和跨可用區容災介紹一、Region和可用區介紹二、Endpoints和資源作用域三、多可用區容災和Region化部署