當警示規則或警示處理規則的目標資源移至其他 Azure 區域後,對這些規則進行更新
本文說明在區域之間移動其他 Azure 資源為何可能影響現有警示規則和警示處理規則,以及如何找出問題並加以解決。 如想進一步了解在區域之間移動資源可於何種情況下派上用場,並取得設計移動程序的檢查清單,請查看主要資源移動文件。
發生這個問題的原因
警示規則和警示處理規則會參考其他 Azure 資源, 例如 Azure VM、Azure SQL (英文)、Azure 儲存體等。 若移動規則所參考的資源,這些規則就可能因為找不到參考資源而無法正常運作。
移動目標資源後,規則可能無法運作的主要原因有兩個:
- 規則範圍明確參考舊資源。
- 警示規則以計量為依據。
規則範圍明確參考舊資源
在您移動資源時,資源識別碼在大部分情況下會有所變更。 系統在幕後會先將資源複寫到新區域,再從舊區域刪除資源; 這個程序需要兩個資源,因此在一小段時間內也會有兩個不同的資源識別碼同時存在。 由於資源識別碼不得重複,因此系統在進行此程序時必須建立新的識別碼。
移動資源對現有規則有什麼影響?
警示規則和警示處理規則都有適用的資源範圍, 此範圍可能是整個訂閱、一個資源群組,或者一或多個特定資源。 舉例來說,以下是範圍為兩個資源 (兩個虛擬機器) 的規則:
如果規則範圍明確提及某項資源,但該資源已移動並變更資源識別碼,那麼該規則便會尋找錯誤或不存在的資源,進而導致失敗。
如何修正這個問題?
更新或重新建立受影響的規則,藉此指向新資源。 本文稍後會說明更新範圍的程序。
以下規則類型會發生這個問題:
- 活動記錄警示規則
- 警示處理規則
- 計量警示:如需詳細資訊,請參閱下一節以計量為依據的警示規則。
注意
記錄搜尋警示規則和智慧偵測器警示規則不會受到影響,因為這兩種規則的範圍若不是工作區就是 Application Insights, 而這類範圍目前都不支援區域移動。
以計量為依據的警示規則
Azure 資源發出的計量具有區域性, 一旦資源移動至新區域,就會開始在新區域發出計量, 因此所有以計量為依據的警示規則都必須進行更新或重新建立,使其指向目前位於正確區域的計量串流。
本說明適用於計量警示規則 (機器翻譯) 和可用性測試警示規則 (機器翻譯)。
如果範圍中所有資源都已移動,您就不需要重新建立規則, 只需更新警示規則的任何欄位 (例如警示規則描述) 並加以儲存。 如果範圍中只有部分資源移動,則您必須從現有規則中移除移動的資源,然後建立一條僅涵蓋移動資源的規則。
修正問題的程序
在 Azure 入口網站找出與移動資源相關聯的規則
- 警示規則:依序前往 [警示] > [管理警示規則] > 依包含的訂閱帳戶和已移動的資源進行篩選。
注意
活動記錄警示規則無法使用這項程序, 因為活動記錄警示規則的範圍無法透過更新指向另一個訂閱中的資源。 不過,您可以建立新規則來取代舊規則。
- 警示處理規則:依序前往 [警示] > [警示處理規則 (預覽)] > 依包含的訂閱和已移動的資源進行篩選。
在 Azure 入口網站變更規則範圍
- 點選開啟您在上一個步驟中找到的規則。
- 在 [資源]下方按一下 [編輯],然後視需要調整範圍。
- 視需要調整規則的其他屬性。
- 按一下 [檔案] 。
使用 Azure Resource Manager 範本變更規則範圍
- 取得規則的 Azure Resource Manager 範本。 如要從 Azure 入口網站匯出規則範本:
- 前往入口網站的 [資源群組] 區段,開啟包含目標規則的資源群組。
- 在 [概觀] 區段中,勾選 [顯示隱藏類型] 核取方塊,然後依規則的相關類型進行篩選。
- 選取相關規則,檢視詳細資訊。
- 在 [設定] 下方選取 [匯出範本]。
- 修改範本。 如有需要,可將原本的規則分為兩個新規則 (如上方所述,部分計量警示適合採取此做法)。
- 重新部署範本。
使用 REST API 變更規則範圍
使用 PowerShell 變更規則範圍
- 取得現有規則 (計量警示、活動記錄警示、警示處理規則)。
- 修改範圍。 如有需要,可將原本的規則分為兩個新規則 (如上方所述,部分計量警示適合採取此做法)。
- 重新部署規則 (計量警示 (機器翻譯)、活動記錄警示 (機器翻譯)、警示處理規則)。
使用 Azure CLI 變更規則範圍
- 取得現有規則 (計量警示 (機器翻譯)、活動記錄警示 (機器翻譯))。
- 直接更新規則範圍 (計量警示 (機器翻譯)、活動記錄警示 (機器翻譯))
- 如有需要,可將原本的規則分為兩個新規則 (如上方所述,部分計量警示適合採取此做法)。