

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

# 制約と考慮事項
<a name="notebook-auto-run-constraints"></a>

以下の制約を確認して、ノートブックジョブが正常に完了するようにします。Studio では Papermill を使用してノートブックを実行します。Papermill の要件に合わせるために Jupyter Notebook を更新する必要がある場合があります。LCC スクリプトの内容には制限があり、VPC 設定に関して理解しておくべき重要な詳細事項もあります。

## JupyterLab のバージョン
<a name="notebook-auto-run-constraints-jpt"></a>

JupyterLab バージョン 4.0 はサポート対象です。

## カーネルの再起動が必要なパッケージのインストール
<a name="notebook-auto-run-constraints-pmill-pkg"></a>

Papermill は、カーネルの再起動が必要なパッケージをインストールする `pip install` の呼び出しをサポートしていません。このような場合は、初期化スクリプトで `pip install` を使用します。カーネルの再起動を必要としないパッケージインストールでも、ノートブックに `pip install` を含めることができます。

## Jupyter に登録されているカーネル名と言語名
<a name="notebook-auto-run-constraints-pmill-names"></a>

Papermill は特定のカーネルと言語のトランスレーターを登録します。独自のインスタンス (BYOI) を持ち込む場合は、以下のスニペットに示す標準カーネル名を使用します。

```
papermill_translators.register("python", PythonTranslator)
papermill_translators.register("R", RTranslator)
papermill_translators.register("scala", ScalaTranslator)
papermill_translators.register("julia", JuliaTranslator)
papermill_translators.register("matlab", MatlabTranslator)
papermill_translators.register(".net-csharp", CSharpTranslator)
papermill_translators.register(".net-fsharp", FSharpTranslator)
papermill_translators.register(".net-powershell", PowershellTranslator)
papermill_translators.register("pysparkkernel", PythonTranslator)
papermill_translators.register("sparkkernel", ScalaTranslator)
papermill_translators.register("sparkrkernel", RTranslator)
papermill_translators.register("bash", BashTranslator)
```

## パラメータと環境変数の制限
<a name="notebook-auto-run-constraints-var-limits"></a>

**パラメータと環境変数の制限。**ノートブックジョブを作成すると、指定したパラメータと環境変数がジョブに届きます。最大 100 個のパラメータを渡すことができます。各パラメータ名の長さは最大 256 文字、関連値は最大 2500 文字です。環境変数を渡す場合、最大 28 個の変数を渡すことができます。変数名と関連値の長さは 512 文字までです。28 個を超える環境変数が必要な場合は、使用できる環境変数の数に制限のない初期化スクリプトで追加の環境変数を使用します。

## ジョブとジョブ定義の表示
<a name="notebook-auto-run-constraints-view-job"></a>

**ジョブとジョブ定義の表示** JupyterLab ノートブックの Studio UI でノートブックジョブをスケジュールする場合、Studio UI で[ノートブックジョブ](https://docs.aws.amazon.com/sagemaker/latest/dg/view-notebook-jobs.html)と[ノートブックジョブ定義](https://docs.aws.amazon.com/sagemaker/latest/dg/view-def-detail-notebook-auto-run.html)を表示できます。SageMaker Python SDK でノートブックジョブをスケジュールした場合に表示できるのは、ジョブのみです。SageMaker Python SDK ノートブックジョブステップではジョブ定義は作成されません。ジョブを表示するには、ノートブックジョブステップインスタンスに追加のタグを指定する必要もあります。詳細については、「[Studio UI ダッシュボードでノートブックジョブを表示する](create-notebook-auto-run-sdk.md#create-notebook-auto-run-dash)」を参照してください。

## Image
<a name="notebook-auto-run-constraints-image"></a>

Studio でノートブックジョブを実行するか、パイプラインで SageMaker Python SDK ノートブックジョブステップを実行するかに応じて、イメージの制約を管理する必要があります。

### SageMaker AI ノートブックジョブのイメージに関する制約 (Studio)
<a name="notebook-auto-run-constraints-image-studio"></a>

**イメージとカーネルのサポート。**ノートブックジョブを起動するドライバーは、以下を前提としています。
+ 基本の Python ランタイム環境は Studio または 自分で持ち込む (BYO) イメージにインストールされ、シェルのデフォルトとなります。
+ 基本の Python ランタイム環境には、カーネルスペックが適切に設定された Jupyter クライアントが含まれています。
+ 基本の Python ランタイム環境には `pip` 関数が含まれているため、ノートブックジョブはシステムの依存関係をインストールできます。
+ 複数の環境を含むイメージの場合、ノートブック固有のパッケージをインストールする前に、初期化スクリプトを適切なカーネル固有の環境に切り替える必要があります。カーネルの Python ランタイム環境を設定した後に、カーネルランタイム環境と異なる場合は、デフォルトの Python ランタイム環境に戻す必要があります。

ノートブックジョブを起動するドライバーは bash スクリプトであり、Bash v4 は /bin/bash で利用できる必要があります。

**自分のイメージ持ち込み (BYOI) に対するルート権限。**独自の Studio イメージに対しては、ルートユーザーとして、または `sudo` アクセスを通じてルート権限を持っている必要があります。ルートユーザーではないが `sudo` 経由で ルート権限にアクセスする場合は、`UID/GID` として **1000/100** を使用します。

### SageMaker AI Python SDK ノートブックジョブのイメージに関する制約
<a name="notebook-auto-run-constraints-image-sdk"></a>

ノートブックジョブステップでは、以下のイメージがサポートされています。
+ 「[Studio Classic ノートブックで使用できる Amazon SageMaker イメージ](notebooks-available-images.md)」に一覧表示されている SageMaker Distribution イメージ
+ 以前のリストの SageMaker Distribution イメージに基づくカスタムイメージ。[SageMaker Distribution イメージ](https://github.com/aws/sagemaker-distribution)をベースとして使用します。
+ ノートブックジョブの依存関係 ([sagemaker-headless-execution-driver](https://pypi.org/project/sagemaker-headless-execution-driver/) など) がプリインストールされたカスタムイメージ (BYOI)。イメージは、以下の要件を満たしている必要があります。
  + イメージにはノートブックジョブの依存関係がプリインストールされています。
  + 基盤となる Python ランタイム環境がインストールされており、デフォルトがシェル環境になっています。
  + 基本の Python ランタイム環境には、カーネルスペックが適切に設定された Jupyter クライアントが含まれています。
  + ユーザーには、ルートユーザーとして、または `sudo` アクセスを介してルート権限が付与されています。ルートユーザーではないが `sudo` 経由で ルート権限にアクセスする場合は、`UID/GID` として **1000/100** を使用します。

## ジョブの作成時に使用される VPC サブネット
<a name="notebook-auto-run-constraints-vpc"></a>

VPC を使用する場合、Studio はプライベートサブネットを使用してジョブを作成します。1～5 つのプライベートサブネット (および 1～15 のセキュリティグループ) を指定します。

プライベートサブネットで VPC を使用する場合、ノートブックジョブが依存するサービスまたはリソースに接続できるように、以下のオプションのいずれかを選択する必要があります。
+ ジョブがインターフェイス VPC エンドポイントをサポートする AWS サービスにアクセスする必要がある場合は、サービスに接続するエンドポイントを作成します。インターフェイスエンドポイントをサポートするサービスのリストについては、 [AWS と統合されているサービス AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/aws-services-privatelink-support.html)を参照してください。インターフェイス VPC エンドポイントの作成については、[「インターフェイス VPC エンドポイントを使用して AWS サービスにアクセスする](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)」を参照してください。少なくとも Amazon S3 VPC エンドポイントゲートウェイが提供されている必要があります。
+ ノートブックジョブがインターフェイス VPC エンドポイントをサポートしていない AWS サービスまたは 外のリソースにアクセスする必要がある場合は AWS、NAT ゲートウェイを作成し、アウトバウンド接続を許可するようにセキュリティグループを設定します。VPC 用の NAT ゲートウェイのセットアップについては、Amazon Virtual Private Cloud ユーザーガイドの「*パブリックサブネットとプライベートサブネットを持つ VPC (NAT)*」を参照してください。

## サービス制限
<a name="notebook-auto-run-constraints-service-limit"></a>

ノートブックジョブスケジューラは、Pipelines サービス、SageMaker Training サービス、Amazon EventBridge サービスから構築されているため、ノートブックジョブにはこのようなサービス固有のクォータが適用されます。これらのクォータを超えると、これらのサービスに関連するエラーメッセージが表示されることがあります。例えば、一度に実行できるパイプラインの数や、1 つのイベントバスに設定できるルールの数には制限があります。SageMaker AI クォータの詳細については、「[Amazon SageMaker AI エンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/sagemaker.html)」を参照してください。EventBridge のクォータの詳細については、「[Amazon EventBridge クォータ](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-quota.html)」を参照してください。