翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CloudFront 機能を使用した MediaTailor のパフォーマンスの最適化
AWS Elemental MediaTailor Amazon CloudFront のパフォーマンスは、基本設定以外の追加機能によって強化できます。MediaTailor で基本的な CloudFront 設定をセットアップしたら、パフォーマンス、信頼性、カスタマイズオプションを強化するための追加機能を実装できます。これらの最適化により、表示エクスペリエンスが向上します。また、コストとオリジン負荷も削減されます。
Origin Shield によるオリジン負荷の低減
Origin Shield は、CloudFront エッジロケーションとオリジンサーバーの間にキャッシュレイヤーを追加します。この機能は、ライブストリーミングや一般的な VOD コンテンツに役立ちます。これは、多くの視聴者が同時に同じコンテンツをリクエストする場合に役立ちます。
複数のエッジロケーションからのリクエストを統合することで、Origin Shield は MediaTailor とコンテンツオリジンの負荷を軽減します。
MediaTailor オリジンの Origin Shield を有効にするには
-
CloudFront コンソールを開き、ディストリビューションに移動します。
-
MediaTailor の再生設定を指すオリジンを選択します。
-
Origin Shield で、はいを選択します。
-
ドロップダウンメニューから、MediaTailor エンドポイントに最も近い AWS リージョンを選択します。
-
変更内容を保存します。
トラフィックの多いイベントの場合、Origin Shield はオリジンへのリクエスト負荷を大幅に削減し、信頼性を向上させます。詳細な手順については、CloudFront デベロッパーガイドの「Origin Shield の有効化」を参照してください。
CloudFront Functions を使用したコンテンツ配信のカスタマイズ
CloudFront Functions を使用すると、エッジで軽量の JavaScript コードを実行して、ビューワーのリクエストとレスポンスを変更できます。これらの関数は、URL の変更、ヘッダー操作、基本認証などの簡単なカスタマイズに使用できます。MediaTailor ワークフローの場合、関数は複雑な処理を必要としないタスクに役立ちます。
CloudFront Functions は、エッジでのコンテンツ配信を軽量にカスタマイズする方法を提供します。MediaTailor 統合用にこれらを実装する方法は次のとおりです。
MediaTailor の CloudFront Functions を実装するには
-
CloudFront コンソールで、関数に移動します。
-
新しい関数を作成し、適切な目的を選択します。
-
URL 操作 - MediaTailor に到達する前に多変量プレイリスト、メディアプレイリスト、MPD リクエスト URLs を変更するには
-
ヘッダー操作 - リクエストヘッダーを追加または変更するには
-
簡易認証 - トークンまたはクエリパラメータを検証するには
-
-
JavaScript 関数コードを記述します。
-
サンプル MediaTailor リクエストで関数をテストします。
-
関数を発行し、ディストリビューションのキャッシュ動作に関連付けます。
例 URL 正規化のサンプル CloudFront 関数
function handler(event) { var request = event.request; var uri = request.uri; // Normalize URLs to lowercase to improve cache hit ratio if (uri.includes('.m3u8') || uri.includes('.mpd')) { request.uri = uri.toLowerCase(); } return request; }
詳細とコード例については、CloudFront デベロッパーガイドの「CloudFront Functions を使用してエッジでカスタマイズする」を参照してください。 CloudFront
Lambda@Edge を使用した高度なカスタマイズの実装
CloudFront Functions が提供するよりも複雑な処理機能が必要な場合は、Lambda@Edge を使用します。このサービスでは、CloudFront エッジロケーションで Node.js または Python 関数を実行できます。
Lambda@Edge 関数は、複雑な認証、大規模なレスポンス変更、サードパーティー API 統合などの高度なオペレーションを実行できます。
より複雑なカスタマイズを行うには、MediaTailor と CloudFront の統合で Lambda@Edge 関数を使用します。
MediaTailor で Lambda@Edge を実装するには
-
米国東部 (バージニア北部) リージョンで Lambda 関数を作成します。
-
次のいずれかのユースケースの関数コードを記述します。
-
URL 操作 - MediaTailor に到達する前に多変量プレイリスト、メディアプレイリスト、MPD リクエスト URLs を変更するには
-
A/B テスト - ユーザーを異なる広告決定サーバーにルーティングするには
-
認証のリクエスト - 認証ヘッダーを追加するには
-
レスポンスヘッダーの変更 - CORS ヘッダーを追加するには
-
-
関数のバージョンを発行し、関数エイリアスを作成します。
-
関数を適切なトリガーポイント (ビューワーリクエストまたはビューワーレスポンス) で CloudFront ディストリビューションに関連付けます。
注記
MediaTailor で Lambda@Edge を使用する場合は、Media Quality-Aware Resiliency (MQAR) 機能を使用する予定がある場合は、オリジン向けトリガー (オリジンリクエストとオリジンレスポンス) を使用しないでください。これらは現在互換性がないためです。
詳細とコード例については、CloudFront デベロッパーガイドの「Lambda@Edge を使用してエッジでカスタマイズする」を参照してください。
パフォーマンス最適化に関するその他のヒント
パフォーマンスをさらに向上させるには、以下の追加の最適化を検討してください。
- キャッシュヒット率の最適化
-
CloudFront メトリクスでキャッシュヒット率をモニタリングし、改善の機会を探します。
-
URL パターンを標準化してキャッシュキーの一貫性を向上させる
-
クエリ文字列のホワイトリストを使用して、キャッシュキーに必要なパラメータのみを含める
-
CloudFront Functions を使用した URL 正規化の実装を検討する
-
- レイテンシーの短縮
-
レイテンシーを最小限に抑えるには、以下の手法を実装します。
-
テキストベースのレスポンスで Brotli 圧縮を有効にする
-
HTTP/2 または HTTP/3 を使用して接続効率を向上させる
-
最新のネットワークで IPv6 サポートを有効にすることを検討してください
-
- コスト最適化
-
パフォーマンスとコスト効率のバランスを取ります。
-
Origin Shield を使用して冗長なオリジンリクエストを減らす
-
対象者の地域に基づいて料金クラスの選択を検討する
-
セグメントに積極的なキャッシュを実装してオリジントラフィックを削減する
-
次のステップ
CloudFront 機能でパフォーマンスを最適化したら、次のステップを検討してください。
-
MQAR を使用してマルチリージョンレジリエンスを実装する (「」を参照MQAR を使用して MediaTailor のマルチリージョンレジリエンスを実装する)
-
モニタリングとトラブルシューティングを設定する (「」を参照CloudFront と MediaTailor の統合のモニタリングとトラブルシューティング)