Melhores práticas do dimensionamento automático
O dimensionamento automático do Azure Monitor aplica-se apenas aos Conjuntos de Escala de Máquinas Virtuais do Azure, aos Serviços de Nuvem do Azure, ao recurso Aplicativos Web do Serviço de Aplicativo do Azure e ao 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, o que é eliminado aumentando as instâncias e diminuindo 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 dimensionar, verificando se ela ultrapassou o limite configurado para expansão ou expansão. Você pode exibir uma lista de métricas pelas quais o dimensionamento automático pode ser dimensionado em Métricas comuns de dimensionamento automático do Azure Monitor.
- Todos os limites são calculados em um nível de instância. Um exemplo é "dimensionar por uma instância quando a CPU > média é de 80% quando a contagem de instâncias é 2". Isso significa expansão quando a CPU média em todas as instâncias é superior a 80%.
- Todas as falhas de dimensionamento automático são registradas no registro de atividades. Em seguida, você pode configurar um alerta de registro de atividades para que possa ser notificado por e-mail, SMS ou 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 registro de atividades. Em seguida, você pode configurar um alerta de registro de atividades para que possa ser notificado por e-mail, SMS ou webhooks sempre que houver uma ação de dimensionamento automático bem-sucedida. Você também pode configurar notificações por e-mail ou webhook para ser notificado sobre ações de dimensionamento bem-sucedidas por meio da guia notificações na configuração de dimensionamento automático.
Práticas recomendadas de dimensionamento automático
Use as seguintes práticas recomendadas ao usar o dimensionamento automático.
Verificar se os valores máximo e mínimo são diferentes e têm uma margem adequada entre si
Se você tiver uma configuração com mínimo=2, máximo=2 e a contagem de instâncias atual for 2, nenhuma ação de escala poderá ocorrer. Mantenha uma margem adequada entre as contagens de instâncias máxima e mínima, que são inclusivas. O dimensionamento automático dimensiona sempre entre estes limites.
O dimensionamento manual é redefinido pela escala automática mínima e máxima
Se você atualizar manualmente a contagem de instâncias para um valor acima ou abaixo do máximo, o mecanismo de dimensionamento automático será automaticamente reduzido para o mínimo (se abaixo) ou máximo (se acima). Por exemplo, você define o intervalo entre 3 e 6. Se você tiver uma instância em execução, o mecanismo de dimensionamento automático será dimensionado para três instâncias em sua próxima execução. Da mesma forma, se você definir manualmente a escala para oito instâncias, na próxima execução a escala automática a reduzirá para seis instâncias em sua próxima execução. O dimensionamento manual é temporário, a menos que você também redefina as regras de dimensionamento automático.
Use sempre uma combinação de regras de expansão e expansão que execute um aumento e uma diminuição
Se você usar apenas uma parte da combinação, o dimensionamento automático só executará uma ação em uma única direção (dimensionamento para fora ou para dentro) até atingir a contagem máxima ou mínima de instâncias, conforme definido no perfil. Esta situação não é a ideal. Idealmente, você deseja que seu recurso seja dimensionado em momentos de alto uso para garantir a disponibilidade. Da mesma forma, em momentos de baixo uso, você deseja que seu recurso seja dimensionado para que você possa realizar economias de custos.
Quando você usa uma regra de expansão e de expansão, o ideal é usar a mesma métrica para controlar ambas. Caso contrário, é possível que as condições de scale-in e scale-out possam ser atendidas ao mesmo tempo e resultar em algum nível de agitação. Por exemplo, não recomendamos a seguinte combinação de regras porque não há nenhuma regra de dimensionamento para uso de memória:
- Se a CPU > 90%, dimensione em 1
- Se Memória > 90%, dimensione em 1
- Se a CPU < for de 45%, aumente a escala em 1
Neste exemplo, você pode ter uma situação em que o uso de memória é superior a 90%, mas o uso da CPU é inferior a 45%. Este cenário pode levar à agitação desde que ambas as condições sejam cumpridas.
Escolher a estatística adequada para a 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 pela qual dimensionar. A estatística mais comum é a Média.
Considerações relativas aos valores dos limiares de dimensionamento das métricas especiais
Para métricas especiais, como uma métrica de comprimento de fila do Armazenamento do Azure ou do Barramento de Serviço do Azure, o limite é o número médio de mensagens disponíveis por número atual de instâncias. Escolha cuidadosamente o valor limite para essa métrica.
Vamos ilustrá-lo com um exemplo para garantir que você entenda melhor o comportamento:
- Aumente as instâncias em 1 contagem quando a contagem >de mensagens da fila de armazenamento = 50
- Diminuir instâncias em 1 contagem quando a contagem <de mensagens da fila de armazenamento = 10
Considere a seguinte sequência:
- Há duas instâncias de fila de armazenamento.
- As mensagens continuam chegando e, quando você revisa a fila de armazenamento, a contagem total é de 50. Você pode supor que o dimensionamento automático deve iniciar uma ação de expansão. No entanto, observe que ainda é 50/2 = 25 mensagens por instância. Portanto, o scale-out não ocorre. Para que a primeira ação de expansão aconteça, a contagem total de mensagens na fila de armazenamento deve ser 100.
- Em seguida, suponha que a contagem total de mensagens atinja 100.
- Uma terceira instância de fila de armazenamento é adicionada devido a uma ação de expansão. A próxima ação de expansão não acontecerá até que a contagem total de mensagens na fila atinja 150 porque 150/3 = 50.
- Agora, o número de mensagens na fila fica menor. Com três instâncias, a primeira ação de dimensionamento acontece quando o total de mensagens em todas as filas soma 30 porque 30/3 = 10 mensagens por instância, que é o limite de expansão.
Considerações sobre o dimensionamento quando são configuradas várias regras num perfil
Há casos em que você pode ter que definir várias regras em um perfil. As seguintes regras de dimensionamento automático são usadas pelo mecanismo de dimensionamento automático quando várias regras são definidas:
- Na expansão, o dimensionamento automático é executado se alguma regra for atendida.
- No scale-in, o dimensionamento automático exige que todas as regras sejam cumpridas.
Para ilustrar, suponha que você tenha quatro regras de dimensionamento automático:
- Se a CPU < for de 30%, aumente a escala em 1
- Se Memória < 50%, escala em 1
- Se a CPU > for 75%, aumente em 1
- Se a memória for 75 > %, reduza em 1
Em seguida, ocorre a seguinte ação:
- Se a CPU é de 76% e a memória é de 50%, nós dimensionamos.
- Se a CPU é de 50% e a memória é de 76%, nós dimensionamos.
Por outro lado, se a CPU for de 25% e a memória de 51%, o dimensionamento automático não será dimensionado. Para aumentar a escala, a CPU deve ser de 29% e a memória de 49%.
Selecionar sempre uma contagem de instâncias predefinidas segura
A contagem de instâncias padrão é importante porque o dimensionamento automático dimensiona seu serviço para essa contagem quando as métricas não estão disponíveis. Como resultado, selecione uma contagem de instâncias padrão que seja segura para suas cargas de trabalho.
Configurar notificações de dimensionamento automático
Dimensionar automaticamente as postagens no registro de atividades se ocorrer qualquer uma das seguintes condições:
- O dimensionamento automático emite uma operação de escala.
- O serviço de dimensionamento automático conclui com êxito uma ação de escala.
- O serviço de dimensionamento automático não consegue executar uma ação de escala.
- 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 deteta batidas e aborta a tentativa de escala. Você vê um tipo de log de
Flapping
nessa situação. Se você vir esse tipo de log, considere se seus limites são muito estreitos. - O dimensionamento automático deteta batidas, mas ainda é capaz de dimensionar com êxito. Você vê um tipo de log de
FlappingOccurred
nessa situação. Se você vir esse tipo de log, o mecanismo de dimensionamento automático tentou dimensionar (por exemplo, de quatro instâncias para duas), mas determinou que essa alteração causaria batimento. Em vez disso, o mecanismo de dimensionamento automático foi dimensionado 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 batimento, por isso foi dimensionado para esse número de instâncias.
Você também pode usar um alerta de registro de atividades para monitorar a integridade do mecanismo de dimensionamento automático. Um exemplo mostra como criar um alerta de registro de atividades para monitorar todas as operações do mecanismo de dimensionamento automático em sua assinatura. Outro exemplo mostra como criar um alerta de registro de atividades para monitorar todas as operações de expansão/expansão de dimensionamento automático com falha em sua assinatura.
Além de usar alertas de registro de atividades, você também pode configurar notificações por e-mail ou webhook para ser notificado sobre ações de dimensionamento por meio da guia notificações na configuração de dimensionamento automático.
Envie dados com segurança usando o TLS 1.2
Para garantir a segurança dos dados em trânsito para o Azure Monitor, recomendamos que você configure o agente para usar pelo menos o Transport Layer Security (TLS) 1.2. Versões mais antigas do TLS/Secure Sockets Layer (SSL) foram consideradas vulneráveis. Embora eles ainda funcionem atualmente para permitir a compatibilidade com versões anteriores, não os recomendamos. A indústria está se movendo rapidamente para abandonar o apoio a esses protocolos mais antigos.
O PCI Security Standards Council estabeleceu um prazo de 30 de junho de 2018 para desativar versões mais antigas do TLS/SSL e atualizar para protocolos mais seguros. Depois que o Azure descartar o suporte herdado, se seus agentes não puderem se comunicar pelo menos pelo TLS 1.2, você não poderá 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 necessário. É preferível permitir que o agente detete, negocie e aproveite automaticamente os futuros padrões de segurança. Caso contrário, você pode perder a segurança adicional dos padrões mais recentes e possivelmente enfrentar problemas se o TLS 1.2 for preterido em favor desses padrões mais recentes.
Próximos passos
- Batimento automático
- Crie um alerta de registo de atividades para monitorizar todas as operações do motor de dimensionamento automático na sua subscrição
- Crie um alerta de registro de atividades para monitorar todas as operações de expansão/expansão de dimensionamento automático com falha em sua assinatura