

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

# 冗長なマニフェストを設定する手順
<a name="hls-rm-procedure"></a>

MediaLive HLS 出力で冗長マニフェストをセットアップするには、2 つのパートがあります。出力グループの 機能を有効にする必要があります。また、出力名と送信先パスの設計も調整しなければならない (冗長なマニフェストを実装しない HLS 出力と比較して)。

次のフィールドは、特に冗長なマニフェストに関連しています。
+ **[HLS output group] (HLS 出力グループ) – [Manifests and Segments] (マニフェストとセグメント) – [Redundant manifests] ([冗長なマニフェスト)** フィールド

**冗長なマニフェストを設定するには**

1. 冗長マニフェストをサポートしているかどうか、下流システムのオペレーターに問い合わせてください。

1. 「[出力先のフィールド — HTTP サーバーへの送信](hls-destinations-http.md)」の情報を確認します。マニフェストは、MediaLive から出力されると見なされます。したがって、出力の送信先に関する一般的なルールが冗長なマニフェストに適用されます。

1. 2 つのパイプラインの URL を設計します。HLS ファイルの URL には、特別な要件があります。該当するセクションをお読みください。
   + [ほとんどのダウンストリームシステムのルール](hls-redundant-manif-most-systems.md) 
   + [Akamai CDN のルール](hls-redundant-manif-akamai.md)

   これらのルールは、「[出力先のフィールド — HTTP サーバーへの送信](hls-destinations-http.md)」の情報を補足するものです。

1. マニフェストのカスタムパスも必要な場合、「[カスタムパスの仕組み](hls-manifests-how-work.md#hls-custom-manifest-paths)」の情報を必ずお読みください。URL を設計する際、カスタムパスのルールを考慮する必要があります。

1. **[HLS 出力グループ]** セクションで、**[マニフェストとセグメント]** と [**Redundant manifests (冗長なマニフェスト)]** に対して **[ENABLED]** (有効) を選択します。このフィールドは、出力グループ内のすべての出力に適用されます。

1. 設計に従って、次のフィールドに入力します。
   + **[Output group] (出力グループ) – [HLS group destination] (HLS グループ送信先)** セクション
   + **[Output group] (出力グループ) – [HLS settings] (HLS 設定) – [CDN]** セクション
   + **[Output group] (出力グループ) – [Location] (場所) – [Directory structure] (ディレクトリ構造)**
   + **[Output group] (出力グループ) – [Location] (場所) – [Segments per subdirectory (サブディレクトリごとのセグメント**
   + **[HLS outputs] (HLS 出力) – [Output settings] (出力設定) – [Name modifier] (名前修飾子)**
   + **[HLS outputs] (HLS 出力) – [Output settings] (出力設定) – [Segment modifier] (セグメント修飾子)**
   + **[HLS output group] (HLS 出力グループ) – [Location] (場所) – [Base URL Manifest] (ベース URL マニフェスト)** (カスタムパスも設定している場合)
   + **[HLS output group] (HLS 出力グループ) – [Location] (場所) – [Base URL Content](ベース URL コンテンツ)** (カスタムパスも設定している場合) 

この機能によって HLS マニフェストのコンテンツがどのように変更されるかについては、「[HLS マニフェストのメディアコンテンツ](hls-rm-manifests-contents.md)」を参照してください。

## この設定の結果
<a name="hls-redundant-manif-results"></a>

次の 3 つの障害シナリオで冗長なマニフェストがどのように機能するかについて説明します。

### シナリオ A - 入力損失時のアクションが出力を発行することである
<a name="hls-redundant-manif-results-emit"></a>

いずれかのパイプラインで入力が失われ、[**[Input loss action]** (入力損失時のアクション) フィールド](hls-other-features.md#hls-resiliency)が **EMIT\$1OUTPUT** に設定されている場合、MediaLive は、マスターマニフェストと子マニフェストの更新を続行します。

ダウンストリームシステムの観点からは、どちらのパイプラインでも親マニフェストまたは子マニフェストに変更はありません。メディアファイル内のコンテンツはフィラーコンテンツですが、ダウンストリームシステムがマニフェストを読み込む方法には影響しません。

### シナリオ B - 入力損失時のアクションが出力を一時停止することである
<a name="hls-redundant-manif-results-pause"></a>

いずれかのパイプライン (パイプライン 0 など) で入力が失われ、**[Input loss action]** (入力損失時のアクション) フィールドが **PAUSE\$1OUTPUT** に設定されている場合、MediaLive は次の操作を実行します。
+ パイプライン 0 の子マニフェストのリスト化を削除する。
+ 子マニフェストを削除するために、パイプライン 0 の子マニフェストの場所にリクエストを送信する。

ダウンストリームシステムがパイプライン 0 のメインマニフェストを読み込んだ結果、パイプライン 0 の子マニフェストのリスト化は見つかりません。システムは、パイプライン 0 のメインマニフェストで、代替の子マニフェストを探します。パイプライン 1 の子マニフェストが見つかった場合、その子マニフェストの読み込みに切り替わります。

パイプライン 1 のメインマニフェストを読み込んでいるダウンストリームシステムは、おそらくパイプライン 1 の子マニフェストを読み込んでいるため (それらの子マニフェストがメインマニフェストに最初に表示されるため)、影響を受けません。

### シナリオ C - パイプラインの失敗
<a name="hls-redundant-manif-results-pipeline-failure"></a>

パイプラインが失敗する可能性もあります。この失敗は、入力の失敗と同じではありません。パイプラインが失敗した場合 (パイプライン 0 など)、次のことが発生します。
+ 出力が停止します。
+ パイプライン 0 のメインマニフェストは削除されません。これには、パイプライン 0 の子マニフェストのリスト化が引き続き含まれています。
+ 新しいメディアファイルが生成されていないため、子マニフェストは更新されません。そのため、子マニフェストは*古い*です。
+ パイプライン 1 のメインマニフェストは変更されません。これには、パイプライン 0 (およびパイプライン 1) の子マニフェストのリスト化が引き続き含まれています。

ダウンストリームシステムがパイプライン 0 のメインマニフェストを読み込んだ結果、パイプライン 0 の子マニフェストのリスト化が見つかりますが、そのマニフェストは古いです。マニフェストが古いことをシステムが検出できる場合、システムは、パイプライン 0 のメインマニフェストに戻り、代替の子マニフェストを検索できます。パイプライン 1 の子マニフェストが見つかった場合、その子マニフェストの読み込みに切り替わります。

パイプライン 1 のメインマニフェストを読み込んでいるダウンストリームシステムは、影響を受けません。これらのシステムは、おそらくパイプライン 1 の子マニフェストを読み込んでいます (それらの子マニフェストがメインマニフェストに最初に表示されるため)。

**注記**  
HLS 出力のダウンストリームシステムが の場合 AWS Elemental MediaStore、古い入力を削除するように MediaStore を設定できます。「[オブジェクトのライフサイクルポリシーのコンポーネント](https://docs.aws.amazon.com/mediastore/latest/ug/policies-object-lifecycle-components.html)」を参照してください。子マニフェストが削除された後、MediaStore は、シナリオ B の「マニフェストが削除されました」ロジックにフォールバックします。