SageMakerは機械学習や基盤モデルのファインチューニングを行うためのAmazonのフルマネージドサービスです。一からJupyter Notebookを記述するのは大変です。JumpStartを利用するにはSageMaker Studioが必要でSageMaker Studioを起動するにはSageMakerドメインが必要です。今回はSageMakerドメインの作成と不要になった場合の削除の方法について解説します。
SageMakerドメインとは?
SageMakerのドメインは機械学習環境を管理構成するためのエンティティです。ドメインにはEFS(Elastic File System)やユーザープロファイル、VPC(Virtual Private Cloud)などが必要です。これら必要なリソースを1つずつ準備してSageMakerドメインを構築することもできますが、ちょっと試してみたい時にはハードルが高いです。そんな、ちょっと試してみるために準備されているのがクイックセットアップです。クイックセットアップを利用すると必要なリソースを自動で作成してくれます。
SageMakerドメインの構築
クイックセットアップの手順
- 管理コンソールでSageMakerに遷移し”シングルユーザー向けの設定”をクリックします。クリックと同時に自動生成が開始されるので注意して下さい。
- 画面が遷移し自動生成が開始されます。
- 画面が自動で遷移します。完了するまでブラウザを閉じないようにして下さい。
- 完了すると画面が切り替わります。これでクイックセットアップは完了です。
クイックセットアップで生成されるリソース
クイックセットアップにより自動生成されるリソースを知っておくのは有用です。
SageMakerドメイン
自動作成されたSageMakerドメイン名は QuickSetupDomain-日付Tタイムスタンプ
のように作成した日時が付加されます。
EFS
機械学習やファインチューニングの結果で作成されたモデルが格納されます。SageMakerクイックセットアップで作成されたファイルシステムには ManagedByAmazonSageMakerResource
というタグが付いています。タグ値にSageMakerドメインのIDが設定されているので区別できます。
S3
2つのバケットが作成されます。
- sagemaker-リージョン名-アカウントID: SageMaker共通で1つ作成されます。複数のSageMakerドメインを作成しても1つだけです。
- sagemaker-studio-アカウントID-ランダム文字列: SageMakerドメイン毎に1つ作成されます。
IAM
15個のIAMロールが作成されます。ロール名が AmazonSageMaker
で始まるので分かりやすいです。15個のうち12個はSageMaker共通、3個はドメイン固有です。
ドメイン固有のロールのロール名にはSageMakerドメイン名についている日時と同じ値が設定されています。ドメイン固有のロールは以下の3つです。タイムスタンプの部分はミリ秒単位のため、同一値が設定されない可能性があります。
- AmazonSageMaker-ExecutionRole-日付Tタイムスタンプ
- AmazonSageMakerCanvasEMRSExecutionAccess-日付Tタイムスタンプ
- AmazonSagemakerCanvasForecastRole-日付Tタイムスタンプ
VPC
VPCはデフォルトが存在していればデフォルトのVPCが使用されるので自動生成はされません。デフォルトのVPCを削除していると自動生成される可能性があります。
SageMakerドメインの削除
AWSのリソースには費用が掛かります。使い終わったら削除しておくのが安全です。しかし、クリックセットアップで自動生成した直後でSageMakerで何も作業をしていない状態でも削除することができません。
SageMakerドメインを削除するにはSageMakerドメイン内の全てのアプリケーションとユーザープロファイルとスペースを削除する必要があります。アプリケーションが紐づいているとユーザープロファイルを削除できないのでアプリケーションから削除していきます。
アプリケーション削除
- ユーザープロファイルのスペースとアプリケーションから削除ボタンをクリックします。
- 確認ダイアログで削除ボタンをクリックします。
ユーザープロファイル削除
ユーザープロファイルに紐づく全てのアプリケーションが削除されると削除ボタンが押せるようになります。
- ユーザープロファイルの削除ボタンをクリックします。
- 確認ダイアログで削除ボタンをクリックします。
スペース削除
- スペースの管理から削除ボタンをクリックします。
- 確認ダイアログでスペースを削除ボタンをクリックします。
ドメイン削除
全てのユーザープロファイルが削除されるとドメインの削除ボタンが押せるようになります。スペースが残っていても押せるようになりますが、スペースが残っているとクリックしてもエラーになるのでスペースも全て削除して下さい。
- ドメインのドメインを削除ボタンをクリックします。
- 確認ダイアログで削除ボタンをクリックします。
削除されなかったリソースを手動で削除
SageMakerドメイン削除では以下のリソースは削除されません。手動で削除しておきましょう。
- EFS
- ドメイン固有のS3バケット
- ドメイン固有のIAMロール
まとめ
SageMakerを動かすために必要なドメインのクイックセットアップと削除について解説しました。AWSの自動で環境を作ってくれる機能は便利ですが、裏でどのリソースが作られているかを把握しておかないと後で環境を確認した際に「このリソース何だっけ?」という事態に陥ります。そうならないためにも自動生成されるリソースを把握して、不要になった際には忘れずに削除するようにしましょう。