Etapa 4.1: adicionar um load balancer - AWS OpsWorks

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

Etapa 4.1: adicionar um load balancer

Importante

O AWS OpsWorks Stacks não está mais aceitando novos clientes. Os clientes existentes poderão usar o OpsWorks console, a API, a CLI e CloudFormation os recursos normalmente até 26 de maio de 2024, quando serão descontinuados. Para se preparar para essa transição, recomendamos que você transfira suas pilhas para o AWS Systems Manager o mais rápido possível. Para obter mais informações, consulte Como migrar seus aplicativos AWS OpsWorks Stacks para o Application Manager AWS Systems Manager e AWS OpsWorks Stacks Perguntas frequentes sobre o fim da vida útil.

O Elastic Load Balancing é um serviço da AWS que distribui automaticamente o tráfego de entrada das aplicações entre várias instâncias do Amazon EC2. Além de distribuir o tráfego, o Elastic Load Balancing faz o seguinte:

  • Detecta instâncias insalubres do Amazon EC2.

    Ele redireciona o tráfego para as instâncias íntegras restantes até que as instâncias com problemas sejam restauradas.

  • Escalona automaticamente a capacidade de gerenciamento de solicitações em resposta ao tráfego de entrada

nota

Um load balancer pode servir a dois propósitos. O óbvio é equalizar a carga em seus servidores de aplicativos. Além disso, vários sites preferem isolar os servidores e bancos de dados dos aplicativos do acesso direto do usuário. Com o AWS OpsWorks Stacks é possível fazer isso através da execução da pilha em uma nuvem virtual particular (VPC) com um sub-rede pública e privada como mostrado a seguir.

  • Coloque os servidores e o banco de dados do aplicativo na sub-rede privada, onde eles podem ser acessados por outras instâncias na VPC, mas não pelos usuários.

  • Direcione o tráfego de usuários para um load balancer na sub-rede pública, que, em seguida, encaminha o tráfego para os servidores do aplicativo em uma sub-rede privada e retorna as respostas para os usuários.

Para ter mais informações, consulte Execução de uma Stack em uma VPC. Para obter um modelo do AWS CloudFormation que estende o exemplo desta demonstração para ser executado em uma VPC, faça download do arquivo OpsWorksVPCtemplates.zip.

Embora o Elastic Load Balancing normalmente seja mencionado como uma camada, ele funciona de uma forma um pouco diferente das outras camadas integradas. Em vez de criar uma camada e de adicionar instâncias a ela, você cria um balanceador de carga do Elastic Load Balancing usando o console do Amazon EC2 e então o anexa uma das camadas existentes, geralmente uma camada de servidor de aplicativos. AWS OpsWorks O Stacks então registra as instâncias existentes da camada no serviço e adiciona automaticamente quaisquer novas instâncias. O procedimento a seguir descreve como adicionar um balanceador de carga à camada MyStack do PHP App Server.

nota

O AWS OpsWorks Stacks não é compatível com o Application Load Balancer. Você só pode usar o Classic Load Balancer com AWS OpsWorks Stacks.

Para anexar um balanceador de carga a uma camada PHP App Server
  1. Use o console do Amazon EC2 para criar um novo balanceador de carga para. MyStack Os detalhes dependem se sua conta é compatível com o EC2 Classic. Para obter mais informações, consulte Conceitos básicos do Elastic Load Balancing. Quando você executar o assistente do Create Load Balancer, configure o load balancer como a seguir:

    Define Load Balancer

    Atribua um nome que possa ser facilmente reconhecido para o load balancer, como PHP-LB, para facilitar a localização no console do AWS OpsWorks Stacks. Em seguida, selecione Continue para aceitar os padrões para as outras configurações.

    Se você escolher uma VPC com uma ou mais sub-redes do menu Create LB Inside, será preciso selecionar uma sub-rede para cada zona de disponibilidade para onde o tráfego será enviado pelo load balancer.

    Assign Security Groups

    Se a sua conta for compatível com a VPC padrão, o assistente exibirá esta página para determinar o grupo de segurança do load balancer. Ele não exibe esta página para o EC2 Classic.

    Para este passo-a-passo, escolha default VPC security group.

    Configure Security Settings

    Se você escolher HTTPS como Load Balancer Protocol na página Define Load Balancer, defina as configurações de certificado, criptografia e protocolo SSL nesta página. Para este passo-a-passo, aceite os valores padrão e escolha Configure Health Check.

    Configurar verificações de integridade

    Defina o caminho de ping como / e aceite os padrões para as outras configurações.

    Add EC2 Instances

    Selecione Continue (Continuar);, o AWS OpsWorks Stacks registra automaticamente as instâncias com o load balancer.

    Add Tags

    Adicione tags a fim de ajudar a encontrar. Cada tag é um par chave-valor. Por exemplo, é possível especificar Descriptioncomo a chave e Test LB como o valor para os fins dessa demonstração.

    Revisar

    Revise suas escolhas, selecione Create e, em seguida, escolha Close, que inicia o load balancer.

  2. Se sua conta é compatível com a VPC padrão, após iniciar o load balancer, verifique se o grupo de segurança dela tem as regras de entrada adequadas. A regra padrão não aceita tráfego de entrada.

    1. No painel de navegação do Amazon EC2, escolha Grupos de segurança.

    2. Selecione default VPC security group

    3. Escolha Edit na guia Inbound.

    4. Para esta demonstração, defina Source como Anywhere, que direciona o load balancer a aceitar tráfego de entrada de qualquer endereço IP.

  3. Volte para o console do AWS OpsWorks Stacks. Na página Layers, escolha o link Network da camada e, em seguida, Edit.

  4. Na opção Elastic Load Balancing, selecione o load balancer criado na Etapa 1 e, em seguida, selecione Save.

    Após anexar o load balancer à camada, o AWS OpsWorks Stacks registra automaticamente as instâncias atuais da camada e adiciona novas instâncias conforme elas aparecem online.

  5. Na página Layers, clique no nome do load balancer para abrir sua página de detalhes. Quando o registro estiver completo e a instância passar pela verificação de integridade, o AWS OpsWorks Stacks exibe uma marca de seleção próxima à instância na página do load balancer.

Agora, é possível executar o SimplePHPApp enviando uma solicitação ao load balancer.

Para executar o SimplePHPApp no load balancer
  1. Abra a página de detalhes do load balancer novamente, caso ainda não estiver aberta.

  2. Na página das propriedades, verifique o status de integridade da instância e clique no nome do DNS do load balancer para executar o SimplePHPApp. O balanceador de carga encaminha a solicitação para a instância PHP App Server e retorna a resposta, que deve ser exatamente igual à resposta obtida quando você clica no endereço IP público da instância PHP App Server.

nota

O AWS OpsWorks Stacks também é compatível com o load balancer do HAProxy, que deve apresentar vantagens para alguns aplicativos. Para ter mais informações, consulte Camada de AWS OpsWorks Stacks HAProxy.