As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Desabilitar uma política de escalabilidade para um grupo do Auto Scaling
Os procedimentos a seguir ajudam você a criar uma política de escala preditiva usando o AWS Management Console ou AWS CLI.
Se o grupo do Auto Scaling for novo, ele deverá fornecer pelo menos 24 horas de dados antes que o Amazon EC2 Auto Scaling possa gerar uma previsão para ele.
Conteúdo
Criar uma política de escalabilidade preditiva (console)
Se esta for a primeira vez que cria uma política de escala preditiva, recomendamos usar o console para criar várias políticas de escala preditiva no modo somente de previsão. Isso testa os efeitos potenciais de diferentes métricas e valores de destino. Você pode criar várias políticas de escalabilidade preditiva para cada grupo do Auto Scaling, mas somente uma das políticas pode ser usada para a escalabilidade ativa.
Siga o procedimento a seguir para criar uma política de escalação preditiva usando métricas predefinidas (CPU, E/S da rede ou contagem de solicitações do Application Load Balancer por destino). A maneira mais fácil de criar uma política de escalação preditiva é usar métricas predefinidas. Se você preferir usar métricas personalizadas, consulte Criar uma política de escalação preditiva no console (métricas personalizadas).
Para criar uma política de escalabilidade preditiva
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
e escolha grupos do Auto Scaling no painel de navegação. -
Marque a caixa de seleção ao lado do seu grupo do Auto Scaling.
Um painel dividido é aberto na parte inferior da página.
-
Na guia Automatic scaling (Escalabilidade automática), em Scaling policies (Políticas de escalabilidade), escolha Create predictive scaling policy (Criar política de escalabilidade preditiva).
-
Insira um nome para a política.
-
Ativar a opção Scale based on forecast (Escala baseada em previsão) para conceder ao Amazon EC2 Auto Scaling permissão para começar a escalar imediatamente.
Para manter a política no modo somente previsão, deixe a opção Scale based on forecast(Escala baseada em previsão) desativada.
-
Em Metrics (Métricas), escolha suas métricas na lista de opções. As opções incluem CPU, Network In (Entrada de rede), Network Out (Saída de rede), Application Load Balancer request count (Número de solicitações do Application Load Balancer) e Custom metric pair (Par de métricas personalizadas).
Se tiver escolhido Application Load Balancer request count per target (Número de solicitações do Application Load Balancer por destino), escolha um grupo de destino em Target group (Grupo de destino). A opção Application Load Balancer request count per target (Número de solicitações do Application Load Balancer por destino) só será válida de você tiver anexado um grupo de destino do Application Load Balancer ao seu grupo do Auto Scaling.
Se você escolheu Custom metric pair (Par de métricas personalizadas), escolha métricas individuais nas listas suspensas para Load metric (Métrica de carga) e Scaling metric (Métrica de escalabilidade).
-
Em Target utilization (Utilização-alvo), insira o valor-alvo que o Amazon EC2 Auto Scaling deveria manter. O Amazon EC2 Auto Scaling aumentará a escala na horizontal até que a utilização média seja igual à utilização-alvo ou até atingir o número máximo de instâncias especificado.
Se sua métrica de escalabilidade for... Então a utilização-alvo representará... CPU A porcentagem de CPU que cada instância deve idealmente usar.
Entrada de rede O número médio de bytes por minuto que cada instância deve idealmente receber.
Saída de rede O número médio de bytes por minuto que cada instância deve idealmente enviar.
Número de solicitações do Application Load Balancer por destino O número médio de solicitações por minuto que cada instância deve idealmente receber.
-
(Opcional) Em Pre-launch instances (Iniciar instâncias previamente), escolha com que antecedência você deseja que suas instâncias sejam iniciadas antes que a previsão solicite o aumento de carga.
-
(Opcional) Em Max capacity behavior (Comportamento na capacidade máxima), escolha se será permitido que o Amazon EC2 Auto Scaling aumente a escala horizontalmente além da capacidade máxima do grupo quando a capacidade prevista exceder o máximo definido. A ativação dessa configuração permite aumentar a escala horizontalmente nos períodos em que estão previstos picos de tráfego.
-
(Opcional) Em Buffer maximum capacity above the forecasted capacity (Capacidade máxima do buffer acima da capacidade prevista), escolha a quantidade de capacidade adicional a ser usada quando a capacidade prevista estiver próxima de ou exceder a capacidade máxima. O valor é especificado como um percentual em relação à capacidade de prevista. Por exemplo, se o buffer é 10, isso significa um buffer de 10%. Portanto, se a capacidade prevista for 50 e a capacidade máxima for 40, a capacidade máxima real será 55.
Se esse valor for definido como 0, o Amazon EC2 Auto Scaling poderá escalar a capacidade acima da capacidade máxima para igualar, mas não exceder, a capacidade prevista.
-
Selecione Create predictive scaling policy (Criar política de escalabilidade preditiva).
Use o procedimento a seguir para criar uma política de escalação preditiva usando métricas personalizadas. As métricas personalizadas podem incluir outras métricas fornecidas pelo CloudWatch ou as métricas que você publicar no CloudWatch. Para usar a contagem de solicitações de CPU, E/S de rede ou Application Load Balancer por destino, consulte Criar uma política de escalação preditiva no console (métricas predefinidas).
Para criar uma política de escalação preditiva usando métricas personalizadas, você deve fazer o seguinte:
-
Você deve fornecer as consultas brutas que permitem que o Amazon EC2 Auto Scaling interaja com as métricas no CloudWatch. Para ter mais informações, consulte Configurações avançadas de política de escalabilidade preditiva usando métricas personalizadas. Para ter certeza de que o Amazon EC2 Auto Scaling possa extrair os dados de métrica do CloudWatch, confirme se cada consulta está retornando pontos de dados. Confirme isso usando o console do CloudWatch ou a operação de API GetMetricData do CloudWatch.
nota
Fornecemos exemplos de cargas úteis JSON no editor de JSON no console do Amazon EC2 Auto Scaling. Esses exemplos oferecem uma referência para os pares de chave-valor exigidos para a adição de outras métricas do CloudWatch fornecidas pela AWS ou as métricas que você publicou anteriormente no CloudWatch. Você pode usá-las como ponto de partida e depois personalizá-las de acordo com as suas necessidades.
-
Se você usar qualquer matemática de métricas, deverá estruturar manualmente o JSON para adequá-lo ao seu cenário específico. Para ter mais informações, consulte Usar expressões de matemática métrica. Antes de usar matemática de métricas em sua política, confirme se as consultas de métricas baseadas em expressões matemáticas de métricas são válidas e retornam uma única série temporal. Confirme isso usando o console do CloudWatch ou a operação de API GetMetricData do CloudWatch.
Se você cometer um erro em uma consulta fornecendo dados incorretos, como o nome errado do grupo do Auto Scaling, a previsão não terá nenhum dado. Para solucionar problemas de métricas personalizadas, consulte Criar uma política de escalação preditiva no console (métricas personalizadas).
Para criar uma política de escalabilidade preditiva
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
e escolha grupos do Auto Scaling no painel de navegação. -
Marque a caixa de seleção ao lado do seu grupo do Auto Scaling.
Um painel dividido é aberto na parte inferior da página.
-
Na guia Automatic scaling (Escalabilidade automática), em Scaling policies (Políticas de escalabilidade), escolha Create predictive scaling policy (Criar política de escalabilidade preditiva).
-
Insira um nome para a política.
-
Ativar a opção Scale based on forecast (Escala baseada em previsão) para conceder ao Amazon EC2 Auto Scaling permissão para começar a escalar imediatamente.
Para manter a política no modo somente previsão, deixe a opção Scale based on forecast(Escala baseada em previsão) desativada.
-
Em Metrics (Métricas), escolha Custom metric pair (Par de métricas personalizado).
-
Em Load metric, (Métrica de carga), escolha a Custom CloudWatch metric (Métrica personalizada do CloudWatch) para usar uma métrica personalizada. Estruture a carga útil JSON que contém a definição da métrica de carga para a política e cole-a na caixa do editor de Jason, substituindo o que já está na caixa.
-
Em Scaling metric (Métrica de escalação), escolha Custom CloudWatch metric (Métrica personalizada do CloudWatch) para usar uma métrica personalizada. Estruture a carga útil JSON que contém a definição da métrica de escalação para a política e cole-a na caixa do editor de Jason, substituindo o que já está na caixa.
-
(Opcional) Para adicionar uma métrica de capacidade personalizada, marque a caixa de seleção Add custom capacity metric (Adicionar métrica de capacidade personalizada). Estruture a carga útil JSON que contém a definição da métrica de capacidade para a política e cole-a na caixa do editor de Jason, substituindo o que já está na caixa.
Você só precisa habilitar essa opção para criar uma nova série temporal de capacidade se seus dados métricos de capacidade abrangerem vários grupos do Auto Scaling. Nesse caso, você deve usar a matemática de métricas para agregar os dados em uma única série temporal.
-
-
Em Target utilization (Utilização-alvo), insira o valor-alvo que o Amazon EC2 Auto Scaling deveria manter. O Amazon EC2 Auto Scaling aumentará a escala na horizontal até que a utilização média seja igual à utilização-alvo ou até atingir o número máximo de instâncias especificado.
-
(Opcional) Em Pre-launch instances (Iniciar instâncias previamente), escolha com que antecedência você deseja que suas instâncias sejam iniciadas antes que a previsão solicite o aumento de carga.
-
(Opcional) Em Max capacity behavior (Comportamento na capacidade máxima), escolha se será permitido que o Amazon EC2 Auto Scaling aumente a escala horizontalmente além da capacidade máxima do grupo quando a capacidade prevista exceder o máximo definido. A ativação dessa configuração permite aumentar a escala horizontalmente nos períodos em que estão previstos picos de tráfego.
-
(Opcional) Em Buffer maximum capacity above the forecasted capacity (Capacidade máxima do buffer acima da capacidade prevista), escolha a quantidade de capacidade adicional a ser usada quando a capacidade prevista estiver próxima de ou exceder a capacidade máxima. O valor é especificado como um percentual em relação à capacidade de prevista. Por exemplo, se o buffer é 10, isso significa um buffer de 10%. Portanto, se a capacidade prevista for 50 e a capacidade máxima for 40, a capacidade máxima real será 55.
Se esse valor for definido como 0, o Amazon EC2 Auto Scaling poderá escalar a capacidade acima da capacidade máxima para igualar, mas não exceder, a capacidade prevista.
-
Selecione Create predictive scaling policy (Criar política de escalabilidade preditiva).
Criar uma política de escalabilidade preditiva (AWS CLI)
Use a AWS CLI conforme mostrado a seguir para configurar políticas de escalabilidade preditiva para seu grupo do Auto Scaling. Substitua cada espaço reservado para entrada do usuário
por suas próprias informações.
Para obter mais informações sobre as métricas do CloudWatch que você pode especificar para uma política de escalabilidade preditiva, consulte PredictivEscalingMetricSpecification na Referência da API do Amazon EC2 Auto Scaling.
Exemplo 1: Uma política de escalabilidade preditiva que cria previsões, mas não implementa a escalabilidade
O exemplo a seguir mostra uma configuração de política completa que usa métricas de utilização da CPU para escalabilidade preditiva com uma utilização-alvo de 40
. O modo ForecastOnly
é usado por padrão, a menos que você especifique explicitamente qual modo usar. Salve esta configuração em um arquivo chamado config.json
.
{ "MetricSpecifications": [ { "TargetValue":
40
, "PredefinedMetricPairSpecification": { "PredefinedMetricType": "ASGCPUUtilization
" } } ] }
Para criar essa política usando a linha de comando, execute o comando put-scaling-policy com o arquivo de configuração especificado, conforme demonstrado no exemplo a seguir.
aws autoscaling put-scaling-policy --policy-name
cpu40-predictive-scaling-policy
\ --auto-scaling-group-namemy-asg
--policy-type PredictiveScaling \ --predictive-scaling-configurationfile://config.json
Se bem-sucedido, esse comando gerará o nome do recurso da Amazon (ARN) da política.
{
"PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:2f4f5048-d8a8-4d14-b13a-d1905620f345:autoScalingGroupName/my-asg:policyName/cpu40-predictive-scaling-policy",
"Alarms": []
}
Exemplo 2: Uma política de escalabilidade preditiva que cria previsões e implementa a escalabilidade
Para uma política que permite que o Amazon EC2 Auto Scaling preveja e implemente a escalabilidade, adicione a propriedade Mode
com um valor ForecastAndScale
. O exemplo a seguir mostra uma configuração de política que usa métricas de número de solicitações do Application Load Balancer. A utilização-alvo é 1000
e a escalabilidade preditiva é definida no modo ForecastAndScale
.
{ "MetricSpecifications": [ { "TargetValue":
1000
, "PredefinedMetricPairSpecification": { "PredefinedMetricType": "ALBRequestCount
", "ResourceLabel": "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff
" } } ], "Mode": "ForecastAndScale" }
Para criar essa política, execute o comando put-scaling-policy com o arquivo de configuração especificado, conforme demonstrado no exemplo a seguir.
aws autoscaling put-scaling-policy --policy-name
alb1000-predictive-scaling-policy
\ --auto-scaling-group-namemy-asg
--policy-type PredictiveScaling \ --predictive-scaling-configurationfile://config.json
Se bem-sucedido, esse comando gerará o nome do recurso da Amazon (ARN) da política.
{
"PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:19556d63-7914-4997-8c81-d27ca5241386:autoScalingGroupName/my-asg:policyName/alb1000-predictive-scaling-policy",
"Alarms": []
}
Exemplo 3: Uma política de escalabilidade preditiva que pode escalar acima da capacidade máxima
O exemplo a seguir mostra como criar uma política que poderá escalar além do limite máximo de tamanho do grupo quando você precisar que ele lide com uma carga maior do que o normal. Por padrão, o Amazon EC2 Auto Scaling não aumenta a capacidade do EC2 além da capacidade máxima definida. No entanto, pode ser útil deixá-lo ir além com um pouco mais de capacidade para evitar problemas de performance ou disponibilidade.
Para fornecer espaço para o Amazon EC2 Auto Scaling provisionar capacidade adicional quando a capacidade estiver no tamanho máximo do grupo ou muito próxima a ele, especifique as propriedades MaxCapacityBreachBehavior
e MaxCapacityBuffer
, conforme mostrado no exemplo a seguir. É necessário especificar MaxCapacityBreachBehavior
com um valor de IncreaseMaxCapacity
. O número máximo de instâncias que seu grupo pode ter depende do valor de MaxCapacityBuffer
.
{ "MetricSpecifications": [ { "TargetValue":
70
, "PredefinedMetricPairSpecification": { "PredefinedMetricType": "ASGCPUUtilization
" } } ], "MaxCapacityBreachBehavior": "IncreaseMaxCapacity
", "MaxCapacityBuffer":10
}
Neste exemplo, a política é configurada para usar um buffer de 10% ("MaxCapacityBuffer": 10
). Assim, se a capacidade prevista for 50 e a capacidade máxima for 40, a capacidade máxima efetiva será 55. Uma política que pudesse escalar a capacidade acima da capacidade máxima para igualar, mas não exceder, a capacidade prevista teria um buffer de 0 ("MaxCapacityBuffer":
0
).
Para criar essa política, execute o comando put-scaling-policy com o arquivo de configuração especificado, conforme demonstrado no exemplo a seguir.
aws autoscaling put-scaling-policy --policy-name
cpu70-predictive-scaling-policy
\ --auto-scaling-group-namemy-asg
--policy-type PredictiveScaling \ --predictive-scaling-configurationfile://config.json
Se bem-sucedido, esse comando gerará o nome do recurso da Amazon (ARN) da política.
{
"PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:d02ef525-8651-4314-bf14-888331ebd04f:autoScalingGroupName/my-asg:policyName/cpu70-predictive-scaling-policy",
"Alarms": []
}