스스로 삽질하며🥲 겪었던 일들을 정리하는 기분으로 기록해보겠다.
GCP에 대한 전반적인 내용들은 앞선 포스팅에 다 기록해두었으니 참고하기에 좋을 것이다 😉
GCP 서버에 ssh 접속을 하였고, pm2로 서버를 실행하였다면
이제는 해당 서버가 잘 동작하는지 확인해보자.
나의 경우, Node 서버의 포트번호를 7000번으로 설정하였다.
앞서 정리하였던 것들은 다음의 플로우로 다시 적어보겠다.
//ssh 로 서버 접속하기.
ssh -i ~/.ssh/[ssh 키 이름] [ssh 만들었던 계정명]@[GCP 외부 아이피]
// 혹은 ssh [프로젝트명]
//서버 접속 후, 프로젝트 폴더로 접근 후 pm2 실행
pm2 start ecosystem.config.js
//pm2 로그 보며 오류 있는지 확인하기
pm2 log
//curl 로 요청 보내보기. (예: 포트 7000으로 열려있고 test 라는 모델을 get)
curl localhost:7000/test
위 내용대로 접속한 후, curl로 요청을 보냈을 때에 응답이 온다면 정상적으로 가동되고 있는 것이다.
GCP / AWS 등의 클라우드 환경을 사용하면 보안에 매우 민감하다.
사용자들이 불특정 다수이며, 비 IT 직군도 많다 보니 이러한 보안에 취약할 수밖에 없다.
만약에 GCE (Google Compute Engine) 를 만들고
방화벽을 연결하지 않고 바로 접속이 될 경우 0.0.0.0/0으로 모두 ALL 오픈된 상태이므로, 이는 매우 심각한 상황이다... 그 누구의 집에서도 접속이 가능하다는 뜻으로,
예를 들면 순자의 집에서도 가능하고 영자의 집에서도 접속 할 수 있다는 뜻...
때문에 보안에 매우 취약하므로, 즉시 0.0.0.0/0으로 열려 있는 부분을 제거하고 방화벽을 설정해야 한다.
예를 들어, 내가 특정아이피:특정포트(예: 123.123.123.123/3000) 에서 GCP 서버에 접근하려고 한다면,
다음 경로를 통하여 방화벽 설정이 가능하다.
VPC 네트워크 > 방화벽
상단 방화벽 규칙 만들기
이름은 나중에 GCE에서 태그로 넣을 수도 있기 때문에, 프로젝트 관련 이름을 넣었다.
일단은 로컬에서 연결이 되는지 테스트 해볼 것이었기 때문에 0.0.0.0/0을 넣어줬다.
0.0.0.0이 아니라 0.0.0.0/0 이다 (이걸로 엄청 오랜시간 돌고 돌았던...)
저장 한 후, GCE > 해당 ip 수정 > 라벨에 careerhub 를 추가해주기..!
통신되는거 확인 😅