💻Elastic Load Balancer
Load Balancers (ELB) necesitan 8 o mas IPS de la subnet /28 (16ips -5 reservadas de AWS). Para escalar AWS recomienda /27.
ALB
Layer 7 LB, listens http or https.
No entiende otros layer 7 protocols (ssh, gaming smtp)
No TCP/UDP/TLS Listeners
L7 entiende cookies, custom headers, user location and app behavior.
HTTP HTTPS (SSL/TLS) always terminated on the ALB - no unbroken SSL
New connection is made from alb to backend (application)
Todos los ALB deben tener un SSL Cert si se usa HTTPS.
ALB are slower than NLB.. more levels of the network stack to process.
ALB evalua application health (Layer 7)
Maneja Rules, se procesan en order de prioridad. El ultimo es un catch all rule.
Los rules pueden revisar, host headers, http-header, http-request-method, path-pattern, query-string & source-ip.
Los rules pueden tener actions, como reenviar, redirect traffic, fixed response, authenticate oidc & authenticate using cognito.
NLB
Layer 4 devices. (TCP, TLS, UDP, TCP_UDP)
No tiene visibilidad o entiende http o https.
No headers, no cookies, no session stickiness
Really fast (millions of rps, 25% of ALB latency)
Ideal para protocolos no http or https como smtp, ssh, game servers, financial apps.
Healt checks, solo revisa basic tcp handshake o icmp.
Se le pueden colocar static ips, useful for whitelisting.
Fwd TCP to instances.. unbroken encryption.
Se usan con private link para dar servicios a otras vpcs.
SSL OFFLOAD
El load balancer puede generar conexiones seguras de tres maneras
Bridging: Modo defecto, uno o mas clientes hacen una o mas conexiones al LB, y alli se hace la terminacion SSL, osea que el LB necesita el certificado. ELB inicia nuevas conexiones ssl al backend. Las instancias igual necesitan SSL con el mismo cert que haga match con el nombre inicial.
Pass-Through: La realiza el NLB y no requiere tener el cert instalado en el balanceador pero si en los backend. El LB se configura para escuchar TCP. AWS no ve el certificado que se usa. Se puede usar un appliance Cloudhsm.
Offload: En este modo el certificado reside en el LB, el cliente hace conexion a el por https, pero del LB a los backend la conexion no va encriptada, no se requieren certificados en los backends.
LB Security Policies
Security Policy es un set de ciphers y protocolos (Que esta bien para usar en el listener)
Cipher, es un algoritmo key + plaintext = ciphertext.
Se puede controlar el security policy entre el cliente y el balanceador, pero AWS usa uno entre el LB y los targets, que es ELBSecurityPolicy-2016-08.
Nuevos policies son mas seguros pero menos compatibles.
Last updated