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