Mr.Tint

AWS, 얼마까지 내봤니? 본문

Development Note

AWS, 얼마까지 내봤니?

잇힝유후 Mr.Tint 2015.01.09 11:00

이불킥 할만한 사건이 생겼다. 지금도 여기에 글을 쓰면서 부들부들 거리지만..

최근들어서 AWS 를 엄청 많이 이용하고 있다. 특히 과금이 안되는 부분이 매력적인 Free-tier 를 주로 사용하고 있는데 얼마전 즐겁게 롤하고 있는 늦은 저녁 구글 메일이 한통 왔다.


URGENT? 뭐가 급해서 나한테 AWS 에서 메일이 와?




여튼 급하니까 뭘 어찌 해달라는건지 보지는 않고 닫아 버렸다. 롤을 한참 다 마치고 나서 몰려오는 졸음에 침대에 누워서 웹서핑이나 조금 즐기고 있는 터에 메일이 또 하나 왔다. 가장 먼저 들어오는 문구는 이랬다.


Your current EC2 usage is about $2400 per day.


엥? 뭐라고요?? 뭐가 2400 불이라는 거지? 하고 들어가 봤을때는 이미 많은 것들이 햌퐄곀을 맞은 상태였다. 진짜 그야말로 소오름 끼치는 상황이 발생했다. 문제는 이때까지도 잘 몰랐다는 점.. 급하게 PC 를 켜서 EC2 상태를 보니 내가 사용하는 동경 지역의 EC2 인스턴스가 몇개가 더 생성 되어있어서 얘들을 삭제하고 다시 잠이 들었다.

너무 피곤하기도 했고.. 너무 새벽이라 뭘 할 경황이 없는 건지 정신이 나간건지 어쩐건지 아오 ㅋㅋ


다음날 회사에서 다시 AWS 페이지에 접속해서 살펴보니..


어떤 미친놈이 EC2 의 모든 리전에 인스턴스를 20개씩 만들어 놨다. 여기저기 살펴보니 보통 갓중국에서 비트코인 추출용으로 계정을 해킹한다고 하는데 그런 용도로 당했나 싶었다. 하지만 알고보니 "해킹" 보다는 나의 "부주의함" 이 주 원인 이었다. 이전에 Jersey + DynamoDB 연동을 수행하면서 소스코드에 Access Key 와 Password 를 적어 두었는데 그게 실수로 Github 에 올라가면서 생긴 일이었다. 분명 회사 네트웍에서는 막혀 있어서 업로드에 실패했는데 올라가 있더라는게 화근 이었다. -_-; 결국 부주의한 나의 보안 상태가 가장 큰 문제가 된 것이었다. 결국 이 금액은 조금 더 불어서 2900불 정도가 되었는데 여기저기 수소문 한 결과로는 AWS Support 를 통해서 환불을 받는 방법 뿐이라고 했다. 



평소에 영문으로 메일을 쓸일이 없어서 굉장히 난감했는데.. 결국 나는 나를 믿어보기로 했다. 두.뇌.풀.가.동. 없는 영어 있는 영어를 짜낸것이 아니라 극한의 상황(?) 에서 수행한 영어라 그런지 이게 내가쓴건지 어쩐건지 경황이 없다. 가장 먼저 보낸 비굴한 첫 메일을 공개한다. 슈발 ㅋㅋ


Hello.

First of all, I'm not good at English. I'm trying to write in English harder than ever.
I am a developer in the Republic of Korea.

I am weighing up which AWS service to choose in our project.


So I have been using ONLY Free-tier service at Tokyo-region since July, 2014.
Yesterday, I received a mail "URGENT: Suspected Unauthorized Activity on Your AWS Account" at midnight.
I deleted root access keys. But someone made many instances without Tokyo-region. It was midnight, I had no mind for checking other regions.
I didn't make these instances and use other regions.
Maybe someone hacked my account and I've got ruinous fees.

I have no hope. And I'm terrified of using there.
I'm trying to keep my security being better.

Can I have a refund on this, PLEASE?

I remain yours sincerely.
Hansan Nam.



이렇게 비참하게 메일을 적고 이틀이라는 시간을 기다려서 첫 답변을 받았다.


Hello,

Thank you for getting back to us so quickly. It looks as though you've cleaned up your account quite nicely and most importantly, the exposed access key was deleted from the account.

We will be happy to request a refund on your behalf. I will need to monitor the account for 24 hours prior to submitting a refund request. Once I'm sure everything has gotten back to normal, I'll submit a refund request on your behalf. Once it's approved, I'll let you know via this case.

Please allow 7-10 business days for the refund request to be reviewed.

I really appreciate your patience and understanding with this situation. I will get back to you as soon as possible.

Best regards,

Shane C.
Amazon Web Services
We value your feedback. Please rate my response using the link below.



크흐흑 결국 리뷰를 통해서 환불을 해주시겠다는 답변을 받고 얼마나 놀란 가슴을 쓸어내렸는지 모른다 ㅠㅠ

결국 이달 청구되었던 3000여불의 금액은 다음달 카드 결재 취소가 되어서 0원으로 다시 돌아오게 되었지만 그 아찔했던 순간 만큼은 잊지 못할 것이다. 보안.. 몇 번을 이야기 해도 중요한 것 같다.


이 자리를 빌어서 나를 도와준 AWS 상담원 이들에게 고마움을 전하고 싶다.


Thanks, Shane C. And Gerald!!

저작자 표시 비영리
신고
6 Comments
  • 프로필사진 Favicon of http://gallerymomo.tistory.com BlogIcon ASH84 2015.01.09 17:58 신고 흐미 깃허브올릴때 다시한번 봐야 겠네요
  • 프로필사진 Steve 2015.02.25 04:20 신고 저도 오늘 메일을 받아 지금 멘붕상태에서 님의 글을 보고 우선 가슴을 쓸어내리고 있습니다. 우선 메일을 보내긴했는데 님의 글을 보면서 한가지 의문점이 있어서 이렇게 댓글을 달아요.. 저같은 경우엔 서버 한대 돌리면서(우분투에 워드프레스정도..) 달리 셋팅해둔게 없긴 한데.. 누군가 제 계정으로 접근해서 님과 같은 사태를 만들었더군요.. (참고로 전 1천달라 ㅎㅎㅎㅎ)
    그런데 저같은 경우엔 암호를 쉽게 만들어 놓은 암호로(아마도 스크립트 돌려서 뚫린듯 한데..) 로그인을 한듯 한데요.. 님의 경우엔 aws 사이트의 로그인 암호를 코딩에 끼어 넣어 그런 사태가 발생했다라는 말씀인가요? 억세스키 같은 경우엔 단지 서버에 접근하기 위한 보안키일테고.. 그걸로는 다른 서버를 생성할 수 없으리라고 보고 패스워드라고 언급하신거보니깐 aws 웹사이트 로그인 암호를 의미하시는거 같은데.... 궁금해서 여쭤 봅니다.. 그리고 님 글 덕분에 우선은 안심했습니다..(물론 아직 응답은 없지만)...

    그리고 저도 서포트페이지 통해서 빌링 이슈로 메일을 보내긴 했는데 히스토리를 보니 중요도가 LOW로 떠 있더군요.. 지금쯤이면 근무시간일텐데.. ㅜㅜ 어떻게 하면 HIGH로 바꿀수 있을지... 에휴휴
  • 프로필사진 Favicon of http://blog.lifeis.gift BlogIcon 잇힝유후 Mr.Tint 2015.02.25 10:19 신고 일단은 좋은 결과가 있기를 간절히 바라겠습니다.
    쉽게 암호를 만들어 두셨더라면 특별하게 드릴 이야기가 없네요. 하지만 패스워드 유출이든 뭐든간에 실제 인스턴스를 만든일이 없다고 잘 피력을 하셔야 합니다. 과금 정책이 본인께서 사용하신 금액에 대해서만 과금하는 경우인데 지금의 경우에는 타인의 접근에 의해서 문제가 발생했으니까요~ 일단 말씀하신 억세스키 같은 경우도 ROOT 의 권한을 가진 형태의 키와 패스워드는 분명 인스턴스를 만들 수 있습니다. 꼭 콘솔 화면에서 만들어야 하는건 아닌 듯 하네요.

    일단은 계정에 OTP 를 설치하는 방법이 있으니 이를 꼭 사용하시면 2차적인 사고를 예방할 수 있을거에요. 그리고 국내와 같지 않도록 서포트 페이지에 등록한 글은 꽤나 오랜시간이 걸립니다. 인내심을 가지고 기다리시면 잊을만 할때 쯤에 메일 회신이 옵니다. ^^

    좋은 결과 있으시길 바라겠습니다~
  • 프로필사진 Steve 2015.02.25 15:32 신고 넵 결국 참지 못하고 전화신청을 했더니 바로 오더군요.. 우선 문제에 대해서는 해결이 되었습니다. 그리고 서버를 지우면서 생각해보니 이건 웹싸이트로(콘솔페이지) 만들수 있는게 아니라는 생각이 들었는데 역시나 그렇군요... 그리고 OTP를 통한 로그인 기능이 있었나요? 찾아봐야 겠습니다. 조언 감사합니다.

    ---> MFA 라는게 있었네요.. 오늘 새벽엔 맨붕상태라 제대로 못봤는데... 다른 OTP랑 사용법은 똑같네요.. 바로 등록했습니다.
    그런데 이 OTP는 웹 사이트 접근만 아닌 서버내에서도 필요한가보죠?(이번 사태와 같이 여럿 서버들을 한번에 만들기 위해)
  • 프로필사진 Favicon of http://blog.lifeis.gift BlogIcon 잇힝유후 Mr.Tint 2015.02.25 18:25 신고 네 다행이네요 ^^
    MFA 라고 불리웠던것이군요.. 알고 있었는데 잘 기억이 안나서 MFA 를 말씀을 못드렸네요. 여튼 1차적인 문제는 MFA 를 통해서 해결이 가능합니다만 ROOT 권한 계정은 당연히 노출이 안되어야 하는건데 저같은 경우에는 role 을 생성하여 EC2 인스턴스에 대한 생성이나 이런부분을 완전히 제거한 role 을 사용자에게 부여하는 방식으로 사용합니다. 각 계정에 대한 억세스키와 패스워드를 생성할 수 있으니 해당 키들이 유출 되서는 안되겠으나 해당 role 을 부여하면 적어도 인스턴스 생성으로 인한 과금정도는 막을 수 있을 듯 합니다. ^^
  • 프로필사진 흑흑 2016.09.06 11:16 신고 와~ 황당한 경험들 많구나...
    저는 가입하고 첫날 프리티어로 이것 저것 설치하고 설정하고 하면서 살펴보기 하다가...
    다음날 들어가 보니 202달러 정도는 이미 청구 올라갔고 월말까지 5천 몇백달러 예상되는 걸로 나오더라고요.
    그나마 이것도 다음날 또 이거저거 살펴보다 빌링모듈도 한번 봐야지 하면서 들어가서 보게 된거지 영영 모를 수도 있었던 사연...

    저는 무조건 support 들어가서 전화신청 해놓고 기다리니
    영어로 뭐라뭐라 하길래 딱 2마디 했죠.
    Can u speak korean? I want someone who can speak korean.
    그랬더니 또 영어로 뭐라뭐라 하길래 무조건 땡큐땡큐.... ㅋㅋㅋㅋ
    잠시후에 한국어하는 미국콜센터 직원이 전화와서 가입한지 2일밖에 안됐는데 황당하다...어쩌구 했더니...
    청구분은 모두 크레딧으로 처리해준다고 하더군요. (결국 지불청구 0원으로 한다는 얘기)

    나중에 꼼꼼히 살펴보니까 콘솔대시보드에 무슨 위자드 어쩌구 하는 기능들 테스트 했는데 이게 모두 유료에 시간당 어마무시한 비용이 청구되는 제품들이었음... ㅡㅡ;;;;
댓글쓰기 폼