

# Media Quality-Aware Resiliency
<a name="media-quality-score"></a>

Media Quality-Aware Resiliency (MQAR) は、[Amazon CloudFront](https://aws.amazon.com/cloudfront/) と [AWS Media Services](https://aws.amazon.com/media-services/) との統合機能です。MQAR は、メディア品質信頼スコア (MQCS) に基づいて、クロスリージョンオリジンを自動的に選択します。MQCS は、ビューワーが認識するメディア品質エクスペリエンスに影響するパラメータに基づいて、AWS Elemental MediaLive によって合成されます。CloudFront オリジングループのフェイルオーバー基準で指定できる複数のオプションを使用することで、高い回復性でライブイベントストリーミングを配信するように CloudFront と AWS Media Services を設定できます。

ディストリビューションで MQAR 機能を有効にすると、CloudFront は最高の品質スコアを持つと判断されるオリジンを自動的に選択できるようになります。

品質スコアは、ブラックフレーム、変更不可のフレーム、フリーズまたはドロップされたフレーム、繰り返しフレームなど、オリジンから検出されたメディアストリーミング品質問題を表します。例えば、AWS Elemental MediaPackage v2 オリジンが 2 つの異なる AWS リージョンにデプロイされており、一方が他方よりも高いメディア品質スコアを報告した場合、CloudFront はより高いスコアを報告したオリジンに自動的に切り替えます。

これを実現するために、CloudFront は次の操作を行います。

1. CloudFront は、`GET` リクエストをプライマリ MediaPackage オリジンに転送し、同時にセカンダリ MediaPackage オリジンへの `HEAD` リクエストを開始します。CloudFront は、各オリジンからのメディア品質スコアをレスポンスヘッダーで受け取ります。

1. 次に、CloudFront は各オリジンのスコアを追跡し、この情報を使用して、新しいリクエストが到着したときにスコアがより高いオリジンを決定します。

オリジンのメディア品質スコアは、リアルタイムで変化する可能性があります。CloudFront は、MQCS の変更を反映して確認することで、オリジンを切り替え、ビューワーがメディア品質のより高いコンテンツを表示できるようにします。詳細については、「*AWS Elemental MediaPackage V2 User Guide*」の「[Leveraging media quality scores with MediaPackage](https://docs.aws.amazon.com/mediapackage/latest/userguide/mqcs.html)」を参照してください。

MQAR は、ビューワーに影響を与える可能性がある問題があるかどうかを CloudFront でできるだけ早く判断するのに役立ちます。例えば、ネットワーク接続、動画処理、音声の損失や途切れ、エンコーダー速度低下などの問題は、ビューワーのメディア品質スコアに影響を与える可能性があります。

MQAR はオリジン間をシームレスに切り替えるため、回復力のあるクロスリージョンのエンドツーエンドのメディア配信ワークフローを AWS にデプロイし、ビューワーに高品質のコンテンツを提供できます。

**注記**  
現在、この機能は MediaPackage v2 オリジンのみをサポートしています。

この機能をディストリビューションで有効にするには、次の手順を実行します。

1. まだ作成していない場合は、MediaPackage v2 オリジンを作成し、この機能をエンドポイント設定で有効にします。クロスリージョンデプロイの場合は、同じ設定で別の AWS リージョンにセカンダリチャネルを作成します。詳細については、「*AWS Elemental MediaPackage V2 User Guide*」で以下のトピックを参照してください。
   + [ Create a channel and endpoint](https://docs.aws.amazon.com/mediapackage/latest/userguide/getting-started.html)
   + [Enable the media quality score](https://docs.aws.amazon.com/mediapackage/latest/userguide/mqcs.html)

1. CloudFront で MediaPackage v2 オリジンを使用するには、CloudFront ディストリビューションを作成または更新します。「[ディストリビューションを作成する](distribution-web-creating-console.md)」および「[ディストリビューションを更新する](HowToUpdateDistribution.md)」を参照してください。

1. オリジングループを作成し、プライマリとセカンダリとして 2 つのオリジンを選択します。オリジングループで、**[メディア品質スコア]** オプションを有効にします。詳細については、「[オリジングループを作成する](high_availability_origin_failover.md#concept_origin_groups.creating)」を参照してください。

1. ディストリビューションのキャッシュ動作で、作成した [[オリジングループ]](DownloadDistValuesCacheBehavior.md#DownloadDistValuesTargetOriginId) を選択します。キャッシュ動作はチャネルパスパターンと一致させるようお勧めします。

CloudFront は、両方の MediaPackage v2 オリジンのスコアが同じであると判断した場合、オリジングループにリストされているプライマリオリジンにリクエストを転送します。最初に選択したオリジンが、オリジングループで指定したフェイルオーバー条件と一致するエラーコードで応答した場合、CloudFront は、メディア品質スコアに関係なく、オリジングループ内の代替オリジンへのリクエストを再試行します。

**注意事項**  
CloudFront は、メディア品質スコアが有効になっているオリジングループを利用する各キャッシュ動作の品質スコアを追跡します。メディア品質スコアを発行する複数のチャネルに同じオリジングループを使用する場合は、各チャネルのパスパターンに個別のキャッシュ動作を作成して、スコアが混同しないようにします。オリジングループのクォータの詳細については、「[ディストリビューションの一般的なクォータ](cloudfront-limits.md#limits-web-distributions)」を参照してください。
現在、ディストリビューションのキャッシュ動作に関連付けられているオリジン向けトリガー (オリジンリクエストとオリジンレスポンス) で [Lambda@Edge](lambda-at-the-edge.md) 関数を使用する場合、MQAR は使用できません。詳細については、「[キャッシュ動作の設定](DownloadDistValuesCacheBehavior.md)」を参照してください。
MQAR 機能とオリジンアクセスコントロール (OAC) を有効にした場合は、IAM ポリシーに `mediapackagev2:GetHeadObject` アクションを追加します。MQAR では MediaPackage v2 オリジンに `HEAD` リクエストを送信するためにこのアクセス許可が必要です。OAC の詳細については、「[AWS Elemental MediaPackage v2 オリジンへのアクセス制限](private-content-restricting-access-to-mediapackage.md)」を参照してください。

## MQAR ログフィールド
<a name="media-quality-score-log-fields"></a>

CloudFront は、品質スコアと選択したオリジンを反映するために、以下のフィールドをリアルタイムのアクセスログで提供しています。これらのフィールドは、CloudFront リアルタイムのアクセスログで有効にできます。
+ `r-host`
+ `sr-reason`
+ `x-edge-mqcs`

詳細については、[フィールド](real-time-logs.md#real-time-logs-fields) 65～67 を参照してください。