Escalabilidade em etapas: escalar a frota spot usando políticas de escalabilidade em etapas
Com as políticas de escalabilidade em etapas, você especifica os alarmes do CloudWatch para acionamento do processo de escalabilidade. Por exemplo, se você deseja aumentar a escala quando a utilização de CPU atinge um determinado nível, crie um alarme usando a métrica CPUUtilization
fornecida pelo Amazon EC2.
Ao criar uma política de escalabilidade em etapas, você deve especificar um dos seguintes tipos de ajuste de escalabilidade:
-
Add (Adicionar): aumente a capacidade de destino da frota por um número específico de unidades de capacidade ou por uma porcentagem especificada da capacidade atual.
-
Remove (Remover): reduza a capacidade de destino da frota por um número específico de unidades de capacidade ou por uma porcentagem especificada da capacidade atual.
-
Set to (Definir como): defina a capacidade de destino da frota como o número especificado de unidades de capacidade.
Quando um alarme é acionado, o processo de escalabilidade automática calcula a nova capacidade de destino usando a capacidade atendida e as políticas de escalabilidade e, em seguida, atualiza a capacidade de destino corretamente. Por exemplo, suponha que a capacidade de destino e a capacidade atendida sejam 10 e a política de escalabilidade seja 1. Quando o alarme é acionado, o processo de escalabilidade automática adiciona 1 a 10 para obter 11, para que a frota spot execute uma instância.
Quando uma frota spot encerra uma instância spot porque a capacidade pretendida foi reduzida, a instância recebe um aviso de interrupção de instância spot.
Pré-requisitos
-
A solicitação de frota spot deve ter o tipo de solicitação
maintain
. A escalação automática não é compatível com solicitações do tiporequest
. -
Configure o Permissões do IAM obrigatórias para escalabilidade automática de frota spot.
-
Considere quais métricas do CloudWatch são importantes para sua aplicação. É possível criar alarmes do CloudWatch com base nas métricas fornecidas pela AWS ou nas suas próprias métricas personalizadas.
-
Para as métricas da AWS que você usará em suas políticas de escalabilidade, habilite a coleta das métricas do CloudWatch se o serviço que fornece as métricas não for habilitado por padrão.
-
Revise as Considerações.
Criar um alarme do CloudWatch
Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/
. -
No painel de navegação, expanda Alarmes e escolha Todos os alarmes.
-
Selecione Create alarm (Criar alarme).
-
Na página Specify metric and conditions (Especificar métrica e condições), selecione Select metric (Selecionar métrica).
-
Escolha Spot do EC2, Métricas de solicitação de frota e então uma métrica (por exemplo, TargetCapacity). Depois escolha Selecionar métrica.
A página Specify metric and conditions (Especificar métrica e condições) será exibida, mostrando um gráfico e outras informações sobre a métrica selecionada.
-
Em Período, escolha o período de avaliação para o alarme, por exemplo, 1 minuto. Ao avaliar o alarme, todos os períodos são agregados em um único ponto de dados.
nota
Um período mais curto cria um alarme mais sensível.
-
Em Conditions (Condições), defina o alarme definindo a condição do limite. Por exemplo, é possível definir um limite para acionar o alarme sempre que o valor da métrica for maior que ou igual a 80%.
-
Em Additional configuration (Configuração adicional), para Datapoints to alarm (Pontos de dados para alarme), especifique quantos pontos de dados (períodos de avaliação) devem estar no estado ALARM para acionar o alarme, por exemplo, 1 período de avaliação para 2 de 3 períodos de avaliação. Isso cria um alarme que passará para o estado ALARM se houver violação de muitos períodos consecutivos. Para obter mais informações, consulte Avaliar um alarme no Guia do usuário do Amazon CloudWatch.
-
Para Missing data treatment (Tratamento de dados ausentes), selecione uma das opções (ou mantenha o padrão como Treat missing data as missing (Tratar dados ausentes como ausentes)). Para obter mais informações, consulte Configuração da forma como os alarmes do CloudWatch tratam dados ausentes no Manual do usuário do Amazon CloudWatch.
-
Escolha Next (Próximo).
-
(Opcional) Para receber notificações de um evento de dimensionamento, para Notification (Notificação), é possível escolher ou criar o tópico do Amazon SNS que você deseja usar para receber notificações. Caso contrário, será possível excluir a notificação agora e adicionar uma posteriormente, quando necessário.
-
Escolha Próximo.
-
Em Adicionar nome e descrição, insira um nome e uma descrição para o alarme e selecione Próximo.
-
Selecione Create alarm (Criar alarme).
Para configurar uma política de escalabilidade para a frota spot (console)
-
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. -
No painel de navegação, selecione Solicitações spot.
-
Selecione sua solicitação de frota spot.
-
Escolha a guia Ajuste de escala automático próxima à parte inferior da tela. Se você selecionou o link para sua frota spot, não há guia; em vez disso, role para baixo até a seção Ajuste de escala automático.
-
Se a escalabilidade automática não estiver configurada, escolha Configurar.
-
Use Escalar capacidade entre para definir a capacidade mínima e máxima para sua frota. As políticas de ajuste de escala não escalam a frota abaixo da capacidade mínima ou acima da capacidade máxima.
-
Em Políticas de escalabilidade, para Tipo de política, escolha Política escalabilidade em etapas.
-
Inicialmente, a opção Políticas de ajuste de escala contém as políticas de ajuste de escala em etapas denominadas ScaleUp e ScaleDown. É possível completar essas políticas ou escolher Remover política para excluí-las. Você também pode escolher Add policy (Adicionar política).
-
Para definir a política, faça o seguinte:
-
Em Policy Name (Nome da política), digite um nome para a política.
-
Em Gatilho de política, selecione um alarme existente ou escolha Criar alarme para abrir o console do Amazon CloudWatch e criar um.
-
Em Modificar capacidade, defina a quantidade do ajuste de escala e os limites inferior e superior do ajuste da etapa. É possível adicionar ou remover um número específico de instâncias ou uma porcentagem do tamanho da frota atual ou definir a frota para um tamanho exato.
Por exemplo, para criar uma política de escalabilidade em etapas que aumente a capacidade da frota em 30%, escolha Adicionar, insira 30 no próximo campo e escolha porcento. Por padrão, o limite inferior de uma política de adição é o limite do alarme e o limite superior é mais (+) infinito. Por padrão, o limite superior de uma política de remoção é o limite do alarme e o limite inferior é menos (-) infinito.
-
(Opcional) Para adicionar outra etapa, escolha Adicionar etapa.
-
Em Período de esfriamento, especifique um novo valor (em segundos) ou mantenha o padrão.
-
-
Escolha Salvar.
Para configurar políticas de escalabilidade em etapas para sua frota spot usando a AWS CLI
-
Registre a solicitação de frota spot como um destino escalável usando o comando register-scalable-target
. -
Crie uma política de escalabilidade usando o comando put-scaling-policy
. -
Crie um alarme que acione as políticas de escalabilidade usando o comando put-metric-alarm
.