什麼是 Azure Resource Manager?
Azure Resource Manager 是 Azure 的部署與管理服務。 它提供一個管理層,可協助您在 Azure 帳戶中建立、更新和刪除資源。 您可使用存取控制、鎖定和標籤等管理功能,以在部署之後保護和組織資源。
下列影片涵蓋基本 Resource Manager 概念:
一致管理層
當您透過任何 Azure API、工具或 SDK 傳送要求時,Resource Manager 就會收到要求。 它會先驗證並授權要求,再將其轉送至適當的 Azure 服務。 因為所有要求都是透過相同的 API 來處理,所以您會在所有不同工具中看到一致的結果和功能。
下圖顯示 Resource Manager 在 Azure 要求期間扮演的角色:
Azure 入口網站中可用的所有功能也可透過 PowerShell、Azure CLI、REST API 和用戶端 SDK 取得。 當 API 引進新功能時,這會在初始發行后的 180 天內反映在入口網站中。
重要
Resource Manager 將於 2025 年 3 月 1 日停止支援 TLS 1.2 之前的通訊協定。 如需詳細資訊,請參閱移轉至適用於 Azure Resource Manager 的 TLS 1.2。
詞彙
如果您不熟悉 Resource Manager,您可能不熟悉下列詞彙:
資源 - 可管理的專案,可透過 Azure 取得。 資源的範例包括虛擬機、記憶體帳戶、Web 應用程式、資料庫和虛擬網路。 資源群組、訂用帳戶、管理群組和標籤也是資源。
資源群組 - 持有應用程式相關資源的容器。 資源群組包含您想要以群組形式管理的資源。 您可以根據最適合您組織的方式,決定哪些資源屬於資源群組。 請參閱什麼是資源群組?。
資源提供者 - 提供 Azure 資源的服務。 例如,
Microsoft.Compute
是常見的資源提供者,可提供虛擬機器資源。Microsoft.Storage
是另一個常見的資源提供者。 請參閱 Azure 資源提供者和類型。宣告式語法 - 可讓您陳述「我想要建立的專案」語法,而不需要撰寫程式設計命令順序來建立它。 ARM 範本和 Bicep 檔案是宣告式語法的範例。 在這些檔案中,您可以定義要部署至 Azure 的基礎結構的屬性。
ARM 範本–JavaScript 物件標記法 (JSON) 檔案,可定義一或多個要部署至資源群組、訂用帳戶、管理群組或租用戶的資源。 使用範本以一致且重複的方式部署資源。 如需如何部署範本的概觀,請參閱什麼是 ARM 範本?
Bicep 檔案–用來以宣告方式部署 Azure 資源的檔案。 Bicep 是一種語言,其設計目的是為 Azure 中的基礎結構即程式代碼解決方案提供最佳撰寫體驗。 請參閱 什麼是 Bicep? 以深入瞭解 Bicep。
擴充資源 - 會新增至另一個資源功能中的資源。 例如,角色指派就是擴充資源。 您可以將角色指派套用至任何其他資源以指定存取權。 請參閱擴充資源。
如需更多 Azure 術語定義,請參閱 Azure 基本概念。
使用 Resource Manager 的優勢
有了 Azure Resource Manager,您可以:
透過宣告式範本而不是指令碼來管理基礎結構。
以群組形式部署、管理及監視您解決方案的所有資源,而非個別處理這些資源。
在整個開發週期上重新部署方案,並確信您的資源會部署在一致的狀態中。
定義資源之間的相依性,使這些資源以正確順序進行部署。
因為 Azure 角色型存取控制 (Azure RBAC) 會原生整合至管理平台,請將存取控制套用至所有服務。
將標籤套用至資源,以便以邏輯方式組織您訂用帳戶中的所有資源。
依共用相同標籤的一組資源檢視費用,讓組織的帳單清楚明瞭。
了解範圍
Azure 提供四個管理範圍層級:管理群組、訂用帳戶、資源群組和資源。 下圖將這些圖層視覺化:
您會在這些範圍的層級中套用管理設定。 您所選層級會判斷套用設定的範圍。 較低層級會繼承較高層級中的設定。 例如,當您將原則套用到訂用帳戶時,訂用帳戶中的所有資源群組和資源都會套用該原則。 當在資源群組上套用原則時,會將該原則套用至資源群組及其所有資源。 然而,另一個資源群組沒有該原則指派。
若要深入瞭解如何在 Azure 中管理身分識別和存取權,請參閱什麼是Microsoft Entra ID?
您可將範本部署至租用戶、管理群組、訂用帳戶或資源群組。
什麼是資源群組?
資源群組是您用來管理 Azure 解決方案相關資源的容器。 使用資源群組可協助您協調相關資源之間的變更。 例如,您可以將更新部署至資源群組,並確信資源會透過協調作業進行更新。 或者,在您完成解決方案時,可以刪除資源群組,並知道所有資源都已刪除。
定義資源群組時,有一些重要的考慮:
資源群組中的所有資源都應該共用相同的生命週期。 您可一起部署、更新和刪除它們。 例如,伺服器是一個資源。 如果它必須存在於不同的部署週期,它應該位於另一個資源群組中。
每個資源只能存在於一個資源群組中。
您可以隨時在資源群組中新增或移除資源。
您可以將資源從一個資源群組移動到另一個群組。 如需詳細資訊,請參閱 將 Azure 資源移至新的資源群組或訂用帳戶。
資源群組中的資源可以位於與資源群組不同的區域,但建議您使用相同的位置。 請參閱 我應該針對資源群組使用哪個位置?。
您可套用標籤至資源群組。 資源群組中的資源不會繼承這些標記。
資源可連線至其他資源群組中的資源。 當這兩個資源相關,但不共用相同的生命週期時,此案例很常見。 例如:您可讓 Web 應用程式連線至不同資源群組中的資料庫。
當您刪除資源群組時,也會一併刪除資源群組中的所有資源。 如需 Resource Manager 如何協調這些刪除的資訊,請參閱 Azure Resource Manager 資源群組和資源刪除。
您可以在每個資源群組中最多部署某個資源類型的 800 個執行個體。 有些資源類型免除 800 個執行個體的限制。 如需詳細資訊,請參閱資源群組限制。
若要建立資源群組,請使用 Azure 入口網站、PowerShell、Azure CLI 或 ARM 範本。
我應該針對資源群組使用哪一個位置?
建立資源群組時,您需要提供該資源群組的位置。
您可能會想知道資源群組為何需要位置,以及資源群組位置為何在資源群組外部可以有位置時很重要。
資源群組會儲存資源的相關元數據。 當您指定資源群組的位置時,也會指定儲存該元數據的位置。 基於相容性理由,您可能需要確保您的資料存放在特定區域中。
透過資源群組的位置路由傳送所有 控制平面作業 ,可協助資源群組保持一致狀態。 選取資源群組位置時,建議您選取靠近控件作業來源的位置。 一般而言,這個位置是您最接近的位置。 此路由需求僅適用於資源群組的控制平面作業。 並不會影響傳送至應用程式的要求。
如果資源群組的區域暫時無法使用,您可能無法更新資源群組中的資源,因為元數據無法使用。 其他區域中的資源仍會如預期般運作,但您可能無法更新它們。 此條件可能也適用於 Azure DNS、Azure 私用 DNS 區域、Azure 流量管理員 和 Azure Front Door 等全域資源。 請參閱 Azure Resource Graph 資料表和資源類型參考清單,以檢視 Resource Manager 所管理的資源和元數據。
當資源群組的區域無法使用時,Resource Manager 無法更新資源的元數據,並封鎖您的寫入呼叫。 若要降低區域中斷的影響,建議您在相同的區域中找出您的資源和資源群組。 這可降低區域無法使用的可能性,因為您的資源和元數據存在於一個區域中,而不是多個區域。
如需建置可靠應用程式的詳細資訊,請參閱 特定 Azure 服務的復原檢查清單。
Resource Manager 的復原能力
Resource Manager 是專為復原和持續可用性所設計。 REST API 中的 Resource Manager 和控制平面作業(傳送至 management.azure.com
的要求):
分散到區域。 Resource Manager 在每個 Azure 區域中都有個別的實例,這表示如果 Resource Manager 實例在一個區域中失敗,這不會影響服務在另一個區域中的可用性;同樣適用於其他 Azure 服務。 雖然 Resource Manager 分散於各個區域,但某些服務是區域性服務。 這項區別表示,雖然控制平面作業的初始處理具有彈性,但當轉送至服務時,要求可能會容易受到區域性中斷的影響。
分散在具有多個可用性區域的位置上的可用性區域(和區域)。 此散發可確保當區域遺失一或多個區域時,Resource Manager 可以故障轉移至另一個區域或區域。 它會繼續為資源提供控制平面功能。
不要相依於一個邏輯數據中心。
不會針對維護活動關閉。
這項復原能力適用於透過 Resource Manager 接收要求的服務。 Azure 金鑰保存庫 是一項受益於此一致性的服務。
解析並行作業
並行資源更新可能會導致非預期的結果。 當兩個或多個作業同時嘗試更新相同的資源時,Resource Manager 會偵測到衝突,只允許一個作業順利完成、封鎖其他作業,並傳回錯誤。 此解決方案可確保您的更新具有決定性且可靠;您知道資源的狀態,並避免任何不一致或數據遺失。
例如,如果您有兩個要求 (A 和 B) 嘗試同時更新相同的資源,並在要求 B 之前要求 A 完成,則要求 A 成功並要求 B 失敗。 要求 B 會傳回 409 錯誤。 取得該錯誤碼之後,您可以取得資源的更新狀態,並判斷是否要再次傳送要求 B。
下一步
- 若要了解應用在各 Azure 服務的限制,請參閱 Azure 訂用帳戶和服務限制、配額與約束。
- 若要了解如何移動資源,請參閱將資源移動到新的資源群組或訂用帳戶。
- 若要瞭解如何標記資源,請參閱 使用標籤來組織 Azure 資源和管理階層。
- 若要瞭解如何鎖定資源,請參閱 鎖定您的 Azure 資源以保護基礎結構。