機械学習のための IDE：Amazon SageMaker Studio をさわってみた

# はじめに
2020年の AWS re:Invent で Amazon SageMaker の新機能がたくさん発表されたのを見て、そろそろ Amazon SageMaker Studio 使ってみようかな？と思われた方もいらっしゃるのではないでしょうか。この記事では、Amazon SageMaker Studio をセットアップしてノートブックを開くところまでをやってみようと思います。

# Amazon SageMaker コンソールにアクセス
Amazon SageMaker のコンソールにアクセスし、左側のメニューの [Amazon SageMaker Studio] か画面右側の [SageMaker Studio] と書かれたオレンジ色のボタンをクリックします。
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/315319/9921dc9a-27fc-ce93-7fc7-98a5ef986721.png)

# Amazon SageMaker Studio ドメインの作成
SageMaker Studio のセットアップ画面が表示されたら、[クイックスタート] か [標準セットアップ] のいずれかを選択します。
![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/315319/6743833b-bf7c-758e-45eb-a8bc4d26c9b8.png)

## クイックスタートを選択した場合
クイックスタートを選択した場合は、任意の [ユーザー名] を設定し、[実行ロール] のプルダウンメニューから [新しいロールの作成] を選択し、[任意の S3 バケット] を選択して [ロールの作成] をクリックし、最後に [送信] をクリックします。

## 標準セットアップを選択した場合
標準セットアップを選択すると、認証方法や実行ロールの設定画面が表示されます。以下のように設定します。
認証方法：AWS Identity and Access Management (IAM)
実行ロール：新しいロールの作成
![スクリーンショット 2020-12-25 13.19.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/315319/f25bcf09-04d4-ef0f-f18e-fcb0c0923d44.png)

[新しいロールの作成] を選択すると、以下の画面が表示されます。任意の S3 バケットを選択して [ロールの作成] をクリックします。
![スクリーンショット 2020-12-25 13.19.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/315319/f49dbdaa-c81b-7c3f-e6c8-9bb997f9815a.png)

次に、[ネットワークとストレージ] と書かれた部分をクリックしてを展開します。[サブネット] に、少なくとも 1つのサブネットを設定して、一番したの [送信] をクリックします。
![スクリーンショット 2020-12-25 13.19.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/315319/d06d3b68-ff1b-1c05-2d94-fe00f0d533a8.png)


# ユーザの登録
ドメインの作成が終わったら、ユーザを追加します。[ユーザーを追加] ボタンをクリックします。
![スクリーンショット 2020-12-25 13.43.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/315319/c8ab745f-b01f-f6cd-87be-ab465414d549.png)

[ユーザー名] に任意の名前を記入し、[実行ロール] のプルダウンメニューから先ほど作成した IAM ロール（AmazonSageMaker-ExecutionRole-xxxx という名前）を選択して、[送信] をクリックします。
![スクリーンショット 2020-12-25 13.43.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/315319/41f15720-307b-23f2-ad38-3da22f8ada47.png)

# Amazon SageMaker Studio の起動
これでユーザーの登録が完了しました。SageMaker Studio コントロールパネルのユーザー名の右側にある [Studio を開く] をクリックすると、ブラウザの新しいタブで Amazon SageMaker Studio が開きます。初回は起動が完了するまで 8分くらい以下の画像のような画面が表示されることがありますが、起動すると信じて待っていてください。
![スクリーンショット 2020-12-25 14.02.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/315319/6dffb08b-b0a9-64d4-a9d1-9973e31eb474.png)

Amazon SageMaker Studio が起動しました！　Launcher が表示されています。
![スクリーンショット 2020-12-25 14.08.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/315319/8241631a-c944-1083-f462-1a7170808f50.png)

# 新しいノートブックの作成
新しいノートブックを作成する方法はいくつかあります。初めてノートブックを起動する際も、起動が完了するまでに数分かかります。

## Launcher から新規ノートブックの作成
Launcher を下にスクロールすると Notebooks and compute resources と書かれた部分があるので、そこの Select a SageMaker Image で使用したいカーネルを選択してその下の Notebook をクリックすると、指定したカーネルで新しいノートブックが作成されます。

## メニューから新規ノートブックの作成
上に表示されたメニューから、File -> New -> Notebook で新しいノートブックが作成されます。[Select Kernel] 画面が表示されたら、使いたいカーネルを選択して [Select] をクリックします。

カーネルを切り替えたい場合は、ノートブック上部のカーネル名が書かれたエリア（黄色い矢印）をクリックすると [Select Kernel] 画面が表示されるのでそちらでカーネルを選択します。カーネル起動中は、カーネル名の横に Unknown と表示されます。起動が完了するとこちらにはインスタンスの CPU とメモリの情報が表示されます。
![スクリーンショット 2020-12-25 14.21.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/315319/9578fd65-a76c-a1d0-dafb-1cb218d619a0.png)

Unknown から 2 vCPU + 4 GiB に表示が変わりました。これからは、ノートブックが実行可能になります。

![スクリーンショット 2020-12-25 14.33.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/315319/f9f59732-de17-dee3-c894-41b2579c8a3c.png)

# ノートブックで使用するインスタンスタイプの切り替え

ノートブック上部の、2 vCPU + 4 GiB と書かれた部分をクリックすると以下の図のような画面が表示され、ノートブックで使用するインスタンスタイプを変更することができます。こちらの図では、比較的短時間で切り替え可能なインスタンスタイプのみが表示されていますが、[Fast launch only] のスイッチをオフにすると、使用可能なすべてのインスタンスタイプが表示されます。インスタンスタイプの切り替えには数分かかります。

![スクリーンショット 2020-12-25 14.33.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/315319/47d3d36b-51c0-9495-6429-fb711ecce211.png)

Amazon SageMaker Studio で使用可能なインスタンスタイプは [こちら](https://aws.amazon.com/jp/sagemaker/pricing/) で確認できます。インスタンスごとの詳しい性能は [こちら](https://aws.amazon.com/jp/ec2/instance-types/) に記載されています。

# リソースの削除
課金を止めるために削除が必要なリソースは以下の通りです。

* Amazon SageMaker Studio ユーザ
* Amazon SageMaker Studio ドメイン
* Elastic File System (EFS) のファイルシステム（削除すると同じドメインを使用する他のユーザのデータも消えます）
* データを保存した S3 バケット

Amazon SageMaker Studio の使用を止める場合、ユーザの詳細画面ですべてのアプリを削除してからユーザを削除します。すべてのユーザを削除すれば、Amazon SageMaker Studio ドメインを削除できるようになります。また、ストレージとして Elastic File System (EFS) が使用されており、そちらは手動で削除する必要があります。課金を完全に止めるためには EFS の削除も忘れずに実施してください。 

# まとめ
この記事では、Amazon SageMaker Studio のセットアップから、ノートブックの新規作成までのやり方をご紹介しました。

Amazon SageMaker Studio で R や最新の深層学習フレームワークなどの独自の環境を使いたい場合は [こちら](https://qiita.com/clockpulse/items/1f183c56478ad60ebe36) の記事をご参照ください。