- 인쇄
- PDF
Application Load Balancer (VPC)
- 인쇄
- PDF
VPC 환경에서 이용 가능합니다.
가입 절차
Load Balancer를 사용하려면 네이버 클라우드 플랫폼에서 제공하는 콘솔 및 리소스 등을 이용하기 위해 네이버 클라우드 플랫폼의 계정이 필요합니다.
네이버 클라우드 플랫폼에 가입하면 모든 서비스들을 이용하실 수 있으며, 사용한 서비스에 대해서만 요금이 청구됩니다.
이미 계정이 있는 경우에는 해당 단계를 건너뛸 수 있습니다.
- 포털로 이동합니다.
- 오른쪽 상단에 [회원가입] 버튼을 클릭하여 회원가입 페이지로 이동합니다.
- 서비스 이용 약관 및 개인정보수집이용에 대한 안내 문구를 확인하고 동의합니다.
- 법인 및 담당자 정보를 입력합니다.
- 결제수단은 직접입금과 자동이체를 선택하실 수 있습니다.
- 가입한 ID/PW를 통해 로그인하고 결제수단 선택 및 등록을 완료합니다.
- 콘솔은 포털에 로그인하여 [콘솔] 버튼을 클릭하거나, 도메인(https://console.gov-ncloud.com)을 직접 입력하여 접속 후 사용가능합니다.
Load Balancer 서비스 사용 절차
콘솔 접속하기
- 콘솔에 접속하여 Services > Networking > Load Balancer 메뉴로 이동합니다.
Load Balancer 생성
Load Balancer 생성하기
1. 화면 중앙의 [Load Balancer 생성] 버튼을 클릭합니다.
2. [애플리케이션 로드밸런서 생성] 버튼을 클릭합니다.
3. Load Balancer 생성 페이지가 나타나면 사용할 Load Balancer의 이름을 입력합니다.
4. Load Balancer의 네트워크 타입을 선택합니다.
- Private IP 타입은 VPC 내부 사설 IP를 이용하여 내부 서버로부터의 부하분산을 처리하며 VPC 외부에서는 접근이 불가합니다.
- Public IP 타입은 VPC 외부 또는 인터넷에서 호출될 수 있도록 공인IP로 설정이 됩니다. 공인IP와 함께 제공되는 임의의 도메인을 이용하여 고객보유의 도메인 또는 CDN 서비스와 연결하여 활용가능합니다.
5. Load Balancer의 성능 타입을 선택합니다.
- 부하처리 성능에 따라 Small / Medium / Large 중 선택할 수 있으며 각각 초당 연결수 (CPS) 기준 최소 30,000 / 60,000 / 90,000 개의 분산처리를 보장합니다.
- HTTPS는 SSL Offloading에 의해 HTTP대비 약 1/10의 성능을 예상할 수 있으나 인증키 방식 및 크기에 따라 다소 차이가 있을 수 있습니다.
6. Load Balancer를 위치시킬 VPC와 Subnet을 선택합니다.
- Load Balancer는 전용 Subnet을 생성하여 배치해야 하며, 서버와 같은 Subnet에 위치되면 해당 서버로 로드밸런싱이 동작하지 않습니다.
- 각각의 Load Balancer 마다 별도의 Subnet을 생성할 필요는 없으나 가급적 C 클래스(255.255.255.0) 규모의 Subnet을 권장드립니다.
7. 보유하고 있는 Public IP 또는 신규 Public IP 신청을 선택해 주십시오.
8. 화면 하단의 [다음] 을 클릭해 리스너 설정으로 이동합니다.
Load Balancer 리스너 설정하기
1. Load Balancer의 기본 리스너가 동작할 프로토콜을 선택합니다. (HTTP/HTTPS)
2. Load Balancer의 기본 리스너가 바인드할 포트를 설정합니다.
3. 우측 [추가] 를 클릭하여 리스너를 추가합니다.
4. 화면 하단의 [다음] 을 클릭해 Target Group 선택 페이지로 이동합니다.
인증서 설정하기 (리스너가 HTTPS인 경우)
1. Certificate Manager에 등록된 인증서 중에서 서비스에 알맞은 인증서를 선택합니다.
2. TLS Protocol 버전을 선택합니다.
- TLS v1.0, TLS v1.1, TLS v1.2 중 선택할 수 있으며 각 버전별로 네이버 클라우드 플랫폼에서 제공하는 Ciphers suite이 설정됩니다
Target Group 설정하기
1. 부하분산의 대상이 될 Target Group을 선택합니다.
- 사전에 Target Group이 생성되어 있어야 합니다.
- Application Load Balancer는 프로토콜이 HTTP 또는 HTTPS로 생성된 Target Group만 연결 가능합니다.
2. 알맞은 Target Group을 선택하셨으면 화면 하단의 [다음] 을 클릭해 설정 정보 확인 페이지로 이동합니다.
3. 설정 정보를 최종 확인하고 화면 하단의 [로드밸런서 생성] 을 클릭 해 로드밸런서 생성을 시작합니다.
바인딩된 서버의 ACG 및 NACL에 Load Balancer 서브넷 대역이 접근 소스 및 허용 포트로 반드시 포함되어 있어야 합니다.
로드밸런서 설정
로드밸런서 설정 변경
1. 설정을 변경할 로드밸런서를 선택하고 [로드밸런서 설정 변경] 을 클릭합니다.
2. 로드밸런서 부하 처리 성능에 따른 등급을 조정할 수 있습니다.
- 부하처리 성능에 따라 Small / Medium / Large 중 선택할 수 있으며 각각 초당 연결수 (CPS) 기준 최소 30,000 / 60,000 / 90,000 개의 분산처리를 보장합니다.
- HTTPS는 SSL Offloading에 의해 HTTP대비 약 1/10의 성능을 예상할 수 있으나 인증키 방식 및 크기에 따라 다소 차이가 있을 수 있습니다.
3. 액세스 로그 수집을 설정할 수 있습니다.
- 로드밸런서를 통해 인입되는 요청 트래픽에 의해 발생한 로그를 CLA(Cloud Log Analytics)에 전달하여 저장합니다.
CLA는 최대 100GB의 데이터를 최대 1개월간 보관하며, 영구 보관을 원하시는 경우 로그 자동 내보내기 설정을 통해서 Object Storage로 저장 할 수 있습니다. - 액세스 로그 수집을 활성화 하기 위해서는 사전에 CLA 이용신청이 완료되어야 합니다. CLA 이용을 중도 해지하는 경우, 추가 로그 수집이 진행되지 않습니다.
- 다음 표에서는 액세스 로그 항목의 필드를 순서대로 설명합니다. 모든 필드는 공백으로 구분됩니다.
필드 | 설명 |
---|---|
HTTP Version | HTTP 버전입니다. (ex : HTTP/1.1) |
client:port | 요청 클라이언트의 IP 주소 및 포트입니다. |
request_processing_time | 로드밸런서가 요청을 수신한 시간부터 타겟으로 요청을 전송한 시간까지의 총 경과 시간(ms)입니다. |
target_connection_time | 로드밸런서가 타겟으로 TCP 연결 설정하는데 소요된 시간(ms)입니다. |
target_response_time | 타겟에서 로드밸런서로 응답을 보내는데 걸린 시간(ms)입니다. |
response_processing_time | 로드밸런서가 타겟으로 TCP 연결 설정하는데 소요된 시간(ms)입니다. |
target_status_code | 타겟의 응답 상태 코드입니다. |
received_bytes | 클라이언트로부터 수신된 요청의 크기(Byte)입니다. |
sent_bytes | 클라이언트에게 회신한 응답의 크기(Byte)입니다 |
HTTP method | HTTP 메소드 입니다. (ex : GET, POST 등) |
"request" | 큰 따옴표로 묶여있고, host/uri + port 형식을 사용해 기록됩니다. |
"user_agent" | 큰 따옴표로 묶여있고, 요청을 보낸 클라이언트를 식별하는 사용자 에이전트 문자열입니다. 이 문자열은 하나 이상의 제품 식별자, 제품[/버전]으로 이루어져 있습니다. 문자열은 8KB까지 로깅합니다. |
ssl_cipher | [HTTPS] SSL 암호화 알고리즘입니다. HTTPS 리스너가 아닌 경우 -로 설정됩니다. (ex: AES-SHA) |
ssl_version | [HTTPS] SSL 버전입니다. HTTPS 리스너가 아닌 경우 -로 설정됩니다. (ex: TLSv1) |
request_creation_time | 로드 밸런서가 클라이언트에서 요청을 받은 시간입니다. |
서브넷 변경 (빠른 시일내에 제공하도록 하겠습니다)
리스너 설정 변경하기
1. 리스너 설정을 변경할 로드밸런서를 선택하고 [리스너 설정 변경] 을 클릭하고 리스너 설정 페이지로 이동합니다.
2. 로드밸런서 생성시에 설정한 리스너가 Default로 조회됩니다.
리스너 추가하기
1. [리스너 생성] 을 클릭하고 리스너 추가 페이지로 이동합니다.
① 리스너 동작할 프로토콜을 선택합니다. (HTTP/HTTPS)
② HTTP/2 활성화 여부를 체크합니다. (옵션)
- HTTP/2는 국제 인터넷 표준화 기구 (IETF)에서 개발하는 HTTP 프로토콜의 두 번째 버전입니다. HTTP 헤더 데이터 압축, 서버 푸시 기술, TCP 연결 하나로 여러 요청을 다중화 처리하는등의 방법을 적용하여 웹 페이지 로드 지연시간을 감소시킵니다.
③ 리스너가 바인드할 포트를 설정합니다.
④ Certificate Manager에 등록된 인증서 중에서 서비스에 알맞은 인증서를 선택합니다.
TLS Protocol 버전을 선택합니다.
- TLS v1.0, TLS v1.1, TLS v1.2 중 선택할 수 있으며 각 버전별로 네이버 클라우드 플랫폼에서 제공하는 Ciphers suite이 설정됩니다.
⑤ 해당 리스너의 트래픽이 전달될 Target Group을 선택합니다.
리스너 변경하기
1. 변경할 리스너를 선택하고 [리스너 변경] 을 클릭합니다.
① 리스너 동작할 프로토콜을 선택합니다. (HTTP/HTTPS)
② HTTP/2 활성화 여부를 체크합니다. (옵션)
- HTTP/2는 국제 인터넷 표준화 기구 (IETF)에서 개발하는 HTTP 프로토콜의 두 번째 버전입니다. HTTP 헤더 데이터 압축, 서버 푸시 기술, TCP 연결 하나로 여러 요청을 다중화 처리하는등의 방법을 적용하여 웹 페이지 로드 지연시간을 감소시킵니다.
③ 리스너가 바인드할 포트를 설정합니다.
④ Certificate Manager에 등록된 인증서 중에서 서비스에 알맞은 인증서를 선택합니다.
TLS Protocol 버전을 선택합니다.
- TLS v1.0, TLS v1.1, TLS v1.2 중 선택할 수 있으며 각 버전별로 네이버 클라우드 플랫폼에서 제공하는 Ciphers suite이 설정됩니다.
리스너 삭제하기
- 삭제할 리스너를 선택하고 [리스너 삭제] 를 클릭합니다.
- 최소 1개의 리스너가 남아있어야 합니다.
규칙 조회 및 변경
1. 규칙을 조회 및 변경하고자 하는 리스너를 선택하고 [규칙 조회 및 변경] 을 클릭하고 규칙 변경 페이지로 이동합니다. 규칙은 아래와 같은 특성을 지닙니다.
- 각 규칙은 "조건절"과 "액션"으로 이루어집니다.
- Default 규칙은 삭제될 수 없습니다.
- 각 규칙은 우선순위에 의해 순차대로 적용되며, 미적용된 트래픽은 Default 규칙에 의해 동작합니다.
규칙 추가
화면 상단에 위치한 [규칙 추가] 버튼을 클릭해 주십시오.
우선순위를 설정해 주십시오.
- 1-9999 까지의 숫자를 입력할 수 있습니다.
조건을 설정해 주십시오.
- 조건 유형은 Host Header, HTTP Header와 Path Pattern을 선택할 수 있습니다.
- Host Header, HTTP Header와 Path Pattern 값의 총 합은 50개를 넘을 수 없습니다.
- Host Header
- 값에는 최대 68자까지 입력이 가능합니다.
- HTTP Header
- Header 이름과 값에서 대/소문자는 구분하지 않습니다.
- Header 이름은 40자, header 값은 128자까지 입력이 가능합니다.
- Header 이름은 영문자, 숫자와 일부 특수문자(-, _) 입력이 가능합니다.
- Header 이름에 예약어("host") 입력은 제한됩니다.
- Header 값은 ASCII 제어 문자(0x00에서 0x1f 및 0x7f)를 제외한 모든 문자가 가능합니다. (단 ?, *는 와일드카드로 적용)
- Header 이름 당 최대 5개의 값을 입력할 수 있습니다.
- Path Pattern
- Path Pattern은 128자까지 입력이 가능합니다.
- Host Header
조건을 입력한 후 [추가] 버튼을 클릭해 주십시오.
- 각 조건절은 And로 동작합니다.
- Host Header 조건절과 Path Pattern 조건절은 각각 여러 개의 조건이 Or로 동작합니다.
- <예시> Host Header 조건절에 aaa.com과 bbb.com을 추가하고 Path Pattern 조건절에 /ccc, /ddd를 추가한 경우에 해당 규칙이 동작하는 최종 조건은 (aaa.com or bbb.com) and (/ccc or /ddd)가 됩니다.
액션을 설정해 주십시오.
- 액션 유형은 Target Group과 Redirection을 선택할 수 있으며, 한 가지만 선택할 수 있습니다.
- 액션이 Target Group인 경우, 다수의 Target Group을 지정하여 가중치를 부여할 수 있습니다.
- <예시> TestTG01의 가중치를 10, TestTG02의 가중치를 90으로 부여한 경우, 트래픽은 각각 1:9의 비율로 분산됩니다.
- 액션이 Redirection인 경우, 조건에 부합하는 모든 Request를 다른 URL로 전달합니다.
- Status Code(ResponseCode)는 301과 302 모두 지원합니다.
- Protocol 드롭박스의 #{protocol}을 이용하여 요청 protocol 그대로 Redirection 할 수 있습니다.
규칙 변경
변경할 규칙을 선택하고 [규칙 변경] 을 클릭합니다.
규칙 변경 방법은 규칙 추가와 동일하오니 규칙 추가 내용을 참고 바랍니다.
규칙 제거
- 삭제할 규칙을 선택하고 [규칙 제거] 를 클릭합니다.
- 규칙을 삭제해도 액션에 설정된 Target Group은 삭제되지 않습니다.
Load Balancer 삭제하기
- 삭제할 Load Balancer를 선택한 후 화면 상단의 [Load Balancer 삭제] 를 클릭합니다.
- Load Balancer 삭제 팝업창이 나타나면 하단의 [삭제] 버튼을 클릭해 Load Balancer를 삭제합니다.
- 선택한 Load Balancer가 삭제됩니다.
- 사용하던 Public IP를 같이 반납할 수 있습니다. 반납하지 않은 IP는 재할당할 수 있습니다.
Load Balancer를 삭제하면 설정되어 있던 Route Table에 규칙이 같이 삭제되며, 다른 서비스에서 이용중인 경우 기능이 정상적으로 동작하지 않을 수 있습니다.