사용하기 전에

Q. Cloud DB for MySQL에서 로드밸런서는 어떤 경우에 사용하나요?

  • Cloud DB for MySQL에서 로드밸런서는 한대 이상의 Slave DB 서버를 로드밸런서로 묶어 읽기 부하 분산을 하기 위해 사용합니다.

Q. Cloud DB for MySQL에서 생성한 모든 DB Server를 로드밸런서에 연결할 수 있나요?

  • 읽기 부하 분산을 위해 사용하므로 생성한 DB Server 중 Slave DB server만 로드밸런서로 묶어 사용할 수 있습니다.
  • Master DB Server는 로드밸런서의 서버 목록에 표시되지 않습니다.

Q. 로드밸런서를 public으로 생성하여 네이버 클라우드 플랫폼 외부에서 접근할 수 있나요?

  • Cloud DB for MySQL에서 생성한 DB 서버는 네이버 클라우드 플랫폼에서 생성된 서버에서만 접근할 수 있습니다.
  • 그러므로 로드밸런서를 Public으로 생성할 수 없으며, Private을 선택한 경우에만 Slave DB 서버를 서버 목록에서 확인하고 선택할 수 있습니다.

Q. 다수의 DB 서비스에 속한 Slave 서버들을 하나의 로드밸런서로 묶을 수 있을까요?

  • 반드시 동일한 DB 서비스에 속한 Slave 서버만을 선택하여 로드밸런서를 생성하여야 합니다.

로드밸런서 기능 소개

로드밸런서는 서비스에 대한 네트워크 부하를 분산해 서버 부하를 경감시키기 위한 네트워크 상품으로 본 설명서에서는 Cloud DB for MySQL 상품에서 다수의 Slave DB를 로드밸런서를 통해 읽기부하를 분산시키기 위한 설정에 대해서만 설명합니다.

로드밸런서 상품에 대한 자세한 가이드는 로드밸런서 생성 가이드를 참조하세요.

로드밸런서 생성

Classic 환경에서 이용 가능합니다.

Step 1. 콘솔 접속

콘솔에 접속하여 Load Balancer 상품을 선택합니다.

database-5-1-101

① 생성한 로드밸런서가 없으므로 다음과 같은 문구가 표시됩니다.

  • 보유중인 로드밸런서가 없습니다.
    로드밸런서 생성 버튼을 클릭하여 새로운 로드밸런서를 생성하세요.

② 로드밸런서를 생성하려면 로드밸런서 생성을 클릭합니다.

Step 2. 로드밸런서 생성

DB Server를 설정합니다.

database-5-1-101

① 로드밸런서 이름을 입력합니다.

② 네트워크는 Private IP를 선택합니다.

  • 현재 Cloud DB for MySQL 상품은 네이버 클라우드 플랫폼 외부에서의 접근을 허용하지 않고 있으므로, Public IP를 선택할 경우 서버 추가에 DB Server가 보이 않습니다.

③ DB Server에 접근하기 위한 로드밸런서 설정을 합니다.

  • 프로토콜은 TCP를 선택합니다.
  • 로드밸런서 포트는 사용하고자 하는 로드밸런서 포트를 입력합니다.
  • 서버 포트는 접근하고자 하는 DB Server의 포트번호를 입력합니다.
  • Client IP를 확인하고자 하는 경우 Proxy protocol을 체크할 수 있습니다. 로드밸런서 IP로 DB User를 생성한 경우에는 Proxy Protocol를 활성화할 경우 접속할 수 없습니다.
  • 모두 입력 후 추가 버튼을 클릭하여 입력한 내용을 추가합니다.

④ 로드밸런싱 알고리즘을 추가합니다.

Step 3. 서버 추가

데이터베이스 관련 항목을 설정합니다.

database-5-1-103

① 로드밸런서에 포함할 서버를 전체 서버 목록에서 선택합니다.

  • DB Server의 경우 읽기 부하 분산 전용이므로 Slave DB Server만 전체 서버 목록에 표시됩니다.
  • 반드시 동일 DB 서비스의 Slave DB 서버를 선택합니다.

② [다음] 버튼을 클릭합니다.

Step 4. 최종 확인 및 생성

설정한 내용을 최종 확인하고 생성합니다.

database-5-1-104

네트워크 로드밸런서 / 네트워크 프록시 로드밸런서 생성하기

VPC 환경에서 이용 가능합니다.

Step 1. 콘솔 접속

콘솔에 접속하여 Load Balancer 상품을 선택합니다.

database-5-1-104

1. 화면 중앙의 로드밸런서 생성 버튼을 클릭합니다.

database-5-1-109

2. 서비스 특성에 따라 [네트워크 로드밸런서 생성] 혹은 [네트워크 프록시 로드밸런서] 버튼 을 클릭합니다.

  • 네트워크 로드 밸런서와 네트워크 프록시 로드밸런서의 차이점은 아래와 같습니다.
    • Network Load Balancer
      • 대용량 TCP 트래픽 분산
        • 네트워크 Load Balancer는 대용량 TCP 레이어 부하 분산 처리에 특화된 서비스입니다. 또한 고객 서비스 규모 및 특성에 따라 성능을 보장하는 단계별 상품을 제공합니다.
      • DSR(Direct Server Return)
        • 서버에서 응답 패킷 전송 시, 네트워크 Load Balancer를 거치지 않고 클라이언트로 직접 전달하는 기능을 제공합니다. 이로인해 Load Balancer에서 발생할 수 있는 응답지연 시간을 줄여 보다 효율적인 서비스를 구성할 수 있습니다.
    • Network Proxy Load Balancer
      • TCP 세션 유지
        • 세션유지가 필요한 TCP application을 구성하는데 최적화 되어 있습니다. Network Load Balancer와 다르게 DSR이 적용되어 있지 않으며, Load Balancer가 세션을 관리합니다.
      • SSL 인증 및 다양한 서버 부하분산 방식
        • Application Load Balancer에서 이용가능한 SSL 인증서 및 부하분산 알고리즘 적용을 Network Proxy Load Balancer에서도 제공합니다.

Step 2. 로드밸런서 생성

DB Server를 설정합니다.

database-5-1-109

1. Load Balancer 생성 페이지가 나타나면 사용할 Load Balancer의 이름을 입력합니다.

2. Load Balancer의 네트워크 타입을 선택합니다.

  • Private IP 타입은 VPC 내부 사설 IP를 이용하여 내부 서버로부터의 부하분산을 처리하며 VPC 외부에서는 접근이 불가합니다.
  • CDB MySQL은 Private IP 만 지원됩니다.

3. Load Balancer의 성능 타입을 선택합니다.

  • 부하처리 성능에 따라 Small/ Medium / Large 중 선택할 수 있으며 각각 초당연결수 (CPS) 기준 최소 30,000 / 60,000 / 90,000 개의 분산처리를 보장합니다.
  • Private IP 방식은 Small 만 지원됩니다.

4. Load Balancer를 위치시킬 VPC와 Subnet을 선택합니다.

  • Load Balancer는 전용 Subnet을 생성하여 배치해야 하며, 서버와 같은 Subnet에 위치되면 해당 서버로 로드밸런싱이 동작하지 않습니다.
  • 각각의 Load Balancer 마다 별도의 Subnet을 생성할 필요는 없으나 가급적 C 클래스(255.255.255.0) 규모의 Subnet을 권장드립니다.

5. 화면 하단의 다음을 클릭해 리스너 설정으로 이동합니다.

Step 3. 로드밸런서 리스너 설정

데이터베이스 관련 항목을 설정합니다.

database-5-1-111

1. Load Balancer가 바인드할 포트를 설정합니다.

2. 서버 애플리케이션이 사용할 포트를 설정한 후 우측 추가를 클릭합니다.

  • 설정된 포트로 Health check에 실패한 서버는 로드밸런싱 대상에서 제외 됩니다.
  • Load Balancer 포트와 서버 포트를 반드시 똑같이 설정할 필요는 없습니다.

3. 화면 하단의 다음을 클릭해 서버 추가 페이지로 이동합니다.

Step 4-1. Target Group 선택

database-5-1-111

  1. 적용할 Target Group을 선택합니다.
    • 생성해 놓은 Target Group이 없는 경우 [Target Group 생성] 버튼을 클릭하여 생성 페이지로 이동합니다.
Target Group 생성

Step1. Target Group 생성

database-5-1-111

① Taget Group의 이름을 입력합니다.

② Target 유형을 선택합니다.

③ 등록될 대상이 포함된 VPC를 선택합니다.

④ 네트워크 로드 밸런서를 선택하였을 경우 [TCP] 프로토콜을 선택합니다.

​ 네트워크 프록시 로드밸런서를 선택하였을 경우 [TCP-Proxy] 프로토콜을 선택합니다.

⑤ 각 대상이 서비스중(Listen)인 포트번호를 입력합니다. 입력된 Port로 트래픽이 전달됩니다.

  • Target Group의 Health check 정책을 설정합니다.

Step2. Health Check 설정

database-5-1-111

① [TCP] 프로토콜을 선택합니다.

② 대상의 상태를 확인할 수 있는 포트를 지정합니다. 상태 확인만 가능하다면 반드시 Target Group의 Port와 일치하지 않아도 됩니다.

③ Health Check 주기를 5-300초 사이의 값중에서 설정합니다.

④ 대상의 상태가 변경되는 임계값을 지정합니다 . 정상 임계값은 비정상 상태의 대상이 다시 서비스에 투입되기 위해 성공해야 하는 상태 확인 횟수이며, 실패 임계값은 정상 상태의 대상이 상태 확인을 실패하면 비정상 상태로 전환되어 부하 분산 대상에 제외되는 횟수 입니다.

Step3. Target 추가

database-5-1-111

① 전체 Target 목록에 나온 서버 중 적용할 서버를 클릭합니다.

② 가운데 > 버튼을 눌러 원하는 서버를 Load Balancer 적용 서버로 이동합니다.

  • 전체 서버는 VPC내 모든 서버를 대상으로 합니다.

Step4. 설정 정보 보기

database-5-1-111

① 설정 정보를 확인한 뒤 [Target Group 생성] 버튼을 클릭합니다.

Step 4-2. Target Group 선택

database-5-1-111

  1. Target Group 생성이 완료되면 로드 밸런서 생성 화면에서 해당 Target Group을 선택합니다.

  2. 화면 하단의 다음을 클릭해 최종 확인 페이지로 이동합니다.

Step 5. 최종 확인 및 생성

database-5-1-111

1. 화면 하단의 Load Balancer 생성 버튼을 클릭하여 Load Balancer를 생성합니다.

  • 앞서 설정한 내역들이 맞게 입력되었는지 확인합니다.
  • 사용자 가이드 하단의 ACG 설정 가이드에 따라 ACG 설정을 수행합니다.

ACG 설정

DB 서버스의 ACG에 ACG설정을 추가하여 로드밸런서가 정상적으로 접근할 수 있도록 합니다.

database-5-1-105

① 로드밸런서 접근을 위한 ACG 규칙을 추가합니다.

  • 프로토콜은 TCP를 선택합니다.
  • 접근소스는 ncloud-load-balancer를 선택하여 생성한 로드밸런서로 접근할 수 있도록 합니다.
  • 허용포트는 DB 서버의 접근 포트를 입력합니다.
  • [추가] 버튼을 클릭하여 규칙을 추가합니다.

② [적용] 버튼을 클릭하여 추가한 ACG 규칙을 적용합니다.

※ Secure Zone에 생성된 Cloud DB for MySQL 상품은 Secure Zone > Secure Zone FireWall > Policy > Policy생성 과정이 필요합니다.

로드밸런서 확인

ACG 설정 후 생성한 로드밸런서가 운영중으로 변경된 것을 확인합니다.

Classic 환경에서 이용 가능합니다.

database-5-1-106

① 생성된 로드밸런서를 클릭하여 상세 정보를 확인합니다.

② 적용서버의 연결상태가 성공으로 표시되는지 확인합니다.

③ 접속 정보

  • 로드밸런서 접속을 위한 IP를 확인하고 읽기 분산을 위한 접근 시 사용합니다.

VPC 환경에서 이용 가능합니다.

database-5-1-111

① 생성된 로드밸런서를 클릭하여 상세 정보를 확인합니다.

② VPC, 로드밸런서 서브넷 정보를 확인합니다.

③ 접속 정보

  • 로드밸런서 접속을 위한 IP를 확인하고 읽기 분산을 위한 접근 시 사용합니다.

연관 정보 바로가기

DB 서버 생성 후 관리, 모니터링, 백업 및 이벤트 관련하여 아래 사용 가이드를 참고하실 수 있습니다.

""에 대한 건이 검색되었습니다.

    ""에 대한 검색 결과가 없습니다.

    처리중...