Cloud/GCP

GCP - Auto Scaling + Load Balance

잇(IT) 2022. 6. 29. 13:46
728x90

 

목차
1. 인스턴스 그룹 생성
2. 부하 분산(Load Balancer) 생성

2.1 프런트 엔드 구성
2.2 백엔드 구성

3. 부하를 통한 Auto Scaling 작동

3.1 Jmeter를 통한 부하



https://insoobaik.tistory.com/272

 

GCP - Load Balance (이미지, 템플릿, 인스턴스 그룹 생성)

 

insoobaik.tistory.com

- 이미지, 템플릿, 인스턴스 그룹 생성에 관한 자세한 내용은 이전 포스팅을 참고한다.



1. 인스턴스 그룹 생성

 

 

 

New managed instance group (stateless) 선택

- Auto Scaling을 위한 인스턴스 그룹을 생성하기 위해 해당 옵션을 선택한다.

 

- 인스턴스 이름 지정 및 해당 Auto Scaling을 통해 자동으로 생성될 인스턴스의 템플릿을 지정한다.

- 해당 Auto Scaling이 작동될 위치를 지정한다.

 

- Auto Scaling을 통해 생성될 인스턴스의 최소, 최대 갯수를 지정한다.

 

- CPU 사용률을 지정하여 해당 CPU 사용률이 지정한 값을 넘으면 Auto Scaling을 통해 자동으로 인스턴스를 생성한다.

 

- 대시 기간 및 자동 복구 설정을 한다.

 

 

- 위의 설정이 끝나게 되면 Auto Scaling을 위한 인스턴스 그룹 생성이 완료된다.

 

- 인스턴스 그룹이 제대로 생성된 것을 확인한다.

- 그룹을 선택하여 health check 부분을 통해 정상적으로 동작하는지 확인한다.


2. 부하 분산(Load Balancer) 생성

 

- 이전 포스팅에서 다뤄봤던 Load Balancer 부분에 Auto Scaling을 위한 인스턴스 그룹을 대상 그룹으로 지정하여 인스턴스에 과부하가 생길 경우 Auto Scaling을 통해 인스턴스가 자동으로 생성되고 Load Balancer로 부하 분산 되도록 설정해 볼 것이다.

 

 

 

- WEB Server가 설치된 인스턴스가 Auto Scaling 그룹에 설정되어 있고 해당 인스턴스들에 부하 분산을 줄 것이기 때문에 HTTP(S) 부하 분산 구성을 시작한다.

 

- 해당 부하 분산의 이름과 해당 부하 분산이 적용될 리전, 네트워크를 지정한다.

 

2.1 프런트 엔드 구성

 

- 부하 분산을 시키기 위해 외부로부터 요청을 받을 프런트 엔드 설정을 작성해준다.

 

2.2 백엔드 구성

 

- 백엔드에서 사용될 프로토콜, 포트를 지정한다.

 

- 백엔드에 사용될 인스턴스 그룹을 지정한다.

- 위에서 Auto Scaling을 위한 대상 그룹을 생성하였고 해당 대상 그룹을 부하 분산 인스턴스 그룹에 지정해준다.

- 해당 그룹을 지정해주고 부하 분산을 생성해주게 되면 Auto Scaling을 통한 인스턴스 자동 생성 및 생성된 인스턴스에 부하 분산이 이루어지게 된다.

 

- 해당 부하 부산의 사용률을 지정해준다. 최대 백엔드 사용률이 80으로 지정되어 있다면 Auto Scaling을 통해 10개까지 인스턴스가 늘어나도록 설정되었다면 사용률 80에 의해 8개까지만 생성되어 부하 분산된다.

 

- 마찬가지로 백엔드에 있는 인스턴스들이 정상적으로 동작하는지 확인하기 위한 상태 확인을 생성 혹은 지정해준다.

 

백엔드 구성 확인

 

라우팅 규칙 확인 및 생성

 

- 위의 설정을 마치게 되면 Auto Scaling이 적용된 부하 분산이 생성된 것을 볼 수 있다.

 

- 해당 부하 분산의 공인 IP로 접속해본다.

 

- 정상적으로 WEB Page가 뜨는 것을 확인 할 수 있다.


3. 부하를 통한 Auto Scaling 작동

 

- 기존에 부하 분산에 적용된 Auto Scaling 대상 그룹에 의해 인스턴스가 자동으로 하나 생성된 것을 확인 할 수 있다.

 

3.1 Jmeter를 통한 부하

 

- 임의로 대상을 지정하여 부하를 줄 수 있는 프로그램인 Jmeter를 통해 위에서 생성한 부하 분산에 부하를 주어 Auto Scaling이 정상적으로 동작하는지 확인할 것이다.

 

- 2000명의 사용자가 1초에 1000번의 요청을 보내도록 설정할 것이다.

 

- 부하를 주기 시작하면 부하가 적용된 대상의 CPU 사용률이 엄청나게 상승하는 것을 볼 수 있다.

 

- 해당 부하 분산에 엄청난 부하가 생기자 Auto Scaling에 의해 부하를 줄이기 위해 자동으로 인스턴스들이 생성되는 것을 확인 할 수 있다.

- 해당 인스턴스는 부하가 계속되면 최대 8개까지 늘어나게 된다.

728x90

'Cloud > GCP' 카테고리의 다른 글

GCP - Load Balance (이미지, 템플릿, 인스턴스 그룹 생성)  (0) 2022.06.29
GCP - Wordpress 설치 및 DB 연결 자동화 Script  (0) 2022.06.28
GCP - CLI  (0) 2022.06.28
GCP - SQL(Database)  (0) 2022.06.28
GCP - Cloud DNS  (0) 2022.06.27