
네이버 클라우드 플랫폼 - Naver Cloud Platform
Application Load Balancer(ALB) 생성하기
Load Balancer란?
- 수신 트래픽을 다수의 서버로 분산시키는 서비스
- 등록된 멤버 서버로 수신 트래픽을 분산시켜 가용성을 높이고 시스템 가동률을 조절하는 역할을 수행
- 다양한 서버 부하 분산 방식
- Round Robin(순환 순서)
- Least Connection(최소 연결)
- Source IP Hash(IP 해시)
- NCP의 Load Balancer는 SaaS 제품이라 직접 접근이 불가능 하다!
종류
- Application Load Balancer
- 계층: L7
- HTTP, HTTPS를 사용하는 웹 애플리케이션에 보다 유연한 구성이 가능
- Network Load Balancer
- 계층: L4
- Network Proxy Load Balancer
- 계층: L4
구성도

Server 생성


기존의 my-public-server 로의 트래픽을 분산하기 위해 서버를 추가 생성한다
- 이름: my-public-server-2
- Subnet: Public Subnet
- 공인 IP 할당 X
- ACG: my-public-server-acg 선택

서버 생성 확인
ACG 설정

my-public-server-acg의 InBound Rule을 설정한다
- 프로토콜: TCP
- 접근 소스: 10.0.0.0/16
- 허용 포트: 22
즉 VPC 대역에 대한 인바운드를 허용하는 것
→ 두개의 public server는 my-public-server-acg 를 적용하기 때문에 두 서버간의 통신(SSH)을 위함
NGINX 설치
apt update
apt install apache2 -y
systemctl status apache2
echo "Hi my-public-server-1" > /var/www/html/index.html
curl localhost

- my-public-server, my-public-server-2 에 각각 apache 설치
- 기본 페이지 수정
- curl 명령어로 응답 확인

ssh [my-public-server-2의 사설 IP] 로 위에서 생성한 서버 접근
apt update
apt install apache2 -y
systemctl status apache2
echo "Hi my-public-server-2" > /var/www/html/index.html
curl localhost

2번째 서버도 동일하게 적용
Subnet 생성 - LB 전용

LB를 위한 전용 Subnet이 필요하다
- Network ACL: default
- Internet Gateway 전용 여부: Y
- 용도: LoadBalancer
Target Group 생성

Load Balancer - Target Group 생성

Target 유형: VPC Server
VPC: my-vpc
프로토콜: HTTP
포트: 80 - Target이 서비스 중인 포트 번호

Target이 정상적으로 작동하는지 검사하기 위해 Health Check 설정
- 프로토콜: HTTP
- 포트: 80
- URL Path: /
- HTTP Method: HEAD
- HEAD: 헤더만 요청하는 메서드
- GET: 헤더 + 본문을 요청하는 메서드
- Health Check 주기: 5
- 너무 짧으면 부하 발생
- 테스트 용도이기 때문에 5초
- 정상 임계값: 2
- 비정상 상태의 Target이 다시 서비스에 투입되기 위해 성공해야 하는 상태 확인 횟수
- 실패 임계값: 2
- 정상 상태의 Target이 실패하면 비정상 상태로 전환되어 부하 분산 Target에서 제외되는 횟수

로드 밸런싱 할 타겟 서버 두개를 선택하여 Target을 적용한다
- my-public-server, my-public-server-2

Target Group 생성 확인
ALB 생성

Load Balancer - 로드밸런서 생성 - 애플리케이션 로드 밸런서 생성

- 네트워크: Public
- 외부의 요청을 받기 위해서 Public
- 부하 처리 성능: Small
- 각 성능은 초당30,000/60,000/90,000/120,000 개의 분산 처리를 보장.
- VPC: my-vpc
- 서브넷 선택: 위에서 생성한 LB 전용 서브넷
- 공인 IP: 신청

로드밸런서의 리스너 설정
- HTTP, 80 추가

위에서 생성한 Target Group 선택

생성된 Load Balancer 확인
Target 상태 확인

Load Balancer - Target Group - Target 상태 확인

Target Status 가 DOWN 으로 정상이 아니다.
ACG를 열어주지 않았기 때문에 LB → Server로의 통신 X

Target Server 에 적용되어 있는 ACG, 즉 my-public-server-acg 에서 InBound Rule을 추가해주어야 한다
- 프로토콜: TCP
- 접근 소스: 10.0.0.0/16
- 허용 포트: 80

Target Status: UP 확인
바로 반영이 되지 않기 때문에 관련 작업을 할 경우 1분 이상 기다려야 한다
Load Balancer 작동 확인
브라우저에 Load Balancer의 접속 정보 URL 입력


새로고침을 계속 눌러보자! 두개의 Server로 로드밸런싱이 되는 것을 볼 수 있다.
모니터링

Load Balancer - Load Balancer 선택 - 모니터링

로드밸런서를 모니터링 할 수 있다.
'Naver Cloud Platform' 카테고리의 다른 글
| [NCP] 04 - ACG (Access Control Group) (0) | 2025.10.30 |
|---|---|
| [NCP] 03 - Server 생성하기 (0) | 2025.10.29 |
| [NCP] 02 - Subnet (0) | 2025.10.28 |
| [NCP] 01 - VPC (Virtual Private Cloud) (0) | 2025.10.27 |