기존에 AWS EC2 t2.micro급으로 운영되었던 회사 백오피스용 서버를 로컬로 설정, 이전 시키기 위해 회사에 시놀로지 DS920+를 도입하였다. 공부 겸 회사에서 편리하게 사용할 수 있는 부분들을 하나씩 무작정 추가하다 보니 view.py 하나의 파일에 수천줄이 되고, 가독성도 안좋았고, 토큰 관리도 복잡하게 되어있으며, 코드나 구조도 다시 볼때 어려울 정도로 짜여어서 이번 기회에 맨 처음 부터 다시 서버를 구성해보면서 포스팅으로 남기려 한다.
1. EC2 에서 시놀로지로 변경하려는 이유는 다음과 같다.
- 회사에서 사용 할 클라우드가 필요하였음. (직원 개개인 별 클라우드 및 팀끼리 자료공유)
- EC2에 올라가있는 회사 백오피스 서버가 t2.micro 만큼 성능이 필요없었음. (24시간 구동되어야 함)
- 회사 내에서 미디어 서버 및 메일 서버로 활용.
- 슬랙 요금 압박으로 인해 겸사 겸사 Synolgoy Chat으로 변경.
- 트래픽이 많지 않기 때문에 굳이 EC2 AWS 요금을 지불할 이유가 없음.
2. 회사 서버에서 사용하는 내용은 다음과 같다.
- 슬랙 채팅봇 > Synology Chat 봇으로 변경할 계획
- 회사에서 사용하는 쇼핑몰 호스팅 cafe24의 api를 실시간 주문 및 게시글 알림. (Oauth토큰 관리)
- 회사에서 서비스하고 있는 앱 api 연동하여 실시간 주문 및 게시글 알림.
- 회사에서 출고된 물품을 관리하는 구글 시트 api 연동하여 출고된 상품의 정보 조회.
- 유튜브 API 활용하여 회사에서 서비스하는 유튜브의 정보를 불러옴. (예시. 새로운 댓글 등)
- 회사에서 보유하고 있는 제품 정보 조회
- 직원 연차 및 휴가 관리
- 회사 일정 관리
- 하루의 일정을 요약하여 매일 아침에 노티 - 웹페이지
- 카페24 쇼핑몰 호스팅 상품 상세 에디터가 Js를 지원하지 않기 때문에 필요한 정보를 웹페이지로 띄어서 iframe으로 불러오는 용도로 사용 (구글시트와 연동하여 상품의 무게별 재고 현황 등을 보여줌)
- 이벤트 페이지 제작 시 내부 DB와 실시간 처리를 위해 필요한 정보를 웹페이지로 띄어서 iframe으로 불러오는 용도
위와 같은 이유로 시놀로지 도입을 건의하였고 회사에서 사용하기 적당할 것 같은 제품인 시놀로지 DS920+를 구매하게 되었다.
3. 구매한 하드웨어 정보는 다음과 같다.
- DS920+
- 씨게이트 아이언울프 4TB 2개 레이드 구성
- 정품 램 4기가 추가 총 8기가
- 회사에서 사용하는 회선이 1기가이기 때문에 랜선 Cat.6 케이블을 구매하여 내부망 허브에 랜선 2개를 꽂아 본딩
4. DS920+ 에 올릴 서버환경은 다음과 같다.
- Docker Compose 를 이용하여 Django + Nginx 컨테이너를 시놀로지의 도커에 띄울 계획
- Django 는 DRF 를 사용할 계획, Gunicorn 으로 실행(https 인증서)
- 외부 접속은 DDNS 활용하여 https 연결하고 (시놀로지 DSM이 자동으로 인증서 갱신) Nginx에서 처리할 계획
다음화 부터는 장고 프로젝트를 올리는 과정부터 하나씩 진행해보려 한다.