在今年的 02/07 到 02/09 號之間,在 Southeast Asia 和 East Asia 這兩個 region 的服務都有受到影響,甚至導致資源無法存取
剛好藉著這個事件,我們這篇來探討一下在 Azure 裡面最基本的高可用(High Availability)概念,也就是 Regional、Availability Zone 和 Availability Set
取決於應用的等級,應該用什麼等級的高可用,這篇我們來看一下
TL;DR;
功能 | Azure Region | Availability Zone | Availability Set |
---|---|---|---|
定義 | 包含一個或多個資料中心的地理區域 | 擁有獨立電力和網路的單一資料中心 | 在資料中心內的虛擬機器的邏輯分組 |
目的 | - 能夠部署應用在更靠近使用者的地方 - 提供高可用 |
提供更高的高可用 | 提供高可用 |
SLA | 保證 99.99% 的運行時間 | 每個 Zone 保證 99.99% 的運行時間 | 每個 Set 保證99.95% 的運行時間 |
隔離 | 與其他 Region 隔離,擁有獨立資源 | 與其他 Zone 隔離,擁有獨立資源 | 多台 VM 橫跨在多個 Fault Domain |
費用 | 價格因 Region 而異 | 除 VM 和儲存空間外,無額外費用 | 除 VM 和儲存空間外,無額外費用 |
VN11-JD8 事件的影響 | East Asia Region 的部分服務受到影響 | 如果有部署到 2 個或以上 Zone 的服務受到服務影響 | 部署到有影響的 Datacenter 應用因此受到服務中斷 |
發生了什麼事?追蹤 Id:VN11-JD8
完整的事件報告可以在這邊看到:Azure status history
整個事件的時間:2023/02/07 20:19 ~ 2023/03/09 04:30
簡單來說,就是在 Southeast Asia 的 Region 其中一個 Availability Zone 發生了冷卻系統異常,導致了:
- 整個 Datacenter 為了保護基礎建設和資料因此整個關閉
並且有兩個沒有預期的錯誤也發生了:
- 有些跨 region 的服務因此受到影響(degradation)
- 有些設計在出錯的時候 failover 到跨 zone 或者跨 region 的服務沒有運作正常
那些服務受到那些影響,以及完整的過程可以參考上面提供的連結,這邊以這個事件為例目的只是讓大家知道,機器總是有可能壞掉,所以規劃好高可用的策略很重要
基本的高可用 (High Availability) 概念
以 Azure 來說,我們可以簡單分為 3 個層級:
- Regional
- Availability Zone
- Availability Set
這三個層級,在 Azure 的不同服務有不同的設定方式可以達到,這篇將會以 Azure Virtual Machine (VM) 作為範例
Regional
當我們建立任何的 Azure 資源的時候,第一個碰到的選擇都會是建立在哪裡,而這個哪裡就是 Regional
離我們亞洲最近的就是 East Asia(香港)以及 Southeast Asia(新加坡)
以我們這次的案例,就是發生在 Southeast Asia 這個 Region
Azure 什麼服務有支援到 Zone,以及支援到什麼程度可以參考這個連接
Azure VM 在建立的過程,如果想要設定,那麼就可以從 Zone 裡面去選擇