Todos os produtos
Search
Central de documentação

Auto Scaling:CreateScalingGroup

Última atualização: Jul 03, 2026

Cria um grupo de dimensionamento para ajustar automaticamente o número de instâncias ECS com base em regras e políticas de dimensionamento.

Crie um grupo de dimensionamento que ajusta automaticamente o número de instâncias conforme suas regras e políticas de dimensionamento.

Observações de uso

Um grupo de dimensionamento é um conjunto de instâncias ECS que atendem à mesma aplicação.

A quantidade de grupos de dimensionamento que você pode criar em uma região depende do seu uso do Auto Scaling. Para visualizar sua cota referente ao número total de grupos de dimensionamento, acesse o Quota Center.

O grupo de dimensionamento fica inativo após a criação. Chame a operação EnableScalingGroup para ativar as atividades de dimensionamento e executar as regras correspondentes.

O grupo de dimensionamento, suas instâncias CLB associadas e suas instâncias RDS associadas devem estar na mesma região. Consulte Regiões e zonas.

Ao associar uma instância CLB, o Auto Scaling adiciona instâncias ECS aos grupos de servidores de backend do CLB. Tipos de grupos suportados:

Nota

Se você especificar simultaneamente o grupo de servidores padrão e vários grupos vServer, as instâncias ECS serão adicionadas a todos os grupos de servidores especificados.

  • Grupo de servidores padrão: recebe requisições de frontend quando nenhum grupo vServer ou grupo de servidores primário/secundário estiver configurado para o listener.

  • Grupo vServer: encaminha diferentes requisições para distintos servidores de backend ou roteia requisições por nome de domínio ou URL.

O peso padrão do servidor de backend é 50. A instância CLB deve atender às seguintes condições:

  • A instância CLB deve estar ativa. Chame DescribeLoadBalancers para verificar.

  • As verificações de integridade devem estar ativadas em todas as portas de listener configuradas; caso contrário, não será possível criar o grupo de dimensionamento.

Ao associar um grupo de servidores ALB, NLB ou GWLB, o Auto Scaling adiciona instâncias ECS como servidores de backend. É possível especificar vários grupos de servidores, desde que estejam na mesma VPC do grupo de dimensionamento. Consulte AttachAlbServerGroups e AttachServerGroups.

Ao associar uma instância RDS, o Auto Scaling adiciona os IPs privados das instâncias ECS à lista de permissões do RDS. Requisitos:

Se você definir o MultiAZPolicy do grupo de dimensionamento como COST_OPTIMIZED:

  • Quando OnDemandBaseCapacity, OnDemandPercentageAboveBaseCapacity e SpotInstancePools forem especificados, eles definem o método de alocação de instâncias para otimização de custos. O Auto Scaling prioriza esse método durante o dimensionamento.

  • Caso contrário, o Auto Scaling cria instâncias com o menor custo possível.

Se você configurar tags propagáveis para o grupo de dimensionamento definindo Tag.N.Propagate como true:

  • As tags do grupo de dimensionamento são propagadas apenas para instâncias recém-criadas, e não para instâncias que já estão em execução no grupo.

  • Se você especificar tags de instância na configuração de dimensionamento e optar por propagar as tags do grupo para as instâncias, todas as tags serão aplicadas.

  • Caso uma tag na configuração de dimensionamento tenha a mesma chave que uma tag propagável do grupo, o valor da tag da configuração de dimensionamento terá precedência.

Depuração

Chame esta operação no OpenAPI Explorer para ignorar o cálculo de assinatura e gerar automaticamente exemplos de código SDK.

Parâmetros da requisição

Parâmetro

Tipo

Obrigatório

Exemplo

Descrição

Action

String

Sim

CreateScalingGroup

A ação a ser executada. Defina o valor como CreateScalingGroup.

ScalingGroupName

String

Não

scalinggroup****

O nome do grupo de dimensionamento. O nome deve ser único dentro de uma região.

O nome deve ter entre 2 e 64 caracteres, começando com uma letra, dígito ou caractere chinês. Pode conter dígitos, sublinhados (_), hífens (-) e pontos (.).

Padrão: o valor de ScalingGroupId.

LaunchTemplateId

String

Não

lt-m5e3ofjr1zn1aw7****

O ID do modelo de inicialização usado pelo grupo de dimensionamento.

LaunchTemplateVersion

String

Não

Default

A versão do modelo de inicialização. Valores válidos:

  • Um número fixo de versão do modelo.

  • Default: A versão padrão do modelo é sempre utilizada.

  • Latest: A versão mais recente do modelo é sempre utilizada.

InstanceId

String

Não

i-28wt4****

O ID da instância ECS a partir da qual o Auto Scaling deriva uma configuração de dimensionamento.

RegionId

String

Sim

cn-qingdao

O ID da região onde o grupo de dimensionamento reside. Regiões e zonas.

MinSize

Integer

Sim

2

O número mínimo de instâncias no grupo de dimensionamento. O Auto Scaling cria instâncias quando a contagem cai abaixo de MinSize.

Nota

MinSize deve ser menor ou igual ao valor de MaxSize.

MaxSize

Integer

Sim

20

O número máximo de instâncias no grupo de dimensionamento. O Auto Scaling remove instâncias quando a contagem excede MaxSize.

O intervalo de valores de MaxSize depende do seu uso do Auto Scaling. Para visualizar sua cota referente ao número máximo de instâncias em um único grupo de dimensionamento, acesse o Quota Center.

Se sua cota para o número máximo de instâncias em um único grupo de dimensionamento for 2.000, o intervalo de valores para MaxSize será de 0 a 2.000.

DefaultCooldown

Integer

Não

300

O período de resfriamento após a conclusão de uma atividade de dimensionamento. Valores válidos: 0 a 86400. Unidade: segundos.

Durante o resfriamento, nenhuma outra atividade de dimensionamento é executada. Este parâmetro aplica-se apenas a atividades de dimensionamento acionadas por eventos.

Valor padrão: 300.

LoadBalancerIds

String

Não

["lb-bp1u7etiogg38yvwz**", "lb-bp168cqrux9ai9l7f", "lb-bp1jv3m9zvj22ufxp**"]

Os IDs das instâncias CLB em um array JSON, separados por vírgulas (,).

O número total de instâncias CLB que podem ser associadas a um único grupo de dimensionamento depende do seu uso do Auto Scaling. Para visualizar sua cota referente ao número total de instâncias SLB que podem ser associadas a um único grupo de dimensionamento, acesse o Quota Center.

DBInstanceIds

String

Não

["rm-bp142f86de0t7**", "rm-bp18l1z42ar4o", "rm-bp1lqr97h4aqk**"]

Os IDs das instâncias RDS em um array JSON, separados por vírgulas (,).

O número total de instâncias RDS que podem ser associadas a um único grupo de dimensionamento depende do seu uso do Auto Scaling. Para visualizar sua cota referente ao número total de instâncias RDS que podem ser associadas a um único grupo de dimensionamento, acesse o Quota Center.

RemovalPolicy.1

String

Não

OldestScalingConfiguration

A primeira política para remoção de instâncias do grupo de dimensionamento. Este valor não pode ser igual aos valores de RemovalPolicy.2 e RemovalPolicy.3. Valores válidos:

  • OldestInstance: Remove a instância ECS adicionada ao grupo de dimensionamento há mais tempo.

  • NewestInstance: Remove a instância ECS adicionada ao grupo de dimensionamento mais recentemente.

  • OldestScalingConfiguration: Remove a instância ECS criada a partir da configuração de dimensionamento mais antiga.

  • CustomPolicy: Remove instâncias ECS com base em uma política personalizada de redução de escala (Function).

OldestScalingConfiguration refere-se à source de configuração da instância, incluindo configurações de dimensionamento e modelos de inicialização. CustomPolicy só pode ser a primeira política de remoção e requer o parâmetro CustomPolicyARN.

Nota

A remoção de instâncias também é afetada pelo MultiAZPolicy do grupo de dimensionamento. Configurar uma combinação de políticas de remoção de instâncias.

RemovalPolicy.2

String

Não

OldestInstance

A segunda política para remoção de instâncias do grupo de dimensionamento. Este valor não pode ser igual aos valores de RemovalPolicy.1 e RemovalPolicy.3. Valores válidos:

  • OldestInstance: Remove a instância ECS adicionada ao grupo de dimensionamento há mais tempo.

  • NewestInstance: Remove a instância ECS adicionada ao grupo de dimensionamento mais recentemente.

  • OldestScalingConfiguration: Remove a instância ECS criada a partir da configuração de dimensionamento mais antiga.

Nota

A remoção de instâncias também é afetada pelo MultiAZPolicy do grupo de dimensionamento. Configurar uma combinação de políticas de remoção de instâncias.

RemovalPolicy.3

String

Não

NewestInstance

A terceira política para remoção de instâncias do grupo de dimensionamento. Este valor não pode ser igual aos valores de RemovalPolicy.1 e RemovalPolicy.2. Valores válidos:

  • OldestInstance: Remove a instância ECS adicionada ao grupo de dimensionamento há mais tempo.

  • NewestInstance: Remove a instância ECS adicionada ao grupo de dimensionamento mais recentemente.

  • OldestScalingConfiguration: Remove a instância ECS criada a partir da configuração de dimensionamento mais antiga.

Nota

A remoção de instâncias também é afetada pelo MultiAZPolicy do grupo de dimensionamento. Configurar uma combinação de políticas de remoção de instâncias.

VSwitchId

String

Não

vsw-bp14zolna43z266bq****

O ID do vSwitch. Se você especificar este parâmetro, o tipo de rede do grupo de dimensionamento será VPC.

Nota

Se você não especificar o parâmetro VSwitchId ou VSwitchIds.N, o tipo de rede do grupo de dimensionamento será rede clássica por padrão.

MultiAZPolicy

String

Não

PRIORITY

A política para dimensionamento de instâncias ECS em um grupo de dimensionamento multizona. Valores válidos:

  • PRIORITY: Os vSwitches especificados por VSwitchIds.N têm prioridade em ordem. O Auto Scaling cria instâncias primeiro na zona de maior prioridade, recorrendo a zonas de menor prioridade em caso de falha.

  • COST_OPTIMIZED: A expansão cria instâncias em ordem crescente de preço unitário de vCPU; a redução remove em ordem decrescente. Instâncias preemptíveis são preferidas quando vários tipos de instância usam faturamento preemptível. Use CompensateWithOnDemand para recorrer ao pagamento conforme o uso quando instâncias preemptíveis não estiverem disponíveis.

    Nota

    COST_OPTIMIZED entra em vigor apenas quando vários tipos de instância são especificados na configuração de dimensionamento ou quando instâncias spot são utilizadas.

  • BALANCE: Distribui instâncias uniformemente pelas zonas do grupo de dimensionamento. Chame RebalanceInstance para reequilibrar se as zonas ficarem desiguais.

  • COMPOSABLE: Combina as políticas anteriores com parâmetros adicionais para controle granular de capacidade.

Valor padrão: PRIORITY.

HealthCheckType

String

Não

ECS

O método de verificação de integridade do grupo de dimensionamento. Valores válidos:

  • NONE: Nenhuma verificação de integridade é realizada.

  • ECS: Verificações de integridade são realizadas nas instâncias do grupo de dimensionamento. Este valor ativa verificações de integridade de instância tanto para grupos ECS quanto ECI.

  • LOAD_BALANCER: O status de integridade de uma instância é determinado pelos resultados da verificação de integridade do balanceador de carga associado. Esta opção não suporta CLB.

Valor padrão: ECS.

Nota

Se você quiser ativar tanto as verificações de integridade de instância quanto as do balanceador de carga, use o parâmetro HealthCheckTypes.

ScalingPolicy

String

Não

recycle

O modo de recuperação para o grupo de dimensionamento. Valores válidos:

  • recycle: Modo de reciclagem.

  • release: Modo de liberação.

  • forcerelease: Modo de Liberação Forçada.

    Nota

    Se você definir este parâmetro como forcerelease, o sistema libera forçadamente as instâncias Running durante um evento de redução de escala. Uma liberação forçada é semelhante a uma operação de desligamento. Esta ação apaga os dados na memória e no armazenamento temporário da instância. Os dados não podem ser recuperados. Use esta opção com cautela.

  • forcerecycle: Modo de Reciclagem Forçada.

    Nota

    Se você definir este parâmetro como forcerecycle, o sistema interrompe forçadamente as instâncias Running durante um evento de redução de escala. Uma interrupção forçada é semelhante a uma operação de desligamento. Esta ação apaga os dados na memória e no armazenamento temporário da instância. Os dados não podem ser recuperados. Use esta opção com cautela.

ScalingPolicy especifica o modo de recuperação no nível do grupo, enquanto o parâmetro RemovePolicy de RemoveInstances determina a ação para cada instância removida.

ClientToken

String

Não

123e4567-e89b-12d3-a456-42665544****

Um token de cliente que garante a idempotência da requisição.

Deve ser único entre requisições. Apenas caracteres ASCII, até 64 caracteres. Como garantir a idempotência.

OnDemandBaseCapacity

Integer

Não

30

O número mínimo de instâncias de pagamento conforme o uso exigido no grupo de dimensionamento. Valores válidos: 0 a 1000. O Auto Scaling prioriza a criação de instâncias de pagamento conforme o uso até que esse limiar seja atingido.

Quando o parâmetro MultiAZPolicy está definido como COMPOSABLE, o valor padrão é 0.

OnDemandPercentageAboveBaseCapacity

Integer

Não

20

A porcentagem de instâncias de pagamento conforme o uso entre as instâncias excedentes quando o número mínimo de instâncias de pagamento conforme o uso (OnDemandBaseCapacity) é atendido. Valores válidos: 0 a 100.

Quando o parâmetro MultiAZPolicy está definido como COMPOSABLE, o valor padrão é 100.

SpotInstanceRemedy

Boolean

Não

true

Especifica se devem ser repostas instâncias spot. Se verdadeiro, o Auto Scaling cria uma instância de substituição quando uma instância spot está prestes a ser recuperada.

CompensateWithOnDemand

Boolean

Não

true

Especifica se devem ser criadas instâncias de pagamento conforme o uso quando instâncias spot não estiverem disponíveis. Entra em vigor apenas quando MultiAZPolicy está definido como COST_OPTIMIZED. Valores válidos:

  • true: Sim.

  • false: Não.

Valor padrão: true.

SpotInstancePools

Integer

Não

5

O número de tipos de instância de menor custo a partir dos quais instâncias spot são criadas de maneira equilibrada. Valores válidos: 1 a 10.

Quando o parâmetro MultiAZPolicy está definido como COMPOSABLE, o valor padrão é 2.

DesiredCapacity

Integer

Não

5

O número esperado de instâncias ECS no grupo de dimensionamento. O Auto Scaling mantém essa contagem automaticamente. Intervalo de valores: MinSize a MaxSize.

GroupDeletionProtection

Boolean

Não

true

Especifica se deve ser ativada a proteção contra exclusão para o grupo de dimensionamento. Valores válidos:

  • true: Ativa a proteção contra exclusão para o grupo de dimensionamento. O grupo não poderá ser excluído.

  • false: Desativa a proteção contra exclusão para o grupo de dimensionamento.

Valor padrão: false.

GroupType

String

Não

ECS

O tipo de instâncias gerenciadas pelo grupo de dimensionamento. Valores válidos:

  • ECS: O grupo de dimensionamento gerencia instâncias ECS.

  • ECI: O grupo de dimensionamento gerencia instâncias ECI.

Valor padrão: ECS.

ContainerGroupId

String

Não

eci-uf6fonnghi50u374****

O ID da instância ECI, que corresponde ao ID do grupo de contêineres.

VSwitchIds.N

String

Não

vsw-bp14zolna43z266bq****

Os IDs de um ou mais vSwitches. Se especificado, VSwitchId é ignorado e o tipo de rede é VPC.

Se você especificar vários vSwitches:

  • Eles devem pertencer à mesma VPC.

  • Podem pertencer a zonas diferentes.

  • A prioridade do vSwitch segue a ordem crescente de N, onde 1 é a mais alta. Se a criação de instância falhar em uma zona de maior prioridade, o sistema recorre à próxima zona.

Nota

Se você não especificar o parâmetro VSwitchId ou VSwitchIds.N, o tipo de rede do grupo de dimensionamento será rede clássica por padrão.

LifecycleHook.N.DefaultResult

String

Não

CONTINUE

A ação a ser tomada após o término do estado de espera. Valores válidos:

  • CONTINUE: Continua a responder à atividade de expansão ou redução de escala.

  • ABANDON: Libera diretamente as instâncias ECS criadas durante a atividade de expansão ou remove as instâncias ECS do grupo de dimensionamento durante a atividade de redução.

Se uma atividade de redução (SCALE_IN) acionar vários ganchos de ciclo de vida e um deles tiver DefaultResult definido como ABANDON, os outros estados de espera terminarão quando o estado de espera desse gancho específico terminar. Em todos os outros casos, a próxima ação baseia-se na ação do último estado de espera a terminar.

Valor padrão: CONTINUE.

LifecycleHook.N.LifecycleHookName

String

Não

lifecyclehook****

O nome do gancho de ciclo de vida. O nome não pode ser modificado após a especificação. Se você não especificar este parâmetro, o ID do gancho de ciclo de vida será usado por padrão.

LifecycleHook.N.LifecycleTransition

String

Não

SCALE_OUT

O tipo de atividade de dimensionamento à qual o gancho de ciclo de vida se aplica. Valores válidos:

  • SCALE_OUT: uma atividade de expansão.

  • SCALE_IN: uma atividade de redução.

Nota

Se você especificar um gancho de ciclo de vida para o grupo de dimensionamento, este parâmetro é obrigatório. Outros parâmetros relacionados são opcionais.

LifecycleHook.N.NotificationMetadata

String

Não

Test

Uma string fixa incluída nas notificações do gancho de ciclo de vida. Máximo: 128 caracteres. Entra em vigor apenas quando NotificationArn é especificado.

LifecycleHook.N.NotificationArn

String

Não

acs:ess:cn-hangzhou:1111111111:queue/queue2

O ARN do destinatário da notificação (Simple Message Queue ou tópico). Formato: acs:ess:{region}:{account-id}:{resource-relative-id}.

  • region: a região onde o grupo de dimensionamento está localizado.

  • account-id: o ID da conta Alibaba Cloud.

Exemplos:

  • Fila MNS: acs:ess:{region}:{account-id}:queue/{queuename}.

  • Tópico MNS: acs:ess:{region}:{account-id}:topic/{topicname}.

LifecycleHook.N.HeartbeatTimeout

Integer

Não

600

O tempo de espera do gancho de ciclo de vida. Quando expira, a ação configurada é executada. Valores válidos: 30 a 21600. Unidade: segundos.

Chame RecordLifecycleActionHeartbeat para estender o tempo de espera ou CompleteLifecycleAction para encerrar o estado de espera antecipadamente.

Valor padrão: 600.

VServerGroup.N.VServerGroupAttribute.N.VServerGroupId

String

Não

rsp-bp1443g77****

O ID do grupo vServer.

AttachVServerGroups.

VServerGroup.N.VServerGroupAttribute.N.Weight

Integer

Não

100

O peso da instância como servidor de backend no grupo vServer. Maior peso significa mais requisições. Um peso de 0 interrompe todas as requisições. Valores válidos: 0 a 100. Valor padrão: 50.

AttachVServerGroups.

VServerGroup.N.VServerGroupAttribute.N.Port

Integer

Não

22

A porta usada pela instância no grupo vServer. Valores válidos: 1 a 65535.

AttachVServerGroups.

VServerGroup.N.LoadBalancerId

String

Não

lb-bp1u7etiogg38yvwz****

O ID da instância CLB à qual o grupo vServer pertence.

AttachVServerGroups.

Tag.N.Key

String

Não

Department

A chave da tag para o grupo de dimensionamento.

Tag.N.Value

String

Não

Finance

O valor da tag para o grupo de dimensionamento.

Tag.N.Propagate

Boolean

Não

false

Indica se a tag pode ser propagada. Valores válidos:

  • true: As tags do grupo de dimensionamento são propagadas apenas para instâncias recém-criadas, e não para instâncias que já estão em execução no grupo.

  • false: As tags do grupo de dimensionamento não são propagadas para as instâncias.

Valor padrão: false.

LaunchTemplateOverride.N.InstanceType

String

Não

ecs.c5.xlarge

Para dimensionar instâncias com base na capacidade do tipo de instância, especifique tanto este parâmetro quanto LaunchTemplateOverride.N.WeightedCapacity.

Substitui o tipo de instância no modelo de inicialização. Valores válidos de N: 1 a 20.

Nota

Este parâmetro entra em vigor apenas quando o parâmetro LaunchTemplateId é especificado.

Tipos de instância válidos: Famílias de instâncias.

LaunchTemplateOverride.N.WeightedCapacity

Integer

Não

4

Especifique este parâmetro juntamente com LaunchTemplateOverride.N.InstanceType (os valores de N devem corresponder) para dimensionar com base na capacidade do tipo de instância.

O peso representa a capacidade de uma instância deste tipo. Um peso maior significa que menos instâncias são necessárias para atender à capacidade esperada.

Configure pesos com base em métricas de desempenho da instância, como vCPUs e memória.

Por exemplo:

  • Capacidade atual: 0.

  • Capacidade esperada: 6.

  • Capacidade ecs.c5.xlarge: 4.

Para atender à capacidade esperada, o grupo de dimensionamento expandirá duas instâncias ecs.c5.xlarge.

Nota

Durante uma expansão, a capacidade do grupo de dimensionamento não pode exceder a soma da capacidade máxima (MaxSize) e o peso máximo de um tipo de instância.

Valores válidos para WeightedCapacity: 1 a 500.

LaunchTemplateOverride.N.SpotPriceLimit

Float

Não

0.025

O preço máximo de lance para o tipo de instância especificado por LaunchTemplateOverride.N.InstanceType. Valores válidos de N: 1 a 20.

Nota

Este parâmetro entra em vigor apenas quando o parâmetro LaunchTemplateId é especificado.

AlbServerGroup.N.AlbServerGroupId

String

Não

sgp-ddwb0y0g6y9bjm****

O ID do grupo de servidores ALB.

N é o número do grupo de servidores ALB. A cota de associação é limitada. Visualize ou aumente-a no Quota Center.

AlbServerGroup.N.Weight

Integer

Não

100

O peso da instância como servidor de backend no grupo de servidores ALB. Maior peso significa mais requisições. Um peso de 0 interrompe todas as requisições. Valores válidos: 0 a 100.

N é o número do grupo de servidores ALB.

AlbServerGroup.N.Port

Integer

Não

22

A porta usada pela instância no grupo de servidores ALB. Valores válidos: 1 a 65535.

N é o número do grupo de servidores ALB.

Nota

Se o valor de N for o mesmo, mas o valor de Port for diferente, o sistema associa o grupo de servidores ALB ao grupo de dimensionamento em várias portas diferentes por padrão.

ServerGroup.N.ServerGroupId

String

Não

sgp-5yc3bd9lfyh*

O ID do grupo de servidores.

ServerGroup.N.Type

String

Não

ALB

O tipo do grupo de servidores. Valores válidos:

  • ALB: Application Load Balancer.

  • NLB: Network Load Balancer.

  • GWLB: Gateway Load Balancer.

ServerGroup.N.Weight

Integer

Não

100

O peso da instância como servidor de backend no grupo de servidores. Valores válidos: 0 a 100.

Maior peso significa mais requisições. Um peso de 0 interrompe todas as requisições.

Nota

Este parâmetro é obrigatório para grupos de servidores ALB e NLB, mas não pode ser definido para grupos de servidores GWLB.

ServerGroup.N.Port

Integer

Não

22

A porta usada pela instância no grupo de servidores. Valores válidos: 1 a 65535.

Nota

Este parâmetro é obrigatório para grupos de servidores ALB e NLB. Não pode ser definido para grupos de servidores GWLB. Para grupos de servidores GWLB, a porta padrão é 6081.

AzBalance

Boolean

Não

false

Especifica se a capacidade do grupo de dimensionamento deve ser distribuída uniformemente por várias zonas. Este parâmetro entra em vigor apenas quando MultiAZPolicy está definido como COMPOSABLE. Valores válidos:

  • true: A capacidade do grupo de dimensionamento é distribuída uniformemente por várias zonas.

  • false: A capacidade do grupo de dimensionamento não é distribuída uniformemente por várias zonas.

Valor padrão: false.

AllocationStrategy

String

Não

priority

A política de alocação de capacidade que determina como o grupo de dimensionamento seleciona tipos de instância. Aplica-se tanto a instâncias de pagamento conforme o uso quanto a instâncias spot. Entra em vigor apenas quando MultiAZPolicy está definido como COMPOSABLE. Valores válidos:

  • priority: As instâncias são criadas na ordem dos tipos de instância configurados.

  • lowestPrice: As instâncias são criadas com base no preço unitário de vCPU, do menor para o maior.

Valor padrão: priority.

SpotAllocationStrategy

String

Não

lowestPrice

A política de alocação para instâncias spot. Entra em vigor apenas quando MultiAZPolicy está definido como COMPOSABLE. Valores válidos:

  • priority: As instâncias são criadas na ordem dos tipos de instância configurados.

  • lowestPrice: As instâncias são criadas com base no preço unitário de vCPU, do menor para o maior.

Valor padrão: priority.

MaxInstanceLifetime

Integer

Não

null

O tempo de vida máximo de uma instância no grupo de dimensionamento. Unidade: segundos.

Valores válidos: [86400, Integer.maxValue].

Valor padrão: null.

Nota

Este parâmetro não é suportado para grupos de dimensionamento do tipo ECI ou grupos de dimensionamento com o modo econômico ativado.

CustomPolicyARN

String

Não

acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name

O ARN da política personalizada de redução de escala (Function). Entra em vigor apenas quando a primeira política de remoção está definida como CustomPolicy.

ResourceGroupId

String

Não

rg-123****

O ID do grupo de recursos para o grupo de dimensionamento.

Nota

Se não especificado, o grupo de dimensionamento é colocado no grupo de recursos padrão.

LoadBalancerConfig.N.LoadBalancerId

String

Não

147b46d767c-cn-qingdao-cm5****

O ID da instância CLB.

LoadBalancerConfig.N.Weight

Integer

Não

10

O peso da instância como servidor de backend no grupo de servidores CLB. Maior peso significa mais requisições. Um peso de 0 interrompe todas as requisições.

Valores válidos: 0 a 100.

HealthCheckTypes.N

String

Não

ECS

A lista de métodos de verificação de integridade para o grupo de dimensionamento. Valores válidos:

  • NONE: Nenhuma verificação de integridade é realizada.

  • ECS: Realiza verificações de integridade de instância. Aplica-se tanto a grupos ECS quanto ECI.

  • LOAD_BALANCER: Determina a integridade da instância a partir das verificações de integridade do balanceador de carga. Não suporta CLB.

Valor padrão: ECS.

DBInstance.N.DBInstanceId

String

Não

rm-m5eqju85s45mu0***

O ID da instância de banco de dados.

DBInstance.N.Type

String

Não

RDS

O tipo do banco de dados. Valores válidos:

  • RDS.

  • Redis.

  • MongoDB.

Valor padrão: RDS.

DBInstance.N.AttachMode

String

Não

SecurityIp

O método para associar o banco de dados ao grupo de dimensionamento. Valores válidos:

  • SecurityIp: Adiciona endereços IP privados de instâncias expandidas à lista de permissões de IP do banco de dados. Suportado apenas para RDS.

  • SecurityGroup: Adiciona o grupo de segurança da configuração de dimensionamento à lista de permissões do grupo de segurança do banco de dados, permitindo o acesso da instância.

StopInstanceTimeout

Integer

Não

60

O tempo limite de espera para que uma instância pare durante a redução de escala. Unidade: segundos.

Valores válidos: 30 a 240.

Nota
  • Este parâmetro entra em vigor apenas durante processos de redução de escala quando ScalingPolicy está definido como release.

  • Se definido, o sistema aguarda até StopInstanceTimeout segundos para que a instância pare e então continua a redução de escala independentemente disso.

  • Se não definido, o sistema aguarda indefinidamente. A redução de escala continua apenas após a instância parar. Se a parada falhar, a redução de escala é revertida.

CapacityOptions.OnDemandBaseCapacity

Integer

Não

30

O número mínimo de instâncias de pagamento conforme o uso exigido. O sistema prioriza a criação de instâncias de pagamento conforme o uso até que esse limiar seja atingido. Valores válidos: 0 a 1000.

Quando o parâmetro MultiAZPolicy está definido como COMPOSABLE, o valor padrão é 0.

CapacityOptions.OnDemandPercentageAboveBaseCapacity

Integer

Não

20

A porcentagem de instâncias de pagamento conforme o uso entre as instâncias excedentes além de OnDemandBaseCapacity. Valores válidos: 0 a 100.

Quando o parâmetro MultiAZPolicy está definido como COMPOSABLE, o valor padrão é 100.

CapacityOptions.CompensateWithOnDemand

Boolean

Não

true

Especifica se devem ser criadas automaticamente instâncias de pagamento conforme o uso quando instâncias spot não estiverem disponíveis devido a preço ou estoque insuficiente. Entra em vigor apenas quando MultiAZPolicy está definido como COST_OPTIMIZED. Valores válidos:

  • true: Sim.

  • false: Não.

Valor padrão: true.

CapacityOptions.SpotAutoReplaceOnDemand

Boolean

Não

false

Quando CompensateWithOnDemand está ativado, a proporção de pagamento conforme o uso pode exceder OnDemandPercentageAboveBaseCapacity. Este parâmetro controla se as instâncias de pagamento conforme o uso excedentes devem ser substituídas por instâncias spot. Valores válidos:

  • true: Sim.

  • false: Não.

Valor padrão: false.

CapacityOptions.PriceComparisonMode

String

Não

PricePerUnit

O modo de comparação de preços para a política de otimização de custos do grupo de dimensionamento. Valores válidos:

  • PricePerUnit: Compara preços com base no preço por unidade de capacidade.

    A capacidade de uma instância em um grupo de dimensionamento é igual ao peso definido para o tipo de instância. O padrão é 1, o que significa que uma instância ECS tem capacidade de 1.

  • PricePerVCpu: Compara preços com base no preço por vCPU.

Valor padrão: PricePerUnit.

BalanceMode

String

Não

BalancedBestEffort

O modo de balanceamento de zonas. Este parâmetro entra em vigor apenas quando o balanceamento de zonas está ativado. Valores válidos:

  • BalancedBestEffort:

    Se houver falha na criação de recursos em uma zona, o sistema recorre a outras zonas para garantir que os recursos sejam entregues com base no melhor esforço.

  • BalancedOnly:

    Se houver falha na criação de recursos em uma zona, o sistema não recorre a outras zonas. A atividade de expansão é parcialmente bem-sucedida. Isso evita desequilíbrio excessivo de recursos entre diferentes zonas.

Valor padrão: BalancedBestEffort.

AutoRebalance

Boolean

Não

false

Especifica se deve ser ativado o rebalanceamento automático para o grupo de dimensionamento. Este parâmetro entra em vigor apenas quando BalancedOnly está ativado para um grupo de dimensionamento com balanceamento de zonas. Valores válidos:

  • false: Não ativa o rebalanceamento automático para o grupo de dimensionamento.

  • true: O grupo de dimensionamento detecta automaticamente o desequilíbrio de capacidade entre zonas e realiza expansão ou redução para rebalancear.

Valor padrão: false.

Parâmetros de resposta

Parâmetro

Tipo

Exemplo

Descrição

RequestId

String

473469C7-AA6F-4DC5-B3DB-A3DC0DE3****

O ID da requisição.

ScalingGroupId

String

asg-bp14wlu85wrpchm0****

O ID do grupo de dimensionamento.

Exemplos

Exemplo de requisição

http(s)://ess.aliyuncs.com/?Action=CreateScalingGroup
&ScalingGroupName=scalinggroup****
&LaunchTemplateId=lt-m5e3ofjr1zn1aw7****
&LaunchTemplateVersion=Default
&InstanceId=i-28wt4****
&RegionId=cn-qingdao
&MinSize=2
&MaxSize=20
&DefaultCooldown=300
&LoadBalancerIds=["lb-bp1u7etiogg38yvwz****", "lb-bp168cqrux9ai9l7f****", "lb-bp1jv3m9zvj22ufxp****"]
&DBInstanceIds=["rm-bp142f86de0t7****", "rm-bp18l1z42ar4o****", "rm-bp1lqr97h4aqk****"]
&RemovalPolicy.1=OldestScalingConfiguration
&RemovalPolicy.2=OldestInstance
&RemovalPolicy.3=NewestInstance
&VSwitchId=vsw-bp14zolna43z266bq****
&MultiAZPolicy=PRIORITY
&HealthCheckType=ECS
&ScalingPolicy=recycle
&ClientToken=123e4567-e89b-12d3-a456-42665544****
&OnDemandBaseCapacity=30
&OnDemandPercentageAboveBaseCapacity=20
&SpotInstanceRemedy=true
&CompensateWithOnDemand=true
&SpotInstancePools=5
&DesiredCapacity=5
&GroupDeletionProtection=true
&GroupType=ECS
&ContainerGroupId=eci-uf6fonnghi50u374****
&VSwitchIds=["vsw-bp14zolna43z266bq****"]
&LifecycleHook=[{"DefaultResult":"CONTINUE","LifecycleHookName":"lifecyclehook****","LifecycleTransition":"SCALE_OUT","NotificationMetadata":"Test","NotificationArn":"acs:ess:cn-hangzhou:1111111111:queue/queue2","HeartbeatTimeout":600}]
&VServerGroup=[{"VServerGroupAttribute":[{"VServerGroupId":"rsp-bp1443g77****","Weight":100,"Port":22}],"LoadBalancerId":"lb-bp1u7etiogg38yvwz****"}]
&Tag=[{"Key":"Department","Value":"Finance","Propagate":false}]
&LaunchTemplateOverride=[{"InstanceType":"ecs.c5.xlarge","WeightedCapacity":4,"SpotPriceLimit":0.025}]
&AlbServerGroup=[{"AlbServerGroupId":"sgp-ddwb0y0g6y9bjm****","Weight":100,"Port":22}]
&ServerGroup=[{"ServerGroupId":"sgp-5yc3bd9lfyh*****","Type":"ALB","Weight":100,"Port":22}]
&AzBalance=false
&AllocationStrategy=priority
&SpotAllocationStrategy=lowestPrice
&CustomPolicyARN=acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name
&ResourceGroupId=rg-123****
&LoadBalancerConfig=[{"LoadBalancerId":"147b46d767c-cn-qingdao-cm5****","Weight":10}]
&HealthCheckTypes=["ECS"]
&DBInstance=[{"DBInstanceId":"rm-m5eqju85s45mu0***","Type":"RDS","AttachMode":"SecurityIp"}]
&StopInstanceTimeout=60
&CapacityOptions={"OnDemandBaseCapacity":30,"OnDemandPercentageAboveBaseCapacity":20,"CompensateWithOnDemand":true,"SpotAutoReplaceOnDemand":false}
&Common request parameters

Exemplos de resposta

XML formato

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateScalingGroupResponse>
    <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
    <ScalingGroupId>asg-bp14wlu85wrpchm0****</ScalingGroupId>
</CreateScalingGroupResponse>

JSON formato

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
  "ScalingGroupId" : "asg-bp14wlu85wrpchm0****"
}

Códigos de erro

Para obter uma lista de códigos de erro, visite o API Error Center.

Código de status HTTP

Código de erro

Mensagem de erro

Descrição

400

IncorrectDBInstanceStatus

The current status of DB instance "XXX" does not support this action.

A instância RDS especificada deve estar no estado Running.

400

IncorrectLoadBalancerHealthCheck

The current health check type of specified load balancer does not support this action.

As verificações de integridade devem estar ativadas para a instância CLB especificada.

400

IncorrectLoadBalancerStatus

The current status of the specified load balancer does not support this action.

A instância CLB especificada deve estar no estado ativo.

400

IncorrectVSwitchStatus

The current status of virtual switch does not support this operation.

O vSwitch está indisponível. Não é possível criar instâncias ECS.

400

InvalidDBInstanceId. RegionMismatch

DB instance "XXX" and the specified scaling group are not in the same Region.

A instância RDS especificada e o grupo de dimensionamento devem estar na mesma região.

400

InvalidLoadBalancerId.IncorrectAddressType

The current address type of specified load balancer does not support this action.

Se você especificar um vSwitch, a instância CLB deve ser do tipo rede interna.

400

InvalidLoadBalancerId.IncorrectInstanceNetworkType

The network type of the instance in specified Load Balancer does not support this action.

O tipo de rede das instâncias ECS na instância CLB especificada deve ser igual ao tipo de rede do grupo de dimensionamento.

400

InvalidLoadBalancerId.RegionMismatch

The specified Load Balancer and the specified scaling group are not in the same Region.

A instância CLB especificada e o grupo de dimensionamento devem estar na mesma região.

400

InvalidLoadBalancerId.VPCMismatch

The specified virtual switch and the instance in specified Load Balancer are not in the same VPC.

As instâncias ECS anexadas à instância CLB e o vSwitch devem estar na mesma VPC.

400

InvalidParameter

The specified value of parameter "ScalingPolicy" is not valid.

O parâmetro de modo de recuperação especificado é inválido.

400

InvalidParameter.Conflict

The value of parameter &lt;parameter name&gt; and parameter &lt;parameter name&gt; are conflict.

O MinSize especificado não pode ser maior que MaxSize.

400

InvalidScalingGroupName.Duplicate

The specified value of parameter &lt;parameter name&gt; is duplicated.

O nome do grupo de dimensionamento já existe.

400

QuotaExceeded.DBInstanceSecurityIP

Security IP quota exceeded in DB instance "XXX".

O número de endereços IP na lista de permissões da instância RDS especificada atingiu o limite superior.

400

QuotaExceeded.PrivateIpAddress

Private IP address quota exceeded in the specified virtual switch.

O vSwitch não pode alocar mais endereços IP privados.

400

QuotaExceeded.ScalingGroup

Scaling group quota exceeded.

O número de grupos de dimensionamento que você pode usar atingiu o limite superior.

400

QuotaExceeded.VPCInstance

Instance quota exceeded in the specified VPC.

O número de instâncias na VPC excedeu o limite superior.

404

InvalidDBInstanceId.NotFound

DB instance "XXX" does not exist.

A instância RDS especificada não existe.

404

InvalidLoadBalancerId.NotFound

The specified Load Balancer does not exist.

A instância CLB especificada não existe.

404

InvalidRegionId.NotFound

The specified region does not exist.

A região especificada não existe.

404

InvalidVSwitchId.NotFound

The specified virtual switch does not exist.

O vSwitch especificado não existe.

400

LaunchTemplateVersionSet.NotFound

The specific version of launch template is not exist.

A versão especificada do modelo de inicialização não existe.

400

LaunchTemplateSet.NotFound

The specified launch template set is not found.

O modelo de inicialização especificado não foi encontrado.

400

TemplateMissingParameter.ImageId

The input parameter "ImageId" that is mandatory for processing this request is not supplied.

A versão especificada do modelo de inicialização não contém informações de imagem.

400

TemplateMissingParameter.InstanceTypes

The input parameter "InstanceTypes" that is mandatory for processing this request is not supplied.

A versão especificada do modelo de inicialização não contém informações de tipo de instância.

400

TemplateMissingParameter.SecurityGroup

The input parameter "SecurityGroup" that is mandatory for processing this request is not supplied.

A versão especificada do modelo de inicialização não contém informações de grupo de segurança.

400

TemplateVersion.NotNumber

The input parameter "LaunchTemplateVersion" is supposed to be a string representing the version number.

O número de versão fixa especificado do modelo de inicialização não é um número.

400

AlbServerGroup.NotExist

The ServerGroup "%s" do(es) not exist.

O grupo de servidores ALB especificado não existe em sua conta.