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

Listener SSL Policies

Last updated