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

Serverless App Engine:CreateApplicationScalingRule

最終更新日:Apr 20, 2026

アプリケーションの自動スケーリングポリシーを作成します。

操作説明

注意事項

  • 1 つのアプリケーションにつき、最大 5 つの弾力性ポリシーを作成できます。

  • スケジュールされた各弾力性ポリシーに対して、1 日あたり最大 20 個のトリガーポイントを作成できます。

  • 弾力性ポリシーが有効になっている間は、スケーリング、デプロイ、仕様変更、再起動、停止などの操作をアプリケーションに対して手動で実行しないでください。これらの操作を実行するには、まずポリシーを無効にする必要があります。

  • スケールアウト、スケールイン、デプロイ (シングルバッチ、フェーズド、またはカナリア)、仕様変更、再起動、または停止中のアプリケーションに対して、弾力性ポリシーを追加または有効にすることはできません。

  • アプリケーションを 50 インスタンス以上にスケールアウトするには、SAE テクニカルサポートに連絡してホワイトリストに追加してもらう必要があります。詳細については、「お問い合わせ」をご参照ください。

今すぐお試しください

この 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 ロールに付与する必要があります。

アクション

アクセスレベル

リソースタイプ

条件キー

依存アクション

sae:CreateApplicationScalingRule

create

*All Resource

*

なし なし

リクエスト構文

POST /pop/v1/sam/scale/applicationScalingRule HTTP/1.1

リクエストパラメーター

パラメーター

必須 / 任意

説明

AppId

string

必須

アプリケーション ID。

7171a6ca-d1cd-4928-8642-7d5cfe69****

ScalingRuleName

string

必須

自動スケーリングポリシーの名前。名前はアプリケーション内で一意である必要があり、小文字で始まり、小文字、数字、ハイフン (-) のみを含めることができます。名前の長さは最大 32 文字です。

説明

ポリシー名は作成後に変更できません。

timer-0800-2100

ScalingRuleType

string

必須

自動スケーリングポリシーのタイプ。有効な値:

  • timing:スケジュールされた自動スケーリング。

  • metric:メトリクスベースの自動スケーリング。

  • mix:混合自動スケーリング。

説明
  • このパラメーターを timing に設定した場合、ScalingRuleTimer パラメーターは必須です。

  • このパラメーターを metric に設定した場合、ScalingRuleMetric パラメーターは必須です。

  • このパラメーターを mix に設定した場合、ScalingRuleMetric パラメーターは必須です。必要に応じて ScalingRuleTimer パラメーターを構成することもできます。

timing

ScalingRuleTimer

string

任意

スケジュールされた自動スケーリングポリシーの構成。このパラメーターは、ScalingRuleTypetiming に設定されている場合、または SDK を使用する場合に必須です。

このパラメーターは、次のフィールドを含む JSON 文字列です:

  • beginDateendDate:ポリシーの有効期間の開始日と終了日。

    • 両方のフィールドが null (デフォルト) に設定されている場合、ポリシーは無期限に有効です。

    • 日付範囲を指定した場合、たとえば beginDate2021-03-25endDate2021-04-25 の場合、ポリシーは 1 か月間有効です。

  • period:スケジュールされた自動スケーリングポリシーの繰り返しルール。

    • * * *:ポリシーは毎日指定された時刻に実行されます。

    • * * Fri,Mon:ポリシーは、週の特定の曜日の指定された時刻に実行されます。複数の曜日を選択できます。時刻は GMT+8 タイムゾーンです。有効な値:
      • Sun:日曜日

      • Mon:月曜日

      • Tue:火曜日

      • Wed:水曜日

      • Thu:木曜日

      • Fri:金曜日

      • Sat:土曜日

    • 1,2,3,28,31 * *:ポリシーは、月の特定の日の指定された時刻に実行されます。複数の日を選択できます。値は 1 から 31 までです。指定された日がその月に存在しない場合 (たとえば 31 日)、その月のその日にはポリシーは実行されません。

  • schedules:トリガー時間と対応する目標インスタンス数。最大 20 のスケジュールを指定できます。このパラメーターには次のフィールドが含まれます:

    • atTime:トリガー時間。HH:mm 形式です。例:08:00

    • targetReplicas:アプリケーションインスタンスの目標数。有効な値:1~50。
      説明

      ローリングデプロイ中は、サービスの中断を防ぐために、最小準備完了インスタンス数を 1 以上に設定することを推奨します。最小準備完了インスタンス数を 0 に設定すると、更新中にアプリケーションが中断されます。

{"beginDate":null,"endDate":null,"period":"* * *","schedules":[{"atTime":"08:00","targetReplicas":10},{"atTime":"20:00","targetReplicas":3}]}

ScalingRuleMetric

string

任意

メトリクスベースの自動スケーリングポリシーの構成。このパラメーターは、ScalingRuleTypemetric または mix に設定されている場合に必須です。

このパラメーターは、次のフィールドを含む JSON 文字列です:

  • maxReplicas:アプリケーションインスタンスの最大数。

  • minReplicas:アプリケーションインスタンスの最小数。

  • metricType:自動スケーリングポリシーをトリガーするメトリック。有効な値:
    • CPU:CPU 使用率。

    • MEMORY:メモリ使用率。

    • QPS:Java アプリケーションのインスタンスあたりの平均秒間クエリ数 (QPS) (1 分間)。

    • RT:Java アプリケーションのすべてのサービスインターフェイスの平均レスポンスタイム (RT) (1 分間)。

    • tcpActiveConn:インスタンスあたりの平均アクティブ TCP 接続数 (30 秒間)。

    • SLB_QPS:パブリック向け SLB インスタンスのインスタンスあたりの平均 QPS (15 秒間)。

    • SLB_RT:パブリック向け SLB インスタンスの平均 RT (15 秒間)。

    • INTRANET_SLB_QPS:イントラネット SLB インスタンスのインスタンスあたりの平均 QPS (15 秒間)。

    • INTRANET_SLB_RT:イントラネット SLB インスタンスの平均 RT (15 秒間)。

  • metricTargetAverageUtilizationmetricType で指定されたメトリックの目標値。この値の単位は metricType に依存します。
    • 目標 CPU 使用率 (%)。

    • 目標メモリ使用率 (%)。

    • 目標 QPS (リクエスト/秒)。

    • 目標レスポンスタイム (ミリ秒)。

    • 平均アクティブ TCP 接続数。

    • 目標パブリック向け SLB QPS (リクエスト/秒)。

    • 目標パブリック向け SLB レスポンスタイム (ミリ秒)。

    • 目標イントラネット SLB QPS (リクエスト/秒)。

    • 目標イントラネット SLB レスポンスタイム (ミリ秒)。

  • slbId:SLB インスタンス ID。

  • slbProject:Log Service プロジェクト。

  • slbLogstore:Log Service Logstore。

  • vport:SLB リスナーポート。HTTP および HTTPS プロトコルがサポートされています。

  • scaleUpRules:アプリケーションをスケールアウトするためのルール。

  • scaleDownRules:アプリケーションをスケールインするためのルール。

  • step:スケールアウトまたはスケールインのステップサイズ。これは、1 回のスケーリングアクティビティで追加または削除できるインスタンスの最大数です。

  • disabled:アプリケーションのスケールインを防止するかどうかを指定します。true に設定すると、アプリケーションインスタンスの数が減ることはありません。これにより、ピーク時のスケールインによるビジネスリスクを防ぐことができます。
    • true:スケールインは無効です。

    • false:スケールインは有効です。これがデフォルト値です。

  • stabilizationWindowSeconds:スケールアウトまたはスケールインのクールダウン期間 (秒単位)。有効な値:0~3600。デフォルト値は 0 です。

説明

1 つ以上のメトリックを構成できます。複数のメトリックを構成した場合、いずれかのメトリックが目標値に達するか超えると、指定された最大インスタンス数までアプリケーションがスケールアウトします。すべてのメトリックが目標値を下回った場合にのみ、指定された最小インスタンス数までアプリケーションがスケールインします。

{"maxReplicas":3,"minReplicas":1,"metrics":[{"metricType":"CPU","metricTargetAverageUtilization":20},{"metricType":"MEMORY","metricTargetAverageUtilization":30},{"metricType":"tcpActiveConn","metricTargetAverageUtilization":20},{"metricType":"SLB_QPS","MetricTargetAverageUtilization":25,"slbId":"lb-xxx","slbProject":"aliyun-fc-cn-hangzhou-d95881d9-5d3c-5f26-a6b8-************","slbLogstore":"function-log","vport":"80"},{"metricType":"SLB_RT","MetricTargetAverageUtilization":35,"slbId":"lb-xxx","slbProject":"aliyun-fc-cn-hangzhou-d95881d9-5d3c-5f26-a6b8-************","slbLogstore":"function-log","vport":"80"}],"scaleUpRules":{"step":"100","disabled":false,"stabilizationWindowSeconds":0},"scaleDownRules":{"step":"100","disabled":false,"stabilizationWindowSeconds":300}}

MinReadyInstances

integer

任意

最小準備完了インスタンス数。有効な値:

  • このパラメーターを 0 に設定すると、更新中にアプリケーションが中断されます。

  • このパラメーターを -1 に設定すると、システムは現在のインスタンス数の 25% (切り上げ) に値を設定します。たとえば、アプリケーションに 5 つのインスタンスがある場合、最小準備完了インスタンス数は 2 (5 × 25% = 1.25、切り上げて 2) です。

説明

ローリングデプロイ中にサービスの継続性を確保するために、最小準備完了インスタンス数を 1 以上に設定することを推奨します。

3

MinReadyInstanceRatio

integer

任意

最小準備完了インスタンス数を、総インスタンス数に対するパーセンテージで指定します。有効な値:

  • -1:パーセンテージが使用されないことを示します。この場合、MinReadyInstances の値が使用されます。

  • 0~100:パーセンテージ。結果は切り上げられます。たとえば、このパラメーターを 50 (%) に設定し、アプリケーションに 5 つのインスタンスがある場合、最小準備完了インスタンス数は 3 です。

説明

MinReadyInstances-1 以外の MinReadyInstanceRatio の両方を指定した場合、MinReadyInstanceRatio が優先されます。たとえば、MinReadyInstances5 に設定され、MinReadyInstanceRatio50 に設定されている場合、システムは 50 (%) を使用して最小準備完了インスタンス数を計算します。

-1

ScalingRuleEnable

boolean

任意

自動スケーリングポリシーを有効にするかどうかを指定します。有効な値:

  • true:有効。

  • false:無効。

true

EnableIdle

boolean

任意

アプリケーションのアイドルモードを有効にするかどうかを指定します。

レスポンスフィールド

フィールド

説明

object

応答オブジェクト。

RequestId

string

リクエスト ID。

91F93257-7A4A-4BD3-9A7E-2F6EAE6D****

TraceId

string

トレース ID。この ID を使用して、リクエストの詳細をクエリできます。

0a98a02315955564772843261e****

Data

object

返されたデータ。

Timer

object

スケジュールされた自動スケーリングポリシーの構成。

EndDate

string

スケジュールされた自動スケーリングポリシーの終了日。

  • BeginDateEndDate の両方が null の場合、ポリシーは長期ポリシーです。これがデフォルトです。

  • たとえば、BeginDate を 2021-03-25 に、EndDate を 2021-04-25 に設定した場合、ポリシーは 1 か月間有効です。

2021-04-25

BeginDate

string

スケジュールされた自動スケーリングポリシーの開始日。

  • BeginDateEndDate の両方が null の場合、ポリシーは長期ポリシーです。これがデフォルトです。

  • たとえば、BeginDate を 2021-03-25 に、EndDate を 2021-04-25 に設定した場合、ポリシーは 1 か月間有効です。

2021-03-25

Schedules

array<object>

スケジュールされた自動スケーリングポリシーのトリガーポイント。

object

スケジュール内の単一トリガーの構成。

AtTime

string

トリガー時間。形式は HH:mm です。

08:00

TargetReplicas

integer

目標インスタンス数。

3

MaxReplicas

integer

最大インスタンス数。

10

MinReplicas

integer

最小インスタンス数。

5

Period

string

スケジュールされた自動スケーリングポリシーの繰り返しパターン。有効な値:

  • * * *:ポリシーは毎日指定された時刻に実行されます。

  • * * Fri,Mon:ポリシーは、週の特定の曜日の指定された時刻に実行されます。複数の曜日を選択できます。時刻は GMT+8 タイムゾーンです。有効な値:

    • Sun:日曜日

    • Mon:月曜日

    • Tue:火曜日

    • Wed:水曜日

    • Thu:木曜日

    • Fri:金曜日

    • Sat:土曜日

  • 1,2,3,28,31 * *:ポリシーは、月の特定の日の指定された時刻に実行されます。複数の日を選択できます。値は 1 から 31 までです。指定された日がその月に存在しない場合 (たとえば 31 日)、その日にはポリシーは実行されません。

* * *

UpdateTime

integer

ポリシーが最後に更新された時刻 (ミリ秒単位)。

1616642248938

AppId

string

アプリケーションの ID。

7171a6ca-d1cd-4928-8642-7d5cfe69****

CreateTime

integer

ポリシーが作成された時刻 (ミリ秒単位)。

1616642248938

LastDisableTime

integer

自動スケーリングポリシーが最後に無効にされた時刻 (ミリ秒単位)。

1641882854484

ScaleRuleEnabled

boolean

自動スケーリングポリシーが有効かどうかを示します。有効な値:

  • true:ポリシーは有効です。

  • false:ポリシーは無効です。

true

ScaleRuleType

string

自動スケーリングポリシーのタイプ。有効な値:

  • timing:スケジュールされた自動スケーリング。

  • metric:メトリクスベースの自動スケーリング。

  • mix:混合自動スケーリング。

timing

Metric

object

メトリクスベースの自動スケーリングポリシーの構成。

Metrics

array<object>

メトリクスベースの自動スケーリングポリシーのメトリックを定義するオブジェクトの配列。

object

単一メトリックの構成。

MetricTargetAverageUtilization

integer

メトリックの目標値。

  • 目標 CPU 使用率 (%)。

  • 目標メモリ使用率 (%)。

  • 目標 QPS。

  • 目標レスポンスタイム (ミリ秒)。

  • 1 秒あたりの平均アクティブ TCP 接続数の目標値。

  • パブリック向け SLB インスタンスの目標 QPS。

  • パブリック向け SLB インスタンスの目標レスポンスタイム (ミリ秒)。

  • イントラネット SLB インスタンスの目標 QPS。

  • イントラネット SLB インスタンスの目標レスポンスタイム (ミリ秒)。

20

MetricType

string

自動スケーリングポリシーをトリガーするメトリックのタイプ。有効な値:

  • CPU:CPU 使用率。

  • MEMORY:メモリ使用率。

  • QPS:Java アプリケーションの 1 分間のインスタンスあたりの平均 QPS。

  • RT:Java アプリケーションの 1 分間のすべてのサービスエンドポイントにわたる平均レスポンスタイム。

  • tcpActiveConn:30 秒間のインスタンスあたりの平均 TCP アクティブ接続数。

  • SLB_QPS:パブリック SLB インスタンスのインスタンスあたりの平均 QPS (15 秒間)。

  • SLB_RT:パブリック SLB インスタンスの平均レスポンスタイム (15 秒間)。

  • INTRANET_SLB_QPS:イントラネット SLB インスタンスのインスタンスあたりの平均 QPS (15 秒間)。

  • INTRANET_SLB_RT:イントラネット SLB インスタンスの平均レスポンスタイム (15 秒間)。

CPU

SlbProject

string

SLB アクセスログ用の Log Service プロジェクト。

test

SlbLogstore

string

SLB アクセスログ用の Log Service Logstore。

test

Vport

string

SLB インスタンスのポート。

80

SlbId

string

SLB インスタンスの ID。

lb-xxx

MaxReplicas

integer

最大インスタンス数。

3

MinReplicas

integer

最小インスタンス数。

1

ScaleRuleName

string

自動スケーリングポリシーの名前。

test

EnableIdle

boolean

アイドルモードが有効かどうかを示します。

Message

string

応答メッセージ。有効な値:

  • リクエストが成功した場合、success が返されます。

  • リクエストが失敗した場合、エラーメッセージが返されます。

success

ErrorCode

string

エラーコード。有効な値:

  • リクエストが成功した場合、このパラメーターは返されません。

  • リクエストが失敗した場合、エラーコードが返されます。詳細については、このトピックの「エラーコード」セクションをご参照ください。

Code

string

HTTP ステータスコード。有効な値:

  • 2xx:リクエストは成功しました。

  • 3xx:リクエストはリダイレクトされました。

  • 4xx:クライアントエラーが発生しました。

  • 5xx:サーバーエラーが発生しました。

200

Success

boolean

リクエストが成功したかどうかを示します。有効な値:

  • true:API 呼び出しは成功しました。

  • false:API 呼び出しは失敗しました。

true

成功レスポンス

JSONJSON

{
  "RequestId": "91F93257-7A4A-4BD3-9A7E-2F6EAE6D****",
  "TraceId": "0a98a02315955564772843261e****",
  "Data": {
    "Timer": {
      "EndDate": "2021-04-25",
      "BeginDate": "2021-03-25",
      "Schedules": [
        {
          "AtTime": "08:00",
          "TargetReplicas": 3,
          "MaxReplicas": 10,
          "MinReplicas": 5
        }
      ],
      "Period": "* * *"
    },
    "UpdateTime": 1616642248938,
    "AppId": "7171a6ca-d1cd-4928-8642-7d5cfe69****",
    "CreateTime": 1616642248938,
    "LastDisableTime": 1641882854484,
    "ScaleRuleEnabled": true,
    "ScaleRuleType": "timing",
    "Metric": {
      "Metrics": [
        {
          "MetricTargetAverageUtilization": 20,
          "MetricType": "CPU",
          "SlbProject": "test",
          "SlbLogstore": "test",
          "Vport": "80",
          "SlbId": "lb-xxx"
        }
      ],
      "MaxReplicas": 3,
      "MinReplicas": 1
    },
    "ScaleRuleName": "test",
    "EnableIdle": false
  },
  "Message": "success",
  "ErrorCode": "",
  "Code": "200",
  "Success": true
}

エラーコード

HTTP ステータスコード

エラーコード

エラーメッセージ

説明

400 InstanceExist.ScalingRuleName The specified ScalingRuleName already exists.
400 InvalidScalingRuleDate.BeginAfterEnd The specified beginning time is later than the ending time.
400 InvalidScalingRuleDate.Format The specified date is invalid.
400 InvalidScalingRuleName.NotFound The specified ScalingRuleName does not exist.
400 InvalidScalingRuleTime.Conflict The specified scaling rule time is invalid. Another schedule has been set for the specified time range. Please set a different time.
400 InvalidScalingRuleTime.Format The specified time is invalid.
400 QuotaExceeded.ScalingRule The maximum number of application scaling rules is exceeded.
400 QuotaExceeded.ScalingRuleTime The maximum number of scaling policy trigger time is exceeded.
400 NoComputeResourceQuota.App.Exceed You can create %s instances for each application. Please submit a ticket to raise the quota.
400 NoComputeResourceQuota.Exceed Your compute resource is insufficient. Please contact us to raise the quota.
400 NoComputeResourceQuota.User.Exceed Your account is limited to create %s instances. Please submit a ticket to raise the quota.
400 System.Upgrading The system is being upgraded. Please try again later.
400 OperationDenied.SDKNotSupported Metrics is not supported in SDK
400 MinReadyInstances.Not.Smaller.Replicas The minimum number of available instances must be less than the number of application instances.
400 MinReadyInstanceRatio.Invalid The ratio of minimum available instances must be between 0 and 100.

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

変更履歴

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