반업주부의 일상 배움사

[GCP] 오토스케일링과 로드밸런싱 :: Auto Scaling & Load Balancing 본문

IT 인터넷/GCP

[GCP] 오토스케일링과 로드밸런싱 :: Auto Scaling & Load Balancing

Banjubu 2022. 8. 17. 15:54
반응형

 

1. Compute Engine 생성하고.

2. 세팅한 다음.

3. 이미지 만들고.

4. 로드밸런서(부하분산기) 생성하면 오토스케일링까지 적용되요.

 

Compute Engine에 간단한 노드 서버(Node.js)를 실행했어요.

npm install 등은 생략할게요.

const http = require('http');
const ip = require("ip");

http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end(ip.address());
}).listen(3000);

 

브라우저에서 접속하면 아래와 같이 떠요.

10.178.0.2

 

Compute Engine > 디스크 > 이미지 만들기.

 

이미지 생성.

 

인스턴스 그룹 > 만들기.

 

강제 오토스케일링 되도록 하기 위해 조건을 CPU 1%이상으로 했어요.

 

1대가 실행된 후 CPU가 1%를 넘자 자동으로 5대가 생성됐네요.

 

이제 로드밸런싱(부하분산)을 해보죠.

부하 분산 만들기 클릭 > HTTP(S) 부하 분산 > 구성 시작

 

기본 세팅 그대로 계속.

 

프런트엔드 구성.

도메인이 있으니 HTTPS로 구성해볼게요.

도메인이 없거나 프로비저닝 단계(최대 24시간 소요)라면 HTTP로 하면 되요.

주의! 아래 이미지에는 빠졌는데 IP 주소는 고정 IP를 새로 발급받아야 해요.

 

백엔드 구성.

HTTP로 하면, 도메인은 HTTPS로 접근하고 내부에서는 HTTP로 전달되요.

AWS의 로드밸런스도 동일하게 구성하면 되요.

 

라우팅 규칙과 검토 및 완료는 그대로 두고 만들기 클릭.

 

Cloud DNS > 도메인 선택 > A레코드로 로드밸런서의 IP 설정.

 

도메인으로 접근할 때마다 내부 IP가 다르게 나오면 성공.

(= 실행된 5대의 인스턴스로 부하가 분산되고 있어요)

 

인스턴스 그룹에서 1%로 설정했던 CPU 조건을 60% 정도로 바꾸면 4대의 인스턴스가 자동으로 삭제되요.

만약 서버 코드를 수정했다면 다시 이미지를 생성하고 인스턴스 그룹을 선택한 다음 UPDATE VMS 를 하면 되요.

(솔직히 좀 불편하긴 해요. ㅠ)

 

 

 

 

 

영어, 중국어 공부중이신가요?

홈스쿨 교재. 한 권으로 가족 모두 할 수 있어요!

 

한GLO 미네르바에듀 : 네이버쇼핑 스마트스토어

한글로 영어가 된다?! 한글로[한GLO]는 영어 중국어 일어 러시아어 스페인어가 됩니다!!

smartstore.naver.com

 

반응형
LIST
Comments