메뉴 닫기

[GCP] 부하분산 구축 및 라우팅 적용

부하 분산기 알아보기

  • 아키텍처
    • / -> 8000 backend
    • web/* -> 3000 backend

GCP 부하 분산 생성하기

1. 인스턴스 그룹 생성하기

  • 경로 : compute Engine -> 인스턴스 그룹 -> 인스턴스 그룹 -> 인스턴스 그룹 만들기

1) 인스턴스 그룹  설정

2) 인스턴스 그룹 포트 및 포트 이름 정의

  • AutoScaling 활용이 아니라 unmanged 인스턴스 그룹 선택하기

3) 인스턴스 그룹 생성 확인

2. 상태 확인(Health Check) 생성하기

  • 경로 : Compute Engine -> 인스턴스 그룹 -> 상태 점검 -> 상태 확인 만들기

1) 포트 3000 상태 확인 생성

2) 포트 8000 상태 확인 생성

3) 상태 체크 확인

3.  백엔드 생성하기

  • 경로: 네트워크 서비스 → 부하 분산 → 백엔드 구성 -> 백엔드 서비스 만들기 선택
  • GCP 장점은 모든게 Global 이기엔 Global 만들어서 어디든 사용하기

1) 포트 3000용 백엔드 서비스에 관리형 인스턴스 그룹 연결

  • 이름 : backend-3000-svc
  • 이름이 지정된 포트 : 인스턴스 그룹 생성시에 정의한 포트 이름으로 정의

2) 포트 8000용 백엔드 서비스에 관리형 인스턴스 그룹 연결

  • 이름 : backend-8000-svc
  • 이름이 지정된 포트 : 인스턴스 그룹 생성시에 정의한 포트 이름으로 정의

3) 백엔드 생성 완료

4. 부하 분산  설정

  • 네트워크 서비스 -> 부하 분산 -> 부하 분산기 만들기 선택

1) 프런트엔드 구성: 외부 IP, 포트(예: 80), 프로토콜 선택

  • 부하 분산기 이름 정의 : lb
  • 프론트엔드 이름 : front-80-svc
  • IP 주소 : 임시 or 고정적으로 생성하여 적용 가능
  • 포트 : 80  

2) 백엔드 설정

  • 포트 3000, 포트 8000 생성된 거 선택

3) 라우팅 설정

  • / -> 포트 8000
  • /web/* -> 포트 3000

4) 부하 분산기 설정 완료

5. 부하 분산기 테스트

  • 라우팅 처리하기 위해서는 실제 사용하느 context Path 정보가 있어야 됩니다.
  • 3000포트 서비스 접속
  • 8000포트 서비스 접속

  • 3000 nginx proxy 정보
server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
    location /web/ {
        alias   /usr/share/nginx/html/web/;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
}
Posted in GCP, 부하분산

Related Posts