SSR 배포 (3) :: DNS

이주희·2022년 5월 5일
0

Deployment

목록 보기
7/10

👆🏻 지금은 shell에서 서버가 실행되어 있고(yarn start) IP주소와 포트번호를 입력해야 접속할 수 있다.

도메인 주소로 접속할 수 있게 만들어보자!
(shell 꺼져도 접속 되게 하는 건 Docker로 설정 ㄱㄱ)

https로 접속하려면 LB를 연결해야 한다.

LB를 이용해서 경로마다 다르게 분기 처리를 하고
SSR 페이지도 도메인을 통해서 접속할 수 있게(지금 할 것)
브라우저 -> 도메인 -> LB -> VM 구조로 만들어보자

로드 밸런서의 역할

로드 밸런서의 역할: 부하 분산

  • VM이 여러개 있을 때 부하를 분산해준다. 그러기 위해서는 당연히 VM이 여러개 있는 환경을 구성해줘야 하고, 그 환경을 인스턴스 그룹이라고 한다.

인스턴스에 부하를 분산시키는 알고리즘의 종류

  • round-robin: 돌아가면서 접속시킨다.
  • least-connection: 가장 접속량이 적은 컴퓨터 접속시킨다.

모든 VM에 메모리가 꽉 차면?! : auto-scaling

  • 자동으로 같은 VM을 하나 더 만들어준다.

1. 인스턴스 그룹 만들기

(1) Compute Engine > 인스턴스 그룹

(2) 인스턴스 그룹 만들기

(3) 인스턴스 그룹(IG) 만들기

  • 지금은 New unmanaged instance group을 선택하자!

관리형으로 만드려면 확장에 사용할 인스턴스 템플릿을 만들어야 한다.
(템플릿을 만들어놓고 필요할 때마다 찍어내는 것이다.)

  • stateless: 상태를 가지고 있지 않아서 확장 가능한 상태(stateful 상태에서 state를 DB로 옮기면 stateless 상태가 된다.)
  • stateful : 상태를 가지고 있어 확장이 불가능한 상태
  • scale out: 여러 대로 만들어서 확장하는 것
  • scale up: 한 대의 사양을 높이는 것
  • scale in: 지워서 줄이는 것
  • 이름: 도메인-instance-group(맘대룽)
  • 리전: 서울
  • Network: default
  • VM 인스턴스: 앞에서 만든 VM (이 그룹에 넣을 VM 선택)

2. LB와 IG를 연결하기

(1) 네트워크 서비스 > 부하 분산

(2) 프로토콜이 https인 부하분산기 클릭

(3) 수정

(4) 백엔드 구성 - 백엔드 버킷 삭제

버킷 스토리지로 가던 것을 삭제!
(뒤에서 분기 처리 하면서 버킷 스토리지로 보내는 것들 설정할거임)

(5) 백엔드 구성 - 백엔드 서비스 만들기

백엔드 서비스로 트래픽을 이동시키자

(6) 백엔드 서비스 생성

  • 이름: 도메인-backendservice

  • 프로토콜-HTTP & 포트 번호-3000으로 설정하면, https://도메인이 LB를 거쳐서 http://IP주소:3000로 변경된다.

프로토콜

프론트에서 https로 접속하더라도 백엔드로는 http로 보내줄 수 있고, 그 반대도 가능하다.
당연 그대로도 가능..

💡 근데 왜 바꿔?

  • 백엔드도 https로 보내려면 LB에서 인증서를 설치한 것처럼 yarn start에도 인증서를 설치해야 해서 구성이 복잡해진다.
  • lb에서 이미 https로 받았기 때문에 뒤로는 http로 가도 크게 상관이 없다.
  • https가 들어가면, 보안 작업이 들어가기 때문에 성능이 쪼끔 느리다. 진짜 쪼끔

(7) 백엔드 서비스 생성 - 상태 확인 생성

로드밸런서 옆에는 health-checker가 있다.
health-checker가 VM에 먼저 요청을 보내보고, 응답이 오지 않으면 LB에 알린다.
그러면 LB는 요청이 오지 않는 VM은 제외하고 나머지 VM에 요청을 전하게 된다.

  • 이름 : 도메인-health-checker(맘대룽)
  • 포트: 3000
  • 저장 > 만들기
  • HTTP는 endpoint(요청 경로)가 있어야 한다.
  • TCP는 연결이 되어있는지만 확인한다.(endpoint 노필요)

백엔드 서비스가 생성됐다.

(8) 업데이트

적용되는데 시간이 걸린다. 기달기달

(9) 확인 방법

설정한 부하분산기 상세 화면에 들어왔을 때 정상에 초록색 체크 아이콘이 들어와야 연결이 된 것이다.


초록불이 뜨면 테스트 ㄱ👇🏻

  • shell에 yarn start가 되어있어야 한다.
    (yarn start를 종료하면 위 화면에 정상이 아니라 주황불로 바뀜!)

  • 쿠키 삭제
    (접속해둔 게 브라우저에 저장되어 있을 수 있기 때문에
    크롬 - 설정 > 개인정보 및 보안 > 인터넷 사용 기록 삭제)

  • https://도메인주소로 접속 ㄱ

  • yarn start를 끈 상태(ctrl c)에서도 접속이 된다면 Storage 연결이 안 끊긴 것이다. 더 기다렸다가 테스트~~


여기까지 하면 Storage로 가는 길은 전부 없어진 것이다. 이제 SSR이 아닌 페이지는 Storage로 가도록 변경해보장

profile
🍓e-juhee.tistory.com 👈🏻 이사중

0개의 댓글