すべてのプロダクト
Search
ドキュメントセンター

Auto Scaling:Create a scaling rule

最終更新日:Mar 18, 2020

スケーリングルールの作成

スケーリングルールでは、n 個の ECS インスタンスの追加や削除など、具体的なスケーリングアクションを定義します。

スケーリングルールを実行すると、スケーリンググループの ECS インスタンスの数が MinSize を下回るか、MaxSize を上回ることがあります。その場合、Auto Scaling によって “スケーリンググループのインスタンス数量を MinSize に調整” ルールまたは “スケーリンググループのインスタンス数量を MaxSize に調整” ルールが実行され、追加または削除される ECS インスタンスの数が調整されます。

  • 例 1: スケーリンググループの MaxSize が 3 で現在のインスタンスの数 (合計容量) が 2 となっている場合にスケーリングルールで “ECS インスタンスを 3 個追加” するよう指示すると、この操作で実際に追加される ECS インスタンスは 1 つだけになります (スケーリングルールの値は変更されません)。
  • 例 2: スケーリンググループの MinSize が 2 で現在のインスタンスの数 (合計容量) が 3 となっている場合にスケーリングルールで “ECS インスタンスを 5 個削除” するよう指示すると、この操作で実際に削除される ECS インスタンスは 1 つだけになります (スケーリングルールの値は変更されません)。

説明

この操作では、入力パラメーターに基づいてスケーリングルールを作成します。

(1) AdjustmentType が TotalCapaciy である場合、現在のスケーリンググループの ECS インスタンスの数量は指定した値に調整されます。対応する AdjustmentValue は 0 以上にする必要があります。

(2) AdjustmentType が QuantityChangeInCapacity または PercentChangeInCapacity である場合、対応する AdjustmentValue が正の数のときは追加する ECS インスタンスが増加し、対応する AdjustmentValue が負の数のときは ECS インスタンスが減少します。

(3) AdjustmentType が PercentChangeInCapacity である場合、Auto Scaling サービスでは、”現在のインスタンスの数 (合計容量) * AdjustmentValue/100” という式を使用し、結果を標準的な方法で丸めて、追加または削除する ECS インスタンスの数を確定します。

(4) スケーリングルールにクールダウン時間 (Cooldown) が指定されている場合、このルールを実行するスケーリングアクティビティの完了後に、指定された Cooldown がスケーリンググループに適用されます。それ以外の場合は、DefaultCooldown がスケーリンググループに適用されます。

(5) スケーリングルールには、最大 10 個のスケーリングルールを作成できます。

(6) 返されるスケーリングルールの唯一の識別子 (ScalingRuleAri) は、主に次のインターフェイスで使用できます。

  • ExecuteScalingRule の ScalingRuleAri パラメーターを指定すると、スケーリングルールを手動で実行できます。
  • CreateScheduledTask の ScheduledAction パラメーターを指定すると、スケーリングルールの実行スケジュールを設定できます。

リクエストパラメーター

名前 必須かどうか 説明
Action String はい 操作インターフェイス、必須。パラメーター値は CreateScalingRule です。
ScalingGroupId String はい スケーリングルールのスケーリンググループの ID。
AdjustmentType String はい スケーリングルールの調整モード。オプション値:
QuantityChangeInCapacity: 指定された ECS インスタンスの数を増減させるために使用します。
PercentChangeInCapacity: 指定した ECS インスタンスの比率を増減させるために使用します。
TotalCapacity: 現在のスケーリンググループの ECS インスタンスの数を、指定した値に調整するために使用します。
AdjustmentValue Integer はい スケーリングルールの調整値。値範囲:
QuantityChangeInCapacity: (0, 100] U (-100, 0]、
PercentChangeInCapacity: [0, 10000] U [-10000, 0]
TotalCapacity: [0, 100]
ScalingRuleName String いいえ 表示されるスケーリンググループの名前。2 ~ 40 文字の英字または漢字の文字列です。数字、英字 (大文字と小文字を区別しない)、または漢字で始まる必要があり、”_”、”-“、”.” を使用できます。同じスケーリンググループのアカウント名は、同じリージョン内で一意です。このパラメーター値を指定しない場合、デフォルト値は ScalingRuleId です。
Cooldown Integer No スケーリングルールのクールダウン時間です。値の範囲: [0, 86,400]、秒単位。デフォルト値は空です。

リターンパラメーター

名前 説明
ScalingRuleId String スケーリングルールの ID。システムによって生成され、グローバルに一意です。
ScalingRuleAri String スケーリングルールの一意の ID。

エラーコード

すべてのインターフェイスに共通のエラーについては、「エラーコード表クライアントエラーまたは サーバエラーを参照してください。

エラー エラーコード 説明 HTTP ステータスコード
指定したスケーリンググループがこのアカウントに存在しません。 InvalidScalingGroupId.NotFound 指定したスケーリンググループが存在しません。 404
スケーリングルールの名前は既に存在します。 InvalidScalingRuleName.Duplicate 指定したパラメーター <parameter name> の値が重複しています。 400
スケーリングルールの数が、ユーザーが使用できる上限を超えています。 QuotaExceeded.ScalingRule 指定したスケーリンググループでスケーリングルールのクォータを超えました。 400

リクエストの例

  1. http://ess.aliyuncs.com/?Action=CreateScalingRule
  2. &ScalingGroupId=AG6CQdPU8OKdwLjgZcJ2eaQ
  3. &AdjustmentType=QuantityChangeInCapacity
  4. &AdjustmentValue=-10
  5. &<Public Request Parameters>

戻り値の例

XML の例

  1. <CreateScalingRuleResponse>
  2. <ScalingRuleAri>
  3. ari:acs:ess:cn-qingdao:1344371:scalingrule/eMKWG8SRNb9dBLAjweNI1Ik
  4. </ScalingRuleAri>
  5. <ScalingRuleId>eMKWG8SRNb9dBLAjweNI1Ik</ScalingRuleId>
  6. <RequestId>570C84F4-A434-488A-AFA1-1E3213682B33</RequestId>
  7. </CreateScalingRuleResponse>

JSON 形式

  1. {
  2. "RequestId": "04F0F334-1335-436C-A1D7-6C044FE73368",
  3. "ScalingRuleId": "eMKWG8SRNb9dBLAjweNI1Ik",
  4. "ScalingRuleAri":"ari:acs:ess:cn-qingdao:1344371:scalingrule/eMKWG8SRNb9dBLAjweNI1Ik"
  5. }