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 | ✔ |