Visão geral
O Auto Scaling permite aumentar ou diminuir a capacidade do Amazon EC2 automaticamente de acordo com as condições que você definir. Com o Auto Scaling, você pode garantir que o número de instâncias do Amazon EC2 usadas aumente transparentemente durante os picos de demanda para manter a performance e diminua automaticamente durante os períodos de baixa demanda para reduzir os custos. O Auto Scaling é especialmente útil para aplicações que experimentam variação de uso a cada hora, dia ou semana.
Mas o Auto Scaling representa mais do que uma maneira de adicionar e subtrair servidores. Também é um mecanismo para lidar com falhas semelhantes à maneira como o balanceamento de carga lida com servidores que não respondem. Este laboratório demonstrará a configuração do Auto Scaling para iniciar, monitorar e atualizar automaticamente o balanceador de carga associado às instâncias do Elastic Compute Cloud (EC2).
É importante saber duas coisas sobre o Auto Scaling. A primeira é que o Auto Scaling é uma maneira de definir a “temperatura da nuvem”. Você usa políticas para “definir o termostato” e, nos bastidores, o Auto Scaling controla o calor adicionando e subtraindo recursos do Amazon EC2 conforme necessário, a fim de manter a “temperatura” (capacidade).
Uma política de Auto Scaling consiste em:
-
Uma configuração de inicialização que define os servidores criados em resposta ao aumento da demanda.
-
Um grupo de Auto Scaling que define quando usar uma configuração de execução para criar novas instâncias de servidor e em qual zona de disponibilidade e contexto do balanceador de carga devem ser criados.
A segunda é que o Auto Scaling assume um conjunto de servidores homogêneos. Ou seja, o Auto Scaling não sabe que o Servidor A é uma instância extragrande de 64 bits e com mais capacidade do que uma instância pequena de 32 bits. Na verdade, esse é um princípio fundamental da computação em nuvem: escalar horizontalmente usando uma frota de recursos substituíveis; recursos individuais são secundários à própria frota.
Tópicos abordados
Ao final do curso, você poderá:
- Criar uma configuração de execução usando ferramentas de linha de comando.
- Criar um novo grupo Auto Scaling usando ferramentas da linha de comando
- Configurar notificações de Auto Scaling que são acionadas quando os recursos da instância se tornam muito altos ou muito baixos
- Criar políticas para aumentar ou reduzir o número de instâncias em execução no momento em resposta a alterações na utilização de recursos
Pré-requisitos do laboratório
Para concluir este laboratório com sucesso, você deve estar familiarizado com a administração básica do servidor Linux e se sentir confortável usando as ferramentas de linha de comando Linux. Você também deve ser proficiente neste momento com os conceitos básicos de criação de novas instâncias de servidor do Amazon EC2 e configuração do Balanceamento de carga elástico.
Outros serviços da AWS
Outros produtos da AWS além dos necessários para esse laboratório são desabilitados pela política do IAM durante o tempo de acesso nesse laboratório. Além disso, os recursos dos serviços usados neste laboratório são limitados ao que é exigido pelo laboratório e, em alguns casos, são ainda mais limitados como um aspecto intencional do projeto do laboratório. Espere erros ao acessar outros serviços ou executar ações além das fornecidas neste guia de laboratório.
Principais componentes do Auto Scaling
Quando você inicia um servidor manualmente, são fornecidos parâmetros como a imagem de máquina da Amazon (AMI), qual tipo de instância e qual grupo de segurança será iniciado. O Auto Scaling chama isso de configuração de execução. É simplesmente um conjunto de parâmetros que descrevem o tipo de instâncias a serem executadas.
Grupos de Auto Scaling informam ao sistema o que fazer com uma instância depois que ela é executada. Aqui, você especifica em quais zonas de disponibilidade suas instâncias devem ser executadas, de quais balanceadores de carga eles receberão tráfego e, mais importante, o número mínimo e máximo de instâncias a serem executadas em um determinado momento.
Você precisa de regras que informam ao sistema quando adicionar ou subtrair instâncias. Eles são conhecidos como políticas de escalabilidade e têm regras como “escalar a frota em 10%” e “escalar por 1 instância”.
O tempo é importante
Há custos relacionados ao uso do Auto Scaling. Há dois fatores importantes que afetam diretamente o custo da AWS e também a maneira pela qual sua aplicação é escalada: custo e tempo.
Instâncias Linux do Amazon EC2 são cobradas por segundo
Isso significa que você pode expandir os servidores quando houver muita atividade e, em seguida, dimensionar para reduzir custos quando for necessária uma menor capacidade.
Escalar leva tempo
Considere a seguinte consulta. Na maioria das situações, uma quantidade considerável de tempo passa entre quando ocorre a necessidade de um evento de escala e quando o evento de escala acontece.
- Neste exemplo, a regra diz que você deve estar em uma condição particular por pelo menos dois minutos.
- O CloudWatch é o sistema de coleta de dados subjacente que monitora estatísticas como a utilização da CPU. É um protocolo de verificações e, em geral, leva 60 segundos para agregar novos dados.
- O Auto Scaling também realiza verificações contínuas, e leva mais 60 segundos.
- Depois, há tempo de inicialização para seu servidor. Um servidor grande e complexo pode levar muitos minutos para iniciar.
- Finalmente, o balanceador de carga precisa pesquisar o servidor por alguns ciclos antes de se sentir confortável com a integridade do servidor e aceitar solicitações.