

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

# Amazon SageMaker Studio Classic でライフサイクル設定をデバッグする
<a name="studio-lcc-debug"></a>

**重要**  
2023 年 11 月 30 日以降、従来の Amazon SageMaker Studio のエクスペリエンスは Amazon SageMaker Studio Classic と名前が変更されました。以下のセクションは、Studio Classic アプリケーションの使用を前提とした内容です。更新後の Studio エクスペリエンスを使用する場合は、「[Amazon SageMaker Studio](studio-updated.md)」を参照してください。  
Studio Classic は既存のワークロードでも維持されていますが、オンボーディングに利用できなくなりました。既存の Studio Classic アプリケーションのみを停止または削除でき、新しいアプリケーションを作成することはできません。[ワークロードを新しい Studio エクスペリエンスに移行](studio-updated-migrate.md)することをお勧めします。

次のトピックでは、ライフサイクル設定に関する情報を取得してデバッグする方法を説明します。

**Topics**
+ [CloudWatch Logs でライフサイクル設定プロセスを検証する](#studio-lcc-debug-logs)
+ [JupyterServer アプリの障害](#studio-lcc-debug-jupyterserver)
+ [KernelGateway アプリの障害](#studio-lcc-debug-kernel)
+ [ライフサイクル設定のタイムアウト](#studio-lcc-debug-timeout)

## CloudWatch Logs でライフサイクル設定プロセスを検証する
<a name="studio-lcc-debug-logs"></a>

ライフサイクル設定では `STDOUT` と `STDERR` のみを記録します。

`STDOUT` は、bash スクリプトのデフォルト出力です。bash コマンドの最後に `>&2` を追加することで、`STDERR` に書き込むことができます。例えば、`echo 'hello'>&2`。

ライフサイクル設定のログは、Amazon CloudWatch AWS アカウント を使用して に発行されます。これらのログは、CloudWatch コンソールの `/aws/sagemaker/studio` ログストリームでも確認できます。

1. CloudWatch コンソールの [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) を開いてください。

1. 左側で **[ログ]** を選択します。ドロップダウンメニューで、**[ロググループ]** を選択します。

1. **[ロググループ]** ページで、`aws/sagemaker/studio` を検索します。

1. ロググループを選択します。

1. **[ロググループの詳細]** ページで、**[ログストリーム]** タブを選択します。

1. 特定のアプリのログを検索するには、次の形式を使用してログストリームを検索します。

   ```
   domain-id/space-name/app-type/default/LifecycleConfigOnStart
   ```

   例えば、ドメイン `d-m85lcu8vbqmz`、スペース名 `i-sonic-js`、アプリケーションタイプ `JupyterLab` のライフサイクル設定ログを検索するには、以下の検索文字列を使用します。

   ```
   d-m85lcu8vbqmz/i-sonic-js/JupyterLab/default/LifecycleConfigOnStart
   ```

## JupyterServer アプリの障害
<a name="studio-lcc-debug-jupyterserver"></a>

アタッチされたライフサイクル設定の問題により JupyterServer アプリがクラッシュすると、Studio Classic のスタートアップ画面に次のエラーメッセージが表示されます。

```
Failed to create SageMaker Studio due to start-up script failure
```

`View script logs` リンクを選択して、JupyterServer アプリの CloudWatch ログを表示します。

問題のあるライフサイクル設定がドメイン、ユーザープロファイル、または共有スペースの `DefaultResourceSpec` に指定されている場合、Studio Classic を再起動した後もそのライフサイクル設定が使用されます。

このエラーを解決するには、「[Amazon SageMaker Studio Classic のデフォルトのライフサイクル設定を構成する](studio-lcc-defaults.md)」の手順に従って `DefaultResourceSpec` からライフサイクル設定スクリプトを削除するか、別のスクリプトをデフォルトに設定します。その後、新しい JupyterServer アプリを起動します。

## KernelGateway アプリの障害
<a name="studio-lcc-debug-kernel"></a>

アタッチされたライフサイクル設定の問題により KernelGateway アプリがクラッシュすると、Studio Classic ノートブックにエラーメッセージが表示されます。

[`View script logs`] を選択して KernelGateway アプリの CloudWatch ログを表示します。

このケースでは、新しい Studio Classic ノートブックを起動する際に、Studio Classic ランチャーでライフサイクル設定が指定されています。

このエラーを解決するには、Studio Classic ランチャーを使用して別のライフサイクル設定を選択するか、[`No script`] を選択します。

**注記**  
ユーザーが Studio Classic ランチャーに表示されるリストから別のスクリプトを選択しない限り、ドメイン、ユーザープロファイル、または共有スペースのすべての KernelGateway イメージに `DefaultResourceSpec` で指定されているデフォルトの KernelGateway ライフサイクル設定が適用されます。デフォルトのスクリプトは、ユーザーが [`No Script`] を選択した場合にも実行されます。スクリプトの選択については、「[手順 3: ライフサイクル設定を使用してアプリケーションを起動する](studio-lcc-create-console.md#studio-lcc-create-console-step3)」を参照してください。

## ライフサイクル設定のタイムアウト
<a name="studio-lcc-debug-timeout"></a>

ライフサイクル設定のタイムアウトの制限は 5 分です。ライフサイクル設定スクリプトの実行に 5 分以上かかる場合、Studio Classic はエラーをスローします。

このエラーを解決するには、ライフサイクル設定スクリプトが 5 分以内に完了するようにします。

スクリプトの実行時間を短縮できるように、次のことを試してください。
+ 必要なステップを削減します。例えば、大きなパッケージをインストールする conda 環境を制限します。
+ 並列プロセスでタスクを実行します。
+ スクリプトで `nohup` コマンドを使用して、ハングアップシグナルを無視し、スクリプトの実行が停止しないようにします。