分享方式:


建立混沌實驗,使用服務直接錯誤容錯移轉 Azure Cosmos DB 執行個體

您可以使用混沌實驗在受控環境中引發失敗,以驗證應用程式是否能夠從失敗中復原。 在本文中,您將使用混沌實驗和 Azure Chaos Studio,以引發多重讀取、單一寫入 Azure Cosmos DB 容錯移轉。 執行此實驗可協助您在發生容錯移轉事件時,防範資料遺失。

您可以使用這些相同的步驟來設定和執行針對任何服務直接錯誤的實驗。 服務直接錯誤會直接針對 Azure 資源執行,無需任何檢測。 代理程式型錯誤需要安裝混沌代理程式。

必要條件

  • Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始之前先建立 Azure 免費帳戶
  • Azure Cosmos DB 帳戶。 如果您沒有 Azure Cosmos DB 帳戶,請遵循下列步驟來建立一個
  • 為 Azure Cosmos DB 帳戶至少設定讀取一次及寫入一次的區域。

在 Azure Cosmos DB 帳戶上啟用 Chaos Studio

除非資源已先新增至 Chaos Studio,否則 Chaos Studio 無法對該資源插入錯誤。 您可以藉由在資源上建立目標和功能來將該資源新增至 Chaos Studio。 Azure Cosmos DB 帳戶只有一個目標類型 (服務導向) 和一個功能 (容錯移轉)。 其他資源可能最多有兩個目標類型。 其中一個目標類型適用於服務導向錯誤。 另一個目標類型是代理程式型錯誤。 其他資源可能有許多其他功能。

  1. 開啟 Azure 入口網站

  2. 在搜尋列中搜尋 [Chaos Studio]

  3. 選取 [目標],然後移至您的 Azure Cosmos DB 帳戶。

    顯示 Azure 入口網站中 [目標] 檢視的螢幕擷取畫面。

  4. 選取您的 Azure Cosmos DB 帳戶旁邊的核取方塊。 選取 [啟用目標],然後從下拉式功能表中選取 [啟用服務直接目標]

    顯示 Azure 入口網站中啟用目標的螢幕擷取畫面。

  5. 確認已列出所需的資源。 選取 [檢閱 + 啟用],然後 [啟用]

  6. 會出現一則通知,指出所選資源已成功啟用。

    螢幕擷取畫面:顯示通知,指出已成功啟用目標。

您現在已成功將 Azure Cosmos DB 帳戶新增至 Chaos Studio。 在 [目標] 檢視中,您也可以管理此資源上啟用的功能。 選取資源旁的 [管理動作] 連結會顯示針對該資源所啟用的功能。

建立實驗

現在您可以建立實驗。 混沌實驗會定義您想要針對目標資源採取的動作。 動作會以循序步驟組織並執行。 混沌實驗也會定義您想要針對平行執行之分支採取的動作。

  1. 在 Chaos Studio 中選取 [實驗] 索引標籤。 在此檢視中,您可以查看並管理您的所有混沌實驗。 選取 [建立]>[新增實驗]

    顯示 Azure 入口網站中 [實驗] 檢視的螢幕擷取畫面。

  2. 填寫您要部署混沌實驗的訂閱資源群組位置。 為您的實驗命名。 選取 [下一步: 實驗設計工具]

    顯示新增基本實驗詳細資料的螢幕擷取畫面。

  3. 您現在位於 Chaos Studio 實驗設計工具中。 實驗設計工具可讓您藉由新增步驟、分支與錯誤來建置實驗。 為您的 [步驟] 和 [分支] 提供一個易記的名稱,然後選取 [新增動作] > [新增錯誤]

    顯示實驗設計工具的螢幕擷取畫面。

  4. 從下拉式清單中選取 [CosmosDB 容錯移轉]。 在 [持續時間] 中填寫您希望錯誤持續的分鐘數,並在 [readRegion] 中填寫您的 Azure Cosmos DB 帳戶的讀取區域。 選取 [下一步:目標資源]

    顯示錯誤屬性的螢幕擷取畫面。

  5. 選取您的 Azure Cosmos DB 帳戶,然後選取 [下一步]

    顯示新增目標的螢幕擷取畫面。

  6. 驗證您的實驗看起來是否正確,然後選取 [檢閱 + 建立]>[建立]

    顯示檢閱和建立實驗的螢幕擷取畫面。

將實驗權限授與給您的目標資源

當您建立混沌實驗時,Chaos Studio 會建立系統指派的受控識別,以針對目標資源執行錯誤。 必須將目標資源的適當權限授與此身分識別,實驗才能順利執行。 您可以對任何資源和目標類型使用這些步驟,方法是修改步驟 3 中的角色指派,以符合該資源與目標類型的適當角色

  1. 移至您的 Azure Cosmos DB 帳戶,然後選取 [存取控制 (IAM)]

    顯示 [Azure Cosmos DB 概觀] 頁面的螢幕擷取畫面。

  2. 選取 [新增>][新增角色指派]。

    顯示存取控制概觀的螢幕擷取畫面。

  3. 搜尋 Cosmos DB 操作員並選取角色。 選取 [下一步]。

    顯示指派 Azure Cosmos DB 操作員角色的螢幕擷取畫面。

  4. 選擇 [選取成員],然後搜尋您的實驗名稱。 選取您的實驗,然後選擇 [選取]。 若相同租用戶中有多個具有相同名稱的實驗,系統則會截斷您的實驗名稱並新增隨機字元。

    顯示將實驗新增至角色的螢幕擷取畫面。

  5. 選取 [檢閱 + 指派]>[檢閱 + 指派]

執行您的實驗

您現在可以開始執行實驗。 若要查看效果,建議您開啟您的 Azure Cosmos DB 帳戶概觀,然後在不同的瀏覽器分頁中移至 [全域複寫資料]。實驗期間定期重新整理會顯示區域交換。

  1. 在 [實驗] 檢視中,選取您的實驗。 選取 [開始] > [確定]
  2. 當 [狀態] 變更為 [執行中] 時,在 [歷程記錄] 下選取最近一次執行的 [詳細資料],以查看執行中實驗的詳細資料。

下一步

現在您已執行 Azure Cosmos DB 服務導向實驗,您可以開始: