Network > Load Balancer > 콘솔 사용 가이드

로드밸런서 관리

로드밸런서 생성

TOAST의 로드밸런서 콘솔에서 설정값들을 입력하는 것만으로 쉽게 로드밸런서를 생성할 수 있습니다.

로드밸런서 정보

로드밸런서에 대한 기본 정보를 입력합니다. 필요한 항목들은 다음과 같습니다.

  • 이름: 로드밸런서의 이름을 입력합니다.
  • 설명: 로드밸런서에 대한 설명을 기술합니다.
  • Network (Subnet): 로드밸런서가 연결될 VPC의 서브넷을 지정합니다.
  • Loadbalancer Type: 일반과 전용 중 하나를 선택할 수 있습니다.

[참고] 로드밸런서 타입에 대한 자세한 사항은 로드밸런서 타입에서 확인할 수 있습니다.

리스너 등록

로드밸런서가 처리할 트래픽의 속성을 정의합니다. TOAST의 로드밸런서는 기본적으로 하나의 리스너를 가지며, 추후 로드밸런서의 상세 화면에서 추가로 생성하거나 삭제할 수 있습니다.

  • 로드밸런싱 방식: 로드밸런서가 트래픽을 분산하는 방식을 결정합니다. ROUND_ROBIN/LEAST_CONNECTIONS/SOURCE_IP 중 하나를 선택합니다.
  • 프로토콜: 로드밸런서가 처리할 트래픽의 프로토콜을 지정합니다. TCP/HTTP/HTTPS/TERMINATED_HTTPS 중 하나를 선택합니다.
  • 로드밸런서 포트: 기본 리스너가 트래픽을 수신할 포트를 지정합니다.
  • 인스턴스 포트: 로드밸런서 멤버들의 포트를 지정합니다. 로드밸런서 포트로 유입되는 트래픽은 멤버 인스턴스의 인스턴스 포트로 전달되게 됩니다.

[참고] 로드밸런서 포트와 인스턴스 포트는 1부터 65535 사이의 값을 가집니다.

[주의] 로드밸런서 포트, 인스턴스 포트 그리고 프로토콜은 리스너 생성 후 변경이 불가능합니다.

  • SSL 인증서: 프로토콜로 TERMINATED_HTTPS를 선택할 경우 사용할 인증서를 등록합니다.

[참고] TERMINATED_HTTPS 인증서 등록 방법

로드밸런서의 리스너 프로토콜을 TERMINATED_HTTPS로 지정한 경우 SSL 인증서를 등록하는 버튼이 활성화됩니다.

등록해야 할 파일은 ‘인증서’와 ‘개인 키’입니다. ‘개인 키’는 서버 인증서에 내장된 공개 키와 쌍을 이루는 개인 키를 의미합니다.

‘인증서’는 아래와 같이 x.509 PEM 형식을 따릅니다.

-----BEGIN CERTIFICATE-----
(내용 생략)
-----END CERTIFICATE-----

서버 인증서와 체인 인증서(Chain Certificate, Intermediate Certificate)를 함께 등록해야 할 때는 서버 인증서와 체인 인증서를 파일 하나로 만들어 등록해야 합니다.

인증서 파일을 하나로 만들 때는 파일의 최상단에 서버 인증서를 기술하고 그 하단에 체인 인증서를 기술해야 합니다. 체인 인증서는 순서에 상관없이 기술할 수 있습니다.

1개의 서버 인증서와 2개의 체인 인증서를 하나의 인증서 파일로 만들면 다음과 같은 형식이 됩니다.

 -----BEGIN CERTIFICATE-----
 (서버 인증서 내용 생략)
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
 (체인 인증서#1 내용 생략)
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
 (체인 인증서#2 내용 생략)
 -----END CERTIFICATE-----

‘개인 키’는 서버 인증서에 포함된 공개 키에 대응하는 키 파일입니다. 등록하는 '개인 키'는 반드시 비밀번호가 제거되어야 올바르게 동작합니다.

PKCS#1 또는 PKCS#8 PEM 형식을 갖는 파일을 등록할 수 있습니다.

 -----BEGIN RSA PRIVATE KEY-----
 (개인 키 내용 생략)
 -----END RSA PRIVATE KEY-----

또는

 -----BEGIN PRIVATE KEY-----
 (개인 키 내용 생략)
 -----END PRIVATE KEY-----
상태 확인

상태 확인을 위한 설정도 리스너 생성시 결정합니다. TOAST의 로드밸런서는 리스너 별로 상태 확인 동작을 정의할 수 있습니다. 필요한 항목들은 다음과 같습니다.

  • 상태 확인 프로토콜: 상태 확인시 사용할 프로토콜을 결정합니다. TCP/HTTP/HTTPS 중 하나를 선택합니다.
  • 상태 확인 포트: 상태 확인을 시도할 멤버 인스턴스의 포트를 결정합니다.
  • HTTP 메서드: 상태 확인시 사용할 HTTP 메서드를 선택합니다. 상태 확인 프로토콜로 HTTP나 HTTPS를 선택했을 때만 활성화 됩니다. 현재는 GET만을 지원합니다.
  • HTTP 상태 코드: 상태 확인시 정상 응답으로 간주할 HTTP 상태 코드를 입력합니다. 상태 확인 프로토콜로 HTTP나 HTTPS를 선택했을 때만 활성화 됩니다. 현재는 GET만을 지원합니다.
  • URL: 상태 확인을 시도할 멤버 인스턴스의 경로를 지정합니다. 상태 확인 프로토콜로 HTTP나 HTTPS를 선택했을 때만 활성화 됩니다.
  • 상태 확인 주기: 상태 확인의 주기를 입력합니다. 단위는 초이며, 지정된 주기마다 상태 확인을 시도합니다.
  • 최대 응답 대기 시간: 상태 확인 후 정상 응답을 대기하는 최대 시간을 지정합니다. 단위는 초이며, 지정된 대기시간을 초과하면 실패로 간주합니다.
  • 최대 재시도 횟수: 상태 확인시 반복 시도할 최대 횟수를 지정합니다. 최대 재시도 횟수가 2 이상인 경우, 상태 확인에 대한 정상 응답이 오지 않았다고 해서 바로 실패로 간주하지 않습니다. 최대 재시도 횟수만큼 반복 실패한 경우 해당 인스턴스를 부하 분산 대상에서 제외합니다.
연결

연결에 관한 설정을 지정합니다.

  • 세션 지속성: 세션을 유지하기 위해, 요청에 대한 응답을 특정 인스턴스에서만 하도록 만드는 설정 입니다. No Session Persistence/ APP_COOKIE/HTTP_COOKIE/ SOURCE_IP 중 하나를 선택할 수 있습니다.
  • 연결 제한: 기본 리스너가 동시에 유지할 TCP 세션의 수를 지정합니다. 일반 로드밸런서는 최대 60,000 까지, 전용 로드밸런서는 최대 480,000 까지 설정할 수 있습니다.
  • Keepalive Timeout: 클라이언트 및 서버와의 세션 유지 시간을 초 단위로 지정합니다. 로드밸런서는 상대편이 세션을 유지하는 한 이 시간동안 세션을 유지합니다. 서버에 설정한 keepalive timeout 값을 이 곳에 설정하는 것을 추천합니다. 기본값은 300초로 설정됩니다.
  • Proxy Protocol: 로드밸런서가 프록시 프로토콜을 지원하게 할 수 있습니다. 서버에서 클라이언트의 IP를 알기 위해 프록시 프로토콜을 사용하도록 설정한 경우에만 이 값을 활성화해야합니다. TCP와 HTTPS 프로토콜을 사용하는 경우에만 이용할 수 있습니다.

멤버 등록

로드밸런서 생성시에 멤버로 등록할 인스턴스를 지정합니다. 멤버 등록은 로드밸런서 생성 이후에 이루어져도 무방합니다. 로드밸런서가 연결된 VPC에 속한 인스턴스들만 멤버로 등록할 수 있습니다.

IP 접근제어 그룹

로드밸런서를 생성할 때 적용할 IP 접근제어 그룹을 지정합니다. IP 접근제어 그룹 중 동일한 접근제어 타입을 갖는 여러 그룹을 선택할 수 있습니다. 로드밸런서 생성 후에도 적용할 IP 접근제어 그룹을 변경할 수 있습니다.

로드밸런서 살펴보기

로드밸런서 생성을 마치면 다시 로드밸런서 목록 화면으로 돌아오게 됩니다. 로드밸런서 목록 화면에서는 생성된 로드밸런서들의 기본 정보를 확인할 수 있습니다. 목록 화면에서 노출되는 항목들은 다음과 같습니다.

  • 이름: 로드밸런서 생성시 지정한 로드밸런서의 이름입니다.
  • 타입: 로드밸런서 타입입니다.
  • IP 주소: 로드밸런서에 연결된 VPC로부터 할당받은 사설 IP 입니다. VPC 내부에서는 이 IP를 통해 로드밸런서로 접근할 수 있습니다. VPC 외부에서 로드밸런서로 접근하기 위해서는 플로팅 IP를 연결해야 합니다.
  • 로드밸런서 포트/인스턴스 포트: 로드밸런서에 속한 리스너들의 포트와 인스턴스 포트 쌍입니다.
  • 프로토콜: 로드밸런서에 속한 리스너들의 프로토콜입니다.
  • IP 접근제어 타입: 로드밸런서에 지정된 IP 접근제어 그룹의 타입을 나타냅니다. 접근제어 그룹이 지정되지 않으면 아무것도 표현되지 않고, 지정된 경우 '허용'과 '차단' 중 하나의 타입을 갖습니다.
  • 네트워크: 로드밸런서에 연결된 VPC의 이름과 서브넷 CIDR 입니다.
  • 상태: 로드밸런서 생성 상태를 나타냅니다. ACTIVE로 표기 된다면 정상적으로 생성된 것입니다.

[참고] 로드밸런서의 생성 상태는 다음 중 하나로 결정됩니다.

상태 의미
ACTIVE 로드밸런서 생성 완료, 정상 동작 중
PENDING_CREATE 로드밸런서 생성 중
생성 후 한 시간 내에 ACTIVE 상태로 변경되지 않는 경우 관리자에게 문의하시기 바랍니다.
PENDING_UPDATE 로드밸런서 설정 수정 중
설정 수정 후 한 시간 내에 ACTIVE 상태로 변경되지 않는 경우 관리자에게 문의하시기 바랍니다.
PENDING_DELETE 로드밸런서 삭제 중
삭제 후 한 시간 내에 목록에서 사라지지 않는 경우 관리자에게 문의하시기 바랍니다.
ERROR 로드밸런서 생성 실패
관리자에게 문의하시기 바랍니다.
ERROR_MIGRATE 로드밸런서 이동 실패
관리자에게 문의하시기 바랍니다.

로드밸런서 수정 및 상세 정보

로드밸런서 목록 화면에서 원하는 로드밸런서를 선택하면, 화면 하단에 선택한 로드밸런서의 상세 화면이 나옵니다. 상세 화면은 세 개의 탭으로 구분됩니다. 각각의 탭에 대한 설명은 다음과 같습니다.

  • 로드밸런서 상세정보: 선택한 로드밸런서의 세부 정보를 보여줍니다. 선택한 리스너의 이름과 설명을 변경할 수 있습니다.
  • 리스너: 선택한 로드밸런서에 생성된 리스너들의 상세 설정을 확인 할 수 있습니다. 리스너를 새로 추가하거나, 기존 리스너를 삭제할 수 있습니다.
  • 인스턴스: 선택한 로드밸런서에 멤버로 등록된 인스턴스 목록을 볼 수 있습니다. 새로운 인스턴스를 멤버로 등록하거나, 기존 멤버를 제외할 수 있습니다.
  • 통계: 선택한 로드밸런서의 통계 정보를 볼 수 있습니다.

[참고] 로드밸런서가 연결된 VPC와 IP 주소는 변경할 수 없습니다.

리스너 추가

로드밸런서의 상세 화면에서 리스너 탭을 선택한 후 리스너 추가 버튼을 누르면, 리스너를 추가할 수 있습니다. 리스너 추가에 필요한 항목들은 로드밸런서 생성시 기본 리스너에서 필요한 항목들과 동일합니다. 리스너 추가시 기존에 존재하던 리스너들이 사용하던 로드밸런서 포트는 사용할 수 없습니다.

리스너 수정

수정하려는 리스너의 수정 버튼을 누르면 리스너의 설정들을 수정할 수 있습니다.

[참고] 리스너의 프로토콜, 로드밸런서 포트 그리고 인스턴스 포트는 변경할 수 없습니다.

리스너 삭제

삭제하려는 리스너의 삭제 버튼을 누르면 해당 리스너는 삭제 됩니다. 다만, 선택한 로드밸런서에 리스너가 하나만 존재하는 경우 삭제할 수 없습니다.

[주의] 리스너 추가/수정/삭제는 로드밸런서의 재기동을 야기합니다. 즉, 순간적으로 로드밸런서의 동작이 멈추므로 예기치 못한 장애를 유발할 수 있습니다. 리스너 변경 작업은 서비스에 영향을 주지 않는 시간에 진행하셔야 합니다.

멤버 추가

인스턴스 탭에서 새로운 인스턴스를 로드밸런서의 멤버로 등록할 수 있습니다. 추가할 수 있는 인스턴스는 로드밸런서가 연결된 VPC로 제한됩니다.

멤버 비활성화

멤버 인스턴스 중 임시로 서비스에서 제외하고 싶은 경우 비활성화시킬 수 있습니다. 제외할 인스턴스에서 사용 항목의 True를 선택하면, False로 변경되면서 비활성화 됩니다.

멤버 삭제

멤버 인스턴스 중 더이상 사용되지 않는 인스턴스는 삭제할 수 있습니다. 제외할 인스턴스의 인스턴스 연결 해제 버튼을 누르면 선택한 로드밸런서의 멤버에서 삭제됩니다. 로드밸런서의 멤버에서 삭제된다고 해서 인스턴스가 삭제되지는 않습니다.

[주의] 멤버 추가/비활성화/삭제는 로드밸런서의 재기동을 야기합니다. 즉, 순간적으로 로드밸런서의 동작이 멈추므로 예기치 못한 장애를 유발할 수 있습니다. 멤버 변경 작업은 서비스에 영향을 주지 않는 시간에 진행하셔야 합니다.

로드밸런서 삭제

로드밸런서의 목록 화면에서 삭제하려는 로드밸런서를 선택한 후 삭제 버튼을 누르면, 해당 로드밸런서가 삭제됩니다.

IP 접근제어 그룹

IP 접근제어 기능에 대한 자세한 사항은 IP 접근제어 문서를 참고합니다.

IP 접근제어 그룹 생성

IP 접근제어 그룹을 생성하려면 [접근제어 그룹 생성] 버튼을 누르고, 다음의 값을 입력합니다.

  • 이름: 접근제어 그룹의 이름을 입력합니다.
  • 설명: 접근제어 그룹의 설명을 기술합니다.
  • IP 접근제어 타입: 차단과 허용 중 선택합니다.
  • IP 접근제어 대상 추가: 접근제어 대상이 되는 IP와 설명을 기술합니다. 우측 "+" 버튼을 눌러 여러 개의 접근제어 대상을 한꺼번에 추가할 수 있습니다. 대량 입력을 좀더 수월하게 하려면 [대량 입력]을 선택할 수 있습니다. 이 경우 한 줄에 "IP주소 또는 CIDR"와 "설명"을 입력합니다. 한 번에 최대 100개의 접근제어 대상을 입력할 수 있습니다.

[확인]을 누르면 접근제어 그룹과 대상이 생성됩니다.

[참고] IP 접근제어 그룹과 IP 접근제어 대상의 개수

프로젝트별 접근제어 그룹을 최대 10개까지 생성할 수 있습니다. 프르젝트별 접근제어 대상을 최대 1,000개까지 생성할 수 있습니다.

IP 접근제어 그룹 변경

IP 접근제어 그룹의 속성을 변경할 수 있습니다. 변경 가능한 속성은 이름과 설명입니다. "IP 접근제어 타입" 속성은 변경할 수 없습니다.

IP 접근제어 그룹 삭제

선택한 IP 접근제어 그룹을 삭제할 수 있습니다. 그룹을 삭제하면 그룹에 속한 모든 접근제어 대상도 삭제됩니다. IP 접근제어 그룹을 삭제하면 이 그룹을 사용하는 로드밸런서가 더 이상 해당 정책을 사용하지 않게 됩니다.

IP 접근제어 대상 추가

접근제어 그룹을 선택하면 하단에 접근제어 대상 메뉴가 나타납니다. 접근제어 그룹에 대상을 추가하면, 이 접근제어 그룹을 사용하는 모든 로드밸런서에 추가된 IP 또는 CIDR의 정책이 반영됩니다.

IP 접근제어 대상 변경

접근제어 대상의 속성을 변경할 수 있습니다. 설명만 변경할 수 있습니다.

IP 접근제어 대상 삭제

접근제어 그룹을 선택하면 하단에 접근제어 대상 메뉴가 나타납니다. 접근제어 그룹에 속한 대상을 삭제하면, 이 접근제어 그룹을 사용하는 모든 로드밸런서에 해당 IP 또는 CIDR의 정책이 삭제됩니다.

IP 접근제어 그룹 적용

IP 접근제어 그룹을 적용할 로드밸런서를 선택합니다. 해당 로드밸런서에 설정할 그룹을 선택하고 확인을 누릅니다. "접근제어 타입"이 동일한 그룹 여러 개를 로드밸런서에 적용할 수 있습니다.

TOP