

# セッションエラーをトラブルシューティングする
<a name="notebooks-spark-troubleshooting-sessions"></a>

このセクションの情報を使用して、セッションの問題をトラブルシューティングします。

セッション開始時にカスタム設定エラーが発生すると、Athena for Spark コンソールにエラーメッセージバナーが表示されます。セッション開始エラーをトラブルシューティングするには、セッション状態の変更やログ情報を確認できます。

## セッション状態の変更に関する情報を表示する
<a name="notebooks-spark-troubleshooting-sessions-viewing-session-state-change"></a>

セッション状態の変更に関する詳細は、Athena ノートブックエディタまたは Athena API から取得できます。

**Athena コンソールでセッション状態情報を表示する方法**

1. Athena ノートブックエディタの右上にある **[セッション]** メニューから **[詳細を表示]** を選択します。

1. **[現在のセッション]** タブを表示します。**[セッション情報]** セクションには、セッション ID、ワークグループ、ステータス、状態変更理由などの情報が表示されます。

   次の画面キャプチャ例は、Athena の Spark セッションエラーに関連して、**[セッション情報]** ダイアログボックスの **[状態変更の理由]** セクションに表示される情報を示しています。  
![\[Athena for Spark コンソールで、セッション状態情報を確認します。\]](http://docs.aws.amazon.com/ja_jp/athena/latest/ug/images/notebooks-spark-custom-jar-cfg-1.jpeg)

**Athena API を使用してセッション状態情報を表示する方法**
+ Athena API では、[SessionStatus](https://docs.aws.amazon.com/athena/latest/APIReference/API_SessionStatus.html) オブジェクトの `StateChangeReason` フィールドでセッション状態の変更情報を確認できます。

**注記**  
セッションを手動で停止した後、またはアイドルタイムアウト (デフォルトは 20 分) 後にセッションが停止した場合には、**[StateChangeReason]** の値が [リクエストに従ってセッションを終了済み] に変わります。

## ログ記録を使用してセッション開始エラーをトラブルシューティングする
<a name="notebooks-spark-troubleshooting-sessions-using-logging"></a>

セッション開始時に発生するカスタム設定エラーは [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) にログとして記録されます。CloudWatch Logs 内で `AthenaSparkSessionErrorLogger` からのエラーメッセージを検索し、失敗したセッションの開始をトラブルシューティングします。

Spark ログ記録の詳細については、「[Athena での Spark アプリケーションイベントをログに記録する](notebooks-spark-logging.md)」を参照してください。

Athena for Spark のトラブルシューティングセッションの詳細については、「[セッションエラーをトラブルシューティングする](#notebooks-spark-troubleshooting-sessions)」を参照してください。

## 特定のセッションの問題
<a name="notebooks-spark-troubleshooting-sessions-specific-error-messages"></a>

このトピックの情報を使用して、一部の特定のセッションの問題をトラブルシューティングします。

### 異常状態のセッション
<a name="notebooks-spark-troubleshooting-sessions-unhealthy"></a>

「Session in unhealthy state」(セッションが異常な状態です) というエラーメッセージが表示された場合。「Please create a new session」(新しいセッションを作成してください)、既存のセッションを終了してから、新しいセッションを作成してください。

### ノートブックサーバーへの接続を確立できませんでした
<a name="notebooks-spark-troubleshooting-sessions-wss-blocked"></a>

ノートブックを開くと、次のエラーメッセージが表示されることがあります。

```
A connection to the notebook server could not be established.  
The notebook will continue trying to reconnect.  
Check your network connection or notebook server configuration.
```

#### 原因
<a name="notebooks-spark-troubleshooting-sessions-wss-blocked-cause"></a>

Athena がノートブックを開くと、Athena はセッションを作成し、署名済みのノートブックの URL を使用してノートブックに接続します。ノートブックへの接続には、WSS ([WebSocket セキュア](https://en.wikipedia.org/wiki/WebSocket)) プロトコルを使用します。

エラーは、次の原因で発生することがあります。
+ ローカルファイアウォール (会社全体のファイアウォールなど) が WSS トラフィックをブロックしています。
+ ローカルコンピュータ上のプロキシまたはアンチウイルスソフトウェアが WSS 接続をブロックしています。

#### ソリューション
<a name="notebooks-spark-troubleshooting-sessions-wss-blocked-solution"></a>

`us-east-1` リージョンに次のような WSS 接続があるとします。

```
wss://94c2bcdf-66f9-4d17-9da6-7e7338060183.analytics-gateway.us-east-1.amazonaws.com/
api/kernels/33c78c82-b8d2-4631-bd22-1565dc6ec152/channels?session_id=
7f96a3a048ab4917b6376895ea8d7535
```

エラーを解決するには、次の戦略のいずれかを使用します。
+ ワイルドカードパターン構文を使用すると、AWS リージョン とAWS アカウント を経由するポート `443` の WSS トラフィックを一覧表示できます。

  ```
  wss://*amazonaws.com
  ```
+ ワイルドカードパターン構文を使用すると、指定した AWS リージョン で 1 つの AWS リージョン と AWS アカウント を経由するポート `443` で WSS トラフィックを一覧表示できます。次の例では `us-east-1` を使用しています。

  ```
  wss://*analytics-gateway.us-east-1.amazonaws.com
  ```