Práticas recomendadas para dimensionamento automático

O dimensionamento automático do Azure Monitor se aplica apenas aos Conjuntos de Dimensionamento de Máquinas Virtuais do Azure, Serviços de Nuvem do Azure, Recurso de Aplicativos Web do Serviço de Aplicativo do Azure e Gerenciamento de API do Azure.

Conceitos de dimensionamento automático

  • Um recurso pode ter apenas uma configuração de dimensionamento automático.
  • Uma configuração de dimensionamento automático pode ter um ou mais perfis e cada perfil pode ter uma ou mais regras de dimensionamento automático.
  • Uma configuração de dimensionamento automático dimensiona instâncias horizontalmente, que é escalar ao aumentar as instâncias e reduzir ao diminuir o número de instâncias.
  • Uma configuração de dimensionamento automático tem um valor máximo, mínimo e padrão de instâncias.
  • Um trabalho de dimensionamento automático sempre lê a métrica associada para expandir, verificando se ele ultrapassou o limite configurado para escalar ou reduzir horizontalmente. Você pode exibir uma lista de métricas que o dimensionamento automático pode dimensionar em métricas comuns de dimensionamento automático do Azure Monitor.
  • Todos os limites são calculados em um nível de instância. Por exemplo, "escalar horizontalmente por uma instância quando a média da CPU > 80% quando a contagem de instâncias for 2" significa expandir quando a média da CPU em todas as instâncias for maior que 80%.
  • Todas as falhas de dimensionamento automático são registradas no log de atividades. Você pode configurar um alerta do log de atividades para ser notificado por email, SMS, webhooks sempre que houver uma falha de dimensionamento automático.
  • Da mesma forma, todas as ações de escala bem-sucedidas são lançadas no log de atividades. Você pode configurar um alerta do log de atividades para que você possa ser notificado por email, SMS, webhooks sempre que houver uma ação de dimensionamento automático com êxito. Você também pode configurar as notificações por e-mail ou webhook para obter notificações de ações de dimensionamento bem-sucedidas através do guia de notificações nas configurações de dimensionamento automático.

Práticas recomendadas de dimensionamento automático

Use as seguintes práticas recomendadas ao usar o dimensionamento automático.

Verifique se os valores mínimo e máximo são diferentes e têm uma margem suficiente entre eles

Se você tiver uma configuração que tenha no máximo = 2, mínimo = 2 e a atual contagem de instâncias for 2, nenhuma ação de escala poderá ocorrer. Mantenha uma margem suficiente entre as contagens de instância máxima e mínima, que são inclusivas. O dimensionamento automático sempre dimensiona dentro desses limites.

A escala manual é restaurada pelo máximo e pelo mínimo do dimensionamento automático

Se você atualizar manualmente a contagem de instâncias para um valor acima ou abaixo do máximo, o mecanismo de dimensionamento automático dimensionará novamente para o mínimo (se estiver abaixo) ou máximo (se estiver acima) automaticamente. Por exemplo, você pode definir o intervalo entre 3 e 6. Se você tiver uma instância em execução, o mecanismo de dimensionamento automático dimensionará para três instâncias na sua próxima execução. Da mesma forma, se você definir manualmente a escala para oito instâncias, na próxima execução, o dimensionamento automático será dimensionado de volta para seis instâncias na sua próxima execução. A escala manual é temporária, a menos que você também restaure as regras de dimensionamento automático.

Sempre use uma combinação de regras de escala e redução horizontal que executa um aumento e uma redução

Se você usar apenas uma parte da combinação, o dimensionamento automático só terá ação em uma direção (escala ou redução horizontal) até atingir o máximo ou mínimo de contagens de instâncias, como definidas no perfil. Essa situação não é ideal. O ideal é que você deseja que seu recurso escale horizontalmente em momentos de alto uso para garantir a disponibilidade. Da mesma forma, em momentos de pouco uso, você deseja que seu recurso reduza horizontalmente para economizar custos.

Quando você usa uma regra de escala e expansão, o ideal é usar a mesma métrica para controlar ambos. Caso contrário, é possível que as condições de redução e expansão possam ser atendidas ao mesmo tempo, resultando em algum nível de oscilação. Por exemplo, a seguinte combinação de regras não é recomendada porque não há uma regra para reduzir horizontalmente para uso de memória:

  • Se CPU > 90%, escale horizontalmente em 1
  • Se Memória > 90%, escale horizontalmente em 1
  • Se a CPU for < 45%, reduza horizontalmente em 1

Neste exemplo, você pode ter uma situação em que o uso de memória seja superior a 90%, mas o uso da CPU seja inferior a 45%. Isso pode levar à oscilação desde que ambas as condições sejam atendidas.

Escolher a estatística apropriada para sua métrica de diagnóstico

Para métricas de diagnóstico, você pode escolher entre Média, Mínimo, Máximo e Total como uma métrica para expandir. A estatística mais comum é Média.

Considerações sobre valores de dimensionamento de limite para métricas especiais

Para métricas especiais, como a métrica do comprimento de fila do Barramento de Serviço ou de Armazenamento do Microsoft Azure, o limite é o número médio de mensagens disponíveis por número atual de instâncias. Opte por escolher cuidadosamente o valor de limite para esta métrica.

Vamos ilustrar com um exemplo para garantir que você entenda melhor o comportamento:

  • Aumentar o número de instâncias por contagem de 1 quando a contagem de mensagem de Fila de Armazenamento >= 50
  • Reduzir o número de instâncias por contagem de 1 quando a contagem de mensagem de fila de armazenamento <= 10

Considere a sequência a seguir:

  1. Há duas instâncias de fila de Armazenamento.
  2. As mensagens continuam chegando e, ao examinar a fila de armazenamento, a contagem total é de 50. Você pode pressupor que o dimensionamento automático deve iniciar uma ação de escala horizontal. No entanto, observe que ainda é 50/2 = 25 mensagens por instância. Portanto, a expansão não ocorre. Para a primeira expansão acontecer, a contagem total de mensagens na fila de armazenamento deve ser de 100.
  3. Em seguida, suponha que a contagem total de mensagens chegue a 100.
  4. Uma terceira instância de fila de armazenamento é adicionada devido a uma ação de expansão. A ação de expansão a seguir não ocorrerá até que a contagem total de mensagens na fila atinja 150 porque 150/3 = 50.
  5. Agora, o número de mensagens na fila é menor. Com três instâncias, a primeira ação de redução horizontal acontece quando o total de mensagens em todas as filas atinge 30, porque 30/3 = 10 mensagens por instância, que é o limite de redução horizontal.

Considerações sobre dimensionamento quando várias regras são configuradas em um perfil

Há casos em que talvez você precise definir várias regras em um perfil. As regras de dimensionamento automático a seguir são usadas pelo mecanismo de dimensionamento automático quando várias regras são definidas:

  • Na expansão, o dimensionamento automático será executado se nenhuma regra for atendida.
  • Em reduzir horizontalmente, o dimensionamento automático exige que todas as regras sejam atendidas.

Para ilustrar, suponha que você tenha as seguintes quatro regras de dimensionamento automático:

  • Se a CPU < 30%, reduza horizontalmente em 1
  • Se Memória < 50%, reduza horizontalmente em 1
  • Se CPU > 75%, escalar horizontalmente em 1
  • Se Memória > 75, escalar horizontalmente em 1

Em seguida, ocorre a seguinte ação:

  • Se a CPU for 76% e a Memória 50%, escalaremos horizontalmente.
  • Se a CPU for 50% e a Memória 76%, escalaremos horizontalmente.

Por outro lado, se a CPU é 25% e a memória é 51%, o dimensionamento automático não será reduzido horizontalmente. Para reduzir horizontalmente, a CPU deve ser 29% e a memória 49%.

Sempre selecione uma contagem de instância de segurança padrão

A contagem de instâncias padrão é importante porque o dimensionamento automático escala o serviço para essa contagem quando métricas não estão disponíveis. Portanto, selecione uma contagem de instância padrão que seja segura para suas cargas de trabalho.

Configurar notificações de dimensionamento automático

O dimensionamento automático registrará no log de atividades se qualquer das seguintes condições ocorrer:

  • O dimensionamento automático emite uma operação de escala.
  • O serviço de dimensionamento automático conclui com sucesso uma ação de escala.
  • O serviço de dimensionamento automático não pode executar uma ação de dimensionamento.
  • As métricas não estão disponíveis para o serviço de dimensionamento automático tomar uma decisão de escala.
  • As métricas estão disponíveis (recuperação) novamente para tomar uma decisão de escala.
  • O dimensionamento automático detecta oscilação e anula a tentativa de escala. Você verá um tipo de log de Flapping nessa situação. Se você vir isso, considere se os limites estão muito estreitos.
  • O dimensionamento automático detecta oscilação, mas ainda pode ser escalado com êxito. Você verá um tipo de log de FlappingOccurred nessa situação. Se você vir isso, o mecanismo de dimensionamento automático tentou escalar (por exemplo, de quatro instâncias para duas), mas determinou que isso causaria oscilação. Em vez disso, o mecanismo de dimensionamento automático foi escalado para um número diferente de instâncias (por exemplo, usando três instâncias em vez de duas), o que não causa mais oscilações. Então, ele foi escalado para esse número de instâncias.

Você também pode usar um alerta do log de atividades para monitorar a integridade do mecanismo de dimensionamento automático. Um exemplo mostra como criar um alerta do log de atividades para monitorar todas as operações de mecanismo de dimensionamento automático em sua assinatura. Outro exemplo mostra como criar um alerta do log de atividades para monitorar todas as operações de redução/expansão de dimensionamento automático com falha na sua assinatura.

Além de usar os alertas do log de atividades, você também pode configurar as notificações por email ou de webhook para obter notificações de ações de escala por meio da guia de notificações na configuração de dimensionamento automático.

Enviar dados com segurança usando o TLS 1.2

Para garantir a segurança dos dados em trânsito para o Azure Monitor, incentivamos você a configurar o agente para usar pelo menos o protocolo TLS 1.2. Versões mais antigas do protocolo TLS/SSL foram consideradas vulneráveis. Embora ainda funcionem atualmente para permitir a compatibilidade com versões anteriores, eles não são recomendados. O setor está rapidamente se preparando para deixar de dar suporte a esses protocolos mais antigos.

O PCI Security Standards Council estabeleceu um prazo para 30 de junho de 2018 para desabilitar as versões mais antigas de TLS/SSL e atualizar para protocolos mais seguros. Depois que o Azure tiver descartado o suporte herdado, se seus agentes não conseguirem se comunicar pelo menos pelo TLS 1.2, você não conseguirá enviar dados para os Logs do Azure Monitor.

Recomendamos que você não defina explicitamente seu agente para usar apenas o TLS 1.2, a menos que seja absolutamente necessário. É preferível permitir que o agente detecte, negocie e aproveite automaticamente os padrões de segurança futuros. Caso contrário, você poderá perder a segurança adicionada dos padrões mais novos e, possivelmente, ter problemas se o TLS 1.2 for preterido em favor desses padrões mais novos.

Próximas etapas