Overview
서비스 개요
Samsung Cloud Platform의 Load Balancer(LB) 서비스는 사용자가 예측하기 어려운 트래픽 증가 또는 서버 장애 발생 시 가용한 서버로 트래픽을 자동 분산시켜 고객 서비스의 안정성과 연속성을 보장합니다.
Load Balancer는 클라이언트에게 제공할 서비스 접점으로 서비스 유형(L4 / L7)에 따라 VPC Subnet에 배포되며, 생성된 Load Balancer에 Listener를 추가하여 다수의 서비스를 구성할 수 있습니다.
Listener는 서비스 포트를 통해 클라이언트 요청을 수신하고 라우팅 규칙에 의해 트래픽을 처리합니다. L4는 TCP / UDP / TLS 프로토콜, L7은 HTTP / HTTPS 프로토콜을 지원하며, L7에서는 라우팅 조건별 LB 서버 그룹을 지정하거나 요청 URL에 대한 리디렉션 응답을 설정할 수 있습니다.
LB 서버 그룹은 Listener가 수신한 요청을 부하 분산 및 헬스 체크에 따라 특정 서버로 전달합니다. 서버는 멤버에 설정한 포트를 통해 Load Balancer의 Source NAT IP로부터 클라이언트 요청을 전달 받고, 서버 상태는 Load Balancer의 헬스 체크 IP에 의해 주기적으로 모니터링 됩니다.
LB 헬스 체크는 LB 서버 그룹에 등록된 멤버 헬스 체크 방식을 정의합니다. LB 서버 그룹에 기본으로 제공되는 LB 헬스 체크 자원을 선택하거나, 신규로 생성하여 애플리케이션에 적합한 모니터링을 구성할 수 있습니다.
특장점
- 다양한 부하 분산 방식: Round Robin, Least Connection, IP Hash 등 다양한 부하 분산 방식을 제공합니다.
- SSL 인증 암호화 및 Offloading: SSL 오프로딩을 지원하며 암호화 수준을 선택할 수 있습니다.
- 강화된 보안: Firewall을 사용하여 Load Balancer 통신을 관리하고 로그 저장을 통해 접속 로그를 조회할 수 있습니다.
서비스 구성도
제공 기능
- Load Balancer: 서비스 유형을 선택하고 Load Balancer에서 사용할 IP를 설정합니다.
- Listener: 프로토콜과 포트, 라우팅 규칙을 설정합니다. 하나의 Load Balancer에 여러 개의 Listener를 추가할 수 있습니다.
- LB 서버 그룹: 부하 분산 방식을 설정합니다. LB 서버 그룹은 하나의 Load Balancer에 연결할 수 있습니다.
- 멤버: LB 서버 그룹에 추가할 서버를 선택합니다. Load Balancer와 같은 VPC에 생성된 Virtual Server, Bare Metal Server 자원을 선택하거나 IP를 직접 입력할 수 있습니다.
- LB 헬스 체크: 멤버 헬스 체크 방식을 설정합니다. LB 헬스 체크는 여러 LB 서버 그룹에 등록하여 사용할 수 있습니다.
구성 요소
Load Balancer는 Load Balancer(Listener), LB 서버 그룹(멤버), LB 헬스 체크로 구성되어 있습니다.
Load Balancer
Load Balancer를 구성하는 요소는 다음과 같습니다. 구성 요소별 설정에 따라 고객 워크로드에 적합한 로드 밸런싱을 구성할 수 있습니다.
| 구성 요소 | 상세 설명 |
|---|---|
| 서비스 구분 | Load Balancer 서비스 유형
|
| Service Sunbet | Load Balancer가 배포될 VPC Subnet
|
| Service IP | 클라이언트가 접근할 서비스 IP |
| Source NAT IP | Load Balancer에서 서버 트래픽 전달에 사용할 IP |
| 헬스 체크 IP | Load Balancer에서 헬스 체크에 사용할 IP |
| Listener | Load Balancer에 연결된 자원
|
LB 서버 그룹
LB 서버 그룹을 구성하는 요소는 다음과 같습니다. 구성 요소별 설정에 따라 LB 서버 그룹의 멤버로 트래픽을 전달합니다.
| 구성 요소 | 상세 설명 |
|---|---|
| 프로토콜 | LB 서버 그룹 전달 프로토콜 |
| 부하 분산 | 트래픽 분산 방식
|
| LB 헬스 체크 | 멤버 헬스 체크 방식
|
| 멤버 | 클라이언트 요청을 처리할 서버
|
LB 헬스 체크
LB 헬스 체크를 구성하는 요소는 다음과 같습니다. 구성 요소별 설정에 따라 멤버 헬스 체크를 수행합니다.
| 구성 요소 | 상세 설명 |
|---|---|
| 프로토콜 | 헬스 체크 프로토콜 |
| 헬스 체크 포트 | 헬스 체크에 사용하는 포트 |
| 주기 | 헬스 체크 수행 주기 |
| 대기 시간 | 헬스 체크에 대한 서버 응답 대기 시간 |
| 탐지 횟수 | 멤버 헬스 체크 상태(Healthy / Unhealthy)를 판단하는 기준 |
제약 사항
Samsung Cloud Platform의 Load Balancer는 기본 할당량(Quota)이 적용되어 생성 가능한 Load Balancer, Listener, LB 서버 그룹, 멤버 개수에 제약이 있습니다. Console을 통해 현재 사용량을 관리하고 증설 가능한 항목에 대해서는 할당량 추가를 요청할 수 있습니다.
| 항목 | 기본 할당량 | 상세 설명 |
|---|---|---|
| LOAD_BALANCER.SERVICE_SUBNET.DEFAULT.COUNT | 3 | VPC 당 Load Balancer 생성이 가능한 Service Subnet 개수 |
| LOAD_BALANCER.DEFAULT.COUNT | 50 | Region 당 Load Balancer 생성 개수 |
| LOAD_BALANCER.LISTENER.DEFAULT.COUNT | 1000 | Region 당 Listener 생성 개수 |
| LOAD_BALANCER.SERVER_GROUP.DEFAULT.COUNT | 1000 | Region 당 LB 서버 그룹 생성 개수 |
| LOAD_BALANCER.MEMBER.DEFAULT.COUNT | 1000 | Region 당 전체 LB 서버 그룹에 등록 가능한 멤버 개수 |
| LOAD_BALANCER.HEALTH_CHECK.DEFAULT.COUNT | 500 | Region 당 LB 헬스 체크 생성 개수 |
선행 서비스
Load Balancer 서비스를 생성하기 전, 미리 구성되어 있어야 하는 서비스 목록입니다. 자세한 내용은 각 서비스 별로 제공되는 가이드를 참고하여 사전에 준비해주세요.
| 서비스 카테고리 | 서비스 | 상세 설명 |
|---|---|---|
| Networking | VPC | 클라우드 환경에서 독립된 가상 네트워크를 제공하는 서비스 |