Os grupos de autoescalonamento permitem que os usuários do Locaweb Cloud gerenciem uma coleção de máquinas virtuais de forma automática. Em outras palavras, a funcionalidade viabiliza o aumento ou redução da quantidade das instâncias em operação no grupo, de acordo com a demanda do sistema, a partir de regras previamente estabelecidas.
Este tutorial apresenta o passo a passo a ser seguido para a criação de grupos de autoescalonamento. Mas, antes de executar esse processo, é preciso que alguns recursos tenham sido configurados na sua conta. Atenção, portanto, ao que você deve providenciar previamente.
Pré-requisitos
Balanceador de carga
Esse recurso é essencial para distribuir o tráfego de entrada, como as visitas a um site, por exemplo, de forma equilibrada entre todas as VMs de um grupo. Quando VMs são adicionadas ou removidas do grupo, é o balanceador de carga que inclui ou exclui máquinas virtuais do rodízio, garantindo a operacionalidade do sistema sem interrupções.
Rede (VPC ou rede isolada)
O grupo de autoescalonamento precisa “saber” onde lançar novas máquinas virtuais. Por isso, é necessário especificar em qual rede, seja isolada ou a tier de uma VPC, tal processo ocorrerá. Você pode indicar uma rede já existente ou criá-la agora!
Par de chaves SSH
É a credencial de acesso associada à cada VM, no momento da criação. Você não precisa de senhas e ainda conta com um sistema de concessão de acesso altamente seguro, que funciona como uma fechadura digital altamente avançada.
Grupos de afinidade/antiafinidade
Este é um recurso opcional, mas muito importante, pois oferece resiliência aos grupos de autoescalonamento. Isso considerando a criação de regras determinantes para a dinâmica operacional das VMs pertencentes ao grupo.
Etapa 1: criando o seu grupo de autoescalonamento
- No painel do Locaweb Cloud, navegue até a opção computação e, em seguida, selecione o item grupos de VMs de autoescalonamento.
- Em seguida, clique no botão novo grupo de VMs de autoescalonamento.
- Agora, preencha o formulário automaticamente gerado pelo sistema.
Agora, será o momento de entender cada etapa da configuração do seu grupo de escalonamento. Vamos tratar de cada ação que você precisa executar.
- Escolha a zona mais adequada ao seu projeto.
- O passo seguinte é a escolha do template, para a definição da imagem associada à sua VM.
- Agora, é necessário optar por um dos itens disponíveis na janela oferta de computação, para indicar os recursos virtuais que a VM terá. Defina CPU, memória e tipo de disco, conforme os parâmetros mais adequados aos seus objetivos específicos.
- Agora, você poderá ou não adicionar um disco de dados, que operará de forma independente em relação ao disco root da sua VM. É um passo opcional que facilita backups e migrações.
- Se deseja adicionar um disco, você pode marcar a opção Disco de dados. Em seguida, opte por uma das ofertas disponíveis na lista. Caso esse não seja o seu interesse, certifique-se que a opção Disco de dados está desativada.
- A etapa seguinte é a configuração da rede. Na opção redes, você define como suas VMs serão conectadas, optando por usar uma rede existente ou criar uma nova, em casos de ambientes isolados ou com regras específicas.
- Em seguida, indique qual das suas redes ativas atuará como padrão do grupo.
- Após apontar uma rede padrão com um IP público, você verá uma lista de balanceadores de carga vinculados à rede que indicou como padrão. Selecione o balanceador de carga que deseja utilizar.
Etapa 2: estabelecendo as condições de autoescalonamento
Agora, é preciso estabelecer as políticas de autoescalonamento, definindo as regras de aumento ou redução do grupo, em conformidade com a demanda e mantendo a eficiência operacional do sistema.
A visão é bem lógica: os princípios de aumento (scale-up) servem para adicionar VMs automaticamente quando o tráfego cresce. Na direção contrária, os quesitos de redução (scale-down) determinam a redução de VMs, para acompanhar a diminuição do tráfego.
- Definindo os requisitos para o aumento (scale-up)
Neste campo, você tem duas possibilidades:
- Escolher uma das políticas já existentes que atenda à sua demanda: nesse caso, a adição de VMs se ajustará aos parâmetros pré-definidos.
- Criar um novo conjunto de requisitos, clicando no botão adicionar política: nesse caso, você seguirá o processo deste vídeo e também descrito no passo a passo abaixo.
- Nome da política: use uma nomenclatura descritiva, que permita identificar rapidamente os requisitos presentes.
Exemplo: Aumentar-CPU-Acima-75
- Duração: indique, em segundos, o período de tempo durante o qual deve perdurar a condição de aumento, para que uma nova VM seja adicionada. É uma forma de evitar que o grupo reaja a picos de carga muito curtos e passageiros.
Exemplo: se for indicada uma duração de 180 segundos — equivalente a três minutos — o uso de CPU precisará passar esse intervalo de tempo acima do limite de operação, para que uma nova VM seja criada.
- Tempo de silêncio (cooldown period): defina, também em segundos, o intervalo de tempo que deve ser considerado pelo sistema entre a adição de uma nova VM e o início de qualquer outra atividade de autoescalonamento.
Exemplo: no caso de um tempo de silêncio de 300 segundos, a nova VM levará cinco minutos para começar a receber tráfego.
- Condições de ativação: aqui, temos um conjunto de três campos que trabalham juntos na criação da regra que acionará uma política como: se o uso médio da CPU ficar acima de 75% por cinco minutos. Este trio é composto por:
- Contador: onde deve ser indicada a métrica de desempenho a ser monitorada pelo sistema, como determinante da decisão de adicionar nova VM.
Exemplo: Uso de CPU, Tráfego de Rede. - Operador: trata-se do operador de comparação utilizado na regra. Para uma política de aumento, você geralmente usará “maior que” (>) ou “maior ou igual a” (>=).
- Limiar (threshold): é o valor limite que a métrica do “contador” deve ultrapassar para acionar a regra que dispara a política de aumento.
Exemplo: se o contador for uso de CPU, o operador for > e o limiar for 75, a regra será ativada quando o uso médio de CPU de todas as VMs do grupo ultrapassar 75% do limite de uso, durante o período de tempo definido na duração.
- Definindo os requisitos de redução (scale-down)
- Nome da política: use uma nomenclatura descritiva, que permita identificar rapidamente os requisitos presentes.
Exemplo: Reduzir-CPU-Abaixo-75
- Duração: indique, em segundos, o período de tempo durante o qual deve perdurar a condição de redução, para que uma VM seja removida. É uma forma de evitar que o grupo reaja a quedas de uso passageiras.
Exemplo: se for indicada uma duração de 180 segundos — equivalente a três minutos — o uso de CPU precisará passar esse intervalo de tempo abaixo do limite de operação, para que uma VM seja removida.
- Tempo de silêncio (cooldown period): defina, também em segundos, o intervalo de tempo que deve ser considerado pelo sistema entre a remoção de uma VM e o início de qualquer outra atividade de autoescalonamento.
- Condições de ativação: aqui, temos um conjunto de três campos que trabalham juntos na criação da regra que acionará uma política como: se o uso médio da CPU ficar abaixo de 25% por cinco minutos. Este trio é composto por:
- Contador: onde deve ser indicada a métrica de desempenho a ser monitorada pelo sistema, como determinante da decisão de remover uma VM.
Exemplo: Uso de CPU, Tráfego de Rede. - Operador: trata-se do operador de comparação utilizado na regra. Para uma política de redução, você geralmente usará “menor que” (<) ou “menor ou igual a” (<=).
- Limiar (threshold): é o valor limite que a métrica do “contador” deve ultrapassar para acionar a regra que dispara a política de redução.
Exemplo: se o contador for uso de CPU, o operador for < e o limiar for 25, a regra será ativada quando o uso médio de CPU de todas as VMs do grupo ficarem abaixo de 25% do limite de uso, durante o período de tempo definido na duração.
Etapa 3: Modo avançado
Esse modo deve ser ativado por usuários do Locaweb Cloud que precisem configurar chave SSH, grupo de afinidade e userdata:
- O primeiro passo é selecionar um par de chaves existente, caso já o tenha gerado, ou criar um par de chaves SSH. Para isso, basta clicar no link que aparece na área superior do painel Locaweb Cloud.
2. Em seguida, é preciso associar suas VMs a um grupo de afinidade preexistente. Esse procedimento instrui o sistema quanto ao número de VMs que devem ser criadas, bem como aponta onde devem ser alocadas na infraestrutura da nuvem.
3. Agora, caso já tenha um script registrado no sistema, basta selecionar a opção userdata registrado. Se não houver necessidade de nenhuma configuração automática, clique em não, obrigado, no modal ilustrado no print acima.
Etapa 4: Definindo os detalhes das VMs e do grupo de autoescalonamento
- No modal detalhes, associado à criação do grupo, você deve preencher os campos e seguir as orientações abaixo:
Nome: crie uma nomenclatura única e descritiva, facilitando a identificação do seu grupo de autoescalonamento.
Exemplo: Grupo-Web-Producao, Grupo-Processamento-Noturno.
Mínimo de membros: indique a quantidade mínima de VMs que o grupo deve manter continuamente em operação.
Máximo de membros: indique a quantidade máxima de VMs que o grupo pode criar.
Intervalo de verificação: defina, em segundos, com que frequência o serviço de autoescalonamento verificará as métricas de desempenho, como a média de CPU, para avaliar se alguma política de aumento ou redução precisa ser acionada.
- Clique em criar. O grupo está criado e, se você tiver definido uma “capacidade desejada” maior que zero, começará a lançar VMs conforme os critérios da política estabelecida por você.
Próximos passos
Utilizar userdata para configurar as VMs
Essa é uma funcionalidade que torna mais prática a vida do usuário do Locaweb Cloud. Isso porque cada nova VM criada pelo grupo vai iniciar com tudo já configurado. A utilização de um script userdata automatiza a instalação de softwares e aplicações, garantindo que todas as instâncias do seu grupo sejam idênticas e prontas para uso.
Criar um snapshot
O snapshot da sua VM é um ponto de restauração seguro, possibilitando a reversão para um estado funcional caso alguma configuração não saia como esperado. Sua criação é recomendada antes que você aplique políticas de escalonamento que possam alterar seu ambiente.