Next.js로 만든 프로젝트를 이제 배포해야 하는데 어떤 방식으로 배포해야 할지 고민하고 있었는데, 무료로 사용할 수 있는 Google Cloud Platform을 사용하기로 결정했기에 정리하기 위해 이 글을 적는다.
처음엔 Compute Engine에 Docker를 설치해서 직접 올리는 방식으로 배포하려고 했는데 찾아보니 Google Cloud Run이라는 함수로 클라우드 서비스를 빌드하고 연결하는 서버리스 환경이 있었다.
그리고 직접 로컬에서 명령줄로 배포가 가능하기 때문에 더더욱 개인 프로젝트를 올리기에 많은 비용이 들지 않을거라 생각했다.
대략적인 수행 단계는 아래와 같다.
Google Cloud Run을 사용하기 전에 로컬에서 명령줄에서 수행하기 위해서는 Google Cloud CLI를 설치해야 한다. 설치 방법은 매우 간단하다.


이렇게 설치가 완료가 된다면 Setup을 맞출 수 있는 화면이 나온다. 나는 바로 가기 아이콘과 쉘을 바로 실행해서 Google Cloud CLI config를 설정하기 위해서 모든 옵션을 선택했다.
(Google Cloud Console 계정과 프로젝트가 이미 존재해야 한다.)
만일 옵션을 선택하지 않고 나중에 쉘을 켜서 config를 설정해야 한다면 아래 명령어를 수행하면 된다.
gcloud init
자세한 방법은 (링크 참조)
예시 화면)

이제 로컬 프로젝트에서 docker를 활용해 google cloud run에 올리기 위해서 gcloud에서 docker를 사용하겠다는 설정을 수행해야 한다.
gcloud auth configure-docker
Google Cloud에서 Artifact Registry 검색 후 저장소 만들기를 클릭한다.

저장소 이름은 본인이 설정하고 싶은대로 생성하고 우리는 Docker 이미지를 올릴 목적이니 형식은 Docker으로 설정하면 된다. 그 외 설정은 본인이 하고 싶은대로 해도 상관 없다.

생성 후 만든 Docker 이미지를 따로 저장하기 위한 Artifact Registry를 생성 후 경로를 알아둬야 한다.

이미지에서 보이는 경로 복사 버튼을 클릭 후 따로 저장해두어야 한다.
이제 로컬에서 이미지가 정상적으로 생성 후 올라가는지 테스트해보자.
docker build -t [이미지명] .
docker run -dp 3000:3000 [이미지명]

로컬 Docker에서 정상적으로 올라간것을 확인했으니 이제 위에서 저장한 경로를 이용해 빌드를 해보자.
해당 방법은 공식 문서에 자세히 나와있으니 참고하면 된다.
docker build . —tag IMAGE_URL
docker push IMAGE_URL

정상적으로 빌드가 되었다면 Artifact Registry에서 이미지를 확인할 수 있다.

이제 마지막으로 올라간 이미지를 실행하면 서버리스 환경 배포가 종료가 된다.
gcloud run deploy SERVICE -—image IMAGE_URL


빌드가 정상적으로 되었다면 Google Cloud Run에서 제공하는 URL에 접속해보면 사이트가 잘 보여진다. Google Cloud Run을 처음 사용해봤지만 공식 문서가 자세하게 잘되어있으므로 처음 사용해보는 사람도 쉽게 사용이 가능할것이다. 특히 프론트개발자에게 너무나 편리한 클라우드 플랫폼…