全部產品
Search
文件中心

Auto Scaling:通過資源群組精細化管理伸縮組

更新時間:Jun 30, 2024

如果您的帳號存在多個雲資源(例如伸縮組資源),您可以通過建立資源群組,對雲資源(例如伸縮組資源)進行分組管理,實現資源的隔離顯示和許可權控制。本文主要介紹如何通過資源群組精細化管理Auto Scaling。

背景資訊

資源群組指對您擁有的雲資源從用途、許可權、歸屬等維度上進行分組,實現企業內部多使用者、多專案的資源分級管理。一個雲資源只能屬於一個資源群組,雲資源之間的關聯關係不會因加入資源群組而發生變化。更多資訊,請參見資源群組

資源群組使用說明如下所示:

  • 伸縮組加入資源群組後,伸縮組下的伸縮配置、伸縮規則、警示任務、定時任務等資源都會自動加入該資源群組。

  • 伸縮組本身所屬的資源群組與伸縮組內執行個體所屬的資源群組之間是獨立的。

    例如,伸縮組本身所屬的資源群組與伸縮組內擴容的ECS執行個體或ECI執行個體所屬的資源群組可以是兩個不同的資源群組。

  • 一個資源群組可以包含不同地區的伸縮組。

    例如,資源群組A中可以包含華北2(北京)地區的伸縮組和華東1(杭州)地區的伸縮組。

  • 如果您授權RAM帳號管理所有的阿里雲資源,則該RAM賬戶中將顯示主帳號下所有的資源群組。

應用情境

說明

使用資源群組管理伸縮組前,請確認您已建立RAM使用者,如未建立,請參見建立RAM使用者

使用資源群組管理伸縮組包括以下兩個應用情境:

情境一:按用途對伸縮組進行分組

情境描述

假設客戶存在生產環境和測試環境兩個使用情境,在這兩個情境下,如果伸縮組資源沒有進行分組,則伸縮組會全部展示出來,容易出現誤操作風險。為了簡化管理同時避免誤操作,建議您建立兩個資源群組,分別為生產環境資源群組和測試環境資源群組,然後將不同用途的伸縮組分別加入到生產環境資源群組和測試環境資源群組。以下列情境作為樣本,說明如何按用途對伸縮組進行分組。

例如,在同一個阿里雲帳號下有兩個伸縮組,伸縮組A用於生產環境使用,伸縮組B用於測試環境使用。將伸縮組A加入生產環境資源群組中,將伸縮組B加入測試環境資源群組中,具體分組要求如下:

  • 在測試環境資源群組下,只能查看或操作伸縮組B,避免在未分組(例如資源群組選擇帳號全部資源)情況下,您對伸縮組A進行了誤操作而影響線上產品效能。

  • 在生產環境資源群組下,只能查看或操作伸縮組A,避免在未分組(例如資源群組選擇帳號全部資源)情況下,您對伸縮組B進行了誤操作而影響正式產品上線進度。

操作步驟

  1. 建立測試環境資源群組和生產環境資源群組。

    以建立生產環境資源群組(ProdResourceGroup)和測試環境資源群組(TestResourceGroup)為例。具體操作,請參見建立資源群組

    資源群組.png

    上述操作完成後,資源群組的狀態會處於建立中...。大約3秒後,單擊p80945.png。如果狀態變為可用,表示資源群組建立成功。

  2. 建立測試環境的伸縮組。

    為確保伸縮組內的ECS執行個體所屬資源群組與伸縮組本身所屬資源群組一致,建立伸縮組(例如TestScalingGroup)時,根據組內執行個體配置資訊來源不同,採取以下方案:

    • 組內執行個體配置資訊來源配置為啟動模板:建立啟動模板時,在進階配置(選填)階段,指定資源群組為測試環境資源群組(TestResourceGroup)。具體操作,請參見建立執行個體啟動模板

    • 組內執行個體配置資訊來源配置為選擇已有執行個體:建立ECS執行個體時,在進階配置(選填)地區,指定資源群組為測試環境資源群組(TestResourceGroup)。具體操作,請參見自訂購買執行個體

    • 組內執行個體配置資訊來源配置為從零開始建立:建立伸縮配置時,在進階設定地區,指定資源群組為測試環境資源群組(TestResourceGroup)。具體操作,請參見建立伸縮配置(ECS執行個體)

    在配置伸縮組參數時,請指定資源群組為測試環境資源群組(TestResourceGroup)來建立測試環境的伸縮組。具體操作,請參見建立伸縮組

    建立ESS.png

  3. 建立生產環境的伸縮組。

    為確保伸縮組內的ECS執行個體所屬資源群組與伸縮組本身所屬資源群組一致,建立伸縮組(例如ProdScalingGroup)時,根據組內執行個體配置資訊來源不同,採取以下方案:

    • 組內執行個體配置資訊來源配置為啟動模板:建立啟動模板時,在進階配置(選填)階段,指定資源群組為生產環境資源群組(ProdResourceGroup)。具體操作,請參見建立執行個體啟動模板

    • 組內執行個體配置資訊來源配置為選擇已有執行個體:建立ECS執行個體時,在進階配置(選填)地區,指定資源群組為生產環境資源群組(ProdResourceGroup)。具體操作,請參見自訂購買執行個體

    • 組內執行個體配置資訊來源配置為從零開始建立:建立伸縮配置時,在進階設定地區,指定資源群組為生產環境資源群組(ProdResourceGroup)。具體操作,請參見建立伸縮配置(ECS執行個體)

    在配置伸縮組參數時,請指定資源群組為生產環境資源群組(ProdResourceGroup)來建立生產環境的伸縮組。具體操作,請參見建立伸縮組

    建立ESS-shengchan.png

驗證結果

  1. 登入Auto Scaling控制台
  2. 在頂部功能表列左上方,選擇不同資源群組,驗證不同資源群組下伸縮組和伸縮組內執行個體的顯示情況。

    • 資源群組選擇帳號全部資源:您可以看到測試環境的伸縮組(TestScalingGroup)和生產環境的伸縮組(ProdScalingGroup)都出現在伸縮組列表中。如果伸縮組擴容了新的ECS執行個體,在執行個體列表頁簽下,您都可以查看到測試環境(TestResourceGroup)和生產環境(ProdResourceGroup)下的所有執行個體。

      列表展示.png

    • 資源群組選擇TestResourceGroup:您只能查看到伸縮組(TestScalingGroup)出現在伸縮組列表中。如果伸縮組擴容了新的ECS執行個體,在執行個體列表頁簽下,您也只能查看到在測試環境(TestResourceGroup)下的執行個體。

      伸縮組.png

    • 資源群組選擇ProdResourceGroup:您只能查看到伸縮組(ProdScalingGroup)出現在伸縮組列表中。如果伸縮組擴容了新的ECS執行個體,在執行個體列表頁簽下,您也只能查看到在生產環境(ProdResourceGroup)下的執行個體。

      伸縮組2.png

情境二:資源群組範圍內的使用者與許可權管理

情境描述

假設公司中存在不同部門使用不同的伸縮組,該伸縮組歸屬在不同的資源群組(分別為生產環境資源群組和測試環境資源群組)中,且各部門分配了各自的管理員。為了實現不同部門管理員在資源群組範圍內對不同資源群組中伸縮組的分權管理,建議對管理員授予對應資源群組內的許可權,通過對資源群組範圍內的使用者與許可權進行管理,限制某些管理員只能看到並操作生產環境中的資源,某些管理員只能查看或操作測試環境下的資源。以下列情境作為樣本,說明如何?資源群組範圍內的分權管理。

例如,一個公司有一個阿里雲帳號,並為公司下的每個部門分配一個RAM子使用者,現在有兩個部門:部門A和部門B,要求部門之間獨立管理各自的伸縮組,不能相互操作對方的伸縮組,具體分權管理要求如下:

  • 不能給對方部門建立伸縮組、修改伸縮組,同時也不能修改伸縮組下的伸縮規則等配置。

  • 不能查詢對方部門的伸縮組。

操作步驟

  1. 在RAM中建立自訂權限原則(ApiWithoutResourcePolicy)。

    由於伸縮組的某些API不支援資源群組鑒權,故需要對該API進行自訂許可權配置。具體操作,請參見建立自訂權限原則

    • 目前不支援資源群組鑒權的API介面如下所示:

      • DescribeRegions

      • DescribeLimitation

      • DescribeNotificationTypes

      • ListTagKeys

      • ListTagValues

    • 自訂權限原則(ApiWithoutResourcePolicy)如下所示:

      {
        "Version": "1",
        "Statement": [
           {
              "Action": [
                 "ess:DescribleRegions",
                 "ess:DescribleLimitation",
                 "ess:DecsribleNotificationTypes",
                 "ess:ListTagKeys",
                 "ess:ListTagValues"
                ],
               "Resource": "*",
               "Effect": "Allow"
             }
          ]
      }
  2. 整個雲帳號範圍內,為部門A和部門B的管理員建立RAM賬戶並設定對應的資源群組許可權。

    本步驟以授權部門A管理員為例,授權主體請選擇部門A管理員名稱,權限原則請選擇步驟一建立的自訂權限原則(ApiWithoutResourcePolicy)和系統策略(AliyunECSFullAccess)。具體操作,請參見為RAM使用者授權

    • 為部門A管理員授權如下自訂策略:

      授權A.png

    • 為部門A管理員授權如下系統策略:

      策略2.png

  3. 為部門A建立資源群組DepartmentA,為部門B建立資源群組DepartmentB。

    具體操作,請參見建立資源群組

    部門資源.png

  4. 為部門A的管理員在資源群組DepartmentA範圍內授予Auto Scaling系統管理權限策略(AliyunESSFullAccess)。

    具體操作,請參見添加RAM身份並授權或者為RAM使用者授權

    ess授權-A.png

  5. 參考步驟4為部門B的管理員在資源群組DepartmentB範圍內授予Auto Scaling系統管理權限策略(AliyunESSFullAccess)。

    其中,許可權範圍選擇指定資源群組DepartmentB,授權主體選擇部門B的管理員名稱。

    ess-授權B.png

驗證結果

  1. 登入Auto Scaling控制台
  2. 在頂部功能表列左上方,選擇不同資源群組,建立伸縮組。

    具體操作,請參見建立伸縮組

    • 資源群組選擇DepartmentA時:部門A管理員可以在資源群組DepartmentA下成功建立伸縮組。

      ess-A.png

    • 資源群組選擇DepartmentB時:部門A管理員在資源群組DepartmentB下沒有許可權建立伸縮組。

      許可權不足.png

  3. 驗證部門A管理員是否可以查看不同資源群組下的伸縮組。

    具體操作,請參見查看伸縮組

    • 查看資源群組DepartmentA下的伸縮組:部門A管理員可以成功查看資源群組DepartmentA下的伸縮組。

      ess-A.png

    • 查看資源群組DepartmentB下的伸縮組:部門A管理員沒有許可權查看資源群組DepartmentB下的伸縮組。

      2023-08-28_15-46-52.png