記憶體帳戶在高可用性設定方面的運作方式與其他許多 Azure 服務不同。 他們不常使用客戶部署的次要實例來增強系統的韌性。 相反地,設定為地理備援的儲存帳戶會根據區域配對複製到另一個地區。 必要時,儲存體帳戶可以故障轉移至此複本,並在次要區域中運行。
此功能表示客戶不需要計劃在另一個區域中啟動第二個儲存帳戶。 您可以擁有多個儲存帳戶,並使用客戶管理的操作在它們之間移動資料,但這種模式並不常見。
當儲存體帳戶發生故障轉移時,服務本身的名稱不會變更。 如果您使用公用端點進行輸入,則不論服務的故障轉移狀態為何,系統都可以使用相同的 DNS 解析來存取服務。
DNS 解析在儲存帳戶和存取帳戶的系統發生故障轉移時,仍能正常運作。 當只有一組服務已故障轉移時,它也會運作。 此復原功能可減少記憶體帳戶所需的 BCDR 工作數目。
如果您使用 私人端點,則需要更多設定來支援這項功能。 本文提供使用私人端點來進行安全網路連線的地理復寫儲存帳戶的架構範例,以及每個BCDR情境所需的內容。
備註
並非所有記憶體帳戶類型都支援異地備援記憶體(GRS)或讀取許可權異地備援記憶體(RA-GRS)。 例如,使用進階區塊 Blob 部署的數據湖只能是單一區域中的本地備援或區域備援。 檢閱 Azure 記憶體備援 ,以確定您的案例受到支援。
範例架構
此架構會使用可用來處理主動/主動或故障轉移案例的主要和次要區域。 每個區域都有共用網路基礎結構的中樞網路。 每個區域也有輪輻,其中會部署記憶體帳戶和其他工作負載解決方案。
異地備援記憶體帳戶會部署在主要區域中,但兩個區域中都有其 Blob 端點的私人端點。
這兩個私人端點無法針對相同的端點使用相同的私人 DNS 區域。 因此,每個區域都會使用自己的私人 DNS 區域。 每個區域區域都會連結至區域的中樞網路。 此設計會使用 DNS 轉寄站案例 來提供解析。
因此,無論 VM 嘗試存取的私人端點所在的區域為何,也無論儲存體帳戶目前運行的區域為何,都有一個本機端點可用來存取儲存 Blob。
若是來自數據中心的連線,則會對區域中的中樞網路進行 VPN 連線。 不過,針對 DNS 解析,每個數據中心都會將其條件式轉送設定為只有兩個 DNS 解析程式伺服器集的其中一個,以確保其解析為最接近的網路位置。
架構概念
此架構會使用執行單一區域部署時可能不常遇到的私人端點功能。
首先,個別服務可以附加多個私人端點。 例如,記憶體帳戶可以有位於多個不同虛擬網路中 Blob 容器的私人端點,且每個端點各自獨立運作。
不過,此模式不常用於中心輻射型情境,因為在私人 DNS 區域中,對於私有端點只能有一個記錄。 如果您將第一個私人端點註冊到私人 DNS 區域,其他私人端點將需要使用其他區域。
此外,私人端點不需要位於與其連線的資源位於相同的區域中。 美國東部 2 中的記憶體帳戶可以在美國中部部署私人端點,以提供一個範例。
只要該區域有替代的私人 DNS 區域,第二個區域中的資源就可以解析與記憶體帳戶互動。
通常使用位於相同區域的私人端點來降低成本。 但是,在考慮故障轉移時,這項功能可能會允許區域私人網路運作,即使某個區域發生故障。
跨區域流量成本
擁有多個區域的私人端點會產生相關成本。 首先,每個私人端點都有成本。 上述設計會有兩個端點,因此會收取兩次費用。 此外,在區域之間傳送流量的成本也比較高。 如需私人端點成本的詳細資訊,請參閱 Azure Private Link 定價。
跨區域虛擬網路對等互連是一項服務,可連接多個區域的虛擬網路。 它也有區域之間的數據傳輸成本。 此成本取決於您網路位於的區域。 如需網路成本的詳細資訊,請參閱 虛擬網路定價。
全域對等互連可用來讓服務在區域服務失敗期間彼此通訊。 不過,它支援較少的情境,而且在啟動故障轉移時可能需要更多手動操作。 組織應該檢閱在高可用性或復原架構中運作的成本,並將成本與還原服務持續時間較長的風險進行比較。
容錯移轉案例
此拓撲支援下列情境,而且每個情境都有其 DNS 故障轉移的考量。
| 情境 | 說明 | DNS 考慮事項 |
|---|---|---|
| 案例 1 - 記憶體帳戶故障轉移 | 主要區域的儲存帳戶發生服務中斷,需要將其故障轉移至次要區域。 | 不需要變更。 |
| 案例 2 - 其他服務故障轉移 | 主要區域的服務遭遇中斷時,需要切換至次要區域。 記憶體帳戶不需要故障轉移。 | 如果停電影響到主要區域托管的 DNS 伺服器,則需要將內部部署的條件轉寄設定更新至次要區域。 |
| 案例 3 - 整個區域中斷 | 區域中的多個服務中斷需要對儲存帳戶和其他服務進行故障轉移。 | 從內部部署 DNS 的條件式轉寄站必須更新至次要區域。 |
| 案例 4 - 在高可用性中執行 | 服務和記憶體帳戶正在 Azure 中以主動/主動組態運作。 | 如果區域的 DNS 或記憶體帳戶受到影響,內部部署的條件式轉寄站必須更新為作業區域。 |
情境 1 - 存儲帳戶故障轉移
在此情境中,儲存帳戶出現問題,必須進行故障轉移至次要區域。 使用具有區域備援和異地備援的儲存帳戶時,這些中斷並不常見,但仍應做好規劃以應對。
當記憶體帳戶故障轉移至配對的次要區域時,網路路由會維持不變。 不需要變更 DNS - 每個區域都可以繼續使用其本機端點來與儲存體帳戶通訊。
透過 VPN 連接的內部部署資料中心的連線也將繼續運作。 每個端點都可以回應路由至它的連線,而且兩個中樞網路都能夠解析為一個有效的端點。
故障轉移之後,服務將會如下列所示運作:
拓撲圖表顯示儲存帳戶故障轉移後,透過 DNS 和私人端點進行通訊。
在主要區域中還原服務時,儲存帳戶可以恢復。
案例 2 - 其他服務故障轉移
在此案例中,連線到記憶體帳戶的服務發生問題。 在我們的環境中,這些是虛擬機,但它們可能是應用程式服務或其他服務。
這些資源需要根據各自的程序切換到次要區域。 VM 可能會使用 Azure Site Recovery 在中斷前複寫 VM,或者您可能會在次要區域中部署 Web 應用程式的新實例。
一旦服務在次要區域中處於作用中狀態,就可以開始透過其區域端點連線到記憶體帳戶。 不需要任何變更,才能支持連線。
只要服務中斷不會影響中樞中的 DNS 解析服務,VPN 所連線的內部部署數據中心的連線就會繼續運作。 如果中樞已停用,例如因為 VM 服務中斷,數據中心的條件轉寄站必須調整以指向次要區域,直到服務還原為止。
故障轉移之後,服務將會如下列所示運作:
當主要區域的服務恢復後,服務可以恢復至主要區域並重設本地 DNS。
備註
如果您只需要從內部部署連線到記憶體帳戶以進行系統管理工作,則可以使用次要區域中的跳躍方塊,而不是在主要區域中更新 DNS。 如果您需要從內部部署系統直接連線到記憶體帳戶,內部部署 DNS 才需要更新。
案例 3 - 整個區域中斷
在此案例中,由於記憶體帳戶和其他服務必須故障轉移,因此區域中斷的範圍已足夠。
此故障轉移的運作方式就像案例 1 和案例 2 的組合一樣。 記憶體帳戶已故障轉移,Azure 服務也一樣。 主要區域實際上無法運作,但服務可以繼續在次要區域中運作,直到服務還原為止。
類似於案例 2,如果主要中樞無法處理其端點的 DNS 回應,或發生其他網路中斷,則內部部署的條件式轉寄站應該更新為次要區域。
故障轉移之後,服務將會如下列所示運作:
還原服務時,資源可以容錯回復,而內部部署 DNS 可以重設為其一般設定。
案例 4 - 在高可用性中執行
在此案例中,您的工作負載會以主動/主動模式執行。 主要和次要區域中都有執行計算資源,而用戶端會根據負載平衡規則連線到任一區域。
在這兩個服務中,兩個服務都可以透過其區域私人端點與記憶體帳戶通訊。 請參閱 Azure 網路來回延遲統計數據 ,以檢閱區域之間的延遲。
如果發生區域性中斷,負載平衡前端應將所有應用程式流量重新導向至使用中區域。
若要從內部部署數據中心位置連線,如果中斷影響區域的 DNS 或記憶體帳戶,則數據中心的條件式轉寄站必須設定為仍可使用的區域。 這項變更不會影響 Azure 服務。
雖然這兩個區域都狀況良好,但服務的運作方式如下:
後續步驟
在規劃記憶體帳戶復原功能時,您可以檢閱下列文章以取得詳細資訊: