GCP - Load Balance (이미지, 템플릿, 인스턴스 그룹 생성)
목차
1. 이미지 생성
2. 인스턴스 템플릿 생성
3. 인스턴스 그룹
4. 부하 분산 생성 (Load Balancer)
4.1 프론트 설정
4.2 백엔드 설정
1. 이미지 생성
- 이미지 생성 시 기존 인스턴스를 가지고 생성하기 때문에 이미지 생성 이전에 인스턴스가 생성되어 있어야 한다.
- 위의 설정을 모두 마치게 되면 기존의 인스턴스에 대한 이미지 생성이 완료된다.
2. 인스턴스 템플릿 생성
- 인스턴스 템플릿 즉, 기존의 이미지를 가지고 생성할 수도 있고 새롭게 조건을 지정하여 만들 수 있다.
- 원하는 조건의 설정으로 템플릿을 미리 생성하면 같은 인스턴스를 빠르고 쉽게 생성 할 수 있다.
- 부팅 디스크의 경우 처음 인스턴스가 생성될 때 OS 설치 및 시작에 필요한 데이터들이 들어있는 곳이다.
- 기존의 공개 이미지를 사용해도 되지만 템플릿 생성을 위해 생성한 이미지가 있기 때문에 직접 생성한 이미지를 통해 템플릿을 생성할 것이다.
- 템플릿을 통해 인스턴스가 생성될 경우 설치한 패키지들이 정지되었다 인스턴스가 실행되기 때문에 사전 script 작성시 설치한 패키지들이 정지되지 않도록 enable 설정을 해주어야 한다.
- 하지만 SELINUX같은 경우 script에 작성하여도 enable되기 때문에 자동화 부분에 위와 같이 sudo setenforce 0을 작성해준다.
3. 인스턴스 그룹
- Load Balancer 생성시 부하 분산을 시킬 대상 그룹이 필요하기 때문에 사전에 인스턴스를 대상으로 대상 그룹을 미리 지정할 수 잇다
- 위의 설정을 마무리하게 되면 위와 같이 인스턴스 그룹이 생성되는 것을 확인 할 수 있다.
4. 부하 분산 생성 (Load Balancer)
- 부하 분산을 WEB Server가 설치된 인스턴스에 분산 시킬 것이기 때문에 HTTP(S) 부하 분산을 선택해준다.
- 외부에 해당 부하 분산을 노출 시킬 것이기 때문에 위와 같이 설정해준다.
- 해당 부하 분산이 사용될 위치와 네트워크를 선택해준다.
4.1 프론트 설정
- 부하 분산 시키기 이전에 요청을 받을 프런트 엔드 부분의 IP 및 포트를 지정해준다.
- 해당 프로토콜과 포트로 외부의 요청을 받을 것이다.
4.2 백엔드 설정
- 이전에 생성한 부하 분산에 지정하기 위해 만든 인스턴스 그룹을 선택한다.
- 해당 인스턴스 그룹에 요청을 보낼 포트를 선택한다.
- 분산 모드는 부하 분산의 사용률과 속도를 지정할 수 있다.
- 사용률의 경우 최대 백엔드 사용률을 %에 따라 인스턴스 생성 제한을 지정할 수 있다.
- 마지막으로 용량도 선택 할 수 있다.
- 백엔드에 위치한 인스턴스들이 제대로 동작하는지 확인하기 위한 상태 확인을 설정한다.
- 해당 백엔드에 있는 인스턴스에 지정된 프로토콜 포트 경로를 따라 해당 인스턴스가 정상적으로 작동하는지 확인한다.
- 마지막으로 로그를 선택하고 저장하게 상태 확인이 생성된다.
- 상태 확인까지 생성한 뒤 백엔드 구성을 완료한다.
- 위 설정을 전부 마치면 위와 같이 부하 분산이 생성된 것을 확인 할 수 있다.
- 부하 분산의 세부 정보를 확인해보면 외부에서 부하 분산으로 접속 가능한 IP 주소가 생성된 것을 확인 할 수 있다.
- 위와 같이 Web Page가 나타나는 것을 확인 할 수 있고 같은 페이지가 부하 분산 되기 때문에 페이지 구성이 같다면 육안으로 확인이 힘들지만 테스트를 위해 서로 다른 페이지 구성 2개를 새로고침 해보면 부하 분산에 의해 Web Page가 번갈아 가면서 나타나는 것을 확인 할 수 있다.