GCP/부하분산(LB)

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

aws-evan 2025. 4. 17. 14:02
반응형

 

 

부하 분산기 알아보기

https://monta010.tistory.com/entry/GCP-%EB%B6%80%ED%95%98%EB%B6%84%EC%82%B0LB-%EA%B5%AC%EC%84%B1%ED%95%98%EA%B8%B0

 

[GCP] 부하분산(LB) 란

GCP 부하 분산(Google Cloud Load Balancing)Google Cloud Platform(GCP)에서 제공하는 부하 분산(Google Cloud Load Balancing, 이하 GCLB)은 글로벌 트래픽을 효율적으로 분산하고, 고가용성과 확장성을 제공하는 핵심 서

monta010.tistory.com

 

 

  • 아키텍처
    • / -> 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;
}

 

반응형