Sagemaker Studio のUIが変わったらしいので画面を比較する
はじめに
re:Inventで俺たちのSagemaker Studioが新しくなったと聞いたので中身を見ました。
どうやらUIが変わったようです。
で、社会人初めての夏休み(51日間)でSagemaker Studioに関する手順書を書いたことがあるのですが、「UIが変わって使えなくなっていないよね」と不安に感じました。
ということで今回は
インスタンスの自動シャットダウン機能を導入しながらUIを比較して優勝していくことにするわね。🐍
まずは俺たちのSagemaker Studioにログインします
設定済みであることを前提に話を進めます。(AWS IAM Identity Center!!)
(51日間の夏休みに格闘したSalesforceちゃんがいますが気にしないでください。)
ログイン後のUI(変更前)
ログイン後のUI(変更後)
なんか少しダークになった???
全体的に文字が太くなっているような。。。。
そして、家のマークがフォルダマークの上に配置されていることにお気づきでしょうか。
色々変化に気づいたところでここから先は手順を通してUIを見ていきます。
前提
次のバージョンで動作確認をしています。
- sagemaker_studio_autoshutdown
- 0.1.5
- JupyterLab
- 3.6.0a1
参考資料
-
自動シャットダウン拡張機能を利用した Amazon SageMaker Studio のコスト削減方法
- AWS公式の資料
-
Sagemaker-Studio-Autoshutdown-Extension
- 導入する拡張機能のGitHub リポジトリ
-
JupyterLab extensions
- JupyterLab 公式
Sagemkaer Studio を起動
ターミナルを起動
File -> New -> Terminal
からターミナルを起動します。
conda を起動
以下のコマンドをコピペして実行します。
conda activate studio
JupyterLabのバージョンを確認
以下のコマンドをコピペして実行します。
jupyter lab --version
バージョンが3.6.0a1
であることを確認します。
GitHub からリポジトリを取得
git clone https://github.com/ymd65536/sagemaker-auto-shutdown.git
カレントディレクトリを変更します。
cd sagemaker-auto-shutdown
auto-shutdownのextensionをセットアップ - シェルスクリプトを実行
以下のコマンドをコピペして実行します。
cp ./on-jupyter-server-start.sh ../
cp ./check_idle_timeout_configuration.py ../
cd ..
chmod 755 ./on-jupyter-server-start.sh
./on-jupyter-server-start.sh
実行が終わると現在利用しているターミナルが閉じます。
ターミナルを新しく起動する
File -> New -> Terminal
からターミナルを起動します。
タイムアウト時間を設定 - シェルスクリプトを実行
以下のコマンドをコピペして実行します。
conda activate studio
./.auto-shutdown/set-time-interval.sh
実行すると以下のように実行結果が表示されます。
sagemaker-user@studio$ conda activate studio
(studio) sagemaker-user@studio$ ./.auto-shutdown/set-time-interval.sh
Succeeded, idle timeout set to 180 minutes
(studio) sagemaker-user@studio$
なお、デフォルトのタイムアウト時間は180分に設定していますが、このset-time-interval.sh
を修正して再度このコマンドを実行することで
タイムアウト時間(秒単位)の再設定が可能です。
set-time-interval.sh
はon-jupyter-server-start.sh
によって自動で作成されるファイルです。
一時的にタイムアウト時間を変更する場合はset-time-interval.sh
のTIMEOUT
変数を修正するようにしてください。
設定されているかどうかの確認
以下のコマンドをコピペして実行します。
python check_idle_timeout_configuration.py
実行すると以下のように実行結果が表示されます。
(studio) sagemaker-user@studio$ python check_idle_timeout_configuration.py
<Response [200]>
{‘idle_time’: 10800, ‘keep_terminals’: False, ‘count’: 10}
(studio) sagemaker-user@studio$
これで設定は以上になります。
切り戻し手順
ここから先はうまくいかなかった時のリセット手順です。
カレントディレクトリの確認
以下のコマンドをコピペして実行します。
pwd
実行すると以下のように実行結果が表示されます。
(studio) sagemaker-user@studio$ pwd
/home/sagemaker-user
(studio) sagemaker-user@studio$
カレントディレクトリが/home/sagemaker-user
であることを確認します。
ディレクトリの削除
以下のコマンドをコピペして実行します。
rm -rf .auto-shutdown
rm -rf check_idle_timeout_configuration.py
rm -rf on-jupyter-server-start.sh
これでインストール前の状態に戻りました。
まとめ(所感)
UIが変更されましたが、ほぼ同じ感覚で使うことができました。
ですが、バージョンで見ると私がこの手順書を書いた時(2022年08月頃)はjupyterのバージョンは3.3.4
でしたが、2022年12月2日時点ではjupyterのバージョンは3.6.0a1
でした。変化が早いので手順書があっという間に廃れそうですね。
余談ですが、個人的にはこういうインフラ作業における手順書の書き方には結構こだわりがあったりします。
リクエストがあったらそういう部分についても語りたいと思います。
今回扱ったSagemaker Studioですが、好きなサービスの一つでシングルサインオンで扱える部分が素敵だなと思っています。ただ、機械学習系の技術スタックにはそんなに強くないので、jupyter環境の利用がメインです。
開発環境を用意しなくても良いことと認証面を全てAWS IAM Identity Center
に統一できるところは個人学習には向いているなと思うので興味のある方はぜひ、今回のAutoShutdownを導入して安全にSagemaker Studioを使ってみてください。