Visão geral das políticas de ajuste de escala automático
Para usar o ajuste de escala automático, é preciso definir uma política de ajuste de escala que adiciona e remove o número de instâncias da sua variante de produção em resposta a workloads reais.
Para escalar automaticamente conforme as mudanças de workload, você tem duas opções: políticas de rastreamento de destinos e ajuste de escala em etapas.
Recomendamos o uso de políticas de ajuste de escala com rastreamento de destinos. Com o rastreamento de destinos, você escolhe uma métrica e um valor de destino do Amazon CloudWatch. O ajuste de escala automático cria e gerencia os alarmes do CloudWatch da política de ajuste de escala e calcula o ajuste com base na métrica e no valor de destino. A política de ajuste de escala adiciona ou remove instâncias conforme necessário para manter a métrica no valor de destino especificado ou próxima dele. Por exemplo, uma política de escalabilidade que usa a métrica predefinida InvocationsPerInstance
com um valor de destino de 70 pode manter InvocationsPerInstance
em ou próxima a 70. Para obter mais informações, consulte Políticas de escalabilidade de rastreamento de destino, no Guia do usuário do Application Auto Scaling.
É possível usar a escalabilidade em etapas quando precisar de uma configuração avançada, como especificar quantas instâncias serão implantadas em quais condições. Do contrário, é preferível usar o ajuste de escala de rastreamento de destino, pois será totalmente automatizado. Observe que o ajuste de escala em etapas somente pode ser gerenciado por meio da AWS CLI ou da API do Application Auto Scaling. Para obter uma visão geral das políticas de ajuste de escala em etapas e como elas funcionam, consulte Políticas de Ajuste de Escala em Etapas no Guia do usuário do Application Auto Scaling.
Para criar uma política de escalabilidade de rastreamento de destinos, especifique o seguinte:
-
Métrica: a métrica do CloudWatch a ser rastreada, como, por exemplo, o número médio de invocações por instância.
-
Valor de destino: o valor de destino da métrica, como, por exemplo, 70 invocações por instância por minuto.
É possível criar políticas de escalabilidade de rastreamento de destino com métricas predefinidas ou personalizadas. Uma métrica predefinida é configurada em uma enumeração para que você possa especificá-la pelo nome em código ou usá-la no console do SageMaker. Como alternativa, você pode usar a AWS CLI ou a API do Application Auto Scaling para aplicar uma política de ajuste de escala com base em uma métrica predefinida ou personalizada.
Observe que as atividades de ajuste de escala são executadas com períodos de espera entre elas para evitar flutuações rápidas na capacidade. Opcionalmente, é possível configurar os períodos de espera para a política de ajuste de escala.
Para obter mais informações sobre os conceitos principais de ajuste de escala automático, consulte a seção a seguir.
Ajuste de escala programado
Você pode criar ações programadas para executar atividades de ajuste de escala em momentos específicos. É possível criar ações programadas para escalar uma única vez ou de forma programada. Após a execução de uma ação programada, a política de ajuste de escala pode continuar a tomar decisões sobre a necessidade de escalar dinamicamente à medida conforme as mudanças de workload. O ajuste de escala programado somente pode ser gerenciado por meio da AWS CLI ou da API do Application Auto Scaling. Para obter mais informações, consulte Escalabilidade programada no Guia do usuário do Application Auto Scaling.
Limites mínimo e máximo de ajuste de escala
Ao configurar o ajuste de escala automático, você deve especificar seus limites de ajuste de escala antes de criar uma política de ajuste de escala. Você define limites separadamente para o tamanho mínimo e máximo.
O valor mínimo deve ser menor que 1, e igual ou menor que o valor especificado para o valor máximo.
O valor máximo deve ser igual ou maior que o valor especificado para o valor mínimo. O ajuste de escala automático do SageMaker não impõe um limite para esse valor.
Para determinar os limites de ajuste de escala que você precisa para um tráfego típico, teste a configuração de ajuste de escala automático com a taxa esperada de tráfego para o seu modelo.
Se o tráfego de uma variante atingir zero, o SageMaker automaticamente reduz a escala na horizontal para o número mínimo de instâncias especificado. Nesse caso, o SageMaker emite métricas com um valor zero.
Há três opções para especificar a capacidade mínima e máxima:
-
Use o console para atualizar as configurações Contagem mínima de instâncias e Contagem máxima de instâncias.
-
Use AWS CLI e inclua as opções
--min-capacity
e--max-capacity
ao executar o comando register-scalable-target. -
Chame a API RegisterScalableTarget e especifique os parâmetros
MinCapacity
eMaxCapacity
.
dica
Aumente o valor mínimo manualmente para aumentar a escala horizontalmente, ou diminua o valor máximo manualmente para reduzir a escala horizontalmente.
Período de espera
É usado um período de espera para proteger contra o ajuste de escala excessivo ao reduzir a escala horizontalmente (redução da capacidade) ou aumentar a escala horizontalmente (aumento da capacidade) do modelo. Isso é feito através da desaceleração das atividades de ajuste de escala subsequentes até o fim do período. Mais especificamente, bloqueará a exclusão de instâncias nas solicitações para reduzir a escala horizontalmente, bem como a criação de instâncias nas solicitações para aumentar a escala horizontalmente. Para obter mais informações, consulte Definir períodos de espera no Guia do usuário do Application Auto Scaling.
Configure o período de espera de sua política de ajuste de escala automático.
Se você não especificar um período de espera para as ações de reduzir a escala horizontalmente ou aumentar a escala horizontalmente, a política de ajuste de escala usa o padrão, que é 300 segundos para cada uma das ações.
Se as instâncias estiverem sendo adicionadas ou removidas muito rapidamente quando você testa sua configuração de ajuste de escala, pense em aumentar esse valor. Esse comportamento poderá ser percebido se o tráfego para o modelo tiver uma grande quantidade de picos, ou se houver várias políticas de ajuste de escala definidas para uma variante.
Se as instâncias não estiverem sendo adicionadas com rapidez suficiente para lidar com o aumento do tráfego, pense em diminuir esse valor.
Recursos relacionados
Para obter mais informações sobre a configuração de ajuste de escala automático, consulte os recursos a seguir:
-
Seção application-autoscaling da Referência de comandos da AWS CLI
nota
Recentemente, o SageMaker introduziu novos recursos de inferência construídos nos endpoints de inferência em tempo real. Você cria um endpoint do SageMaker com uma configuração de endpoint que define o tipo de instância e a contagem inicial de instâncias para o endpoint. Em seguida, crie um componente de inferência, que é um objeto de hospedagem do SageMaker que você pode usar para implantar um modelo em um endpoint. Para obter informações sobre como escalar componentes de inferência, consulte o SageMaker adiciona novos atributos de inferência para ajudar a reduzir os custos e a latência de implantação do modelo básico