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

Auto Scaling:CreateScalingRule

最終更新日:May 21, 2026

スケーリングルールの機能はタイプによって決まります。タイプは、スケーリングアクティビティのトリガー、またはスケーリンググループの境界値のインテリジェントな設定に使用できます。ビジネス要件に応じて、CreateScalingRule API を呼び出し、さまざまなタイプのスケーリングルールを作成できます。たとえば、スケーリンググループの境界値の設定のみが必要な場合は、予測ルールを選択することを推奨します。

操作説明

スケーリングルールは、N 個のインスタンスを追加または削除するなど、特定のスケールアウトまたはスケールイン操作を定義します。スケーリングルールを実行した結果、スケーリンググループ内の ECS または ECI インスタンス数が MinSize を下回るか MaxSize を超える場合、自動スケーリングは、インスタンス数が MinSize または MaxSize に達するよう、追加または削除する ECS または ECI インスタンス数を調整します。ただし、スケーリングルールの設定値は変更されません。以下に例を示します。

  • MaxSize=3、現在の Total Capacity が 2 のスケーリンググループで、スケーリングルールが ECS インスタンスを 3 個追加するように指定している場合、実行時に実際に追加される ECS インスタンスは 1 個のみですが、スケーリングルールの設定値は 3 のままです。

  • MinSize=2、現在の Total Capacity が 3 のスケーリンググループで、スケーリングルールが ECS インスタンスを 5 個削除するように指定している場合、実行時に実際に削除される ECS インスタンスは 1 個のみですが、スケーリングルールの設定値は 5 のままです。

パラメーターの詳細は次のとおりです。

  • AdjustmentType が TotalCapacity の場合、スケーリンググループ内の ECS または ECI インスタンスの現在の数を、指定した数量に調整します。AdjustmentValue は 0 以上である必要があります。

  • AdjustmentType が QuantityChangeInCapacity または PercentChangeInCapacity の場合、AdjustmentValue が正の値であればインスタンスを追加し、負の値であればインスタンスを削除します。

  • AdjustmentType が PercentChangeInCapacity の場合、自動スケーリングは、現在のインスタンス数 (Total Capacity) に AdjustmentValue/100 を乗算し、丸め処理を適用して、追加または削除する ECS または ECI インスタンス数を計算します。

  • スケーリングルールでクールダウン時間 (Cooldown) が指定されている場合、このルールによってトリガーされたスケーリングアクティビティの完了後、スケーリンググループは指定された期間のクールダウンに入ります。スケーリングルールでクールダウン時間が指定されていない場合は、スケーリンググループのデフォルトのクールダウン時間 (DefaultCooldown) が使用されます。

  • スケーリンググループ内で作成できるスケーリングルールの数には制限があります。詳細については、「制限」をご参照ください。

  • スケーリングルールから返される一意の識別子 (ScalingRuleAri) は、次の API で使用できます:
    • ExecuteScalingRule を呼び出してスケーリングルールを手動で実行する際に、ScalingRuleAri パラメーターに指定します。

    • 指定した時刻にスケーリングルールを実行するスケジュールされたタスク (CreateScheduledTask) を作成する際に、ScheduledAction パラメーター内で指定します。

今すぐお試しください

この API を OpenAPI Explorer でお試しください。手作業による署名は必要ありません。呼び出しに成功すると、入力したパラメーターに基づき、資格情報が組み込まれた SDK コードが自動的に生成されます。このコードをダウンロードしてローカルで使用できます。

テスト

RAM 認証

下表に、この API を呼び出すために必要な認証情報を示します。認証情報は、RAM (Resource Access Management) ポリシーを使用して定義できます。以下で各列名について説明します。

  • アクション:特定のリソースに対して実行可能な操作。ポリシー構文ではAction要素として指定します。

  • API:アクションを具体的に実行するための API。

  • アクセスレベル:各 API に対して事前定義されているアクセスの種類。有効な値:create、list、get、update、delete。

  • リソースタイプ:アクションが作用するリソースの種類。リソースレベルでの権限をサポートするかどうかを示すことができます。ポリシーの有効性を確保するため、アクションの対象として適切なリソースを指定してください。

    • リソースレベルの権限を持つ API の場合、必要なリソースタイプはアスタリスク (*) でマークされます。ポリシーのResource要素で対応する ARN を指定してください。

    • リソースレベルの権限を持たない API の場合、「すべてのリソース」と表示され、ポリシーのResource要素でアスタリスク (*) でマークされます。

  • 条件キー:サービスによって定義された条件のキー。このキーにより、きめ細やかなアクセス制御が可能になります。この制御は、アクション単体に適用することも、特定のリソースに対するアクションに適用することもできます。Alibaba Cloud は、サービス固有の条件キーに加えて、すべての RAM 統合サービスに適用可能な一連の共通条件キーを提供しています。

  • 依存アクション:ある特定のアクションを実行するために、前提として実行が必要となる他のアクション。依存アクションの権限も RAM ユーザーまたは RAM ロールに付与する必要があります。

アクション

アクセスレベル

リソースタイプ

条件キー

依存アクション

ess:CreateScalingRule

create

*ScalingGroup

acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}

なし なし

リクエストパラメーター

パラメーター

必須 / 任意

説明

ScalingGroupId

string

必須

スケーリングルールが属するスケーリンググループの ID です。

asg-bp1ffogfdauy0jw0****

ScalingRuleName

string

任意

スケーリングルールの名前です。名前は 2 ~ 64 文字で、英字、数字、アンダースコア (_)、ハイフン (-)、ピリオド (.) を使用できます。名前は英字または数字で始まる必要があります。

スケーリングルール名は、同一リージョン内の同一アカウントにおいて一意である必要があります。

このパラメーターを空のままにすると、スケーリングルール ID が使用されます。

scalingrule****

Cooldown

integer

任意

スケーリングルールのクールダウン時間です。このパラメーターは、ScalingRuleType パラメーターを SimpleScalingRule に設定した場合にのみ有効です。有効な値:0 ~ 86400。単位:秒。

デフォルト値はありません。

60

MinAdjustmentMagnitude

integer

任意

AdjustmentType パラメーターを PercentChangeInCapacity に設定した場合にスケーリングされるインスタンスの最小数です。このパラメーターは、ScalingRuleType パラメーターを SimpleScalingRule または StepScalingRule に設定した場合にのみ有効です。

1

AdjustmentType

string

任意

スケーリングルールのスケーリング方法です。このパラメーターは、ScalingRuleType パラメーターを SimpleScalingRule または StepScalingRule に設定した場合にのみ必須です。有効な値:

  • QuantityChangeInCapacity:スケーリンググループに対し、指定された数の ECS インスタンスを追加または削除します。

  • PercentChangeInCapacity:スケーリンググループに対し、指定された割合の ECS インスタンスを追加または削除します。

  • TotalCapacity:スケーリンググループ内の ECS インスタンス数を指定された数に調整します。

QuantityChangeInCapacity

AdjustmentValue

integer

任意

スケーリングルールに基づいてスケーリングされるインスタンスの数です。このパラメーターは、ScalingRuleType パラメーターを SimpleScalingRule または StepScalingRule に設定した場合にのみ必須です。1 回のスケーリングアクティビティでスケーリングされる ECS インスタンスの数は 1,000 を超えることはできません。

  • AdjustmentTypeQuantityChangeInCapacity の場合の有効な値:-1000 ~ 1000。

  • AdjustmentTypePercentChangeInCapacity の場合の有効な値:-100 ~ 10000。

  • AdjustmentTypeTotalCapacity の場合の有効な値:0 ~ 2000。

100

ScalingRuleType

string

任意

スケーリングルールのタイプです。有効な値:

  • SimpleScalingRule:簡易スケーリングルールです。簡易スケーリングルールを実行すると、Auto Scaling は AdjustmentTypeAdjustmentValue の値に基づいて、スケーリンググループ内の ECS インスタンスまたはエラスティックコンテナインスタンスの数を調整します。

  • TargetTrackingScalingRule:ターゲット追跡スケーリングルールです。ターゲット追跡スケーリングルールを実行すると、Auto Scaling は事前定義済みメトリクス (MetricName) に基づいてスケーリングする ECS インスタンスまたはエラスティックコンテナインスタンスの数を動的に計算し、メトリクス値を期待値 (TargetValue) に近づけるように維持します。

  • StepScalingRule:ステップスケーリングルールです。ステップスケーリングルールを実行すると、Auto Scaling は事前定義されたしきい値とメトリクス値に基づいて、インスタンスを段階的にスケーリングします。

  • PredictiveScalingRule:予測スケーリングルールです。予測スケーリングルールを実行すると、Auto Scaling は機械学習を使用してスケーリンググループの過去の監視データを分析し、メトリクスの将来の値を予測します。さらに、Auto Scaling はスケーリンググループの境界値を調整するためのスケジュールされたタスクを自動的に作成します。

デフォルト値:SimpleScalingRule

SimpleScalingRule

EstimatedInstanceWarmup

integer

任意

インスタンスのウォームアップ期間です。このパラメーターは、ScalingRuleType パラメーターを TargetTrackingScalingRule または PredictiveScalingRule に設定した場合にのみ有効です。Auto Scaling はウォームアップ状態の ECS インスタンスをスケーリンググループに追加しますが、ウォームアップ期間中は CloudMonitor に監視データを報告しません。

説明

Auto Scaling はスケーリングされる ECS インスタンスの数を計算します。ウォームアップ状態の ECS インスタンスは、スケーリンググループの現在のキャパシティにはカウントされません。

有効な値:0 ~ 86400。単位:秒。

デフォルト値:300。

300

MetricName

string

任意

監視対象の事前定義済みメトリクスです。ScalingRuleTypeTargetTrackingScalingRule または PredictiveScalingRule に設定する場合は、このパラメーターを指定する必要があります。

ScalingRuleTypeTargetTrackingScalingRule の場合の有効な値:

  • CpuUtilizationAgent (推奨):CPU 使用率。

  • MemoryUtilization (推奨):メモリ使用率。

  • CpuUtilization:平均 CPU 使用率。

  • IntranetTx:内部ネットワークの平均アウトバウンドトラフィック。

  • IntranetRx:内部ネットワークの平均インバウンドトラフィック。

  • VpcInternetTx:Virtual Private Cloud (VPC) からインターネットへのアウトバウンドトラフィック。

  • VpcInternetRx:インターネットから VPC へのインバウンドトラフィック。

  • LoadBalancerRealServerAverageQps:Application Load Balancer (ALB) サーバーグループあたりの 1 秒あたりのクエリ数 (QPS)。

ScalingRuleTypePredictiveScalingRule の場合の有効な値:

  • CpuUtilization:平均 CPU 使用率。

  • IntranetRx:内部ネットワークの平均インバウンドトラフィック。

  • IntranetTx:内部ネットワークの平均アウトバウンドトラフィック。

詳細については、「システム監視タイプのイベントトリガータスク」をご参照ください。

CpuUtilization

TargetValue

number

任意

目標値です。このパラメーターは、ScalingRuleType パラメーターを TargetTrackingScalingRule または PredictiveScalingRule に設定した場合にのみ必須です。値は 0 より大きく、小数点以下 3 桁まで指定できます。

0.125

DisableScaleIn

boolean

任意

スケールインを無効にするかどうかを指定します。このパラメーターは、ScalingRuleTypeTargetTrackingScalingRule に設定した場合にのみ有効です。

デフォルト値:false。

false

ScaleInEvaluationCount

integer

任意

スケールインアクティビティ用のイベントトリガータスクがアラートをトリガーするまでに、しきい値条件を連続で満たす必要がある回数です。ターゲット追跡スケーリングルールが作成されると、イベントトリガータスクが自動的に作成され、ターゲット追跡スケーリングルールに関連付けられます。

デフォルト値:15。

15

ScaleOutEvaluationCount

integer

任意

スケールアウトアクティビティ用のイベントトリガータスクがアラートをトリガーするまでに、しきい値条件を連続で満たす必要がある回数です。ターゲット追跡スケーリングルールが作成されると、イベントトリガータスクが自動的に作成され、ターゲット追跡スケーリングルールに関連付けられます。

デフォルト値:3。

3

PredictiveScalingMode

string

任意

予測スケーリングルールのモードです。有効な値:

  • PredictAndScale:予測を生成し、予測タスクを作成します。

  • PredictOnly:予測を生成しますが、予測タスクは作成しません。

デフォルト値:PredictAndScale

PredictAndScale

PredictiveValueBehavior

string

任意

予測タスクの最大値の動作です。有効な値:

  • MaxOverridePredictiveValue:予測値が初期最大キャパシティより大きい場合、予測タスクの最大値として初期最大キャパシティを使用します。

  • PredictiveValueOverrideMax:予測値が初期最大キャパシティより大きい場合、予測タスクの最大値として予測値を使用します。

  • PredictiveValueOverrideMaxWithBufferPredictiveValueBuffer パラメーターで指定された割合で予測値を増加させます。この値が初期最大キャパシティより大きい場合、増加後の値を予測タスクの最大値として使用します。

デフォルト値:MaxOverridePredictiveValue

MaxOverridePredictiveValue

PredictiveValueBuffer

integer

任意

PredictiveValueBehaviorPredictiveValueOverrideMaxWithBuffer に設定した場合に、予測値を増加させる割合です。この割合で増加させた予測値が初期最大キャパシティを超える場合、増加後の値が予測タスクの最大値として使用されます。有効な値:0 ~ 100。

デフォルト値:0。

50

PredictiveTaskBufferTime

integer

任意

予測タスクが実行される前のバッファ時間です。デフォルトでは、予測スケーリングルール用に自動的に作成されたすべての予測タスクは毎正時に実行されます。予測タスクが実行される前のリソース準備のためのバッファ時間を指定できます。有効な値:0 ~ 60。単位:分。

デフォルト値:0。

30

InitialMaxSize

integer

任意

スケーリンググループに含めることができる ECS インスタンスの最大数です。InitialMaxSize を指定する場合は、PredictiveValueBehavior を指定する必要があります。

このパラメーターのデフォルト値は MaxSize の値です。

100

StepAdjustments

array<object>

任意

ステップ調整の詳細です。

object

任意

ステップ調整の詳細です。

MetricIntervalUpperBound

number

任意

ステップ調整における上限値です。有効な値:-9.999999E18 ~ 9.999999E18。

5.0

ScalingAdjustment

integer

任意

ステップ調整でスケーリングされる ECS インスタンスの数です。このパラメーターは、ScalingRuleType パラメーターを StepScalingRule に設定した場合にのみ有効です。

1

MetricIntervalLowerBound

number

任意

ステップ調整における下限値です。このパラメーターは、ScalingRuleType パラメーターを StepScalingRule に設定した場合にのみ有効です。有効な値:-9.999999E18 ~ 9.999999E18。

1.0

RegionId

string

任意

スケーリンググループのリージョン ID です。

cn-hangzhou

AlarmDimensions

array<object>

任意

メトリックディメンションです。このパラメーターは、ターゲット追跡スケーリングルールに適用されます。事前定義済みメトリクスに追加のディメンションが必要な場合は、このパラメーターを指定する必要があります。例えば、事前定義済みメトリクスとして LoadBalancerRealServerAverageQps を使用する場合は、このパラメーターを使用して rulePool ディメンションを指定する必要があります。

object

任意

監視メトリクスのディメンションです。このパラメーターはターゲット追跡ルールに適用され、メトリクスに追加のディメンション情報が必要な場合に使用されます。例えば、LoadBalancerRealServerAverageQps メトリクスでは、rulePool ディメンションのキーと値のペアを指定する必要があります。

DimensionKey

string

任意

メトリックディメンションのキーです。

rulePool

DimensionValue

string

任意

メトリックディメンションの値です。

sgp-l1cbirz451yxuxxx

MetricType

string

任意

メトリクスのタイプです。有効な値:

  • system:CloudMonitor のシステムメトリクス。

  • custom:CloudMonitor に報告されるカスタムメトリクス。

  • hybrid:ハイブリッドクラウドモニタリングのメトリクス。

system

HybridMonitorNamespace

string

任意

ハイブリッドクラウドモニタリング名前空間の ID です。

ハイブリッドクラウドモニタリング名前空間の管理方法については、「名前空間の管理」をご参照ください。

aliyun-test

HybridMetrics

array<object>

任意

ハイブリッドクラウドモニタリングメトリクスです。詳細については、「カスタムターゲット追跡スケーリングルールの作成」をご参照ください。

array<object>

任意

Id

string

任意

メトリクス式内のメトリクスの参照 ID です。

a

Expression

string

任意

複数のハイブリッドクラウドモニタリングメトリクスで構成されるメトリクス式です。スケーリングイベントをトリガーするために使用される結果を計算します。

式は逆ポーランド記法 (RPN) 形式で記述する必要があり、次の演算子のみをサポートします:+, -, *, /

(a+b)/2

MetricName

string

任意

ハイブリッドクラウドモニタリングのメトリクス名です。

AliyunSmq_NumberOfMessagesVisible

Statistic

string

任意

メトリクス値の統計方法です。有効な値:

  • Average:指定された間隔内のすべてのメトリクス値の平均値を計算します。

  • Minimum:指定された間隔内のすべてのメトリクス値の最小値を計算します。

  • Maximum:指定された間隔内のすべてのメトリクス値の最大値を計算します。

Average

Dimensions

array<object>

任意

メトリックディメンションです。このパラメーターを使用して、監視対象のリソースを指定できます。

object

任意

DimensionKey

string

任意

メトリックディメンションのキーです。

queue

DimensionValue

string

任意

メトリックディメンションの値です。

testQueue

AlarmOptions

object

任意

アラートプロパティの定義です。

Period

integer

任意

ターゲット追跡ルールで監視メトリクスデータを集計する期間です (秒単位)。有効な値:

  • 15

  • 60

  • 120

  • 300

  • 900

説明

デフォルト値:60。

60

レスポンスフィールド

フィールド

説明

object

ScalingRuleAri

string

スケーリングルールのグローバルに一意なリソース識別子 (ARI) です。

ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****

RequestId

string

リクエストの ID です。

473469C7-AA6F-4DC5-B3DB-A3DC0DE3****

ScalingRuleId

string

システムによって生成されるスケーリングルールの ID です。

asr-bp1dvirgwkoowxk7****

成功レスポンス

JSONJSON

{
  "ScalingRuleAri": "ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****",
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
  "ScalingRuleId": "asr-bp1dvirgwkoowxk7****"
}

エラーコード

完全なリストについては、「エラーコード」をご参照ください。

変更履歴

完全なリストについては、「変更履歴」をご参照ください。