Oyentes para el equilibrador de carga clásico - Elastic Load Balancing

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Oyentes para el equilibrador de carga clásico

Antes de comenzar a utilizar Elastic Load Balancing, debe configurar uno o varios oyentes para el Equilibrador de carga clásico. Un oyente es un proceso que verifica solicitudes de conexión. Se configura con un protocolo y un puerto para las conexiones frontend (del cliente al equilibrador de carga) y un protocolo y un puerto para las conexiones backend (del equilibrador de carga a la instancia de backend).

Elastic Load Balancing admite los siguientes protocolos:

  • HTTP

  • HTTPS (HTTP seguro)

  • TCP

  • SSL (TCP seguro)

El protocolo HTTPS utiliza el protocolo SSL para establecer conexiones seguras a través de la capa HTTP. También puede utilizar el protocolo SSL para establecer conexiones seguras a través de la capa TCP.

Si la conexión frontend utiliza TCP o SSL, las conexiones backend pueden utilizar TCP o SSL. Si la conexión frontend utiliza HTTP o HTTPS, las conexiones backend pueden utilizar HTTP o HTTPS.

Las instancias backend pueden escuchar los puertos 1-65535.

Los equilibradores de carga pueden oyente en los siguientes puertos: 1-65535

Protocolos

La comunicación para una aplicación web típica atraviesa capas de hardware y software. Cada capa ofrece una función de comunicación específica. El control de la función de comunicación se transfiere de una capa a la siguiente, de forma secuencial. El modelo de interconexión de sistemas abiertos (OSI) define un marco para implementar un formato de comunicación estándar en estas capas, que se denomina protocolo. Para obtener más información, consulte OSI model en Wikipedia.

Cuando se utiliza Elastic Load Balancing, se requieren conocimientos básicos de las capas 4 y 7. La capa 4 es la capa de transporte que describe la conexión del protocolo de control de transmisión (TCP) entre el cliente y la instancia backend a través del equilibrador de carga. La capa 4 es el nivel más bajo que el equilibrador de carga puede configurar. La capa 7 es la capa de aplicaciones que describe el uso de las conexiones del protocolo de transferencia de hipertexto (HTTP) y HTTP seguro (HTTPS) desde los clientes al equilibrador de carga y desde este hasta la instancia backend.

El protocolo de capa de conexión segura (SSL) se utiliza principalmente para cifrar datos confidenciales que se transmiten a través de redes que no son seguras, como Internet. El protocolo SSL establece una conexión segura entre un cliente y el servidor backend. Además, se asegura de que todos los datos transferidos entre el cliente y el servidor sean privados e íntegros.

Protocolo TCP/SSL

Cuando se utiliza TCP (capa 4) para las conexiones frontend y backend, el equilibrador de carga reenvía las solicitudes a las instancias backend sin modificar los encabezados. Una vez que el equilibrador de carga recibe la solicitud, intenta abrir una conexión TCP con la instancia backend en el puerto especificado en la configuración del oyente.

Dado que los equilibradores de carga interceptan el tráfico entre los clientes y las instancias backend, los registros de acceso desde la instancia backend contienen la dirección IP del equilibrador de carga, y no la del cliente de origen. Puede habilitar Proxy Protocol, lo que agrega un encabezado con la información de conexión del cliente, como la dirección IP de origen, la dirección IP de destino y los números de puerto. El encabezado se enviará a la instancia backend como parte de la solicitud. Puede analizar la primera línea de la solicitud para recuperar la información de conexión. Para obtener más información, consulte Configuración del protocolo de proxy del Equilibrador de carga clásico.

Cuando se utiliza esta configuración, no se reciben cookies de sesiones persistentes ni encabezados X-Forwarded.

Protocolo HTTP/HTTPS

Cuando se utiliza HTTP (capa 7) para las conexiones frontend y backend, el equilibrador de carga analiza los encabezados de la solicitud antes de enviar la solicitud a las instancias backend.

Por cada instancia registrada y en buen estado detrás de una HTTP/HTTPS load balancer, Elastic Load Balancing opens and maintains one or more TCP connections. These connections ensure that there is always an established connection ready to receive HTTP/HTTPS solicitud.

Las solicitudes y respuestas HTTP utilizan campos de encabezado para enviar información sobre los mensajes HTTP. Elastic Load Balancing admite encabezados X-Forwarded-For. Dado que los equilibradores de carga interceptan el tráfico entre los clientes y los servidores, los registros de acceso al servidor contienen únicamente la dirección IP del equilibrador de carga. Para ver la dirección IP del cliente, utilice el encabezado de solicitud X-Forwarded-For. Para obtener más información, consulte X-Forwarded-For.

Cuando se utiliza HTTP/HTTPS, se pueden habilitar las sesiones persistentes en el equilibrador de carga. Una sesión persistente vincula una sesión del usuario a una instancia backend concreta. Con ello se garantiza que todas las solicitudes procedentes de ese usuario durante la sesión se envíen a la misma instancia backend. Para obtener más información, consulte Configuración de sesiones persistentes para el Equilibrador de carga clásico.

El equilibrador de carga no admite todas las extensiones HTTP. Puede ser necesario utilizar un oyente TCP si el equilibrador de carga no consigue terminar la solicitud a causa de métodos, códigos de respuesta u otras implementaciones de HTTP 1.0/1.1 no estándar inesperados.

Oyentes HTTPS/SSL

Puede crear un equilibrador de carga con las siguientes características de seguridad.

Certificados de servidor SSL

Si utiliza HTTPS o SSL para las conexiones frontend, debe implementar un certificado X.509 (certificado de servidor SSL) en el equilibrador de carga. El equilibrador de carga descifra las solicitudes de los clientes antes de enviarlas a las instancias backend (esto se denomina terminación SSL). Para obtener más información, consulte Certificados SSL/TLS para equilibradores de carga clásicos.

Si no desea que el equilibrador de carga controle la terminación SSL (lo que se denomina descarga de SSL), puede utilizar TCP para las conexiones frontend y backend e implementar certificados en las instancias registradas que controlan solicitudes.

Negociación SSL

Elastic Load Balancing proporciona configuraciones predefinidas de negociación SSL que se utilizan para la negociación SSL cuando se establece una conexión entre un cliente y el equilibrador de carga. Las configuraciones de la negociación SSL proporcionan compatibilidad con una amplia variedad de clientes y utilizan algoritmos criptográficos de alta seguridad denominados cifrados. Sin embargo, algunos casos de uso podrían requerir que se cifren todos los datos de la red y admitir solo algunos cifrados. Algunos estándares de conformidad y seguridad (como PCI, SOX, etc.) podrían requerir un conjunto específico de protocolos y cifrados de los clientes para garantizar que se cumplan los estándares de seguridad. En estos casos, puede crear una configuración de negociación SSL personalizada que se ajuste a sus requisitos específicos. Los cifrados y protocolos deben surtir efecto en un plazo de 30 segundos. Para obtener más información, consulte Configuraciones de negociación SSL para el equilibrador de carga clásico.

Autenticación del servidor backend

Si utiliza HTTPS o SSL para las conexiones backend, puede habilitar la autenticación de las instancias registradas. A continuación, puede utilizar el proceso de autenticación para asegurarse de que las instancias acepten únicamente la comunicación cifrada y de que cada instancia registrada tenga la clave pública correcta.

Para obtener más información, consulte Configure Back-end Server Authentication.