8 분 소요

1. GCP 컴퓨트엔진 생성


코드서버가 설치될 구글클라우드플랫폼(이하 GCP)을 생성한다.
아래 링크의 GCP VM Instance 생성 방법을 따라 무료 컴퓨팅엔진을 생성하면 된다.

https://kibua20.tistory.com/94


2. Termius설치 및 GCP-인스턴스에 연결


iPad에 Termius를 설치한다. Termius는 SSH를 통해 GCP에 연결을 위한 터미널 앱이다.
GCP서버 접속을 위해서 RSA키를 사용할것이다.

Termius

keychain -> + -> generate key

GCP에 접속할 Name를 만들어주고 TYPERSA로 설정해준다.
키체인에 키가 정상적으로 생성되었다면 우측상단 공유 버튼에서 Copy Public Key를 눌러 키를 복사한다.

img1 img2

GCP

컴퓨트엔진 -> 설정-> 메타데이터 -> SSH 키

== Generated By Termius 에서 spacebar전 까지 지운후 Termius에서 키를 만들때 사용한 name을 입력해준다.
달라도 상관은 없지만 통일성을 위해 그렇게 진행하였다.

img3


Termius

HOSTS -> + -> new host -> hostname

호스트를 컴퓨트 엔진의 VM인스턴스 창에 나오는 외부 IP로 설정해준다.
아래 사진 빨간 사각형 위치에있는 IP주소를 사용하면 된다.
img4
username 역시 위와 동일한 이름으로 넣어준뒤 접속을위한 password를 만들어 입력해준다.
key에서 아까만든 RSA키를 넣어주고 save 하면 GCP로 연결되는 호스트가 생성된다.

img5 img6



3. code-server설치


코드서버의 설치는 GCP콘솔에서 다음과 같이 입력해주면 된다.


GCP

sudo apt-get install build-essential net-tools
wget -q https://github.com/cdr/code-server/releases/download/3.4.1/code-server_3.4.1_amd64.deb
sudo dpkg -i code-server_3.4.1_amd64.deb
echo "export PASSWORD='접속 비밀번호'" >> ~/.bashrc
source ~/.bashrc
sudo ufw allow 8080/tcp

출처:https://tong9433.github.io/blog/002#/


4. 인스턴스 방화벽설정


설치한 code-server를 외부에서 접속하기위한 과정이다.
확실히 해야하는 과정인지는 모르겠으나 이를 건너뛰고 작업했을때 문제가 생긴다면 해보는걸 추천한다.

GCP

좌측 상단메뉴 -> VPC네트워크 -> 방화벽

상단의 ‘방화벽 규칙만들기’를 누르고 방화벽 규칙명을 만들어 입력,
대상은 ‘네트워크의 모든 인스턴스 소스’
IP범위 ‘0.0.0.0’, 포트의 tcp체크박스 누르고 8080 입력
->모든 인스턴스에서 모든 범위의 IP가 8080포트에 접근가능

img7


5. 세션 종료방지
SSH로 접속된 환경에서 일정 시간 명령이 없다면 연결이 종료되는데
이를 방지하기 위해 설정파일을 수정해줄것이다.

GCP

sudo vi
:e /etc/ssh/sshd_config

아래 블로그와 같이 설정파일을 수정해주면 된다.

https://blog.acronym.co.kr/480


vim(vi)는 리눅스의 텍스트 에디터이다.
vi를 처음쓴다면 수정하기 힘들텐데 필요했던 기능만 설명하자면 다음과 같다.

명령어 기능
a 입력모드
esc ( ctrl+[ ) 제어모드 (iPad단축키))
u 편집 한단계 취소
:e 경로(파일명) 문서열기. 없다면 새 문서 생성
:w ,:w! 저장, 강제 저장
:q ,:q! 나가기, 저장경고 무시하고 나가기
:wq ,:wq! 저장하고 나가기, 강제 저장후 종료
←→↑↓ 이동

추가적인 사용법을 원한다면 vim의 전반적인 사용법이 잘 나와있는 블로그를 찾았기에 남겨둔다.

https://jhnyang.tistory.com/54


5. 코드서버실행


SSH환경설정까지 끝났다면 터미널에 다음 명령어를 입력해준다.

GCP

code-server --host 0.0.0.0

아래의 사진과 같이 실행되었는지 확인한다.

img8


GCP

not serving HTTPS

브라우저에 [GCP 외부 IP]:8080 을 치고 접속해보자! (ex : 123.456.789.011:8080)
암호 입력창이 나왔다면 code-server 설치 시 사용한 비밀번호를 입력해준다.
정상적으로 VSCODE가 실행되었길 바란다.

후기와 잡설.


어쩌다 구한 아이패드로 공부해볼까 했는데 IDE가 없다는 것에 절망했다가
돌파구를 찾던 중 발견한 여러 자료를 종합해 글을 써봤다.
물론 구름 IDE나 ideone같이 쉬운 대안은 많지만 VScode를 오래 써왔기에 이런 방법을 선택했고(그러나 필자는 코딩을 시작한 지 겨우 4달 차이다)
CMD랑 깃 터미널 말고는 볼일 없을 거라 생각한 시꺼먼 리눅스의 터미널 창과 싸워가며 설치에 성공했다.
다만 나 같은 초보자에게 리눅스환경은 너무 가혹해 구름으로 이주했지만 VScode를 좋아하시는 많은 분을 위해 글을 올려둔다.
참고로 Termius를 사용하는 중계장치가 꺼지거나 절전모드(잠금)상태가 되면 세션 연결이 종료되어 코드서버 또한 중지된다. 서버관리를 위한 Termius와 접속장치를 분리하거나 아이패드의 멀티태스킹기능을 사용하는 것이 좋아보인다.
mosh를 사용하면 이런 복잡한 방식을 사용할필요가 없다던데
그건 네트워크에 관한 추가적인 공부가 필요해 보여 기회가 된다면 써보도록 하겠다.

with StackEdit.

태그:

카테고리:

업데이트:

댓글남기기