

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

# MediaTailor の CDN セッション管理と追跡の問題を修正
<a name="diagnose-session-issues"></a>

AWS Elemental MediaTailor コンテンツ配信ネットワーク (CDN) セッション管理は、広告のパーソナライゼーションと追跡を適切に行うために不可欠です。セッション関連のエラーが発生したり、リクエスト間で動作に一貫性がない場合:

1. セッション ID の整合性を確認します。
   + プレイヤーが 1 回の再生セッションのすべてのリクエストで同じセッション ID を維持していることを検証する
   + CDN ログをチェックして、セッション IDsが正しく転送されていることを確認します。
   + セッション IDsクエリパラメータで適切に URL エンコードされていることを確認します。
   + CloudWatch Logs を使用して、リクエスト間でセッション ID の整合性を検証する (以下の検証ステップを参照)

1. セッションの初期化を検証する:
   + 最初のマニフェストリクエストが正常にセッションを作成することを確認する
   + セッションパラメータの適切な転送を確認する (例: `aws.sessionId`)
   + デバッグログを使用してセッションの初期化を検証する (以下のデバッグログの設定を参照)

1. 詳細なセッショントラブルシューティングのためにデバッグログ記録を有効にします。
   + **サーバー側のレポートの場合: **再生リクエスト`?aws.logMode=DEBUG`に を追加します。

     ```
     GET <mediatailorURL>/v1/master/<hashed-account-id>/<origin-id>/<asset-id>?aws.logMode=DEBUG
     ```
   + **クライアント側のレポートの場合: **セッション初期化リクエスト本文`"logMode": "DEBUG"`に を含める
   + **重要:** `DEBUG`値は大文字と小文字が区別されます
   + 最大 10 のアクティブなデバッグセッションを同時に許可

1. CloudWatch Logs クエリを使用してセッション動作を検証します。
   + **デバッグセッションがアクティブであることを確認します。**

     ```
     fields @timestamp, @message
     | filter sessionId = "your-session-id-here"
     | filter eventType = "SESSION_INITIALIZED" # client-side reporting
     or mediaTailorPath like "/v1/master" # server-side reporting HLS
     or mediaTailorPath like "/v1/dash" # server-side reporting DASH
     ```
   + **セッションのすべてのイベントを表示します。**

     ```
     fields @timestamp, @message, eventType, mediaTailorPath
     | filter sessionId = "your-session-id-here"
     | sort @timestamp asc
     ```
   + **セッションのマニフェスト生成を確認します。**

     ```
     fields @timestamp, responseBody, @message
     | filter mediaTailorPath like "/v1/master/" and eventType = "GENERATED_MANIFEST" and sessionId = "your-session-id-here"
     ```

1. CDN を介したセッションパラメータ転送をテストします。
   + MediaTailor に対してセッションパラメータを使用してマニフェストリクエストを直接テストする (CDN をバイパス)
   + CDN の有無にかかわらずセッション動作を比較して転送の問題を特定する
   + CDN クエリパラメータ転送設定にセッション関連のパラメータが含まれていることを確認する
   + CDN がセッション固有のレスポンスをキャッシュしないことを確認する

**一般的なセッションエラーメッセージ:**
+ `ConflictException` (HTTP 409) - 同じセッションに対する複数の同時プレイリストリクエスト。**解決策:** HLS 仕様に従ってプレイヤーがプレイリストを一度に 1 つずつリクエストすることを確認する
+ `NotFoundException` (HTTP 404) - セッションが使用できないか、設定が存在しません。**解決策:** 設定の有効性を確認し、セッションを再初期化する
+ `BadRequestException` (HTTP 400) - 無効なセッション ID または不適切な形式のリクエスト。**解決策:** リクエストのフォーマットとセッション ID の有効性を検証する

**その他のトラブルシューティングリソース:**
+ デバッグログの設定とフィールドリファレンスの詳細については、「」を参照してください。 [AWS Elemental MediaTailor デバッグログの生成](debug-log-mode.md)
+ CloudWatch Logs クエリの例とログ分析については、「」を参照してください。 [Amazon CloudWatch Logs に直接 AWS Elemental MediaTailor ログを書き込む](monitoring-cw-logs.md)
+ CDN クエリパラメータ転送設定については、「」を参照してください。 [MediaTailor の CDN ルーティング動作を設定する](cdn-routing-behaviors.md)
+ 包括的なエラーコードリファレンスについては、「」を参照してください。 [MediaTailor からの再生のトラブルシューティング](playback-errors.md)

**成功基準:** 解決されると、セッションは正しく初期化され、リクエスト間で一貫したセッション IDsが維持され、デバッグログにはエラーなしで適切な`SESSION_INITIALIZED`イベントとマニフェスト生成が表示されます。