KoreanFoodie's Study
구글 VM 인스턴스에서 앱 간단히 실행시키기(SSH) 본문
주변에서 웹 개발 서버를 구축하는 것을 관찰해보면, 상당히 많은 분들이 Amazon 사의 AWS를 이용하고 있다는 것을 알 수 있다. 하지만 AWS의 경우 무료크레딧의 제한이 걸려 있기 때문에, 아주 간단한 어플을 실행하고 이를 테스트하고 싶을 때 AWS를 이용하려면 비용이 소액 발생하게 된다. 나처럼 가난한 개발자라면 아주 조그마한 지출에도 민감해지기 때문에, 어떻게든 무료를 찾아 떠나야 한다.
그 대안으로 구글 클라우드 플랫폼을 사용할 수 있다!
링크 : https://cloud.google.com/free/
Google Cloud 에서는 프리 티어(Free tier)라고 해서, 특정 스펙 이하의 인스턴스를 생성했을 때 완전 무료로 서버를 돌릴 수 있도록 도와준다.
새 프로젝트를 만든 후, 인스턴스를 만들때 2가지 조건만 맞추어 주면 된다.
1. 지역 -> us-east1-b(us로 해서 Free-tier가 적용된 것을 확인!)
2. CPU -> f1-micro로
그럼 인스턴스를 생성했으니, 해당 인스턴스를 SSH로 접속해보자.
가장 간단한 방법은 해당 인스턴스로 이동해서 브라우저창에서 SSH 쉘을 여는 것이다.
이 방식은 제일 간단하지만, 만약 어떤 프로그램을 돌린 후 SSH쉘을 종료하면 프로그램이 같이 종료된다는 단점이 있다.
만약 쉘을 종료해도 해당 프로그램이 일반적인 웹서버처럼 돌아가도록 만들고 싶다면?
이 경우, 내 리눅스 쉘에서 SSH연결을 통해 해당 인스턴스가 프로그램을 백그라운드로 실행하도록 하면 SSH연결이 끊어지더라도 프로그램이 인스턴스에서 계속 실행되게 된다.
- 먼저,
ssh-keygen
을 이용해서 pulic key를 생성한다. passphrase 는 원하는 것을 넣으면 된다.
cd .ssh
로 이동하면 생성한 key가 존재하는 것을 알 수 있다. 이 경우id_rsa
.
id_rsa.pub
를 열어 public key를 복사한다
- 인스턴스 세부정보로 들어가서, 수정 버튼을 누른 후, SSH 키를 추가한다. 이때,
id_rsa.pub
를 복사한 값을 넣는데, 이때tony@tony
로 되어 있다면 @ 뒷부분을 날려주어야 한다. 즉tony
만 남겨야 한다!
- .ssh 폴더에서
ssh -i id_rsa ejrrb8@34.73.59.203
를 실행하면 쉘에서 내 인스턴스로 접속할 수 있다. 이때 @ 다음에 나오는 주소는 인스턴스의 외부 주소이다.
-
만약 SSH연결이 끊긴 다음에도 프로그램을 실행하고 싶다면, SSH연결이 된 상태에서
nohup ./test &
처럼&
를 붙여서 백그라운드로 프로그램이 돌아가도록 한다. -
쉘을 종료해도 인스턴스에서 프로그램이 잘 돌아가는 것을 확인할 수 있다!
'Cloud, Web' 카테고리의 다른 글
네트워크 기초 - 스위치와 라우터 (0) | 2022.01.24 |
---|---|
쿠버네티스 개념과 구조 간단 정리/요약 : 쿠버네티스 문서 참고! (0) | 2021.09.20 |
네이버 뉴스 API로 뉴스 크롤링하기! (파이썬으로 네이버 오픈 API 뉴스 크롤러 만들기) (6) | 2019.11.07 |