티스토리 뷰

개발/Cloud (GCP)

Cloud Shell 에 대한 뻘글

Jaeyeon Baek 2017. 6. 13. 17:15

앞서 Cloud Shell 에 대해서 주섬주섬 살펴봤는데, 잠깐 요점을 remind 하면 Cloud Shell Google Cloud Platform 을 터미널에서 사용할 수 있도록 도와주는 web Shell 이다. 대략 0.6G 의 디스크에 낮은 스펙의 f1-micro 인스턴스로 제공되기 때문에 그 안에서 기본 제공되는 gcloud 명령 이외에 무언가를 개발하거나 테스트하기에는 다소 무리가 있겠다.

그런데 최근 datalab 이라고하는 막강한 interactive tool 을 알게되어 잘 사용하고 있었는데, 더 편하게 사용하고 싶어서 datalab 을 백그라운드로 돌리는 과정에서 의문이 시작되었다. 일단 Cloud Shell 에서 datalab 을 백그라운드로 돌리기 위해서 아래와 같은 명령어를 사용하였다.

nohup datalab connect jybaeklab &

명령이 실행되고 Cloud Shell 이 종료되어도 datalab 은 잘 살아서 동작했다. 연결이 정상적으로 쭈욱 잘 되었다는 의미다. 즉, 이 상태가 되면 다른 PC 에 가서도 datalab 을 새로 연결할 것 없이 연결 URL 만 입력하면 바로 datalab 에 접근이 가능한 편리성을 갖추게 된다. 사실 매번 Cloud Shell 을 열고 datalabconnect 해도 상관은 없지만 이것조차 불편하고 귀찮게 다가왔으니까 backgound job 이라는 발상을 시작한 것이다.

약 수십분간은 연결이 정상적으로 되었지만 어느순간 연결할 수 없다는 페이지 에러를 만나게 됐다. 

뭔가 이상해서 다시 Cloud Shell 을 접속해서 이것저것 확인해보니 의문 투성이. 우선 uptime 이 쌩뚱맞은 29분 정도가 찍혀있다. 29분전에 혼자 재부팅 된건가? 그 다음으로 /var/log/message 를 보니 rsyslog 가 시작된게 방금 전이다. (통상 서버가 부팅될 때의 시간이 찍혀있기 마련) 이 message 만 봤을 때는 방금 Cloud Shell 을 접근 시도하니까 Cloud Shell 인스턴스가 부팅이 된게 맞는데 uptime 이 혼란을 준다. uptime 만 방금 전으로 찍혀있으면 모든게 들어맞는데..

여튼 Cloud Shell 에 뭔가 active 한 동작이 없으면 한 시간 후에 강제로 종료되는 듯하다.

Cloud Shell instances are provisioned on a per-user, per-session basis. The instance persists while your Cloud Shell session is active and terminates after an hour of inactivity.

datalab 을 백그라운드로 돌리기 위한 다른 꼼수가 없는지는 앞으로 더 찾아봐야겠고, Cloud Shell 의 동작원리는 궁금하지만 적당히 하고 눈 감아야겠다. 추측하기로는 아무래도 Cloud Shell  free 인스턴스이다보니 항상 활성화 상태는 아니고 요청이 있을 때 남는 자원을 사용자에게 할당해주는 구조일 듯 하다. 관련된 문서를 찾지 못했지만 정황이 그렇다.

※ 혹시 관련해서 자세한 정보를 아시는 분이 계시다면 피드백 부탁드립니다. :-)

'개발 > Cloud (GCP)' 카테고리의 다른 글

결제(billing) 시스템  (0) 2017.06.14
저장소(Storage) 사용  (2) 2017.06.14
소스 저장소를 사용해보자  (2) 2017.06.12
Google Cloud Shell 의 사양을 알아보자  (0) 2017.06.09
datalab 사용하기  (6) 2017.06.08
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
Total
Today
Yesterday