🎃
SageMaker の Endpoint を削除しようとしたら MonitoringSchedules が残っていると怒られた場合の対処法
SageMaker の課金をとめたい!エンドポイントを削除するぞ!
InService ステータスになっている起動中のエンドポイントを一覧にして、それぞれ削除する
endpoints=$(aws sagemaker list-endpoints --status-equals InService | jq -r '.Endpoints[].EndpointName')
for endpoint in $endpoints; do
echo "Deleting endpoint: $endpoint"
aws sagemaker delete-endpoint --endpoint-name $endpoint
done
なぜか以下のエラーが出てしまった
これは、対象のエンドポイントに Monitoring Schedule が残っているのが原因。
An error occurred (ResourceNotFound) when calling the DeleteMonitoringSchedule operation: Monitoring Schedule arn:aws:sagemaker:ap-northeast-1:xxxxxx:monitoring-schedule/monitoringschedulename not found
そういえば SageMaker ModelMonitor の設定をしたままだった
以下のコマンドで Monitoring Schedule を一覧にする
aws sagemaker list-monitoring-schedules
表示された MonitoringScheduleName の値を参考に、以下のコマンドを実行して削除
aws sagemaker delete-monitoring-schedule --monitoring-schedule-name "確認したMonitoringScheduleName"
再度エンドポイントの削除を実行する
aws sagemaker delete-endpoint --endpoint-name 削除できなかったエンドポイント名
これで削除できたはず
最後にもう一度 InService のエンドポイントを表示させ、何も出力されなければ OK
endpoints=$(aws sagemaker list-endpoints --status-equals InService | jq -r '.Endpoints[].EndpointName')
Discussion