Configuração do Elastic Load Balancing usando o AWS Toolkit for Visual Studio - 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á.

Configuração do Elastic Load Balancing usando o AWS Toolkit for Visual Studio

O Elastic Load Balancing é um serviço web da Amazon que ajuda você a aprimorar a disponibilidade e a escalabilidade de seu aplicativo. Este serviço facilita a distribuição de cargas de aplicativo entre duas ou mais instâncias do Amazon EC2. O Elastic Load Balancing melhora a disponibilidade ao fornecer mais redundância e acomoda o crescimento de tráfego da aplicação.

Com o Elastic Load Balancing, é possível distribuir e equilibrar automaticamente o tráfego de entrada de aplicações entre todas as instâncias em execução. Também é possível adicionar facilmente novas instâncias quando for necessário aumentar a capacidade da aplicação.

O Elastic Beanstalk provisiona automaticamente o Elastic Load Balancing ao implantar uma aplicação. É possível editar a configuração da instância do Amazon EC2 do ambiente do Elastic Beanstalk na guia Load Balancer (Balanceador de carga) na guia do ambiente da aplicação no AWS Toolkit for Visual Studio.

Captura de tela do painel de configuração do balanceador de carga no Visual Studio Toolkit para Elastic Beanstalk

As seções a seguir descrevem os parâmetros do Elastic Load Balancing que você pode configurar para o seu aplicativo.

Portas

O balanceador de carga provisionado para lidar com as solicitações da aplicação do Elastic Beanstalk envia solicitações para as instâncias do Amazon EC2 que estão executando a aplicação. O balanceador de carga provisionado pode receber solicitações em portas HTTP e HTTPS e encaminhá-las para as instâncias do Amazon EC2 em sua aplicação do AWS Elastic Beanstalk. Por padrão, o load balancer lida com solicitações na porta HTTP. Para realizar esse trabalho, pelo menos uma das portas (HTTP ou HTTPS) deve estar ativada.

Configuração do Elastic Load Balancing do Elastic Beanstalk: portas
Importante

A porta especificada não deve estar bloqueada. Caso contrário, você não conseguirá se conectar à aplicação do Elastic Beanstalk.

Controle da porta HTTP

Para desativar a porta HTTP, selecione OFF em HTTP Listener Port. Para ativar a porta HTTP, você deve selecionar uma porta HTTP (por exemplo, a 80) na lista.

nota

Para acessar o ambiente usando uma porta diferente da porta 80 padrão, como a porta 8080, adicione uma escuta ao load balancer existente e configure a nova escuta nessa porta.

Por exemplo, usando a AWS CLI for Classic Load Balancers, digite o comando a seguir, substituindo LOAD_BALANCER_NAME pelo nome do balanceador de carga do Elastic Beanstalk.

aws elb create-load-balancer-listeners --load-balancer-name LOAD_BALANCER_NAME --listeners "Protocol=HTTP, LoadBalancerPort=8080, InstanceProtocol=HTTP, InstancePort=80"

Por exemplo, usando a AWS CLI para Application Load Balancers, digite o comando a seguir, substituindo LOAD_BALANCER_ARN pelo ARN do balanceador de carga do Elastic Beanstalk.

aws elbv2 create-listener --load-balancer-arn LOAD_BALANCER_ARN --protocol HTTP --port 8080

Se você quiser que o Elastic Beanstalk monitore o ambiente, não remova a escuta na porta 80.

Controle da porta HTTPS

O Elastic Load Balancing oferece suporte ao protocolo HTTPS/TLS para permitir a criptografia do tráfego para conexões de clientes com o load balancer. As conexões do load balancer para as instâncias do EC2 usam criptografia de texto simples. Por padrão, a porta HTTPS é desativada.

Para ativar a porta HTTPS
  1. Crie um novo certificado usando o AWS Certificate Manager (ACM), ou faça upload de um certificado e uma chave no AWS Identity and Access Management (IAM). Para obter mais informações sobre como solicitar um certificado do ACM, consulte Solicitação de um certificado no Manual do usuário do AWS Certificate Manager. Para obter mais informações sobre a importação de certificados de terceiros para o ACM, consulte Importação de certificados no Manual do usuário do AWS Certificate Manager. Se o ACM não estiver disponível em sua região, use o AWS Identity and Access Management (IAM) para fazer upload de um certificado de terceiros. Os serviços ACM e IAM armazenarão o certificado e fornecerão um nome de recurso da Amazon (ARN) para o certificado SSL. Para obter mais informações sobre a criação e o upload de certificados para o IAM, consulte Trabalhar com certificados de servidor no Trabalhar com certificados de servidor no Guia do usuário do IAM.

  2. Especifique a porta HTTPS selecionando uma porta em HTTPS Listener Port.

    Configuração do Elastic Load Balancing do Elastic Beanstalk: SSL
  3. Para SSL Certificate ID (ID de certificado SSL), insira o Nome de recurso da Amazon (ARN) do seu certificado SSL. Por exemplo, o arn:aws:iam::123456789012:server-certificate/abc/certs/build ou o arn:aws:acm:us-east-2:123456789012:certificate/12345678-12ab-34cd-56ef-12345678. Use o certificado SSL que você criou ou do qual fez upload na etapa 1.

Para desativar a porta HTTPS, selecione OFF em HTTPS Listener Port.

Verificações de integridade

A definição de verificação de integridade inclui um URL a ser consultado para saber a integridade da instância. Por padrão, o Elastic Beanstalk usa TCP: 80 para contêineres não legados e HTTP: 80 para contêineres legados. É possível substituir o URL padrão para corresponder a um recurso existente na aplicação (por exemplo, /myapp/default.aspx), inserindo-o na caixa Application Health Check URL (URL de verificação de integridade da aplicação). Se você substituir o URL padrão, o Elastic Beanstalk usará HTTP para consultar o recurso. Para verificar se você está usando um tipo de contêiner legado, consulte Por que algumas versões de plataforma são marcadas como legadas?

Você pode controlar as configurações da verificação de integridade usando a seção EC2 Instance Health Check do painel Load Balancing.

Configuração do Elastic Load Balancing do Elastic Beanstalk: verificações de integridade

A definição de verificação de integridade inclui um URL a ser consultado para saber a integridade da instância. Substitua o URL padrão para corresponder a um recurso existente na aplicação (por exemplo, /myapp/index.jsp), inserindo-o na caixa Application Health Check URL (URL de verificação de integridade da aplicação).

A lista a seguir descreve os parâmetros de verificação de integridade que você pode definir para o aplicativo.

  • Em Health Check Interval (seconds), insira o número de segundos que o Elastic Load Balancing aguarda entre as verificações de integridade das instâncias do Amazon EC2 do seu aplicativo.

  • Em Health Check Timeout (seconds), especifique o número de segundos que o Elastic Load Balancing aguarda por uma resposta antes que ele considere que a instância não está respondendo.

  • Em Healthy Check Count Threshold e Unhealthy Check Count Threshold, especifique o número de testes consecutivos de URL bem-sucedidos ou sem êxito antes que o Elastic Load Balancing altere o status de integridade da instância. Por exemplo, especificar 5 em Unhealthy Check Count Threshold (Limite de contagem de verificações de falta de integridade) significa que o URL deve retornar uma mensagem de erro ou de tempo esgotado cinco vezes consecutivas antes que o Elastic Load Balancing considere que a verificação de integridade falhou.

Sessões

Por padrão, um load balancer roteia cada solicitação de forma independente para a instância de servidor com a menor carga. Por comparação, uma sticky session vincula a sessão do usuário a uma determinada instância do servidor, para que todas as solicitações desse usuário durante a sessão sejam enviadas para a mesma instância do servidor.

O Elastic Beanstalk usa cookies HTTP gerados pelo balanceador de carga quando as sticky sessions são permitidas em uma aplicação. O load balancer usa um cookie especial gerado pelo load balancer para rastrear cada solicitação na instância do aplicativo. Quando o load balancer receber uma solicitação, ele primeiro verificará se esse cookie está presente na solicitação. Se estiver presente, a solicitação será enviada para a instância da aplicação especificada no cookie. Se não houver um cookie, o load balancer selecionará uma instância de aplicativo com base no algoritmo de balanceamento de carga existente. Um cookie será inserido na resposta para vincular as solicitações subsequentes do mesmo usuário para essa instância do aplicativo. A configuração da política define a expiração do cookie, que estabelece a validade de cada cookie.

É possível usar a seção Sessions (Sessões) na guia Load Balancer para especificar se deseja que o load balancer da aplicação permita a perdurabilidade da sessão.

Configuração do Elastic Load Balancing do Elastic Beanstalk: sessões

Para obter mais informações sobre Elastic Load Balancing, consulte o Guia do desenvolvedor de Elastic Load Balancing.