Chaos Studio 工作空間概覽

Chaos Studio Workspaces 是 Azure Chaos Studio 中 Azure 韌性測試目前的資源模型。 使用工作區在範圍內發現資源,選擇模擬停電模式的情境,並檢視每次情境執行中發生了什麼。 可以從 Workspaces 快速入門開始,或探索 情境目錄 中區域故障、網路中斷及資料庫故障轉移的資訊。

Important

Chaos Studio 的工作空間與場景目前已公開預覽。 Microsoft 提供此預覽版「現況」與「可用狀態」,不受服務等級協議或有限保固保護。 Microsoft 以盡力而為的方式提供預覽版的客戶支援。 這個預覽並非為製作用途設計。 欲了解更多資訊,請參閱以下文章:

你不必自行組合單一動作並手動選擇資源,而是從已包含正確動作、資源發現與特定失敗模式排序的命名情境開始。 此方法可讓您更快從「我需要測試區域關閉復原能力」進入實際測試執行。

為什麼要使用 Chaos Studio Workspaces

當停電模擬貼近故障實際發生的方式時,最能發揮作用。 真實事件不會一次只影響一個資源。 區域故障會癱瘓虛擬機器、干擾負載平衡器,並強制資料庫同時進行故障轉移。 工作區會從中斷模式 (案例) 而非個別動作開始,以處理此模式。

工作空間也足夠彈性,能配合你的組織架構。 你可以為應用程式、預生產環境、團隊或合規邊界建立工作區。 由於範圍控制工作區發現的資源,你可以從單一資源群組擴展到整個訂閱,而不必改變工作流程。 管理多個應用程式的團隊可以為每個應用程式維護獨立的工作區,擁有不同的範圍、身份與情境配置。

工作區也能消除拖慢團隊效率的設定阻礙。 工作區不會手動逐一選擇資源並設定動作,而是會發現你的基礎設施,並顯示哪些情境適用於它所找到的資源。 情境執行後,你會收到一份情境報告,詳細記錄發生了什麼:執行了哪些動作、跳過了哪些動作、每個動作花了多久時間,以及執行是否成功。

工作區的組織方式

工作空間主要分為四個部分:

範圍定義了工作空間能看到哪些 Azure 資源。 你可以將範圍設定為訂閱、資源群組或服務群組。 Chaos Studio 會發現該範圍內的資源,並將其與可用的情境配對。 如果你之後新增或移除資源,工作區會自動接收變更。

備註

工作區是邏輯資源,可以操作任何 Azure 區域的資源,無論工作區本身部署在哪裡。 你不需要在目標資源所在的區域建立工作區。 在實驗(傳統版)中,目標和功能必須與你的資源位於相同位置。

身分識別是工作區用來對您的資源執行動作時所使用的受控身分識別。 身份作為安全邊界:確保只有擁有正確 Azure 角色基礎存取控制(Azure RBAC)角色指派的授權主體,才能對特定資源執行動作。 您可以只在確切想要測試的資源上授與識別角色,僅此而已,藉此控制影響範圍。 您可以使用由工作區建立的系統指派管理身份,或是跨工作區共享的使用者指派管理身份。 建立之後,門戶會提示你指派任何缺失的角色,或者你可以手動設定。

情境庫 是你工作空間中可用的情境目錄。 Chaos Studio 會根據你在調查範圍內發現的資源來填充資料庫。 每個情境描述其模擬的停電模式、所組成的行動,以及影響的資源。 你可藉由從程式庫中選取情境,並提供任何必要的參數(例如要停用哪個可用區域)來設定情境。

情境報告會在每次情境執行後產生。 報告顯示執行中繼資料(情境名稱、工作區、執行ID、狀態、開始與結束時間)、包含每個動作狀態與持續時間的動作摘要表,以及執行流程時間軸。 您可以將報告作為合規審查、事件後回顧或韌性成熟度評估的證據。

範圍類型

建立工作區時,請選擇三種範圍類型之一:

範圍類型 內容涵蓋 何時使用
訂閱 所有資源都集中在單一 Azure 訂閱中 涵蓋整個訂用帳戶的大範圍探索。 適合用訂閱方式組織工作負載的團隊。
資源群組 所有資源集中於單一資源群組 針對同一資源群組中的特定應用程式或服務進行聚焦測試。
服務群組 跨多個訂用帳戶的一組已定義資源 跨訂用帳戶測試跨越多個訂用帳戶的應用程式。

設定好範圍後,Chaos Studio 會掃描其中的資源,並判斷哪些情境可以與它們對抗。 你可以之後更改範圍,不用重新建立工作區。

受管理的識別

工作區的受控識別是執行階段執行動作的安全性主體。 沒有任何動作會使用你的個人憑證執行。 受管理身份負責執行所有動作,而 Azure RBAC 則負責管理其能做的事。 此設計表示識別會作為影響範圍控制:您只會在確切想要測試的資源上授與其角色,而且它無法觸碰其他任何資源。 只有擁有觸發情境執行權限,且其工作區身份在目標資源上擁有正確角色的使用者,才能執行動作。 這個兩層模型(誰能觸發 + 身份能觸及的範圍)確保合適的人能針對正確的資源執行正確的測試。

你有兩個選擇:

  • 系統指派的受控識別:在建立工作區時自動建立,且其生命週期與工作區綁定。 當你刪除工作區時,身份也會被刪除。
  • 使用者指派的管理身份:獨立建立並附加至工作區。 你可以跨多個工作區共享,並獨立管理其生命週期。

建立工作區後,入口網站會協助你指派所需的角色。 它會提示你在作用域上授予身份讀取權限,當你儲存情境設定時,驗證系統會回報任何缺失的權限並提供修正。 如果你的組織限制這些指派,你可以手動授予權限。 完整清單請參閱 角色分配如何進行

情境與行動

情境是一種已命名且預先設定的韌性測試,用來模擬特定的停電模式。 每個情境包含一個或多個 行動,即構成測試的各個中斷與順序步驟。 你不需要手動組裝它們。 情境定義了哪些行動會執行、以何種順序執行,以及針對哪些資源類型。

Chaos Studio 提供一組支援的最常見停電模式的情境範本。 當沒有一個符合你需要的模式時,使用 情境設計師 從範本開始,並將其動作和參數自訂到你自己儲存的情境中。

關於情境目錄、情境設計器,以及每個情境所組成的動作,請參見 Azure Chaos Studio 中的情境

情境報告

劇本運行結束後,Chaos Studio 會產生劇情報告。 該報告包括:

  • 執行細節:情境名稱、設定、工作區、執行ID、整體狀態、開始時間及結束時間。
  • 動作摘要:一個列出每個動作及其顯示名稱、狀態(成功、跳過、失敗)、持續時間、開始與結束時間、受影響資源及所用參數的表格。
  • 行動時間軸:視覺化時間軸,顯示每個行動相對於整體運行的開始與結束時間。
  • 執行流程:執行步驟與分支結構的示意圖,包括每個節點的狀態與持續時間。

你可以在 Azure 入口網站查看報告,下載並分享給利害關係人。 報告記錄執行了哪些行動及其結果。 搭配您自己的應用程式健康檢查與監控,以驗證端對端的復原。

欲了解情境報告的詳細攻略,請參閱 Azure Chaos Studio 中的情境報告

與實驗的關係(經典)

Chaos Studio 的工作空間和實驗(經典版)是獨立的資源模型。 工作空間使用由動作組成的情境。 實驗(經典)模型使用實驗、目標、能力與故障。 當你需要案例目錄中未提供的故障組合或功能時,請選擇「實驗(經典版)」。

如需對照比較以及關於何時選擇各個模型的指引,請參閱在 Chaos Studio 工作區與實驗(傳統)之間進行選擇

選擇韌性測試

利用情境目錄和攻略,將測試與你的資源相匹配:

在執行測試前,請先檢視 Workspaces 的權限、身份限制

回報問題與請求功能

Azure Chaos Studio 是公開開發的。 若要回報錯誤、請求功能,或詢問有關 Workspaces、Scenarios 或 Azure CLI 擴充功能的問題,請在 GitHub 的 Chaos Studio 倉庫開啟一個問題。 透過提交問題,您可以追蹤其進度並查看其他客戶的請求。

下一步