AWS를 사용할 때 제일 신경쓰이는게 요금이 청구되는 것이다.
나 역시 AWS 배포를 하면서 요금 청구에 대해서 이것저것 검색해보았었다.
그에 관한건 따로 다루지 않고, 실제로 어떤 요금이 얼마나 청구되었는지를 여기 작성하려 한다.
우선 AWS를 이용한 내용들을 보자면,
1. firebase와 연결된 포트폴리오 사이트 (S3, CloudFront, Route 53)
2. 첫 프로젝트 데모 사이트 (EC2에 서버/DB, S3에 Front)
3. HTML/JS로 이루진 페이지의 APIKey를 숨기기 위한 중간 서버 (EC2에 서버)
이런 내용들을 위해 AWS를 사용했으며,
5월 22일쯤에 AWS에 배포를 시작했는데, EC2의 Ubuntu, t2.micro 프리티어 세팅으로 앞서말한 2,3번의 서버 2개를 돌렸으며, 고정 아이피를 각각 할당하여 연결했다.
그리고 R3에 앞서말한 1,2번의 Front 2개를 올렸고, 그 중 한개는 앞서 말한 2번의 EC2에 연결되어있다. 그리고 나머지 한개는 1번으로 CloudFront를 이용하여 배포되고, Route 53을 이용해 가비아에서 구매한 도메인을 호스팅 하고 있다.
참고로 RDS는 테스트만 해보고 바로 삭제했었다.
자 그럼 이제 청구서를 보자.
5월 (USD 0.58)
예상과 다르게 첫달 그것도 약 일주일 정도의 기간만 사용했는데도 요금이 청구되었다.
내역을 자세히 보자면
Route 53은 내가 구매한 도메인을 호스팅 해주는 기능으로, 첫 25개의 호스팅당 $0.50의 요금이 청구된다. 만약 10개를 호스팅하면 $5가 청구되는것이다. 그리고 이게 세금은 제외된 금액이라 지금 $0.50의 청구 요금이 실제로는 $0.55가 청구된다고 봐야한다.
그리고 그 아래 Global에서 $0.01이 발생한 이유는 사이트 올리고 테스트하면서 여러번 들어가고, 해당 사이트가 포트폴리오 사이트다보니 주변에 알리면서 접속이나 여러가지가 발생하여 24,747의 쿼리가 발생했고, 그에 따른 요금이다.
해당 내용으로보아 만약 사이트에 엄청 많은 접속이 발생할 경우 요금이 더욱 청구될 것 같다. 그 다음달은 5,042의 쿼리가 발생했고, 쿼리수가 적어서 요금이 청구되지 않았다.
RDS 서비스도 $0.01의 요금이 발생했다.
AWS 강의를 따라하면서 RDS를 만들어보고 바로 지웠던걸로 기억하며, 백업기능도 껐던걸로 기억하는데도 해당 요금이 발생했다.
곧 RDS를 사용하는 서비스를 배포할 계획이라 이부분은 그때 다시 들여다봐야할듯 싶다.
마지막으로 이부분은 고정IP를 할당받고 연결을 하지 않은 시간이 한시간 이상일 때 발생한다.
보면 1시간당 $0.005 인데 1.163 시간 연결이 안되었고, 올림처리되어서 $0.01의 요금이 발생했다.
사실 이부분은 앞서 말했던 2번의 EC2에 Docker로 서버와 DB를 같이 올렸더니 어느정도 있다 다운되는 일이 일어나 해당 인스턴스를 종료하고 다시 만드는 등의 작업을 하다보니 한시간을 넘게되어 발생한 요금이다.
따라서 고정IP를 발급받았다면 잘 관리하도록 하자.
이렇게 첫달, 약 1주일만 사용했는데도 $0.58의 요금이 발생했으며, 799원이 결제되었다.
사실 RDS와 고정IP의 $0.02를 제외하면 호스팅 서비스의 세금포함 $0.56가 실제 사용한 서비스의 청구요금이라고 보면된다.
그리고 아래의 다음달 내역을 보면 알겠지만, 프리티어의 경우 EC2의 프리티어 인스턴스와 고정IP는 한 개만 사용해야지 안그러면 프리티어 한도를 넘어서 요금이 안나온다.
6월 (USD 16.09)
두 번째 달은 요금이 확 뛰었다. 앞서 말했듯이 프리티어 한도를 넘어서인데, 이부분은 사실 초반에 눈치를 챘지만, 실제 요금이 얼마나 나올지 궁금해서 추이를 지켜보다가 감당할 수준이라고 판단한 후 그냥 놔두었었고 이렇게 결과가 나왔다.
우선 각 내역을 자세히 보기전에 해당 청구서는 초반에 말한 서비스들을 사용하면서 발생하게 되었음 참고하길 바란다.
EC2의 프리티어의 한도를 초과하지 않기위해서는 t2.micro의 인스턴스를 한 개만 돌려야한다.
나는 2개를 돌리게 되었고, 이로 인해 프리티어 한도를 초과하여 요금이 발생했다. 내역을 보자면 프리티어의 한도인 750시간을 초과했고, 690시간의 사용에 대하여 $9.94의 요금이 나왔다.
그 아래 EBS의 경우 인스턴스를 생성할 때 스토리지를 설정하는데 그부분에서 내가 설정한 gp3의 8gb에 대한 요금이다. 이건 아마 EC2의 t2.micro가 프리티어를 초과하여 요금이 발생했고, 이에 따라 요금이 발생된 t2.micro의 스토리지에 대한 요금 역시 청구된 것 같다.
이를 통해 보자면 프리티어 기간이 끝나고 t2.micro 인스턴스를 한 개 돌린다면 약 $12 정도가 청구될 것으로 예상된다.
앞의 ECC 내용과 같은 이유로 고정IP를 2개 발급하고 연결했기 때문에 프리티어 한도를 초과하여 그에 따른 요금이 부과되었다.
Route 53의 경우 5월과 같으며 5월에서 설명했으므로 생략하겠다.
종합해보자면 EC2의 t2.micro 2개($10.67)와 고정IP2개($3.45), 그리고 호스팅($0.50)으로 인해 요금이 발생했고 총 $14.62, 세금 $1.47을 포함 $16.09의 요금이 청구되었으며, 22,436원이 결제되었다.
6월의 청구 내역을 바탕으로 대충 예상해보자면, 만약 프리티어가 끝난 후 t2.micro 인스턴스 한 개를 고정IP 설정하고 돌린다면 약 $16 정도로 2만원 초반대의 금액이 청구될 것으로 예상된다.
7월 (USD 0.68)
예상금액인 0.55와 다르게 0.68의 금액이 나왔다.
7월 전에 Route 53을 멈추지 않아서 세금포함 0.55의 요금이 청구될 것으로 예상했는데, 그외의 요금이 청구된 것이다.
우선 이유부터 말하자면, 실험을 위해 2개 돌렸던 EC2와 고정IP를 한 개로 변경했었는데, 그게 7월 6일이었다.
즉, 프리티어의 제공 시간을 초과한 것이다. 6일 정도면 괜찮겠지 했던 나의 안일함 때문이었다.
무튼 청구 요금 내역을 자세히 보자면
6월과 같은 내역으로 오버된 시간과 그에 따른 요금의 차이만 있을 뿐이다.
이로서 AWS의 프리티어는 EC2에서 한개의 t2만을 사용해야지 안그러면 요금이 청구된다고 봐야할 듯 싶다.
8월 (USD 0.00)
AWS를 사용 후 드디어 처음으로 0원이 나왔다.
앞서 얘기 했었지만 정리하자면, EC2에 t2.micro 한 개를 고정 IP와 연결해놓은 백엔드 한 개, S3에 프론트 한 개를 올려 놓은 상태가 되어서야 0원이 나왔다.
그럼 이제 궁금한 점인 프리티어의 사용량은 얼마나 남았었나 이다.
8월 31일 23시 30분을 기준으로 프리 티어의 사용량을 캡쳐해두었다.
프리티어 사용량을 거의 채운 상황이었다.
최종적으로 글의 초반에 작성했던 3가지의 이용 내용들을 아래와 같이 변경한 상태이다.
1. firebase와 연결된 포트폴리오 사이트 (S3, CloudFront, Route 53)
=> Netlify에서 배포 (커스텀 도메인에 대한 요금 발생 x)
2. 첫 프로젝트 데모 사이트 (EC2에 서버/DB, S3에 Front)
=> 그대로 유지
3. HTML/JS로 이루진 페이지의 APIKey를 숨기기 위한 중간 서버 (EC2에 서버)
=> Netlify의 Netlify Fuctions를 사용하여 Netlify의 환경변수를 사용해 APIKey를 숨기고, 이에 따라 중간 서버 없앰.
이로서 길었던 AWS의 실제 청구 요금에 대한 글을 마무리 하겠다.
'코딩 > 배포' 카테고리의 다른 글
AWS 실제 청구 요금2 + RDS (작성 중) (1) | 2024.11.26 |
---|---|
AWS EC2와 RDS에 NestJS Github Action 배포하기 (0) | 2024.11.25 |
AWS (0) | 2024.05.21 |
새로고침 not found page (0) | 2024.05.21 |
AWS docker-compose 안될때 (0) | 2024.05.21 |