AWS 인스턴스 스펙선정에 대하여..

이번에 총 두개의 프로젝트를 실제 배포를 해보면서 학부 3학년때인가 AWS수업을 들을때는 정말 개발에 대한 지식이 하나도 없을때여서그런지 EC2에 내가 만든 서버하나 올려서 돌리는것도 너무 어렵게 느껴졌다. 하긴 저때는 내가 만든 서버라는것도 없었을때였다.

아무튼, Node.js프로젝트를 진행하면서 프로젝트 구조에 한계를 느끼고 타입이 없는 자바스크립트에 대한 신뢰성이 떨어지면서 이제 더이상 단순히 CRUD가 아닌 여러요청이 한번에 많이들어온다면 어떻게 처리를 할것인지, 로그인 도중 사용자의 인터넷이 연결이 끊기면 어떻게 처리할것인지 이러한 사용자 입장에서 생각하며 서버를 만들어야할 때가 됬다고 생각한다.

더이상 CRUD를 가지고 했던 프로젝트로 포트폴리오를 만들어가는건 정말 의미없는일이며 최근에 현업에 계신 다양한사람들의 유튜브나 기술블로그를 많이 접하게되면서 많은 반성을 하게되었다.

최근 기술과제를 진행해보았는데 구현조건에 실제 서비스에 쓰인다는 마인드로, 효율적이고, 견고하게 프로젝트를 진행해달라고 하셨다.

Building Enterprise app with Node/ExpressHow does database indexing work? 등등 많은 Stackoverflow를 참고하며 프로젝트의 구조, Indexing에 대해서 고민을 하며 테이블을 작성했다.

그래서 이번에 배포를 하면서 단순히 구글에 있는것을 따라하며 배포하는것이 아닌 이제 제대로좀 알고 판단을해서 AWS 인스턴스에 대한 스펙을 선정하고 싶었다.

KakaoTalk_Photo_2021-08-23-18-04-09 001

답변해주신 내용은 써봐야압니다 였다. 역시 직접 경험해봐야 아는것이였다.

현재 RDS를 돌리고있는데 하루에 1000원꼴의 요금이 부과되고있는것같다. 사실 배포를 망설였던 이유중에 금액이 어마어마하게 나올까봐에 대한 두려움도 있었다.

이건 정말 무지했던것 같다. 내 서버를 이용하는 사람도없어서 트래픽도 없을텐데 무슨 어마어마한 금액이 나온다는것인가

막상 걍 해보자라는 마인드로 돌려보니 생각보다 얼마 안나왔다. 차라리 지불하고 내가 이런 깨달음을 얻는게 훨씬 좋은것같다.

KakaoTalk_Photo_2021-08-23-18-04-10 002

주신 링크에는 천만 사용자를 위한 클라우드 아키텍처, 5년간의 여정 이라는 제목의 블로그글이다. 글 내용중에 따로 발표를 하신 youtube영상도 있는데 AWS에 대한 개념이 아예 없는 나같은 사람한테 기초 다지기에 정말 좋은것같다. 실제로 내가 블로그에 정리를 해놓긴했다. 링크

KakaoTalk_Photo_2021-08-23-18-04-10 003

여기서 서로 다른 AZ는 물리적으로, 전기나 시설이 분리됬기 때문에 AZ-a, AZ-c 같이 2개의 AZ를 사용한다면 한쪽이 장애가 발생해도 서비스는 유지할 수 있으니까요 라는 말씀에서 AZ가 실제로 물리적으로는 분리되어있다는 말이

Screen Shot 2021-08-23 at 6 33 23 PM

이 그림을 이해하는데 정말 많은 도움이 됬다. 한곳에 묶여있어서 물리적으로 같은곳에 있는줄 알았는데 그게 아니였다.