概要
SageMakerを使っていて、最後にリソース削除をする際にSageMakerドメインが削除できず詰まったのでメモ。
上記のように、ドメインを削除ボタンが非活性になっており、どうすればいいのか?という状況で詰まっていました。
原因
原因はSageMakerドメインに関連付けられているユーザープロファイル(UserProfile)が存在していたこと。
「ドメインの削除」の部分に原因はちゃんと書いてありました。
ドメインを削除するには、いかなるユーザープロファイルまたはスペースもドメインに含まれていてはなりません。ユーザープロファイルまたはスペースを削除するには、失敗していないいかなるアプリケーションもそのプロファイルまたはスペースに含まれていてはなりません。
そして、SageMakerの開発者ガイドの記事(参照)にもしっかりとドメイン削除時の注意点の記載がありました。
今回はユーザープロファイルが存在していたためドメイン削除ボタンが非活性になっていました。
SageMakerドメインとはそもそも何か
SageMakerドメインはユーザープロファイル(各ユーザーの個別の設定や環境を管理するもの)・共有スペース(ユーザー間共有で使用できる開発環境)・パーソナルアプリ(各ユーザーが独自に使用する開発ツールや環境設定)からなるようです。
SageMakerドメイン=SageMakerで開発を進める際、基盤となる存在ということが分かりました。
対処法
ポイントは、「SageMakerドメインに紐づくユーザープロファイルを先に削除すること」
これだけです。
対処法1. AWS CLIを使って削除
①CLIでユーザープロファイルを削除
同じ事象にハマっているケースがないかググってみたところ、AWS CLIを使って削除するとうまくいくという記事があり試したところ、うまくいきました。
ターミナル上で下記コマンドを実行
aws --region <region名> sagemaker delete-user-profile \
--domain-id <削除したいドメインのID> \
--user-profile-name <削除したいユーザープロファイル>
②ドメインを削除
aws --region <region名> sagemaker delete-domain \
--domain-id <削除したいドメインのID>
対処法2. コンソールから削除
上記のCLIから削除、の方法を調べている際に、普通にコンソール上から削除できることに気がつきました。
ただ単に、ユーザープロファイルの削除への導線に気付けていなかっただけでした。
ドメイン→ユーザーの詳細のページ>アプリケーション設定のタブから、削除ボタンを押下
↓
「削除」と入力→削除ボタンを押下
↓
ユーザープロファイルの削除がされる
↓
ユーザープロファイル削除完了
↓
SageMakerドメインのページに移動、「ドメインを削除」ボタンが活性化していることを確認
↓
削除確認ポップアップで「削除」と入力
削除の方法は2種類ありますが、CLIで削除した方が削除は楽かなと感じました。
学び、教訓
今回、かなり初歩的な部分で時間を使ってしまいました。
当たり前のことですが、全体像を理解した上で使わないと思わぬミスにハマるな、ということを改めて思い知りました。あとはしっかりと公式ドキュメントに書いてあることをしっかり読むこと、改めて大事だなと思いました。