Amazon SageMaker ノートブックのインスタンスが保留中状態で停止し、失敗する
最終更新日: 2020 年 9 月 24 日
Amazon SageMaker ノートブックインスタンスを作成または起動すると、インスタンスが保留中の状態になります。ノートブックインスタンスの状態が変化しないように見え、それから失敗します。
簡単な説明
保留中状態は、SageMaker がノートブックインスタンスを作成中であることを示します。作成プロセスのいずれかのステップ が失敗した場合、SageMaker はノートブックの再作成を試みます。このため、ノートブックの保留中状態が予想よりも長く続くことがあります。SageMaker でノートブックインスタンスを作成できない状態が続くと、最終的にステータスが失敗に変わります。
解決方法
失敗の原因を確認する
DescribeNoteBookInstance API のFailureReason レスポンスを確認します。SageMaker コンソールでも失敗した原因を確認できます。
- [失敗しました] を [ステータス] 列から一時停止すると、失敗した原因の短い説明がでポップアップで表示されます。
- 失敗の原因をすべて確認するには、ノートブックインスタンスの名前を選択します。[ノートブックインスタンス設定] セクションの上部に失敗の原因が表示されます。
失敗の原因から根本原因を探ります。
一般的なエラー
「fatal: unable to access 'https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/': Failed to connect to github.com port 443: Connection timed out (致命的:'https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/' にアクセスできません。github.com ポート 443 に接続できませんでした。接続がタイムアウトしました。)」
このエラーは、ノートブックインスタンスのネットワーク設定が、外部 Git リポジトリのドメイン名または接続をサポートしていない場合に発生します。
重要: Virtual Private Cloud (VPC) にデプロイされたノートブックインスタンスは、VPC ピアリング接続用のサブネットルートテーブルなどのカスタムルートテーブルを自動的に継承しません。カスタムルートテーブルが必要な場合は、ライフサイクル設定のスクリプトを作成して、起動時にルートを追加するようにします。詳細については、「Amazon SageMaker ノートブックインスタンスのネットワーク設定と高度なルーティングオプションについて理解する」を参照してください。
Git 接続が有効で、ノートブックインスタンスからリポジトリに接続できることを確認するには、 Git リポジトリを関連付けていない新しいノートブックインスタンスを作成します。次に Jupyter コンソールを開き、ターミナルセッションを使用して次のコマンドを実行します。
1. サーバのホスト名を解決します。
dig repo_hostname
出力結果の回答セクションが空の場合は、ノートブックがホスト名を解決できていません。
2. 出力結果の回答セクションにレスポンスが含まれている場合は、ドメイン名の解決ができています。さらに次のコマンドを実行して、ホスト名での接続をテストします。
nc repo_hostname 443
3. 接続が拒否されるか、タイムアウトになる場合は、VPC のセキュリティグループのルール と ルートテーブルを確認します。接続が成功した場合は、 git コマンドを使用して認証情報をテストします。
git pull https://your-git-repo-url
「ライフサイクル設定に失敗しました。」
ライフサイクル設定スクリプトの実行が 5 分を超え、処理が失敗します。ノートブックインスタンスは作成も起動もされていません。スクリプトの実行時間を短縮する方法については、「ライフサイクル設定スクリプトを使用したノートブックインスタンスをカスタマイズします。」を参照してください。スクリプトに関する問題のトラブルシューティングを行うには、Amazon CloudWatch Logs でライフサイクル設定を確認してください。
- ロググループ: /aws/sagemaker/NotebookInstances
- ログストリーム: notebook-instance-name/LifecycleConfigOnStart または notebook-instance-name/LifecycleConfigOnCreate
「This Notebook Instance type 'ml.m4.xlarge' is temporarily unavailable. (このノートブックのインスタンスタイプ 'ml.m4.xlarge' は一時的に利用できません。)ご不便をおかけして申し訳ございません。Please try again in a few minutes, or try a different instance type. (数分後にもう一度試すか、別のインスタンスタイプをお試しください。)」
選択したインスタンスタイプに対して Amazon Elastic Compute Cloud(Amazon EC2)に十分な容量がない場合に、このエラーが発生します。その時点でリージョンにあるインスタンスタイプの需要に応じて、容量は変化します。後でリクエストを再試行して、キャパシティレベルが変更されているかどうか確認します。または、別のインスタンスタイプを選択します。
HTTP 500 内部エラー
HTTP 500 エラーは、ノートブックインスタンスの作成中に予期しないエラーが発生したことを示します。問題を一時的に排除するには、ノートブックインスタンスを再度作成してみてください。