建立規模的步驟縮放政策 - Amazon EC2 Auto Scaling

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立規模的步驟縮放政策

若要為 Auto Scaling 群組中的縮放建立步驟縮放政策,請使用下列其中一種方法:

Console
步驟 1:建立量度低臨界值的 CloudWatch 警示
  1. 在開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/

  2. 如有必要請變更區域。請在導覽列中選擇 Auto Scaling 群組所在的區域。

  3. 在導覽窗格中,選擇 Alarms, All alarms (警示,所有警示),然後選擇 Create alarm (建立警示)。

  4. 選擇選取指標

  5. 在「所有量度」標籤上 EC2,選擇「依 Auto Scaling 群組」,然後在搜尋欄位中輸入「Auto Scaling」群組的名稱。然後,選取 CPUUtilization 並選擇 Select metric (選取指標)。Specify metric and conditions (指定指標和條件) 頁面隨即出現,顯示指標的圖表及其他資訊。

  6. 針對 Period (期間),選擇警示的評估期間,例如 1 分鐘。評估警示時,每個期間都會彙整為一個資料點。

    注意

    期間越短會建立更敏感的警示。

  7. Conditions (條件) 下,執行下列動作:

    • 對於 Threshold type (閾值類型),選擇 Static (靜態)。

    • 針對「無論何時為」,指定您CPUUtilization否希望量度值小於或小於或等於臨界值以違反警示。然後,在 than (比) 下,輸入您要設定為超標警示的閾值。

      重要

      若要讓警示與原則中的規模 (量度低) 搭配使用,請確定您不要選擇大於或大於或等於臨界值。

  8. Additional configuration (其他設定) 下,請執行下列動作:

    • 針對 Datapoints to alarm (要警示的資料點),輸入資料點 (評估期間),在此期間指標值必須符合警示的閾值條件。例如,連續兩個 5 分鐘即表示需時 10 分鐘才會呼叫警示狀態。

    • 對於 Missing data treatment (遺失資料處理),選擇 Treat missing data as bad (breaching threshold) (將遺失資料視為不良 (違反閾值))。如需詳細資訊,請參Amazon CloudWatch 使用者指南中的設定 CloudWatch 警示如何處理遺失的資料

  9. 選擇 Next (下一步)

    Configure actions (設定動作) 頁面隨即顯示。

  10. 在「通知」下,選取要在警示ALARM處於狀態、OK狀態或INSUFFICIENT_DATA狀態時通知的 Amazon SNS 主題。

    若要讓警示針對相同的警示狀態或不同警示狀態傳送多個通知,請選擇 Add notification (新增通知)

    若要讓警示不傳送通知,請選擇 Remove (移動)

  11. 您可以將 Configure actions (設定動作) 頁面的其他區段保留空白。將其他區段保留空白會建立警示,而不會將其與擴展政策建立關聯。然後,您可以從 Amazon EC2 Auto Scaling 主控台將警示與擴展政策相關聯。

  12. 選擇 Next (下一步)

  13. 輸入名稱 (例如 Step-Scaling-AlarmLow-RemoveCapacity),選擇性地輸入警示描述,然後選擇 Next (下一步)。

  14. 選擇 Create alarm (建立警示)。

建立 CloudWatch 鬧鐘後,請使用下列步驟繼續上次中斷的地方。

步驟 2:建立規模的步驟調整政策
  1. 在開啟 Amazon EC2 主控台 https://console.aws.amazon.com/ec2/,然後從導覽窗格中選擇 Auto Scaling 群組

  2. 選取 Auto Scaling 群組旁的核取方塊。

    頁面底部會開啟一個分割窗格。

  3. 確認已將擴展限制設定妥當。例如,如果您群組的所需容量已經達到最低限度,您必須指定新的最小容量才能擴充。如需詳細資訊,請參閱設定 Auto Scaling 群組的擴展限制

  4. Automatic scaling (自動擴展) 索引標籤的 Dynamic scaling policies (動態擴展政策) 中,選擇 Create dynamic scaling policy (建立動態擴展政策)。

  5. 針對 [原則類型],選擇 [步驟調整],然後指定原則的名稱。

  6. 對於CloudWatch 鬧鐘,請選擇您的鬧鐘。如果您尚未建立鬧鐘,請選擇 [建立 CloudWatch 鬧鐘],並完成上一個程序中的步驟 4 到步驟 14 來建立鬧鐘。

  7. 使用 Take the action (採取動作) 指定此政策將進行的目前群組大小變更。您可以移除特定數量的執行個體,或現有群組大小的百分比,或將群組設為確切大小。

    例如,若要在原則中建立將群組容量減少兩個執行個體的擴展,請選擇Remove2在下一個欄位中輸入,然後選擇capacity units。根據預設,此步進調整的上限即為警示閾值,而下限為無限小負數 (-) 值。

  8. 若要新增另一個步進,請選擇 Add step (新增步進),然後定義擴展量,以及相對於警示閾值的步進下限與上限。

  9. 選擇 Create (建立)。

AWS CLI

若要建立縮放 (減少容量) 的步驟調整政策,您可以使用下列範例命令。替換每個 user input placeholder 使用您自己的信息。

使用時 AWS CLI,您首先建立步驟擴展政策,該政策會向 Amazon EC2 Auto Scaling 提供有關如何在指標值減少時擴展的相關說明。然後,您可以識別要監視的指標、定義警示的量度低臨界值和其他詳細資訊,以及將警示與資源調度政策建立關聯,以建立警示。

步驟 1:建立規模的政策

使用下列put-scaling-policy命令建立名為的步驟調整政策my-step-scale-in-policy,調整類型為ChangeInCapacity,當關聯 CloudWatch 警示違反指標低臨界值時,群組的容量會減少 2 個執行個體。

aws autoscaling put-scaling-policy \ --auto-scaling-group-name my-asg \ --policy-name my-step-scale-in-policy \ --policy-type StepScaling \ --adjustment-type ChangeInCapacity \ --step-adjustments MetricIntervalUpperBound=0.0,ScalingAdjustment=-2

記錄政策的 Amazon 資源名稱(ARN)。您需要它來建立原則的 CloudWatch 警示。

{ "PolicyARN": "arn:aws:autoscaling:region:123456789012:scalingPolicy:ac542982-cbeb-4294-891c-a5a941dfa787:autoScalingGroupName/my-asg:policyName/my-step-scale-out-policy }
步驟 2:建立量度低臨界值的 CloudWatch 警示

使用下列 CloudWatch put-metric-alarm命令建立警示,根據平均CPU臨界值 40%,在至少兩個連續兩分鐘的評估期間內,減少 Auto Scaling 群組的大小。若要使用自訂指標,請於 --metric-name 中指定它的名稱,於 --namespace 中指定它的命名空間。

aws cloudwatch put-metric-alarm --alarm-name Step-Scaling-AlarmLow-RemoveCapacity \ --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average \ --period 120 --evaluation-periods 2 --threshold 40 \ --comparison-operator LessThanOrEqualToThreshold \ --dimensions "Name=AutoScalingGroupName,Value=my-asg" \ --alarm-actions PolicyARN