개요

네이버 클라우드 VPC 환경의 대표적인 Load Balancer인 Application Load Balancer 를 생성하는 가이드입니다.
VPC와 Subnet을 생성하고, 테스트를 위한 서버 3대를 Rocky Linux, Ubuntu, CentOS 각각 1대씩 준비해서 Application Load Balancer와 연결하고 접속해보는 과정까지 정리해보겠습니다.

VPC 생성

VPC 환경에서는 먼저 VPC를 먼저 생성해야 하며, 이미 만들어진 VPC가 있다면 그대로 이용하셔도 됩니다.
VPC의 IP 주소 범위는 private 대역 (10.0.0.0/8, 172.160.0./12, 192.168.0.0/16) 내에서 /16 ~ /28 범위여야 합니다.
여기서는 172.16.0.0/16 범위의 VPC를 생성하겠습니다.

Ncloud(네이버 클라우드) VPC 환경에서 Application Load Balancer 생성하기 가이드

Subnet 생성

Load Balancer를 생성할 때 Server와는 다른 Subnet을 사용해야 정상 작동합니다.
그래서 여기서도 Load Balancer용 Subnet과 테스트 Server용 Subnet을 각각 생성하도록 하겠습니다.

Load Balancer용 Subnet 생성

IP 주소 범위는 172.16.11.0/24으로 하고, Internet Gateway 전용 여부 옵션은 Y (Public)을 선택합니다.

  • Public: 일반적인 경우로 외부에서 사용자가 로드밸런서에 접속하게 되는 서비스의 경우
  • Private: 내부 장비나 서버들끼리 통신을 하는데 로드밸런서를 이용해서 부하를 분산하려고 하는 경우
Ncloud(네이버 클라우드) VPC 환경에서 Application Load Balancer 생성하기 가이드

Server용 Subnet 생성

일반 서버용 Subnet은 172.16.10.0/24 IP 대역에 Internet Gateway 전용 여부 옵션은 Y (Public)을 선택합니다.

Ncloud(네이버 클라우드) VPC 환경에서 Application Load Balancer 생성하기 가이드

테스트용 Server 생성

테스트를 위한 서버는 위에서 생성했던 172.16.10.0/24 IP 대역의 Subnet을 선택하고 Rocky Linux, Ubuntu, CentOS 각각 1대씩 생성했습니다.

  • Rocky Linux 8.8
  • Ubuntu 22.04
  • CentOS 7.8
Ncloud(네이버 클라우드) VPC 환경에서 Application Load Balancer 생성하기 가이드

Target Group 생성

[VPC] - [Load Balancer] - [Target Group]에서 Load Balancer가 바라보게 될 Target Group를 설정합니다.

  • 여기서는 HTTP 프로토콜과 80 포트를 선택하겠습니다.
Ncloud(네이버 클라우드) VPC 환경에서 Application Load Balancer 생성하기 가이드
  • 다음으로 Health Check 설정에서는 HTTP, 80포트, HEAD Method를 선택합니다.
Ncloud(네이버 클라우드) VPC 환경에서 Application Load Balancer 생성하기 가이드
  • 마지막으로 Target 즉, 대상이 되는 서버 3대 (lb-test-rocky, lb-test-ubuntu, lb-test-centos)를 선택하고, 적용 Target쪽으로 이동시키는 버튼을 클릭합니다.
Ncloud(네이버 클라우드) VPC 환경에서 Application Load Balancer 생성하기 가이드
  • 대상 서버들이 적용 Target으로 설정된 모습입니다. [다음] 버튼을 클릭한 후에 전체 설정을 다시 확인하고 생성 완료를 하면 됩니다.
Ncloud(네이버 클라우드) VPC 환경에서 Application Load Balancer 생성하기 가이드

Load Balancer 생성

네이버 클라우드 VPC 환경에서 제공하는 Load Balancer는 애플리케이션 로드밸런서, 네트워크 로드밸런서, 네트워크 프록시 로드밸런서, 인라인 로드밸런서 이렇게 4가지가 있습니다.
그 중에서 가장 많이 사용하는 HTTP, HTTPS 트래픽을 사용하는 웹 애플리케이션용 Application Load Balancer를 생성하겠습니다.

Ncloud(네이버 클라우드) VPC 환경에서 Application Load Balancer 생성하기 가이드
  • Network는 Public IP, Subnet은 앞에서 생성했던 172.16.11.0/24 대역의 Subnet을 선택합니다.
Ncloud(네이버 클라우드) VPC 환경에서 Application Load Balancer 생성하기 가이드
  • 리스너 설정에서 프로토콜은 HTTP, 포트는 80을 선택하고 [추가] 버튼을 클릭합니다.
Ncloud(네이버 클라우드) VPC 환경에서 Application Load Balancer 생성하기 가이드
  • Target Group은 앞에서 생성했던 lb-test-tg을 선택하면, 아래에 해당 Target Group의 설정이 표시됩니다.
    다음으로 전체 설정을 다시 확인하고 최종 생성하기 버튼을 클릭하면 Load Balancer가 생성됩니다.
Ncloud(네이버 클라우드) VPC 환경에서 Application Load Balancer 생성하기 가이드

ACG 설정

Load Balancer가 정상 작동하기 위해서는 [Server] - [ACG]에서 [Inbound 규칙]에 Load Balancer용 Subnet 대역인 172.16.11.0/24 대역의 80 포트를 허용포트로 설정해야 합니다.

ACG 확인

우선 서버들에 적용된 ACG를 확인하기 위해 서버 상세 정보에서 [ACG 수정] 버튼을 클릭합니다.

Ncloud(네이버 클라우드) VPC 환경에서 Application Load Balancer 생성하기 가이드
  • [ACG 수정] 팝업에서 [적용 ACG]에 적용된 ACG 이름을 확인합니다.
Ncloud(네이버 클라우드) VPC 환경에서 Application Load Balancer 생성하기 가이드

Inbound 규칙 추가

위에서 확인한 ACG를 찾아서 [Inbound 규칙]에 Load Balancer용 Subnet 대역인 172.16.11.0/24 대역의 80 포트를 허용포트로 추가했습니다.

Ncloud(네이버 클라우드) VPC 환경에서 Application Load Balancer 생성하기 가이드

Server 웹서버 설정

Application Load Balancer를 테스트 하기 위해서는 테스트 Server에 웹서버가 설정되어 있어야 하는데, 여기서는 Apache 웹서버를 설치하고 기본문서 index.html에 각 서버를 나타내는 텍스트를 적용합니다.

Rocky Linux

  dnf -y install httpd 

systemctl start httpd

cd /var/www/html
echo "<center><h1>Load Balancer Test Server - Rocky Linux</h1></center>" > index.html
  

Ubuntu

  apt -y install apache2 

systemctl start apache2

cd /var/www/html
echo "<center><h1>Load Balancer Test Server - Ubuntu</h1></center>" > index.html
  

CentOS

  yum -y install httpd

systemctl start httpd

cd /var/www/html
echo "<center><h1>Load Balancer Test Server - CentOS</h1></center>" > index.html
  

접속 테스트

앞에서 생성했던 Load Balancer 정보에서 접속 정보용 주소를 확인하고 복사합니다.

Ncloud(네이버 클라우드) VPC 환경에서 Application Load Balancer 생성하기 가이드

복사한 Load Balancer 주소를 웹브라우저에 입력하고 계속 새로 고침을 해보면 아래와 같이 Rocky Linux, Ubuntu, CentOS 서버에 접속될 때 마다 해당 서버의 텍스트가 출력되면서 Load Balancer가 정상 작동하는 것을 확인할 수 있습니다.

Ncloud(네이버 클라우드) VPC 환경에서 Application Load Balancer 생성하기 가이드 Ncloud(네이버 클라우드) VPC 환경에서 Application Load Balancer 생성하기 가이드 Ncloud(네이버 클라우드) VPC 환경에서 Application Load Balancer 생성하기 가이드

참고 URL

  1. Ncloud Application Load Balancer 가이드
    https://guide.ncloud-docs.com/docs/loadbalancer-application-vpc

  2. Ncloud Load Balancer Target Group 가이드
    https://guide.ncloud-docs.com/docs/loadbalancer-targetgroup-vpc

문서 업데이트 내역

날짜 내용
2022-08-04 문서 최초 생성
2024-05-22 로드밸런서 생성 시 Subnet과 네트워크 관련 설정 변경 내용 적용