Configurar um Network Load Balancer - AWS Elastic Beanstalk

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

Configurar um Network Load Balancer

Quando você habilita o balanceamento de carga, o ambiente do AWS Elastic Beanstalk é equipado com um balanceador de carga do Elastic Load Balancing para distribuir o tráfego entre as instâncias do ambiente. O Elastic Load Balancing é compatível com vários tipos de balanceador de carga. Para saber mais sobre eles, consulte o Guia do usuário do Elastic Load Balancing. O Elastic Beanstalk pode criar um balanceador de carga para você ou permitir a especificação de um balanceador de carga compartilhado que você criou.

Este tópico descreve a configuração de um Network Load Balancer que o Elastic Beanstalk cria e dedica ao seu ambiente. Para obter informações sobre como configurar todos os tipos de balanceador de carga compatíveis com o Elastic Beanstalk, consulte Balanceador de carga do ambiente do Elastic Beanstalk.

nota

Você só pode escolher o tipo de load balancer que seu ambiente usará durante a criação do ambiente. Você pode alterar as configurações para gerenciar o comportamento do load balancer do ambiente em execução, mas não pode alterar seu tipo.

Introdução

Com o Network Load Balancer, o listener padrão aceita solicitações de TCP na porta 80 e as distribui para as instâncias no seu ambiente. Você pode configurar o comportamento de verificação de integridade, configurar uma porta do listener ou adicionar um listener a outra porta.

nota

Ao contrário de um Classic Load Balancer ou um Application Load Balancer, um Network Load Balancer não pode ter listeners HTTP ou HTTPS da camada de aplicação (camada 7). Ele só oferece suporte aos listeners de TCP da camada de transporte (camada 4). O tráfego HTTP e HTTPS podem ser roteados para o ambiente por TCP. Para estabelecer conexões HTTPS seguras entre os clientes da Web e seu ambiente, instale um certificado autoassinado nas instâncias do ambiente e configure as instâncias para escutar na porta apropriada (normalmente 443) e encerrar as conexões HTTPS. A configuração varia de acordo com a plataforma. Para obter instruções, consulte Configurar o aplicativo para encerrar conexões HTTPS na instância. Depois, configure o Network Load Balancer para adicionar um listener que é mapeado para um processo que escuta na porta apropriada.

Um Network Load Balancer é compatível com verificações de integridade ativas. Essas verificações são baseadas em mensagens para o caminho da raiz (/). Além disso, um Network Load Balancer é compatível com verificações de integridade passivas. Ele detecta automaticamente as instâncias de back-end defeituosas e roteia o tráfego somente para instâncias íntegras.

Configurar um Network Load Balancer usando o console do Elastic Beanstalk

É possível usar o console do Elastic Beanstalk para configurar os listeners e os processos de um Network Load Balancer durante a criação do ambiente ou mais tarde quando seu ambiente estiver em execução.

Como configurar um Network Load Balancer no console do Elastic Beanstalk durante a criação do ambiente
  1. Abra o console do Elastic Beanstalk e, na lista Regions (Regiões), selecione a sua Região da AWS.

  2. No painel de navegação, escolha Environments (Ambientes).

  3. Escolha Create a new environment (Criar um ambiente) para começar a criar seu ambiente.

  4. Na página principal do assistente, antes de escolher Create environment, escolha Configure more options.

  5. Escolha a predefinição de configuração High availability (Alta disponibilidade).

    Se preferir, na categoria de configuração Capacity (Capacidade), configure o tipo de ambiente Load balanced (Carga equilibrada). Para obter mais detalhes, consulte Capacity.

  6. Na categoria de configuração Load balancer, escolha Edit (Editar).

  7. Selecione a opção Network Load Balancer se ainda não estiver selecionada.

    Página de configuração do Elastic Load Balancing: escolher o tipo de balanceador de carga
  8. Faça todas as alterações de configuração do Network Load Balancer necessárias ao seu ambiente.

  9. Escolha Save e, em seguida, faça as outras alterações de configuração de acordo com seu ambiente.

  10. Selecione Create environment (Criar ambiente).

Como configurar o Network Load Balancer de um ambiente em execução no console do Elastic Beanstalk
  1. Abra o console do Elastic Beanstalk e, na lista Regions (Regiões), selecione a sua Região da AWS.

  2. No painel de navegação, selecione Ambientes e selecione o nome do ambiente na lista.

    nota

    Se você tiver muitos ambientes, use a barra de pesquisa para filtrar a lista de ambientes.

  3. No painel de navegação, escolha Configuration (Configuração).

  4. Na categoria de configuração Load balancer, escolha Edit (Editar).

    nota

    Se a categoria de configuração Load balancer não tem um botão Edit (Editar), seu ambiente não tem um load balancer. Para aprender como configurar um, consulte Alterar tipo de ambiente.

  5. Faça as alterações de configuração do Network Load Balancer necessárias ao seu ambiente.

  6. Para salvar as alterações, escolha Apply (Aplicar) na parte inferior da página.

Configurações do Network Load Balancer

Listeners

Use esta lista para especificar listeners para seu load balancer. Cada listener direciona o tráfego de entrada do cliente em uma porta especificada para um processo em suas instâncias. Inicialmente, a lista mostra o listener padrão, que encaminha o tráfego de entrada na porta 80 para um processo chamado default, que observa a porta 80.

Configuração do Network Load Balancer: lista de listeners
Para configurar um listener existente
  1. Marque a caixa de seleção ao lado da entrada da tabela e, em seguida, escolha Actions, Edit.

  2. Use a caixa de diálogo Network Load Balancer listener para editar as configurações e, em seguida, escolha Save.

Para adicionar um listener
  1. Escolha Add listener.

  2. Na caixa de diálogo Network Load Balancer listener, defina as configurações obrigatórias e, em seguida, escolha Add.

Use a caixa de diálogo Network Load Balancer listener para configurar a porta na qual o ouvinte atende ao tráfego e para escolher o processo para o qual você deseja rotear o tráfego (especificado pela porta na qual o processo escuta).

Caixa de diálogo Network Load Balancer listener (Listener do Network Load Balancer)

Processos

Use esta lista para especificar processos para seu load balancer. Um processo é um destino para os listeners direcionarem o tráfego. Cada listener direciona o tráfego de entrada do cliente em uma porta especificada para um processo em suas instâncias. Inicialmente, a lista mostra o processo padrão, que observa o tráfego de entrada na porta 80.

Configuração do Network Load Balancer: lista de processos

Você pode editar as configurações de um processo existente ou adicionar um novo processo. Para começar a editar um processo na lista ou adicionar um processo a ele, use as mesmas etapas listadas para lista de listener. A caixa de diálogo Environment process é exibida.

Configurações da caixa de diálogo Environment process (Processo do ambiente) do Network Load Balancer

Definição

Use estas configurações para definir o processo Name e Process port no qual as solicitações são observadas.

Configurações da caixa de diálogo de processo do Network Load Balancer para nome, porta do listener e porta do processo

Verificação de integridade

Use as configurações a seguir para configurar as verificações de integridade do processo:

  • Interval (Intervalo): a quantidade de tempo, em segundos, entre as verificações de integridade de uma instância individual.

  • Healthy threshold (Limite íntegro): o número de verificações de integridade que devem ser aprovadas antes de o Elastic Load Balancing alterar o estado de integridade de uma instância. (Para Network Load Balancer, Unhealthy threshold (Limite não íntegro) é uma configuração somente leitura que é sempre igual ao valor limite de integridade.)

  • Deregistration delay (Atraso do cancelamento de registro): a quantidade de tempo, em segundos, para aguardar que as solicitações ativas sejam concluídas antes de cancelar o registro de uma instância.

Configurações da caixa de diálogo do processo do Network Load Balancer para verificação de integridade
nota

A verificação de integridade do Elastic Load Balancing não afeta o comportamento da verificação de integridade do grupo de Auto Scaling de um ambiente. As instâncias que falham em uma verificação de integridade do Elastic Load Balancing não serão automaticamente substituídas pelo Amazon EC2 Auto Scaling, a menos que você configure manualmente o Amazon EC2 Auto Scaling para fazê-lo. Para mais detalhes, consulte Configuração da verificação de integridade do Auto Scaling.

Para obter mais informações sobre verificações de integridade e como elas influenciam a integridade geral do ambiente, consulte Relatórios de integridade básica.

Exemplo: Network Load Balancer para um ambiente com criptografia de ponta a ponta

Neste exemplo, o aplicativo requer criptografia de tráfego ponta a ponta. Para configurar o Network Load Balancer do ambiente para atender a esses requisitos, configure o processo padrão para escutar na porta 443, adicione um listener à porta 443 que roteia o tráfego para o processo padrão e desabilite o listener padrão.

Para configurar o load balancer neste exemplo
  1. Configure o processo padrão. Selecione o processo padrão e, em seguida, em Actions, escolha Edit. Para Process port, digite 443.

    Configuração demonstrativa do Network Load Balancer: configurar o processo padrão para usar a porta de processo 443
  2. Adicione um listener da porta 443. Adicione um novo listener. Para Listener port, digite 443. Para Process port, certifique-se de selecionar 443.

    Configuração demonstrativa do Network Load Balancer: adicionar um listener da porta 443

    Agora você pode ver seu listener adicional na lista.

    Configuração demonstrativa do Network Load Balancer: lista de listeners com dois listeners
  3. Desative o listener da porta padrão 80. Para o listener padrão, desative a opção Habilitada.

    Configuração demonstrativa do Network Load Balancer: desabilitar o listener padrão

Configurar um Network Load Balancer usando a CLI do EB

A EB CLI solicita que você escolha um tipo de load balancer ao executar o eb create.

$ eb create Enter Environment Name (default is my-app): test-env Enter DNS CNAME prefix (default is my-app): test-env-DLW24ED23SF Select a load balancer type 1) classic 2) application 3) network (default is 1): 3

Você também pode especificar um tipo de load balancer com a opção --elb-type.

$ eb create test-env --elb-type network

Namespaces do Network Load Balancer

É possível encontrar as configurações relacionadas aos Network Load Balancers nos seguintes namespaces:

  • aws:elasticbeanstalk:environment: selecione o tipo de balanceador de carga para o ambiente. O valor de um Network Load Balancer é network.

  • aws:elbv2:listener: configure os listeners no Network Load Balancer. Essas configurações são mapeadas para as configurações em aws:elb:listener para Classic Load Balancers.

  • aws:elasticbeanstalk:environment:process: configure as verificações de integridade e especifique a porta e o protocolo para os processos que são executados nas instâncias de seu ambiente. A porta e as configurações de protocolo mapeiam a porta e as configurações de protocolo da instância em aws:elb:listener para um listener no Classic Load Balancer. As configurações de verificação de integridade são mapeadas para as configurações nos namespaces aws:elb:healthcheck e aws:elasticbeanstalk:application.

exemplo
.ebextensions/network-load-balancer.config

Para começar a usar um Network Load Balancer, use um arquivo de configuração para definir o tipo de balanceador de carga como network.

option_settings: aws:elasticbeanstalk:environment: LoadBalancerType: network
nota

Você pode definir o tipo de load balancer apenas durante a criação do ambiente.

exemplo
.ebextensions/nlb-default-process.config

O arquivo de configuração a seguir modifica as configurações de verificação de integridade no processo padrão.

option_settings: aws:elasticbeanstalk:environment:process:default: DeregistrationDelay: '20' HealthCheckInterval: '10' HealthyThresholdCount: '5' UnhealthyThresholdCount: '5' Port: '80' Protocol: TCP
exemplo .ebextensions/nlb-secure-listener.config

O arquivo de configuração a seguir adiciona um listener para o tráfego seguro na porta 443 e um processo de destino correspondente com listener na porta 443.

option_settings: aws:elbv2:listener:443: DefaultProcess: https ListenerEnabled: 'true' aws:elasticbeanstalk:environment:process:https: Port: '443'

A opção DefaultProcess é assim denominada em virtude dos Application Load Balancers, que podem ter listeners não padrão na mesma porta para tráfego para caminhos específicos (consulte Application Load Balancer para obter detalhes). Para um Network Load Balancer, a opção especifica o único processo de destino para esse listener.

Neste exemplo, chamamos o processo de https porque ele faz o listening do tráfego seguro (HTTPS). O listener envia o tráfego para o processo na porta designada usando o protocolo TCP, pois o Network Load Balancer funciona apenas com TCP. Isso está correto, porque o tráfego de rede para HTTP e HTTPS é implementado na parte superior do TCP.