日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

通過函數(shù)自定義ECS實例縮容策略

如果您對于縮容哪些實例有一定要求(例如需要優(yōu)先縮容CPU負(fù)載最小的實例),您可以通過函數(shù)計算來自定義設(shè)置實例移出策略。在彈性伸縮執(zhí)行縮容活動時,系統(tǒng)可以根據(jù)設(shè)置的實例移出策略,自動選擇某些特定的實例進行縮容。

背景信息

彈性伸縮支持多種實例移出策略,伸縮組觸發(fā)縮容活動時,系統(tǒng)可以根據(jù)實例創(chuàng)建的時間、實例對應(yīng)的伸縮配置版本等篩選條件設(shè)置優(yōu)先級來縮容實例。更多信息,請參見設(shè)置伸縮組的實例終止策略

如果您對于縮容的實例有更多要求,可以結(jié)合自身業(yè)務(wù)特性,利用函數(shù)計算來自定義設(shè)置實例移出策略。示例場景:

  • 場景一:優(yōu)先縮容CPU負(fù)載最小的實例,以減少對業(yè)務(wù)本身的影響。

  • 場景二:基于業(yè)務(wù)自身調(diào)度系統(tǒng),優(yōu)先縮容空閑實例,保證業(yè)務(wù)的同時降低使用成本。

前提條件

操作步驟

步驟一:創(chuàng)建函數(shù)

阿里云函數(shù)計算控制臺目前存在兩個版本(即函數(shù)計算FC 2.0和函數(shù)計算FC 3.0),本操作使用函數(shù)計算2.0版本。

  1. 登錄函數(shù)計算FC控制臺

    如果您已進入函數(shù)計算FC 3.0的控制臺,請單擊返回函數(shù)計算2.0進入函數(shù)計算2.0版本的控制臺。

    函數(shù)計算2.0.jpg

  2. 在左側(cè)導(dǎo)航欄,單擊服務(wù)及函數(shù)

  3. 在頂部菜單欄,選擇地域。

  4. 創(chuàng)建服務(wù)。

    1. 服務(wù)列表頁面,單擊創(chuàng)建服務(wù)

    2. 在彈出面板中,完成服務(wù)配置,然后單擊確定

      本文采用以下配置作為示例,未提及的參數(shù)保持默認(rèn)即可。更多信息,請參見創(chuàng)建服務(wù)

      參數(shù)

      示例

      說明

      服務(wù)名稱

      test-service

      輸入阿里云函數(shù)計算服務(wù)的名稱。格式要求請參考界面提示。

      描述

      test

      輸入函數(shù)計算服務(wù)的描述。

      日志功能

      啟用

      是否啟用阿里云日志服務(wù)。啟用后,可以通過日志服務(wù)查詢函數(shù)的執(zhí)行日志,便于您進行代碼調(diào)試、故障分析和數(shù)據(jù)分析等。

  5. 創(chuàng)建函數(shù)。

    1. 單擊服務(wù)名稱,單擊左側(cè)的函數(shù)管理進入函數(shù)管理頁面。

    2. 單擊創(chuàng)建函數(shù)

    3. 創(chuàng)建函數(shù)頁面,完成函數(shù)配置,然后單擊創(chuàng)建

      本文選擇使用內(nèi)置運行時創(chuàng)建方式來創(chuàng)建函數(shù),采用以下配置作為示例,未提及的參數(shù)保持默認(rèn)即可。更多信息,請參見創(chuàng)建函數(shù)

      參數(shù)

      示例

      說明

      基本設(shè)置

      函數(shù)名稱

      test-fc

      輸入函數(shù)名稱。格式要求請參考界面提示。

      請求處理程序類型

      處理事件請求

      支持以下兩種請求方式:

      • 處理事件請求:用于處理事件請求的函數(shù)。

      • 處理HTTP請求:用于處理HTTP請求或WebSocket請求的函數(shù)。

      函數(shù)代碼

      運行環(huán)境

      Python 3.9

      選擇代碼的運行環(huán)境。

      代碼上傳方式

      使用示例代碼

      Hello, world! 示例

      選擇上傳函數(shù)代碼到函數(shù)計算的方式。

  6. 編寫并部署函數(shù)代碼。

    1. 單擊函數(shù)名稱,進入函數(shù)詳情頁面。

    2. 函數(shù)代碼頁簽下,在代碼編輯器中編輯index.py,然后單擊部署代碼

      您可以基于自身業(yè)務(wù)特性引入特定篩選策略,例如:獲取各實例的CPU使用率或者查詢自身業(yè)務(wù)調(diào)度系統(tǒng)等。

      本文采用以下代碼作為示例,可以實現(xiàn)基于傳入的縮容實例數(shù)量(Capacity)、實例ID列表(InstanceId)等篩選縮容的實例。

      # -*- coding: utf-8 -*-
      import logging
      import json
      
      
      def handler(event, context):
          evt = json.loads(event)
          logger = logging.getLogger()
          logger.info(evt)
          removeCount = 0
          if "CapacityToRemove" in evt:
              for cp in evt["CapacityToRemove"]:
                  logger.info(cp["Capacity"])
                  removeCount += int(cp["Capacity"])
          instances_to_terminate = []
          if "Instances" in evt:
              for i in evt["Instances"]:
                  instances_to_terminate.append(i["InstanceId"])
          response = {
              'InstanceIds': instances_to_terminate[:removeCount]
          }
          logger.info(response)
          return response
      
  7. (可選)測試函數(shù)。

    1. 函數(shù)代碼頁簽下,單擊測試函數(shù)右側(cè)的圖標(biāo)圖標(biāo),從下拉列表中選擇配置測試參數(shù)

    2. 輸入測試代碼,然后單擊確定

      本文采用以下代碼作為測試示例,其中ScalingGroupId表示要操作的伸縮組,CapacityToRemove表示從cn-beijing-g可用區(qū)移出1臺ECS實例,Instances表示當(dāng)前可移出的實例列表。

      {
      	"ScalingGroupARN": "acs:ess:cn-beijing:160998252992****.scalinggroup/asg-2zei8mzn72rb115k****",
      	"ScalingGroupId": "asg-2zei8mzn72rb115k****",
      	"CapacityToRemove": [{
      		"ZoneId": "cn-beijing-g",
      		"Capacity": 1
      	}],
      	"Instances": [{
      			"InstanceId": "i-2zeinb37ovdsx6l0****",
      			"ZoneId": "cn-beijing-g",
      			"InstanceType": "ecs.g7.xlarge",
      			"ChargeType": "PostPaid"
      		},
      		{
      			"InstanceId": "i-2zeinb37ovdsx6l0****",
      			"ZoneId": "cn-beijing-g",
      			"InstanceType": "ecs.g7.xlarge",
      			"ChargeType": "PostPaid"
      		},
      		{
      			"InstanceId": "i-2zeinb37ovdsx6l0****",
      			"ZoneId": "cn-beijing-g",
      			"InstanceType": "ecs.g7.xlarge",
      			"ChargeType": "PostPaid"
      		}
      	],
      	"AdjustmentType": "SystemScaleIn"
      }
    3. 單擊測試函數(shù)

    4. 返回結(jié)果頁簽,查看測試結(jié)果。

      基于測試代碼執(zhí)行函數(shù)的預(yù)期返回如下,表示伸縮組縮容時會移出1臺實例ID排在第一位的實例。

      {
          "InstanceIds": [
              "i-2zeinb37ovdsx6l0****"
          ]
      }
  8. 在頁面頂部位置,單擊發(fā)布版本,然后單擊確定

步驟二:配置伸縮組的實例移出策略

以下步驟以新建伸縮組為例,介紹如何自定義配置伸縮組的實例移出策略。如果您已有伸縮組,可直接修改伸縮組的實例移出策略。

  1. 登錄彈性伸縮控制臺

  2. 創(chuàng)建伸縮組。

    1. 伸縮組管理頁面,單擊創(chuàng)建伸縮組

    2. 完成伸縮組配置,單擊創(chuàng)建

      本文使用以下參數(shù)配置作為示例,未提及的參數(shù)可保持默認(rèn)。更多信息,請參見配置伸縮組

      實例移出策略.png

      參數(shù)

      示例

      說明

      伸縮組名稱

      test

      輸入伸縮組名稱。格式要求請參考界面提示。

      伸縮組類型

      ECS

      指定伸縮組內(nèi)的實例類型。

      本文以ECS為例,表示伸縮組內(nèi)的實例類型為ECS實例。

      組內(nèi)實例配置信息來源

      從零開始創(chuàng)建

      選擇創(chuàng)建實例的配置模板。

      本文以從零開始創(chuàng)建為例,表示先不指定自動創(chuàng)建實例的模板。伸縮組創(chuàng)建完成后,您需要繼續(xù)創(chuàng)建伸縮配置。

      實例移出策略

      自定義策略

      • 服務(wù):test-service

      • 版本:LATEST

      • 函數(shù):test-fc

      配置縮容活動時,從伸縮組中移出實例的策略。

      請選擇自定義策略,然后選擇步驟一創(chuàng)建的函數(shù)。

      組內(nèi)最小實例數(shù)

      0

      設(shè)置伸縮組內(nèi)實例數(shù)量的下限。當(dāng)前實例數(shù)量低于下限時,伸縮組會自動添加實例,使得伸縮組內(nèi)的實例數(shù)量等于下限。

      組內(nèi)最大實例數(shù)

      5

      設(shè)置伸縮組內(nèi)實例數(shù)量的上限。當(dāng)前實例數(shù)量超過上限時,伸縮組會自動移出實例,使得伸縮組內(nèi)的實例數(shù)量等于上限。

      開啟期望實例數(shù)組內(nèi)期望實例數(shù)

      開啟,3

      開啟期望實例數(shù)功能,并配置期望實例數(shù)。伸縮組會自動將實例數(shù)量維持在期望實例數(shù)。

  3. 創(chuàng)建伸縮配置。具體操作,請參見創(chuàng)建伸縮配置(ECS實例)

  4. 啟用伸縮組。具體操作,請參見啟用或停用伸縮組

    由于示例的伸縮組的期望實例數(shù)配置為3,因此啟用伸縮組后,會自動創(chuàng)建3臺ECS實例。

步驟三:驗證縮容效果

  1. 觸發(fā)縮容活動,并確認(rèn)縮容實例的信息。

    1. 修改伸縮組的期望實例數(shù),觸發(fā)縮容活動。具體操作,請參見查看或修改伸縮組

      重要

      您也可以通過定時任務(wù)、報警任務(wù)或者手動執(zhí)行伸縮規(guī)則等方式觸發(fā)縮容活動。但通過修改伸縮組最大、最小實例數(shù)而觸發(fā)的縮容活動,無法應(yīng)用通過函數(shù)計算自定義設(shè)置的實例移出策略。

      本文以將期望實例數(shù)修改為2作為驗證示例。由于之前伸縮組內(nèi)已有3臺ECS實例,因此會自動觸發(fā)縮容活動,移出1臺ECS實例,使得實例數(shù)與修改后的期望實例數(shù)一致。

    2. 查看伸縮活動詳情,確認(rèn)縮容實例的信息。具體操作,請參見查看伸縮活動詳情

      示例如下,縮容的實例ID為i-2ze2qdthrkpf****tldq

      自定義縮容.png

  2. 查看函數(shù)的調(diào)用日志,確認(rèn)縮容活動觸發(fā)函數(shù)調(diào)用的記錄信息。

    1. 函數(shù)計算FC控制臺服務(wù)列表頁面,單擊服務(wù)名稱。

    2. 函數(shù)管理頁面,單擊函數(shù)名稱。

    3. 在函數(shù)詳情頁面,單擊調(diào)用日志頁簽。

    4. 請求列表頁簽的調(diào)用請求列表中,找到縮容活動時間點對應(yīng)的請求,單擊請求ID。

    5. 在彈出的請求詳情頁面,單擊日志詳情,查看縮容活動觸發(fā)函數(shù)調(diào)用的日志記錄。

      示例如下,從日志中可以看出觸發(fā)縮容活動時,彈性伸縮向函數(shù)計算傳入了需要縮容的實例數(shù)和當(dāng)前伸縮組內(nèi)的實例ID列表,經(jīng)過函數(shù)篩選后要縮容的實例ID為i-2ze2qdthrkpf****tldq,這與實際縮容的實例ID一致。

      函數(shù)計算日志.png