Azure 自動化的災害復原
適用於:✔️ Linux VM ✔️ Windows VM
本文說明用來處理全地區或全區域失敗的災害復原策略。
您必須要有一個災害復原策略,才能處理全地區服務中斷或全區域失敗的問題,以協助降低對業務和客戶無法預期事件所造成的影響和作用。 您必須負責設定自動化帳戶的災害復原,以及其相依的資源,例如模組、連線、認證、憑證、變數和排程。 災害復原計畫的一個重要層面是,在主要地區中的自動化帳戶變成無法使用時,準備容錯移轉至在次要地區中預先建立的自動化帳戶複本。 請確定您的災害復原策略會考慮您的自動化帳戶和相依資源。
除了可用性區域所提供的高可用性之外,某些地區也會與另一個地區配對,以提供地區性或大型地理災害的保護。 不論主要地區是否有地區性配對,自動化帳戶的災害復原策略仍維持不變。 如需地區性配對的詳細資訊,請深入了解。
啟用災害復原
您建立的每一個自動化帳戶都需要一個您必須用於部署的位置。 這會是您自動化帳戶的主要地區,其包含資產、針對自動化帳戶所建立的 Runbook、工作執行資料和記錄。 若要進行災害復原,複本自動化帳戶必須已部署並在次要地區中備妥。
- 首先,在任何替代的地區中建立複本自動化帳戶。
- 選取您選擇的次要地區 (配對區域) 或可使用 Azure 自動化的任何其他地區。
- 除了建立自動化帳戶的複本之外,還要複寫相依的資源 (例如 Runbook、模組、連線、認證、憑證、變數、排程,以及針對主要地區自動化帳戶中的「執行身分」帳戶和「受管理的身分識別」指派給次要地區自動化帳戶的權限)。 您可以使用 PowerShell 指令碼,將自動化帳戶的資產從一個地區移轉至另一個地區。
- 如果您使用 ARM 範本來定義及部署自動化 Runbook,則您可以使用這些範本,在建立複本自動化帳戶的任何其他 Azure 地區中部署相同的 Runbook。 如果主要地區中的全地區中斷或全區域失敗,那麼您可以執行在次要地區中複寫的 Runbook 以繼續照常進行業務。 這可確保在主要地區發生中斷或失敗問題時,次要地區會逐步趕上來繼續進行工作。
注意
由於資料落地需求,主要地區中存在的工作資料和記錄無法在次要地區中使用。
雲端和混合式工作的案例
案例:在次要地區中執行雲端工作
對於雲端工作,若複本自動化帳戶和所有相依資源及 Runbook 都已部署並可在次要地區中使用時,則會有一個可忽略的停機時間。 您可以像往常一樣使用複本帳戶來執行工作。
案例:在與主要失敗地區不同的地區中部署的 Hybrid Runbook Worker 上執行工作
如果 Windows 或 Linux Hybrid Runbook Worker 是在與主要失敗地區不同的地區中使用擴充功能型方法部署,請遵循下列這些步驟以繼續執行混合式工作:
- 刪除主要地區自動化帳戶中 Hybrid Runbook Worker 上所安裝的擴充功能。
- 新增相同的 Hybrid Runbook Worker 至次要地區自動化帳戶中的 Hybrid Worker 群組。 Hybrid Worker 擴充功能會安裝在自動化帳戶複本的機器上。
- 在步驟 2 中所建立的 Hybrid Runbook Worker 上執行工作。
對於使用代理程式型方法部署的 Hybrid Runbook Worker,請從下面選擇:
如果 Windows Hybrid Runbook Worker 是在與主要失敗地區不同的地區中使用代理程式型方法部署,請遵循下列步驟以繼續執行混合式工作:
案例:在主要失敗地區中所部署的 Hybrid Runbook Worker 上執行工作
如果 Hybrid Runbook Worker 部署在主要地區中,且該地區發生運算失敗,則機器將無法用來執行自動化工作。 您必須在替代地區中佈建新的虛擬機器,並將它註冊為次要地區自動化帳戶中的 Hybrid Runbook Worker。
- 請參閱如何部署擴充功能型 Windows 或 Linux 使用者 Hybrid Runbook Worker 中的安裝步驟。
- 請參閱如何部署代理程式型 Windows Hybrid Worker 中的安裝步驟。
- 請參閱如何部署代理程式型 Linux Hybrid Worker 中的安裝步驟。
將自動化帳戶資產從一個地區移轉至另一個地區的指令碼
您可以使用這些指令碼,將自動化帳戶資產從主要地區中的帳戶移轉至次要地區中的帳戶。 這些指令碼只會用來移轉 Runbook、模組、連線、認證、憑證和變數。 這些指令碼的執行不會影響自動化帳戶及其存在於主要地區中的資產。
必要條件
請確定已建立次要地區的自動化帳戶且可供使用,以便可以將主要地區的資產移轉至其中。 如果目的地自動化帳戶是沒有任何自訂資源的帳戶,則這是更好的選項,因為其可以防止因同名和資料遺失而造成的潛在資源衝突。
確定主要地區的自動化帳戶中已啟用系統指派的受控識別。
確定主要自動化帳戶的系統指派受控識別具有其所屬訂閱的參與者存取權。
確定主要自動化帳戶的受控識別具有次要地區自動化帳戶讀取和寫入權限的參與者存取權。 若要啟用,請在次要自動化帳戶的受控識別中提供必要的權限。 深入了解。
請確定指令碼可以存取主要地區中的自動化帳戶資產。 因此,它應該作為 Runbook 在該自動化帳戶中執行,以便順利移轉。
如果使用執行身分帳戶來部署主要自動化帳戶,則必須在移轉之前切換到受控識別。 深入了解。
所需的模組為:
- Az.Accounts 2.8.0 版
- Az.Resources 6.0.0 版
- Az.Automation 1.7.3 版
- Az.Storage 4.6.0 版
確定來源和目的地自動化帳戶都應該屬於相同的 Microsoft Entra 租用戶。
建立和執行 Runbook
您可以使用 PowerShell 指令碼或 PowerShell 工作流程 Runbook 或從 Runbook 資源庫匯入並加以執行,以便能夠將資產從一個自動化帳戶移轉至另一個自動化帳戶。
請遵循下列步驟來匯入和執行 Runbook:
- 登入 Azure 入口網站。
- 移至您想要移轉至另一個地區的自動化帳戶。
- 在 [程序自動化] 下方,選取 [Runbook]。
- 選取 [流覽資源庫],然後在搜尋中,輸入將自動化帳戶資產從一個地區移轉至另一個地區,並選取 [PowerShell 指令碼]。
- 在 [匯入 Runbook] 頁面中,輸入 Runbook 的名稱。
- 將 [執行階段版本] 選為 5.1 或 7.1 (預覽版)
- 輸入說明並選取 [匯入]。
- 在 [編輯 PowerShell Runbook] 頁面中,編輯必要的參數並加以執行。
您可以選擇其中一個選項來編輯及執行指令碼。 您可以提供選項 1 中所提供的七個必要參數,或選項 2 中所提供的三個必要參數,以編輯及執行指令碼。
選項是:
名稱 | 必要 | 說明 |
---|---|---|
SourceAutomationAccountName | True | 主要地區中需要從中移轉資產的自動化帳戶名稱。 |
DestinationAutomationAccountName | True | 次要地區中需要將資產移轉到其中的自動化帳戶名稱。 |
SourceResourceGroup | True | 主要地區中自動化帳戶的資源群組名稱。 |
DestinationResourceGroup | True | 次要地區中自動化帳戶的資源群組名稱。 |
SourceSubscriptionId | True | 主要地區中自動化帳戶的訂閱 ID |
DestinationSubscriptionId | True | 次要地區中自動化帳戶的訂閱 ID。 |
Type[] | True | 由需要移轉的所有資產類型所組成的陣列,可能的值為 Certificates、Connections、Credentials、Modules、Runbooks 和 Variables。 |
限制
- 指令碼只會移轉自訂 PowerShell 模組。 預設的模組和 Python 套件不會移轉至複本自動化帳戶。
- 指令碼不會移轉主要地區自動化帳戶中存在的排程和受控識別。 這些必須在複本自動化帳戶中手動加以建立。
- 工作資料和活動記錄不會移轉至複本帳戶。
下一步
- 深入了解支援可用性區域的地區。