10.5 Load Balancer 만들기
Load Balancer 생성
-
OCI 콘솔에서 내비게이션 메뉴를 엽니다. Networking > Load Balancers 항목으로 이동합니다.
-
Create Load Balancer 클릭합니다.
-
Load Balancer 를 타입으로 선정합니다.
- Load Balancer Type: L7 로드밸런서로 HTTP Listener로 분배할때 사용합니다.
- Network Load Balancer Type: L4 로드밸런서로 일반 IP, Port로 분배할때 사용합니다.
-
기본 생성정보 입력
-
Name: Load Balancer 이름 입력, 예) ExampleLB
-
Choose visibility type: 여기서는 Public 선택
- Public: Public IP를 부여할지 여부 선택
- Private: Private IP 만 가집니다. 내부용 로드밸런서인 경우 선택 용 로드밸런인지 설정합니다.
-
Assign a public IP address: Public IP로 외부 서비스를 하는 고정된 Public IP를 사용할지 여부를 지정합니다. 여기서는 테스트이므로 Ephemeral IP Address 선택
- Ephemeral IP Address: Load Balancer 생성시 부여된 Public IP를 사용하는 경우
- Reserved IP Address: 사용자 예약한 Public IP를 사용하는 경우
-
Bandwidth: 여기서는 일단 기본값을 사용
-
Choose Networking: LB 테스트용으로 앞서 만든 VCN과 Subnet 선택
- VCN: load-balancer-vcn
- Subnet: public-lb-subnet
-
-
Backend 설정
-
Load Balancing Policy: 분배규칙을 선택합니다. 여기서는 이후 테스트를 위해 라운드 로빈을 선택합니다.
- Weighted Round Robin: 가중치 기반 라운드 로빈 분배 방식
- IP Hash: 클라이언트 IP 주소의 해쉬값을 이용해 분배
- Least Connections: Backend의 연결 갯수를 기준으로 적은 쪽으로 분배
-
Add Backend
로드밸런서가 부하분산할 대상을 추가하는 부분입니다. 앞서 미리 만들어 둔 WebServer 2개를 추가합니다.
-
Health Check Policy: 현재 WebServer의 기본 포트(80)으로 헬스 체크할 것이므로 기본값을 그대로 사용합니다.
-
Use SSL: 지금은 Apache HTTP Server를 HTTP로만 서비스 중이므로 여기서는 체크안함
-
Advanced Option
-
Security List: 클라이언트->LB간, LB->Backend간 각각 서비스 포트를 개방하기 위한 Security List 업데이트 필요합니다. 기본적으로 자동으로 설정되며, 아래 고급옵션에서 자동 여부 및 대상 Security List를 변경할 수 있습니다. 추가로 만든 LB Security List를 선택합니다.
-
Session Persistence: 세션 쿠키값에 따른 Persistent를 사용할 경우 방법 설정, 이후 원활한 분배 테스트 확인을 위해서 여기서는 생략
-
-
-
Configure Listener
- Listener Name: 이름 입력, 예) ExampleLB-Listener
- Specify the type of traffic your listener handles: HTTP 선택
- HTTP, HTTPS, HTTP/2가 선택옵션이나, HTTPS, HTTP/2 선택이 SSL 인증서를 추가설정이 필요합니다. 여기서는 테스트용으로 HTTP를 사용합니다.
-
Manage Logging
- 에러 로그와 액세스 로그를 OCI Log 서비스를 사용하도록 설정할 수 있습니다. 일단 여기서는 사용하지 않습니다.
-
Submit을 클릭하여 Load Balancer를 생성합니다.
-
Load Balancer가 생성되고 조금 지나면 Backend 서버의 헬스체크가 성공하고 Overall Health가 OK 상태가 되게 됩니다.
Load Balancer 생성 결과 확인
-
생성된 Load Balancer 이름을 클릭하여 상세 화면으로 이동합니다.
-
생성시 입력한 정보를 기준으로 Backend Sets과 Listeners가 만들어져 있습니다.
-
분배 규칙 및 Backend 서버 추가 등 업데이트를 지원합니다.
- 이름 길이는 19자리가 최대인듯 합니다.
-
Listener 또한 생성된 것을 볼 수 있으며, 해당 설정은 업데이트를 지원합니다.
Security List 자동 업데이트 결과 확인
-
Load Balancer의 Security List인 lb-security-list의 상세 화면으로 이동합니다.
-
Egress Rule이 1개 추가 되었습니다. Add Backend Set으로 추가된 WebServer 2대와 서비스 포트 80에 해당되는, 즉 해당 서브넷(10.0.0.0/24)의 80 포트로 개방된 것을 알 수 있습니다.
-
Backend인 WebServer 2대가 포함된 서브넷의 Security List인 Default Security List에 public-lb-subnet(10.0.2.0/24)에서 WebServer 포트인 80으로 들어 올 수 있게 마지막에 규칙이 하나 추가되었습니다.
-
자동으로 추가된 위 2개의 규칙으로 Load Balancer -> WebServer간 80 포트 통신은 개방되었습니다. 하지만, 실제 클라이언트가 Load Balancer로 올 수 있게 lb-securit-list의 Ingress에는 80 포트가 개방되지 않았습니다.
-
다시 lb-securit-list의 상세 화면으로 돌아가 클라이언트 -> Load Balancer간의 개방을 위한 규칙을 설정합니다. Ingress Rule을 아래와 같이 추가 합니다.
이 글은 개인으로서, 개인의 시간을 할애하여 작성된 글입니다. 글의 내용에 오류가 있을 수 있으며, 글 속의 의견은 개인적인 의견입니다.