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

로드밸런서 생성

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

로드밸런서 정보

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

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

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

리스너 등록

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

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

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

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

상태 확인을 위한 설정도 리스너 생성시 결정합니다. 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 주소: 로드밸런서에 연결된 VPC로부터 할당받은 사설 IP 입니다. VPC 내부에서는 이 IP를 통해 로드밸런서로 접근할 수 있습니다. VPC 외부에서 로드밸런서로 접근하기 위해서는 플로팅 IP를 연결해야 합니다.
  • 로드밸런서 포트/인스턴스 포트: 로드밸런서에 속한 리스너들의 포트와 인스턴스 포트 쌍입니다.
  • 네트워크: 로드밸런서에 연결된 VPC의 이름과 서브넷 CIDR 입니다.
  • 프로토콜: 로드밸런서에 속한 리스너들의 프로토콜입니다.
  • Provisioning Status (생성 상태): 로드밸런서 생성 상태를 나타냅니다. ACTIVE로 표기 된다면 정상 생성된 것입니다.

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

상태 의미
PENDING_CREATE 로드밸런서 생성 중
생성 후 한 시간 내에 ACTIVE 상태로 변경되지 않는 경우 관리자에게 문의하시기 바랍니다.
ACTIVE 로드밸런서 생성 완료
PENDING_ERROR 로드밸런서 생성 실패
이 경우 관리자에게 문의하시기 바랍니다.

로드밸런서 수정

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

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

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

리스너 추가

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

리스너 수정

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

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

리스너 삭제

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

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

멤버 추가

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

멤버 비활성화

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

멤버 삭제

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

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

로드밸런서 삭제

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