Cria um grupo de escalabilidade. O grupo ajusta automaticamente sua capacidade computacional (o número de instâncias) escalando instâncias de um tipo especificado para dentro ou para fora com base nos requisitos de negócios e nas políticas de escalabilidade.
Descrição da operação
Um grupo de escalabilidade é uma coleção de instâncias ECS para o mesmo caso de uso.
O número de grupos de escalabilidade que você pode criar em uma região depende do seu uso do Auto Scaling. Para visualizar sua cota de grupos de escalabilidade, acesse o Quota Center.
Um grupo de escalabilidade não fica ativo imediatamente após a criação. Você deve chamar a operação EnableScalingGroup para habilitar o grupo antes que ele possa acionar atividades de escalabilidade ou executar regras de escalabilidade.
O grupo de escalabilidade, bem como suas instâncias Classic Load Balancer (CLB) (anteriormente SLB) e RDS associadas, devem estar na mesma região. Para mais informações, consulte Regiões e zonas de disponibilidade.
Se você associar uma instância CLB a um grupo de escalabilidade, o grupo de escalabilidade adiciona automaticamente novas instâncias ECS a um grupo de servidores backend da instância CLB. Você pode especificar qual grupo de servidores usar. Os seguintes tipos de grupos de servidores são suportados:
-
Grupo de servidores padrão: Um grupo de instâncias ECS que recebe solicitações do front-end. Se nenhum grupo vServer ou grupo de servidores primário/standby estiver configurado para um listener, ele encaminha as solicitações para as instâncias ECS no grupo de servidores padrão.
-
Grupo vServer: Use um grupo vServer se você precisar encaminhar diferentes solicitações para diferentes servidores backend, ou encaminhar solicitações com base em nomes de domínio e URLs.
Se você especificar tanto um grupo de servidores padrão quanto um ou mais grupos vServer, o grupo de escalabilidade adiciona novas instâncias ECS a todos os grupos de servidores especificados.
Após uma instância ser adicionada a um grupo de servidores backend de uma instância CLB, seu peso padrão é 50. A instância CLB deve atender às seguintes condições:
-
A instância CLB deve estar no estado ativo. Você pode chamar a operação DescribeLoadBalancers para verificar o estado de uma instância CLB.
-
As verificações de integridade devem estar habilitadas para todos os listeners configurados na instância CLB. Caso contrário, a criação do grupo de escalabilidade falha.
Se você associar um grupo de escalabilidade a grupos de servidores do Application Load Balancer (ALB), Network Load Balancer (NLB) ou Gateway Load Balancer (GWLB), ele adiciona automaticamente novas instâncias ECS como servidores backend a esses grupos para lidar com solicitações distribuídas. Você pode especificar vários desses grupos de servidores, mas todos devem pertencer à mesma VPC que o grupo de escalabilidade. Para mais informações, consulte AttachAlbServerGroups ou AttachServerGroups.
Se você associar uma instância RDS a um grupo de escalabilidade, o grupo de escalabilidade adiciona automaticamente os endereços IP internos das novas instâncias ECS à lista de permissões de endereços IP da instância RDS. A instância RDS deve atender às seguintes condições:
-
A instância RDS deve estar no estado Running. Você pode chamar a operação DescribeDBInstances para verificar o estado de uma instância RDS.
-
O número de endereços IP na lista de permissões de endereços IP da instância RDS não pode exceder o limite. Para mais informações, consulte o tópico Configurar uma lista de permissões de endereços IP na documentação do RDS.
Se o MultiAZPolicy de um grupo de escalabilidade estiver definido como COST_OPTIMIZED:
-
Se você especificar os parâmetros
OnDemandBaseCapacity,OnDemandPercentageAboveBaseCapacityeSpotInstancePools, você define a estratégia de alocação de instâncias para a política de otimização de custos. O Auto Scaling prioriza essa estratégia durante as atividades de escalabilidade. -
Se você não especificar os parâmetros
OnDemandBaseCapacity,OnDemandPercentageAboveBaseCapacityouSpotInstancePools, a política de otimização de custos cria instâncias usando apenas o método de menor custo. Neste modo, você não pode criar instâncias usando o serviço Elastic Guarantee ou o serviço Capacity Reservation.
Se você habilitar a propagação de tags para um grupo de escalabilidade definindo Tags.Propagate como true:
-
O grupo de escalabilidade propaga suas tags apenas para novas instâncias, não para instâncias existentes.
-
Se você especificar tags de instância na configuração de escalabilidade e também optar por propagar tags do grupo de escalabilidade, o Auto Scaling aplica ambos os conjuntos de tags às novas instâncias.
-
Se uma tag da configuração de escalabilidade e uma tag propagada do grupo de escalabilidade tiverem a mesma chave de tag, o valor da tag da configuração de escalabilidade tem precedência.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
ess:CreateScalingGroup |
create |
*ScalingGroup
|
Nenhuma | Nenhuma |
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| ScalingGroupName |
string |
Não |
O nome do grupo de escalabilidade. O nome deve ser exclusivo dentro de uma região. O nome deve ter de 2 a 64 caracteres. Deve começar com uma letra, um dígito ou um caractere chinês e pode conter dígitos, underscores (_), hifens (-) e pontos (.). Se você não especificar este parâmetro, o valor de |
scalinggroup**** |
| LaunchTemplateId |
string |
Não |
O ID do modelo de lançamento que fornece a configuração para o grupo de escalabilidade. |
lt-m5e3ofjr1zn1aw7**** |
| LaunchTemplateVersion |
string |
Não |
A versão do modelo de lançamento. Valores válidos:
|
Default |
| InstanceId |
string |
Não |
O ID de uma instância existente para usar como modelo. O Auto Scaling usa essa instância para criar uma nova configuração de escalabilidade para o grupo de escalabilidade. |
i-28wt4**** |
| RegionId |
string |
Sim |
O ID da região onde o grupo de escalabilidade reside. |
cn-qingdao |
| MinSize |
integer |
Sim |
O número mínimo de instâncias no grupo de escalabilidade. Se o número total de instâncias ficar abaixo deste valor, o Auto Scaling adiciona instâncias para atender a este mínimo. Nota
O valor de |
2 |
| MaxSize |
integer |
Sim |
O número máximo de instâncias no grupo de escalabilidade. Se o número total de instâncias exceder este valor, o Auto Scaling remove instâncias para atender a este máximo. O intervalo de valores de Se a cota de Número máximo de instâncias por grupo de escalabilidade for 2.000, o valor de |
20 |
| DefaultCooldown |
integer |
Não |
O período de resfriamento, em segundos, após a conclusão de uma atividade de escalabilidade. Valores válidos: 0 a 86400. Durante o período de resfriamento, o grupo de escalabilidade não executa outras atividades de escalabilidade acionadas por tarefas de alarme do CloudMonitor. Valor padrão: 300. |
300 |
| LoadBalancerIds |
string |
Não |
Um array JSON de IDs de instâncias Classic Load Balancer (CLB). O número de instâncias CLB que você pode associar a um único grupo de escalabilidade varia com base no seu uso do Auto Scaling. Acesse o Quota Center para visualizar a cota de Número máximo de instâncias de load balancer que podem ser associadas a um único grupo de escalabilidade. |
["lb-bp1u7etiogg38yvwz****", "lb-bp168cqrux9ai9l7f****", "lb-bp1jv3m9zvj22ufxp****"] |
| DBInstanceIds |
string |
Não |
Um array JSON de IDs de instâncias RDS. O número de instâncias RDS que você pode associar a um único grupo de escalabilidade varia com base no seu uso do Auto Scaling. Acesse o Quota Center para visualizar a cota de Número máximo de instâncias RDS que podem ser associadas a um único grupo de escalabilidade. |
["rm-bp142f86de0t7****", "rm-bp18l1z42ar4o****", "rm-bp1lqr97h4aqk****"] |
| RemovalPolicies |
array |
Não |
As políticas de remoção de instâncias. Valores válidos:
O termo Nota
A remoção de instâncias também é afetada pela política multi-AZ do grupo de escalabilidade ( |
|
|
string |
Não |
As políticas de remoção de instâncias. Valores válidos:
O termo Nota
A remoção de instâncias também é afetada pela política multi-AZ do grupo de escalabilidade ( |
OldestScalingConfiguration |
|
| VSwitchId |
string |
Não |
O ID do vSwitch. Se você especificar este parâmetro, o tipo de rede do grupo de escalabilidade é Virtual Private Cloud (VPC). Nota
Se você não especificar o parâmetro |
vsw-bp14zolna43z266bq**** |
| MultiAZPolicy |
string |
Não |
A política de escalabilidade para instâncias ECS em um grupo de escalabilidade multi-zona. Valores válidos:
Valor padrão: |
PRIORITY |
| HealthCheckType |
string |
Não |
O método de verificação de integridade para o grupo de escalabilidade. Valores válidos:
Valor padrão: Nota
Para habilitar tanto verificações de integridade de instância quanto verificações de integridade do load balancer, use o parâmetro |
ECS |
| ScalingPolicy |
string |
Não |
O modo de recuperação do grupo de escalabilidade. Valores válidos:
|
recycle |
| ClientToken |
string |
Não |
Um token gerado pelo cliente para garantir a idempotência da solicitação. O token deve ser exclusivo entre as solicitações. O token pode conter apenas caracteres ASCII e não pode exceder 64 caracteres. Para mais informações, consulte Como garantir a idempotência. |
123e4567-e89b-12d3-a456-42665544**** |
| OnDemandBaseCapacity |
integer |
Não |
O número mínimo de instâncias sob demanda necessárias no grupo de escalabilidade. Valores válidos: 0 a 1.000. Se o número de instâncias sob demanda for menor que este valor, o Auto Scaling cria preferencialmente instâncias sob demanda. |
30 |
| OnDemandPercentageAboveBaseCapacity |
integer |
Não |
A porcentagem de instâncias sob demanda entre as instâncias excedentes após o número mínimo de instâncias sob demanda ( |
20 |
| SpotInstanceRemedy |
boolean |
Não |
Se definido como |
true |
| CompensateWithOnDemand |
boolean |
Não |
Este parâmetro é efetivo apenas quando
Valor padrão: |
true |
| SpotInstancePools |
integer |
Não |
O número de tipos de instância a serem usados. O grupo de escalabilidade cria instâncias spot de maneira equilibrada entre o número especificado de tipos de instância de menor custo. Valores válidos: 1 a 10. |
5 |
| DesiredCapacity |
integer |
Não |
O número desejado de instâncias no grupo de escalabilidade. O Auto Scaling mantém automaticamente este número de instâncias. O valor deve ser menor ou igual a |
5 |
| GroupDeletionProtection |
boolean |
Não |
Especifica se a proteção contra exclusão deve ser habilitada para o grupo de escalabilidade. Valores válidos:
Valor padrão: |
true |
| GroupType |
string |
Não |
O tipo de instâncias gerenciadas pelo grupo de escalabilidade. Valores válidos:
Valor padrão: |
ECS |
| ContainerGroupId |
string |
Não |
O ID da instância ECI, também conhecido como ID do grupo de contêineres. |
eci-uf6fonnghi50u374**** |
| VSwitchIds |
array |
Não |
Os IDs de um ou mais vSwitches. Se você especificar este parâmetro, o parâmetro Se você especificar vários vSwitches:
Nota
Se você não especificar o parâmetro |
|
|
string |
Não |
Os IDs de um ou mais vSwitches. Se você especificar este parâmetro, o parâmetro Se você especificar vários vSwitches:
Nota
Se você não especificar o parâmetro |
vsw-bp14zolna43z266bq**** |
|
| LifecycleHooks |
array<object> |
Não |
A lista de hooks de ciclo de vida. |
|
|
object |
Não |
A lista de hooks de ciclo de vida. |
||
| DefaultResult |
string |
Não |
A ação a ser tomada após o término do estado de espera. Valores válidos:
Se uma atividade de scale-in (SCALE_IN) acionar vários hooks de ciclo de vida, e o Valor padrão: |
CONTINUE |
| LifecycleHookName |
string |
Não |
O nome do hook de ciclo de vida. O nome não pode ser modificado após ser especificado. Se você não especificar um nome, o ID do hook de ciclo de vida será usado. |
lifecyclehook**** |
| LifecycleTransition |
string |
Não |
O tipo de atividade de escalabilidade à qual o hook de ciclo de vida se aplica. Valores válidos:
Nota
Este parâmetro é obrigatório se você especificar um hook de ciclo de vida para o grupo de escalabilidade. Outros parâmetros relacionados são opcionais. |
SCALE_OUT |
| NotificationMetadata |
string |
Não |
Uma string fixa de informações para o estado de espera de uma atividade de escalabilidade. O valor não pode exceder 4.096 caracteres. Quando o Auto Scaling envia uma mensagem ao destinatário de notificação especificado, ele inclui o valor deste parâmetro. Isso permite que você gerencie e categorize notificações. Este parâmetro é válido apenas quando você especifica o parâmetro |
Test |
| NotificationArn |
string |
Não |
O Alibaba Cloud Resource Name (ARN) do destinatário de notificação para o hook de ciclo de vida. Filas e tópicos do Message Service (MNS) são suportados. O formato é
Exemplos:
|
acs:ess:cn-hangzhou:1111111111:queue/queue2 |
| HeartbeatTimeout |
integer |
Não |
O tempo de espera definido no hook de ciclo de vida para uma atividade de escalabilidade. Após o tempo de espera expirar, a próxima ação é executada. Valores válidos: 30 a 21600. Unidade: segundos. Após criar um hook de ciclo de vida, você pode chamar a operação Valor padrão: 600. |
600 |
| VServerGroups |
array<object> |
Não |
Os grupos vServer a serem associados ao grupo de escalabilidade. |
|
|
array<object> |
Não |
Os grupos vServer a serem associados ao grupo de escalabilidade. |
||
| VServerGroupAttributes |
array<object> |
Não |
Os atributos do grupo de servidores backend. |
|
|
object |
Não |
Os atributos do grupo de servidores backend. |
||
| VServerGroupId |
string |
Não |
O ID do grupo vServer. |
rsp-bp1443g77**** |
| Weight |
integer |
Não |
O peso de uma instância como servidor backend após a instância ser adicionada ao grupo vServer. Quanto maior o peso, mais solicitações de acesso são distribuídas para a instância. Se o peso for 0, nenhuma solicitação de acesso é distribuída para a instância. Valores válidos: 0 a 100. Valor padrão: 50. |
100 |
| Port |
integer |
Não |
O número da porta usado por uma instância após ser adicionada ao grupo vServer. Valores válidos: 1 a 65535. |
22 |
| LoadBalancerId |
string |
Não |
O ID da instância Classic Load Balancer (CLB) à qual o grupo vServer pertence. |
lb-bp1u7etiogg38yvwz**** |
| Tags |
array<object> |
Não |
As tags a serem aplicadas ao grupo de escalabilidade. |
|
|
object |
Não |
As tags a serem aplicadas ao grupo de escalabilidade. |
||
| Key |
string |
Não |
A chave da tag. |
Department |
| Value |
string |
Não |
O valor da tag. |
Finance |
| Propagate |
boolean |
Não |
Especifica se a tag pode ser propagada. Valores válidos:
Valor padrão: |
false |
| LaunchTemplateOverrides |
array<object> |
Não |
As informações de tipo de instância para estender o modelo de lançamento. |
|
|
object |
Não |
As informações de tipo de instância para estender o modelo de lançamento. |
||
| InstanceType |
string |
Não |
Para habilitar o grupo de escalabilidade a escalar com base na capacidade do tipo de instância, você deve especificar tanto este parâmetro quanto Este parâmetro especifica o tipo de instância, que substitui o tipo de instância especificado no modelo de lançamento. Nota
Este parâmetro entra em vigor apenas quando o parâmetro Deve ser um tipo de instância ECS válido. |
ecs.c5.xlarge |
| WeightedCapacity |
integer |
Não |
Para habilitar o grupo de escalabilidade a escalar com base na capacidade do tipo de instância, você deve especificar este parâmetro após especificar Este parâmetro especifica o peso do tipo de instância, que representa a capacidade de uma única instância desse tipo no grupo de escalabilidade. Um peso maior significa que menos instâncias desse tipo são necessárias para atender à capacidade desejada. Como os tipos de instância têm métricas de desempenho diferentes, como o número de vCPUs e o tamanho da memória, você pode atribuir pesos diferentes a diferentes tipos de instância com base em seus requisitos. Exemplo:
Para atender à capacidade desejada, o grupo de escalabilidade criará duas instâncias ecs.c5.xlarge. Nota
Durante uma atividade de scale-out, a capacidade do grupo de escalabilidade não pode exceder a soma da capacidade máxima ( Valores válidos: 1 a 500. |
4 |
| SpotPriceLimit |
number |
Não |
O preço máximo por hora para o tipo de instância especificado em Nota
Este parâmetro entra em vigor apenas quando o parâmetro |
0.025 |
| AlbServerGroups |
array<object> |
Não |
Os grupos de servidores do Application Load Balancer (ALB) a serem associados ao grupo de escalabilidade. |
|
|
object |
Não |
Os grupos de servidores do Application Load Balancer (ALB) a serem associados ao grupo de escalabilidade. |
||
| AlbServerGroupId |
string |
Não |
O ID do grupo de servidores ALB. Um grupo de escalabilidade pode ser associado a um número limitado de grupos de servidores ALB. Para visualizar ou solicitar um aumento de cota, acesse o Quota Center. |
sgp-ddwb0y0g6y9bjm**** |
| Weight |
integer |
Não |
O peso de uma instância como servidor backend após a instância ser adicionada ao grupo de servidores ALB. Quanto maior o peso, mais solicitações de acesso são distribuídas para a instância. Se o peso for 0, nenhuma solicitação de acesso é distribuída para a instância. Valores válidos: 0 a 100. |
100 |
| Port |
integer |
Não |
O número da porta usado por uma instância após ser adicionada ao grupo de servidores ALB. Valores válidos: 1 a 65535. |
22 |
| ServerGroups |
array<object> |
Não |
Os grupos de servidores do load balancer. Nota
Você não pode especificar o mesmo grupo de servidores em |
|
|
object |
Não |
Os grupos de servidores do load balancer. |
||
| ServerGroupId |
string |
Não |
O ID do grupo de servidores. |
sgp-5yc3bd9lfyh***** |
| Type |
string |
Não |
O tipo do grupo de servidores. Valores válidos:
|
ALB |
| Weight |
integer |
Não |
O. |
100 |
| Port |
integer |
Não |
O número da porta usado por uma instância após ser adicionada ao grupo de servidores. Valores válidos: 1 a 65535. |
22 |
| AzBalance |
boolean |
Não |
Especifica se a capacidade do grupo de escalabilidade deve ser distribuída uniformemente entre várias zonas de disponibilidade. Este parâmetro é válido apenas quando
Nota
Se Valor padrão: |
false |
| AllocationStrategy |
string |
Não |
A política de alocação de capacidade determina como o grupo de escalabilidade seleciona tipos de instância disponíveis para atender aos requisitos de capacidade. A política se aplica tanto à capacidade sob demanda quanto à capacidade preemptível (efetiva apenas quando o parâmetro
Valor padrão: priority. |
priority |
| SpotAllocationStrategy |
string |
Não |
A estratégia de distribuição para capacidade spot. Você pode usar este parâmetro para especificar uma estratégia separada para capacidade spot (efetiva apenas quando o parâmetro
Valor padrão: priority. |
lowestPrice |
| SyncAlarmRuleToCms |
boolean |
Não |
Nota
Este parâmetro ainda não está disponível. |
false |
| MaxInstanceLifetime |
integer |
Não |
O tempo de vida máximo de uma instância no grupo de escalabilidade. Unidade: segundos. Intervalo de valores: [86400, Integer.maxValue]. Valor padrão: null. |
null |
| CustomPolicyARN |
string |
Não |
O ARN da função de política de scale-in personalizada. Este parâmetro é válido apenas quando a primeira política de remoção em |
acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name |
| ResourceGroupId |
string |
Não |
O ID do grupo de recursos ao qual o novo grupo de escalabilidade pertence. Nota
Se você não especificar este parâmetro, o novo grupo de escalabilidade será adicionado ao grupo de recursos padrão. |
rg-123****** |
| LoadBalancerConfigs |
array<object> |
Não |
As configurações do load balancer. |
|
|
object |
Não |
As configurações do load balancer. |
||
| LoadBalancerId |
string |
Não |
O ID da instância CLB. |
lb-2zen1olhfg9yw3f4q**** |
| Weight |
integer |
Não |
O peso de uma instância como servidor backend após a instância ser adicionada ao grupo de servidores SLB. Quanto maior o peso, mais solicitações de acesso são distribuídas para a instância. Se o peso for 0, nenhuma solicitação de acesso é distribuída para a instância. Valores válidos: 0 a 100. |
10 |
| HealthCheckTypes |
array |
Não |
Os métodos de verificação de integridade para o grupo de escalabilidade. Nota
Você pode usar este parâmetro para definir vários valores e habilitar várias opções de verificação de integridade. Se você definir o parâmetro |
|
|
string |
Não |
Os métodos de verificação de integridade para o grupo de escalabilidade. Valores válidos:
Valor padrão: |
ECS |
|
| DBInstances |
array<object> |
Não |
Os bancos de dados associados ao grupo de escalabilidade. |
|
|
object |
Não |
As configurações de banco de dados associadas ao grupo de escalabilidade. |
||
| DBInstanceId |
string |
Não |
O ID da instância de banco de dados. |
rm-m5eqju85s45mu0*** |
| Type |
string |
Não |
O tipo do banco de dados. Valores válidos:
Valor padrão: RDS. |
RDS |
| AttachMode |
string |
Não |
O método usado para associar o grupo de escalabilidade ao banco de dados. Valores válidos:
|
SecurityIp |
| StopInstanceTimeout |
integer |
Não |
O período de tempo limite para o sistema aguardar a parada de uma instância ECS durante um evento de scale-in. Unidade: segundos. Valores válidos: 30 a 240. Nota
|
60 |
| CapacityOptions |
object |
Não |
As opções de capacidade. |
|
| OnDemandBaseCapacity |
integer |
Não |
O número mínimo de instâncias sob demanda necessárias no grupo de escalabilidade. Quando o número de instâncias sob demanda no grupo de escalabilidade for menor que este valor, o sistema cria preferencialmente instâncias sob demanda. Valores válidos: 0 a 1 |
30 |
| OnDemandPercentageAboveBaseCapacity |
integer |
Não |
The percentage of on-demand instances among the excess instances after the When |
20 |
| CompensateWithOnDemand |
boolean |
Não |
When
Default value: |
true |
| SpotAutoReplaceOnDemand |
boolean |
Não |
After you enable
Default value: |
false |
| PriceComparisonMode |
string |
Não |
The price comparison mode for the cost optimization strategy of the scaling group. Valid values:
Default value: |
PricePerUnit |
| BalanceMode |
string |
Não |
The zone balancing mode is effective only when enabled. Valid values:
Default value: BalancedBestEffort. |
BalancedBestEffort |
| AutoRebalance |
boolean |
Não |
Specifies whether to enable automatic balancing for the scaling group. This setting takes effect only when BalancedOnly is enabled for a scaling group that is balanced across availability zones. Value range:
Default value: false. |
false |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
|||
| RequestId |
string |
The ID of the request. |
473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** |
| ScalingGroupId |
string |
The ID of the scaling group. |
asg-bp14wlu85wrpchm0**** |
Exemplos
Resposta de sucesso
JSON formato
{
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
"ScalingGroupId": "asg-bp14wlu85wrpchm0****"
}
Códigos de erro
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
|---|---|---|---|
| 404 | ResourceNotAvailable.VPCNetwork | The specified zone does not support vpc network or sold out. |
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.