O que é o Amazon EC2 Auto Scaling?
O Amazon EC2 Auto Scaling ajuda a garantir que você tenha o número correto de instâncias do Amazon EC2 disponíveis para processar a carga da sua aplicação. Você cria coleções de instâncias do EC2, chamadas de grupos de Auto Scaling. Você pode especificar o número mínimo de instâncias em cada grupo do Auto Scaling, e o Amazon EC2 Auto Scaling garante que seu grupo nunca seja menor que esse tamanho. Você pode especificar o número máximo de instâncias em cada grupo do Auto Scaling, e o Amazon EC2 Auto Scaling garante que seu grupo nunca seja maior que esse tamanho. Se você especificar a capacidade desejada, quando você criar o grupo ou em qualquer momento depois disso, o Amazon EC2 Auto Scaling garante que seu grupo tenha essa quantidade de instâncias. Se você especificar políticas de escalabilidade, o Amazon EC2 Auto Scaling poderá iniciar ou terminar instâncias à medida que a demanda da aplicação aumentar ou diminuir.
Por exemplo, o seguinte grupo do Auto Scaling tem um tamanho mínimo de quatro instâncias, uma capacidade desejada de seis instâncias e um tamanho máximo de doze instâncias. As políticas de escalabilidade que você define ajustam o número de instâncias, em seu número mínimo e máximo de instâncias, com base nos critérios que você especifica.
Atributos do Amazon EC2 Auto Scaling
Com o Amazon EC2 Auto Scaling, suas instâncias do EC2 são organizadas em grupos de Auto Scaling para que possam ser tratadas como uma unidade lógica para fins de escalabilidade e gerenciamento. Los grupos de Auto Scaling utilizan plantillas de lanzamiento (o configuraciones de lanzamiento) como plantillas de configuración para sus instancias EC2.
Estes são os principais atributos do Amazon EC2 Auto Scaling:
- Monitoramento da integridade das instâncias em execução
-
O Amazon EC2 Auto Scaling monitora automaticamente a integridade e a disponibilidade de suas instâncias usando as verificações de integridade do EC2 e substitui as instâncias terminadas ou com problemas para manter a capacidade desejada.
- Verificações de integridade personalizadas
-
Além das verificações de integridade incorporadas, você pode definir verificações de integridade personalizadas específicas da sua aplicação para verificar se está respondendo conforme o esperado. Se uma instância falhar em sua verificação de integridade personalizada, ela será automaticamente substituída para manter a capacidade desejada.
- Equilíbrio entre Zonas de disponibilidade.
-
Você pode especificar várias zonas de disponibilidade para o seu grupo do Auto Scaling, e o Amazon EC2 Auto Scaling equilibra suas instâncias uniformemente entre as zonas de disponibilidade à medida que o grupo escala. Isso proporciona alta disponibilidade e resiliência, protegendo suas aplicações contra falhas em um único local.
- Vários tipos de instâncias e várias opções de compra
-
Em um único grupo do Auto Scaling, você pode lançar vários tipos de instâncias e opções de compra (instâncias spot e sob demanda), permitindo otimizar os custos com o uso de instâncias spot. Você também pode aproveitar os descontos da instância reservada e do Savings Plans usando-os com as instâncias sob demanda no grupo.
- Substituição automatizada de instâncias spot
-
Se o seu grupo incluir instâncias spot Amazon EC2 Auto Scaling, ela poderá solicitar automaticamente a reposição da capacidade spot se as instâncias spot forem interrompidas. Por meio do rebalanceamento da capacidade, o Amazon EC2 Auto Scaling também pode monitorar e substituir proativamente suas instâncias spot que estão em alto risco de interrupção.
- Balanceamento de carga
-
Você pode usar o balanceamento de carga e as verificações de integridade do Elastic Load Balancing para garantir uma distribuição uniforme do tráfego de aplicações para suas instâncias íntegras. Sempre que as instâncias são iniciadas ou terminadas, o Amazon EC2 Auto Scaling registra e cancela automaticamente o registro das instâncias no balanceador de carga.
- Escalabilidade
-
O Amazon EC2 Auto Scaling também fornece várias formas de escalar seus grupos do Auto Scaling. O uso do ajuste de escala automático permite que você mantenha a disponibilidade da aplicação e reduza os custos, adicionando capacidade para lidar com cargas de pico e removendo a capacidade quando a demanda for menor. Você também pode ajustar manualmente o tamanho do grupo do Auto Scaling conforme necessário.
- Atualização de instância
-
O atributo de atualização de instância fornece um mecanismo para atualizar as instâncias de forma contínua quando você atualiza a AMI ou o modelo de execução. Você também pode usar uma abordagem em fases, conhecida como implantação canário, para testar uma nova AMI ou modelo de execução em um pequeno conjunto de instâncias antes de implementá-la em todo o grupo.
- Hooks do ciclo de vida
-
Os hooks do ciclo de vida são úteis para definir ações personalizadas que são chamadas quando novas instâncias são iniciadas ou antes que as instâncias sejam terminadas. Esse atributo é particularmente útil para a criação de arquiteturas orientadas por eventos, mas também ajuda a gerenciar instâncias ao longo de seu ciclo de vida.
- Suporte para cargas de trabalho com estado
-
Os hooks de ciclo de vida também oferecem um mecanismo para manter o estado no desligamento. Para garantir a continuidade das aplicações com estado, você também pode usar a proteção de redução da escala horizontalmente ou políticas de terminação personalizadas para evitar que instâncias com processos de longa duração sejam terminadas antecipadamente.
Para obter mais informações sobre os benefícios do Amazon EC2 Auto Scaling consulte Benefícios do Auto Scaling para a arquitetura de aplicações.
Preços do Amazon EC2 Auto Scaling
Como não há tarifas adicionais para o Amazon EC2 Auto Scaling, é fácil testá-lo e ver como ele pode beneficiar sua arquitetura da AWS. Você só paga pelos recursos da AWS (por exemplo, instâncias do EC2, volumes do EBS e alarmes do CloudWatch) que utiliza.
Conceitos básicos
Para começar, complete o tutorial Criar seu primeiro grupo de Auto Scaling para criar um grupo de Auto Scaling e ver como ele responde quando uma instância nesse grupo é encerrada.
Trabalhar com grupos do Auto Scaling
Você pode criar, acessar e gerenciar seus grupos do Auto Scaling usando qualquer uma das seguintes interfaces:
-
Console de gerenciamento da AWS – fornece uma interface da Web que você pode usar para acessar os grupos do Auto Scaling. Se você cadastrou uma Conta da AWS, poderá acessar seus grupos do Auto Scaling fazendo login no Console de gerenciamento da AWS, usando a caixa de pesquisa na barra de navegação para procurar grupos do Auto Scaling e escolhendo Auto Scaling groups (grupos do Auto Scaling).
-
AWS Command Line Interface (AWS CLI) – fornece comandos para um amplo conjunto de Serviços da AWS e é compatível com Windows, macOS e Linux. Para começar, consulte o Preparar-se para usar a AWS CLI. Para obter mais informações, consulte escalabilidade automática
na Referência de comandos da AWS CLI. -
AWS Tools for Windows PowerShell – fornece comandos para um conjunto amplo de produtos da AWS para os usuários que usam script no ambiente do PowerShell. Para começar a usar, consulte o Guia do usuário do Ferramentas da AWS para PowerShell. Para obter mais informações, consulte Referência de Cmdlets do Ferramentas da AWS para PowerShell.
-
AWS SDKs – fornecem operações de API específicas da linguagem e cuidam de muitos dos detalhes da conexão, como cálculo de assinaturas, tratamento de novas tentativas de solicitação e tratamento de erros. Para obter mais informações, consulte AWS SDKs
. -
API de consulta: fornece ações de API de baixo nível que são chamadas usando solicitações HTTPS. Usar a API de consulta é a maneira mais direta de acessar a Serviços da AWS. No entanto, ela exige que a aplicação trate detalhes de baixo nível, como gerar o hash para assinar a solicitação e tratar erros. Para obter mais informações, consulte a Referência da API do Amazon EC2 Auto Scaling.
-
CloudFormation – Suporta a criação de grupos do Auto Scaling usando modelos do CloudFormation. Para obter mais informações, consulte Criar um grupo do Auto Scaling com AWS CloudFormation.
Para se conectar a um AWS service (Serviço da AWS) de forma programática, use um endpoint. Para obter informações sobre endpoints para chamadas para o Amazon EC2 Auto Scaling, consulte Endpoints e cotas do Referência geral da AWS.