3차 회의 (12/3)
3차 회의 결과 이전에, 회의 당일 재미있는 일이 있었다.
회의 당일은 유독 날씨가 좋은 하루였다.
사실 매번 우리집, 혹은 비대면으로 프로젝트를 진행하다보니..
"다른 장소에서도 프로젝트 해보자~ 맨날 집에서만 하잖아.."
그래.. 프로젝트 팀원 중 한명의 집에서 하기로 정했다.
(WOL이랑 원격 SSH 한 것도 써보고 싶기도 했다)
약 1시 경 집에 모여서 각자 노트북을 연결하고, 원격으로 집에 있는 게임서버도 켜고 프로젝트를 진행하려 했는데.. 갑자기 인터넷이 다 끊겨버리는 일이 발생했다.
가끔 이런 경우가 있다고해서, 조금 기다려보자 했는데 연결 상태는 나아질 기미가 보이지 않았다.. 관리자 모드로 인터넷 공유기에 접속해서 로그를 살펴보았는데,
Full 어쩌구 로그가 뜨는 걸 보니, 너무 많은 양의 트래픽을 차지해서 인터넷이 끊겨버리는 것 같았다. 시험삼아 한 팀원의 인터넷 연결을 끊어보니, 인터넷이 다시 잘 되었다. 고객센터에 문의해보니 sk 계열의 가정용 공유기는 트래픽에 제한을 걸어두었다고 한다.
(용량을 늘리려면 추가 요금을 지불해야 한다고 한다..)
본인의 집은 iptime을 사용하기에, 그간 이런 문제가 없었던 것 이다. 다시 한 번 iptime에 감사함을 느끼며.. 아쉽지만 다시 우리집으로 돌아가기로 했다..
이런 변수도 있는거지~ 또 배웠다!
우선 이번 회의 이후 변동된 사항, 그리고 앞으로의 진행을 다시 기록한다.
저번 글에서 언급했던 예정 사항 중, Jira 세부 일정 업데이트 및 포트 번호 설정, 관리자 규칙 설정, 디렉토리, 서버 명 설정 등 다양한 인프라 설정을 세팅하고 본 서버에 미는 작업은 다음 회의로 미루기로 했다. (인프라 담당인 내가 해야되는데.. 요즘 너무 바쁘다.)
XAMPP 연동
앞선 글에서 DB로 통합 툴인 XAMPP를 사용하겠다고 하며, XAMPP에 대한 간략한 설명까지 기록하였다. 우선 팀원의 여분 노트북으로 DB 서버를 만들기로 했기 때문에, 간략하게 팀원 (아까 그 sk...) 의 집 네트워크 설정을 도와주었다. (외부ip 사용을 위한 환경 세팅 같은거)
-원격으로 함께하는 중-
이후, 약 1주일 조금 넘는 기간동안 DB로 XAMPP를 사용하며 많은 것을 배웠다.
늘 하는 일이기 때문에 생략.
포트는 3306, 외부 방화벽은 window 서버에서 xampp를 통해 서버를 열기 때문에 inbound / outbound 설정은 따로 해주었다.
(실험 이후 바로 다른 포트들로 설정해주었기에 그냥 공개한다)
XAMPP 폴더 내부에, httpd-xampp.conf 파일을 보면, 각 모듈 별 접근 권한을 설정할 수 있다.
'Require all granted' 를 넣어주어, 임시로 모든 ip에서 phpmyadmin에 접근할 수 있도록 바꿔주었다.
기존 XAMPP에서 DB는 로컬 용도로 사용하여, 127.0.0.1 localhost로 설정되어 있다.
XAMPP 폴더 내부의 my.ini 파일에서 다음과 같이 어떤 ipv4 대역의 어떤 ip 주소로든 접근할 수 있게끔 설정을 임시로 변경해주었다.
다른 팀원의 컴퓨터에서 접속해본 모습이다.
'DB 서버 외부 ip 주소'/phpmyadin/ 으로 접속하여
기존에 게임서버의 플러그인과 연동해두었던 login, economy 테이블과
팀원이 테스트 용도로 만든 hjtest 테이블도 확인할 수 있다.
DB 수정 페이지를 활짝 열어두는 것은 매우 위험하기 때문에, 이후 팀원들의 집에서만 해당 페이지에 접근할 수 있도록 수정하였다.
말 그대로이다. 분명 방금 전까지 잘 실행되었었는데, 갑자기 안된다던가, 실행하고 있는 도중에 DB 서버가 꺼진다던가..
지우고 다시 깔고, 지우고 다시 깔고, 검색하고 찾아보고.. 많은 과정을 거치던 도중
DB 서버가 아닌, 본인의 컴퓨터에 XAMPP를 깔고 실행하던 중에 같은 문제가 발생했다. 팀원들과 우리가 공통적으로 한게 뭐가 있지? 토의하며 그 공통점을 발견할 수 있었다.
팀원들 모두, 서버를 강제 종료했다던지, 서버를 종료하기 전에 XAMPP를 먼저 종료하였다던지, 정상적으로 서버를 끄지 않은 이후로 해당 문제가 발생했다.
DB가 생각보다 예민하다는 것을 알 수 있었다..
(백업 체계를 빨리 구축해야겠다는 생각도 들었다.)
1번에서도 이야기했지만, DB 서버를 설치한 팀원 이외에 다른 팀원들도 각자 집에 XAMPP를 깔고 시도해보았다. 그런데, 본인만 실행이 되지않았다.
분명 똑같은 과정으로 진행했는데 왜 안되는걸까.. 그 답은 포트포워딩에서 찾을 수 있었다. 사실 포트포워딩 규칙을 설정하며, '순위' 옵션이 있었는데, 1순위던 5순위던 잘 실행되기에 그 기능?을 잘 모르고 넘겼던 것 같다.
다시 본론으로 돌아와서 설명하면,
결론적으로,
외부ip를 통해 우리집 서버에 접근하면, XAMPP가 아니라 게임서버에 먼저 접근이 되는 상황이 발생한 것 이다.
굉장히 단순한 문제인데, 알아채는데 시간이 오래걸렸다.
이렇게 하나씩 알아가는게 프로젝트의 재미 아닐까.
Tableau 연동
태블로(Tableau)는 시각화 중심의 데이터 분석 툴이다. 2019년 비즈니스 클라우드 서비스 전문 기업인 세일즈포스에 인수되어 세일즈포스 제품군으로 편입되었다. (출처: 나무위키)
요새 많은 시각화 툴이 존재하지만, 태블로를 현업에서 많이 사용하는 것으로 알고 있다.
태블로를 이용하여 다음과 같은 일들을 하려 한다.
더 추가될 수 있겠지만, 현재는 이정도 목적을 가지고 해당 툴을 사용해보았다.
DB 서버에 대한 정보와, 사용자 정보를 기입하고 연동해보았다.
기존 마인크래프트 플러그인 관련 DB들이 잘 나타나는 것을 확인할 수 있다.
단순 연결이라 과정은 매우 단순하기에 넘어가겠다.
마인크래프트 플러그인 중, 경제 플러그인 > 유저 잔고에 관련된 테이블이다
현재 유저가 팀원 2명 뿐이라, 다음과 같이 나오며
실제로 게임 내부에서 송금도 해보며 실시간으로 그래프가 변화는 것을 확인했다.
태블로는 웹페이지에 대시보드 형태로 띄워 사용하는 것이 최종 목적이기 때문에, 간단한 html 형식으로 대시보드를 구성하여 구현해보았다.
코드
html으로 잘 띄워지는 것을 확인
간단하게 연동이 가능한 것 정도만 확인했다.
또한, 이번에 한 연동의 경우 태블로 서버를 이용한 연동으로, 태블로 서버는 무료 기간이 14일이다. (지나면 돈 내야 함...)
수익성이 없는 프로젝트에서 돈을 쓰는 것은 좀 아닌 것 같아서, 태블로 퍼블릭으로 구현하려고 현재 진행중이다. 글을 쓰고 있는 오늘 (12/5) 기준 생각보다 꽤 진전이 있는데, 정리가 끝나는대로 다시 글에서 다루어보겠다.
글이 길어진 관계로,
백업 관련 부분과 서버 보안 부분은 다음 글에서 다루겠다.