Atribua um peso a cada tipo de instância com base em uma métrica de desempenho, como a contagem de vCPUs. O peso define a capacidade que uma única instância desse tipo contribui para o grupo de dimensionamento. Assim, a capacidade do grupo é medida em unidades de desempenho, e não em contagem de instâncias.
Contexto
Por padrão, o Auto Scaling mede a capacidade do grupo de dimensionamento pela contagem de instâncias. Isso funciona bem quando uma configuração de dimensionamento especifica um único tipo de instância, porque a contagem de instâncias é diretamente proporcional ao desempenho geral. No entanto, quando a configuração inclui uma combinação de tipos de instância, a contagem de instâncias não reflete mais o poder computacional total. Por exemplo, 10 instâncias ecs.c5.large (2 vCPUs, 4 GiB) fornecem metade do desempenho de 10 instâncias ecs.c5.xlarge (4 vCPUs, 8 GiB).
Para resolver isso, atribua um peso a cada tipo de instância. Isso permite medir com precisão o desempenho do grupo de dimensionamento mesmo quando o grupo contém tipos de instância diferentes. Por exemplo, se você definir cada peso com base na contagem de vCPUs do tipo de instância, a capacidade total representará o número total de vCPUs em todas as instâncias.
Conceitos-chave
| Conceito | Parâmetro de API | Descrição |
| peso | WeightedCapacity | A capacidade que um tipo de instância contribui para o grupo de dimensionamento, com base em uma métrica de desempenho, como a contagem de vCPUs. |
| capacidade total | TotalCapacity | A soma das unidades de capacidade de todas as instâncias no grupo de dimensionamento. |
| capacidade máxima | MaxSize | O valor máximo da capacidade total do grupo de dimensionamento. null Após um evento de expansão, a capacidade total pode exceder ligeiramente a capacidade máxima se esta não for divisível uniformemente pelo peso da instância. O excedente será inferior ao maior peso do grupo. |
| capacidade mínima | MinSize | O valor mínimo da capacidade total do grupo de dimensionamento. |
| capacidade desejada | DesiredCapacity | O valor-alvo da capacidade total do grupo de dimensionamento. O Auto Scaling garante que a capacidade total não fique abaixo desse valor. null Após um evento de expansão, a capacidade total pode exceder ligeiramente a capacidade desejada se esta não for divisível uniformemente pelo peso da instância. O excedente será inferior ao maior peso do grupo. |
Regras de dimensionamento
- Um evento de expansão é acionado quando a capacidade total é inferior à capacidade desejada ou à capacidade mínima.
- Um evento de redução é acionado quando a capacidade total é maior ou igual à soma da capacidade desejada e do maior peso.
Observações de uso
- Defina um peso para cada tipo de instância no grupo de dimensionamento.
- Se você remover um tipo de instância da configuração de dimensionamento, o peso das instâncias existentes desse tipo no grupo de dimensionamento permanecerá inalterado.
- Ao modificar o peso de um tipo de instância com instâncias existentes, o Auto Scaling recalcula imediatamente a capacidade atual do grupo. Isso pode acionar uma nova atividade de dimensionamento.
Procedimento
Use este procedimento para definir pesos de tipos de instância quando uma configuração de dimensionamento for a fonte de configuração do grupo de dimensionamento.
- Crie um grupo de dimensionamento.
Esta etapa se concentra nas opções relacionadas à política de dimensionamento multizonal. Para outras opções do grupo de dimensionamento, consulte Configurar um grupo de dimensionamento.
- Defina VPC como VPC e selecione vários vSwitches dentro dessa VPC.
Cada vSwitch pertence a uma única zona. Selecionar vários vSwitches permite criar instâncias do ECS em diferentes zonas para melhor aproveitamento dos recursos disponíveis.
- Defina a política Cost Optimization Policy como Cost Optimized.
- Configure as demais opções do grupo de dimensionamento conforme necessário.
- Defina VPC como VPC e selecione vários vSwitches dentro dessa VPC.
- Crie uma configuração de dimensionamento.
Esta etapa se concentra na definição do peso do tipo de instância com base na contagem de vCPUs. Para outras opções de configuração de dimensionamento, consulte Criar uma configuração de dimensionamento para instâncias do ECS.
- Defina Pay-as-you-go como pay-as-you-go.
- Selecione vários tipos de instância, até o máximo de 10.
- Selecione Set vCPU Capacity. O sistema define automaticamente um peso para cada tipo de instância selecionado com base na contagem de vCPUs.
Por exemplo, para os tipos de instância selecionados ecs.c5.large (2 vCPUs, 4 GiB), ecs.c5.xlarge (4 vCPUs, 8 GiB) e ecs.c5.2xlarge (8 vCPUs, 16 GiB), os pesos são definidos automaticamente como 2, 4 e 8, respectivamente.
Você também pode personalizar os pesos. Ao personalizar os pesos, siga estas recomendações:
- Use uma métrica de desempenho relevante para sua carga de trabalho, como o número de vCPUs ou a quantidade de memória em GiB. Você pode usar um único vCPU, 1 GiB de memória ou o tipo de instância menos potente como uma unidade de capacidade. A capacidade do grupo de dimensionamento é calculada com base nessa unidade.
- Defina valores de peso apropriados. Certifique-se de que a capacidade atual do grupo de dimensionamento seja de duas a três vezes o maior peso definido para um tipo de instância.
- Evite definir pesos muito diferentes para tipos de instância distintos. Por exemplo, não defina o peso de um tipo de instância pequeno como 1 e o de um tipo grande como 200. Uma grande diferença entre os pesos pode afetar negativamente a relação custo-benefício do grupo de dimensionamento.
Para obter informações sobre a prioridade de vários tipos de instância ao criar instâncias, consulte Cálculo do preço unitário ponderado.
- Configure as demais opções de configuração de dimensionamento conforme necessário.
- Ative o grupo de dimensionamento.
- Crie uma regra de dimensionamento.
Esta etapa descreve as opções necessárias para um teste de validação simples. Para outras opções de regras de dimensionamento, consulte Configurar regras de dimensionamento.
- Defina Simple Scaling Rule como Simple Scaling Rule.
- Defina a Action como Add 10 capacity units.
- Configure as demais opções de regras de dimensionamento conforme necessário.
- Execute a regra de dimensionamento.
Neste exemplo, o tipo de instância
ecs.c5.2xlargepossui o menor preço unitário ponderado. Portanto, o grupo de dimensionamento lança duas instânciasecs.c5.2xlarge, adicionando 16 unidades de capacidade ao grupo de dimensionamento.
Cálculo do preço unitário ponderado
Se o grupo de dimensionamento usar a Cost Optimization Policy e você tiver definido pesos de instância, o Auto Scaling lançará os tipos de instância com o menor preço unitário ponderado durante a expansão. Para obter mais informações, consulte Reduzir custos usando uma política de dimensionamento e vários tipos de instância.
| Tipo de instância | vCPU | Preço de mercado | Peso | Preço unitário ponderado |
| ecs.c5.large | 2 | US$ 0,18/hora | 2 | US$ 0,090/hora |
| ecs.c5.xlarge | 4 | US$ 0,34/hora | 4 | US$ 0,085/hora |
| ecs.c5.2xlarge | 8 | US$ 0,64/hora | 8 | US$ 0,080/hora |