玩转ECS第6讲 | 弹性计算 Region 化部署和跨可用区容灾介绍
本次分享主要圍繞以下三個方面:
一、Region和可用區介紹二、Endpoints和資源作用域
三、多可用區容災和Region化部署
彈性計算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選擇合適區域。
第三,一般選擇距離用戶更近且網絡延遲更低的地域,保證用戶快速接入。
雖然Region的選擇看似條款化,但是實際選擇時是更為簡單直觀的,較易得到最優選擇。
3.阿里云Region與可用區分布
目前為止,阿里云公共云在全球建設21個地域63個可用區,資源正在快速增長中,未來將支持更多形態。
下圖所示體現了阿里云在全球多個地理位置提供服務的能力,可見Region是一個地理概念。例如當用戶在華北2(北京)Region購買資源時,對應的ECS、RDS產品的確是在該地域范圍內。
目前Region與可用區分布較集中在中國,其他國家地區也有分布,在南美與非洲缺少Region建設,是后續的發展方向。
而Region的使用稍顯復雜。與各個Region交會并不直接使用其名字,而是通過REGION_ID。REGION_ID看似雜亂,其實具有一定特點,可大致分為以下三種:
中國REGION_ID為cn-(城市名),如cn-hangzhou。大面積國家REGION_ID為(國家代碼)-(方位)-(編號),如USA-EAST-2。
其他地區REGION_ID為(地區)-(方位)-(編號)。
二、Endpoints和資源作用域
該部分介紹使用Region與可用區時需要關注的兩個關鍵點:Endpoints和資源作用域。
1. Endpoints
Endpoints是調用ECS API的接入地址。
調用ECS API首先需要獲取Endpoints,即需要知道需要調用的地域的域名,才能調用到相應服務。第二需要有AK,通過某種阿里云特定的算法對調用串做一些加簽。如此便可以完成一次請求。
如下表所示,根據不同Region類型,Endpoints接入方式有如下三種:
第一種類型是中心域名Region,其接入點域名地址是http://ecs.aliyuns.com。此類老地域使用兼容模式只能通過中心域名接入,如cn-beijing。第二種類型是Region化域名,其接入點為Region化域名地址ecs.${REGION_ID}.http://aliyuns.com。此類Region使用Region化域名調用,兼容中心域名接入,如cn-zhangjiakou。
第三種類型開始考慮不兼容中心域名接入的Region化域名,只能通過Region化域名地址ecs.${REGION_ID}.http://aliyuns.com接入,如cn-heyuan。
針對以上三種類型Region的接入得到了最佳實踐。非中心域名的地域,建議使用Region化域名地址ecs.${REGION_ID}.http://aliyuns.com。部分Region只能使用中心域名訪問,后續會之間切換為Region化域名。
2.資源作用域
使用ECS過程中會有多種資源,每一種資源有其特定的作用域。
下表羅列了部分資源。如賬號、角色、AK此類為全局性信息,所有Region共享。實例、云盤為可用區級別的概念,創建實例、云盤都需要選擇一個特定的可用區,但是實例只能掛載相同可用區的云盤。快照、鏡像資源、keypair、安全組的作用域均為Region,在Region內各個可用區均可訪問。當需要跨Region使用快照、鏡像資源時,需要先進行資源復制操作,在另一個Region上形成新資源才可以使用。
資源作用域并非規定成章,有時會存在變化,大部分時期是上述情況。
三、多可用區容災和Region化部署
該部分介紹如何利用Region與可用區地域分布以及可用區電力、網絡故障隔離和低延遲的特點實現多可用區容災和Region化部署。
1.跨可用區容災——冷備方式
冷備方式指兩個可用區,一個主可用區運行,一個不運行作為備份。一旦運行中的可用區服務故障,部署并運行備份可用區。冷備方式較易實現,其缺點為主備切換耗時大(分鐘級)。
單可用區提供服務:如下圖所示,可用區a和可用區b同時提供兩套服務,由單可用區提供服務。正常情況下可用區a提供服務,可用區b的ECS服務不進行部署和運行,對應的SLB沒有流量。流量從DNS解析到可用區a的SLB,接入請求后SLB會分發到某個ECS。
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。
RDS主備架構:自動同步數據,保證兩個可用區的數據一致性與及時性。正常情況下兩可用區服務均訪問RDS主節點。
無狀態服務:ECS部署無狀態服務,所有業務狀態存儲在數據庫中或可從數據庫恢復。
故障恢復方案:當一個可用區發生問題時,RDS可自動主備切換。DNS定時檢測SLB狀態,屏蔽故障可用區,SLB定時檢測ECS服務狀態,屏蔽故障服務。該場景下大部分檢測自動實現,部分復雜場景下可能需要手動確認故障,但是該切換過程迅速,可實現秒級切換。
以上兩種跨可用區容災方式較為實用、常見,實現條件均是可用區之間具備網絡、電力的物理隔離以及低延遲特點。
3.跨Region部署
此處僅介紹較為簡單的跨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容災。
作者:李鐘(謝頓),阿里云智能彈性計算高級技術專家。2015年7月加入阿里云彈性計算團隊,目前負責阿里云彈性計算管控架構團隊,主導彈性計算管控系統架構的優化和演進。
?
原文鏈接
本文為阿里云原創內容,未經允許不得轉載。
總結
以上是生活随笔為你收集整理的玩转ECS第6讲 | 弹性计算 Region 化部署和跨可用区容灾介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 上传图片直接显示图片操作
- 下一篇: 百度清风算法2.0——严厉打击欺骗下载