Crea una política de autoescalado de aplicaciones.
Descripción de la operación
Notas de uso
-
Puede crear hasta cinco políticas de elasticidad por aplicación.
-
Para cada política de elasticidad programada, puede crear hasta 20 puntos de activación por día.
-
Mientras una política de elasticidad está habilitada, no realice operaciones manuales en la aplicación, como escalado, despliegue, cambio de especificaciones, reinicio o detención. Para realizar estas operaciones, primero deshabilite la política.
-
No puede agregar ni habilitar una política de elasticidad para una aplicación que esté en proceso de escalado horizontal, reducción de escala, despliegue (por lotes, por fases o canary), cambio de especificaciones, reinicio o detención.
-
Para escalar horizontalmente una aplicación a más de 50 instancias, póngase en contacto con el equipo de asistencia técnica de SAE para ser agregado a la lista blanca. Para obtener más información, consulte Contáctenos.
Pruébelo ahora
Test
Autorización de RAM
|
Action |
Nivel de acceso |
Tipo de recurso |
Clave de condición |
Acción dependiente |
|
sae:CreateApplicationScalingRule |
create |
*All Resource
|
Ninguna | Ninguna |
Sintaxis de la solicitud
POST /pop/v1/sam/scale/applicationScalingRule HTTP/1.1
Parámetros de la solicitud
|
Parámetro |
Tipo |
Obligatorio |
Descripción |
Ejemplo |
| AppId |
string |
Sí |
El ID de la aplicación. |
7171a6ca-d1cd-4928-8642-7d5cfe69**** |
| ScalingRuleName |
string |
Sí |
El nombre de la política de autoescalado. El nombre debe ser único dentro de una aplicación, comenzar con una letra minúscula y contener solo letras minúsculas, dígitos y guiones (-). El nombre puede tener hasta 32 caracteres de longitud. Nota
El nombre de la política no se puede cambiar después de su creación. |
timer-0800-2100 |
| ScalingRuleType |
string |
Sí |
El tipo de política de autoescalado. Valores válidos:
Nota
|
timing |
| ScalingRuleTimer |
string |
No |
Configuraciones para la política de autoescalado programado. Este parámetro es obligatorio si El parámetro es una cadena JSON que contiene los siguientes campos:
|
{"beginDate":null,"endDate":null,"period":"* * *","schedules":[{"atTime":"08:00","targetReplicas":10},{"atTime":"20:00","targetReplicas":3}]} |
| ScalingRuleMetric |
string |
No |
Configuraciones para la política de autoescalado basado en métricas. Este parámetro es obligatorio si El parámetro es una cadena JSON que contiene los siguientes campos:
Nota
Puede configurar una o más métricas. Si configura varias métricas, la aplicación escala horizontalmente cuando cualquiera de las métricas alcanza o supera su valor objetivo, hasta el número máximo de instancias especificado. La aplicación reduce su escala solo cuando todas las métricas están por debajo de sus valores objetivo, hasta el número mínimo de instancias especificado. |
{"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 |
No |
El número mínimo de instancias listas. Valores válidos:
Nota
Para garantizar la continuidad del servicio durante un despliegue continuo, se recomienda establecer el número mínimo de instancias listas en 1 o más. |
3 |
| MinReadyInstanceRatio |
integer |
No |
El número mínimo de instancias listas, especificado como un porcentaje del número total de instancias. Valores válidos:
Nota
Si especifica tanto |
-1 |
| ScalingRuleEnable |
boolean |
No |
Especifica si se debe habilitar la política de autoescalado. Valores válidos:
|
true |
| EnableIdle |
boolean |
No |
Especifica si se debe habilitar el modo inactivo para la aplicación. |
Elementos de la respuesta
|
Elemento |
Tipo |
Descripción |
Ejemplo |
|
object |
El objeto de respuesta. |
||
| RequestId |
string |
El ID de la solicitud. |
91F93257-7A4A-4BD3-9A7E-2F6EAE6D**** |
| TraceId |
string |
El ID de rastreo. Puede usar este ID para consultar los detalles de una solicitud. |
0a98a02315955564772843261e**** |
| Data |
object |
Los datos devueltos. |
|
| Timer |
object |
Las configuraciones para la política de autoescalado programado. |
|
| EndDate |
string |
La fecha de finalización de la política de autoescalado programado.
|
2021-04-25 |
| BeginDate |
string |
La fecha de inicio de la política de autoescalado programado.
|
2021-03-25 |
| Schedules |
array<object> |
Los puntos de activación para la política de autoescalado programado. |
|
|
object |
La configuración para una sola activación dentro de la programación. |
||
| AtTime |
string |
La hora de activación. El formato es HH:mm. |
08:00 |
| TargetReplicas |
integer |
El número objetivo de instancias. |
3 |
| MaxReplicas |
integer |
El número máximo de instancias. |
10 |
| MinReplicas |
integer |
El número mínimo de instancias. |
5 |
| Period |
string |
El patrón de recurrencia para la política de autoescalado programado. Valores válidos:
|
* * * |
| UpdateTime |
integer |
La hora en que se actualizó por última vez la política, en milisegundos. |
1616642248938 |
| AppId |
string |
El ID de la aplicación. |
7171a6ca-d1cd-4928-8642-7d5cfe69**** |
| CreateTime |
integer |
La hora en que se creó la política, en milisegundos. |
1616642248938 |
| LastDisableTime |
integer |
La hora en que se deshabilitó por última vez la política de autoescalado, en milisegundos. |
1641882854484 |
| ScaleRuleEnabled |
boolean |
Indica si la política de autoescalado está habilitada. Valores válidos:
|
true |
| ScaleRuleType |
string |
El tipo de política de autoescalado. Valores válidos:
|
timing |
| Metric |
object |
Las configuraciones para la política de autoescalado basado en métricas. |
|
| Metrics |
array<object> |
Una matriz de objetos que definen las métricas para la política de autoescalado basado en métricas. |
|
|
object |
La configuración para una sola métrica. |
||
| MetricTargetAverageUtilization |
integer |
El valor objetivo para la métrica.
|
20 |
| MetricType |
string |
El tipo de métrica que activa la política de autoescalado. Valores válidos:
|
CPU |
| SlbProject |
string |
El proyecto de Log Service para registros de acceso de SLB. |
test |
| SlbLogstore |
string |
El Logstore de Log Service para registros de acceso de SLB. |
test |
| Vport |
string |
El puerto de la instancia SLB. |
80 |
| SlbId |
string |
El ID de la instancia SLB. |
lb-xxx |
| MaxReplicas |
integer |
El número máximo de instancias. |
3 |
| MinReplicas |
integer |
El número mínimo de instancias. |
1 |
| ScaleRuleName |
string |
El nombre de la política de autoescalado. |
test |
| EnableIdle |
boolean |
Indica si el modo inactivo está habilitado. |
|
| Message |
string |
El mensaje de respuesta. Valores válidos:
|
success |
| ErrorCode |
string |
El código de error. Valores válidos:
|
|
| Code |
string |
El código de estado HTTP. Valores válidos:
|
200 |
| Success |
boolean |
Indica si la solicitud fue exitosa. Valores válidos:
|
true |
Ejemplos
Respuesta exitosa
JSON Formato
{
"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
}
Códigos de error
|
Código de estado HTTP |
Código de error |
Mensaje de error |
Descripción |
|---|---|---|---|
| 400 | InstanceExist.ScalingRuleName | The specified ScalingRuleName already exists. | The specified ScalingRuleName already exists. |
| 400 | InvalidScalingRuleDate.BeginAfterEnd | The specified beginning time is later than the ending time. | The specified begin date is later than the end date. |
| 400 | InvalidScalingRuleDate.Format | The specified date is invalid. | The specified date is invalid. The correct format is yyyy-MM-dd . |
| 400 | InvalidScalingRuleName.NotFound | The specified ScalingRuleName does not exist. | 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. | 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. | The specified time is invalid. The correct format is HH:mm . |
| 400 | QuotaExceeded.ScalingRule | The maximum number of application scaling rules is exceeded. | The maximum number of application scaling rules is exceeded. |
| 400 | QuotaExceeded.ScalingRuleTime | The maximum number of scaling policy trigger time is exceeded. | Scaling rule time quota exceeded. |
| 400 | NoComputeResourceQuota.App.Exceed | You can create %s instances for each application. Please submit a ticket to raise the quota. | You can create %s instances for each application. please join the DingTalk group 32874633 for technical support. |
| 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. | Your account is limited to create %s instances. please join the DingTalk group 32874633 for technical support. |
| 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. | 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. |
Consulte Códigos de error para ver la lista completa.
Notas de la versión
Consulte Notas de la versión para ver la lista completa.