지난 프로젝트 진행 중 EKS를 사용하여 배포를 진행했었다.
오늘은 프로젝트 배포 과정 중 내 실수로 과금이 발생한 과정과 이를 해결한 경험을 공유해볼까 한다.
사건의 발단 및 요약
사건의 발단은 프로젝트 배포 과정 중 AWS-CLI를 사용한 것이었다. 보통 AWS 서비스를 사용할 때 2가지 방법으로 사용이 가능하다. 첫 번째는 AWS 웹페이지의 콘솔 창을 이용해서 GUI 환경을 통해 쉽게 서비스를 사용하는 것이다. 하지만 매번 매니지먼트 콘솔 창과 개발 환경을 번갈아가며 사용하는 것이 번거롭기 때문에 AWS는 CLI환경에서 명령어를 통해 서비스를 통합 제어 가능하도록 지원해준다.
AWS-CLI에 관한 설명 및 설치 방법이다.
aws-cli를 사용하기 위해서는 본인 계정의 액세스 키 및 사용할 리전을 등록하는 단계를 거쳐야 한다.
대략적으로 아래와 같은 과정을 거치게 된다.
aws configure
↓
access key
secret access key
region
data type
설정
↓
이후 명령어를 통해 aws의 서비스 실행
쉽게 생각하면 콘솔에서의 로그인하는 대신 cli 환경에서 본인의 aws 계정을 등록하여 로그인을 하는 것이다.
제대로 설정하면 .aws 디렉터리가 생성되고 위와 같이 로그인 환경이 저장이 된다.
문제는 여기서 발생했다!
평소 학원에서 준 AWS 계정을 사용하여 프로젝트를 진행했었는데...
cli환경의 로그인 정보(프로필)를 학원 계정으로 변경하고 사용한다는 것을 깜박한 것이다..!!
결국 EKS / RDS / EC2를 내 개인 프리티어 계정으로 빌드업하여 배포해놓은 꼴이었다...
더 최악인 것은 테스트를 위해 4~5일 정도 배포해놓고 깜빡했다는 것이다.
결국 이를 계기로 나는 약 19만 원의 과금 청구서를 맛볼 수 있었다.😅 ㅎㅎ..
상황 파악
일정 금액 또는 서비스 사용량이 프리티어 계정의 한계 사용량에 다다르면
aws-budget을 통해 이메일이 오도록 설정해놓았는데 아래와 같은 메일을 받게 되었다.
해당 메일을 처음 받았을 때 순간 머리가 띵했다......
'엥??... 프리티어 계정을 사용한 적이 없는데 왜???'
'말로만 듣던 aws 계정 해킹인가??... 액세스 키 관리는 누구보다 잘했는데..'
일단 마음을 가라앉히고 계정으로 들어가서 청구된 금액에 대한 영수증을 확인해 보았다.
계정에 청구된 금액을 확인하기 위해서는 root 계정으로 로그인을 해야 했다.
청구서 -> 결제 -> csv 다운로드 통해
아래와 같이 내가 어떤 서비스를 사용했고 어떤 부분에서 과금이 되었는지 확인할 수 있다.
EC2와 EKS에 청구된 과금을 확인하자마자 머리가 띵했다!
'나 혹시 cli 프로필을 변경하고 서비스를 실행했었나...???'
서둘러서 aws-cli에서 로그인 정보를 확인해보았다.
결과는 역시 내 개인 프리티어 계정으로 로그인되어있었다!!
즉, 이번 과금에 대한 잘못은 계정관리를 올바르게 하지 못한 온전히 내 개인 잘못이었다.
지금 당장 과금이 걸린 리소스들을 삭제한다 해도 대략 20만 원의 요금을 지불해야 했고 지불하는 것이 당연했다...
(서비스를 이용했으면 돈을 내야지 ^^....)
하지만
비용을 지불하더라도 내 약간은 억울한(???) 상황을 하소연이라도 해보자라는
심정으로 aws 고객센터에 상담을 신청했다.
(양심을 내려놓고 ...)
상황 해결
상담 신청은 aws 콘솔 우측 상단바의 물음표를 누르고 지원센터 창으로 들어가서 할 수 있다.
지원센터에 들어가면 'create case'가 있으며 이를 누르면
'account and billing' 및 'technical'로 issue를 구분하여 상담을 신청할 수 있다.
나는 당연히 전자를 선택했고 이후 순서대로 어떤 service / category 내에서 내 문제에 해당하는 부분을 선택하였다.
이후 addtional information 페이지에서 내가 겪은 상황에 대해 description과 subject을 작성하여,
내가 지금 어떤 상황에서 곤란을 겪고 있는 최대한 상세히 작성한 뒤 상담을 신청하였다.
(*꿀팁 : 상담을 신청할 때 과금에 대한 내용이라면 청구서를 다운로드하여서 첨부하여 신청하면 좋다.
과금 내용을 보고 상담사분이 해당 케이스에 대해 훨씬 더 신속하고 정확하게 대처가 가능하시다.)
부족한 영어로 나는 아래와 같이 description을 작성하였다.
(혹시 참고하실 분이 있으실까 봐 올려본다
진심으로 영어공부를 꾸준히 해야겠다는 계기가 되었다...)
Hello. I am using Free Tier. I am a student studying aws. I am using the account paid by the academy. I made a project in the month of May. It uses eks. I thought I was using the account paid by the academy. But I used my personal free tier account. So I was charged about $200 this month. I hastily stopped the eks related services. Can you help with unintentional charges?
신청한 case가 접수되면 email로 case가 접수가 되었다는 내용이 발신되고 확인할 수 있다.
이후 내 case를 상담 직원이 open 하면 나는 실시간 chat 또는 이메일로 연락을 주고받아
문제에 대해 상담을 진행할 수 있다.
나는 빨리 물어보고 도움을 받을 수 없으면 빨리 과금을 지불해버리고 잊어버리고 싶어서
실시간 chat을 통해 상담사 분과 대화를 진행했다.
총 1시간 30분 동안의 대화 및 상담이 진행되었으며,
결론적으로
AWS 측에서 내 상황을 이해해주고 과금을 대신 지불할 수 있는 수단으로 일정량의 크레디트를 지급해주었다.
(앞으로 Amazon이라는 대기업에 충성할 수밖에 없을 것 같다..... :))
아래는 1시간 30분 동안 이루어진 대화 내용이다.
대략적으로 요약하자면
1. 지금 사용하고 있는 리소스를 삭제해라
( aws는 내 계정에 접속할 수 없다!!! 내가 사용하는 서비스에 대한 리소스 등을 모니터링할 수는 있었도 개인 계정에 접속하여 관여할 수 없기 때문에 똑같은 부분에서 과금이 청구되지 않으려면 상담사 분의 안내를 잘 따라서 리소스를 삭제해줘야 한다. )
↓
2. 리소스를 삭제했다면 과금에 대해 aws 측이 도와줄 수 있는지 없는지 확인
↓
3. 만약 도와준다면 크레디트를 지급해주고 확인
↓
4. 지급된 크레디트를 확인
(결제 예정일에 지급된 크레딧을 통해 자동으로 결제된다.)
아래는 대화 내용이다.
(대화 내용을 보면 우선 더 이상의 과금이 발생하지 않게 하기 위해 리소스를 삭제하는 것이 우선이다..!! 나는 리소스를 삭제하는 부분에서 오류가 있어서 엄청나게 오래 걸린 케이스이다.!!
대화 내용을 첨부하는 것은 나는 영어를 잘하지 못하는데도 aws 측과 소통이 가능했고 무엇보다 aws에서 적극적으로
내 문제를 해결하기 위해 노력해준다는 것을 보여주고 싶었다.)
댓글