ノートブックインスタンスの作成 - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ノートブックインスタンスの作成

重要

Amazon SageMaker Studio または Amazon Studio Classic に Amazon SageMaker リソースの作成を許可するカスタム IAM ポリシーでは、 SageMakerそれらのリソースにタグを追加するためのアクセス権限も付与する必要があります。Studio と Studio Classic は作成したリソースに自動的にタグを付けるため、リソースにタグを追加する権限が必要です。IAM ポリシーで Studio と Studio Classic によるリソースの作成は許可されているが、タグ付けは許可されていない場合、リソースを作成しようとしたときに AccessDenied "" エラーが発生する可能性があります。詳細については、「 SageMakerリソースにタグを付けるための権限を付与してください。」を参照してください。

AWS Amazon 管理ポリシー SageMaker SageMaker リソースを作成する権限を付与するものには、リソースの作成時にタグを追加する権限が既に含まれています。

Amazon SageMaker ノートブックインスタンスは Jupyter ノートブックアプリを実行する ML コンピュートインスタンスです。 SageMaker インスタンスと関連リソースの作成を管理します。ノートブックインスタンスで Jupyter ノートブックを使用して、データの準備と処理、モデルをトレーニングするコードの記述、 SageMaker ホスティングへのモデルのデプロイ、モデルのテストまたは検証を行います。

ノートブックインスタンスを作成するには、コンソールまたは SageMaker CreateNotebookInstanceAPI。

選択するノートブックインスタンスタイプは、ノートブックインスタンスの使用方法によって異なります。ノートブックインスタンスがメモリ、CPU、または IO にバインドされていないことを確認してください。調査や前処理のためにデータセットをノートブックインスタンスのメモリ内にロードする場合は、データセット用の十分な RAM メモリがあるインスタンスタイプを選択することをお勧めします。これには、少なくとも 16 GB のメモリ (.xlarge 以上) を持つインスタンスが必要です。コンピューティング負荷の高い前処理にノートブックを使用する場合は、c4 や c5 などのコンピューティング最適化インスタンスを選択することをお勧めします。

ノートブックを使用する際のベストプラクティスは、 SageMaker AWS ノートブックインスタンスを使用して他のサービスをオーケストレーションすることです。たとえば、ノートブックインスタンスを使用して、 AWS Glue for ETL (抽出、変換、ロード) サービスを呼び出したり、Hadoop を使用してマッピングやデータ削減を行うために Amazon EMR を呼び出したりすることで、大規模なデータセットの処理を管理できます。 AWS のサービスは、データの一時的な計算形式やストレージ形式として使用できます。

Amazon S3 バケットを使用して、トレーニングデータやテストデータを保存および取得できます。その後、 SageMaker を使用してモデルのトレーニングと構築を行うことができるため、ノートブックのインスタンスタイプがモデルのトレーニングやテストの速度に影響することはありません。

リクエストを受け取ったら、 SageMaker 次のことを行います。

  • ネットワークインターフェースを作成 — オプションの VPC 設定を選択した場合、VPC SageMaker にネットワークインターフェースを作成します。リクエストで指定したサブネット ID を使用して、サブネットを作成するアベイラビリティーゾーンを決定します。 SageMaker リクエストで指定したセキュリティグループをサブネットに関連付けます。詳細については、「VPC 内のノートブックインスタンスを外部リソースに接続する」を参照してください。

  • ML SageMaker コンピュートインスタンスを起動 — SageMaker VPC で ML コンピュートインスタンスを起動します。 SageMaker ノートブックインスタンスを管理するための設定タスクを実行し、VPC を指定した場合は、VPC とノートブックインスタンス間のトラフィックを有効にします。

  • 一般的なディープラーニングプラットフォーム用の Anaconda パッケージとライブラリをインストールします。SageMaker インストーラーに含まれるすべての Anaconda パッケージをインストールします。詳細については、「Anaconda パッケージリスト」を参照してください。さらに、 TensorFlow および Apache MXNet SageMaker ディープラーニングライブラリをインストールします。

  • ML ストレージボリュームをアタッチ — ML ストレージボリュームを ML SageMaker コンピュートインスタンスにアタッチします。ボリュームを作業領域として使用して、トレーニングデータセットをクリーンアップしたり、検証やテスト、またはその他のデータを一時的に保存したりできます。ボリュームのサイズを 5 GB から 16384 GB の間で、1 GB 単位で選択します。デフォルトは 5 GB です。ML ストレージボリュームは暗号化されているため、 SageMaker ボリューム上の空き容量を特定することはできません。これにより、ボリュームのサイズを増やすことができますが、ノートブックインスタンスを更新するときに、ボリュームのサイズを小さくすることはできません。使用中の ML ストレージボリュームのサイズを小さくする場合は、目的のサイズで新しいノートブックインスタンスを作成します。

    ノートブックインスタンスセッション間では、/home/ec2-user/SageMaker フォルダ内に保存されたファイルとデータのみが保持されます。このディレクトリ外に保存されたファイルとデータは、ノートブックインスタンスが停止して再起動すると上書きされます。各ノートブックインスタンスの /tmp ディレクトリは、インスタンスストアに最低 10 GB のストレージを提供します。インスタンスストアは、永続的ではない一時的なブロックレベルのストレージです。インスタンスが停止または再起動されると、 SageMaker ディレクトリの内容が削除されます。この一時的なストレージは、ノートブックインスタンスのルートボリュームの一部です。

    ノートブックインスタンスが使用するインスタンスタイプが NVMe をサポートしている場合、顧客はそのインスタンスタイプで使用可能な NVMe インスタンスストアボリュームを使用できます。NVMe ストアボリュームを使用するインスタンスの場合、すべてのインスタンスストアボリュームは起動時に自動的にインスタンスにアタッチされます。インスタンスタイプとそれに関連する NVMe ストアボリュームの詳細については、Amazon Elastic Compute Cloud インスタンスタイプの詳細を参照してください

    アタッチされた NVMe ストアボリュームをノートブックインスタンスで使用できるようにするには、「ルートアクセスまたはライフサイクル設定スクリプトを使用して、インスタンスでインスタンスストアボリュームを利用できるようにする」の手順を実行します。

    注記

    NVMe インスタンスストアボリュームは永続ストレージではありません。このストレージはインスタンスでは有効期間が短いため、このストレージを使用するインスタンスを起動するたびに再設定する必要があります。

  • Jupyter ノートブックのサンプルをコピーする - これらの Python のコード例は、さまざまなアルゴリズムとトレーニングデータセットを使ったモデルトレーニングとホスティングの例を示しています。

SageMaker ノートブックインスタンスを作成するには:
  1. https://console.aws.amazon.com/sagemaker/ SageMaker でコンソールを開きます。

  2. [ノートブックインスタンス] を選択して、[ノートブックインスタンスの作成] を選択します。

  3. [ノートブックインスタンスの作成] ページで、次の情報を入力します。

    1. [ノートブックインスタンス名] に、ノートブックインスタンスの名前を入力します。

    2. [ノートブックインスタンスタイプ] で、ユースケースに適したインスタンスサイズを選択します。サポートされているインスタンスタイプとクォータのリストについては、「Amazon SageMaker Service Quotas」を参照してください。

    3. [Elastic Inference] で、ノートブックインスタンスから推論を実行する場合は、ノートブックインスタンスに関連付ける推論アクセラレータの種類を選択するか、[なし] を選択します。Elastic Inference については、「Amazon SageMaker Elastic Inference (EI) を使う 」を参照してください。

    4. [Platform Identifier] (プラットフォーム識別子) で、ノートブックインスタンスを作成するプラットフォームタイプを選択します。このプラットフォームタイプによって、 JupyterLab ノートブックインスタンスの作成に使用するオペレーティングシステムとバージョンが決まります。プラットフォーム識別子タイプの詳細については、「Amazon Linux 2 ノートブックインスタンス」を参照してください。 JupyterLab バージョンの詳細については、「JupyterLab バージョニング」を参照してください。

    5. (オプション) 上級ユーザーの場合、[追加設定] を使用して、インスタンスの作成または起動時に実行できるシェルスクリプトを作成できます。このスクリプトはライフサイクル設定スクリプトと呼ばれ、ノートブックの環境を設定したり、その他の関数を実行したりするために使用できます。詳細については、「ライフサイクル設定スクリプトを使用したノートブックインスタンスをカスタマイズします。」を参照してください。

    6. (オプション) [追加設定] では、ノートブックインスタンスにアタッチされている機械学習ストレージボリュームのサイズを GB 単位で指定することもできます。5 GB ~ 16,384 GB のサイズを 1 GB 単位で選択できます。ボリュームを使用してトレーニングデータセットをクリーンアップしたり、検証や他のデータを一時的に保存できます。

    7. (オプション) [最小 IMDS バージョン] で、ドロップダウンリストからバージョンを選択します。この値を v1 に設定すると、両方のバージョンをノートブックインスタンスで使用できます。v2 を選択すると、IMDSv2 のみをノートブックインスタンスで使用できます。IMDSv2 の詳細については、「IMDSv2 の使用」を参照してください。

      注記

      2022 年 10 月 31 日から、 SageMaker ノートブックインスタンスのデフォルトの最小 IMDS バージョンが IMDSv1 から IMDSv2 に変更されます。

      2023 年 2 月 1 日以降、IMDSv1 はノートブックインスタンスの新規作成に使用できなくなります。これ以降は、IMDS バージョン 2 以上でノートブックインスタンスを作成できます。

    8. IAM ロールについては、リソースへのアクセスに必要な権限を持つアカウント内の既存の IAM ロールを選択するか、[Create a new role] を選択します。 SageMaker[新しいロールを作成] を選択すると、という名前の IAM SageMaker ロールが作成されますAmazonSageMaker-ExecutionRole-YYYYMMDDTHHmmSS AWS AmazonSageMakerFullAccess管理ポリシーがロールにアタッチされます。ロールは、ノートブックインスタンスが Amazon S3 SageMaker を呼び出すことを許可するアクセス権限を提供します。

    9. [ルートアクセス] で、すべてのノートブックインスタンスユーザーに対してルートアクセスを有効にするには、[有効化] を選択します。ユーザーのルートアクセスを無効にするには、[無効化] を選択します。ルートアクセスを有効にすると、ノートブックインスタンスのすべてのユーザーに管理者権限が付与され、そのインスタンス上のすべてのファイルにアクセスして編集できるようになります。

    10. (オプション) 暗号化キーを使用すると、 AWS Key Management Service (AWS KMS) キーを使用して、ノートブックインスタンスにアタッチされた機械学習ストレージボリューム上のデータを暗号化できます。機密情報を機械学習ストレージボリュームに保存する場合は、情報を暗号化することを検討してください。

    11. (オプション) [ネットワーク] を使用すると、ノートブックインスタンスを Virtual Private Cloud (VPC) 内に配置できます。VPC はセキュリティを強化し、VPC 内のリソースへの VPC 外のソースからのアクセスを制限します。VPC の詳細については、「Amazon VPC ユーザーガイド」を参照してください。

      ノートブックインスタンスを VPC に追加するには:

      1. VPC を選択し、SubnetId

      2. [セキュリティグループ] で、VPC のデフォルトのセキュリティグループを選択します。

      3. ノートブックインスタンスにインターネットアクセスが必要な場合は、直接インターネットアクセスを有効にします。[直接インターネットアクセス][有効化] を選択します。インターネットアクセスにより、ノートブックインスタンスの安全性が低下する可能性があります。詳細については、「VPC 内のノートブックインスタンスを外部リソースに接続する」を参照してください。

    12. (オプション) Git リポジトリをノートブックインスタンスに関連付けるには、デフォルトのリポジトリと最大 3 つの追加リポジトリを選択します。詳細については、「Git SageMaker リポジトリをノートブックインスタンスに関連付ける」を参照してください。

    13. [Create notebook instance] (ノートブックインスタンスの作成) を選択します。

      数分後に Amazon は ML コンピュートインスタンス (この場合はノートブックインスタンス) SageMaker を起動し、ML ストレージボリュームをアタッチします。ノートブックインスタンスには、事前設定された Jupyter ノートブックサーバーと一連の Anaconda ライブラリがあります。詳細については、「CreateNotebookInstance API」を参照してください。

  4. コンソールでノートブックインスタンスのステータスが InService の場合、ノートブックインスタンスを使用する準備ができています。ノートブック名の横にある [Jupyter を開く] を選択して、クラシック Jupyter ダッシュボードを開きます。

    注記

    Amazon SageMaker ノートブックインスタンスのセキュリティを強化するため、notebook.region.sagemaker.awsすべてのリージョンドメインはインターネットのパブリックサフィックスリスト (PSL) に登録されています。セキュリティを強化するため、ノートブックインスタンスのドメインに機密な Cookie を設定する必要が生じた場合は、__Host-プレフィックスの付いた Cookie SageMaker を使用することをおすすめします。これは、クロスサイトリクエストフォージェリ (CSRF) 攻撃からドメインを防ぐ際に役立ちます。詳しい情報については、mozilla.org 開発者ドキュメンテーション Web サイトの Set-Cookie ページを参照してください。

    [Open] を選択してダッシュボードを開くことができます。 JupyterLab JupyterLabダッシュボードでは、 SageMaker 完全なコードウォークスルーを含むノートブックインスタンスとサンプルノートブックにアクセスできます。これらのウォークスルーでは、 SageMaker を使用して一般的な機械学習タスクを実行する方法を示しています。詳細については、「サンプルノートブック」を参照してください。詳細については、「 SageMaker ノートブックインスタンスへのルートアクセスを制御します。」を参照してください。

    Jupyter ノートブックの詳細については、Jupyter ノートブックを参照してください。