03 / 07 Today I Learned (TIL)

CMK·2023년 3월 7일
0

Today I Learned

목록 보기
31/40

배포란 여태 우릭가 만들었던 홈페이지를 세상에 공개하는것을 의미한다

배포를 이해하기 전에 클라우드 서비스를 알아보자


클라우드 서비스란 간단하게 원격으로 컴퓨터를 대여해서 해당 컴퓨터에 접속할 권한을 주는것
크게 AWS, GCP, AZure가 있다


1단계 배포

우리의 웹파일을 html파일로 변환시켜서 스토리지(무제한 용량을 제공하는 온라인 스토리지 서비스)에 올려두면 해당 html을 다운 받을수 있는 다운로드 주소를 얻을수 있다 그걸 DNS에 내가 구매한 도메인으로 접속한 사람들은 html 다운로드 주소로 접속하게 설정을 한다

이렇게 하면
사용자가 내가 구매한 도메인으로 접속 -> DNS가 html다운로드 주소로 가게 만들어서 html을 다운받음 -> 해당 html을 웹브라우저가 읽어서 화면에 뜸

위와 같은 순서로 이루어 지게 된다

이 방식은 정적 라우팅만 가능하며 보통 회사홈페이지, 소개홈페이지 같은 것들에 사용된다


2단계 배포

그러면 클라우드 서비스의 컴퓨터를 빌려서 클라우드에 서버를 만들자

빌린 컴퓨터에 우리의 프론트엔드서버(yarn dev)를 24시간 켜두는 방법이다
이떄는 yarn dev가 아닌 yarn start를 사용한다

이렇게 하면 서버를 열어둔것이기 때문에
다이나믹 라우팅도 가능하다는 장점이 있다

다이나믹 라우팅을 이용하는 페이지면 이 방식을 가장 많이 사용된다


3단계 배포

여기서 사용자가 많아지만 새로운 클라우드 서비스를 더 빌려야 한다
하지만 우리는 DNS로 해당 주소로 들어오면 이 클라우드 서비스의 주소로 바꿔치기를 해 달라고 했기때문에 한개의 서버로만 사용자가 가게된다
그렇기 때문에 부하분산기(로드밸런서)를 이용하여 다른 서버들로도 트래픽을 나눠서 갈수 있게 한다

로드밸런서는 2가지 방식이 있다
least-connection: 현재 트래픽이 적은 서버로 보냄
round-robin: 하나하나씩 돌아가면서 보냄

오토스케일링 : 서버에 cpu 혹은 메모리같은게 지정한 값만큼 도달하면 새로운 서버를 자동으로 만드는 기능


4단계 배포

3단계가 너무 커져서 비용을 줄이기 위해 한다
다이나믹 라우팅이 필요한 페이지만 3단계방식을 사용하고 그외는 1단계 방식을 이용하게 만드는것

이 분기를 처리해주는게 CDN(CloudFront)이 있다
DNS와 로드밸런서는 사이에서 분기 처리를 함
ex) /board/[동적 라우팅] board 다음에 주소가 뭐가 있냐 없냐로 가능

이렇게 하면 서버에 접속을 줄일수 있음 === 비용절감

상황에 맞춰서 사용하자

보통은 1 혹은 2단계를 사용한다

0개의 댓글