メインコンテンツまでスキップ

로드밸런서

개요

로드밸런서는 들어오는 트래픽을 여러 서버(가상머신)로 분산하는 관리형 네트워크 리소스입니다. 공인 IP로 들어온 요청을 규칙에 따라 여러 서버로 나눠 보내, 한 서버에 부하가 몰리는 것을 막고 일부 서버에 장애가 생겨도 서비스가 계속되도록 합니다.

로드밸런서는 L4(전송 계층)에서 동작하며 TCP·UDP 트래픽을 처리합니다. Elice가 운영하는 관리형 리소스이므로 가상머신 목록에는 나타나지 않고, 포털에서만 생성·관리할 수 있습니다.

클라이언트
└── 공인 IP (로드밸런서에 연결)
└── 로드밸런서 (규칙 + 헬스체크)
├── 서버 #1 (네트워크 인터페이스)
└── 서버 #2 (네트워크 인터페이스)

사전 준비

로드밸런서를 만들기 전에 다음이 준비되어 있어야 합니다.

  • 가상 네트워크: 로드밸런서와 대상 서버가 속할 가상 네트워크
  • 대상 서버: 트래픽을 받을 가상머신과 그 네트워크 인터페이스. 로드밸런서와 같은 가상 네트워크에 속한 네트워크 인터페이스만 서버로 지정할 수 있습니다.
  • 공인 IP: 로드밸런서에 연결할 공인 IP. 미리 만들어두지 않았어도 생성 화면의 새 공인 IP 생성으로 바로 만들 수 있습니다.
  • 쿼터: 로드밸런서는 조직별 생성 개수 쿼터가 적용됩니다. 남은 수량은 생성 화면과 사용량 및 쿼터 페이지에서 확인할 수 있습니다.

로드밸런서 생성

  1. 네트워크 > 로드밸런서 목록에서 로드밸런서 생성을 클릭합니다.

  2. 기본 정보를 입력합니다.

    항목설명
    이름식별 가능한 이름
    영역로드밸런서가 배치될 가용 영역 (대상 서버와 동일한 영역 선택)
    가상 네트워크로드밸런서와 대상 서버가 속한 가상 네트워크
    공인 IP로드밸런서에 연결할 공인 IP. 이미 다른 리소스에 연결된 IP는 선택할 수 없습니다
    가격 유형요금제 선택 (온디맨드 또는 약정형). 로드밸런서는 활성화 시점부터 삭제될 때까지 시간 단위로 과금됩니다
  3. 로드밸런싱 규칙을 1개 이상 추가합니다. 규칙은 리스너(어떤 트래픽을 받을지)와 서버(어디로 보낼지), 분산 방식을 정의합니다.

    항목설명
    프로토콜클라이언트 트래픽을 받을 전송 프로토콜 (TCP / UDP)
    포트클라이언트가 접속하는 리스너 포트. 공인 IP의 이 포트로 들어온 트래픽을 서버로 전달 (1~65535). 프로토콜이 달라도 규칙 간 같은 포트는 사용할 수 없습니다
    분산 알고리즘요청을 여러 서버에 나누는 방식 (아래 표 참고)
  4. 각 규칙에 서버를 1개 이상 추가하고, 서버마다 네트워크 인터페이스를 선택합니다.

    항목설명
    네트워크 인터페이스트래픽을 전달할 대상 서버(가상머신)의 네트워크 인터페이스. 이 로드밸런서의 가상 네트워크에 속한 것만 선택 가능
    서버 포트대상 서버에서 트래픽을 받을 포트 (1~65535)
  5. 헬스체크를 설정합니다. (아래 표 참고)

  6. 생성을 클릭합니다.

생성은 비동기로 처리됩니다

로드밸런서는 생성 직후 요청됨 상태이며, 프로비저닝이 끝나면 활성화 상태로 바뀝니다. 상태가 활성화가 된 뒤에 트래픽을 보내세요.


분산 알고리즘

규칙마다 트래픽을 서버에 나누는 방식을 선택합니다.

알고리즘동작적합한 경우
Round Robin서버를 순서대로 번갈아 배정서버 성능이 비슷하고 요청 처리 시간이 균일할 때 (기본값)
Least Connection활성 연결이 가장 적은 서버에 우선 배정요청마다 처리 시간이 다르거나 연결이 오래 유지될 때
Random서버를 무작위로 배정단순한 대략적 균등 분산이 필요할 때

헬스체크

헬스체크는 각 서버의 상태를 주기적으로 확인해, 비정상 서버를 분산 대상에서 제외하고 복구되면 다시 합류시킵니다. 규칙마다 설정합니다.

항목설명기본값
프로토콜서버 상태 확인에 사용할 프로토콜. TCP 고정TCP
포트서버 상태를 확인할 포트. 서비스 포트와 다르게 지정 가능 (1~65535)80
주기 (초)서버 상태를 확인하는 간격10
타임아웃 (초)한 번의 확인에서 응답을 기다리는 최대 시간. 초과 시 실패 처리5
정상 임계값비정상 서버를 정상으로 복귀시키는 데 필요한 연속 성공 횟수2
비정상 임계값정상 서버를 분산에서 제외하는 데 필요한 연속 실패 횟수3
헬스체크는 TCP로만 동작합니다

리스너 프로토콜이 UDP여도 헬스체크는 항상 TCP로 헬스체크 포트의 연결 가능 여부를 확인합니다. 따라서 헬스체크 프로토콜은 TCP로 고정되어 있습니다.

서비스 포트가 80이 아니라면 헬스체크 포트를 함께 변경하세요

헬스체크 포트 기본값은 80입니다. 서버 포트를 8080 등으로 지정했다면 헬스체크 포트도 같은 값으로 바꿔야 합니다. 그대로 두면 헬스체크가 응답 없는 80 포트를 확인해 모든 서버가 비정상으로 판정되고, 트래픽이 전달되지 않습니다.


로드밸런서 수정

활성화 상태의 로드밸런서만 수정할 수 있습니다. 수정할 수 있는 항목은 이름규칙(서버, 분산 알고리즘, 헬스체크 포함)이며, 영역·가상 네트워크·공인 IP·가격 유형은 생성 후 변경할 수 없습니다.

  1. 네트워크 > 로드밸런서 목록에서 대상 로드밸런서를 선택합니다.
  2. 수정을 클릭해 이름, 규칙, 서버, 분산 알고리즘, 헬스체크를 변경합니다.
  3. 저장을 클릭합니다. 변경 사항은 재생성 없이 반영됩니다.

운영 중 서버를 추가하거나 제거하려면 규칙의 서버 목록을 수정하면 됩니다. 서버를 제거하면 해당 서버로는 더 이상 트래픽이 가지 않고, 추가한 서버는 헬스체크를 통과하는 대로 분산에 합류합니다.

가상머신을 삭제해도 규칙에서 자동으로 제거되지 않습니다

대상 가상머신을 삭제해도 규칙의 서버 항목은 그대로 남습니다. 삭제된 서버는 헬스체크에 의해 분산 대상에서 제외되지만, 규칙의 서버 목록에서도 직접 제거해 정리하세요. 또한 규칙에 등록된 네트워크 인터페이스는 삭제할 수 없으므로, 가상머신 삭제 시 함께 삭제 대상에서 제외됩니다.

공인 IP는 교체할 수 없습니다

로드밸런서에 연결된 공인 IP는 해제하거나 다른 IP로 바꿀 수 없습니다. 다른 공인 IP를 사용하려면 로드밸런서를 삭제하고 새로 만들어야 합니다.


로드밸런서 삭제

활성화 상태의 로드밸런서만 삭제할 수 있습니다. 네트워크 > 로드밸런서 목록에서 대상을 선택하고 삭제를 클릭합니다.

삭제도 생성과 마찬가지로 비동기로 처리됩니다. 삭제를 요청하면 삭제 중 상태가 되고, 완료되면 목록에서 제거됩니다. 연결돼 있던 공인 IP는 삭제가 완료되는 시점에 분리되며, 분리된 공인 IP는 다시 다른 리소스에 연결하거나 삭제할 수 있습니다.


과금

로드밸런서는 활성화 상태가 된 시점부터 삭제될 때까지 시간 단위로 과금됩니다. 프로비저닝 중(요청됨 상태)에는 과금되지 않으며, 처리한 트래픽 양이나 요청 수에 따른 추가 요금은 없습니다.

  • 가격 유형(온디맨드·약정형)은 생성 시 선택하며, 생성 후에는 변경할 수 없습니다.
  • 연결된 공인 IP는 로드밸런서와 별도로 과금됩니다.
  • 트래픽이 없어도 활성화 상태면 과금이 계속되므로, 사용하지 않는 로드밸런서는 삭제하세요.

다음 단계