Concepts
- Scalability: 로드를 감당할 수 있는가
- High availability와 연결되어 있지만, 다른 개념.
- Vertical scalability: 인스턴스의 사이즈를 키운다. 데이터베이스 등에서 흔한 개념
- Horizontal scalability: 인스턴스의 갯수를 늘린다. 분산 시스템
- High availability: 2개 이상의 AZ에서 어플리케이션을 구동하는 상황.
ELB
<aside>
💡 Elastic Load Balancing
</aside>
- 로드 밸런서: 다른 여러 개의 서버(EC2 인스턴스들)에 트래픽을 포워딩하는 서버. 하나의 도메인으로 접근 가능함.
- 인스턴스에 대한 헬스 체크
- 종단간 암호화(SSL Termination)
- 쿠키에 대한 stickiness
- High availabilty
- ELB: managed 로드 밸런서, AWS가 보증함.
- 다른 AWS 서비스와 통합이 굉장히 잘 되어 있다.
- 종류
- CLB(Classic, v1): deprecated.
- ALB(Application, v2): HTTP, HTTPS, WebSocket,
- NLB(Network, v2): TCP, TLS(secure TCP), UDP
- GWLB(Gateway, v3): IP protocol
- Security Groups
- 로드 밸런서의 경우: TCP/80, TCP/443
- EC2: 로드 밸런서의 트래픽만 받기.
ALB