AWS-장고로 백엔드 만들기(1) - Lightsail에서 ubuntu 인스턴스 생성하기

jiiiii·2021년 8월 30일
1

졸업 작품

목록 보기
1/3
post-thumbnail

졸업 작품으로 만들고 있는 안드로이드 어플리케이션의 백엔드를 만드는 과정에서 예상치 못하게 장고를 쓰게 됐다. 그런데 서버를 로컬에서만 돌릴 수는 없어서 AWS를 사용하게 됐다. 진행 과정을 잊어버리지 않기 위해 작성하는 시리즈!

1. AWS EC2

처음에는 EC2를 사용하려고 했다.
처음에는 Ubuntu 16.04를 선택해서 인스턴스를 만들었다. (참고하던 포스트에서 이걸 사용하길래 그냥...) 인스턴스를 만들고 필요한 패키지를 까는데 여기서부터 문제가 생겼다. 우리는 OpenCV와 Dlib을 설치해야 하는데 속도가 느려도 느려도 너ㅓㅓㅓ무 느린 것. 밤새 노트북을 켜놓고 설치가 되기를 기다렸는데... 기록을 안 해놔서 정확히 무슨 에러가 떴는지는 기억이 안 나지만 검색을 해보니 메모리가 부족하면 그런 에러가 뜬다고 했다.

라즈베리 파이만도 못한 스펙을 가지고 있으니 그럴 수밖에....^^..
그런데 무료로 쓸 수 있는 건 이것밖에 없어서 대안을 생각을 해내야 했다.

2. Lightsail

AWS에는 EC2 말고 좀 더 간편하게 사용할 수 있는 Lightsail이라는 서비스도 존재한다. EC2는 여러가지 설정과 요금 체계가 너무 복잡하고 트래픽도 사용하는 만큼 따로 또 돈을 내야하다 보니 개인이 뭔가를 해보려고 할 때는 좀 비효율적이다.

반면 Lightsail은 정해진 CPU,메모리 등의 한도 내에서 원하는 만큼 사용하고 정해진 만큼의 금액만 지불하면 된다.

하지만 우리 팀이 이걸 사용하게 된 이유는 무엇도 아닌 공짜로 사용할 수 있는 메모리의 양이 조금이라도 더 많았기 때문...^^ EC2는 공짜로 사용할 수 있는 기간이 lightsail보다는 훨씬 길지만(EC2는 1년, Lightsail은 3개월) 제공하는 메모리와 CPU가 개미 오줌만해서 OpenCV조차 안 깔리니... 이쪽으로 넘어오는 수밖에 없었다. (심지어 우리 학교는 복전생은 졸업 프로젝트 지원금도 안 줘서 돈 내고 메모리가 넉넉한 걸로 인스턴스 생성도 못함)

++ 무료 이용 기간 중에도 총 사용 시간이 750시간이 넘어간다면 그 이용량만큼 돈을 내야한다. 이것저것 하느라 인스턴스를 여러개 만들어 실험해보는 동안 인스턴드 여러 개가 동시에 돌아가서 한 달 동안 총 이용 시간이 750 시간을 넘어가 약 6000원을 지불하게 됐다. 베조스 네이놈 넌 대머리를 벗어날 수 없을 것이야...ㅡㅡ

3. Lightsail-Django

Lightsail에서는 인스턴스를 생성할 때 blueprint를 선택할 수 있다. 우리는 Django를 우선 선택해서 해봤다.

하지만 여기서는 설치가 문제가 아니라 DB에서 문제가 생겼다. Mysqlserver와 Mysqlclient 설치가 계속 제대로 안 돼서 우리가 작성한 프로그램 실행이 안 되는 것이었다. MariaDB로 변경해서 사용해볼까 했는데 그것도 생각대로 잘 안 돼서 이건 패스하기로 했다.

나중에 찾아보니 이건 Bitnami에서 AWS와 파트너를 맺어 배포하는 어플리케이션(?)인데 여기서 저 DB 오류가 많이 난다고 했다.

4. Lightsail-Ubuntu


최종적으로는 Ubuntu 20.04를 사용했다. Ubuntu 16.04, Ubuntu 18.04, Amazon Linux 2도 사용을 해보았지만 계속 OpenCV와 Dlib를 설치하는 과정에서 문제가 생겼고(아직도 이유를 모름) 마지막으로 시도해본 Ubuntu 20.04를 사용하니 너무 수월하게 성공을 했다. 기쁘긴 했지만 왠지 모를 허탈함이 들었다. 그래도 어쨌든 성공 했으니 끝!

0개의 댓글