250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- BOJ
- 힙
- 연결리스트
- 스토어드 프로시저
- FetchType
- SQL프로그래밍
- 데코레이터
- dfs
- 다대다
- 낙관적락
- 유니크제약조건
- execute
- 동적sql
- shared lock
- 지연로딩
- 이진탐색
- 백트래킹
- exclusive lock
- fetch
- 비관적락
- 스프링 폼
- 일대다
- CHECK OPTION
- querydsl
- 연관관계
- JPQL
- eager
- 다대일
- 즉시로딩
- PS
Archives
- Today
- Total
흰 스타렉스에서 내가 내리지
ALB 와 NLB 본문
728x90
ALB 와 NLB 는 AWS 에서 제공하는 로드 밸런싱 서비스이다.
1. 작동 계층
ALB (Application Load Balancer) | NLB (Network Load Balancer) |
- 7계층 (애플리케이션 계층) 에서 동작한다. - HTTP(S) 프로토콜에 기반한 요청을 처리하며, 클라이언트 요청의 헤더나 내용에 따라 트래픽을 라우팅한다. - URL 경로, HTTP 헤더, 쿼리 문자열, 호스트 이름 등에 따라 요청을 라우팅하는 고급 라우팅 기능을 제공한다. |
- 4계층 (전송 계층) 에서 작동한다. - TCP, UDP, TLS 프로토콜을 처리하며, 트래픽을 IP 주소와 포트번호를 기반으로 라우팅한다. - 초당 수백만 개의 요청을 처리할 수 있는 매우 높은 처리량을 제공하며, 낮은 레이턴시 (지연 시간)와 높은 성능을 필요로 하는 애플리케이션에 적합하다. |
2. 성능과 확장성
ALB (Application Load Balancer) | NLB (Network Load Balancer) |
- 더 복잡한 트래픽 관리와 라우팅이 필요할 때 사용된다. - 애플리케이션 계층에서의 부하 분산이 가능하며, 세션 기반 라우팅, 쿠키기반 라우팅 등을 지원한다. - HTTP/2 및 WebSocket 을 지원하여 현대적인 웹 애플리케이션에 적합하다. |
- 매우 높은 성능과 낮은 레이턴시를 제공한다. - 수백만 개의 요청을 동시에 처리할 수 있으며, 매우 짧은 지연 시간으로 트래픽을 라우팅할 수 있다. - TLS 종료를 지원하여 SSL/TLS 트래픽을 암호화하거나 해제할 수 있다. |
3. 로드 밸런싱 방식
ALB (Application Load Balancer) | NLB (Network Load Balancer) |
- HTTP 와 HTTPS 트래픽을 기반으로 요청을 라우팅한다. - 애플리케이션 계층에서 헤더, 경로, 쿼리 문자열 등의 정보를 바탕으로 트래픽을 분배한다. - 예를 들어, `/images/*` 는 특정 그룹으로, `/api/*` 는 다른 그룹으로 라우팅하는 것이 가능하다. |
- TCP, UDP, TLS 트래픽을 기반으로 트래픽을 분배한다. - IP 주소와 포트 번호만을 기준으로 트래픽을 라우팅하며, 매우 빠르고 단순한 방식으로 작동한다. - 소스 IP 기반으로 라우팅하거나 고정 IP 주소를 제공하는 기능을 제공한다. |
4. 기타 기능
ALB (Application Load Balancer) | NLB (Network Load Balancer) |
- 상태검사 (Health Check) 를 통해 백엔드 대상의 가용성을 주기적으로 확인하고, 비정상적인 인스턴스를 자동으로 제외합니다. - 서버 이름 표시 (SNI) 를 지원하여 여러 SSL 인증서를 사용할 수 있다. - AWS WAF (AWS Web Application Firewall) 와 통합하여 보안 규칙을 적용할 수 있다. |
- 고정 IP 또는 Elastic IP 를 할당할 수 있어, 클라이언트와의 안정적인 연결을 유지할 수 있다. - 상태 검사 (Health Check) 는 TCP 연결을 통해 이루어진다. - 연결 유지 시간 (Idle Timeout) 설정이 가능하여 장기적인 연결을 유지하는 애플리케이션에 유리하다. |
5. 사용 사례
ALB (Application Load Balancer) | NLB (Network Load Balancer) |
- 웹 애플리케이션, RESTful API, 모바일 애플리케이션 서버, 서버리스 애플리케이션 등에서 사용된다. - 세션 유지, 웹소켓, HTTP/2 등의 고급 기능이 필요한 경우에 적합하다. |
- 매우 높은 처리량과 짧은 레이턴시가 필요한 애플리케이션, 게임 서버, 실시간 데이터 스트리밍, 금융 서비스 등에서 사용된다. - TCP/UDP 기반의 서비스나, IP 주소 기반의 부하 분산이 필요한 경우에 적합하다. |
요약
ALB (Application Load Balancer) | NLB (Network Load Balancer) |
- 애플리케이션 계층에서 작동하며, 복잡한 HTTP/HTTPS 트래픽 관리와 라우팅에 적합하다. | - 전송 계층에서 작동하며, 높은 성능과 낮은 레이턴시를 요구하는 TCP/UDP 트래픽 관리에 적합하다. |
'DevOps' 카테고리의 다른 글
Terraform 으로 s3 리소스 생성하기 (0) | 2024.09.05 |
---|---|
ALB 보다 NLB 가 더 높은 처리량과 짧은 레이턴시를 가지는 이유 (0) | 2024.08.22 |
Terraform 을 이용하여 Route Table 생성 (0) | 2024.08.08 |
NAT Gateway (0) | 2024.08.06 |
Terraform 을 이용하여 AWS IGW, NAT GW 생성 (0) | 2024.08.06 |