AWS Elastic Load Balancer에는 Application, Network, 그리고 Classic으로 분류가 된다.
각각의 LB는 support 하는 것이 다르기에 아래의 표에 따라 적합한 것을 찾는다.
예를 들어서, EC2-Classic은 Classic만 지원이 되고, HTTP/2는 Layer7에서 동작하는 Application만 지원한다.
참고로, HTTP/2 로 ALB에 요청이 들어가면 ALB에서 HTTP/1.1로 Target Group에 flow 된다.
https://aws.amazon.com/elasticloadbalancing/features/
|
Feature
|
Application Load Balancer | Network Load Balancer | Classic Load Balancer |
| Protocols | HTTP, HTTPS | TCP, UDP, TLS | TCP, SSL/TLS, HTTP, HTTPS |
| Platforms | VPC | VPC | EC2-Classic, VPC |
| Health checks | ✔ | ✔ | ✔ |
| CloudWatch metrics | ✔ | ✔ | ✔ |
| Logging | ✔ | ✔ | ✔ |
| Zonal fail-over | ✔ | ✔ | ✔ |
| Connection draining (deregistration delay) | ✔ | ✔ | |
| Load Balancing to multiple ports on the same instance | ✔ | ✔ | |
| IP addresses as targets | ✔ | ✔ (TCP, TLS) | |
| Load balancer deletion protection | ✔ | ✔ | |
| Configurable idle connection timeout | ✔ | ✔ | |
| Cross-zone load balancing | ✔ | ✔ | ✔ |
| Sticky sessions | ✔ | ✔ | ✔ |
| Static IP | ✔ | ||
| Elastic IP address | ✔ | ||
| Preserve Source IP address | ✔ | ||
| Resource-based IAM Permissions | ✔ | ✔ | ✔ |
| Tag-based IAM permissions | ✔ | ✔ | |
| Slow start | ✔ | ||
| WebSockets | ✔ | ✔ | |
| PrivateLink Support | ✔ (TCP, TLS) | ||
| Source IP address CIDR-based routing | ✔ | ||
| Layer 7 | |||
| Path-Based Routing | ✔ | ||
| Host-Based Routing | ✔ | ||
| Native HTTP/2 | ✔ | ||
| Redirects | ✔ | ||
| Fixed response | ✔ | ||
| Lambda functions as targets | ✔ | ||
| HTTP header-based routing | ✔ | ||
| HTTP method-based routing | ✔ | ||
| Query string parameter-based routing | ✔ | ||
| Security | |||
| SSL offloading | ✔ | ✔ | ✔ |
| Server Name Indication (SNI) | ✔ | ✔ | |
| Back-end server encryption | ✔ | ✔ | ✔ |
| User authentication | ✔ | ||
| Custom Security Policy | ✔ | ||
