受控資源
部署堆疊所管理的 Azure 資源稱為受控資源。 資源定義於建立堆疊時所使用的範本檔案中。
當您為存款應用程式準備下一個短期衝刺時,您會想深入了解部署堆疊如何管理資源。 隨著開發中測試的功能,您預期對應用程式進行快速且頻繁的變更。 在您從應用程式新增、修改或刪除資源之前,您必須先知道這些資源的管理方式。
在此單元中,您會了解受控資源和 action on unmanage 參數。 這個參數會決定 Azure 如何處理不再由部署堆疊管理的資源。
了解受控資源
在開始更新部署堆疊之前,讓我們來看看堆疊如何管理資源。 當您建立部署堆疊時,堆疊會負責管理範本檔案中所述的資源。 這些資源稱為「受控資源」。 只要在部署堆疊的範本檔案中有定義資源,它就會被視為受控資源。 將部署堆疊視為一系列指標,將應用程式的資源分組成單一邏輯單位,而不論這些資源可能部署的位置爲何。
部署堆疊可以在不同的範圍建立,例如資源群組、訂用帳戶和管理群組。 部署堆疊可以管理的資源取決於建立堆疊的範圍。 例如,如果您在訂用帳戶的範圍內部署堆疊,則堆疊可以管理訂用帳戶內的資源群組,以及該相同訂用帳戶內任何資源群組中的資源。
部署堆疊不再管理的資源會如何處理? 如果範本檔案中不再定義資源並更新堆疊,則資源可能會中斷連結或被刪除。 中斷連結的資源是不再由堆疊管理的資源,但資源會繼續存在於 Azure 中。 被刪除的資源是從 Azure 中刪除的資源,而其所有資料都會遺失。
unmanage 上的動作
您可以使用稱為 action on unmanage 參數的屬性,控制 Azure 如何處理已卸離的資源、資源群組和管理群組。 這個參數可以在建立、修改或刪除部署堆疊時設定。
這三個作業都能設定 action on unmanage 參數的行為。 請記住,最近設定的值優先。
例如,如果使用參數集為 --action-on-unmanage detachAll
來建立部署堆疊,Azure 會中斷連結任何堆疊不再管理的資源。 如果執行後續的更新作業,並將參數設定為 --action-on-unmanage deleteAll
,則行為預設為 deleteAll
。
--action-on-unmanage
參數有三個可能值:
deleteAll
- 刪除資源、資源群組和管理群組deleteResources
- 刪除資源、但中斷連結資源群組和管理群組detachAll
- 中斷連結資源、資源群組和管理群組
注意
在本課程模組中,我們會使用資源群組範圍的部署堆疊。 在此情況中,資源群組本身不會由堆疊管理。 action on unmanage 參數的 'delete all' 值不會刪除堆疊所在的資源群組。 刪除堆疊及其資源之後,您必須刪除資源群組。
讓我們看看使用 Azure CLI az stack group show
命令搭配為 --action-on-unmanage
參數設定的值時的 JSON 輸出。 注意資源、資源群組和管理群組的行爲。
--action-on-unmanage deleteAll
"actionOnUnmanage": { "managementGroups": "delete", "resourceGroups": "delete", "resources": "delete" },
--action-on-unmanage deleteResources
"actionOnUnmanage": { "managementGroups": "detach", "resourceGroups": "detach", "resources": "delete" },
--action-on-unmanage detachAll
"actionOnUnmanage": { "managementGroups": "detach", "resourceGroups": "detach", "resources": "detach" },
例如,如果使用參數集為 -ActionOnUnmanage DetachAll
來建立部署堆疊,Azure 會中斷連結任何堆疊不再管理的資源。 如果執行後續的更新作業,並將參數設定為 -ActionOnUnmanage DeleteAll
,則行為預設為 DeleteAll
。
-ActionOnUnmanage
參數有三個可能值:
DeleteAll
- 刪除資源、資源群組和管理群組DeleteResources
- 刪除資源、但中斷連結資源群組和管理群組DetachAll
- 中斷連結資源、資源群組和管理群組
注意
在本課程模組中,我們會使用資源群組範圍的部署堆疊。 在此情況下,資源群組不會由堆疊管理。 >action on unmanage 參數的 'delete all' 值不會刪除堆疊所在的資源群組。 刪除堆疊及其資源之後,必須刪除資源群組。
讓我們看看使用 Azure PowerShell Get-AzResourceGroupDeploymentStack
命令搭配為 -ActionOnUnmanage
參數設定的值時的 JSON 輸出。 注意資源、資源群組和管理群組的行爲。
-ActionOnUnmanage DeleteAll
resourcesCleanupAction : delete resourceGroupsCleanupAction : delete managementGroupsCleanupAction : delete
-ActionOnUnmanage DeleteResources
resourcesCleanupAction : delete resourceGroupsCleanupAction : detach managementGroupsCleanupAction : detach
-ActionOnUnmanage DetachAll
resourcesCleanupAction : detach resourceGroupsCleanupAction : detach managementGroupsCleanupAction : detach