資源群組的原則

已完成

在到職後的第一週,您已查看過公司 Azure 訂用帳戶的現有資源。 有數個資源群組包含許多不同的資源,但它們卻沒有被組織為具有一致的結構。 您曾經使用過 Azure,但並不確定資源群組的運作方式,也不清楚其角色為何。 您已 (正確地) 猜測出它們可在您組織資源的方式中發揮作用。 讓我們來了解資源群組是什麼,以及其使用方式。

注意

如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶


什麼是資源群組?

資源群組是 Azure 平台的基礎元素。 資源群組是適用於部署在 Azure 上之資源的邏輯容器。 這些資源是您在 Azure 訂用帳戶中建立的所有項目,例如,虛擬機器、應用程式閘道及 Cosmos DB 執行個體。 所有資源都必須位於資源群組中,且一個資源只能是單一資源群組的成員。 許多資源都可以在資源群組之間移動,而某些服務的移動具有特定限制或要求。 資源群組無法進行巢狀處理。 在佈建任何資源之前,您需要一個資源群組來放置它。

邏輯群組

資源群組是為了協助管理及組織您的 Azure 資源而存在。 透過將具有類似使用方式、類型或位置的資源放在資源群組中,即可為您在 Azure 中建立的資源提供一些順序和組織。 邏輯群組是您在此處最感興趣的層面,因為目前公司的資源非常混亂。

Conceptual image showing a resource group box with a Function, VM, database, and app included.

生命週期

如果您刪除資源群組,該群組內包含的所有資源也都會遭到刪除。 依生命週期對資源進行組織,對非實際執行環境來說可能很有幫助,因為您可能會在該環境中嘗試實驗,接著在完成之後將其處置掉。 資源群組可讓您輕鬆地一次移除掉整組資源。

授權

資源群組也是適用於套用角色型存取控制 (RBAC) 權限的範圍。 透過將 RBAC 權限套用至資源群組,您可以減輕管理作業,並限制存取權,僅允許必要的項目。

建立資源群組

您可以使用下列方法來建立資源群組:

  • Azure 入口網站
  • Azure PowerShell
  • Azure CLI
  • 範本
  • Azure SDK(例如 .NET 或 JAVA)

讓我們逐步解說您在 Azure 入口網站中建立資源群組所採取的步驟。 如果您想要使用自己的訂用帳戶跟著進行,您可以這麼做。

  1. 開啟網頁瀏覽器並登入 Azure 入口網站

    重要

    務必使用您「自己」的訂用帳戶。 免費沙箱環境不允許您建立資源群組。 您可以在畫面左上方查看設定檔圖片底下的租用戶名稱,來判斷您所使用的訂用帳戶。 您可以選取個人資料圖片,然後從 [選項] 功能表中選取 [切換目錄] 來切換租用戶。

  2. 在 Azure 入口網站的 [首頁] 頁面上,選取 [建立資源]。 [建立資源] 窗格隨即會顯示。

  3. 在 [搜尋服務和 Marketplace] 搜尋方塊中,搜尋並選取 [資源群組]。 [資源群組] 窗格隨即出現。

  4. 選取建立。 [建立資源群組] 窗格隨即出現。

  5. 在 [基本] 索引標籤上,為每個設定輸入下列值。

    設定
    專案詳細資料
    訂用帳戶 從下拉式清單中,選取要用於此練習的 Azure 訂用帳戶。
    資源群組 輸入 msftlearn-core-infrastructure-rg
    資源詳細資料
    區域 從下拉式清單,選取接近您的位置。

    Screenshot of Azure portal showing the resource group creation with subscription, resource group, and region entered.

  6. 選取 [檢閱 + 建立],然後在驗證通過後,選取 [建立] 來建立資源群組。

這樣就完成了,您已建立可在部署 Azure 資源時使用的資源群組。 讓我們進一步查看此資源群組,以及一些應考量的重要事項。

探索資源群組並新增資源

  1. 在 Azure 入口網站功能表或從 [首頁],在 [Azure 服務] 下,選取 [資源群組]

  2. 從清單中,選取您新建立的資源群組。 [資源群組] 窗格隨即出現。

    注意

    您可能也會看到名為 NetworkWatcherRG 的資源群組。 您可以忽略這個資源群組,因為系統會自動建立它,以便在 Azure 虛擬網路中啟用網路監看員。

    Screenshot of Azure portal showing new resource group pane with no resources in it yet.

  3. 在 [概觀] 頁面上,您將可找到關於資源群組的基本資訊,例如,其訂用帳戶、訂用帳戶識別碼、已套用的所有標籤,以及此資源群組的部署歷程記錄。 我們將會在下個單元中討論標籤。 如果您在頁面頂端展開 [基本資訊],您會發現 [部署] 連結,這會帶您前往具有此資源群組所有部署歷程記錄的新面板。 每當您建立資源時,它就是一次部署,而您將可在這裡查看每個資源群組的歷程記錄。

    您可以使用資源群組頁面上方的工具列,新增更多資源、變更清單中的資料行、將資源群組移至其他訂用帳戶,或是將其完全刪除。

    左側功能表上有數個選項。

    這個資源群組中尚未有任何資源,所以底部清單是空的。 讓我們在資源群組中建立幾個資源。

  4. 在頂端功能表列中,選取 [建立],或選取窗格底部的 [建立資源]按鈕;這兩種方法都可以。 [建立資源] 窗格隨即會顯示。

  5. 在 [搜尋服務和 Marketplace] 搜尋方塊中,搜尋並選取 [虛擬網路]。 [虛擬網路] 窗格隨即出現。

  6. 選取建立。 [建立虛擬網路] 窗格隨即會顯示。

  7. 在 [基本] 索引標籤上,為每個設定輸入下列值。

    設定
    專案詳細資料
    訂用帳戶 從下拉式清單中,選取要用於此練習的 Azure 訂用帳戶。
    資源群組 確定 msftlearn-core-infrastructure-rg 會出現。
    [執行個體詳細資料]
    名稱 輸入 msftlearn-vnet1
    區域 從下拉式清單,選取接近您的位置。
  8. 選取 [檢閱 + 建立],並在驗證通過後,選取 [建立],以將虛擬網路新增至資源群組。

  9. 再次重複虛擬網路建立步驟,再建立一個虛擬網路。 務必將虛擬網路放在先前建立的資源群組中,並將虛擬網路命名為 msftlearn-vnet2

  10. 返回您的資源群組。 您建立的這兩個虛擬網路應該會出現在 [概觀] 窗格中。

    Screenshot of Azure portal showing resource group overview containing two virtual network resources.

您的資源群組包含兩個虛擬網路資源,因為您在建立資源時指定了資源群組。 您可以在此資源群組內部建立更多資源,或在訂用帳戶中建立更多資源群組,並將資源部署到那些資源群組中。

建立資源時,除了使用現有的資源群組之外,通常還可以選擇建立新的資源群組。 雖然這可以簡化流程,但如同您在新組織所見,這麼做可能會因為沒有仔細思考如何組織資源,而將資源分散在各個資源群組之中。

使用資源群組進行組織

那麼,您如何在新組織中使用資源群組來發揮自己的優勢? 此處提供一些指引和最佳做法來協助組織。

一致的命名慣例

您可以從使用容易了解的命名慣例開始。 您已將資源群組命名為 msftlearn-core-infrastructure-rg。 您已獲得一些相關指示:其用途 (msftlearn)、其中包含的資源類型 (core-infrastructure),以及它的資源類型 (rg)。 這個描述性名稱讓我們更容易了解它是什麼。 如果您已將其命名為 my-resource-grouprg1,那麼,乍看之下無法得知其可能用途。 在本案例中,您可推論出裡面應該包含基礎結構的重要片段。 如果您建立了更多虛擬網路、儲存體帳戶,或其他公司可能視為「核心基礎結構」的資源,那麼,也可以將其放置於此處,以改善公司資源的組織情況。 不同公司或公司內不同單位之間的命名慣例可能會有所不同,但只要稍加規劃,就可以提供許多幫助。

組織準則

您可以透過多種方式來組織資源群組,讓我們看看數個範例。 您可以將「核心基礎結構」的所有資源放入此資源群組中,但您也可以嚴格地依資源類型來組織資源。 例如,您可將所有虛擬網路放入一個資源群組中、將所有虛擬機器放入另一個資源群組中,並將所有 Azure Cosmos DB 執行個體放入另一個資源群組中。

Diagram of resources grouped by type: vnet-rg for virtual networks, vm-rg for virtual machines, and db-rg for databases.

您可以依環境 (生產、品保、開發) 來組織資源。 在本案例中,所有生產資源都位於一個資源群組中,而所有測試資源則位於另一個資源群組中,以此類推。

Diagram of resources grouped by environment: prod-rg for production, qa-rg for QA, and dev-rg for development.

您可以依部門 (行銷、財務、人力資源) 來組織資源。 行銷資源會位於一個資源群組中,財務會位於另一個資源群組中,而 HR 則會位於第三個資源群組中。

Diagram of resources grouped by department: finance-rg for finance, marketing-rg for marketing, and hr-rg for HR.

您甚至可以組合上述策略,並依環境和部門來組織資源。 將生產財務資源放入某個資源群組中,將開發財務資源放入另一個資源群組中;行銷資源也是如此處理。

Diagram of resources grouped by environment and department: prod-finance, dev-finance, prod-marketing, and dev-marketing.

有幾個因素會影響您用來組織資源的策略:授權、資源生命週期及計費。

針對授權進行組織

由於資源群組是 RBAC 的範圍,因此,您可以依需要管理資源的「人員」來組織資源。 如果您的資料庫管理團隊負責管理所有 Azure SQL Database 執行個體,則將其放入相同的資源群組中可簡化管理工作。 您可以在資源群組層級為該團隊提供適當權限,以管理資源群組內的資料庫。 同樣地,您可以拒絕資料庫管理團隊透過虛擬網路存取資源群組,使他們不會意外地對其責任範圍以外的資源做出變更。

針對生命週期來進行組織

我們先前曾描述,資源群組可作為其內部資源的生命週期。 如果您刪除資源群組,也會刪除該群組中的所有資源。 請善加利用這點,特別是在資源無須久存的區域,像是非生產環境。 如果您針對已知只持續數個月的專案部署 10 部伺服器,則可能會將其全部放入單一資源群組中。 一個資源群組比 10 個以上的資源群組更容易清理。

針對計費進行組織

最後,將資源至於相同的資源群組,是一種針對計費報告中的使用情況分組它們的方式。 如果您正嘗試了解成本在 Azure 環境中的分佈情況,則依資源群組將其分組,是篩選並排序資料,以便更加了解成本配置情形的一種方式。

摘要

本文重點在於您可以彈性調整在資源群組中組織資源的方式。 請多放一點心思,以針對在 Azure 環境中使用資源群組建立一致的方式。