アプリケーションの自動スケーリングポリシーを作成します。
操作説明
注意事項
1 つのアプリケーションにつき、最大 5 つの弾力性ポリシーを作成できます。
スケジュールされた各弾力性ポリシーに対して、1 日あたり最大 20 個のトリガーポイントを作成できます。
弾力性ポリシーが有効になっている間は、スケーリング、デプロイ、仕様変更、再起動、停止などの操作をアプリケーションに対して手動で実行しないでください。これらの操作を実行するには、まずポリシーを無効にする必要があります。
スケールアウト、スケールイン、デプロイ (シングルバッチ、フェーズド、またはカナリア)、仕様変更、再起動、または停止中のアプリケーションに対して、弾力性ポリシーを追加または有効にすることはできません。
アプリケーションを 50 インスタンス以上にスケールアウトするには、SAE テクニカルサポートに連絡してホワイトリストに追加してもらう必要があります。詳細については、「お問い合わせ」をご参照ください。
今すぐお試しください
テスト
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 |
| ScalingRuleTimer |
string |
任意 |
スケジュールされた自動スケーリングポリシーの構成。このパラメーターは、 このパラメーターは、次のフィールドを含む JSON 文字列です:
|
{"beginDate":null,"endDate":null,"period":"* * *","schedules":[{"atTime":"08:00","targetReplicas":10},{"atTime":"20:00","targetReplicas":3}]} |
| ScalingRuleMetric |
string |
任意 |
メトリクスベースの自動スケーリングポリシーの構成。このパラメーターは、 このパラメーターは、次のフィールドを含む JSON 文字列です:
説明
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 |
任意 |
最小準備完了インスタンス数。有効な値:
説明
ローリングデプロイ中にサービスの継続性を確保するために、最小準備完了インスタンス数を 1 以上に設定することを推奨します。 |
3 |
| MinReadyInstanceRatio |
integer |
任意 |
最小準備完了インスタンス数を、総インスタンス数に対するパーセンテージで指定します。有効な値:
説明
|
-1 |
| ScalingRuleEnable |
boolean |
任意 |
自動スケーリングポリシーを有効にするかどうかを指定します。有効な値:
|
true |
| EnableIdle |
boolean |
任意 |
アプリケーションのアイドルモードを有効にするかどうかを指定します。 |
レスポンスフィールド
|
フィールド |
型 |
説明 |
例 |
|
object |
応答オブジェクト。 |
||
| RequestId |
string |
リクエスト ID。 |
91F93257-7A4A-4BD3-9A7E-2F6EAE6D**** |
| TraceId |
string |
トレース ID。この ID を使用して、リクエストの詳細をクエリできます。 |
0a98a02315955564772843261e**** |
| Data |
object |
返されたデータ。 |
|
| Timer |
object |
スケジュールされた自動スケーリングポリシーの構成。 |
|
| EndDate |
string |
スケジュールされた自動スケーリングポリシーの終了日。
|
2021-04-25 |
| BeginDate |
string |
スケジュールされた自動スケーリングポリシーの開始日。
|
2021-03-25 |
| Schedules |
array<object> |
スケジュールされた自動スケーリングポリシーのトリガーポイント。 |
|
|
object |
スケジュール内の単一トリガーの構成。 |
||
| AtTime |
string |
トリガー時間。形式は HH:mm です。 |
08:00 |
| TargetReplicas |
integer |
目標インスタンス数。 |
3 |
| MaxReplicas |
integer |
最大インスタンス数。 |
10 |
| MinReplicas |
integer |
最小インスタンス数。 |
5 |
| Period |
string |
スケジュールされた自動スケーリングポリシーの繰り返しパターン。有効な値:
|
* * * |
| UpdateTime |
integer |
ポリシーが最後に更新された時刻 (ミリ秒単位)。 |
1616642248938 |
| AppId |
string |
アプリケーションの ID。 |
7171a6ca-d1cd-4928-8642-7d5cfe69**** |
| CreateTime |
integer |
ポリシーが作成された時刻 (ミリ秒単位)。 |
1616642248938 |
| LastDisableTime |
integer |
自動スケーリングポリシーが最後に無効にされた時刻 (ミリ秒単位)。 |
1641882854484 |
| ScaleRuleEnabled |
boolean |
自動スケーリングポリシーが有効かどうかを示します。有効な値:
|
true |
| ScaleRuleType |
string |
自動スケーリングポリシーのタイプ。有効な値:
|
timing |
| Metric |
object |
メトリクスベースの自動スケーリングポリシーの構成。 |
|
| Metrics |
array<object> |
メトリクスベースの自動スケーリングポリシーのメトリックを定義するオブジェクトの配列。 |
|
|
object |
単一メトリックの構成。 |
||
| MetricTargetAverageUtilization |
integer |
メトリックの目標値。
|
20 |
| MetricType |
string |
自動スケーリングポリシーをトリガーするメトリックのタイプ。有効な値:
|
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 |
| ErrorCode |
string |
エラーコード。有効な値:
|
|
| Code |
string |
HTTP ステータスコード。有効な値:
|
200 |
| Success |
boolean |
リクエストが成功したかどうかを示します。有効な値:
|
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. |
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。