Geral

P: O que é o Amazon EC2 Auto Scaling?

O Amazon EC2 Auto Scaling é um serviço gerenciado, criado para iniciar ou encerrar automaticamente instâncias do Amazon EC2. Dessa forma, ajuda a garantir a disponibilidade do número correto de instâncias do Amazon EC2 para processar as cargas dos aplicativos. O Amazon EC2 Auto Scaling ajuda a manter a disponibilidade dos aplicativos por meio do gerenciamento de frotas de instâncias EC2, que detecta e substitui instâncias não íntegras, e da escalabilidade automática da capacidade do Amazon EC2 de acordo com as condições que você definiu. Você pode usar o Amazon EC2 Auto Scaling para aumentar automaticamente o número de instâncias do Amazon EC2 durante picos de demanda, a fim de manter os níveis de performance, e diminuir a capacidade durante períodos ociosos para reduzir os custos.

P. Quando devo usar o Amazon EC2 Auto Scaling ou o AWS Auto Scaling?

Use o AWS Auto Scaling para gerenciar a escalabilidade de vários recursos em diversos serviços. O AWS Auto Scaling permite definir políticas de escalabilidade dinâmicas para vários grupos do EC2 Auto Scaling ou outros recursos por meio de estratégias de escalabilidade predefinidas. É mais rápido usar o AWS Auto Scaling para configurar políticas de escalabilidade para todos os recursos escaláveis de um aplicativo que gerenciar as políticas de escalabilidade de cada recurso no console dos serviços individuais. Outro benefício é a facilidade, pois o AWS Auto Scaling inclui estratégias de escalabilidade predefinidas que simplificam a definição de políticas de escalabilidade. O AWS Auto Scaling também deve ser usado para criar escalabilidade preditiva para recursos do EC2.

Use o EC2 Auto Scaling somente quando precisar escalar grupos do Amazon EC2 Auto Scaling ou quiser apenas manter a integridade da frota do EC2. Além disso, use o EC2 Auto Scaling se precisar criar ou configurar grupos do Amazon EC2 Auto Scaling ou definir políticas de escalabilidade programas ou de etapas (pois o AWS Auto Scaling oferece suporte apenas a políticas de escalabilidade de rastreamento pretendida).

Os grupos do EC2 Auto Scaling devem ser criados e configurados fora do AWS Auto Scaling, como por meio do console do EC2, da API do Auto Scaling ou do CloudFormation. O AWS Auto Scaling pode ajudá-lo a configurar políticas dinâmicas de escalabilidade para seus grupos existentes do EC2 Auto Scaling.

P. Quais os benefícios de usar o Amazon EC2 Auto Scaling?

O Amazon EC2 Auto Scaling ajuda a manter a disponibilidade das suas instâncias do Amazon EC2. Independentemente de executar uma instância do Amazon EC2, ou milhares, você pode usar o Amazon EC2 Auto Scaling para detectar instâncias com falhas do Amazon EC2, substituindo essas instâncias sem intervenção. Isso garante que o aplicativo receberá a capacidade computacional esperada. Você pode usar o Amazon EC2 Auto Scaling para escalar automaticamente sua frota do Amazon EC2 de acordo com a curva de demanda dos seus aplicativos, reduzindo a necessidade de provisão manual de capacidade do Amazon EC2 antecipadamente. Por exemplo, é possível estabelecer uma condição para acrescentar novas instâncias do Amazon EC2 em incrementos ao ASG quando a utilização média de sua frota do Amazon EC2 cresce. Da mesma forma, é possível estabelecer uma condição para remover instâncias em incrementos quando a utilização de CPU é baixa. Você pode usar o Amazon CloudWatch para enviar alarmes para acionar atividades de escalabilidade e o Elastic Load Balancing (ELB) para ajudar a distribuir o tráfego para suas instâncias dentro do ASG. Se você tem alterações de carga previsíveis a fazer, pode definir um agendamento no Amazon EC2 Auto Scaling para planejar as atividades de escalabilidade. O Amazon EC2 Auto Scaling permite que você execute sua frota do Amazon EC2 com o nível ideal de utilização.

P. O que é gerenciamento de frota e qual a diferença entre isso e a escalabilidade dinâmica?

Se seus aplicativos são executados em instâncias do Amazon EC2, então você tem o que chamamos de “frota”. Gerenciamento de frota tem a ver com a funcionalidade que automaticamente substitui instâncias não íntegras e mantém sua frota com a capacidade desejada. O gerenciamento de frotas do Amazon EC2 Auto Scaling garante que seu aplicativo esteja apto a receber tráfego e que as próprias instâncias estejam funcionando corretamente. Quando o Auto Scaling detecta uma verificação de integridade com falha, ele pode substituir a instância automaticamente.

Os recursos de escalabilidade dinâmica do Amazon EC2 Auto Scaling se referem à funcionalidade que automaticamente aumenta ou diminui a capacidade com base na carga e em outras métricas. Por exemplo, se sua CPU tiver um pico acima de 80% (e houver um alarme configurado), o Amazon EC2 Auto Scaling é capaz de adicionar uma nova instância de maneira dinâmica.

P. O que é monitoramento de limites?

O monitoramento de limites é um novo tipo de política de escalabilidade usada para configurar a escalabilidade dinâmica do seu aplicativo em apenas algumas etapas. Com o monitoramento de limites, você seleciona uma métrica de carga para o seu aplicativo – como utilização de CPU ou contagem de solicitações – e depois define o valor limite. O Amazon EC2 Auto Scaling ajusta o número de instâncias do EC2 em seu ASG conforme necessário para cumprir o limite. Funciona como um termostato, que ajusta automaticamente o sistema para manter o ambiente dentro da temperatura que você deseja. Por exemplo, você pode configurar o monitoramento de limites para manter a utilização de CPU da sua frota de servidores Web em 50%. Com base nisso, o Amazon EC2 Auto Scaling inicia ou encerra instâncias do EC2 conforme necessário para manter a utilização média de CPU em 50%.

P. O que é um EC2 Auto Scaling group (ASG – Grupo de Auto Scaling)?

Um grupo do Amazon EC2 Auto Scaling (ASG) contém um conjunto de instâncias do EC2 com características similares e que são tratadas como um grupo lógico para fins de gerenciamento de frota e escalabilidade dinâmica. Por exemplo, caso um único aplicativo opere em diferentes instâncias, você pode aumentar o número de instâncias do grupo para aprimorar a performance do aplicativo ou diminuir o número de instâncias para reduzir os custos quando a demanda estiver baixa. O Amazon EC2 Auto Scaling consegue ajustar automaticamente o número de instâncias do grupo para manter um número fixo de instâncias mesmo quando a instância perde a integridade, ou com base em critérios definidos por você. Há mais informações sobre o ASG disponíveis no Guia do usuário do Amazon EC2 Auto Scaling.

P. O que acontece com minhas instâncias do Amazon EC2 se eu excluir meu ASG?

Caso tenha um EC2 Auto Scaling group (ASG – Grupo de Auto Scaling) com instâncias em execução e opte por excluir o ASG, as instâncias serão encerradas e o ASG será excluído.

P. Como saber quando o EC2 Auto Scaling está iniciando ou encerrando instâncias do EC2 em um grupo de Auto Scaling do EC2?

Quando você usa o Amazon EC2 Auto Scaling para escalar automaticamente os aplicativos, pode ser útil saber quando o EC2 Auto Scaling está iniciando ou encerrando as instâncias EC2 no grupo do EC2 Auto Scaling. O Amazon SNS coordena e gerencia a entrega ou envio de notificações para clientes assinantes ou endpoints. É possível configurar o EC2 Auto Scaling para enviar notificações do SNS sempre que seu grupo do EC2 Auto Scaling for escalado. O Amazon SNS consegue enviar notificações em HTTP ou HTTPS POST, e-mails (SMTP, texto simples ou em formato JSON) ou uma mensagem postada em uma fila do Amazon SQS. Por exemplo, uma notificação por e-mail será enviada se você configurar seu grupo do EC2 Auto Scaling para usar o tipo de notificação EC2_INSTANCE_TERMINATE, e o grupo do EC2 Auto Scaling encerrar uma instância. Esse e-mail contém detalhes sobre a instância encerrada, como o ID da instância e o motivo do encerramento.

Para mais informações, leia Recebendo notificações do SNS quando houver um dimensionamento de escala de seu grupo de Auto Scaling do EC2.

P. O que é uma configuração de execução?

Uma configuração de execução é um modelo que um grupo do EC2 Auto Scaling usa para iniciar instâncias do EC2. Ao criar uma configuração de execução, você especifica informações referentes às instâncias, como o ID da Amazon Machine Image (AMI), o tipo de instância, um par de chaves, um ou mais grupos de segurança e um mapeamento de dispositivos de blocos. Se você iniciou uma instância do EC2 anteriormente, as informações para iniciar a instância já foram especificadas. Ao criar um grupo do EC2 Auto Scaling, você deve especificar uma configuração de execução. Você pode especificar a configuração de execução em vários grupos do EC2 Auto Scaling. No entanto, só é possível especificar uma configuração de execução para um grupo do EC2 Auto Scaling por vez, e não é possível modificar uma configuração de execução depois de criá-la. Ou seja, se quiser mudar a configuração de execução do seu grupo do EC2 Auto Scaling, será preciso criar uma configuração de execução e depois atualizar o grupo do EC2 Auto Scaling com a nova configuração de execução. Ao mudar a configuração de execução do seu grupo do EC2 Auto Scaling, qualquer instância nova é iniciada usando os novos parâmetros de configuração, no entanto, as instâncias existentes não são afetadas. Consulte a seção configurações de execução do Guia do usuário do EC2 Auto Scaling para mais informações.

P. Quantas instâncias um grupo de Auto Scaling do EC2 pode ter?

Seu grupo de Auto Scaling do EC2 pode ter quantas instâncias sua cota do EC2 permitir.

P. O que acontece se uma atividade de dimensionamento de escala fizer com que eu atinja o limite de instâncias do Amazon EC2?

O Amazon EC2 Auto Scaling não pode escalar além do limite de instâncias do Amazon EC2 que podem ser executadas. Se precisar de mais instâncias do Amazon EC2, preencha o formulário de solicitação de instâncias do Amazon EC2.

P. É possível que os grupos de Auto Scaling do EC2 abranjam várias regiões da AWS?

Os grupos do EC2 Auto Scaling são construções regionais. Eles podem abranger zonas de disponibilidade, mas não regiões da AWS.

P. Como implemento alterações em várias instâncias em um grupo de Auto Scaling do EC2?

Você pode usar o AWS CodeDeploy ou o CloudFormation para orquestrar alterações de código em várias instâncias em seu grupo de Auto Scaling do EC2.

P. Se eu tiver dados instalados em um grupo de Auto Scaling do EC2 e uma nova instância for criada dinamicamente mais tarde, os dados são copiados para as novas instâncias?

Os dados não são copiados automaticamente de instâncias existentes para novas instâncias. Você pode usar ganchos de ciclo de vida para copiar os dados ou um banco de dados do Amazon RDS, incluindo réplicas.

P. Quando eu crio um grupo de Auto Scaling do EC2 com base em uma instância existente, o serviço cria uma nova AMI (Amazon Machine Image)?

Quando você cria um grupo do Auto Scaling por meio de uma instância existente, ele não cria uma nova AMI. Para mais informações, consulte Criando um grupo de Auto Scaling usando uma instância EC2.

P. Como o Amazon EC2 Auto Scaling equilibra a capacidade?

O balanceamento de recursos nas zonas de disponibilidade é uma melhor prática para se obter aplicativos bem arquitetados, pois isso aumenta muito a disponibilidade do sistema agregado. O Amazon EC2 Auto Scaling equilibra automaticamente as instâncias do EC2 entre as zonas quando você configura várias zonas nas definições do seu grupo do EC2 Auto Scaling. O Amazon EC2 Auto Scaling sempre inicia novas instâncias de modo que elas sejam equilibradas entre as zonas da maneira mais uniforme possível, em toda a frota. Além disso, o Amazon EC2 Auto Scaling só é executado em zonas de disponibilidade nas quais há capacidade disponível para o tipo de instância solicitado.

P. O que são ganchos de ciclo de vida?

Os ganchos de ciclo de vida permitem executar uma ação antes que uma instância entre em serviço ou antes de ser encerrada. Isso poderá ser especialmente útil se você não estiver desenvolvendo seu ambiente de software em uma Amazon Machine Image (AMI). Por exemplo, os ganchos de execução podem executar a configuração de software em uma instância para garantir que ela esteja totalmente preparada para lidar com o tráfego antes que a escalabilidade automática do Amazon EC2 Auto Scaling prossiga para conectá-la ao seu load balancer. Uma maneira de fazer isso é conectar o gancho de execução a uma função do AWS Lambda que chama o RunCommand na instância. Ganchos de encerramento podem ser úteis para coletar dados importantes de uma instância antes que ela desapareça. Por exemplo, você pode usar um gancho de encerramento para preservar os arquivos de log da sua frota, copiando-os para um bucket do Amazon S3 quando as instâncias ficarem fora de serviço.

Acesse a seção ganchos de ciclo de vida em nosso Guia do usuário do Amazon EC2 Auto Scaling para mais informações.

P. Quais são as características de uma instância “não íntegra”?

Uma instância não íntegra é aquela em que o hardware ficou prejudicado por algum motivo (disco defeituoso etc.) ou que não está sendo aprovada por uma verificação de integridade do ELB configurada pelo usuário. O Amazon EC2 Auto Scaling executa verificações de integridade frequentemente em cada instância do EC2 e, caso a instância esteja conectada a um load balancer do Elastic Load Balancing, também pode executar verificações de integridade do ELB.

P. Posso personalizar uma verificação de integridade?

Sim, existe uma API chamada SetInstanceHealth que permite alterar o estado de uma instância para UNHEALTHY (não íntegra), e isso resulta no encerramento e substituição da instância.

P. Posso suspender verificações de integridade (p. ex., para avaliar instâncias não íntegras)?

Sim, você pode suspender temporariamente as verificações de integridade do Amazon EC2 Auto Scaling usando a API “SuspendProcesses”. Você pode usar a API ResumeProcesses para retomar as verificações automáticas de integridade.

P. Qual tipo de verificação de integridade devo selecionar?

Se estiver usando Elastic Load Balancing (ELB) com o seu grupo, você deverá selecionar uma verificação de integridade do ELB. Se não estiver usando o ELB em seu grupo, você deve selecionar a verificação de integridade do EC2.

P. Posso usar o Amazon EC2 Auto Scaling para verificações de integridade e para substituir instâncias não íntegras caso não esteja usando o Elastic Load Balancing (ELB)?

Você não precisa usar o ELB para usar o Auto Scaling. Você pode usar a verificação de integridade do EC2 para identificar e substituir instâncias não íntegras.

P. As verificações de integridade do Elastic Load Balancing (ELB) funcionam com Application Load Balancers e Network Load Balancers? Uma instância será marcada como não íntegra se algum grupo-alvo associado a ela se tornar não íntegro?

Sim, o Amazon EC2 Auto Scaling funciona com Application Load Balancers e Network Load Balancers, incluindo os respectivos recursos de verificação de integridade.

P. Existe alguma maneira de usar o Amazon EC2 Auto Scaling para adicionar um volume sem adicionar uma instância?

O volume é vinculado a uma nova instância quando é adicionado. O Amazon EC2 Auto Scaling não adiciona automaticamente um volume quando o volume existente está se aproximando da capacidade. Você pode usar a API do EC2 para adicionar um volume a uma instância existente.

P. Qual o significado de “instâncias com estado”?

Quando uma instância é stateful, isso significa que ela contém dados que existem somente naquela instância. Em geral, encerrar uma instância stateful significa que os dados (ou informações de estado) da instância são perdidos. Uma alternativa é avaliar o uso de ganchos de ciclo de vida para copiar os dados de uma instância com estado antes de encerrá-la ou habilitar a proteção de instância para impedir que o Amazon EC2 Auto Scaling encerre ela.

Substituição de instâncias com falhas

P: Como o Amazon EC2 Auto Scaling substitui uma instância com falhas?

Quando uma instância com falha é reprovada em uma verificação de integridade, o Amazon EC2 Auto Scaling a encerra automaticamente e a substitui por uma nova. Se você estiver usando um load balancer do Elastic Load Balancing, o Amazon EC2 Auto Scaling desconectará a instância com falha do load balancer antes de provisionar uma nova e anexá-la ao load balancer. Tudo isso é feito automaticamente, de modo que você não precisa adotar medidas manualmente quando é necessário substituir uma instância.

P. Como controlo quais instâncias o Amazon EC2 Auto Scaling encerra ao promover a redução da escala e como proteger dados em uma instância?

Em cada grupo do Amazon EC2 Auto Scaling, você é quem controla quando as instâncias são adicionadas (expansão) ou removidas (redução) do seu grupo pelo Amazon EC2 Auto Scaling. Você pode escalar o tamanho do seu grupo manualmente anexando e desanexando instâncias ou pode automatizar o processo por meio do uso de uma política de ajuste de escalabilidade. Quando o Amazon EC2 Auto Scaling é reduzido automaticamente, você deve decidir quais instâncias dele são encerradas primeiro. É possível configurar isso usando uma política de encerramento. Você também pode usar a proteção de instâncias para evitar que o Amazon EC2 Auto Scaling selecione instâncias específicas para encerrar ao ser reduzido. Caso tenha dados em uma instância e precise que eles sejam mantidos, mesmo que a instância seja reduzida, é possível usar um serviço como o S3, RDS ou DynamoDB para garantir que eles sejam armazenados fora da instância.

P. Qual é o tempo de resposta para que o Amazon EC2 Auto Scaling inicie uma nova instância no estado inService após detectar um servidor não íntegro?

O tempo de resposta é de minutos. A maioria das substituições acontece em menos de 5 minutos ou bem menos que 5 minutos, em média. Isso depende de vários fatores, inclusive o tempo necessário para inicializar a AMI da sua instância.

P. Se o Elastic Load Balancing (ELB) determinar que uma instância não está íntegra e ficou offline, as solicitações anteriores enviadas para a instância com falha serão enfileiradas e redirecionadas para outras instâncias dentro do grupo?

Quando o ELB perceber que a instância não está íntegra, interromperá as solicitações de roteamento para ela. No entanto, antes de descobrir que a instância não está íntegra, algumas solicitações para essa instância falharão.

P. Caso eu não use o Elastic Load Balancing (ELB), como os usuários são direcionados a outros servidores em um grupo em caso de falha?

Você pode fazer uma integração com o Route53 (para o qual o Amazon EC2 Auto Scaling não dá suporte atualmente, mas muitos clientes usam). Você também pode usar seu próprio proxy reverso ou, para microsserviços internos, usar soluções de descoberta de serviço.

Segurança

P: Como eu controlo o acesso aos recursos do Amazon EC2 Auto Scaling?

O Amazon EC2 Auto Scaling integra-se ao AWS Identity and Access Management (IAM), um serviço que permite:

  • Criar usuários e grupos dentro da conta da AWS de sua organização
  • Atribuir credenciais de segurança exclusivas a cada usuário em sua conta da AWS
  • Controlar as permissões de cada usuário para executar tarefas usando recursos da AWS
  • Permitir que os usuários em outra conta da AWS compartilhem seus recursos da AWS
  • Criar funções para sua conta da AWS e definir os usuários ou serviços que podem assumi-las
  • Usar identidades existentes em sua empresa a fim de conceder permissões para executar tarefas usando recursos da AWS

Por exemplo, você pode criar uma política do IAM que conceda permissão ao grupo Gerentes para usar apenas as operações da API DescribeAutoScalingGroups, DescribeLaunchConfigurations, DescribeScalingActivities e DescribePolicies . Os usuários do grupo Gerentes podem usar essas operações com qualquer grupo do Amazon EC2 Auto Scaling e configurações de execução. Com as permissões no nível de recursos do Amazon EC2 Auto Scaling, você pode restringir o acesso a um determinado grupo EC2 Auto Scaling ou configuração de execução.

Para mais informações, acesse a seção Controlando o acesso a seus recursos do Auto Scaling do guia do usuário do Amazon EC2 Auto Scaling.

P. É possível definir uma senha de administrador padrão em instâncias do Windows com o Amazon EC2 Auto Scaling?

Você pode usar o parâmetro Key Name para CreateLaunchConfiguration para associar um par de chaves à sua instância. Em seguida, você pode usar a API GetPasswordData no EC2. Também é possível fazer isso usando o Console de Gerenciamento da AWS.

P. Os agentes do CloudWatch são instalados automaticamente em instâncias do EC2 durante a criação de um grupo de Auto Scaling do Amazon EC2?

Se a sua AMI contiver um agente do CloudWatch, ele será instalado automaticamente nas instâncias do EC2 quando você criar um grupo do EC2 Auto Scaling. Com a AMI padrão do Amazon Linux, você precisa instalá-los (recomendado, usando o yum).

Otimização de custos

P: Posso criar um único ASG para escalar instâncias de diferentes opções de compra?

Sim. Você pode provisionar e escalar automaticamente capacidade do EC2 entre diferentes tipos de instância do EC2, zonas de disponibilidade e opções de compra sob demanda, reservada e spot em um único grupo de Auto Scaling. É possível definir a divisão desejada entre capacidade sob demanda e spot, selecionar os tipos de instância mais adequados para seu aplicativo e especificar a preferência de como o EC2 Auto Scaling deve distribuir a capacidade do ASG em cada modelo de compra.

P. Posso usar ASGs para executar e gerenciar apenas instâncias spot ou apenas instâncias sob demanda e reservadas?

Sim. Você pode configurar seu ASG especificando que toda a capacidade seja apenas de instâncias spot ou que toda a capacidade seja apenas de instâncias sob demanda e reservadas.

P. Posso ter uma capacidade básica com instâncias sob demanda e reservadas, e dimensionar a escala do meu ASG com base em instâncias spot?

Sim. Ao configurar um ASG para combinar modelos de compra, você pode especificar que a capacidade básica do grupo seja atendida por instâncias sob demanda. Conforme a escala do ASG aumenta ou diminui, o EC2 Auto Scaling assegura que a capacidade básica seja atendida com instâncias sob demanda e que qualquer capacidade adicional seja atendida apenas com instâncias spot ou por uma combinação percentual especificada de instâncias sob demanda ou spot.

P. É possível modificar a configuração de um ASG para atualizar as diferentes propriedades da combinação de modelos de compra e da especificação de vários tipos de instância?

Sim. Assim como acontece para outros parâmetros de ASG, os clientes podem atualizar um ASG existente para modificar um ou todos os parâmetros da combinação de modelos de compra e da especificação de vários tipos de instância, incluindo tipos de instância, ordem de priorização para instâncias sob demanda, divisão percentual entre instâncias sob demanda e spot, além de estratégia de alocação.

P. É possível usar descontos de instâncias reservadas em instâncias sob demanda em um ASG?

Sim. Por exemplo, se tiver instâncias reservadas de instâncias C4 e o EC2 Auto Scaling executar uma C4, você receberá a definição de preço de instância reservada para instâncias sob demanda.

P. É possível especificar instâncias de tamanhos diferentes (núcleos de CPU, memória) em um grupo de Auto Scaling?

Sim. Você pode especificar qualquer tipo de instância disponível em uma região. Além disso, você pode especificar um peso opcional para cada tipo de instância, definindo as unidades de capacidade da contribuição de cada instância para a performance do aplicativo.

P. E se não houver disponibilidade dos tipos de instância que desejo usar em uma zona de disponibilidade?

Se nenhum dos tipos de instância especificados estiver disponível em uma zona de disponibilidade, o Auto Scaling redirecionará as execuções para outras zonas de disponibilidade associadas ao grupo de Auto Scaling. O Auto Scaling sempre vai preferir manter a computação equilibrada entre zonas de disponibilidade e redirecionar se todos nem todos os tipos de instância estiverem disponíveis em uma zona de disponibilidade.

Definição de preço

P: Quais são os custos de uso do Amazon EC2 Auto Scaling?

O gerenciamento de frota do Amazon EC2 Auto Scaling para instâncias do EC2 não acarreta taxas adicionais. Os recursos de escalabilidade dinâmica do Amazon EC2 Auto Scaling são habilitados pelo Amazon CloudWatch e também não acarretam taxas adicionais. As taxas de serviço do Amazon EC2 e do Amazon CloudWatch são aplicadas e cobradas separadamente.

Saiba mais sobre a definição de preço do Amazon EC2 Auto Scaling

Acesse a página de definição de preço
Pronto para começar?
Cadastre-se
Tem outras dúvidas?
Entre em contato conosco