👆🏻 지금은 shell에서 서버가 실행되어 있고(yarn start) IP주소와 포트번호를 입력해야 접속할 수 있다.
도메인 주소로 접속할 수 있게 만들어보자!
(shell 꺼져도 접속 되게 하는 건 Docker로 설정 ㄱㄱ)
https로 접속하려면 LB를 연결해야 한다.
LB를 이용해서 경로마다 다르게 분기 처리를 하고
SSR 페이지도 도메인을 통해서 접속할 수 있게(지금 할 것)
브라우저 -> 도메인 -> LB -> VM
구조로 만들어보자
관리형으로 만드려면 확장에 사용할 인스턴스 템플릿을 만들어야 한다.
(템플릿을 만들어놓고 필요할 때마다 찍어내는 것이다.)
- stateless: 상태를 가지고 있지 않아서 확장 가능한 상태(stateful 상태에서 state를 DB로 옮기면 stateless 상태가 된다.)
- stateful : 상태를 가지고 있어 확장이 불가능한 상태
- scale out: 여러 대로 만들어서 확장하는 것
- scale up: 한 대의 사양을 높이는 것
- scale in: 지워서 줄이는 것
버킷 스토리지로 가던 것을 삭제!
(뒤에서 분기 처리 하면서 버킷 스토리지로 보내는 것들 설정할거임)
백엔드 서비스로 트래픽을 이동시키자
이름: 도메인-backendservice
프로토콜-HTTP & 포트 번호-3000으로 설정하면, https://도메인
이 LB를 거쳐서 http://IP주소:3000
로 변경된다.
프로토콜
프론트에서 https로 접속하더라도 백엔드로는 http로 보내줄 수 있고, 그 반대도 가능하다.
당연 그대로도 가능..💡 근데 왜 바꿔?
- 백엔드도 https로 보내려면 LB에서 인증서를 설치한 것처럼 yarn start에도 인증서를 설치해야 해서 구성이 복잡해진다.
- lb에서 이미 https로 받았기 때문에 뒤로는 http로 가도 크게 상관이 없다.
- https가 들어가면, 보안 작업이 들어가기 때문에 성능이 쪼끔 느리다. 진짜 쪼끔
로드밸런서 옆에는 health-checker가 있다.
health-checker가 VM에 먼저 요청을 보내보고, 응답이 오지 않으면 LB에 알린다.
그러면 LB는 요청이 오지 않는 VM은 제외하고 나머지 VM에 요청을 전하게 된다.
- HTTP는 endpoint(요청 경로)가 있어야 한다.
- TCP는 연결이 되어있는지만 확인한다.(endpoint 노필요)
백엔드 서비스가 생성됐다.
적용되는데 시간이 걸린다. 기달기달
설정한 부하분산기 상세 화면에 들어왔을 때 정상에 초록색 체크 아이콘이 들어와야 연결이 된 것이다.
초록불이 뜨면 테스트 ㄱ👇🏻
shell에 yarn start
가 되어있어야 한다.
(yarn start를 종료하면 위 화면에 정상이 아니라 주황불로 바뀜!)
쿠키 삭제
(접속해둔 게 브라우저에 저장되어 있을 수 있기 때문에
크롬 - 설정 > 개인정보 및 보안 > 인터넷 사용 기록 삭제
)
https://도메인주소
로 접속 ㄱ
yarn start를 끈 상태(ctrl c)에서도 접속이 된다면 Storage 연결이 안 끊긴 것이다. 더 기다렸다가 테스트~~
여기까지 하면 Storage로 가는 길은 전부 없어진 것이다. 이제 SSR이 아닌 페이지는 Storage로 가도록 변경해보장