게임 서버 구축 (11)

jw·2023년 12월 5일
0

게임 서버 구축

목록 보기
12/19

OneDrive 연동

OneDrive

Microsoft의 클라우드 스토리지. SkyDrive으로 서비스를 시작하였으나 2013년 영국의 방송회사 Sky와의 상표권문제로 인한 법정분쟁 끝에 2014년 2월 19일부로 OneDrive로 이름이 바뀌었다.
(출처: 나무위키)

드디어 백업 방안을 마련했다!
백업은 회의 초기부터 늘 이야기 나왔었는데, 반드시 필요한 부분이기도 하고.. 다른 부분들 준비하느라 조금 늦게 시작한 감이 있지만 어쨌든 해냈다..

기존 계획과 달라진 점이 있다면,

Google Drive --> One Drive 이렇게 교체하게 되었다.

교체 이유

  • 구글 드라이브 연동이 생각보다 좋지 않다는 이야기를 다수 들었음
  • 학교에서 원 드라이브 1TB를 무료로 제공한다는 이야기도 들었음

백업 대상

  • DB 서버 - windows server
  • 게임 서버 - Centos 7

1TB면 쓰지 않을 이유가 없지 않은가. 바로 사용해보았다.

과정 - 서버 백업

1) RCLONE 설치

구글의 Go 언어로 만든 클라우드 스토리지 특화 업로드/다운로드 프로그램이다.

구글 드라이브외에도 네이버 클라우드같은 경우를 빼면 사실상 현존하는 모든 클라우드 스토리지 플랫폼을 지원한다. 설정에 나와있지 않은 클라우드 스토리지라도 FTP나 WebDAV를 지원하면 연결할 수 있고, 이 때문에 클라우드 스토리지 외에도 NAS나 파일 서버등에도 연결할 수 있다. 여담이지만 러시아의 얀덱스 드라이브 마저도 지원하는 위엄을 보여준다.
(출처: 나무위키)

그렇다고 한다.


해당 사이트에 접속해서, 본인 서버에 맞는 버전을 확인할 수 있다.


unzip 패키지를 설치 후,

curl https://rclone.org/install.sh | sudo bash

명령을 통해 다운로드 및 압축 해제를 진행해주었다.


설치 완료!

2) RCLONE config

rclone config를 입력하여, 새로운 스토리지를 받을 준비를 한다.
스토리지명은 one_drive로 설정

rclone config

스토리지명을 설정해주면, 다음과 같이 연결하고 싶은 스토리지 타입을 정해야한다.
본인의 경우 OneDrive를 연결할 것 이기 때문에 34번 선택


선택 이후 무수히 많은 y,n 선택들을 지나고 나면 토큰을 입력하는 창이 나온다.
사실 여기까지 꽤 오래걸렸다. (중간에 무수한 삽질이..... 초보가 그렇지 뭐)

-삽질 외전-

삽질 이유?
토큰을 입력하기 전에, 원드라이브 계정 정보를 입력하고 토큰을 받는 일종의 인증 페이지 url을 제공한다. 그런데 이게 문제가 주소를 다음과 같은 형태로 제공해준다..

127.0.0.1:53682/'token값'

  • 본인은 원격에서 ssh로 서버에 접속해서 서버를 다루고 있다. 로컬 주소이기 때문에, 원격으로 다루고있는 컴퓨터에서는 바로 해당 주소로 접근이 불가하다. (각각 로컬 주소가 다르기 때문)

  • 그렇다고 포트포워딩 및 방화벽 설정을 하면 가능한가? 아니였다. 인증 페이지이기 때문에, 특정 무언가 더 있는 것이 아닌가 하는 생각.

  • 그렇다고 서버 컴퓨터에서 바로 접속이 가능한가? 서버 컴퓨터는 centos7 기반이다. 웹 따위 없다.

삽질s


공식 문서도 들려보고.


text 형태로 url에 접속하는 lynx도 사용해보고.


이것도 그런 류의 종류인데, 패키지명은 기억이 안 난다. Javascript를 업로드 할 수 없다 하여 실패.


이름 모를 외국인에게 조언도 받아보고. (감사합니다)


마지막 삽질.. cmd를 통한 원격 서버 접속! 여기서 성공했다

3) cmd를 통한 원격 ssh 접속

기존에 사용하던 Xshell이 아니라, cmd를 사용하여 서버에 직접 접근해보았다.


성공!


마찬가지의 과정을 거쳐, 다시 인증페이지 url 단계까지 도달했다.
컨트롤 키를 누른 상태로, 해당 주소를 클릭하면 바로 접속이 가능했다!
(Xshell에서 안되었던 이유는 아직 잘 모르겠다.. 어쨌든 성공했으니 우선 진행)

4) token 인증 & 이후 config


바라고 바라던 3시간만에 접속한 인증 페이지.
계정 정보를 넣고, 인증을 해준다.


1로 설정


토큰 값도 복사해서 넣어준다.


토큰을 이용하여, 원격 연동을 성공했다!
1번에서 one_drive로 설정했었는데, 삽질 과정에서 지우고 반복하다가 이름은 언더바는 없애고 다시 만들었다.

적용

gpt의 도움을 받아 실제로 적용해보았다!


우리 서버의 시작 시 사용하는 script.sh 파일을 onedrive의 test 폴더에 옮겨보았다.



test 폴더 내에 script.sh 파일이 잘 들어온 것을 확인할 수 있었다.

본 서버에 밀 때는, script.sh 파일에 서버 종료 시 서버 파일을 압축 후 백업 파일을 전송하는 방식으로, 트리거를 설정 할 생각이다.

DB 백업

DB 서버는 XAMPP를 이용하는 관계로, 윈도우 환경에서 OneDrive를 마운트 후 백업해야 한다.
트리거를 이용하여 시간을 설정하고, 백업 압축파일을 전송하는 것 까지 성공했다.

DB 백업을 맡은 인원이 새벽에 성공했다고, 잘 되는지 확인해달라고 해서 급하게 켜서 같이 확인해보았다.


연동 잘 되는 것 확인할 수 있었다.

고찰 & 4차 회의 일정

고찰

3차 회의 이후, 각자 맡은 부분들을 진행하며 일부 수정사항이 생겼다.

  • XAMPP 계속 쓰는게 맞을까?
    사실 XAMPP가 쓰기 편한 것은 맞지만, 어떻게 보면 노트북 환경에서 실행한다는 것은, 윈도우 os 환경이라는 것이고, 그 위에서 가상 서버를 여는 것과 크게 다르지 않다. 지금이야 문제 없지만, 서버가 더 복잡해지면 I/O 도 커질 것 이고, script를 이용해 자동화 하는데에도 직접 껐다 켰다 해야하기 때문에 DB 컴퓨터에 Centos를 설치하고, MySQL을 직접 설치하여 사용하는 방향으로 변경해보려 한다.

  • Tableau 이슈로 인한 사용 x
    결론부터 말하자면 Python을 이용한 DB에서 데이터 추출 및 일정 주기로 자동화하는 것은 성공했다. 하지만, 온라인 상에서 실시간 연동 서비스를 이용하려면, 유료 서비스를 이용해야 하는 단점이 있다. 여러 방법을.. 정말 여러 방법을 찾아보았지만, 찾아보면 찾아볼수록 유료 서비스로 유도하는 느낌이 있었다. (어떤 방법을 해도 막아둔 느낌. 더 하고싶으면 유료 서비스 있으니까 그거 써~) 다양한 api를 사용하면 어떻게든 사용할 수 있을 것 같기는 했는데, 사실 Tableau를 사용하려는 이유는 현업에서 많이 쓰기 때문도 있었지만, 간단한 클릭 몇 번으로 그럴싸한 그래프를 그려낼 수 있다는 그 '편리함' 때문에 사용하려 했다. 하지만, 이렇게 코드로 뒷단에서 그 기능을 구현한다면 큰 의미가 없을 것 같다는 생각이 들었다. 그래서 다른 시각화 연동 툴을 알아보았고, PowerBI를 다음 회의 이전까지 사용해보려 한다. (PowerBI는 서버 연동은 무료라고 한다!)

4차 회의 일정

4차 회의는 12/8 에 진행하기로 했다.

이번주는 기말고사도 있고 다들 다소 바쁜 관계로, 아마 앞서 했던 부분들 간단하게 정리해보고, 익숙해지는데 시간을 쓸 것 같다.

블로그도 쓸 수 있을지는 잘 모르겠지만.. 가능하다면 써보려한다.

종강일인 12일 이후부터는 다시 제대로 달려봐야지


+추가+

현재 서버 로그인 방식에 대해 알아보고 있다. 시간이 가능하다면, 회의 이후 서버 보안과 관련하여 2차 로그인 방식 및 인증키 방식 적용 정도 해보려한다.

profile
『Infra Engineering』

0개의 댓글

관련 채용 정보