기획자의 개발이야기 All Post IT

Google Compute Engine을 처음 사용할 때 겪을 수 있는 삽질

Written by vonzone

나는 Google Cloud Platform을 사용중이다.

AWS도 좋기는 하지만 우리회사는 Google Cloud Platform VC팀으로부터 막대한 인프라를 지원받고 있기 때문에 나도 덩달아 Google Cloud Platform을 사용하게 되었다. 그 과정에서 나같이 개발에 무지한(?) 사람이 Compute Engine을 사용할 때 겪게되는 삽질에 대해서 이야기 하고자 한다. 부디, 나같이 온갖 삽질을 통해 시간낭비를 하는 사람이 발생하지 않기를 바란다.

Putty로는 SSH접속이 잘 되나 SFTP로는 접속이 되지 않는 경우

기본적으로 Compute Engine은 VM에 SSH 접속할 때 SSH key로 인증하여 접속한다.(AWS도 동일하다.) 나는 Puttygen을 통해 key생성하여 SSH와 SFTP 접속에 사용한다. 자세한 사용방법은 아래 url을 참고하기 바란다.

http://superuser.com/questions/837996/connecting-to-google-compute-engine-vm-instances

그런데 나는 아주 이상한 경험을 하게 되었다. 생성한 key로 putty에서 SSH 접속은 되는데 Filezila에서 SFTP접속이 되지 않는 것이다. SFTP접속을 하면 아래와 같은 메세지를 받게 된다.

Error: Disconnected: No supported authentication methods available (server sent: publickey) Error: Could not connect to server

여기에서부터 나의 삽질을 시작되었다. 한 3시간 삽질하다가 아주 황당하게 원인을 찾게되었다.(구글에서 검색해도 안 나옴) Key(.ppk) 파일의 위치를 다른 폴더로 옮기니까 접속이 되는 것이다. 생각해보니 Key 파일이 저장되어 있는 내 컴퓨터의 경로에 한글폴더가 있었다.

D:\Google 클라우드\vonzone\Dev

Putty Client에서는 key파일이 있는 경로에 한글이 있더라도 정상적으로 작동을 하는데 Filezila의 경우 key파일의 경로에 한글이 포함되어 있으면 정상적으로 작동을 하지 않는 것이다. 개발관련 파일들이 저장되는 폴더에 한글이 포함되어 있다는 그 자체가 굉장히 부끄러운 일이지만 사실 내가 아는 개발자도 나와 같은 경험을 하고 있었기 때문에 이런 기본적인 실수는 나만의 문제는 아닌 것 같다. ㅋㅋㅋ 아무튼 결론은 이렇다.

여러분의 컴퓨터에 SSH key 파일을 저장할 때 모든 폴더명은 영어로 해야한다.

ex) D:\GoogleCloud\vonzone\Dev

 

 

Mysql서버로 외부에서 Client로 접속이 안 되는 경우

일반적으로 아래와 같이 설정을 하면 대부분 mysql서버에 외부에서 HeidiSQL같은 client로 접속을 할 수 있다.(Ubuntu 기준)

https://opentutorials.org/module/1175/7779

그런데 이상하게 접속이 안되는 것이다. 포트도 분명 다 열었는데 말이다. 그래서 또 삽질을 2시간 하다가 Cloud Platform Console 페이지에서 원인을 찾았다. VM을 생성하면 아래와 같이 기본적으로 Firewall rule들이 자동으로 적용되는데 아래 표시한 3306포트의 Target tags에 특정 tag들이 적용되어 있었던 것이다. 그 tag들을 삭제하니까 외부에서도 접속을 할 수 있었다. Target tags에 적용되어 있는 tag들을 삭제하면 아래와 같이 Apply to all targets라고 나오는데 이렇게 설정을 해야 어디에서든지 mysql 서버에 접속을 할 수 있다.

compute engine default firewall rules

 

사실 너무 당연한 사항들이라 블로그에 포스팅하기도 부끄러운 내용이지만 단언컨대, 분명 나같은 사람이 어딘가에는 존재할 것이다. 날 닮은(?) 그분들에게 큰 도움이 되길 바란다.

 

 

About the author

vonzone

서비스 기획자입니다. 평범한 사람임에도 불구하고 특별한 일을 해내고자 합니다.

%d 블로거가 이것을 좋아합니다: