brunch

You can make anything
by writing

C.S.Lewis

by 소수의힘 Oct 12. 2024

정전예고, aws 그리고 UPS

고민할 게 많고도 많다.

이번 주 초에 문득 엘리베이터에 붙은 게시물을 보다가 금요일에 아파트 전체 점검이 있어 9시부터 1시까지 정전이 있을 것이라는 예고를 보았다. 우리 아파트는 가뜩이나 노후한 아파트라 정전이 많아 예전부터 자꾸 내 서버에 전원이 내려갈 때마다 서버를 사용하는 사용자들의 문의가 폭주하고는 하여 1시간 정도를 버틸 수 있는 UPS(무정전 전원 장치)를 달아 두었다. 다만 이것도 문제가 있는 게, 1시간 내에 문제가 해결이 되면 다행이지만 보통 우리 아파트는 한번 정전이 터지면 복구하는데 평균 2시간 정도가 걸린다는 점이었다. 정전만 되면 불안하게 UPS 쪽을 쳐다보다 결국 UPS전원까지 나가면 그때부터 쏟아지는 문의를 정신없이 답하느라 지치곤 하였다.


이번 정전은 무려 4시간짜리, 그것도 아침 9시부터 오후 1시까지이니 사용량이 상당히 많은 시간이다. 분명히 엄청난 양의 문의가 쏟아질 것이 분명하다. 몇 시간만 기다려 달라고 말하면 되는 일이긴 하지만, 항의를 계속 받는 것도 매우 큰 고통이다. 그렇다고 전화를 꺼놓거나 아예 안 받게 되면 그건 또 나름의 신뢰 문제라 그렇게 할 수도 없는 노릇이다.


어떻게든 해결을 해야 했기에 여러 방법을 강구해 보았다. 제일 처음 생각한 건 근처의 캠핑샵에서 캠핑용 파워뱅크를 대여하는 것이었다. 캠핑용 배터리는 1박 2일, 길게는 2박 3일까지도 전기를 공급해야 하기에 매우 용량이 큰 편이다. 그 정도 배터리라면 3~4시간 정도 버티는 것은 문제가 아닐 것이라고 생각했다.

문제는 지금이 캠핑의 성수기라는 점이었다. 근방의 모든 캠핑점에 전화를 돌렸으나 이미 모두 예약된 상태였다. 구매를 문의해 보았으나 구매하려면 주문을 하고 꽤 오래 대기해야 한다고 한다. 결국 첫 번째 해결책은 예상치 못했던 문제로 인해 폐기되었다.


두 번째 해결책은 AWS(아마존 웹 서비스)를 이용하는 것이었다. AWS는 간단히 말해서 서버를 임대하는 것이다. 아마존의 거대한 서버에서 정말 작은 공간 하나를 빌리는 것인데, 어차피 내 서버의 데이터량은 크지 않으니 충분하지 않을까 싶었다. 비용이 월 1~2만 원 정도 든다면 집에 서버를 놓는 것보다 훨씬 저렴한 데다 정전으로부터도 자유로울 수 있고 심지어 비용처리도 가능하다. 정말 완벽한 해결방안이다 싶어 첫 번째 해결책을 폐기한 이후 정신없이 aws 서버에 데이터베이스를 구축하는 걸 배웠다. 화요일에 시작한 작업이 대략 수요일 밤에 끝났다. sql 올리고 phpmyadmin 올리는 데까지 얼마나 많은 시행착오가 있었는지, 난생처음 보는 리눅스 명령어들을 달달 외울 정도로 치고 또 치고 하다 보니 결국은 지금 내 서버에 있는 데이터베이스와 동일한 데이터베이스를 생성하는 데 성공했고 외부 접속까지 완벽하게 성공했다. 심지어 프리 티어(1년간 제공되는 무료 서비스)로 구축했기 때문에 1년 간은 비용도 들지 않는다. 엄청나게 뿌듯한 느낌이 들었고 이제야 정전의 공포로부터 완벽히 해방되었다는 기쁨을 느꼈다. 금주 중이어서 아쉽게도 축배를 들지는 못했지만 금주 중이 아니었으면 정신줄 놓을 때까지 맥주를 마시며 자축했을 것이다.


세상만사 다 내 뜻대로만 되면 얼마나 좋으련만, 내 두 번째 해결책은 목요일에 완전히 박살 났다. 내 서버와 AWS에 동시에 연결되어 있던 것을 내 서버 쪽의 연결을 끊으니 그 순간 AWS에 순간적인 접속이 몰려 바로 다운되어 버린 것이다. 정전도 아닌데 또 몇 시간 항의에 시달렸다. 괜한 짓을 했다는 생각이 들었고 역시 뭘 모를 때 함부로 시도하는 것이 아니라는 걸 또다시 깨달았다. 원인은 동시 접속 수였다. 데이터가 많지는 않지만 프로그램을 실행할 때마다 조금씩 불러와야 하는 데이터가 있어 많은 사람들이 동시에 데이터를 요구하자 AWS 무료 티어로 만든 서버가 바로 다운되어 버린 것이다. 사람이 많이 몰려도 쓸만한 서버를 구축하려면 그것도 비용이 만만치 않을뿐더러 관리하는 것도 쉬운 일은 아닐 것 같아 결국 두 번째 해결책도 폐기할 수밖에 없었다.


결국은 월요일부터 목요일까지의 모든 고생이 다 부질없었구나 싶을 때, 마지막 해결책이 떠올랐다. 지금 UPS가 1시간을 버티는 게 문제의 시작이었으니 4시간을 버틸 수 있는 UPS를 구하면 되지 않을까 하는 생각이 떠오른 것이다. 현재 쓰고 있는 UPS는 950VA, 520W 정도의 용량이니, 4 배면 3000VA, 2000W 정도면 되지 않을까 싶어 인터넷을 검색해 보니 가격이 이백만 원을 훌쩍 넘는 가격이었다. 포기하려는 찰나 네이버 카페 중고글 중 회사 직원이 실수로 잘못 주문한 UPS를 백이십만 원에 판다는 글을 보게 되었고 그게 또 마침 3000VA짜리 용량의 UPS라 이건 하늘의 도움이라 생각하고 바로 연락해 금요일에 구입하러 가기로 하였다. 위치가 대전이라 오며 가며 4시간은 걸리겠지만, 그래도 내 모든 고민을 한 번에 날려줄 유일한 방법이기에 망설일 필요가 없었다.


결국 이번의 정전 예고로 인한 결과는 집에 3000VA짜리 UPS가 하나 설치된 것으로 끝났다. 하나 염두에 두지 못한 점이 있었는데, 내가 사 온 UPS는 산업용 UPS라 개인이 쓰기에는 많이 무거운 물건이었다. 50KG짜리라고 어디서 봤던 기억은 났으나 사람이 뭔가 하나에 빠지면 나머지가 보이지 않듯 해당 무게는 고려의 사항이 아니었었다. 그러나 차에 실을 때부터 이건 뭔가 잘못된 느낌이 크게 들었다. 혼자서 짊어질 만한 무게가 절대 아니었다. 심지어 포장 케이스에 여러 사람이 날라야 한다고 친절하게 그림까지 그려져 있는 물건이었다. 원래 서버랙에 넣고 쓰는 물건인 것을, 집에 서버랙이 없어 벽에 대충 세워놓고 설치를 마쳤다. 글로는 한 두 문장으로 끝날 일이지만, 온갖 욕이란 욕은 다 하면서 UPS를 옮겼다. 아마 한번 설치하면 절대 움직일 수 없는 물건인 것 같다.


정전은 생각보다 별게 없었다. 4시간이라고 공고가 왔지만 실제 정전은 1시간 남짓이었으며 항의 전화도 오지 않았다. 그러나 그 정전 공고 때문에 이번 일주일 동안 온갖 고민으로 두통이 생길 지경이었다. 그래도 해결은 했으니 다행이라고 해야 할까. 가진 돈으로 해결할 수 있는 문제라면 생각보다 큰 문제는 아니었던 것이 분명하다. 이번 사건 덕분에 AWS에 DB서버 설치하는 방법은 제대로 배웠고 서버 관리하는 게 보통일이 아니라는 것도 배웠다. 배움은 정말 감사한 일이지만 이런 형태로 오지 않았으면 싶다. 이제 그동안 딜레이 된 일들을 해결해야 할 시간이다. 하나의 문제가 해결되면 다음 문제가 오는 게 개발자의 삶이 아닐까 싶다.


시간은 24시간이라고 되어 있는데 아마 용량으로 계산해 보면 대략 4시간 정도 정전을 버틸 수 있을 것 같다. 난 이제 배터리 부자다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari