Conceitos básicos do Amazon EC2 Auto Scaling - Amazon EC2 Auto Scaling

Conceitos básicos do Amazon EC2 Auto Scaling

Ao usar o Amazon EC2 Auto Scaling, você deve usar determinados blocos de construção para começar. Este tutorial orienta você durante o processo de configuração de elementos essenciais para criar uma infraestrutura básica para o Amazon EC2 Auto Scaling.

Antes de criar um grupo do Auto Scaling para usar com sua aplicação, analise detalhadamente sua aplicação ao executá-la na Nuvem AWS. Considere o seguinte:

  • Quantas zonas de disponibilidade o grupo do Auto Scaling deve abranger.

  • Quais recursos existentes podem ser usados, como grupos de segurança ou imagens de máquina da Amazon (AMIs).

  • Se você deseja dimensionar para aumentar ou diminuir a capacidade ou se deseja apenas garantir que um número específico de servidores esteja sempre em execução. Lembre-se de que o Amazon EC2 Auto Scaling pode fazer as duas coisas simultaneamente.

  • Quais métricas têm mais relevância para a performance da aplicação.

  • Quanto tempo é necessário para iniciar e configurar um servidor.

Quanto melhor você entender sua aplicação, mais eficaz você pode tornar sua arquitetura de Auto Scaling.

nota

Para obter um vídeo de introdução, consulteAWS re:Invent 2018: Capacity Management Made Easy with Amazon EC2 Auto Scaling (Capacidade de gerenciamento facilitada com o Amazon EC2 Auto Scaling) no YouTube.

Resumo da demonstração

Nesta explicação, você:

  • Crie um modelo de configuração que defina suas instâncias do EC2. Pode escolher as instruções do modelo de execução ou da configuração de execução. Embora seja possível usar uma configuração de execução, recomendamos um modelo de execução para que você possa usar os recursos mais recentes do Amazon EC2 e do Amazon EC2 Auto Scaling.

  • Cria um grupo do Auto Scaling com uma única instância nele.

  • Termina a instância e verifica se a instância foi removida do serviço e substituída. Para manter um número constante de instâncias, o Amazon EC2 Auto Scaling detecta e responde automaticamente às verificações de integridade e acessibilidade do Amazon EC2.

Se tiver criado sua Conta da AWS há menos de 12 meses e ainda não tiver excedido os benefícios do nível gratuito para o Amazon EC2, não haverá cobrança para concluir este tutorial, pois ajudamos você a selecionar um tipo de instância que esteja dentro dos benefícios do nível gratuito. Caso contrário, ao seguir este tutorial, você incorrerá em taxas de uso padrão do Amazon EC2 a partir do momento em que a instância for executada até você excluir o grupo do Auto Scaling (que é a tarefa final deste tutorial) e o status da instância for alterado para terminated.

Preparar para a demonstração

Este passo a passo pressupõe que você esteja familiarizado com a execução de instâncias do EC2 e que já criou um par de chaves e um grupo de segurança. Para obter mais informações, consulte Configuração do Amazon EC2 no Manual do usuário do Amazon EC2 para instâncias do Linux.

Se for novo no Amazon EC2 Auto Scaling e quiser começar a usar o serviço, você pode usar a VPC default (padrão) para sua Conta da AWS. A VPC padrão inclui uma sub-rede pública padrão em cada zona de disponibilidade e um gateway de Internet conectado à VPC. Você pode ver suas VPCs na página Your VPCs (Suas VPCs) do console do Amazon Virtual Private Cloud (Amazon VPC).

Etapa 1: Criar um modelo de execução

Nesta etapa, você faz login no console do Amazon EC2 com suas credenciais de Conta da AWS e cria um modelo de execução que especifique o tipo de instância do EC2 que o Amazon EC2 Auto Scaling criará para você. Inclua informações, como o ID da imagem de máquina da Amazon (AMI) a ser usada, o tipo de instância, o par de chaves e os grupos de segurança.

nota

Como alternativa, é possível usar uma configuração de execução para criar um grupo do Auto Scaling em vez de usar um modelo de execução. Para obter as instruções de configuração de execução, consulte Create a launch configuration.

Para criar um modelo de execução

  1. Abra a página Launch templates (Modelos de execução) do console do Amazon EC2.

  2. Na barra de navegação na parte superior da tela, selecione uma Região da AWS. O modelo de execução e os recursos do grupo do Auto Scaling que você cria são vinculados à região que você especifica.

  3. Escolha Create launch template (Criar modelo de execução).

  4. Para o Launch template name (Nome do modelo de execução), insira my-template-for-auto-scaling.

  5. Em Auto Scaling guidance (Guia do Auto Scaling), marque a caixa de seleção.

  6. Em Application and OS Images (Amazon Machine Image) (Imagens de aplicações e sistemas operacionais [imagem de máquina da Amazon]), escolha uma versão do Amazon Linux 2 (HVM) na lista Quick Start (Início rápido). A AMI serve como modelo de configuração básico para suas instâncias.

  7. Em Instance type (Tipo de instância), selecione uma configuração de hardware que seja compatível com a AMI que você especificou.

    nota

    Se sua conta tiver menos de 12 meses de vida, você poderá usar uma instância t2.micro gratuitamente em determinados limites de uso. Para obter mais informações, consulte o nível gratuito da AWS.

  8. (Opcional) Em Key pair (login) (Par de chaves [login]), escolha um par de chaves existente. Você usa pares de chaves para se conectar a uma instância do Amazon EC2 co o SSH. A conexão a uma instância não está incluída como parte deste tutorial. Portanto, não é necessário especificar um par de chaves, a menos que pretenda se conectar à instância usando SSH.

  9. Em Network settings (Configurações de rede), Security groups (Grupos de segurança), escolha um grupo de segurança na mesma VPC que pretende usar como a VPC para o grupo do Auto Scaling. Se você não especificar um grupo de segurança, sua instância será automaticamente associada ao grupo de segurança padrão da VPC.

  10. É possível deixar Advanced network configuration (Configuração de rede avançada) vazio. Deixar essa definição vazia cria uma interface de rede primária com endereços IP que selecionamos para sua instância, com base na sub-rede em que a interface de rede está estabelecida. Se, em vez disso, você optar por configurar uma interface de rede, o grupo de segurança deverá fazer parte dela.

  11. Escolha Create launch template (Criar modelo de execução).

  12. Na página de confirmação, escolha Create Auto Scaling group (Criar grupo do Auto Scaling).

Se você não estiver usando modelos de execução no momento e preferir não criar um agora, será possível criar uma configuração de execução.

Uma configuração de execução é semelhante a um modelo de execução, uma vez que especifica o tipo de instância do EC2 que o Amazon EC2 Auto Scaling cria para você. Crie uma configuração de execução incluindo informações, como o ID da imagem de máquina da Amazon (AMI) a ser usada, o tipo de instância, o par de chaves e os grupos de segurança.

Para criar uma configuração de execução

  1. Abra a página Launch configurations (Configurações de execução) do console do Amazon EC2.

  2. Na barra de navegação, selecione uma Região da AWS. A configuração de execução e os recursos do grupo do Auto Scaling que você cria são vinculados à região que você especifica.

  3. Selecione Create launch configuration (Criar uma configuração de execução) e insira my-first-launch-configuration no campo Name (Nome).

  4. Em Amazon machine image (AMI) (Imagem de máquina da Amazon (AMI)), escolha uma AMI. Para escolher uma AMI específica, você pode encontrar uma AMI adequada, anotar seu ID e inserir o ID como critério de pesquisa.

    Para obter a ID da AMI do Amazon Linux 2:

    1. Abra o console do Amazon EC2.

    2. No painel de navegação, em Instances (Instâncias), escolha Instances (Instâncias) e, em seguida, escolha Launch instances (Iniciar instâncias).

    3. Na guia Quick Start (Início rápido) da página Choose an Amazon Machine Image (Escolha uma Imagem de máquina da Amazon), observe o ID da AMI ao lado de Amazon Linux 2 AMI (HVM). Observe que essas AMIs estão marcadas como “Free tier eligible” (Qualificáveis para nível gratuito).

  5. Em Instance type (Tipo de instância), selecione uma configuração de hardware para sua instância.

    nota

    Se sua conta tiver menos de 12 meses de vida, você poderá usar uma instância t2.micro gratuitamente em determinados limites de uso. Para obter mais informações, consulte o nível gratuito da AWS.

  6. Em Additional configuration (Configurações adicionais), para Advanced details (Detalhes avançados),IP address type (Tipo de endereço IP), faça uma seleção. Para fornecer conectividade com a Internet a instâncias em uma VPC, escolha uma opção que atribua um endereço IP público. Se uma instância for executada em uma VPC padrão, o padrão é atribuir um endereço IP público. Se você quiser fornecer conectividade com a Internet às suas instâncias, mas não tem certeza se tem uma VPC padrão, escolha Assign a public IP address to every instance (Atribuir um endereço IP público a cada instância).

  7. Para Security groups (Grupos de segurança), escolha um grupo de segurança existente. Se você mantiver a opção Create a new security group (Criar um novo grupo de segurança) selecionada, uma regra de SSH padrão será configurada para instâncias do Amazon EC2 que executem Linux. Uma função do RDP padrão é configurada para instâncias do Amazon EC2 que executem o Windows.

  8. Em Key pair (login) (Par de chaves - login), escolha uma opção em Key pair options (Opções de par de chaves) conforme orientado. A conexão a uma instância não está incluída como parte deste tutorial. Portanto, você pode selecionar Proceed without a key pair (Continuar sem um par de chaves), a menos que você pretenda conectar-se à instância usando SSH.

  9. Escolha Criar configuração de execução.

  10. Marque a caixa de seleção ao lado do nome da nova configuração de execução e escolha Actions (Ações),Create Auto Scaling group (Criar grupo do Auto Scaling).

Etapa 2: Criar um grupo do Auto Scaling com uma única instância

Agora use o Amazon EC2 Auto Scaling para criar um grupo do Auto Scaling e adicionar o modelo de execução ou a configuração de execução ao grupo. Inclua também informações como as sub-redes da VPC para as instâncias.

Use o procedimento a seguir para continuar de onde parou depois que criar um modelo de execução ou uma configuração de execução.

Para criar um grupo do Auto Scaling

  1. Na página Choose launch template or configuration (Escolher modelo ou configuração de execução), em Auto Scaling group name (Nome do grupo do Auto Scaling), insira my-first-asg.

  2. Escolha Next (Próximo).

    A página Choose instance launch options (Escolher as opções de execução da instância) será exibida, permitindo a você escolher as configurações de rede VPC que você deseja que o grupo do Auto Scaling use e oferecendo opções de execução para instâncias spot e sob demanda (se você escolher um modelo de execução).

  3. Na seção Network (Rede), mantenha a VPC definida como a VPC padrão para a Região da AWS escolhida ou selecione sua própria VPC. A VPC padrão é configurada automaticamente para fornecer conectividade com a Internet à sua instância. Essa VPC inclui uma sub-rede pública em cada zona de disponibilidade na região.

  4. Para Availability Zones and subnets (Zonas de disponibilidade e sub-redes), escolha uma sub-rede de cada zona de disponibilidade que você desejar incluir. Use sub-redes em várias zonas de disponibilidade para alta disponibilidade. Para mais informações, consulte Considerações sobre a escolha de sub-redes da VPC.

  5. [Apenas modelo de execução] Na seção Instance type requirements (Requisitos de tipo de instância), use a configuração padrão para simplificar esta etapa. (Não substitua o modelo de execução.) Neste tutorial, você fará o execução de apenas uma das Instâncias sob demanda usando o tipo de instância especificado no modelo de execução.

  6. Mantenha o restante dos padrões para este tutorial e escolha Skip to review (Avançar para a revisão).

    nota

    O tamanho inicial do grupo é determinado pela capacidade desejada. O valor padrão é uma instância 1.

  7. Em Review (Revisar), analise as informações do grupo e selecione Create Auto Scaling group (Criar grupo do Auto Scaling).

Etapa 3: Verificar seu grupo do Auto Scaling

Agora que criou seu grupo do Auto Scaling, você está pronto para verificar se o grupo iniciou uma instância do EC2.

dica

No procedimento a seguir, você visualiza as seções Activity history (Histórico de atividades) e Instances (Instâncias) do grupo do Auto Scaling. Em ambas, as colunas nomeadas já deverão ser exibidas. Para exibir colunas ocultas ou alterar o número de linhas exibidas, escolha o ícone de engrenagem, no canto superior direito de cada seção, para abrir o modal de preferências, atualize as configurações conforme necessário e escolha Confirm (Confirmar).

Para verificar se seu grupo do Auto Scaling iniciou uma instância do EC2

  1. Abra a página Auto Scaling groups (grupos do Auto Scaling) no console do Amazon EC2.

  2. Marque a caixa de seleção ao lado do grupo do Auto Scaling recém-criado.

    Um painel dividido é aberto na parte inferior da página Auto Scaling groups (Grupos do Auto Scaling). A primeira guia disponível é a guia Details (Detalhes), que mostra informações sobre o grupo do Auto Scaling.

  3. Escolha a segunda guia, Activity (Atividade). Em Activity history (Histórico de atividades), é possível visualizar o progresso das atividades associadas ao grupo do Auto Scaling. A coluna Status mostra o status atual de sua instância. Enquanto sua instância está ativando, a coluna de status mostra PreInService. O status muda para Successful depois que a instância é ativada. Você também pode usar o botão Atualizar para ver o status atual de sua instância.

  4. Na guia Instance management (Gerenciamento de instâncias), em Instances (Instâncias), é possível visualizar o status da instância.

  5. Verifique se sua instância foi executada com êxito. Demora um pouco para iniciar uma instância.

    • A guia Lifecycle (Ciclo de vida) mostra o estado de sua instância. Inicialmente, sua instância está no estado Pending. Quando uma instância está pronta para receber tráfego, seu estado é InService.

    • A coluna Health status (Status de integridade) mostra o resultado da verificação de integridade da instância do EC2 em sua instância.

Etapa 4: Terminar uma instância no seu grupo do Auto Scaling

Use estas etapas para saber mais sobre como o Amazon EC2 Auto Scaling funciona, especificamente, como ele executa novas instâncias quando necessário. O tamanho mínimo para o grupo do Auto Scaling criado neste tutorial é de uma instância. Portanto, se você terminar essa instância em execução, o Amazon EC2 Auto Scaling deverá iniciar uma nova instância para substituí-la.

  1. Abra a página Auto Scaling groups (grupos do Auto Scaling) no console do Amazon EC2.

  2. Marque a caixa de seleção ao lado do seu grupo do Auto Scaling.

  3. Na guia Instance management (Gerenciamento de instâncias), em Instances (Instâncias), selecione o ID da instância.

    Isso o levará até a página Instances (Instâncias) do console do Amazon EC2, onde é possível encerrar a instância.

  4. Escolha Actions (Ações), Instance State (Estado da instância), Terminate (Encerrar). Quando a confirmação for solicitada, escolha Sim, encerrar.

  5. No painel de navegação, em Auto Scaling, escolha Auto Scaling Groups (Grupos do Auto Scaling). Selecione seu grupo do Auto Scaling e escolha a guia Activity (Atividade).

    O desaquecimento padrão para o grupo do Auto Scaling é de 300 segundos (5 minutos), de forma que demora 5 minutos até que você veja a ação de escalabilidade. No histórico de atividades, quando a ação de escalabilidade for iniciada, você observará uma entrada para o encerramento da primeira instância e uma entrada para a execução de uma nova instância.

  6. Na guia Instance management (Gerenciamento de instâncias), a seção Instances (Instâncias) exibe somente a nova instância.

  7. No painel de navegação, em Instances (Instâncias), escolha Instances (Instâncias). Essa página mostra a instância encerrada e a instância em execução.

Etapa 5: Próximas etapas

Vá para a próxima etapa se quiser excluir a infraestrutura básica para a escalabilidade automática recém-criada. Caso contrário, você pode usar essa infraestrutura como sua base e experimentar uma ou mais das seguintes:

Etapa 6: Limpar

Você pode excluir sua infraestrutura de escalabilidade ou excluir apenas o grupo do Auto Scaling e manter o modelo de execução ou configuração de execução para usar em outro momento.

Se você executou uma instância que não está no nível gratuito da AWS, é necessário terminar sua instância para evitar cobranças adicionais. Ao encerrar a instância, os dados associados a ela também serão excluídos.

Para excluir seu grupo do Auto Scaling

  1. Abra a página Auto Scaling groups (grupos do Auto Scaling) no console do Amazon EC2.

  2. Selecione seu grupo do Auto Scaling (my-first-asg).

  3. Escolha Delete (Excluir). Quando a confirmação for solicitada, escolha Delete (Excluir).

    Um ícone de carregamento na coluna Name (Nome) indica que o grupo do Auto Scaling está sendo excluído. Quando a exclusão tiver ocorrido, as colunas Desired (Desejado), Min (Mínimo) e Max (Máximo) exibirão 0 instâncias para o grupo do Auto Scaling. São necessários alguns minutos para encerrar a instância e excluir o grupo. Atualize a lista para ver o estado atual.

Ignore esse procedimento se quiser manter seu modelo de execução.

Para excluir seu modelo de execução

  1. Abra a página Launch templates (Modelos de execução) do console do Amazon EC2.

  2. Selecione o modelo de execução (my-template-for-auto-scaling).

  3. Escolha Actions (Ações), Delete template (Excluir modelo). Quando a confirmação for solicitada, escolha Delete launch template (Excluir modelo de execução).

Ignore esse procedimento se quiser manter sua configuração de execução.

Para excluir sua configuração de ativação

  1. Abra a página Launch configurations (Configurações de execução) do console do Amazon EC2.

  2. Selecione a configuração de execução (my-first-launch-configuration).

  3. Escolha Ações, Excluir configuração de execução. Quando a confirmação for solicitada, escolha Yes, Delete (Sim, excluir).