AWS Auto Scaling e Elastic Load Balance
O AWS Auto Scaling e o AWS Elastic Load Balancing (ELB) são recursos da AWS que podem ser usados separadamente ou em conjunto, para se obter elasticidade e alta disponibilidade na nuvem pública.
Amazon EC2 Auto Scaling
O Amazon EC2 Auto Scaling automatiza o processo de lançamento (escalonamento para fora) e término (escalonamento para dentro) de instâncias Amazon EC2 com base na demanda de tráfego para sua aplicação.
O Auto Scaling ajuda a garantir que você tenha o número correto de instâncias EC2 disponíveis para lidar com a carga da aplicação.
O Amazon EC2 Auto Scaling fornece elasticidade e escalabilidade.
Grupos de Auto Scaling (ASG)
Você cria coleções de instâncias EC2, chamadas de grupo Auto Scaling (ASG).
Você pode especificar um número mínimo, desejado e máximo de instâncias em cada ASG.
Por exemplo, o seguinte grupo do Auto Scaling tem um tamanho mínimo de uma (01) instância, uma capacidade desejada de duas (02) instâncias e um tamanho máximo de quatro (04) instâncias.
Políticas de Escalabilidade
As políticas de escalabilidade que você define ajustam o número de instâncias, dentro dos limites mínimo e máximo de instâncias, com base nos critérios que você especifica.
As políticas de dimensionamento determinam quando, se e como o ASG escala e diminui, usando:
- Escalonamento dinâmico/on-demand: Ajusta a quantidade de instâncias em resposta a mudanças na demanda.
- Escalonamento cíclico/agendado: Ajusta a quantidade de instâncias em horários específicos, de acordo com um cronograma.
Planos de Dimensionamento
Os Planos de Dimensionamento definem os gatilhos e momentos em que as instâncias devem ser provisionadas ou desprovisionadas.
Você pode especificar políticas de dimensionamento que controlam quando o Auto Scaling inicia ou termina instâncias.
Configuração de Lançamento
Uma configuração de lançamento é o modelo usado para criar novas instâncias EC2 e inclui parâmetros como:
- Família de instâncias
- Tipo de instância
- AMI (Amazon Machine Image)
- Par de chaves
- Grupos de segurança
A configuração de lançamento facilita a criação e a manutenção de um conjunto consistente de instâncias EC2 que atendem aos requisitos específicos da sua aplicação, garantindo que os recursos sejam dimensionados de maneira eficiente para atender à demanda.
Amazon Elastic Load Balancing (ELB)
O Amazon Elastic Load Balancing (ELB) distribui automaticamente o tráfego de aplicativos recebido entre vários destinos, como instâncias Amazon EC2, contêineres e endereços IP.
O ELB pode lidar com a carga variável do tráfego da sua aplicação em uma única Zona de Disponibilidade ou em várias Zonas de Disponibilidade.
Ele também possui alta disponibilidade, dimensionamento automático e segurança robusta necessária para tornar suas aplicações tolerantes a falhas.
Tipos de Balanceadores de Carga Elástico (ELB)
Existem três tipos de Balanceador de Carga Elástico (ELB) na AWS:
Application Load Balancer (ALB)
- Camada 7: O ALB opera na camada de aplicação do modelo OSI, roteando conexões com base no conteúdo da solicitação.
- Uso: É mais adequado para o balanceamento de tráfego HTTP e HTTPS.
- Características: Oferece roteamento avançado de solicitações voltado para a entrega de arquiteturas de aplicativos modernos, incluindo microsserviços e contêineres.
Network Load Balancer (NLB)
- Camada 4: O NLB opera na camada de transporte do modelo OSI, roteando conexões com base em dados de protocolo IP.
- Uso: É mais adequado para o balanceamento de tráfego TCP, onde é necessário um desempenho extremo.
- Características: Roteia o tráfego para destinos dentro da Amazon VPC e é capaz de lidar com milhões de solicitações por segundo, mantendo latências ultra baixas. Também é otimizado para lidar com padrões de tráfego repentinos e voláteis.
Gateway Load Balancer (GLB)
- Uso: Distribui conexões para dispositivos virtuais e dimensiona-os para cima ou para baixo.
- Protocolo: Atua com o protocolo Geneve, na porta 6081.
Vantagens do ELB
- Alta Disponibilidade: ELB garante que o tráfego seja distribuído de forma eficiente, evitando sobrecargas em uma única instância.
- Dimensionamento Automático: Ajusta automaticamente a capacidade de tráfego com base na demanda, garantindo desempenho ideal.
- Segurança Robusta: Integrado com serviços de segurança da AWS para fornecer uma camada adicional de proteção às suas aplicações.
Dica final para o exame: A maioria dos cenários que necessitar de um ELB, apontará para um servidor de aplicativos HTTP e assim a sua resposta será o ALB. Caso no enunciado ele indique que precise de um ELB para lidar com milhões de solicitações por segundo e opere com TCP, escolha o NLB.