

# CloudFront と AWS Media Services で動画ストリーミングビデオを配信する
<a name="live-streaming"></a>

CloudFront と AWS Media Services を使用して世界中の視聴者にライブコンテンツを配信するには、次のガイダンスを参照してください。

[AWS Elemental MediaLive](https://docs.aws.amazon.com/medialive/latest/ug/getting-started.html) では、ライブビデオストリームがリアルタイムでエンコードされます。大きいビデオストリームをエンコードするために、MediaLive ではビューワーに配信できる小さいバージョン (*エンコード*) に圧縮されます。

ライブビデオストリームを圧縮した後、次の 2 つの主要なオプションのいずれかを使用して、コンテンツを準備および配信できます。
+ **必要な形式にコンテンツを変換して配信する** – ビデオコンテンツが複数の形式で必要な場合は、[AWS Elemental MediaPackage](https://aws.amazon.com/mediapackage/) を使用して、デバイスタイプ別にコンテンツをパッケージ化できます。コンテンツをパッケージ化するときに、追加の機能を実装し、デジタル著作権管理 (DRM) を追加して、コンテンツの不正使用を防ぐこともできます。CloudFront を使用して MediaPackage でフォーマットされたコンテンツを配信する詳細な手順については、「[AWS Elemental MediaPackage でフォーマットされたライブ動画を配信する](#live-streaming-with-mediapackage)」を参照してください。
+ **スケーラブルなオリジンを使用してコンテンツを保存して配信する** – ビューワーが使用しているすべてのデバイスに必要な形式でコンテンツが MediaLive でエンコードされている場合は、[AWS Elemental MediaStore](https://docs.aws.amazon.com/mediastore/latest/ug/getting-started.html) などの高スケーラブルなオリジンを使用してコンテンツを配信します。CloudFront を使用して MediaStore コンテナに保存されているコンテンツを配信する詳細な手順については、「[AWS Elemental MediaStore をオリジンとして使用してビデオを配信する](#video-streaming-mediastore)」を参照してください。

これらのオプションのいずれかを使用してオリジンを設定したら、CloudFront を使用して、ビューワーにライブストリーミングビデオを配信できます。

**ヒント**  
可用性の高いリアルタイムの視聴エクスペリエンスを実現するサービスを自動的にデプロイする AWS ソリューションについて、情報を入手することができます。このソリューションを自動的にデプロイする手順については、「[ライブストリーミングの自動デプロイ](https://docs.aws.amazon.com/solutions/latest/live-streaming/deployment.html)」を参照してください。

**Topics**
+ [AWS Elemental MediaStore をオリジンとして使用してビデオを配信する](#video-streaming-mediastore)
+ [AWS Elemental MediaPackage でフォーマットされたライブ動画を配信する](#live-streaming-with-mediapackage)
+ [AWS Elemental MediaPackage でビデオオンデマンドコンテンツを提供する](#live-streaming-mediapackage-vod)

## AWS Elemental MediaStore をオリジンとして使用してビデオを配信する
<a name="video-streaming-mediastore"></a>

[AWS Elemental MediaStore](https://docs.aws.amazon.com/mediastore/latest/ug/getting-started.html) コンテナにビデオを保存している場合は、CloudFront ディストリビューションを作成してコンテンツを配信できます。

開始するには、CloudFront に MediaStore コンテナへのアクセスを許可します。次に、CloudFront ディストリビューションを作成し、MediaStore で使用するように設定します。

**AWS Elemental MediaStore コンテナからコンテンツを提供するには**

1. 「[Amazon CloudFront に AWS Elemental MediaStore コンテナへのアクセスを許可する](https://docs.aws.amazon.com/mediastore/latest/ug/cdns-allowing-cloudfront-to-access-mediastore.html)」の手順に従った後、以下の手順に戻ってディストリビューションを作成します。

1. 次の設定でディストリビューションを作成します。

   1. **オリジンドメイン** – MediaStore コンテナに割り当てられたデータエンドポイントです。ドロップダウンリストから、ライブビデオ用の MediaStore コンテナを選択します。

   1. **オリジンパス** – オブジェクトが保存されている MediaStore コンテナのフォルダ構造です。詳細については、「[オリジンのパス](DownloadDistValuesOrigin.md#DownloadDistValuesOriginPath)」を参照してください。

   1. **カスタムヘッダーを追加** – CloudFront がリクエストをオリジンに転送するときにカスタムヘッダーを追加する場合は、ヘッダーの名前と値を追加します。

   1. **ビューワープロトコルポリシー** — **[HTTP を HTTPS にリダイレクト]** を選択します。詳細については、「[ビューワープロトコルポリシー](DownloadDistValuesCacheBehavior.md#DownloadDistValuesViewerProtocolPolicy)」を参照してください。

   1. **キャッシュポリシー**と**オリジンリクエストポリシー** 
      + **[キャッシュポリシー]** で、**[ポリシーを作成]** を選択し、キャッシュのニーズとセグメント期間に適したキャッシュポリシーを作成します。ポリシーを作成したら、キャッシュポリシーのリストを更新し、先ほど作成したポリシーを選択します。
      + **オリジンリクエストポリシー**では、ドロップダウンリストから **[CORS-CustomOrigin]** (CORS-CustomOrigin)を選択します。

   その他の設定については、他の技術的要件またはビジネスのニーズに基づいて特定の値を設定できます。ディストリビューションのすべてのオプションのリストおよびその設定に関する情報については、「[すべてのディストリビューション設定リファレンス](distribution-web-values-specify.md)」を参照してください。

1. アプリケーション (メディアプレーヤーなど) 内のリンクの場合は、CloudFront を使用して配信する他のオブジェクトと同じ形式でメディアファイルの名前を指定します。

## AWS Elemental MediaPackage でフォーマットされたライブ動画を配信する
<a name="live-streaming-with-mediapackage"></a>

AWS Elemental MediaPackage を使用してライブストリームをフォーマットした場合は、CloudFront ディストリビューションを作成し、ライブストリームを配信するようにキャッシュ動作を設定できます。以下のプロセスでは、MediaPackage を使用してライブビデオ用の[チャネルの作成](https://docs.aws.amazon.com/mediapackage/latest/ug/channels-create.html)と[エンドポイントの追加](https://docs.aws.amazon.com/mediapackage/latest/ug/channels-add-endpoint.html)が済んでいることを前提としています。

MediaPackage で CloudFront ディストリビューションを手動で作成するには、以下の手順に従います。

**Topics**

### ステップ 1: CloudFront ディストリビューションを作成して設定する
<a name="live-streaming-with-mediapackage-create-dist"></a>

以下の手順を実行して、MediaPackage で作成したライブビデオチャネルの CloudFront ディストリビューションを設定します。<a name="live-streaming-with-mediapackage-create-dist-procedure"></a>

**ライブビデオチャネルのディストリビューションを作成するには**

1. AWS マネジメントコンソール にサインインし、[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home) で CloudFront コンソールを開きます。

1. **[ディストリビューションの作成]** を選択します。

1. 以下のようなディストリビューション用の設定を選択します。  
**オリジンドメイン**  
MediaPackage ライブビデオチャネルとエンドポイントがあるオリジン。テキストフィールドを選択し、ドロップダウンリストから、ライブビデオ用の MediaPackage オリジンドメインを選択します。1 つのドメインを複数のオリジンエンドポイントにマップできます。  
別の AWS アカウントを使用してオリジンドメインを作成した場合は、オリジンの URL 値をフィールドに入力します。オリジンは HTTPS URL であることが必要です。  
例えば、`https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.m3u8` などの HLS エンドポイントの場合、オリジンドメインは `3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com` です。  
詳細については、「[オリジンドメイン](DownloadDistValuesOrigin.md#DownloadDistValuesDomainName)」を参照してください。  
**オリジンのパス**  
コンテンツが配信される MediaPackage エンドポイントへのパス。  
オリジンパスの仕組みの詳細については、[オリジンのパス](DownloadDistValuesOrigin.md#DownloadDistValuesOriginPath) を参照してください。
**重要**  
CloudFront ディストリビューションのどこかにルーティングするには、ワイルドカードパス `*` が必要です。明示的なパスと一致しないリクエストが実際のオリジンにルーティングされないようにするには、そのワイルドカードパスに「ダミー」オリジンを作成します。  
**Example : 「ダミー」オリジンの作成**  

   次の例で、エンドポイント `abc123` および `def456` は「実際の」オリジンにルーティングしますが、他のエンドポイントのビデオコンテンツのリクエストは、適切なサブドメインがないと `mediapackage.us-west-2.amazonaws.com` にルーティングされ、HTTP `404` エラーになります。

   MediaPackage エンドポイント:

   ```
   https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.m3u8
   https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/def456/index.m3u8
   ```

   CloudFront オリジン A:

   ```
   Domain: 3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com
   Path: None
   ```

   CloudFront オリジン B:

   ```
   Domain: mediapackage.us-west-2.amazonaws.com
   Path: None
   ```

   CloudFront キャッシュ動作:

   ```
   1. Path: /out/v1/abc123/* forward to Origin A
   2. Path: /out/v1/def456/* forward to Origin A
   3. Path: * forward to Origin B
   ```

   その他のディストリビューション設定には、他の技術的要件またはビジネスニーズに基づいて値を指定します。ディストリビューションのすべてのオプションのリストおよびその設定に関する情報については、「[すべてのディストリビューション設定リファレンス](distribution-web-values-specify.md)」を参照してください。

   他のディストリビューションの設定を選択したら、**[Create Distribution]** (ディストリビューションの作成) を選択します。

1. 作成したディストリビューションを選択し、**[Behaviors]** (動作) タブを選択します。

1. デフォルトのキャッシュ動作を選択し、**[Edit]** (編集) をクリックします。オリジンに対して選択したチャネルの正しいキャッシュ動作設定を指定します。後で他のオリジンを 1 つ以上追加し、それらのキャッシュ動作設定を編集します。

1. [CloudFront ディストリビューションページ](https://console.aws.amazon.com/cloudfront/v4/home#/distributions)に移動します。

1. ディストリビューションの **[Last modified]** (最終更新日時) 列の値が **[Deploying]** (デプロイ中) から日付と時刻に変わって、CloudFront によってディストリビューションが作成されたことが示されるまで待ちます。

### ステップ 2: MediaPackage エンドポイントのドメインにオリジンを追加する
<a name="live-streaming-with-mediapackage-add-endpoints"></a>

この手順を繰り返して、各 MediaPackage チャネルエンドポイントをディストリビューションに追加します。ただし、「ダミー」オリジンを作成する必要があることに注意してください。<a name="live-streaming-with-mediapackage-add-endpoints-procedure"></a>

**オリジンとして他のエンドポイントを追加するには**

1. CloudFront コンソールで、チャンネル用に作成したディストリビューションを選択します。

1. **[Origins]** (オリジン)、**[Create origin]** (オリジンの作成) の順に選択します。

1. **[Origin domain]** (オリジンドメイン)では、ドロップダウンリストからチャネルの MediaPackage エンドポイントを選択します。

1. その他の設定には、他の技術的要件またはビジネスニーズに基づいて値を指定します。詳細については、「[オリジンの設定](DownloadDistValuesOrigin.md)」を参照してください。

1. **[オリジンを作成]** を選択します。

### ステップ 3: すべてのエンドポイントのキャッシュ動作を設定する
<a name="live-streaming-with-mediapackage-create-cache-behavior"></a>

エンドポイントごとに、キャッシュ動作を設定して、リクエストを正しくルーティングするパスパターンを追加する必要があります。指定するパスパターンは、配信するビデオの形式によって異なります。次の手順には、Apple HLS、CMAF、DASH、および Microsoft スムーズストリーミング形式で使用するパスパターン情報が含まれています。

通常、エンドポイントごとに 2 つのキャッシュ動作を設定します。
+ ファイルのインデックスになる親マニフェスト
+ セグメント (ビデオコンテンツのファイル)<a name="live-streaming-with-mediapackage-create-cache-behavior-procedure"></a>

**エンドポイントのキャッシュ動作を作成するには**

1. CloudFront コンソールで、チャンネル用に作成したディストリビューションを選択します。

1. **[Behaviors]** (動作)、**[Create Behavior]** (動作の作成) の順に選択します。

1. **[パスパターン]** で、特定の MediaPackage `OriginEndpoint` GUID をパスプレフィックスとして使用します。  
**パスパターン**  
`https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.m3u8` などの HLS エンドポイントの場合は、以下の 2 つのキャッシュ動作を作成します。  
   + 親および子マニフェストの場合は、`/out/v1/abc123/*.m3u8` を使用します。
   + コンテンツセグメントの場合は、`/out/v1/abc123/*.ts` を使用します。
`https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.m3u8` などの CMAF エンドポイントの場合は、以下の 2 つのキャッシュ動作を作成します。  
   + 親および子マニフェストの場合は、`/out/v1/abc123/*.m3u8` を使用します。
   + コンテンツセグメントの場合は、`/out/v1/abc123/*.mp4` を使用します。
`https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.mpd` などの DASH エンドポイントの場合は、以下の 2 つのキャッシュ動作を作成します。  
   + 親マニフェストの場合は、`/out/v1/abc123/*.mpd` を使用します。
   + コンテンツセグメントの場合は、`/out/v1/abc123/*.mp4` を使用します。
`https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.ism` などの Microsoft Smooth Streaming エンドポイントの場合は、マニフェストのみが使用されるため、1 つのキャッシュ動作 (`out/v1/abc123/index.ism/*`) のみを作成します。

1. キャッシュ動作ごとに、以下の設定の値を指定します。  
**ビューワープロトコルポリシー**  
[**Redirect HTTP to HTTPS (HTTP から HTTPS へのリダイレクト)**] を選択します。  
**キャッシュポリシーとオリジンリクエストポリシー**  
**キャッシュポリシー**では、**[Create policy]** (ポリシーの作成) を選択します。新しいキャッシュポリシーでは、次の設定を指定します。    
**最小 TTL**  
古いコンテンツを提供しないように 5 秒以下に設定します。  
**クエリ文字列**  
**クエリ文字列**(**[Cache key settings]** (キャッシュキー設定)) で、**[Include specified query strings]** (指定したクエリ文字列を含める) を選択します。**[Allow]** (許可) では、次の値を入力し、**[Add item]** (アイテムを追加) を選択します。  
   + CloudFront によってキャッシュの基準として使用されるクエリ文字列パラメータとして `m` を追加します。MediaPackage レスポンスには、エンドポイントの変更時間を取得するためのタグ `?m=###` が常に含まれます。コンテンツがすでにキャッシュされていて、このタグに別の値が設定されている場合、CloudFront はキャッシュされたバージョンを配信する代わりに新しいマニフェストをリクエストします。
   + MediaPackage でタイムシフト表示機能を使用している場合は、マニフェストリクエスト (`start`、`end`、`*.m3u8`) のキャッシュ動作の追加のクエリ文字列パラメータとして `*.mpd` と `index.ism/*` を指定します。これにより、マニフェストリクエストで指定した期間に固有のコンテンツが配信されます。コンテンツのタイムシフト表示および形式の開始/終了リクエストパラメータの詳細については、「AWS Elemental MediaPackage ユーザーガイド」の「[タイムシフト表示](https://docs.aws.amazon.com/mediapackage/latest/ug/time-shifted.html)」を参照してください。**
   + MediaPackage でマニフェストフィルタリング機能を使用している場合は、マニフェストリクエスト (`*.m3u8`、`*.mpd`、`index.ism/*`) のキャッシュ動作の追加のクエリ文字列パラメータとして `aws.manifestfilter` を指定します。これにより、`aws.manifestfilter` クエリ文字列を MediaPackage オリジンに転送するようにディストリビューションが設定されます。これは、マニフェストフィルタリング機能を有効にするために必要です。詳細については、「AWS Elemental MediaPackage ユーザーガイド」の「[マニフェストでのフィルタリング](https://docs.aws.amazon.com/mediapackage/latest/ug/manifest-filtering.html)」を参照してください。**
   + 低レイテンシー HLS (LL-HLS) を使用している場合は、マニフェストリクエスト (`*.m3u8`) のキャッシュ動作で使用するキャッシュポリシーの追加クエリ文字列パラメータとして `_HLS_msn` および `_HLS_part` を指定します。これにより、`_HLS_msn` および `_HLS_part` クエリ文字列を MediaPackage オリジンに転送するようにディストリビューションが設定されます。これは、LL-HLS のプレイリストリクエストのブロック機能を有効にするために必要です。

1. **[作成]** を選択します。

1. キャッシュポリシーを作成したら、キャッシュ動作の作成ワークフローに戻ります。キャッシュポリシーのリストを更新し、先ほど作成したポリシーを選択します。

1. **[Create behavior]** (動作の作成) を選択します。

1. エンドポイントが Microsoft Smooth Streaming エンドポイント以外の場合、次の手順を繰り返して 2 つ目のキャッシュ動作を作成します。

### ステップ 4: ヘッダーベースの MediaPackage CDN 認可を有効にする
<a name="live-streaming-with-mediapackage-enable-header-based-cdn-authorization"></a>

MediaPackage エンドポイントと CloudFront ディストリビューションの間で、ヘッダーベースの MediaPackage CDN 認可を有効にすることをお勧めします。詳細については、「AWS Elemental MediaPackage ユーザーガイド」の「[MediaPackage で CDN 認証を有効にする](https://docs.aws.amazon.com/mediapackage/latest/ug/cdn-auth-setup.html#cdn-aut-setup-endpoint)」を参照してください。**

### ステップ 5: CloudFront を使用してライブストリームチャネルを提供する
<a name="live-streaming-with-mediapackage-serve-channel"></a>

ディストリビューションの作成、オリジンの追加、キャッシュ動作の作成、ヘッダーベースの CDN 認証の有効化が済んだら、CloudFront を使用してライブストリームチャネルを配信できます。CloudFront は、キャッシュ動作用に定義した設定に基づいて、ビューワーからのリクエストを正しい MediaPackage エンドポイントにルーティングします。

アプリケーション (メディアプレーヤーなど) 内のリンクの場合は、CloudFront URL の標準形式でメディアファイルの URL を指定します。詳細については、「[CloudFront でファイルの URL 形式をカスタマイズする](LinkFormat.md)」を参照してください。

## AWS Elemental MediaPackage でビデオオンデマンドコンテンツを提供する
<a name="live-streaming-mediapackage-vod"></a>

AWS Elemental MediaPackage オリジンからビデオオンデマンド (VOD) コンテンツを発信する場合は、CloudFront ディストリビューションを作成し、VOD コンテンツをビューワーに提供するように最適化されたキャッシュ動作を設定できます。次のプロセスでは、[パッケージ設定](https://docs.aws.amazon.com/mediapackage/latest/ug/pkg-cfig-create.html)で[パッケージグループが作成済み](https://docs.aws.amazon.com/mediapackage/latest/ug/pkg-group-create.html)であり、MediaPackage で[アセットが取り込み済み](https://docs.aws.amazon.com/mediapackage/latest/ug/asset-create.html)であることを前提としています。

MediaPackage で CloudFront ディストリビューションを手動で作成するには、以下の手順に従います。

**Topics**

### ステップ 1: CloudFront ディストリビューションを作成して設定する
<a name="live-streaming-mediapackage-vod-create-dist"></a>

次の手順を実行して、MediaPackage で作成したパッケージグループの CloudFront ディストリビューションを設定します。<a name="live-streaming-with-mediapackage-create-dist-procedure"></a>

**VOD コンテンツのディストリビューションを作成するには**

1. AWS マネジメントコンソール にサインインし、[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home) で CloudFront コンソールを開きます。

1. **[ディストリビューションの作成]** を選択します。

1. 以下のようなディストリビューション用の設定を選択します。  
**オリジンドメイン**  
MediaPackage パッケージグループのオリジン。テキストフィールドにオリジン URL 値を入力します。オリジンは HTTPS URL であることが必要です。  
例えば、`https://3ae97e9482b0d011.egress.mediapackage-vod.us-west-2.amazonaws.com/out/v1/abc123/def456/ghi789/index.m3u8` などの HLS エンドポイントの場合、オリジンドメインは `3ae97e9482b0d011.egress.mediapackage-vod.us-west-2.amazonaws.com` です。  
詳細については、「[オリジンドメイン](DownloadDistValuesOrigin.md#DownloadDistValuesDomainName)」を参照してください。  
**オリジンのパス**  
コンテンツの配信元のパス。  
オリジンパスの仕組みの詳細については、[オリジンのパス](DownloadDistValuesOrigin.md#DownloadDistValuesOriginPath) を参照してください。
**重要**  
CloudFront ディストリビューションのどこかにルーティングするには、ワイルドカードパス `*` が必要です。明示的なパスと一致しないリクエストが実際のオリジンにルーティングされないようにするには、そのワイルドカードパスに「ダミー」オリジンを作成します。  
**Example : 「ダミー」オリジンの作成**  

   次の例で、パッケージ設定 `def456` および `321xyz` は「実際の」オリジンにルーティングされますが、他の動画コンテンツへのリクエストは、適切なサブドメインがないと `mediapackage-vod.us-west-2.amazonaws.com` にルーティングされ、HTTP `404` エラーになります。

   2 つのパッケージ設定を持つパッケージグループの単一アセットの MediaPackage コンテンツ URL:

   ```
   https://3ae97e9482b0d011.egress.mediapackage-vod.us-west-2.amazonaws.com/out/v1/abc123/def456/ghi789/index.m3u8
   https://3ae97e9482b0d011.egress.mediapackage-vod.us-west-2.amazonaws.com/out/v1/abc123/321xyz/654uvw/index.m3u8
   ```

   CloudFront オリジン A:

   ```
   Domain: 3ae97e9482b0d011.egress.mediapackage-vod.us-west-2.amazonaws.com
   Path: None
   ```

   CloudFront オリジン B:

   ```
   Domain: mediapackage-vod.us-west-2.amazonaws.com
   Path: None
   ```

   CloudFront キャッシュ動作:

   ```
   1. Path: /out/v1/*/def456/* forward to Origin A
   2. Path: /out/v1/*/321xyz/* forward to Origin A
   3. Path: * forward to Origin B
   ```

   その他のディストリビューション設定には、他の技術的要件またはビジネスニーズに基づいて値を指定します。ディストリビューションのすべてのオプションのリストおよびその設定に関する情報については、「[すべてのディストリビューション設定リファレンス](distribution-web-values-specify.md)」を参照してください。

   他のディストリビューションの設定を選択したら、**[Create Distribution]** (ディストリビューションの作成) を選択します。

1. 作成したディストリビューションを選択し、**[Behaviors]** (動作) タブを選択します。

1. デフォルトのキャッシュ動作を選択し、**[Edit]** (編集) をクリックします。オリジンに選択したパッケージ設定の正しいキャッシュ動作設定を指定します。後で、他のオリジンを 1 つ以上追加し、これらのオリジンのキャッシュ動作設定を編集します。

1. [CloudFront ディストリビューションページ](https://console.aws.amazon.com/cloudfront/v4/home#/distributions)に移動します。

1. ディストリビューションの **[Last modified]** (最終更新日時) 列の値が **[Deploying]** (デプロイ中) から日付と時刻に変わって、CloudFront によってディストリビューションが作成されたことが示されるまで待ちます。

### ステップ 2: MediaPackage パッケージグループのドメインにオリジンを追加する
<a name="live-streaming-mediapackage-vod-add-endpoints"></a>

この手順を繰り返して、各 MediaPackage パッケージグループをディストリビューションに追加します。ただし、「ダミー」オリジンを作成する必要があることに注意してください。<a name="live-streaming-mediapackage-vod-add-packaging-groups-procedure"></a>

**他のパッケージグループをオリジンとして追加するには**

1. CloudFront コンソールで、チャンネル用に作成したディストリビューションを選択します。

1. **[Origins]** (オリジン)、**[Create origin]** (オリジンの作成) の順に選択します。

1. **[オリジンドメイン]** に、MediaPackage パッケージグループの URL を入力します。

1. その他の設定には、他の技術的要件またはビジネスニーズに基づいて値を指定します。詳細については、「[オリジンの設定](DownloadDistValuesOrigin.md)」を参照してください。

1. **[オリジンを作成]** を選択します。

### ステップ 3: すべてのパッケージ設定のキャッシュ動作を設定する
<a name="live-streaming-mediapackage-vod-create-cache-behavior"></a>

パッケージ設定ごとに、キャッシュ動作を設定して、リクエストを正しくルーティングするパスパターンを追加する必要があります。指定するパスパターンは、配信するビデオの形式によって異なります。次の手順には、Apple HLS、CMAF、DASH、および Microsoft スムーズストリーミング形式で使用するパスパターン情報が含まれています。

通常、パッケージ設定ごとに複数のキャッシュ動作を設定します。
+ ファイルのインデックスになる親マニフェスト
+ セグメント (ビデオコンテンツのファイル) 形式では、設定に応じて、コンテンツに複数のエクステンションを使用する場合があります。エクステンションごとにキャッシュ動作が必要です。<a name="live-streaming-mediapackage-vod-create-cache-behavior-procedure"></a>

**パッケージ設定のキャッシュ動作を作成するには**

1. CloudFront コンソールで、チャンネル用に作成したディストリビューションを選択します。

1. **[Behaviors]** (動作)、**[Create Behavior]** (動作の作成) の順に選択します。

1. **[パスパターン]** で、特定の MediaPackage VOD パッケージ設定 GUID をパスプレフィックスとして使用します。これは MediaPackage VOD パスの 2 番目の GUID です。  
**パスパターン**  
`https://3ae97e9482b0d011.egress.mediapackage-vod.us-west-2.amazonaws.com/out/v1/abc123/def456/ghi789/index.m3u8` などの HLS コンテンツの場合は、以下のキャッシュ動作を作成します。  
   + 親および子マニフェストの場合は、`/out/v1/*/def456/*.m3u8` を使用します。
   + コンテンツセグメントの場合は、`/out/v1/*/def456/*.ts` を使用し、すべての必要なセグメントエクステンションに対して繰り返します。
`https://3ae97e9482b0d011.egress.mediapackage-vod.us-west-2.amazonaws.com/out/v1/abc123/def456/ghi789/index.m3u8` などの CMAF コンテンツの場合は、以下のキャッシュ動作を作成します。  
   + 親および子マニフェストの場合は、`/out/v1/*/def456/*.m3u8` を使用します。
   + コンテンツセグメントの場合は、`/out/v1/*/def456/*.mp4` を使用し、すべての必要なセグメントエクステンションに対して繰り返します。
`https://3ae97e9482b0d011.egress.mediapackage-vod.us-west-2.amazonaws.com/out/v1/abc123/def456/ghi789/index.mpd` などの DASH コンテンツの場合は、以下のキャッシュ動作を作成します。  
   + 親マニフェストの場合は、`/out/v1/*/def456/*.mpd` を使用します。
   + コンテンツセグメントの場合は、`/out/v1/*/def456/*.mp4` を使用します。
`https://3ae97e9482b0d011.egress.mediapackage-vod.us-west-2.amazonaws.com/out/v1/abc123/def456/ghi789/index.ism/Manifest` などの Microsoft Smooth Streaming エンドポイントの場合は、マニフェストのみが使用されるため、1 つのキャッシュ動作 (`out/v1/*/def456/*/index.ism/*`) のみを作成します。

1. キャッシュ動作ごとに、以下の設定の値を指定します。  
**ビューワープロトコルポリシー**  
[**Redirect HTTP to HTTPS (HTTP から HTTPS へのリダイレクト)**] を選択します。  
**キャッシュポリシーとオリジンリクエストポリシー**  
**キャッシュポリシー**では、**[Create policy]** (ポリシーの作成) を選択します。新しいキャッシュポリシーでは、次の設定を指定します。    
**最小 TTL**  
古いコンテンツを提供しないように 5 秒以下に設定します。  
**クエリ文字列**  
**クエリ文字列**(**[Cache key settings]** (キャッシュキー設定)) で、**[Include specified query strings]** (指定したクエリ文字列を含める) を選択します。**[Allow]** (許可) では、次の値を入力し、**[Add item]** (アイテムを追加) を選択します。  
   + MediaPackage でマニフェストフィルタリング機能を使用している場合は、マニフェストリクエスト (`*.m3u8`、`*.mpd`、`index.ism/*`) のキャッシュ動作の追加のクエリ文字列パラメータとして `aws.manifestfilter` を指定します。これにより、`aws.manifestfilter` クエリ文字列を MediaPackage オリジンに転送するようにディストリビューションが設定されます。これは、マニフェストフィルタリング機能を有効にするために必要です。詳細については、「AWS Elemental MediaPackage ユーザーガイド」の「[マニフェストでのフィルタリング](https://docs.aws.amazon.com/mediapackage/latest/ug/manifest-filtering.html)」を参照してください。**

1. **[作成]** を選択します。

1. キャッシュポリシーを作成したら、キャッシュ動作の作成ワークフローに戻ります。キャッシュポリシーのリストを更新し、先ほど作成したポリシーを選択します。

1. **[Create behavior]** (動作の作成) を選択します。

1. エンドポイントが Microsoft Smooth Streaming エンドポイント以外の場合、次の手順を繰り返して 2 つ目のキャッシュ動作を作成します。

### ステップ 4: ヘッダーベースの MediaPackage CDN 認可を有効にする
<a name="live-streaming-mediapackage-vod-enable-header-based-cdn-authorization"></a>

MediaPackage VOD コンテンツと CloudFront ディストリビューションの間で、ヘッダーベースの MediaPackage CDN 認証を有効にすることをお勧めします。詳細については、「AWS Elemental MediaPackage ユーザーガイド」の「[MediaPackage で CDN 認証を有効にする](https://docs.aws.amazon.com/mediapackage/latest/ug/cdn-auth-setup.html#cdn-aut-setup-endpoint)」を参照してください。**

### ステップ 5: CloudFront を使用して VOD コンテンツを提供する
<a name="live-streaming-mediapackage-vod-serve-content"></a>

ディストリビューションの作成、オリジンの追加、キャッシュ動作の作成、ヘッダーベースの CDN 認証の有効化が済んだら、CloudFront を使用して VOD コンテンツを配信できます。CloudFront は、キャッシュ動作用に定義した設定に基づいて、ビューワーからのリクエストを正しい MediaPackage VOD コンテンツにルーティングします。

アプリケーション (メディアプレーヤーなど) 内のリンクの場合は、CloudFront URL の標準形式でメディアファイルの URL を指定します。詳細については、「[CloudFront でファイルの URL 形式をカスタマイズする](LinkFormat.md)」を参照してください。