구획 생성 버튼을 클릭하고, 입력창에 다음과 같이 입력합니다.
먼저 Virtual Cloud Network (이하 VCN)을 생성합니다. VCN 생성은 아래 링크를 참고하여 생성합니다.
VCN을 생성할 때 앞서 생성한 구획인 SandBox를 선택하여야 합니다.
두 개의 인스턴스를 생성해야 합니다. 인스턴스 생성은 아래 링크를 참고합니다.
인스턴스를 생성할 때 인스턴스 이름은 다음과 같이 정의합니다.
인스턴스를 생성할 때 지정하는 VCN과 Subnet은 앞서 생성한 my_vcn과 Public Subnet으로 지정합니다.
실제 운영환경이라면 각 인스턴스는 Private Subnet에 구성하는 것이 일반적일 것입니다. 다만 여기서는 인스턴스에 대한 추가 구성이 필요하여 쉽게 SSH 접속을 하기 위해서 Public Subnet에 배치하였습니다.
$ ssh -i <private_key_file> <username>@<public-ip-address>
$ sudo yum update
$ sudo yum -y install httpd
$ sudo firewall-cmd --permanent --add-port=80/tcp
$ sudo firewall-cmd --permanent --add-port=443/tcp
$ sudo firewall-cmd --reload
$ sudo systemctl start httpd
$ sudo su
$ echo 'WebServer1' >/var/www/html/index.html
$ sudo su
$ echo 'WebServer2' >/var/www/html/index.html
Load Balancer를 생성합니다. 메뉴에서 네트워킹(Networking) > 로드 밸런서(Load Balancer)를 차례로 클릭합니다.
로드 밸런서 생성 버튼 선택, 로드 밸런서 탭 선택 후 로드 밸런서 생성 버튼을 클릭합니다.
다음과 같이 입력합니다.
네트워킹에서는 앞서 생성한 VCN과 공용 서브넷(Public Subnet)을 선택합니다.
Load Balancer가 분배할 서버 인스턴스를 선택합니다. 여기서는 Load Balancing 정책과 Backend 서버 추가, Health Check 정책을 지정할 수 있습니다.
건전성 검사 정책은 백엔드 서버의 Health를 체크하여 Load Balancer의 상태를 보여주기 위한 부분입니다. 다음과 같이 설정합니다.
리스너는 Load Balancer에 지정된 IP 주소로 트래픽을 수신하는 논리적인 요소라고 보면 됩니다. 기본적으로 TCP, HTTP 및 HTTPS 트래픽을 처리하려면 각 트래픽 유형당 하나 이상의 리스너를 구성해야 합니다. 여기서는 HTTP 리스너를 하나 추가합니다.
Load Balancer에서 처리하는 모든 트래픽에 대한 로그를 활성화 하여 OCI 로깅 서비스에서 볼 수 있습니다. 기본 오류 로그만 활성화 하여 제출(Submit) 합니다.
생성한 Load Balancer를 선택하고 가상 클라우드 네트워크(VCN)을 선택합니다.
Load Balancer에서 사용하는 Public Subnet을 선택합니다.
기본 보안 목록(Security List)을 선택합니다.
수신 규칙 추가 버튼을 클릭하고 다음과 같이 입력한 후 추가합니다.
웹 브라우저를 열고 Load Balancer의 Public IP를 입력합니다. 다음과 같이 Webserver1로 접속된 것을 확인할 수 있습니다.
웹 페이지를 새로 로드하면, 트래픽이 Webserver2로 이동한 것을 확인합니다.
Load Balancing 정책 지정(Specify a Load Balancing Policy)을 라운드 로빈으로 구성했으므로 페이지를 새로 고치면 두 웹 서버 간에 번갈아 나타납니다.
이 글은 개인적으로 얻은 지식과 경험을 작성한 글로 내용에 오류가 있을 수 있습니다. 또한 글 속의 의견은 개인적인 의견으로 특정 회사를 대변하지 않습니다.
Donghu Kim GETTING-STARTED
oci networking loadbalancer