[Deploy, Cloud] 부하 분산기 설정

JUNHO YEOM·2022년 11월 2일
0

Deploy, Cloud

목록 보기
4/6
post-thumbnail

부하 분산기

서비스가 이용자의 수에 따라 부하가 커지면 정상적으로 작동하지 않을 수 있다.
이때, 서버를 증설하여 처리 량을 늘리는 방식인 Scale-out을 적용 하였을 때,
각 서버로 트래픽을 분산시켜주기 위한 부하 분산이 필요하다.

LoadBalancer(부하분산기)를 통해서 트래픽을 분산 시킬 수 있다.
이 경우 트래픽은 Cloud DNS-> 부하분산기를 거쳐서 서버에 도달한다.

그리고, GCP의 부하 분산기는 http의 80번 포트, https의 443번 포트로 들어온 트래픽을
서버를 이용할 수 있는 포트에 연결해주는 역할도 해주기 때문에
DNS 서비스오 함께 이용하여 Domain Name으로만으로도 Service에 접속할 수 있게 해준다.

스케일 업은 기존의 장비의 성능을 업그레이드 해서 처리 능력을 향상 시키는 것이고,
스케일 아웃은 개수를 늘려서 처리 능력을 향상시킨다.


인스턴스 그룹 만들기

먼저 인스턴스 그룹을 만들어 준다. 인스턴스 그룹은 부하 분산기의 백엔드 서비스에서 사용된다.

사용할 인스턴스 그룹 종류 설정

New Unmanaged instance group을 만들어 준다.


인스턴스 그룹 설정하기

이름과 사용될 위치를 선택해 준다.
위치는 VM 인스턴스가 위치한 리전과 영역을 설정해준다.

VM 인스턴스가 있는 위치를 선택해주면 다음과 같이 인스턴스 그룹에 VM 인스턴스를 포함시킬 수 있다.
이후 만들기를 눌러준다.

인스턴스 그룹 완료

정상적으로 인스턴스 그룹이 생성된 모습은 다음과 같다.

부하 분산기 설정하기

네트워크 서비스 항목의 부하 분산 항목에 들어가서 부하분산기를 만들어 준다.

부하 분산기는 HTTP(S) 부하분산기를 사용한다.

사용되는 설정은 인터넷에서 VM 또는 서버리스 서비스로
전역 HTTP(S) 부하 분산기를 사용해 준다.

설정 사항

부하분산기의 이름을 설정하고,
프런트엔드 구성, 백엔드 구성을 설정한다. 라우팅 규칙은 기본으로 설정되는 값을 사용할 것이다.

순서는 상관 없지만, 편의를 위해 프론트엔드 구성 -> 백엔드 구성 순서로 진행한다


프론트엔드 서비스 생성하기

설정해줄 항목은 다음과 같다.

  • 이름
  • 프로토콜(HTTPS)
  • IP address
  • 인증서(HTTPS의 경우 필수)
  • 리디렉션 설정

고정 IP 사용하기

고정 IP 주소를 예약해 준다.

IPv4 주소는 많은 IP사용량으로 현재 고갈되고 있기 때문에 기본적으로는 임시 IP가 배정되어 사용할 때만 IP를 부여하고, 사용하지 않을 경우 IP를 회수한다.
IP가 자주 바뀌면 안정적인 서버로의 이동경로를 구성하는데 제한되기 때문에, 고정 IP를 사용하여 주었다.


인증서 만들기

새 인증서를 만들기를 눌러서 인증서를 만들어 준다.

인증서 이름을 설정해주고, 구글에서 지원하는 Google 관리 인증서 만들기 서비스를 이용해 준다. 도메인은 프로젝트에 사용할 도메인을 미리 구입하여 네임서버를 Google로 바꿔 준후 사용해 주었다.

리디렉션 설정

프론트엔드 구성의 설정이 완료되었다.

HTTP는 암호화 되어 전송되지 않기 때문에,
SSL로 암호화 되는 HTTPS를 이용하는 것이 보안을 더 강화할 수 있다.
리다이렉션 설정은 HTTP포트(80번) 포트로 도달한 요청이 있으면
보안이 더 강한 HTTPS포트(443번)로 이동시켜 준다.


백엔드 서비스 생성하기

백엔드 서비스 이름을 설정해준다.

미리 생성해둔 인스턴스 그룹을 적용해 주고, 서버에서 오픈되어있는 3000번 포트를 설정해준다.


상태확인(Health-checker)

프로젝트의 규모가 작아서 Cloud CDN설정은 해제하였다.

상태 확인을 생성해주는것은 백엔드 서비스를 만들기 위한 필수사항이다. 생성해 준다.

상태 확인의 이름과 서버와 연결될 때 사용되는 포트를 적어주고 만들어 준다.

부하분산기 설정 완료

모든 설정이 완료되었다면, 만들기를 눌러서 마무리해준다.

정상적으로 모두 설정이 되었다면, HTTPS, HTTP를 처리하는 부하분산기가 하나씩 생성된다.

0개의 댓글