Ao contrário da API ExecuteScalingRule, você pode usar a API ScaleWithAdjustment para acionar o escalonamento elástico com base em uma regra de ajuste especificada, sem precisar criar uma regra de escalonamento previamente.
Descrição da operação
-
Certifique-se de que as seguintes condições sejam atendidas antes de chamar esta operação:
-
O grupo de escalonamento está no estado Active.
-
Nenhuma atividade de escalonamento está em andamento no grupo de escalonamento.
-
-
Esta operação ignora o período de espera para executar imediatamente uma atividade de escalonamento, desde que nenhuma outra atividade de escalonamento esteja em andamento.
-
Se a adição das instâncias ECS especificadas fizer com que a capacidade total exceda o tamanho máximo, o Auto Scaling definirá a capacidade total como o tamanho máximo.
-
Se a remoção das instâncias ECS especificadas reduzir a capacidade total para abaixo do tamanho mínimo, o Auto Scaling definirá a capacidade total como o tamanho mínimo.
Uma resposta bem-sucedida indica que a solicitação da API foi aceita, mas isso não garante que a atividade de escalonamento será bem-sucedida. Você deve usar o ScalingActivityId retornado para verificar o status da atividade de escalonamento.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
ess:ScaleWithAdjustment |
update |
*ScalingGroup
|
Nenhuma | Nenhuma |
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| ScalingGroupId |
string |
Sim |
O ID do grupo de escalonamento. |
asg-j6c1o397427hyjdc**** |
| AdjustmentType |
string |
Sim |
O método usado para ajustar o número de instâncias em uma atividade de escalonamento. Valores válidos:
|
QuantityChangeInCapacity |
| AdjustmentValue |
integer |
Sim |
O valor de ajuste para a atividade de escalonamento. Um único ajuste não pode adicionar ou remover mais de 1.000 instâncias ECS. O intervalo válido depende de
|
100 |
| MinAdjustmentMagnitude |
integer |
Não |
O número mínimo de instâncias a serem ajustadas em uma atividade de escalonamento. Este parâmetro só entra em vigor quando |
1 |
| ClientToken |
string |
Não |
Um token gerado pelo cliente para garantir a idempotência da solicitação. Este token deve ser uma string única de até 64 caracteres ASCII. |
123e4567-e89b-12d3-a456-42665544**** |
| SyncActivity |
boolean |
Não |
Especifica se a atividade de escalonamento deve ser executada de forma síncrona. Este parâmetro se aplica apenas a grupos de escalonamento configurados com um número esperado de instâncias. Valores válidos:
Nota
Para obter mais informações sobre o número esperado de instâncias, consulte Número esperado de instâncias. Valor padrão: false. |
false |
| ParallelTask |
boolean |
Não |
Especifica se a atividade de escalonamento atual suporta concorrência. |
false |
| Overrides |
object |
Não |
Os parâmetros a serem substituídos ao escalar horizontalmente um grupo de escalonamento ECI. |
|
| Cpu |
number |
Não |
O número de vCPUs para a instância. Unidade: núcleos. |
2 |
| Memory |
number |
Não |
O tamanho da memória para a instância. Unidade: GiB. |
4 |
| ContainerOverrides |
array<object> |
Não |
Uma lista de substituições específicas de contêiner. |
|
|
array<object> |
Não |
Especifica as substituições para um único contêiner. |
||
| Name |
string |
Não |
O nome do contêiner a ser substituído. A substituição só entra em vigor se este nome corresponder a um nome de contêiner na configuração de escalonamento. |
container-1 |
| Args |
array |
Não |
Os argumentos para o comando de inicialização do contêiner. Você pode especificar até 10 argumentos. |
|
|
string |
Não |
Um único argumento do comando de inicialização. |
arg |
|
| Commands |
array |
Não |
O comando de inicialização do contêiner, especificado como uma matriz de strings. Você pode especificar até 20 strings, e cada uma pode ter até 256 caracteres. |
|
|
string |
Não |
Uma única string na matriz de comandos. |
sleep |
|
| EnvironmentVars |
array<object> |
Não |
Variáveis de ambiente a serem definidas no contêiner. |
|
|
object |
Não |
Uma única variável de ambiente, especificada como um par chave-valor. |
||
| Key |
string |
Não |
The name of the environment variable. It must be 1 to 128 characters long, cannot start with a digit, and can contain only letters (a-z, A-Z), digits (0-9), and underscores (_). |
PATH |
| Value |
string |
Não |
The value of the environment variable, up to 256 characters long. |
/usr/local/tomcat |
| Cpu |
number |
Não |
O número de vCPUs para o contêiner. Unidade: núcleos. |
2 |
| Memory |
number |
Não |
O tamanho da memória para o contêiner. Unidade: GiB. |
4 |
| UserData |
string |
Não |
Os dados do usuário para a instância ECS. Devem ser codificados em Base64, e os dados brutos não podem exceder 32 KB. |
ZWNobyBoZWxsbyBlY3Mh |
| LifecycleHookContext |
object |
Não |
O contexto do hook de ciclo de vida. |
|
| DisableLifecycleHook |
boolean |
Não |
Especifica se todos os hooks de ciclo de vida devem ser desativados para a atividade de escalonamento. Valores válidos:
|
false |
| IgnoredLifecycleHookIds |
array |
Não |
Uma lista de IDs de hooks de ciclo de vida a serem ignorados durante a atividade de escalonamento. |
|
|
string |
Não |
O ID de um hook de ciclo de vida a ser ignorado. |
ash-bp14zolna43z266bq*** |
|
| LifecycleHookResult |
string |
Não |
||
| ActivityMetadata |
string |
Não |
Os metadados da atividade de escalonamento. |
{"key":"value"} |
| ExecutionMode |
string |
Não |
O modo de execução. Valores válidos:
Valor padrão: None. |
PlanOnly |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
|||
| ScalingActivityId |
string |
O ID da atividade de escalonamento. |
asa-bp175o6f6ego3r2j**** |
| RequestId |
string |
O ID da solicitação. |
473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** |
| ActivityType |
string |
O tipo da atividade de escalonamento. Se este parâmetro for definido como Esta configuração afeta apenas grupos de escalonamento com uma capacidade desejada configurada. |
CapacityChange |
| PlanResult |
object |
O resultado do plano de escalonamento retornado quando ExecutionMode é definido como PlanOnly. |
|
| ResourceAllocations |
array<object> |
Os detalhes de alocação de recursos no resultado do plano de escalonamento. |
|
|
object |
|||
| ZoneId |
string |
The availability zone ID. |
cn-beijing-g |
| InstanceType |
string |
The instance type. |
ecs.u1-c1m8.large |
| SpotStrategy |
string |
The spot strategy of the instance. Valid values:
|
NoSpot |
| Amount |
integer |
The number of instances. |
1 |
| InstanceChargeType |
string |
The billing method of the instance. Valid values:
|
PostPaid |
Exemplos
Resposta de sucesso
JSON formato
{
"ScalingActivityId": "asa-bp175o6f6ego3r2j****",
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
"ActivityType": "CapacityChange",
"PlanResult": {
"ResourceAllocations": [
{
"ZoneId": "cn-beijing-g",
"InstanceType": "ecs.u1-c1m8.large",
"SpotStrategy": "NoSpot",
"Amount": 1,
"InstanceChargeType": "PostPaid"
}
]
}
}
Códigos de erro
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.