른록노트

[llpv] 서버 AWS로 옮기기 본문

Tech/[IT]

[llpv] 서버 AWS로 옮기기

른록 2021. 4. 26. 17:10

1. [시작하기 전]

이전글 - [llpv] PC 사용시간 관리 프로그램 기획

1) 서버를 옮긴 이유

기존의 llpv 서버는 집 PC로 운영되고 있었습니다.

예전부터 VMWare로 여러가지 테스트를 하며 여러 프로그램들을 구성한 경험이 있어서 익숙하였고 사양도 넉넉하였습니다.

CPU는 AMD Ryzen 7 1700로 8 core, 16 Thread이고 램은 32G여서 VMWare 서버 3대 클러스터링 구축에도 문제없이 잘 돌아갔습니다.

문제는 계속 켜져있는 컴퓨터가 신경쓰였고 소음이 크진 않지만 잘 때도 신경쓰여서 클라우드 서비스를 사용해 보기로 결심했고 저는 AWS로 서버를 이전하였습니다.

AWS에서는 처음 가입하면 1년동안 무료로 사용할 수 있는 프리티어의 혜택이 주어져서 이를 활용하였습니다.

단 모든게 무료는 아니고, 조금 찾아보니 정말 여러가지 서비스가 존재하며 요금에 대해서도 여러가지 기준이 있었습니다.

유의하시고 사용하시기 바랍니다.

2. [서버이전 시작]

1) AWS를 등록하면 첫번째로 해야할 것!

  • 과금 알림설정
    내 계정 -> 결제 기본 설정 (왼쪽) -> 결제 알람 받기 (체크박스 클릭) = 결제가 일어나면 경보 알림을 받을 수 있습니다.

    -> 경보 (왼쪽) -> 경보생성 = 일정 금액이 넘어가면 경보 알림을 받을 수 있습니다.
  • 간혹 aws에 대한 글을 보면 감당할 수 없을만한 과금이 되었다는 사례를 본게 있어서 요금관련 정보는 확실히 짚고 넘어가는게 좋습니다. 이렇게 설정해놔도 자주 과금페이지를 확인하는게 중요합니다. 단순히 서버에 외부 IP로 접속해서(SFTP) 파일을 업로드/다운로드하는 경우에도 과금이 됩니다. 이 문제의 해결책은 aws S3 서비스를 이용해서 wget으로 파일을 이동하는 방법이 있습니다.
    Data Transfer 요금 관련 포스팅
  • 경보 알림 참고동영상

2) llpv 서버를 AWS로 전환하면서 가장 큰 문제점은 비용 -> 사양

비용을 최대한으로 줄이고 싶어서 aws에서 제공해주는 프리티어를 이용하여 최대한 적은 비용으로 서버를 운영하고 싶었습니다. 그래서 프리티어로 제공되는 EC2 micro instance를 선택했고 사양은 cpu 1core, 램 1GB 입니다...

3) 낮은 사양에서 작동할 수 있도록 프로세스 변경

micro 사양으로는 zookeeper, kafka, Elastic 등 최소사양으로만 맞춘다 하더라도 사양이 터무니 없이 부족합니다.그래서 저는 기존 프로세스를 모두 바꿨습니다.

기존 llpv-rest는 agent로부터 데이터를 전송받으면 kafka로 저장하고 llpv-process(spark) 프로그램으로 데이터를 가공하여 ElasticSearch에 저장하였는데,

기존 구성도

이 프로세스를 llpv-rest에서 데이터를 전송받을때 바로 가공하여 MariaDB로 저장하도록 변경하였습니다.

AWS 서버이전 구성도

추가로 jenkins를 이용해서 CI를 구축하려고 했는데 llpv 뿐만아니라 다른 python 사이드 프로젝트도 돌아가고 있기 때문에 메모리가 너무 부족해서 jenkins는 서버 최적화를 시킨 후 진행 하기로 하였습니다.

4) AWS 서버 port open하기 - AWS 포트 열기

AWS 서버를 사용하다보면 port를 열어야합니다.
EC2탭에 사용하고있는 instance에서 보안그룹을 수정해주시면 됩니다.

3. 마치며

처음 AWS를 이용해봤는데 서비스가 정말 많은 것 같습니다. 그리고 좋은점은 Volumn 백업, 재사용이 간편한 점이 너무 좋았고, 저는 아직 많이 이용해보지 못했지만 필요한 서비스를 직접 구축 할 필요없이 제공된 서비스를 사용하면 금방 구축할 수 있을 것 같아 좋았습니다.

정말 많은 서비스들이 있지만 제대로 활용하기 위해선 공부가 필요할 것 같고 재밌는 경험이였습니다.

반응형
Comments