Benefícios do Amazon EC2 Auto Scaling - Amazon EC2 Auto Scaling

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Benefícios do Amazon EC2 Auto Scaling

A adição do Amazon EC2 Auto Scaling à arquitetura de seu aplicativo é uma maneira de maximizar os benefícios doAWSNuvem. Quando você usa o Amazon EC2 Auto Scaling, seus aplicativos obtêm os seguintes benefícios:

  • Melhor tolerância a falhas. O Amazon EC2 Auto Scaling pode detectar quando uma instância não está íntegra, encerrá-la e ativar uma instância para substituí-la. Você também pode configurar o Amazon EC2 Auto Scaling para usar várias Zonas de disponibilidade. Se uma Zona de disponibilidade se tornar indisponível, o Amazon EC2 Auto Scaling poderá ativar instâncias em outra zona para compensar.

  • Melhor disponibilidade. O Auto Scaling do Amazon EC2 ajuda a garantir que seu aplicativo sempre tenha a capacidade certa para lidar com a demanda do tráfego atual.

  • Melhor gerenciamento de custos. O Amazon EC2 Auto Scaling pode aumentar e reduzir dinamicamente a capacidade, conforme necessário. Como você paga pelas instâncias do EC2 que usa, você pode economizar ativando instâncias quando elas são realmente necessárias e encerrando-as quando não são necessárias.

Exemplo: Cobrindo demanda variável

Para demonstrar alguns dos benefícios do Amazon EC2 Auto Scaling, considere um aplicativo web básico em execução noAWS. Esse aplicativo permite que os funcionários pesquisem salas de conferência que podem usar para reuniões. Durante o início e o fim da semana, o uso desse aplicativo é mínimo. Durante o meio da semana, mais funcionários agendam reuniões, de forma que a demanda no aplicativo aumenta significativamente.

O gráfico a seguir mostra quanto da capacidade do aplicativo é usado durante o período de uma semana.


					Um exemplo da demanda da capacidade em um aplicativo.

Tradicionalmente, há duas maneiras de planejar essas alterações na capacidade. A primeira opção é adicionar servidores suficientes para que o aplicativo sempre tenha capacidade suficiente para atender à demanda. A desvantagem dessa opção, no entanto, é que há dias em que o aplicativo não precisa de toda essa capacidade. A capacidade extra permanece não utilizada e, em essência, aumenta o custo de manutenção do aplicativo em execução.


					Um exemplo que mostra como a compra de mais capacidade que a necessária pode ser ineficiente de uma perspectiva de custo.

A segunda opção é ter capacidade suficiente para lidar com a demanda média no aplicativo. Essa opção é mais barata, porque você não está comprando equipamento que usará apenas ocasionalmente. No entanto, você corre o risco de criar uma experiência do cliente insatisfatória quando a demanda no aplicativo exceder sua capacidade.


					Um exemplo que mostra como a compra de menos capacidade do que a necessária pode provocar uma experiência inadequada para o cliente.

Ao adicionar o Amazon EC2 Auto Scaling a esse aplicativo, você tem uma terceira opção disponível. Você pode adicionar novas instâncias ao aplicativo somente quando necessário e encerrá-las quando não forem mais necessárias. Como o Amazon EC2 Auto Scaling usa instâncias do EC2, você só precisa pagar pelas instâncias que usa, quando as usa. Você agora tem uma arquitetura econômica que fornece a melhor experiência ao cliente e, ao mesmo tempo, minimiza os custos.


					Um exemplo que mostra como o Amazon EC2 Auto Scaling pode ajustar a capacidade conforme necessário.

Exemplo: Arquitetura de aplicativos web

Em um cenário comum de aplicativo Web, você pode executar várias cópias de seu aplicativo simultaneamente para cobrir o volume de tráfego de clientes. Essas várias cópias do seu aplicativo são hospedadas em instâncias do EC2 idênticas (servidores de nuvem), cada uma lidando com solicitações de clientes.


					Uma arquitetura básica de três níveis.

O Amazon EC2 Auto Scaling gerencia a ativação e o encerramento dessas instâncias do EC2 em seu nome. Você define um conjunto de critérios (como um alarme do Amazon CloudWatch) que determinam quando o grupo do Auto Scaling ativa ativa ou encerra instâncias do EC2. A adição de grupos do Auto Scaling à sua arquitetura de rede ajuda a tornar seu aplicativo mais altamente disponível e tolerante a falhas.


					Uma arquitetura básica de três camadas com um grupo de Auto Scaling.

Você pode criar quantos grupos do Auto Scaling forem necessários. Por exemplo, você pode criar um grupo de Auto Scaling para cada camada.

Para distribuir o tráfego entre as instâncias em seus grupos do Auto Scaling, você pode inserir um load balancer em sua arquitetura. Para obter mais informações, consulte Elastic Load Balancing.

Exemplo: Distribuir instâncias entre zonas de disponibilidade

AWSOs recursos do EC2, como instâncias do EC2, são hospedados em datacenters de alta disponibilidade. Para fornecer escalabilidade e confiabilidade adicionais, esses datacenters estão em diferentes locais físicos. As regiões são localizações geográficas grandes e amplamente dispersas. Cada região contém vários locais distintos conhecidos como zonas de disponibilidade, que são feitas para serem isoladas das falhas em outras zonas de disponibilidade. Elas fornecem conectividade de rede de baixa latência e custo reduzido para outras zonas de disponibilidade na mesma região.

O Auto Scaling do Amazon EC2 permite aproveitar a segurança e a confiabilidade da redundância geográfica abrangendo grupos do Auto Scaling entre várias Zonas de disponibilidade dentro de uma região. Quando uma Zona de disponibilidade se torna não saudável ou indisponível, o Auto Scaling ativa novas instâncias em uma Zona de disponibilidade não afetada. Quando a Zona de disponibilidade não saudável retornar para um estado saudável, o Auto Scaling redistribuirá automaticamente as instâncias do aplicativo uniformemente entre todas as Zonas de disponibilidade designadas.

Um grupo de Auto Scaling pode conter instâncias do EC2 em uma ou mais Zonas de disponibilidade dentro da mesma região. No entanto, os grupos de Auto Scaling não podem abranger várias regiões.

Para grupos de Auto Scaling em uma VPC, as instâncias do EC2 são ativadas em sub-redes. Você seleciona as sub-redes para suas instâncias do EC2 quando cria ou atualiza o grupo do Auto Scaling. Você pode selecionar uma ou mais sub-redes por Zona de disponibilidade. Para obter mais informações, consulteVPCs e sub-redesnoAmazon VPC User Guide.

Distribuição de instâncias

O Auto Scaling do Amazon EC2 tenta distribuir as instâncias uniformemente entre as Zonas de disponibilidade que estão habilitadas para seu grupo do Auto Scaling. O Amazon EC2 Auto Scaling faz isso tentando lançar novas instâncias na zona de disponibilidade com o menor número de instâncias. No entanto, se a tentativa falhar, o Auto Scaling do Amazon EC2 tentará ativar as instâncias em outra Zona de disponibilidade até obter êxito. Para grupos do Auto Scaling em uma VPC, se houver várias sub-redes em uma Zona de disponibilidade, o Auto Scaling selecionará uma sub-rede na Zona de disponibilidade aleatoriamente.


						Um grupo de Auto Scaling típico que abrange duas zonas de disponibilidade.

Atividades de rebalanceamento

As atividades de rebalanceamento se encaixam em duas categorias: Rebalanceamento da zona de disponibilidade e rebalanceamento de capacidade.

Rebalanceamento da zona de disponibilidade

Depois da ocorrência de determinadas ações, o grupo de Auto Scaling pode se tornar desbalanceado entre as Zonas de disponibilidade. O Amazon EC2 Auto Scaling compensa rebalanceando as Zonas de disponibilidade. As ações a seguir podem levar a atividade de rebalanceamento:

  • Você pode alterar as Zonas de disponibilidade de seu grupo.

  • Você encerra ou desanexa instâncias explicitamente, e o grupo fica desbalanceado.

  • Uma zona de disponibilidade que tinha capacidade insuficiente se recupera e tem capacidade adicional disponível.

  • Uma zona de disponibilidade que tinha um preço spot acima do seu preço spot máximo agora tem um preço spot abaixo do seu preço máximo.

Ao rebalancear, o Auto Scaling do Amazon EC2 ativa novas instâncias antes de encerrar as antigas, para que o rebalanceamento não comprometa o desempenho ou a disponibilidade de seu aplicativo.

Como o Auto Scaling do Amazon EC2 tenta ativar novas instâncias antes de encerrar as antigas, estar na capacidade máxima especificada ou próximo a ela pode impedir ou parar completamente as atividades de rebalanceamento. Para evitar esse problema, o sistema pode exceder temporariamente a capacidade máxima especificada de um grupo em uma margem de 10% (ou em uma margem de 1 instância, a que for maior) durante uma atividade de rebalanceamento. A margem é estendida somente se o grupo estiver na capacidade máxima ou próximo a ela e precisar de rebalanceamento, seja devido ao rezoneamento solicitado pelo usuário ou para compensar os problemas de disponibilidade da zona. A extensão dura somente pelo tempo necessário para rebalancear o grupo do (normalmente alguns minutos).

Rebalanceamento de capacidade

Você pode habilitar o Rebalanceamento de capacidade para seus grupos de Auto Scaling ao usar Instâncias Spot. Ao ativar o Rebalanceamento de capacidade, o Auto Scaling do Amazon EC2 tentará ativar uma instância spot sempre que o Amazon EC2 notificar que uma instância spot está em um risco elevado de interrupção. Depois de iniciar uma nova instância, ela encerra uma instância antiga. Para obter mais informações, consulte Rebalanceamento de capacidade do Amazon EC2 Auto Scaling.