AWS ELB
Tags: aws, cloud, devops, security
Published: 2023-05-19 14:28:08

**Anotações sobre o AWS ELB para ajudar na preparação das certificações AWS.**

Até o momento as anotações são para as certificações abaixo:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/se0sqtegn424nami6rz8.png)

- [Link oficial](https://aws.amazon.com/pt/elasticloadbalancing/)
- [FAQ](https://aws.amazon.com/pt/elasticloadbalancing/faqs/?nc=sn&loc=5)

---

##**Anotações gerais**

- É regional
- É altamente disponível
- Integrado com WAF, ACM, Auto Scaling, Config, CDN
- Legacy protocols - use Classic Load Balancer
- Pode enviar os logs para o Athena

---
##**ALB - Application Load Balancer**
[Documentação oficial](https://aws.amazon.com/pt/elasticloadbalancing/application-load-balancer/?nc=sn&loc=2&dn=2)

**Anotações gerais**

- HTTP/HTTPS only
- Layer 7
- Sticky Sessions
- HTTP Headers information addtional
- **Perfect Forward Secrecy**, também conhecido como Forward Secrecy, é um recurso que usa uma chave de sessão derivada para fornecer proteção adicional contra a espionagem de dados criptografados.

**Listeners**
[Documentação oficial](https://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-listeners.html)

_Listener é um processo que verifica a solicitações de conexão, usando o protocolo e a porta que você configurar._



**Listeners Rule Actions**
[Documentação oficial](https://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/listener-update-rules.html)

**Target Group**
[Documentação oficial](https://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-target-groups.html)

_Cada Target Group é usado para rotear solicitações para um ou mais destinos registrados._

- Tipos de Target Group - Instances, IP Address, Lambda e ALB
- Protocol - HTTP1, HTTP2 e GRPC

**Routing Based**

- HTTP Headers 
- Host Headers
- Path
- Source IPs
- Querys

**Instalar certificados**
- From ACM
- From IAM
- Import

<u>_Com o OpenSSL pode ser gerado um certificado e utilizar no ALB._</u>

**Referências**
- [Criar um listener HTTPS para seu Application Load Balancer](https://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/create-https-listener.html)
- [Elastic Load Balancing – Perfect Forward Secrecy and Other Security Enhancements](https://aws.amazon.com/pt/blogs/aws/elastic-load-balancing-perfect-forward-secrecy-and-other-security-enhancements/)
- [ALB adiciona novas políticas de segurança, incluindo uma política para encaminhamento de segredos](https://aws.amazon.com/pt/about-aws/whats-new/2018/06/application-load-balancer-adds-new-security-policies-including-policy-for-forward-secrecy/)


---
##**NLB - Network Load Balancer**
[Documentação oficial](https://aws.amazon.com/pt/elasticloadbalancing/network-load-balancer/?nc=sn&loc=2&dn=3)

- Ultra-high performance
- TCP/UDP/SSL
- Layer 4

**Target Groups**
[Documentação oficial](https://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/network/load-balancer-target-groups.html)

**Listeners**
[Documentação oficial](https://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/network/load-balancer-listeners.html)

_Listener é um processo que verifica a solicitações de conexão, usando o protocolo e a porta que você configurar._

---
##**Classic Load Balancer**
[Documentação oficial](https://aws.amazon.com/pt/elasticloadbalancing/classic-load-balancer/?nc=sn&loc=2&dn=5)


- Layer 4/Layer 7
- Será descontinuado
- **HTTP/HTTPS/TCP/SSL**
- Não suporta Server Name Indication (SNI).
- **Pode criar um Load Balancer que use o protocolo SSL/TLS para conexões criptografadas (também conhecido como SSL offload) p/ clientes**

**Listeners**
[Documentação oficial](https://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/classic/elb-listener-config.html)

_Listener é um processo que verifica a solicitações de conexão, usando o protocolo e a porta que você configurar._

---
##**GWLB - Gateway Load Balancer**
[Documentação oficial](https://aws.amazon.com/pt/elasticloadbalancing/gateway-load-balancer/#Features)

- IPS/IDS
- Virtual Appliances

---
##**Access Logs**
[Documentação oficial](https://docs.aws.amazon.com/pt_br/elasticloadbalancing/latest/application/load-balancer-access-logs.html)


- Desabilitado por Default
- ELB publica logs a cada 5 min
- Cada log contém informações como a hora em que a solicitação foi recebida, o endereço IP do cliente, latências, caminhos de solicitação e respostas do servidor.
- O ELB capturará os logs e os armazenará no bucket do Amazon S3 que você especificar como arquivos compactados.

**Arquivo de logs**

```
bucket[/prefix]/AWSLogs/aws-account-id/elasticloadbalancing/region/yyyy/mm/dd/aws-account-id_elasticloadbalancing_region_app.load-balancer-id_end-time_ip-address_random-string.log.gz
```