Amazon SageMaker ノートブックインスタンスを作成または起動すると、インスタンスが [Pending] (保留中) の状態になります。ノートブックインスタンスの状態が変化しないように見え、それから失敗します。
簡単な説明
[Pending] (保留中) 状態は、SageMaker がノートブックインスタンスを作成中であることを示します。作成プロセスのいずれかのステップが失敗した場合、SageMaker はノートブックの再作成を試みます。このため、ノートブックの [Pending] (保留中) 状態が想定よりも長く続くことがあります。SageMaker でノートブックインスタンスを作成できない状態が続くと、最終的にステータスが [Failed] (失敗) に変わります。
解決方法
失敗の原因を確認する
DescribeNoteBookInstance API のFailureReason レスポンスを確認します。SageMaker コンソールでも失敗した原因を確認できます。
- 失敗の理由の短い説明を示すポップアップウィンドウを表示するには、[Status] (ステータス) 列の [Failed] (失敗) で一時停止します。
- 失敗の原因をすべて確認するには、ノートブックインスタンスの名前を選択します。[ノートブックインスタンス設定] セクションの上部に失敗の原因が表示されます。
失敗の原因から根本原因を探ります。
一般的なエラー
「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 リポジトリのドメイン名または接続をサポートしていない場合に発生します。
重要: 仮想プライベートクラウド (VPC) にデプロイされたノートブックインスタンスは、VPC ピアリング接続用のサブネットルートテーブルなどのカスタムルートテーブルを自動的に継承しません。カスタムルートテーブルが必要な場合は、ライフサイクル設定のスクリプトを作成して、起動時にルートを追加するようにします。詳細については、「Understanding Amazon SageMaker notebook instance networking configurations and advanced routing options」(Amazon SageMaker ノートブックインスタンスのネットワーク設定と高度なルーティングオプションについて理解する) を参照してください。
Git 接続がアクティブで、ノートブックインスタンスからリポジトリに接続できることを検証するには、 Git リポジトリを関連付けていない新しいノートブックインスタンスを作成します。その後、Jupyter コンソールを開き、ターミナルセッションを使用して次のコマンドを実行します。
1.FSPサーバーのホスト名を解決します。
dig repo_hostname
出力結果の回答セクションが空の場合は、ノートブックがホスト名を解決できていません。例えば、github.com の回答セクションは次のように表示されます。
;; ANSWER SECTION:
github.com. 16 IN A 20.248.137.48
2.FSP出力結果の回答セクションにレスポンスが含まれている場合は、ドメイン名の解決は機能しています。その後、次のコマンドを実行して、ホスト名での接続をテストします。
curl -v your-git-repo-url:443
3.FSP接続が拒否されるか、タイムアウトになる場合は、VPC のセキュリティグループのルール と ルートテーブルを確認します。接続が成功した場合は、 git コマンドを使用して認証情報をテストします。
git pull https://your-git-repo-url
「Lifecycle Configuration failed」(ライフサイクル設定に失敗しました)
ライフサイクル設定スクリプトの実行が 5 分を超え、処理が失敗します。ノートブックインスタンスは作成も起動もされていません。スクリプトの実行時間を短縮する方法については、「Customize a notebook instance using a lifecycle configuration script」(ライフサイクル設定スクリプトを使用したノートブックインスタンスをカスタマイズする) を参照してください。スクリプトに関する問題をトラブルシューティングするには、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 エラーは、ノートブックインスタンスの作成中に予期しないエラーが発生したことを示します。問題を一時的に排除するには、ノートブックインスタンスを再度作成してみてください。
関連情報
Git リポジトリを Amazon SageMaker のノートブックインスタンスに関連付ける
一般的なエラー