Tutorial: Configurar uma aplicação escalonada e com balanceamento de carga - 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á.

Tutorial: Configurar uma aplicação escalonada e com balanceamento de carga

Importante

Antes de explorar este tutorial, recomendamos que você primeiro analise o seguinte tutorial introdutório: Crie seu primeiro grupo de Auto Scaling.

O registro do seu grupo do Auto Scaling em um balanceador de carga Elastic Load Balancing ajuda você a configurar uma aplicação com balanceamento de carga. O Elastic Load Balancing funciona com o Amazon EC2 Auto Scaling para distribuir o tráfego de entrada entre suas instâncias íntegras do Amazon EC2. Isso aumenta a escalabilidade e a disponibilidade da sua aplicação. É possível habilitar o Elastic Load Balancing em várias zonas de disponibilidade para aumentar a tolerância a falhas das aplicações.

Neste tutorial, abordamos as etapas básicas para a configuração de uma aplicação com balanceamento de carga quando o grupo do Auto Scaling é criado. Quando terminar, sua arquitetura será semelhante ao diagrama a seguir:


      Um grupo do Auto Scaling com um Application Load Balancer

O Elastic Load Balancing oferece suporte para diferentes tipos de balanceadores de carga. Recomendamos que você use um Application Load Balancer para este tutorial.

Para obter mais informações sobre como introduzir um balanceador de carga em sua arquitetura, consulte Usar o Elastic Load Balancing para distribuir tráfego entre as instâncias no grupo do Auto Scaling.

Pré-requisitos

  • Um balanceador de carga e grupo de destino. Certifique-se de escolher as mesmas zonas de disponibilidade para o balanceador de carga que você planeja usar em seu grupo do Auto Scaling. Para obter mais informações, consulte Conceitos básicos do Elastic Load Balancing no Manual do usuário do Elastic Load Balancing.

  • Um grupo de segurança para o modelo de execução ou configuração de execução. O grupo de segurança deve permitir o acesso do balanceador de carga na porta do listener (geralmente na porta 80 para tráfego HTTP) e na porta que você deseja que o Elastic Load Balancing use para verificações de integridade. Para obter mais informações, consulte a documentação aplicável:

    Opcionalmente, se as instâncias tiverem endereços IP públicos, também será possível permitir tráfego de SSH para conexão com as instâncias.

  • (Opcional) Uma função do IAM que concede acesso ao seu aplicativo AWS a.

  • (Opcional) Uma imagem de máquina da Amazon (AMI) definida como sendo o modelo de origem para suas instâncias do Amazon EC2. Para criar um agora, execute uma instância. Especifique a função do IAM (se tiver criado uma) e os scripts de configuração de que você precisa como dados do usuário. Conecte-se à instância e personalize-a. Por exemplo, você pode instalar softwares e aplicações, copiar dados e anexar volumes adicionais do EBS. Teste suas aplicações na sua instância para garantir que ela esteja configurada corretamente. Salve esta configuração atualizada como uma AMI personalizada. Será possível terminar a instância se ela não for necessária posteriormente. Entre as instâncias executadas nessa AMI personalizada estão as personalizações que você fez quando criou a AMI.

  • Uma nuvem privada virtual (VPC). Este tutorial se refere à VPC padrão, mas é possível usar a sua própria. Nesse último caso, certifique-se de que a VPC tenha uma sub-rede mapeada para cada zona de disponibilidade da região na qual você está trabalhando. No mínimo, é necessário ter duas sub-redes públicas disponíveis para criar o balanceador de carga. Você também deve ter duas sub-redes privadas ou duas sub-redes públicas para criar seu grupo do Auto Scaling e registrá-lo no balanceador de carga.

Etapa 1: Configurar um modelo de execução ou uma configuração de execução

Use um modelo de execução ou uma configuração de execução para este tutorial.

Selecione ou crie um modelo de lançamento

Se você já tiver um modelo de execução que gostaria de usar, selecione-o usando o procedimento a seguir.

Para selecionar um modelo de execução existente
  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, escolha a região onde o balanceador de carga foi criado.

  3. Selecione um modelo de execução.

  4. Selecione Actions (Ações), Create Auto Scaling group (Criar grupo do Auto Scaling).

Como alternativa, use o procedimento a seguir para criar um novo modelo de execução.

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, escolha a região onde o balanceador de carga foi criado.

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

  4. Insira um nome e forneça uma descrição para a versão inicial do modelo de execução.

  5. Em Application and OS Images (Amazon Machine Image) (Imagens de aplicações e sistemas operacionais [imagem de máquina da Amazon]), escolha o ID da AMI de suas instâncias. Você pode pesquisar todas as AMIs disponíveis ou selecionar uma AMI na lista Recents (Recentes) ou Quick Start (Início rápido). Caso não veja a AMI de que precisa, escolha Browser more AMIs (Pesquisar mais AMIs) para navegar pelo catálogo completo de AMIs.

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

  7. (Opcional) Em Key pair (login) (Par de chaves - login), digite o nome do par de chaves a ser usado quando você se conectar às suas instâncias.

  8. Em Network settings (Configurações de rede), expanda Advanced network configuration (Configuração de rede avançada) e execute estas ações:

    1. Escolha Add network interface (Adicionar interface de rede) para configurar a interface de rede primária.

    2. Para atribuir automaticamente IP público, especifique se suas instâncias recebem endereços IPv4 públicos. Por padrão, o Amazon EC2 atribui um endereço IPv4 público se a instância do EC2 for iniciada em uma sub-rede padrão ou se a instância for iniciada em uma sub-rede configurada para atribuir automaticamente um endereço IPv4 público. Se você não precisar se conectar às suas instâncias, escolha Desativar para evitar que as instâncias do seu grupo recebam tráfego diretamente da Internet. Nesse caso, elas receberão tráfego somente do load balancer.

    3. Em Security group ID (ID do grupo de segurança), especifique um grupo de segurança para suas instâncias a partir da mesma VPC que o balanceador de carga.

    4. Em Delete on termination (Excluir ao término), escolha Yes (Sim). Isso excluirá a interface de rede quando o grupo do Auto Scaling reduzir a escala na horizontal e terminará a instância na qual a interface de rede está anexada.

  9. (Opcional) Para distribuir as credenciais de forma segura para as suas instâncias, em Advanced details (Detalhes avançados), IAM instance profile (Perfil de instância do IAM), digita o nome de recurso da Amazon (ARN) da sua função do IAM.

  10. (Opcional) Para especificar os dados do usuário ou um script de configuração para suas instâncias, copie-os em Advanced details (Detalhes avançados), User data (Dados do usuário).

  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).

Criar ou selecionar uma configuração de execução

nota

Nós desencorajamos fortemente o uso de configurações de lançamento em novos aplicativos porque é um recurso antigo sem investimento planejado. Além disso, novas contas criadas em ou após 1º de junho de 2023 não terão a opção de criar novas configurações de lançamento por meio do console. Para ter mais informações, consulte Configurações de execução.

Para selecionar uma configuração de ativação existente
  1. Abra a página Launch configurations (Configurações de execução) do console do Amazon EC2.

  2. Na barra de navegação superior, escolha a região onde o balanceador de carga foi criado.

  3. Selecione uma configuração de ativação.

  4. Selecione Actions (Ações), Create Auto Scaling group (Criar grupo do Auto Scaling).

Como alternativa, para criar uma nova configuração de ativação, use o procedimento a seguir.

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. Quando a confirmação for solicitada, escolha Exibir configurações de inicialização para confirmar que deseja visualizar a página Configurações de inicialização.

  2. Na barra de navegação superior, escolha a região onde o balanceador de carga foi criado.

  3. SelecioneCreate launch configuration (Criar uma configuração de execução), e insira um nome para sua configuração de execução.

  4. Em Amazon machine image (AMI) (Imagem de máquina da Amazon), insira o ID da AMI para suas instâncias como critério de pesquisa.

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

  6. Em Additional configuration (Configuração adicional), preste atenção aos seguintes campos:

    1. (Opcional) Para distribuir credenciais com segurança para sua instância EC2, em IAM instance profile (Perfil da instância do IAM), escolha sua função do IAM. Para ter mais informações, consulte Funções do IAM para aplicações que são executadas em instâncias do Amazon EC2.

    2. (Opcional) Para especificar os dados do usuário ou um script de configuração para sua instância, copie-os em Advanced details (Detalhes avançados), User data (Dados do usuário).

    3. (Opcional) Em Advanced details (Detalhes avançados), IP address type (Tipo de endereço IP), mantenha o valor padrão. Ao criar seu grupo do Auto Scaling, é possível atribuir um endereço IP público a instâncias no seu grupo do Auto Scaling usando sub-redes que têm o atributo de endereçamento IP público habilitado, como as sub-redes padrão na VPC padrão. Como alternativa, se você não precisar se conectar às suas instâncias, escolha Do not assign a public IP address to any instances (Não atribuir um endereço IP público a nenhuma instância) para impedir que as instâncias no seu grupo recebam tráfego diretamente da Internet. Nesse caso, elas receberão tráfego somente do load balancer.

  7. Em Security groups (Grupos de segurança), escolha um grupo de segurança existente na mesma VPC que o balanceador de carga. Se você mantiver Create a new security group (Criar um novo grupo de segurança) selecionado, uma regra 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).

    Se já tiver configurado um par de chaves de instância do Amazon EC2, você pode escolhê-lo aqui.

    Caso você ainda não tenha um par de chaves da instância do Amazon EC2, escolha Create a new key pair (Criar um novo par de chaves) e atribua a ele um nome reconhecível. Escolha Download key pair (Fazer download do par de chaves) para fazer baixar o par de chaves para seu computador.

    Importante

    Não escolha Proceed without a key pair (Continuar sem um par de chaves) se você precisar se conectar à sua instância.

  9. Selecione a caixa de confirmação e 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

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

Para criar um grupo do Auto Scaling
  1. Na página Choose launch template or configuration (Escolher o modelo ou a configuração de execução), em Auto Scaling group name (Nome do grupo do Auto Scaling) insira um nome para o grupo do Auto Scaling.

  2. [Modelo de execução somente] Em Launch template (Modelo de execução), indique se o grupo do Auto Scaling usará a versão padrão, a mais recente ou uma versão específica do modelo de execução no aumento da escala na horizontal.

  3. Escolha 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).

  4. Na seção Network (Rede), para VPC, selecione a VPC usada para o balanceador de carga. Se você escolher a VPC padrão, ela será configurada automaticamente para fornecer conectividade com a Internet às instâncias. Essa VPC inclui uma sub-rede pública em cada zona de disponibilidade na região.

  5. Para Availability Zones and subnets (Zonas de disponibilidade e sub-redes), selecione uma ou mais sub-redes de cada zona de disponibilidade que você deseja incluir, baseando-se em quais zonas de disponibilidade o balanceador de carga se encontra. Para ter mais informações, consulte Considerações sobre a escolha de sub-redes da VPC.

  6. [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 apenas das Instâncias sob demanda usando o tipo de instância especificado no modelo de execução.

  7. Selecione Next (Próximo) para ir até a página Configure advanced options (Configurar opções avançadas).

  8. Para anexar o grupo a um balanceador de carga existente, na seção Load balancing (Balanceamento de carga), selecione Attach to an existing load balancer (Anexar a um balanceador de carga existente). É possível selecionar Choose from your load balancer target groups (Escolher entre seus grupos de destino do balanceador de carga) ou Choose from Classic Load Balancers (Escolher entre balanceadores de carga clássicos). Em seguida, você pode escolher o nome de um grupo de destino para o Application Load Balancer ou Network Load Balancer criado ou escolher o nome de um Classic Load Balancer.

  9. (Opcional) Para usar as verificações de integridade do Elastic Load Balancing, em Health checks (Verificações de integridade), escolha ELB em Health check type (Tipo de verificação de integridade).

  10. Quando terminar de configurar o grupo do Auto Scaling, escolha Skip to review (Pular para revisão).

  11. Na página Review (Revisar), examine os detalhes de seu grupo do Auto Scaling. Você pode escolher Editar para fazer alterações. Ao concluir, escolha Create group (Criar grupo).

Depois de criar o grupo do Auto Scaling com o balanceador de carga anexado, o balanceador de carga registrará automaticamente as novas instâncias à medida que ficarem online. Você tem somente uma instância no momento, então não há muito para registrar. No entanto, é possível adicionar outras instâncias atualizando a capacidade desejada do grupo. Para step-by-step obter instruções, consulteAlterar a capacidade desejada de seu grupo do Auto Scaling.

Etapa 3: Verificar se o balanceador de carga está anexado

Como verificar se o balanceador de carga está associado
  1. Na Auto Scaling groups page (Página Grupos do Auto Scaling) do console do Amazon EC2, marque a caixa de seleção ao lado do seu grupo do Auto Scaling.

  2. Na guia Details (Detalhes), Load balancing (Balanceamento de carga) mostra os grupo de destino do balanceador de carga ou os Classic Load Balancers anexados.

  3. Na guia Activity (Atividades), em Activity history (Histórico de atividades), é possível verificar se as instâncias foram executadas com êxito. A coluna Status mostra se seu grupo do Auto Scaling tem instâncias executadas com êxito. Se as instâncias não foram executadas, será possível encontrar ideias de solução de problemas para problemas comuns de execução de instâncias na Solucionar problemas do Amazon EC2 Auto Scaling.

  4. Na guia Instance management (Gerenciamento de instâncias), em Instances (Instâncias), é possível verificar se as suas instâncias estão prontas para receber tráfego. Inicialmente, suas instâncias estão 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 das verificações de integridade do Amazon EC2 Auto Scaling em suas instâncias. Embora uma instância possa ser marcada como íntegra, o balanceador de carga só enviará tráfego para instâncias que passarem nas verificações de integridade do balanceador de carga.

  5. Verifique se suas instâncias estão registradas do balanceador de carga. Abra a página Target groups (Grupos de destino) do console do Amazon EC2. Selecione o grupo de destino e escolha a guia Destinos. Se o estado das suas instâncias for initial, é provavelmente porque elas ainda estão em processo de registro, ou ainda estão sendo submetidas a verificações de integridade. Quando o estado das suas instâncias for healthy, elas estarão prontas para uso.

Etapa 4: Próximas etapas

Agora que você concluiu este tutorial, é possível aprender mais:

  • Você pode configurar seu grupo do Auto Scaling para usar as verificações de integridade do Elastic Load Balancing. Se você habilitar as verificações de integridade do balanceador de carga e houver falha nas verificações de integridade de uma instância, o grupo do Auto Scaling considerará a instância como não íntegra e a substituirá. Para ter mais informações, consulte Adicionar verificações de integridade do Elastic Load Balancing.

  • É possível expandir sua aplicação para uma zona de disponibilidade adicional na mesma região para aumentar a tolerância a falhas em caso de interrupção do serviço. Para ter mais informações, consulte Adicionar zonas de disponibilidade.

  • É possível configurar o grupo do Auto Scaling para usar uma política de escalabilidade com monitoramento do objetivo. Isso aumenta ou diminui automaticamente o número de instâncias à medida que a demanda nas instâncias for alterada. Isso permite que o grupo lide com alterações na quantidade de tráfego que a aplicação recebe. Para ter mais informações, consulte Políticas de escalabilidade de rastreamento de destino.

Etapa 5: Limpar

Após concluir os recursos que você criou para este tutorial, você deverá considerar limpá-los para evitar cobranças desnecessárias.

Para excluir seu grupo do Auto Scaling
  1. Abra a página de grupos do Auto Scaling do console do Amazon EC2.

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

  3. Escolha Excluir.

  4. Quando a confirmação for solicitada, digite delete para confirmar a exclusão do grupo do Auto Scaling especificado e, em seguida, escolha 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 seu modelo de execução.

  3. Escolha Actions (Ações), Delete template (Excluir modelo).

  4. Quando a confirmação for solicitada, digite Delete para confirmar a exclusão do modelo de execução especificado e, em seguida, escolha Excluir.

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 sua configuração de execução.

  3. Escolha Ações, Excluir configuração de execução.

  4. Quando a confirmação for solicitada, escolha Excluir.

Ignore o procedimento a seguir se desejar manter o balanceador de carga para uso futuro.

Para excluir o balanceador de carga
  1. Abra a página Load balancers (Balanceadores de carga) do console do Amazon EC2.

  2. Selecione o balanceador de carga e Actions (Ações), Delete (Excluir).

  3. Quando a confirmação for solicitada, escolha Sim, excluir.

Para excluir seu grupo de destino
  1. Abra a página Target groups (Grupos de destino) do console do Amazon EC2.

  2. Selecione o grupo de destino e escolha Actions (Ações), Delete (Excluir).

  3. Quando a confirmação for solicitada, escolha Sim, excluir.

Com AWS CloudFormation, você pode criar e provisionar implantações de AWS infraestrutura de forma previsível e repetida, usando arquivos de modelo para criar e excluir uma coleção de recursos juntos como uma única unidade (uma pilha). Para obter mais informações, consulte o Guia do usuárioAWS CloudFormation.

Para obter um passo a passo que usa um modelo de pilha para provisionar um grupo do Auto Scaling e um Application Load Balancer, consulte Passo a passo: Criar um aplicativo dimensionado e com balanceamento de carga no AWS CloudFormation Guia do usuário. Use o passo a passo e o modelo de amostra como ponto de partida para criar modelos semelhantes que atendam às suas necessidades.