KoreanFoodie's Study

구글 VM 인스턴스에서 앱 간단히 실행시키기(SSH) 본문

Cloud, Web

구글 VM 인스턴스에서 앱 간단히 실행시키기(SSH)

GoldGiver 2019. 4. 25. 19:01

주변에서 웹 개발 서버를 구축하는 것을 관찰해보면, 상당히 많은 분들이 Amazon 사의 AWS를 이용하고 있다는 것을 알 수 있다. 하지만 AWS의 경우 무료크레딧의 제한이 걸려 있기 때문에, 아주 간단한 어플을 실행하고 이를 테스트하고 싶을 때 AWS를 이용하려면 비용이 소액 발생하게 된다. 나처럼 가난한 개발자라면 아주 조그마한 지출에도 민감해지기 때문에, 어떻게든 무료를 찾아 떠나야 한다.

그 대안으로 구글 클라우드 플랫폼을 사용할 수 있다!

링크 : https://cloud.google.com/free/

 

무료 등급 GCP - 무료 확장 평가판 및 항상 무료  |  Google Cloud

GCP 무료 등급은 12개월의 무료 체험 기간 동안 사용할 수 있는 $300의 크레딧과 항상 무료의 두 가지 방식으로 무료 프로그램을 확대합니다. 자세히 알아보기

cloud.google.com

Google Cloud 에서는 프리 티어(Free tier)라고 해서, 특정 스펙 이하의 인스턴스를 생성했을 때 완전 무료로 서버를 돌릴 수 있도록 도와준다.

새 프로젝트를 만든 후, 인스턴스를 만들때 2가지 조건만 맞추어 주면 된다.

1. 지역 -> us-east1-b(us로 해서 Free-tier가 적용된 것을 확인!)

2. CPU -> f1-micro로

그럼 인스턴스를 생성했으니, 해당 인스턴스를 SSH로 접속해보자.

가장 간단한 방법은 해당 인스턴스로 이동해서 브라우저창에서 SSH 쉘을 여는 것이다.

이 방식은 제일 간단하지만, 만약 어떤 프로그램을 돌린 후 SSH쉘을 종료하면 프로그램이 같이 종료된다는 단점이 있다.


만약 쉘을 종료해도 해당 프로그램이 일반적인 웹서버처럼 돌아가도록 만들고 싶다면?

이 경우, 내 리눅스 쉘에서 SSH연결을 통해 해당 인스턴스가 프로그램을 백그라운드로 실행하도록 하면 SSH연결이 끊어지더라도 프로그램이 인스턴스에서 계속 실행되게 된다.

  1. 먼저, ssh-keygen 을 이용해서 pulic key를 생성한다. passphrase 는 원하는 것을 넣으면 된다.

  1. cd .ssh로 이동하면 생성한 key가 존재하는 것을 알 수 있다. 이 경우 id_rsa.

  1. id_rsa.pub를 열어 public key를 복사한다

  1. 인스턴스 세부정보로 들어가서, 수정 버튼을 누른 후, SSH 키를 추가한다. 이때, id_rsa.pub를 복사한 값을 넣는데, 이때 tony@tony로 되어 있다면 @ 뒷부분을 날려주어야 한다. 즉 tony만 남겨야 한다!

  1. .ssh 폴더에서 ssh -i id_rsa ejrrb8@34.73.59.203 를 실행하면 쉘에서 내 인스턴스로 접속할 수 있다. 이때 @ 다음에 나오는 주소는 인스턴스의 외부 주소이다.
  1. 만약 SSH연결이 끊긴 다음에도 프로그램을 실행하고 싶다면, SSH연결이 된 상태에서 nohup ./test & 처럼 &를 붙여서 백그라운드로 프로그램이 돌아가도록 한다.

  2. 쉘을 종료해도 인스턴스에서 프로그램이 잘 돌아가는 것을 확인할 수 있다!

Comments