Amazon SageMakerとAmazon FSx for NetApp ONTAPで実現する機械学習基盤 第1回

# はじめに
こんにちは。ネットアップ合同会社 Specialist SEの月岡です。
皆さん、Amazon SageMaker使っていますか？
Amazon SageMakerを使ったML/DLワークロードに興味があったり、もしくは既にAmazon SageMakerを業務で利用されている方も多くいらっしゃるかと思います。
今回は、Amazon SageMakerにAmazon FSx for NetApp ONTAPを組み合わせることで、より便利でより効率的なML/DL基盤を入手できる！？ということをお伝えします。
なお、話が長くなるので全4回に分けて投稿します。

- 第1回記事：https://qiita.com/Yoshinori_Tsukioka/items/e02537feb8008db46a99
- 第2回記事：https://qiita.com/Yoshinori_Tsukioka/items/0bdb5162f2ee25c82f32
- 第3回記事：https://qiita.com/Yoshinori_Tsukioka/items/2b6070a235b67634a2db
- 第4回記事：https://qiita.com/Yoshinori_Tsukioka/items/9016dd5c31293d76dd35

:::note
2023年7月10日（月）に以下の関連記事を投稿しています。
あわせてご確認ください。
https://qiita.com/Yoshinori_Tsukioka/items/d3abb579ec068323c125
:::
# Amazon SageMakerとは
- AWS公式サイトから抜粋（2022年9月時点）
  フルマネージドインフラストラクチャ、ツール、ワークフローを使用して、あらゆるユースケース向けの機械学習 (ML) モデルを構築、トレーニング、デプロイ
    - https://aws.amazon.com/jp/sagemaker/
    ![Amazon SageMaker_AWS公式サイト.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/78ab1516-4b9b-e3c6-b66e-48061c926845.png)

# Amazon FSx for NetApp ONTAPとは
- AWS公式サイトから抜粋（2022年9月時点）
  NetApp の人気ファイルシステムである ONTAP 上に構築された、フルマネージド型共有ストレージ
    - https://aws.amazon.com/jp/fsx/netapp-ontap/
    ![Amazon FSxN_AWS公式サイト.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/d1521534-515a-3357-af57-e28b67d6a068.png)

# Amazon SageMakerとAmazon FSx for NetApp ONTAPを組み合わせると何が嬉しいのか？
- Amazon SageMakerのノートブックインスタンスにAmazon FSx for NetApp ONTAPのNFSボリュームをマウントすることで、**大容量のデータセットに対応**できる。
- Amazon FSx for NetApp ONTAPのストレージ機能（重複排除・圧縮・データ階層化）で**効率的なデータの管理が可能**になる。
- Amazon FSx for NetApp ONTAPのFlexCloneにより**データセットの複製やバージョン管理が容易**になる。
- ネットアップが提供しているNetApp DataOps Toolkitをノートブックインスタンスにインストールすることで、**ノートブックインスタンスからAmazon FSx for NetApp ONTAPのボリューム操作（Snapshot取得、Volumeの複製など）が可能**になる。

つまりは、**データサイエンティストが抱える課題や悩みを解決し、より便利でより効率的なML/DL基盤を入手できます。**（イメージは、以下のような感じです。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/a341295c-1bb7-3bd5-65fe-c807095fd6e0.png)


# やってみた
やってみたことは、大きく分けて4つです。
　① Amazon FSx for NetApp ONTAPを作成し、Notebookインスタンス用のNFS Volumeを作成
　② Notebookインスタンスを作成し、NFS Volumeをマウント
　③ NetApp DataOps Toolkitをインストールし、NFS VolumeのSnapshot取得 / FlexCloneを作成
　④ ライフサイクル設定により、再起動後もNFS Volumeの自動マウント / NetApp DataOps Toolkitの自動インストール
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/4b62c012-bcf4-e261-ffe1-46ba1c83e81a.png)


本稿では、**①Amazon FSx for NetApp ONTAPを作成し、Notebookインスタンス用のNFS Volumeを作成**までやってみます。
②から④も投稿しますので、お楽しみに。

# Amazon FSx for NetApp ONTAPを作成し、Notebookインスタンス用のNFS Volumeを作成
## Amazon FSx for NetApp ONTAPのファイルシステムを作成する。
- AWSマネジメントコンソールにログインし、FSxを検索する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/8969a440-8938-b739-a0bb-f87684359574.png)

- FSxのコンソールが表示されたら、ファイルシステムを作成をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/ff640831-8a07-9679-a2b2-f1c2f5c21274.png)

- ファイルシステムの作成画面に遷移するので、スタンダード作成をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/1a9c25aa-dd72-d98e-098f-675feb917a00.png)

- ファイルシステムの詳細で必要情報を入力する。（ファイルシステム名やデプロイタイプ、ストレージ容量などを決定）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/b057f3d3-b06c-00d3-087d-b06c4e829cd9.png)

- ネットワークとセキュリティで必要情報を入力する。（作成先のVPC、VPC Subnet、セキュリティグループを決定）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/524142c6-b9e4-8330-6b5e-1696fa1d29d9.png)

- セキュリティと暗号化で必要情報を入力する。（KMSと連動し、格納データの暗号化が可能）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/47c616a8-880d-7c5c-97bb-c0373eefe97a.png)

- デフォルトのストレージ仮想マシン設定で必要情報を入力する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/6b2cf4da-cd4a-1b3e-707a-927044914084.png)

- デフォルトのボリューム設定で必要情報を入力する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/a2550456-2a72-c849-b469-4cbe6a6028d7.png)

- 次へをクリックし、ファイルシステムの作成を行う。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/a68f3fb7-cc2c-6664-6e43-dfc90a608008.png)

- ファイルシステムが作成されたことを確認する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/060c59b2-f981-5f51-0bde-1b9664901f09.png)

- ストレージ仮想マシンが作成されたことを確認する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/ec68e6fd-acc9-b32c-7862-b89f08c1e6a0.png)

- NFS Volumeが作成されたことを確認する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/4a170002-70aa-2851-b67e-e50ed0fef510.png)


- ストレージ仮想マシンのIPアドレスを確認する。（今回の場合は、管理IPアドレスとNFS IPアドレスが必要）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/8bffb998-4c6e-7129-1b17-638af46c18fc.png)

以上でAmazon FSx for NetAppのファイルシステムの作成とAmazon SageMakerのノートブックインスタンスにマウントするNFS Volumeの作成が完了しました。
AWSマネジメントコンソールからNetApp ONTAPストレージが作成できるので、簡単ですね。

# 次回予告
Amazon SageMakerのノートブックインスタンスを作成して、Amazon FSx for NetApp ONTAPのNFSボリュームをマウントしたいと思います。


# 主な参照元
- https://aws.amazon.com/jp/sagemaker/
- https://aws.amazon.com/jp/fsx/netapp-ontap/
- https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/what-is-fsx-ontap.html
- https://aws.amazon.com/jp/blogs/news/customize-your-notebook-volume-size-up-to-16-tb-with-amazon-sagemaker/