文章

資源群組、資源提供者

在 Azure 中,資源群組資源提供者是資源管理的重要概念,幫助您組織、管理和部署雲端資源。這裡我們將詳細介紹這兩個概念及其在 Azure 資源管理中的作用。

一、資源群組 (Resource Group)

1. 定義

  • 資源群組是 Azure 中的一個邏輯容器,用於存放和管理 Azure 資源(例如虛擬機器、存儲帳戶、網路資源等)。每個資源在 Azure 中都必須隸屬於一個資源群組。

2. 功能

  • 邏輯分組:資源群組允許您將相關的資源集中在一起進行管理。這些資源通常屬於同一應用程式或同一工作負載,這樣可以更方便地進行部署、管理和監控。
  • 統一管理:您可以對整個資源群組執行操作(例如刪除資源群組將同時刪除其中的所有資源),這有助於簡化資源管理流程。
  • 應用一致的訪問控制:您可以為資源群組設置存取控制(基於角色的存取控制,RBAC),從而控制誰可以訪問或管理該群組中的資源。
  • 資源生命周期管理:資源群組為應用程式或服務的資源提供了統一的生命周期管理,您可以在需要時輕鬆地移動或刪除整個資源群組。

3. 最佳實踐

  • 分組策略:資源群組的劃分應根據應用程式的邏輯結構或業務需求。例如,將同一應用程式的所有資源放在一個資源群組中,或者將開發、測試和生產環境的資源分別放在不同的資源群組中。
  • 命名規範:制定清晰的命名規範,以便在組織內統一管理資源群組。例如,可以使用前綴或後綴來標識環境(如 Prod-WebAppRG 表示生產環境的 Web 應用程式資源群組)。
  • 標籤使用:對資源群組使用標籤(Tags)來增加額外的分類屬性,有助於成本管理和資源查詢。例如,您可以使用標籤來標記資源群組的部門、項目或負責人。

二、資源提供者 (Resource Provider)

1. 定義

  • 資源提供者是 Azure 中的一個服務,負責管理特定類型的資源。每個資源提供者會公開一組 REST API,這些 API 用於管理某一類型的資源(例如虛擬機器、存儲帳戶、SQL 資料庫等)。

2. 功能

  • 管理資源類型:資源提供者定義並管理 Azure 中的特定資源類型。例如,Microsoft.Compute 資源提供者管理虛擬機器和相關資源,而 Microsoft.Storage 資源提供者管理存儲帳戶。
  • API 操作:資源提供者提供一組操作(如創建、更新、刪除、列舉等)來管理其資源類型。當您在 Azure 中創建或管理資源時,Azure 會通過相應的資源提供者 API 來執行這些操作。
  • 資源提供者註冊:在 Azure 訂閱中使用某一類型的資源之前,通常需要先註冊相應的資源提供者。這個過程通常是自動的,但在某些情況下可能需要手動註冊。

3. 常見資源提供者示例

  • Microsoft.Compute:管理虛擬機器、可用性集、虛擬機器擴展集等計算資源。
  • Microsoft.Storage:管理存儲帳戶、Blob 存儲、文件存儲等儲存服務。
  • Microsoft.Network:管理虛擬網路 (VNet)、網路介面 (NIC)、負載均衡器 (Load Balancer) 等網路資源。
  • Microsoft.Sql:管理 SQL 資料庫和 SQL 託管執行個體。

4. 資源提供者與 ARM 範本

  • 在 ARM 範本中,當您定義資源時,需要指定資源提供者的名稱和資源類型。例如,創建虛擬機器時,範本會包含如下的資源類型定義:
    1
    2
    3
    4
    5
    6
    
    {
      "type": "Microsoft.Compute/virtualMachines",
      "apiVersion": "2023-01-01",
      "name": "myVM",
      ...
    }
    
  • API 版本:資源提供者會隨著時間推出新的 API 版本。每個版本可能包含新功能或變更。在 ARM 範本中指定 API 版本,可以確保使用的是特定的 API 功能集。

總結

  • 資源群組是 Azure 中的邏輯容器,用於組織和管理相關的資源,便於統一管理、控制訪問和簡化生命周期管理。
  • 資源提供者則是 Azure 中管理特定資源類型的服務,通過一組 API 來創建、管理和配置這些資源。

這兩個概念相互配合,使得 Azure 的資源管理更加靈活和高效。通過適當的資源群組劃分和對資源提供者的正確使用,您可以更好地組織、管理和優化 Azure 環境中的資源。

本文章以 CC BY 4.0 授權