Azure資源管理器是Azure的部署和管理服務。它提供了一個管理層,用于在Azure帳戶中創(chuàng)建、更新和刪除資源。部署后,可以使用訪問控制、鎖和標記等管理功能來保護和組織資源。
若要了解Azure資源管理器模板,請參閱模板部署概述。
一致的管理層
當用戶從任意Azure工具、API或SDK發(fā)送請求時,資源管理器將會接收該請求。它會對該請求進行身份驗證和授權。資源管理器將請求發(fā)送到Azure服務,后者將執(zhí)行請求的操作。由于所有請求是通過同一個API處理的,因此在所有不同的工具中會看到一致的結果和功能。
下圖演示了Azure資源管理器在處理Azure請求時發(fā)揮的作用。
Resource Manager請求模型
在門戶中提供的所有功能也可以通過PowerShell、Azure CLI、REST API和客戶端SDK來提供。最初通過API發(fā)布的功能將在初次發(fā)布后的180天內在門戶中提供。
術語
如果不熟悉Azure資源管理器,則可能不熟悉某些術語。
資源-可通過Azure獲取的可管理項。資源的示例包括虛擬機、存儲帳戶、Web應用、數(shù)據(jù)庫和虛擬網(wǎng)絡。資源組、訂閱、管理組和標記也是資源的示例。
資源組—一個容器,用于保存Azure解決方案的相關資源。資源組包括你想要作為一個組進行管理的那些資源。根據(jù)最適合組織的情況來決定哪些資源屬于哪個資源組。請參閱資源組。
資源提供程序-提供Azure資源的服務。例如,Microsoft.Compute就是一個常見的資源提供程序,它提供虛擬機資源。Microsoft.Storage是另一個常見的資源提供程序。請參閱資源提供程序和類型。
資源管理器模板-一個JavaScript對象表示法(JSON)文件,用于定義一個或多個要部署到資源組、訂閱、管理組或租戶的資源。使用模板能夠以一致方式反復部署資源。請參閱模板部署概述。
聲明性語法—一種語法,允許聲明“以下是我想要創(chuàng)建的項目”,而不需要編寫一系列編程命令來進行創(chuàng)建。資源管理器模板便是聲明性語法的其中一個示例。在該文件中,可以定義要部署到Azure的基礎結構的屬性。請參閱模板部署概述。
使用Resource Manager的優(yōu)勢
使用資源管理器可以:
通過聲明性模板而非腳本來管理基礎結構。
以組的形式部署、管理和監(jiān)視解決方案的所有資源,而不是單獨處理這些資源。
在整個開發(fā)生命周期內重復部署解決方案,并確保以一致的狀態(tài)部署資源。
定義各資源之間的依賴關系,使其按正確的順序進行部署。
將訪問控制應用于所有服務,因為Azure基于角色的訪問控制(Azure RBAC)原本已集成到管理平臺。
將標記應用到資源,以邏輯方式組織訂閱中的所有資源。
通過查看一組共享相同標記的資源的成本來理清組織的帳單。
了解范圍
Azure提供四個級別的范圍:管理組、訂閱、資源組和資源。下圖顯示了這些層的一個示例。
管理級別
將在上述任何級別的作用域中應用管理設置。所選的級別確定應用設置的廣泛程度。較低級別繼承較高級別的設置。例如,將策略應用于訂閱時,該策略將應用于訂閱中的所有資源組和資源。在資源組上應用策略時,該策略將應用于資源組及其所有資源。但是,其他資源組沒有該策略分配。
可以將模板部署到租戶、管理組、訂閱或資源組。
資源組
定義資源組時,需要考慮以下幾個重要因素:
資源組中的所有資源應該具有相同的生命周期。一起部署、更新和刪除這些資源。如果某個資源(例如服務器)需要采用不同的部署周期,則它應在另一個資源組中。
每個資源只能存在于一個資源組中。
隨時可以在資源組添加或刪除資源。
可以將資源從一個資源組移到另一個組。有關詳細信息,請參閱將資源移到新資源組或訂閱。
資源組中的資源可以位于與資源組不同的區(qū)域。
創(chuàng)建資源組時,需要提供該資源組的位置。你可能想知道,“為什么資源組需要一個位置?另外,如果資源的位置和資源組不同,那為什么資源組的位置很重要呢?”資源組存儲有關資源的元數(shù)據(jù)。當指定資源組的位置時,也就指定了元數(shù)據(jù)的存儲位置。出于合規(guī)性原因,可能需要確保數(shù)據(jù)存儲在某一特定區(qū)域。
如果資源組的區(qū)域臨時不可用,則不能更新資源組中的資源,因為元數(shù)據(jù)不可用。其他區(qū)域中的資源仍將按預期運行,但你無法更新它們。有關構建可靠應用程序的詳細信息,請參閱設計可靠的Azure應用程序。
資源組可用于劃分對管理操作的訪問控制。若要管理資源組,可分配Azure策略、Azure角色或資源鎖。
可以對資源組應用標記。資源組中的資源不會繼承這些標記。
資源可以連接到其他資源組中的資源。以下情況很常見:兩個資源相關,但不具有相同的生命周期。例如,一個連接到其他資源組中數(shù)據(jù)庫的Web應用。
刪除一個資源組時,該資源組中的所有資源也會被刪除。如需了解Azure資源管理器如何編排這些刪除,請參閱Azure資源管理器資源組和資源刪除。
最多可在每個資源組中部署800個資源類型實例。某些資源類型不受800個實例限制的約束。
某些資源可能存在于資源組之外。這些資源將部署到訂閱、管理組或租戶。這些范圍僅支持特定的資源類型。
要創(chuàng)建資源組,可使用門戶、PowerShell、Azure CLI或Azure資源管理器(ARM)模板。
Azure資源管理器的復原能力
Azure資源管理器服務旨在實現(xiàn)復原能力和持續(xù)可用性。REST API中的資源管理器和控制平面操作(發(fā)送到management.azure.com的請求)具有以下特性:
跨區(qū)域分布。某些服務具有區(qū)域性。
在具有多個可用性區(qū)域的位置上跨可用性區(qū)域(以及區(qū)域)分布。
不依賴于單個邏輯數(shù)據(jù)中心。
從未因維護活動而停機。
這種復原能力適用于通過資源管理器接收請求的服務。例如,Key Vault可以利用這種復原能力。