ライフサイクル設定をデバッグする - Amazon SageMaker AI

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

ライフサイクル設定をデバッグする

重要

2023 年 11 月 30 日以降、従来の Amazon SageMaker Studio のエクスペリエンスは Amazon SageMaker Studio Classic と名前が変更されました。以下のセクションは、Studio Classic アプリケーションの使用を前提とした内容です。更新後の Studio エクスペリエンスを使用する場合は、「Amazon SageMaker Studio」を参照してください。

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

CloudWatch Logs でライフサイクル設定プロセスを検証する

ライフサイクル設定では STDOUTSTDERR のみを記録します。

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

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

  1. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

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

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

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

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

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

    domain-id/user-profile-name/app-type/app-name

    例えば、ドメイン d-m85lcu8vbqmz、ユーザープロファイル i-sonic-js、アプリケーションタイプ JupyterServer、アプリケーション名 test-lcc-echo のライフサイクル設定のログを検索するには、次の検索文字列を使用します。

    d-m85lcu8vbqmz/i-sonic-js/JupyterServer/test-lcc-echo
  7. LifecycleConfigOnStart で追加されたログストリームを選択して、スクリプト実行ログを表示します。

JupyterServer アプリの障害

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

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

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

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

このエラーを解決するには、「デフォルトのライフサイクル設定を設定する」の手順に従って DefaultResourceSpec からライフサイクル設定スクリプトを削除するか、別のスクリプトをデフォルトに設定します。その後、新しい JupyterServer アプリを起動します。

KernelGateway アプリの障害

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

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

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

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

注記

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

ライフサイクル設定のタイムアウト

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

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

スクリプトの実行時間を短縮できるように、次のことを試してください。

  • 必要なステップを削減します。例えば、大きなパッケージをインストールする conda 環境を制限します。

  • 並列プロセスでタスクを実行します。

  • スクリプトで nohup コマンドを使用して、ハングアップシグナルを無視し、スクリプトの実行が停止しないようにします。