💭
AWS SageMakerの料金が止まらない(2日で約4000円課金)
解決方法について説明します!
はじめに
AWSの機械学習サービス SageMaker を試してみたら、2日で約4,000円も課金されてビックリ
しかも SageMakerのコンソールには何も表示されない状態だったので、気づいたときには手遅れになってました

この記事では、SageMakerで何をしたのか/課金が止まらなかった原因/CLIで完全に止めるまでにやったことの3つを紹介します。
SageMakerで何をしたのか
※Windows11
Random Cut Forest(RCF)アルゴリズムを使って、IoTセンサーデータの中に「異常なデータ」があるかを検出するシステムを作成しました
使用した技術・サービス
-
Amazon SageMaker
- 統合開発環境(JupyterLab)
- 異常検知アルゴリズム:Random Cut Forest (RCF)
-
Amazon S3
- Timestreamからエクスポートされたセンサーデータ(CSV)を格納
-
Python (boto3, pandas, sklearn)
- データ前処理、スケーリング、可視化など
なぜ課金されたのか?
結論:推論エンドポイント(InService)が裏で動きっぱなしだった
SageMakerでモデルをデプロイすると、「エンドポイント」というAPIサーバーが常時稼働する仕組みになっています。
このエンドポイント、手動で削除しないと永遠に課金され続けます、やべえ
課金が発生した状況
- SageMaker StudioでRandom Cut Forest(異常検知)モデルを動かした
- 学習後、自動で「推論エンドポイント」が複数作成された
- 使い終わっても削除せず放置
- Studio画面には「エンドポイント」など表示されず気づけなかった
- 2日後、Billingを見たら 4,000円超え…
解決方法:AWS CLIでの一括削除
まずは認証設定(必要に応じて)
aws configure
① エンドポイントを確認・削除
エンドポイント一覧表示
aws sagemaker list-endpoints --output table
全エンドポイント削除(PowerShell向け)
$endpoints = aws sagemaker list-endpoints --query "Endpoints[].EndpointName" --output text
$endpointList = $endpoints -split "`t"
foreach ($ep in $endpointList) {
Write-Host "Deleting endpoint: $ep"
aws sagemaker delete-endpoint --endpoint-name $ep
}
② 構成(Endpoint Config)を削除
aws sagemaker list-endpoint-configs --query "EndpointConfigs[].EndpointConfigName" --output text | `
ForEach-Object { aws sagemaker delete-endpoint-config --endpoint-config-name $_ }
③ モデルも削除
aws sagemaker list-models --query "Models[].ModelName" --output text | `
ForEach-Object { aws sagemaker delete-model --model-name $_ }
④ Studioドメインを削除(必要に応じて)
aws sagemaker list-domains --output table
aws sagemaker delete-domain --domain-id <ドメインID> --retention-policy "Retain=false"
その他
- SageMakerのコンソールでドメインが削除されているのか
- S3バケットが削除されているか
確認

以下の2つさえ空になっていればOK
aws sagemaker list-endpoint-configs
{
"EndpointConfigs": []
}
aws sagemaker list-domains
{
"Domains": []
}
Discussion