본문 바로가기

Cloud/Oracle Cloud Infrastructure

22. OCI를 이용해서 데이터베이스 어플리케이션 아키텍쳐 구성하기 - 로드밸런서 (리스너)

2019/01/16 - [Cloud/Oracle Cloud Infrastructure] - 21. OCI를 이용해서 데이터베이스 어플리케이션 아키텍쳐 구성하기 - 로드밸런서 (백엔드서버)

4단계. 로드밸런서 구성

로드밸런서 리스너 생성

로드밸런서의 퍼블릭 IP 주소를 찾아 들어온 트래픽은 로드밸런서 리스너(Listener)라는 로드밸런서 논리 객체의 확인을 거쳐서 로드밸런서에 전달되는 구조를 가진다. 리스너 레벨에서 TCP, HTTP/1.0, HTTP/1.1 등의 네트웍 프로토콜과 포트, 그리고 SSL 설정 여부를 설정할 있다.

리스너를 만들어 보자. 로드밸런서 “loadBalancer” 상세 화면 왼쪽 [Resources] > [Listeners] 먼저 이동한 다음, “Create Listener” 클릭한다.


리스너 생성 창에서 리스너 이름, 프로토콜, 포트, 연결할 백엔드 정보 등을 입력/선택하고 “Create” 클릭한다.


       Name: 로드밸런서 리스너의 이름을 입력한다. 리스너 이름은 유니크해야 하며, 한번 생성하면 변경할 없다. 여기서는 “lbListener”라고 입력했다.

       Hostname: 리스너에 가상 호스트 이름을 부여할 있다. DNS 연결해서 여러개 가상 호스트 이름이 동일한 단일 로드밸런서 퍼블릭 IP 바라보도록 설정하는데 사용할 있는데, 로드밸런서 상세 화면 왼쪽 [Resources] > [Hostnames]에서 설정한다. 이번 테스트에서는 설정하지 않았다.

       Protocol: “HTTP”, “TCP” 사용할 프로토콜을 선택한다. “HTTP” 선택

       Port: 들어오는 트래픽에 대해 받아 들일 포트를 설정한다. “80” 입력한다.

       Use SSL: 리스너에 SSL 인증을 추가할 사용. 여기서는 체크하지 않았다. 체크할 경우 인증서 정보 등이 필요하다.

       Backend Set: 리스너가 트래픽을 라우팅할 백엔드 셋을 선택한다. 앞서 만든 백엔드 “backendSet” 선택한다.

       Idle Timeout in Seconds: 단위로 최대 Idle 타임을 설정할 있다. HTTP 요청/응답 구간 동안 연속된 네트웍 송수신 입출력 사이에 허용된 시간에 대한 설정이다. 여기서는 별도 설정하지 않았다.

       Path Route Set: 리스너 트래픽에 적용할 경로 기반 라우팅 규칙을 추가할 있다. 로드밸런서 상세 화면 왼쪽 [Resources] > [Path Route Sets]에서 설정한다. 이번 테스트에서는 설정하지 않았다.

 

리스너 생성 작업이 제출되고, 잠시 “Succeeded” 상태로 변경되는 것을 확인한다. “Close” 클릭한다.


 

시큐리티 리스트 설정 로드밸런서 테스트

지금까지 로드밸런서 리스너까지 생성을 완료했다. 이제 로드밸런서의 퍼블릭 IP 브라우저에 접속해서 로드밸런서가 정상 작동하는지 확인한다. 로드밸런서의 퍼블릭 IP 로드밸런서 상세 화면에서 확인할 있다.


브라우저를 열어서 퍼블릭 IP 접속해서 웹서버로의 트래픽이 분산되어 번갈아 나오는지 확인한다. 브라우저에는 웹서버 설치 , index.html 입력한 내용이 출력된다. 첫번째 웹서버로 접속된 것을 있다.

참고. 앞서 웹서버#2에서 rsync 동기화 cron 작동하고 있다면, 주석 처리하여 비활성화 시킨 테스트한다.

아래와 같이 브라우저 화면을 Refresh 했을 , 두번째 웹서버로 접속되었다.


작성자: 정영균


OCI를 이용해서 데이터베이스 어플리케이션 아키텍쳐 구성하기 시리즈

1. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – Intro

2. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – VCN

3. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – VCN

4. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – VCN (인터넷게이트웨이)

5. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – VCN (라우트테이블)

6. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – VCN (시큐리티리스트)

7. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – VCN (서브넷)

8. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – Bastion 서버

9. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – Bastion 서버 (시큐리티 리스트)

10. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – Bastion 서버 (인스턴스)

11. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – Bastion 서버 (웹서버 연결)

12. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – Bastion 서버 (NAT 설정)

13. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 웹서버

14. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 웹서버 (rsync)

15. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 웹서버 (NFS 설정)

16. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 웹서버 (NFS 설정파일시스템)

17. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 웹서버 (NFS 설정파일시스템마운트)

18. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 로드밸런서

19. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 로드밸런서 (아파치웹서버)

20. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 로드밸런서 (로드밸런서생성)

21. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 로드밸런서 (백엔드서버)

22. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 로드밸런서 (리스너)

23. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 데이터베이스

24. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 데이터베이스 (DB 시스템)

25. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 데이터베이스 (데이터베이스구성)

26. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 데이터베이스 (DB 시스템연결)

27. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 데이터베이스 (DB 시스템연결)

28. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 데이터베이스 (백업)

29. OCI 이용해서 데이터베이스 어플리케이션 아키텍쳐 구성하기 – 데이터베이스 (DR 구성)