AWS SageMaker Studio의 넉넉한 무료 티어(ml.t3.medium 250시간)를 믿고 ML 실습을 진행하다, 예상치 못했던 소액의 10월 청구서를 받았다. 프리 티어 기능을 확인했을 때 충분히 이해하고 사용했다 판단했으나 내가 놓친 부분들이 있어서 이 부분들에 대해 기록하려 한다. 프리티어 무료 안내 내역 https://aws.amazon.com/ko/free/ 문서에 대한 이해도 필요했지만 해당 내용에 포함되지 않은 관련 내용들이 너무 산발적으로 퍼져있어서 모든걸 파악하는게 힘들었던게 주요 요인으로 볼 수 있을것이다…

결론적으로 과금액 자체는 크지 않았지만, 분석해보니 AWS 프리 티어 범위를 잘못 이해했거나 사소한 관리 실수가 누적되어 발생한 것이었다. 만약 이를 인지하지 못하고 계속 사용했다면 훨씬 큰 과금으로 이어질 수 있었을 것이다. 이 글은 내가 겪은 과금 원인 분석 과정(청구서 확인 -> Cost Explorer 분석 -> CloudTrail 로그 검증)과 그 결과를 공유하여, ML을 시작하는 다른 초보자들이 ‘AWS 과금 폭탄’을 피할 수 있도록 돕기 위해 작성한다.
- 주요 과금 발생 이력
- Studio 앱 (공용 250시간) — JupyterLab과 CodeEditor의 250시간 공용 무료 한도를 인지하지 못하고 장시간 미종료하여 초과 요금 발생
- 호스팅 인스턴스 — 모델 배포 시 무료 유형인
ml.m5.xlarge대신 유료 인스턴스(ml.t2.medium등)를 선택하여 추가 과금 발생 - 유휴 탄력적 IP — EC2 실습 후 탄력적 IP를 ‘릴리스’하지 않고 유휴 상태로 방치해 지속 과금 발생
- SageMaker 전용 스토리지 — EC2 EBS 무료 티어와 별개로, SageMaker 환경(Gp3)과 훈련·배포 작업(Gp2)에 대한 스토리지 비용 별도 발생
- 출처 : AWS
과금 분석 요약: 내가 놓쳤던 범위들
프리티어 리소스탭과 실제 오버된 내용들에 대해 정리하였다. 초과된 내역은 Request Tier1과, TimedStorage이고 그 외 여유 및 소량 사용 또는 과금 전환 예정들로 파악되었다.
| 서비스 | 과금원인(내역) ↔ 프리 티어 항목 | 무료 한도 | 현재/예상 | 상태/코멘트 |
|---|---|---|---|---|
| Amazon S3 (Requests Tier1) | S3 PUT/POST/COPY/LIST 등 요청 수 | 2,000회/월 (12개월) | 2,000 → 2,138 (106.9%) | 초과 → 과금 발생 |
| Amazon S3 (Requests Tier2) | S3 GET 요청 수 | 20,000회/월 (12개월) | 1,126 → 1,204 (6.02%) | 여유 |
| Amazon S3 (TimedStorage) | S3 저장 용량(GB-월) | 5 GB-월 (12개월) | 0 → 0 | 현재 표상 미사용/미미 |
| Amazon SageMaker (NotebookParent 250Hrs) | Studio 노트북/앱 시간(커널 게이트웨이 포함) | 250시간/월 (단기 트라이얼) | 250 → 267 (106.9%) | 초과 → 과금 발생 |
| Amazon SageMaker (HostingParent 125Hrs) | 실시간 엔드포인트 가동 시간 | 125시간/월 (단기 트라이얼) | 22 → 24 (19.07%) | 일부 사용, 여유 |
| Amazon SageMaker (TrainingParent 50Hrs) | 훈련 잡(Training Job) 시간 | 50시간/월 (단기 트라이얼) | 1 → 1 (1.67%) | 소량 사용 |
| Amazon EFS (TimedStorage) | Studio 도메인 저장소(EFS) 용량 | 5 GB-월 (12개월) | 0 → 0 | 표상 0: 저장소가 매우 작거나 아직 집계 미미/다른 리전 가능 |
| AmazonCloudWatch (Metrics) | 지표 모니터링 개수 | 10개/월 (항상 무료) | 0 → 1 (5.14%) | 소액/여유 |
| AmazonCloudWatch (Requests) | 로그/메트릭 API 요청 | 1,000,000회/월 (항상 무료) | 3,437 → 3,674 (0.37%) | 여유 |
| CloudWatch (DataProcessing/Storage) | 로그 처리/저장(GB, GB-월) | 5 GB/월 등 (항상 무료) | 0 → 0 | 여유 |
| AWS KMS (Requests) | KMS API 요청(암복호화 등) | 20,000회/월 (항상 무료) | 433 → 463 (2.31%) | 여유 |
| EC2 (BoxUsage freetier.micro 750Hrs) | t2/t3.micro 인스턴스 시간 | 750시간/월 (12개월) | 575 → 615 (82.0%) | 여유 |
| EC2 (EBS VolumeUsage 30 GB-Mo) | EBS 볼륨 용량(GB-월) | 30 GB-월 (12개월) | 23 → 25 (82.41%) | 여유 |
| VPC (Public IPv4 InUseAddress 750Hrs) | 탄력 IP(EIP) 보유 시간 | 750시간/월 (12개월) | 575 → 615 (82.0%) | 여유(미사용 시 분리 권장) |
| Data Transfer (Out) | 인터넷/타리전 전송 | 100 GB/월 (항상 무료) | 0 → 0 | 현재 없음 |
| Service Catalog / DataZone / SNS / SQS / Glue 등 | 관리 API·카탈로그·알림·큐·카탈로그 요청 | 각 항목의 Always Free/Trial | 낮은 사용량 | 대부분 여유/소액 |
| ECR 이미지/스토리지 | 컨테이너 이미지 저장 | (항목 미표시) | — | 이번 표엔 직접 표기 없음(소액일 가능성) |
| NAT 게이트웨이 / VPC 엔드포인트 | 시간/GB 과금 | (프리티어 없음) | — | 표에 노출 없음(미사용 가능) |
실제 과금된 내역 – 나의 실수 및 오해
- (핵심 실수) Studio 앱 미종료 및 ‘공용 250시간’ 오해:
- 서비스명 : Amazon SageMaker (NotebookParent 250Hrs)
CodeEditor(약 326시간),JupyterLab(약 30시간) 앱 사용 후 미종료.- 무료 250시간이
JupyterLab전용인 줄 알았으나, 실제로는 Studio 앱 간 공유되는 시간이었음. 결과적으로 106시간 초과. - 과금 항목:
CodeEditor ml.t3.medium,JupyterLab ml.t3.medium

- (인지 부족) 잘못된 배포 인스턴스 유형 사용:
- 프리티어 외 비용 발생 (프리티어가 아닌 다른 모델로 배포)
- 프리티어 대상은
ml.m5.xlarge이며, 그 외ml.t2.medium이나ml.m5.large는 과금 대상
- 프리티어 대상은
- 과금 항목:
Hosting ml.m5.large,Hosting ml.t2.medium- 참고자료 https://docs.aws.amazon.com/sagemaker/latest/dg/notebooks-available-instance-types.html
- Amazon SageMaker Free Tier includes 250 hours per month of
ml.t2.microorml.m5.xlargenotebook usage for the first two months.
— AWS Free Tier
- 프리티어 외 비용 발생 (프리티어가 아닌 다른 모델로 배포)
- SageMaker 전용 스토리지
- EC2 EBS와 별도로 SageMaker 환경 및 작업용 스토리지 비용 발생 인지 못함.
- 과금 항목:
SageMaker Storage (Gp3, Gp2)
- 한도 초과했으나, $0.00 처리된 내역 (주의 범위)
- Amazon Simple Storage Service (S3 요청 – Tier 1):
- 서비스명 : Amazon S3 (Requests Tier1)
- 파일 쓰기/목록 보기 요청(
Global-Requests-Tier1) 사용량이 무료 한도(2,000건)의 106.9% (2,138건) 도달. 요금은 $0.00 처리되었으나 한도 초과.
- Amazon Virtual Private Cloud (VPC – Public IP): 사용 중인 IP(
Global-PublicIPv4:InUseAddress) 사용량이 무료 한도(750시간)의 76.71% (575시간) 도달. - Amazon Elastic Compute Cloud (EC2 – EBS 스토리지): EBS(
Global-EBS:VolumeUsage) 사용량이 무료 한도(30 GB-Mo)의 77.09% (23 GB-Mo) 도달.
- Amazon Simple Storage Service (S3 요청 – Tier 1):
- (외부 환경 관리 실수) 유휴 탄력적 IP 미관리:
- SageMaker이 아닌 다른 실습 후 남은 탄력적 IP를 ‘릴리스(해제)’하지 않아 요금 발생.
- 과금 항목:
Idle public IPv4 address
과금 내역 확인 및 검증 과정
처음 청구서를 봤을 때는 왜 소액이 나왔는지만 해당 내역에 대한 상세 원인들을 이해하기 어려웠다. 그래서 다음과 같은 단계로 원인을 추적했다.
- 청구서 상세 내역 확인:
- ‘결제 및 비용 관리’ -> ‘청구서’에서 10월 청구서 확인.
CodeEditor ml.t3.medium,JupyterLab ml.t3.medium,Hosting ml.m5.large,Hosting ml.t2.medium,Idle public IPv4 address,SageMaker Storage등 생각지 못했던 항목들에서 과금이 발생했음을 인지. 하지만 각 항목이 ‘왜’ 과금되었는지는 불명확했다. S3 요청 초과분은 금액만으로는 확인 불가.
- 프리 티어 사용량 페이지 확인:
- ‘결제 및 비용 관리’ -> ‘프리 티어’ 페이지 확인.
Global-Notebk:ml.t.medium-NotebookParent(Studio 앱 시간)가 106.9%로 초과 확인.Global-Requests-Tier1(S3 Tier 1 요청)가 106.9%로 초과 확인. -> S3 요청량 문제 인지.
- Cost Explorer (비용 탐색기) 분석:
- ‘결제 및 비용 관리’ -> ‘Cost Explorer’ 실행.
- 날짜 범위를 ‘지난 달(10월)’로, 그래프 단위를 ‘일별(Daily)’로, 그룹화 기준을 ‘사용 유형(Usage Type)’으로 설정.
- 결과:
CodeEditor ... hour사용량이 압도적으로 많았고(약 326시간), 특정 날짜부터 요금이 꾸준히 발생했다.JupyterLab ... hour사용량(약 30시간)은 상대적으로 적었지만,CodeEditor가 무료 시간을 다 소진한 시점 이후부터 요금이 발생하기 시작했다. -> 두 앱이 ‘공용 250시간’을 공유한다는 가설 수립.Hosting...및Idle IP...항목은 사용 시간 내내 요금이 발생 -> 애초에 프리 티어 대상이 아니거나, 관리가 잘못되었음을 시사.
- CloudTrail (이벤트 기록) 검증:
- ‘CloudTrail’ -> ‘이벤트 기록’ 조회.
- 필터를 ‘이벤트 이름’으로 설정하고
CreateApp,DeleteApp검색. JSON 형식으로 상세 내용 확인. - 결과:
DeleteApp이벤트가 10월 28일에 집중되어 있음 -> 내가 과금을 인지하고 앱들을 끈 시점과 일치.CreateApp이벤트는 훨씬 이전 날짜에 기록됨 -> 장기간 앱을 종료하지 않았다는 사실 증명.- JSON의
requestParameters를 통해 어떤 앱(appType: “JupyterServer” or “CodeEditor”)이 언제 생성/삭제되었는지 명확히 확인. (S3 관련 로그는 너무 방대하여 특정 요청 추적은 어려움)
- AWS 공식 문서 확인:
- SageMaker 요금 페이지, 프리 티어 페이지, S3 요금 페이지 등을 참조하여 Cost Explorer 분석 결과(공용 250시간, 호스팅 무료 유형, S3 요청 Tier 구분 등)가 맞는지 교차 검증.
상세 분석: 내가 놓친 과금 포인트
이제 놓쳤던 포인트들에 대해 상세적으로 기록하려 한다. 총 5가지 포인트이며 프리티어와 프리티어 외, 그리고 다른 실습 작업내역으로 인한 3가지 범주내에서 발견되었다.
포인트 1: Studio 앱들은 ‘공용 250시간’을 나눠 쓴다 (그리고 끄지 않으면 계속 누적된다) – 과금 발생

- 프리 티어
- 나의 오해:
ml.t3.medium250시간 무료는JupyterLab전용일 것이다. (AWS 문서에도 주로 ‘Studio notebooks’만 언급되어 혼동)CodeEditor는 VS Code 기반이니 별도 유료 앱일 것이다.- 브라우저 탭을 닫으면 앱도 종료될 것이다.
- 해결 및 증명 (위 2번 항목 참조):
- Cost Explorer를 통해 두 앱이 시간을 공유하며, 총 사용 시간(356시간)이 무료 한도(250시간)를 초과했음을 확인.
- CloudTrail 로그를 통해 장기간 앱 미종료 사실 증명. (해당 글 후 raw데이터 기반 검증하는 글은 별도로 추가 작성 예정이다.)
- 진실:
ml.t3.medium인스턴스를 사용하는 모든 SageMaker Studio 앱(JupyterLab,CodeEditor등)은 ‘공용 250시간 풀(Pool)’을 공유한다. 어떤 앱이든 명시적으로 ‘종료(Shutdown)’하지 않으면 계속 실행되며 시간을 소진/초과시킨다.
➡️ 교훈: Studio 앱 사용 후 반드시 종료(Shutdown)하고, 여러 앱 사용 시 총 시간이 250시간을 넘지 않도록 관리해야 한다.
포인트 2: ‘아무거나’ 배포하면 안 된다.
ml 인스턴스 가이드 문서만 보고 사용했다가… (출처 : https://docs.aws.amazon.com/sagemaker/latest/dg/notebooks-available-instance-types.html) 이 중 프리티어 범위에 귀속 안되는 긴으을 사용해서 비용이 발생되었다.


- 프리티어 외 기능
- 나의 오해: SageMaker 배포 기능이니 기본적으로 무료 티어가 적용될 것이라 생각. 코드 예제의
ml.t2.medium을 그대로 사용. - 해결 및 증명:
- 청구서 확인:
Hosting ml.t2.medium,Hosting ml.m5.large항목 과금 확인 (프리 티어 할인 없음). - SageMaker 요금 페이지 확인: 호스팅 무료는
ml.m5.xlarge만 해당 명시 확인. - 실행 코드 확인:
instance_type='ml.t2.medium'사용 및delete_endpoint()주석 처리 확인.
- 청구서 확인:
- 진실: 모델 배포(호스팅) 무료 티어는 오직
ml.m5.xlarge유형에만 월 125시간 적용된다. 다른 유형은 즉시 유료다.
➡️ 교훈: 배포 시
instance_type='ml.m5.xlarge'명시 또는 요금 페이지 확인 필수. 테스트 후 즉시 삭제(delete_endpoint()).
포인트 3: 보이지 않는 S3 요청량 누적 (Tier 1 초과) – 실제 과금 $0.00 (주의 필요)
- 나의 오해: S3 사용량은 스토리지 용량(GB)만 신경 쓰면 된다고 생각했다. ‘요청 수’도 과금 대상이며, 특히 무료 한도가 낮은 Tier 1 요청이 있다는 것을 몰랐다.
- 해결 및 증명:
- 프리 티어 사용량 페이지 확인:
Global-Requests-Tier1항목이 106.9% (2,138건)로 초과 확인. - S3 요금 페이지 및 사용 보고서 가이드 확인: 요청 종류(PUT, LIST vs GET)에 따라 Tier가 나뉘고 무료 한도가 다름을 확인.
- 실행 코드 및 Studio 사용 행태 분석: JupyterLab에서 코드(.ipynb)를 저장(자동/수동)하거나, S3에 데이터를 업로드(코드 실행)하고, 훈련된 모델을 저장하고, S3 브라우저로 파일 목록을 보는 모든 행위가
PutObject또는ListObjectsV2같은 Tier 1 요청을 발생시켰다. 이 작업들이 누적되어 2,000건을 초과한 것으로 추정된다. (CloudTrail 로그로 특정 요청 추적은 현실적으로 어려움)
- 프리 티어 사용량 페이지 확인:
- 진실: S3는 스토리지 용량 외에 데이터 요청 수에 대해서도 과금한다. 요청은 크게 두 종류로 나뉜다.요청 종류 (Tier)주요 작업 (API 예시)월 무료 한도나의 사용량 (10월)비고Tier 1쓰기 (
PutObject), 복사 (CopyObject), 목록 보기 (ListObjectsV2)2,000건2,138건 (초과)한도가 낮아 주의 필요Tier 2읽기 (GetObject) 등 기타 모든 요청20,000건1,126건 (여유)한도가 비교적 넉넉함SageMaker 사용 시 백그라운드에서 발생하는 노트북 저장, 모델 저장, 로그 기록 등이 Tier 1 요청을 상당히 발생시킬 수 있다.
| 요청 종류 (Tier) | 주요 작업 (API 예시) | 월 무료 한도 | 나의 사용량 (10월) | 비고 |
|---|---|---|---|---|
| Tier 1 | 쓰기 (PutObject), 복사 (CopyObject), 목록 보기 (ListObjectsV2) | 2,000건 | 2,138건 (초과) | 한도가 낮아 주의 필요 |
| Tier 2 | 읽기 (GetObject) 등 기타 모든 요청 | 20,000건 | 1,126건 (여유) | 한도가 비교적 넉넉함 |
- S3 요청량 감소 방안 고민:
- (고민 1) 코드로 리소스 삭제 (
boto3S3 삭제): 오히려ListObjectsV2(Tier 1) 요청을 증가시킬 수 있음. - (고민 2) 로컬 IDE로 코드 관리: 노트북 저장(
PutObject, Tier 1) 빈도를 줄일 수 있으나, SageMaker 작업 자체의 S3 요청은 불가피.- 결론: S3 요청 요금 자체는 매우 저렴했다. 위 방안들은 작업량이 아주 많아 S3 요청 비용이 무시 못 할 수준일 때 고려해볼 만하며, 일반적인 경우에는 컴퓨팅 인스턴스(Studio 앱, 호스팅) 관리가 비용 절감에 훨씬 더 중요하다.
- (고민 1) 코드로 리소스 삭제 (
➡️ 교훈: SageMaker 사용 시 보이지 않는 S3 요청(특히 Tier 1) 누적 가능성을 인지하되, 비용 영향은 적으므로 컴퓨팅 자원 관리에 더 집중하자.
포인트 4: EC2와 별도로 청구되는 ‘SageMaker ML 스토리지’

- 나의 오해: EC2 EBS 무료 티어(30GB)가 SageMaker 스토리지도 커버할 것이라 생각.
- 해결 및 증명:
- 청구서 확인:
Amazon SageMaker CreateVolume-Gp3/Gp2항목 별도 과금 확인. - SageMaker 요금 페이지 확인: Studio 환경 및 작업용 ML 스토리지 별도 요금 명시 확인.
- 청구서 확인:
- 진실: SageMaker Studio는 자체 환경 구성(
Gp3) 및 훈련/배포 작업(Gp2)을 위한 별도의 ML 스토리지를 사용하며, 이는 EC2 EBS 무료 티어와 무관하게 과금된다.Gp3가 ‘내 개발 환경’**의 C드라이브라면,Gp2는 ‘훈련용 컴퓨터’**와 ‘배포용 컴퓨터’**의 C드라이브라고 비유할 수 있다.- Amazon SageMaker CreateVolume-Gp2
- 이 요금은 련(Training) 작업 또는 배포(Hosting) 작업을 위한 임시 스토리지다. 비용 발생 시점은 아래와 같다
- 훈련 시: 코드에서
estimator.fit()을 실행할 때, SageMaker는 훈련을 위한 별도 인스턴스를 띄운다. 이때 훈련용 인스턴스에 임시 스토리지(Gp2)가 부착되며, 훈련이 실행되는 동안 비용이 발생한다. (청구서의Training Job ML storage) - 배포 시: 코드에서
estimator.deploy()를 실행하여 엔드포인트를 배포할 때, 호스팅 인스턴스에도 스토리지(Gp2)가 부착된다. 이 비용은 엔드포인트가 ‘InService’ 상태로 존재하는 내내 발생한다. (청구서의Endpoint ML storage)
- 훈련 시: 코드에서
- 이 요금은 련(Training) 작업 또는 배포(Hosting) 작업을 위한 임시 스토리지다. 비용 발생 시점은 아래와 같다
- Amazon SageMaker CreateVolume-Gp3
- 이 요금은 SageMaker Studio 환경 자체의 기본 스토리지으로 SageMaker Studio 도메인과 사용자 프로필을 처음 생성하는 순간부터 발생한다.
JupyterLab이나CodeEditor앱을 실행하면, 그 앱이 설치되고 실행될 “컴퓨터”가 필요한데, 이 “컴퓨터”에 부착된 기본 C드라이브(EBS 볼륨)가 바로Gp3스토리지로 확인된다.- 청구서를 보면 약 5GB가 할당된 것으로 보인다(5.095 GB-Mo)
- 이 요금은
JupyterLab앱을 ‘종료(Shutdown)’하는 것과 관계없이, SageMaker Studio 도메인 자체가 존재하는 한 매달 고정적으로 발생하는 “기본료” 또는 “유지비”에 가까운 것 같다.
- 이 요금은 SageMaker Studio 환경 자체의 기본 스토리지으로 SageMaker Studio 도메인과 사용자 프로필을 처음 생성하는 순간부터 발생한다.
- Amazon SageMaker CreateVolume-Gp2
- 요약
Gp3: Studio 환경을 만드는 순간부터 계속 발생하는 기본 C드라이브 요금.Gp2:fit()이나deploy()를 실행하여 훈련/배포 인스턴스를 띄울 때 임시로 발생하는 작업용 C드라이브 요금.
- AWS 공식 문서 내용
- “SageMaker Studio apps (JupyterLab, Code Editor, etc.) use EBS volumes for persistent user data. These volumes remain allocated as long as the user profile exists.” — AWS Docs: SageMaker Studio Cost Breakdown
- “The 30 GB EBS Free Tier applies only to volumes created under Amazon EC2, not other services such as SageMaker.”
— AWS Free Tier FAQ
| 항목 | 설명 |
|---|---|
| Gp3 (기본료) | Studio 환경(User Profile 단위)에 영구적으로 연결된 기본 디스크. JupyterLab 종료와 무관하게 월 단위 과금. |
| Gp2 (작업료) | fit() / deploy() 실행 시 임시로 생성되는 Job / Endpoint 용 디스크. 작업 종료 시 해제. |
| EC2 EBS 프리티어 | SageMaker 볼륨에는 미적용. (서비스 명칭이 Amazon SageMaker 이기 때문) |
➡️ 교훈: SageMaker 사용 시 소량의 스토리지 비용은 기본 발생함을 인지.
포인트 5: ‘유휴’ IP는 ‘릴리스’해야 과금이 멈춘다.

- 나의 오해: EC2 인스턴스 중지 시 연결된 탄력적 IP 과금도 멈출 것이라 생각.
- 해결 및 증명:
- 청구서 확인:
Idle public IPv4 address과금 확인. - 프리 티어 사용량 페이지 확인:
InUseAddress(사용 중)는 무료 한도 내,IdleIP는 별도 과금 확인. - AWS 문서/콘솔 용어 확인: IP 제거는 ‘릴리스(Release)‘ 사용 확인.
- 청구서 확인:
- 진실: 인스턴스에 연결된 ‘사용 중(In-use)’ IP만 무료. 인스턴스 중지/종료 후 IP를 **’릴리스(Release)’**하지 않으면 ‘유휴(Idle)’ 상태로 간주되어 즉시 과금된다.
➡️ 교훈: ‘EC2’ > ‘탄력적 IP’ 메뉴에서 사용 안 하는 IP는 반드시 ‘릴리스’.
관련 AWS 프리 티어 요약 및 참고 링크
AWS 프리 티어는 매우 유용하지만, 서비스별 세부 조건이 다르므로 주의가 필요하다. 이번 과금과 관련된 주요 프리 티어 항목은 다음과 같다. (전체 내용은 공식 링크 참조)
| 서비스 | 프리 티어 항목 | 월 제공량 | 내 사용량 (10월) | 비고 (과금 포인트) |
|---|---|---|---|---|
| SageMaker Studio | ml.t3.medium 인스턴스 (앱 공용) | 250시간 | 356시간 | 초과 (106시간). JupyterLab, CodeEditor 등 공유. |
| SageMaker Hosting | ml.m5.xlarge 인스턴스 | 125시간 | 22시간 | ml.t2, ml.m5.large 사용으로 별도 과금 발생. |
| S3 Requests | Tier 1 요청 (PUT, LIST 등) | 2,000건 | 2,138건 (초과) | SageMaker 사용 시 누적 주의. |
| EC2 (Public IP) | 사용 중인 Public IPv4 주소 | 750시간 | 575시간 (76%) | 유휴(Idle) IP는 유료 |
| EC2 (EBS Storage) | 범용(SSD) 스토리지 | 30 GB-월 | 23 GB-월 (77%) | SageMaker 스토리지는 별도 과금 |
- 참고 링크:
- AWS 프리 티어 페이지
- Amazon SageMaker 요금 페이지
- Amazon S3 요금 페이지 (요청 비용 상세)
최종 결론: 과금 폭탄 피하기 위한 습관
- (가장 중요) Studio 앱(JupyterLab, CodeEditor 등)은 사용 후 즉시 ‘종료(Shutdown)’한다. (공용 250시간 관리)
deploy()시 무료 인스턴스 유형(ml.m5.xlarge)을 명시하고, 끝나면 삭제한다.- 리소스는 ‘삭제’하고 IP는 ‘릴리스’한다.
- (강력 추천) AWS 예산(Budgets) 알림을 설정한다.
- (습관화) 비용 탐색기(Cost Explorer)와 프리 티어 사용량 페이지를 자주 확인한다. (‘일별’ + ‘사용 유형’ 보기, S3 Tier 1 요청량 등 확인)
해당 경험을 한 뒤 파악된 내용은 비용 통제하기 위해서는 세부적인 리소스 흐름파악이 필요하다 생각하였다 그래서 프리티어와 그 외 로그기록들을 통제가능한 비용 모니터링이 될 수 있도록 환경 구축을할 예정이며 해당 내용도 추가로 글을 작성할 예정이다.
- 추가 Tip
- 사업자등록증을 가지고 있다면 AWS에서 크레딧을 지원해주니 비용을 세이브하고 싶은 사업자라면 신청하여 계정을 연결해보는것도 추천한다.
- https://aws.amazon.com/startups/credits
- 사업자등록증을 가지고 있다면 AWS에서 크레딧을 지원해주니 비용을 세이브하고 싶은 사업자라면 신청하여 계정을 연결해보는것도 추천한다.