Listeners para seu Classic Load Balancer - Elastic Load Balancing

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

Listeners para seu Classic Load Balancer

Antes de começar a usar o Elastic Load Balancing, é preciso configurar um ou mais listeners para seu Classic Load Balancer. Um listener é um processo que verifica se há solicitações de conexão. Ele é pré-configurado com um protocolo e uma porta para conexões front-end (cliente para load balancer), além de protocolo e uma porta para conexões back-end (load balancer para instância back-end).

O Elastic Load Balancing suporta os seguintes protocolos:

  • HTTP

  • HTTPS (HTTP seguro)

  • TCP

  • SSL (TCP seguro)

O protocolo HTTPS utiliza o protocolo SSL para estabelecer conexões seguras sobre a layer HTTP. Você também pode usar o protocolo SSL para estabelecer conexões seguras sobre a layer TCP.

Se a conexão front-end usar TCP ou SSL, as conexões back-end poderão usar TCP ou SSL. Se a conexão front-end usar HTTP ou HTTPS, suas conexões back-end poderão usar HTTP ou HTTPS.

As instâncias back-end podem ouvir nas portas 1-65535.

Os load balancers podem ouvir nas seguintes portas: 1-65535

Protocolos

A comunicação para um aplicativo web típico passa por layers de hardware e software. Cada layer fornece uma função de comunicação específica. O controle sobre a função de comunicação é transmitido de uma layer para a seguinte, em sequência. O Open System Interconnection (OSI) define uma estrutura modelo para a implementação de um formato padrão para comunicação, chamado de protocolo, nessas layers. Para obter mais informações, consulte modelo OSI na Wikipédia.

Quando você usa o Elastic Load Balancing, precisa de uma compreensão básica da camada 4 e da camada 7. Layer 4 é a layer de transporte que descreve a conexão do Transmission Control Protocol (TCP) entre o cliente e a instância back-end, por meio do load balancer. Layer 4 é o nível mais baixo configurável para seu load balancer. Layer 7 é a layer do aplicativo que descreve o uso de conexões de Hypertext Transfer Protocol (HTTP) e HTTPS (HTTP seguro) de clientes para o load balancer e do load balancer para a instância back-end.

O protocolo Secure Sockets Layer (SSL) é usado principalmente para criptografar dados confidenciais em redes não seguras, como a Internet. O protocolo SSL estabelece uma conexão segura entre um cliente e o servidor de back-end e garante que todos os dados passados entre seu cliente e seu servidor sejam privados e íntegros.

Protocolo TCP/SSL

Quando você usa TCP (layer 4) para conexões front-end e back-end, o load balancer encaminhará a solicitação para as instâncias back-end sem modificar os cabeçalhos. Após o load balancer receber a solicitação, ele tentará abrir uma conexão TCP para a instância back-end na porta especificada na configuração do listener.

Como os load balancers interceptam tráfego entre clientes e suas instâncias back-end, os logs de acesso para a sua instância back-end contêm o endereço IP do load balancer em vez do cliente de origem. Você pode habilitar o protocolo de proxy, que adiciona um cabeçalho com as informações de conexão do cliente, como o endereço IP de origem, endereço IP de destino e números de porta. O cabeçalho é, então, enviado para a instância back-end como parte da solicitação. Você pode analisar a primeira linha na solicitação para recuperar as informações de conexão. Para ter mais informações, consulte Configurar o suporte ao protocolo de proxy para o Classic Load Balancer.

Usando essa configuração, você não recebe cookies para perdurabilidade da sessão nem cabeçalhos X-Forwarded.

Protocolo HTTP/HTTPS

Quando você usa HTTP (camada 7) para conexões front-end e back-end, seu balanceador de carga analisa os cabeçalhos na solicitação antes de enviar a solicitação para as instâncias de back-end.

Para cada instância registrada e íntegra por trás de um balanceador de carga HTTP/HTTPS, o Elastic Load Balancing abrirá e manterá uma ou mais conexões TCP. Essas conexões garantem que exista sempre uma conexão estabelecida e pronta para receber solicitações HTTP/HTTPS.

As solicitações HTTP e as respostas HTTP usam campos de cabeçalho para enviar informações sobre as mensagens HTTP. O Elastic Load Balancing suporta cabeçalhos X-Forwarded-For. Como os load balancers interceptam o tráfego entre clientes e servidores, os logs de acesso do seu servidor contêm apenas o endereço IP do load balancer. Para ver o endereço IP do cliente, use o cabeçalho da solicitação X-Forwarded-For. Para ter mais informações, consulte X-Forwarded-For.

Quando você usa HTTP/HTTPS, pode ativar as sticky sessions no seu load balancer. Uma sticky session vincula a sessão de um usuário a uma determinada instância back-end. Isso garante que todas as solicitações vindas do usuário durante a sessão sejam enviadas para a mesma instância back-end. Para ter mais informações, consulte Configurar sessões persistentes para seu Classic Load Balancer.

Nem todas os extensões de HTTP são suportadas pelo load balancer. Pode ser necessário usar um listener TCP se o load balancer não for capaz de encerrar a solicitação em decorrência de métodos, códigos de resposta ou outras implementações inesperadas de HTTP 1.0/1.1 não padrão.

Listeners HTTPS/SSL

Você pode criar um load balancer com os recursos de segurança a seguir.

Certificados do servidor SSL

Se você usar HTTPS ou SSL para suas conexões front-end, deverá implantar um certificado X.509 (certificado de servidor SSL) no seu load balancer. O load balancer descriptografa solicitações de clientes antes de enviá-las para as instâncias back-end (conhecidas como terminação SSL). Para ter mais informações, consulte Certificados SSL/TLS para balanceadores de carga clássicos.

Se você não quiser que o load balancer lide com a terminação SSL (conhecida como SSL Offloading), pode usar o TCP para as conexões front-end e back-end e implantar certificados nas instâncias registradas que lidam com as solicitações.

Negociação SSL

O Elastic Load Balancing oferece configurações de negociação SSL predefinidas usadas para a negociação SSL quando é estabelecida uma conexão entre um cliente e seu balanceador de carga. As configurações de negociação SSL fornecem compatibilidade com uma ampla gama de clientes e usam algoritmos criptográficos de alta robustez chamados cifras. No entanto, alguns casos de uso podem exigir que todos os dados da rede sejam criptografados e permitam apenas cifras específicas. Alguns padrões de conformidade de segurança (como PCI, SOX, etc.) podem exigir um conjunto específico de protocolos e cifras dos clientes para garantir que os padrões de segurança sejam atendidos. Em tais casos, você pode criar uma configuração de negociação SSL personalizada, com base em suas necessidades específicas. Sua cifras e seus protocolos devem entrar em vigor dentro de 30 segundos. Para ter mais informações, consulte Configurações de negociação SSL para balanceadores de carga clássicos.

Autenticação do servidor backend

Se você usar HTTPS ou SSL para suas conexões back-end, poderá habilitar a autenticação das suas instâncias registradas. Então, você poderá usar o processo de autenticação para garantir que as instâncias aceitem apenas comunicação criptografada, e para garantir que cada instância registrada tenha a chave pública correta.

Para obter mais informações, consulte Configurar autenticação do servidor back-end.