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
- piplining
- 검색어 추천
- 깊게 생각해보기
- BFS
- 결제서비스
- 셀러리
- 좋은 코드 나쁜 코드
- 레디스 동시성
- gRPC
- 수신자 대상 다르게
- prg 패턴
- 프로그래머스
- 객체지향패러다임
- 백준
- spring event
- docker
- 쿠키
- 디버깅
- 구현
- 트랜잭샨
- 알람 시스템
- 코드 계약
- AWS
- 완전탐색
- 누적합
- 숫자 블록
- 카카오
- branch 전략
- jwt 표준
- 이분탐색
Archives
- Today
- Total
코딩관계론
AWS - Elastic Load Balancer 본문
반응형
목적
AWS 로드 밸런서는 여러 대의 EC2 인스턴스 또는 IP 주소로 들어오는 트래픽을 자동으로 분산시켜주는 서비스입니다. 이를 통해 시스템의 고가용성과 확장성을 높일 수 있습니다. 2023.03.29 - [AWS] - AWS - 고가용성 확장성
특징
유저는 AWS 로드 밸런서에 연결되며, 로드 밸런서가 적절한 EC2 인스턴스에 트래픽을 분산시켜주므로, 유저는 어떤 인스턴스에 연결되어 있는지를 명확히 알 수 없습니다
기능
- Health Check: 로드 밸런서는 Health Check를 통해 각각의 EC2 인스턴스가 올바르게 작동하고 있는지 확인할 수 있습니다. Health Check를 통해 이상 상태의 인스턴스는 자동으로 로드 밸런서의 대상에서 제외됩니다. 이를 통해 시스템의 가용성을 높일 수 있습니다.
- Auto Scaling Group (ASG): ASG는 EC2 인스턴스를 자동으로 관리하고 조정하는 서비스입니다. 로드 밸런서는 ASG와 함께 사용될 때 트래픽이 증가하면 ASG가 EC2 인스턴스를 자동으로 추가하고, 트래픽이 감소하면 ASG가 인스턴스를 자동으로 제거하여 비용을 절감할 수 있습니다. 2023.04.02 - [AWS] - ELB - Session Persistence
- Session Persistence: 로드 밸런서는 Session Persistence 기능을 제공합니다. 이를 사용하면 같은 사용자가 항상 같은 EC2 인스턴스에 연결되도록 할 수 있습니다. 이는 애플리케이션에서 세션 상태를 필요가 있을 경우 유용합니다.
- SSL/TLS Termination: 로드 밸런서는 SSL/TLS Termination을 지원합니다. 이를 사용하면 SSL/TLS 암호화를 해제하고, 애플리케이션 서버로 암호화되지 않은 HTTP 트래픽을 전달할 수 있습니다.
- Cross-Zone Load Balancing: 로드 밸런서는 Cross-Zone Load Balancing을 지원합니다. 이를 사용하면 여러 가용 영역에 걸쳐 있는 EC2 인스턴스들에게 트레픽을 더욱 효과적으로 분산시킬 수 있습니다.
2023.04.02 - [AWS] - AWS - Cross-Zone Load Balancing & SSL / TLS & SNL
종류
- Classic Load Balancer (CLB): HTTP, HTTPS, TCP 프로토콜을 처리하기 위한 로드 밸런서입니다. HTTP/HTTPS와 같은 OSI 7계층(Application Layer) 프로토콜뿐 아니라 TCP와 같은 OSI 4계층(Transport Layer) 프로토콜도 지원합니다. AWS에서 처음에 출시된 로드 밸런서 중 하나이며, ALB와 NLB의 기능을 모두 가지고 있으나, 최신 기술과 기능을 모두 갖추지는 못합니다.
- Application Load Balancer (ALB): HTTP 및 HTTPS 트래픽을 처리하기 위한 로드 밸런서입니다. 기본적으로 OSI 7계층(Application Layer)에서 작동하며, HTTP/HTTPS 프로토콜의 특징을 활용하여 효율적인 로드 밸런싱이 가능합니다. 기능적으로 보면 URL 패턴 라우팅, HTTP/2, WebSocket 지원, SSL/TLS 종료, 지리적 라우팅, Lambda 함수와의 통합 등 다양한 기능을 제공합니다.
- Gateway Load Balancer (GWLB): IP 프로토콜을 처리하기 위한 로드 밸런서입니다. 클라이언트와 서비스 사이에 놓이며, 다양한 프로토콜을 지원합니다. 특히 VPN, NAT, 방화벽 등 다양한 네트워크 기능을 통합할 수 있으며, 보안성이 높은 서비스 환경을 제공합니다.
- Network Load Balancer (NLB): OSI 7 계층에서 Layer 4(L4) 로드 밸런싱을 지원합니다. TCP, TLS, UDP 등 다양한 프로토콜을 지원하며, 대규모 트래픽 처리에 특화된 로드 밸런서입니다.
고려 사항
- 로드 밸런서의 성능 및 용량: 로드 밸런서는 처리할 수 있는 요청의 수가 제한되어 있기 때문에, 예상하는 트래픽 양과 처리할 수 있는 용량을 고려해야 합니다. 특히, 높은 트래픽을 처리해야 하는 경우 적절한 로드 밸런서 용량을 선택해야 합니다.
- 헬스 체크 설정: 로드 밸런서는 EC2 인스턴스의 상태를 주기적으로 확인하여 사용 가능한 인스턴스로만 트래픽을 전달합니다. 이를 위해 헬스 체크 설정이 중요하며, 적절한 헬스 체크 주기와 프로토콜을 선택해야 합니다.
- SSL/TLS 종료 설정: 로드 밸런서에서 SSL/TLS 종료 설정을 사용하면, 인스턴스에서 SSL/TLS를 처리하는 부담을 줄일 수 있습니다. 따라서, SSL/TLS 종료 설정은 로드 밸런서 사용 시 권장되는 설정 중 하나입니다.
- 로드 밸런서의 라우팅 정책 설정: 로드 밸런서에서 제공하는 다양한 라우팅 정책 중에서, 적절한 라우팅 정책을 선택하여 사용해야 합니다. 예를 들어, 요청에 따라 여러 대의 인스턴스에 요청을 분산시키는 라우팅 정책도 있고, 특정 IP 대역의 요청을 특정 인스턴스로만 전달하는 라우팅 정책도 있습니다.
- 보안 설정: 로드 밸런서에서 제공하는 다양한 보안 설정을 사용하여 보안성을 높일 수 있습니다. 예를 들어, 액세스 제어를 위한 보안 그룹 설정, SSL/TLS 종료 설정, 무단 접근 방지를 위한 인증 설정 등이 있습니다.
반응형
'AWS' 카테고리의 다른 글
AWS - Auto Scaling Group (ASG) (0) | 2023.04.02 |
---|---|
ELB - Session Persistence (0) | 2023.04.02 |
AWS - 고가용성과 확장성이란? (0) | 2023.03.29 |
AWS - EBS & EFS (0) | 2023.03.27 |
AWS - EC2 (0) | 2023.03.26 |