Geral

P: O que é o Amazon EC2 Auto Scaling?

O Amazon EC2 Auto Scaling é um serviço totalmente 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 para 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?

Você deve usar o AWS Auto Scaling caso queira ajuda para definir o plano de escalabilidade do seu aplicativo ou caso queira escalar vários recursos além do EC2, como tabelas e índices do Amazon DynamoDB ou tarefas do Amazon ECS. No momento, para usar o AWS Auto Scaling, você deve criar os aplicativos usando o AWS CloudFormation ou o AWS Elastic Beanstalk. O AWS Auto Scaling ajuda você a gerenciar todas as políticas de escalabilidade dos aplicativos em um único lugar, o que permite fazer ajustes de forma fácil e intuitiva.

Use o Amazon EC2 Auto Scaling somente quando precisar escalar grupos de Auto Scaling do Amazon EC2 ou apenas manter a integridade da frota do EC2.

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 grupo de Auto Scaling 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 dos grupos do Amazon EC2 Auto Scaling. 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 utilização ideal.

P: O que é gerenciamento de frota e como isso se difere da 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 seu CPU tiver um pico acima de 80% (e houver um alarme configurado), o Amazon EC2 Auto Scaling conseguirá adicionar novas instâncias de forma 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 grupo do EC2 Auto Scaling 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 as instâncias do EC2 conforme solicitado para manter a utilização média de CPU em 50%.

P: O que é um grupo do EC2 Auto Scaling?

Um grupo do Amazon EC2 Auto Scaling 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ê. Você encontra mais informações sobre os grupos do Amazon EC2 Auto Scaling no Guia do usuário do Amazon EC2 Auto Scaling.

P: O que acontecerá com minhas instâncias do Amazon EC2 se eu excluir meu grupo do EC2 Auto Scaling?

Se você tiver um grupo do EC2 Auto Scaling com instâncias em execução e optar por excluí-lo, as instâncias serão encerradas e o grupo do Amazon EC2 Auto Scaling será excluído.

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

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 Como receber notificações do SNS quando o grupo do EC2 Auto Scaling é escalado.

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 imagem de máquina da Amazon (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. Para obter mais detalhes, visite a seção Configurações de execução do guia do usuário do EC2 Auto Scaling.

P: Quantas instâncias um grupo do EC2 Auto Scaling consegue ter?

É possível ter tantas instâncias quanto permitido pela cota do EC2 Auto Scaling.

P: O que acontecerá se uma ação de escalabilidade 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 você precisar de mais instâncias do Amazon EC2, preencha o formulário de solicitação de instâncias do Amazon EC2.

P: Os grupos do EC2 Auto Scaling podem ser distribuídos em diferentes regiões da AWS?

Os grupos do EC2 Auto Scaling são construções regionais. Eles podem ser distribuídos pelas zonas de disponibilidade, mas não pelas zonas da AWS.

P: É possível iniciar diferentes tipos de instância do EC2 no mesmo grupo do EC2 Auto Scaling?

Os grupos do EC2 Auto Scaling são otimizados para situações nas quais todos os seus tipos de instância são os mesmos. Você pode usar a API AttachInstances para anexar instâncias de tipos diferentes a um grupo do Auto Scaling e também pode atualizar sua configuração de execução para que qualquer nova instância no grupo seja iniciada com um tipo de instância diferente. No entanto, isso não afetará nenhuma das instâncias existentes.

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

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

P: Se eu tiver dados instalados em um grupo do EC2 Auto Scaling e uma nova instância for criada dinamicamente mais tarde, os dados serã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 bancos de dados do Amazon RDS, incluindo réplicas.

P: Quando eu crio um grupo do EC2 Auto Scaling de uma instância existente, ele cria uma nova AMI (Imagem de máquina da Amazon)?

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, visite Como criar um grupo do Auto Scaling usando uma instância do 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ó inicia 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 Imagem de máquina da Amazon (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.

Visite a seção ganchos de ciclo de vida em nosso Guia do usuário do Amazon EC2 Auto Scaling para obter 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 em cada instância do EC2 regularmente 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 (por exemplo, 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 de integridade automatizadas.

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 você não estiver usando o ELB com seu grupo, deverá 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 seus recursos de verificação de integridade.

P: Existe alguma maneira de usar o Amazon EC2 Auto Scaling para adicionar somente 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: O que “instância stateful” significa?

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. É possível usar ganchos de ciclo de vida para copiar os dados de uma instância stateful antes de encerrar ou habilitar a proteção de instância para impedir que o Amazon EC2 Auto Scaling a encerre.

P: Minhas instâncias do EC2 são criadas com scripts Ansible. Como uso o Ansible com o Amazon EC2 Auto Scaling?

Você pode encontrar detalhes sobre o uso do Ansible com Auto Scaling no site da Ansible.

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, então você não precisa agir manualmente quando uma instância tem que ser substituída.

P: Como faço para controlar quais instâncias o Amazon EC2 Auto Scaling encerra ao ser reduzido 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. Se você tiver dados em uma instância e precisar que eles sejam mantidos, mesmo se a instância for escalada, use um serviço como S3, RDS ou DynamoDB para garantir que eles sejam armazenados fora da instância.

P: Quanto demora o tempo de resposta para que o Amazon EC2 Auto Scaling gere uma nova instância no estado inService depois de 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, incluindo quanto tempo leva 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 colocá-la como off-line, as solicitações anteriores enviadas para a instância com falha serão enfileiradas e roteadas 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 é íntegra, algumas solicitações para essa instância falharão.

P: Se eu não usar o Elastic Load Balancing (ELB), como os usuários serão direcionados a outros servidores em um grupo no caso de uma 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, pode 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 obter mais informações, visite a seção Como controlar o acesso aos 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 quando criamos um grupo do Amazon EC2 Auto Scaling?

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. Você precisa instalá-lo com o estoque do Amazon Linux AMI (recomendado, via yum).

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 tarifas adicionais. Os recursos de escalabilidade dinâmica do Amazon EC2 Auto Scaling são ativados pelo Amazon CloudWatch e também não acarretam tarifas adicionais. As tarifas de serviço do Amazon EC2 e do Amazon CloudWatch se aplicam e são 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?
Cadastrar-se
Mais dúvidas?
Entre em contato conosco