요약
서버를 배포하기 위해 구글 클라우드 플랫폼을 사용하기로 결정했다.
도커 이미지를 쉽게 띄울 수 있고 마침 aws 프리티어가 끝나서 선택하게 되었는데 막상 GCP로 연결하고보니 이미지만 띄울 수 있었고 도커 컴포즈는 따로 띄울 수 없는 것 같았다.
그래서 SSH를 활용하여 배포에 필요한 파일들을 옮기고 실행시켜보고자 도커까지 설치하였다.
GCP란
aws, azure같이 구글에서 제공하는 클라우드 서비스이다.
이전에 aws를 사용하다가 뭣도 모르고 설정하는 바람에 비용이 조금 청구됐는데 그 이후로 접속을 잘 안하기도 했고 프리티어 기간이 끝나 GCP를 선택하게 되었다.
배포
이제 개발한 서버를 배포하기 위한 호스팅이 필요했는데 도커 이미지를 전달해주면 서버리스로 서비스해준다고도 해서 계속 찾아봤더니 이미지만 띄울 수 있고 컴포즈로 띄우기 위해선 따로 가상머신을 이용해야한다고 한다.
설정값은 기본값을 활용하고 OS는 우분투를 활용했다.
개념은 aws ec2와 똑같다고 볼 수 있으니 크게 어렵진 않았다.
이후 크롬에서 SSH를 통한 접근이 가능해 해당 인스턴스에 도커를 설치해줬다
파일 올리기
이후 프로젝트 소스코드와 도커 파일들을 올려줘야 했는데 파일 업로드만으로는 전체 파일을 한번에 올릴 수 없었고 찾아본 결과 Google cloud sdk 명령어인 gcloud로 로컬에서 가상머신에 원격으로 파일을 전송해줄 수 있다고 해서 이후 설치를 진행했다.
원격 접속
그런데 당연히 보안문제로 접근이 될리가 없었고 이후 접근할 수 있는 방법을 확인해보았다.
블로그와 공식문서를 참고했고 RSA로 키를 발급받아 저장해두면 로컬에서도 접근할 수 있도록 허가해줄 수 있다는 것을 알았다.
이전에 개발에 경험이 많이 없었을 때 Window에서 Putty를 써서 접근해본다고 GUI 이것저것 눌러보느라 꽤 고생을 했었는데 맥, 리눅스 환경에서는 CLI만으로 쉽게 만들어서 저장할 수 있었다
마무리
터미널에서 접근도 잘 됐다.
내일은 진행하고자했던 소스코드를 다시 업로드해서 컨테이너까지 띄워보는게 목표이다.
'TIL > 트러블슈팅' 카테고리의 다른 글
next/router query 버그 / 리액트 합성 이벤트 (0) | 2023.03.04 |
---|---|
Google Cloud Platform, docker-compose로 배포하면서 겪은 이슈 (0) | 2023.02.24 |
Docker ENV NODE_ENV 설정이 안될 때 (0) | 2023.02.20 |
Docker Error: Cannot find module '/usr/src/app/dist/main.js' (0) | 2023.01.30 |
docker 배포 시 cannot find module '..Route' or its corresponding type declarations. (0) | 2023.01.30 |