알라딘 중고책 작업 (4) RDS, EC2 구축하기

알라딘 중고책 작업 (4) RDS, EC2 구축하기

저번 글 이번 포스팅에서는 본격적인 코드가 돌아갈 서버EC2와 DBRDS를 구성했던 과정을 작성하려 합니다. 생각보다. 오류가 많았어서 이 과정에서 본인이 했던 삽질도 자세하게 적어보려고 합니다. 먼저 RDS부터 시작해보자 어떤 걸 먼저 구축할까 고민합니다. 우선 DB에 데이터가 잘 적재되는지 테스트하는게 먼저일 것 같아서 RDS를 먼저 구축하기로 결정하였습니다. 사실 RDS DB를 생성하는건 그리 어렵지 않아서 생략할까 하다가 그래도 본인이 했던 과정을 자세하게 밟아나가면 나 또한 큰 공부가 되지 않을까 하는 생각에 DB 생성부터 자세하게 글을 작성하기로 하였습니다.

첫째 RDS는 PostgreSQL을 선택하였습니다. 선택 이유는 지금까지 계속 MySQL만 써왔기 때문에 다른 DB도 경험해보고 싶었다.


imgCaption0
EC2 구축하기

EC2 구축하기

EC2는 딱히 따로 설정한 부분이 없어서 하나하나 설명하지는 않겠지만 OS는 우분투 18.04 버전을 사용했고, 당연히 프리티어 버전을 사용했다EC2를 구축하고 가장 처음 해야할 작업은 작업한 코드를 EC2 서버에 옮기는 것입니다. scp 명령어를 이용하여 간단하게 코드를 옮길 수 있어요. 데이터를 이동한 뒤에는 requirement.txt을 통해 필요한 패키지들을 먼저 다운받아줍니다.

슈퍼셋 사용하기

처음에 슈퍼셋을 사용하는데 조금 애를 먹었었다. 사실 제대로 무엇을 시각화하고자 하는지 정하지도 않았고, 사용할 수 있는 그래픽 툴들도 굉장히 다양해서 어떠한 방식으로 대시보드를 구성해야 할 지 감이 안왔었다.

이곳에서 슈퍼셋 차트 만드는 법에 관련해서 하나하나 설명하지는 않을 것입니다. 대신 본인이 처음 접근하였던 과정을 통해 조금이나마 초보자에게 방법을 제시해보려 합니다.

알라딘 eBook 어플ios 환경

2편부터 말씀드리는대로 저는 아이폰과 아이패드를 사용하고 있습니다. 애플의 정책 상 eBook을 검색하거나 보려면 알라딘 어플이 아닌 사파리 등의 브라우저를 통해 들어가야 하죠. 불편함을 느끼는 점이지만 어쩔 수 없습니다. 제가 알라딘 편을 21년도 말22년도 1월까지 작성했는데요. 그로부터 2개월 후인 3월에 어플에 외적인 변화가 생겼습니다. 업데이트 이전을 다룰 때 제가 알라딘 어플은 너무 기본적이기 때문에 큰 찬사를 보내기 어렵다고 했었는데요. 과연 어떠한 방식으로 달라졌는지, 업뎃 이전과 이후 이미지를 다.

넣어보겠습니다. 업뎃 이전이 왼쪽, 이후가 오른쪽입니다. 과거 어플의 메인 색상은 하늘색이었습니다. 단일색을 중심으로 흑백의 무채색이 꾸며주었죠. 새로운 어플은 몇 년 전부터 내세워 온 우주점을 배경으로 하는 듯 합니다.

전자책 캐시

알라딘에서는 개별 전자책을 대여구매할 수 있습니다. 그렇기 때문에 다른 VODVOD플랫폼과 비슷하게 캐시포인트 정책이 있습니다. 다만 충전액은 고정된 4개 금액 뿐입니다. 전자책에 큰 열성이 없는 것처럼 보이는 부분이지요. 적립 기준은 1회성 충전이냐, 매월 자동 충전이냐에 따라 다릅니다. 심플하게 1회 충전은 5, 월 자동 충전은 10로 되어 있죠. 자동 충전 시에는 매월 1일에 적립률을 따라 충전됩니다. 교보문고는 매월 17일에 충전 시 포인트를 2배 적립할 수 있었죠? 알라딘은 매월 1일부터 3일 사이에 충전할 경우 그렇게 됩니다.

저는 어느 플랫폼에서든 캐시를 충전하지 않기 때문에 급속도로 패스하겠습니다.

Crontab 사용

로컬에서 이 모든 환경을 구축할 수도 있었지만 EC2를 구축한 가장 큰 이유는 만들었던 코드를 24시간 내내 희망하는 시간에 돌게하고 싶어서입니다. 로컬로 구축하면 전자기기를 끄면 데이터를 추출해서 적재하는 작업 할 수 없으니 말입니다. 나는 6시간에 한 번씩 API를 통해 데이터를 적재할 예정인데, 이를 위해서는 Crontab이 필요합니다. Crontab은 희망하는 시간에 하고자 하는 작업 자동으로 수행해주는 프로그램입니다.

Airflow를 사용하고 싶었지만 이 태스크에서는 오버스펙이라. 나중에는 꼭 사용해봐야지사용방법은 아주아주 간단합니다. 첫째 아래의 명령으로 크론탭을 설치해줍니다. apt-get update apt-get install cron

그리고 crontab -e 명령어를 통해 주기적으로 실행하고자 하는 작업 지정해주면 됩니다. 나는 작성한 코드를 6시간 간격으로 실행하도록 아래와 같이 작성하였습니다.

자주 묻는 질문

EC2 구축하기

EC2는 딱히 따로 설정한 부분이 없어서 하나하나 설명하지는 않겠지만 OS는 우분투 18. 구체적인 내용은 본문을 참고하시기 바랍니다.

슈퍼셋 사용하기

처음에 슈퍼셋을 사용하는데 조금 애를 먹었었다. 좀 더 구체적인 사항은 본문을 참고해 주세요.

알라딘 eBook 어플ios

2편부터 말씀드리는대로 저는 아이폰과 아이패드를 사용하고 있습니다. 구체적인 내용은 본문을 참고하시기 바랍니다.