Konfigurasi siap produksi CloudFront untuk MediaTailor - AWS Elemental MediaTailor

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Konfigurasi siap produksi CloudFront untuk MediaTailor

Konfigurasi CloudFront distribusi ini menyediakan semua yang Anda butuhkan untuk menayangkan MediaTailor konten dengan penyisipan iklan sisi server dalam skala besar. Salin konfigurasi ini dan sesuaikan dengan asal dan persyaratan spesifik Anda.

Apa yang dilakukan konfigurasi ini

Konfigurasi ini menciptakan CloudFront distribusi siap produksi yang menangani semua jenis MediaTailor permintaan dengan caching dan kinerja yang optimal. Ini mencakup tiga asal (konten, MediaTailor segmen, dan MediaTailor manifes Anda) dengan empat perilaku cache yang merutekan permintaan dengan benar dan cache konten dengan tepat.

Kapan menggunakan konfigurasi ini

Pengaturan ini sangat ideal untuk streaming langsung, video-on-demand, dan alur kerja hybrid yang memerlukan penyisipan iklan sisi server.

Arsitektur tiga asal

MediaTailor menggunakan pola arsitektur tiga asal untuk mengoptimalkan penayangan konten dan kinerja penyisipan iklan. Setiap asal memiliki tujuan tertentu dalam alur kerja penyisipan iklan:

Asal konten Anda

Ini adalah asal konten Anda yang sebenarnya yang memberi makan MediaTailor. Misalnya, ini bisa berupa AWS Elemental MediaPackage V2 atau layanan pengiriman konten lainnya. Asal ini menyajikan konten asli Anda sebelum penyisipan iklan. Contoh umum meliputi:

  • MediaPackage Konfigurasi kemasan V2

  • Jaringan pengiriman konten pihak ketiga

  • Server streaming lokal

  • Bucket Amazon S3 dengan konten statis

MediaTailor segmen asal

Asal ini menggunakan nama host segments.mediatailor.region.amazonaws.com dan menyajikan segmen iklan yang sebenarnya setelah MediaTailor menyandikannya. Ini adalah segmen video yang berisi iklan. Asal ini menangani:

  • Segmen iklan yang ditranskode dalam format yang sama dengan konten Anda

  • Permintaan yang dialihkan dari pola /segment/* jalur

  • Segmen iklan yang telah diproses untuk penyisipan iklan sisi server

MediaTailor memanifestasikan asal

Asal ini menggunakan nama host manifests.mediatailor.region.amazonaws.com dan dapat digunakan sebagai nama host regional untuk konfigurasi pemutaran di Wilayah yang ditentukan. AWS MediaTailor memilih konfigurasi pemutaran yang benar berdasarkan jalur dalam permintaan. Asal ini menyediakan:

  • Manifestasi HLS dan DASH yang dipersonalisasi dengan penyisipan iklan khusus pemirsa

  • Manifestasi penyisipan iklan (SGAI) yang dipandu server untuk konten yang dapat di-cache

  • Pelacakan iklan dan penanganan suar untuk pelaporan sisi server

Dengan nama host asalmanifests.mediatailor.region.amazonaws.com, Anda dapat memiliki beberapa konfigurasi pemutaran yang berfungsi dengan CloudFront distribusi yang sama jika mereka berada di Wilayah yang ditentukan dan Anda menyertakan nama konfigurasi pemutaran di jalur permintaan. Misalnya:

  • https://your-distribution.cloudfront.net/v1/master/playback-config-1/manifest.m3u8

  • https://your-distribution.cloudfront.net/v1/master/playback-config-2/manifest.m3u8

Tinjau dan sesuaikan kebijakan permintaan asal berdasarkan persyaratan asal konten spesifik Anda. Contoh menggunakan kebijakan asal S3, tetapi Anda mungkin memerlukan kebijakan yang berbeda untuk asal kustom. Pertimbangkan faktor-faktor ini saat memilih kebijakan permintaan asal:

  • Asal S3: Gunakan Managed-CORS-S3Origin untuk ember Amazon S3

  • Asal kustom: Gunakan Managed-AllViewer atau Managed-AllViewerAndCloudFrontHeaders-2022-6 untuk asal HTTP kustom

  • MediaPackage asal: Gunakan Managed-CORS-S3Origin untuk titik akhir MediaPackage V2

Origins table showing ContentOrigin, MediaTailorSegments, and MediaTailorManifests with their respective details.

Prioritas dan konfigurasi perilaku cache

MediaTailor memerlukan konfigurasi perilaku cache tertentu untuk menangani berbagai jenis permintaan dengan benar. Prioritas perilaku cache sangat penting karena CDNs memprosesnya secara berurutan (terkecil hingga terbesar) dan menggunakan perilaku untuk pola jalur pencocokan pertama. Memahami prioritas ini sangat penting untuk pemecahan masalah:

  • Prioritas 0: Sebagian besar pola spesifik (seperti/tm/*) dievaluasi terlebih dahulu

  • Angka prioritas yang lebih tinggi: Pola yang kurang spesifik dievaluasi secara berurutan

  • Perilaku default: Menangkap semua permintaan yang tidak cocok dengan pola lain

Jika permintaan tidak berperilaku seperti yang diharapkan, periksa apakah pola jalur Anda tidak tumpang tindih dengan cara yang tidak diinginkan.

Table showing behaviors with path patterns, origins, and policies for different URL paths.

Prioritas 0: Perilaku jalur segmen iklan

Perilaku ini menangani permintaan yang dialihkan dari perilaku jalur segmen, yang menayangkan segmen iklan yang sebenarnya. CloudFront menerapkan perilaku berikut untuk semua permintaan dengan pola /tm/* jalur. Ini adalah perilaku prioritas tertinggi karena penayangan segmen iklan sangat penting untuk pemutaran tanpa gangguan.

  • Pola jalur: /tm/*

    Contoh URLs yang cocok dengan pola ini:

    • https://your-distribution.cloudfront.net/tm/ad-segment-001.ts

    • https://your-distribution.cloudfront.net/tm/transcoded-ad.m4s

  • Asal: Asal yang Anda buat dengan segments.mediatailor.region.amazonaws.com domain.

    Ini adalah contoh MediaTailorSegmentsdi bagian sebelumnya tentang asal-usul.

  • Kebijakan cache: Managed-CachingOptimized

    Kebijakan Managed-CachingOptimized cache harus dikonfigurasi untuk menyertakan header Origin di kunci cache untuk mencegah masalah keracunan cache CORS. Tanpa Origin header di kunci cache, skenario berikut dapat terjadi:

    1. Permintaan tanpa Origin header diterima dan di-cache oleh CloudFront

    2. Permintaan berikutnya dengan Origin header menerima respons yang di-cache (yang tidak memiliki header CORS)

    3. Browser menolak respons karena header CORS yang hilang, menyebabkan kegagalan pemutaran

    Untuk detail tentang apa yang disertakan dalam kebijakan cache CloudFront terkelola, lihat CachingOptimizeddi panduan CloudFront pengguna. Anda juga dapat menggunakan pengaturan yang sama ini dari kebijakan terkelola di CDN pihak ketiga Anda.

  • Kebijakan permintaan asal: Managed-CORS-S3Origin

    Untuk detail tentang apa yang disertakan dalam kebijakan permintaan asal CloudFront terkelola, lihat CORS-S3Origin di panduan pengguna. CloudFront Anda juga dapat menggunakan pengaturan yang sama ini dari kebijakan terkelola di CDN pihak ketiga Anda.

  • Kebijakan header respons: Managed-CORS-with-preflight-and-SecurityHeadersPolicy

    Menggunakan kebijakan header Managed-CORS-with-preflight-and-SecurityHeadersPolicy respons sangat penting untuk mencegah keracunan cache CORS. Kebijakan ini memastikan bahwa CloudFront menyertakan Access-Control-Allow-Origin header dalam tanggapan, yang diperlukan bagi pemain berbasis web untuk mengakses segmen iklan dari asal yang berbeda.

    Untuk detail tentang apa yang disertakan dalam kebijakan header respons, lihat CORS- with-preflight-and - SecurityHeadersPolicy di panduan CloudFront pengguna.

Menyesuaikan pengaturan ini ke yang lain CDNs

Jika Anda menggunakan CDN selain CloudFront, cari pengaturan setara yang mencapai hal berikut.

Pencocokan pola jalur

Mengonfigurasi perilaku tertentu untuk pola /tm/* jalur untuk menangani segmen MediaTailor iklan

Konfigurasi kunci cache

Sertakan Origin header dalam kunci cache Anda untuk memastikan respons di-cache secara terpisah untuk asal yang berbeda

Penerusan header

Teruskan Origin header dan header terkait CORS lainnya ke asal

Manajemen header respons

Konfigurasikan CDN Anda untuk memastikan Access-Control-Allow-Origin header hadir dalam tanggapan

Opsi terminologi dan konfigurasi spesifik akan bervariasi menurut penyedia CDN, tetapi prinsip dasarnya tetap sama.

Prioritas 1: Perilaku penyisipan iklan yang dipandu server

Perilaku ini menangani permintaan Memahami AWS Elemental MediaTailor penyisipan iklan yang dipandu server (SGAI) saat pelanggan mengonfigurasi mode terpandu, yang menyediakan manifes yang dapat di-cache. CloudFront menerapkan perilaku berikut untuk semua permintaan dengan pola /i-media/* jalur. SGAI memungkinkan kinerja caching yang lebih baik karena manifes tidak spesifik pemirsa.

  • Pola jalur: /i-media/* (jalur iMedia untuk SGAI)

    Contoh URLs yang cocok dengan pola ini:

    • https://your-distribution.cloudfront.net/i-media/your-config/manifest.m3u8

    • https://your-distribution.cloudfront.net/i-media/your-config/playlist.mpd

  • Asal: Asal yang Anda buat dengan manifests.mediatailor.region.amazonaws.com domain.

    Ini adalah contoh MediaTailorManifestsdi bagian sebelumnya tentang asal-usul.

  • Kebijakan cache: Managed-CachingOptimized

    Untuk detail tentang apa yang disertakan dalam kebijakan cache CloudFront terkelola, lihat CachingOptimizeddi panduan CloudFront pengguna. Anda juga dapat menggunakan pengaturan yang sama ini dari kebijakan terkelola di CDN pihak ketiga Anda.

  • Kebijakan permintaan asal: Managed-CORS-S3Origin

    Untuk detail tentang apa yang disertakan dalam kebijakan permintaan asal CloudFront terkelola, lihat CORS-S3Origin di panduan pengguna. CloudFront Anda juga dapat menggunakan pengaturan yang sama ini dari kebijakan terkelola di CDN pihak ketiga Anda.

  • Kebijakan header respons: Managed-CORS-with-preflight-and-SecurityHeadersPolicy

    Untuk detail tentang apa yang disertakan dalam kebijakan header respons, lihat CORS- with-preflight-and - SecurityHeadersPolicy di panduan CloudFront pengguna.

Prioritas 2: Perilaku manifes yang dipersonalisasi

Perilaku ini menangani permintaan manifes yang dipersonalisasi. CloudFront menerapkan perilaku berikut untuk semua permintaan dengan pola /v1/* jalur. CloudFront menerapkan perilaku berikut dan tidak menyimpan manifes yang dipersonalisasi karena berisi konten iklan khusus pemirsa. URLs Perilaku ini berlaku untuk semua permintaan yang memiliki pola /v1/* jalur. Ini adalah MediaTailor fungsi inti di mana setiap penampil menerima manifes unik dengan penyisipan iklan yang dipersonalisasi.

  • Pola jalur: /v1/* ( MediaTailor permintaan V1 standar)

    Contoh URLs yang cocok dengan pola ini:

    • https://your-distribution.cloudfront.net/v1/master/your-config/manifest.m3u8

    • https://your-distribution.cloudfront.net/v1/dash/your-config/manifest.mpd

  • Asal: Asal yang Anda buat dengan manifests.mediatailor.region.amazonaws.com domain.

    Ini adalah contoh MediaTailorManifestsdi bagian sebelumnya tentang asal-usul.

  • Kebijakan cache: Managed-CachingDisabled

    Untuk detail tentang apa yang disertakan dalam kebijakan cache, lihat CachingDisableddi panduan CloudFront pengguna.

  • Kebijakan permintaan asal: Managed-AllViewerAndCloudFrontHeaders-2022-6

    Untuk detail tentang apa yang disertakan dalam kebijakan permintaan asal, lihat AllViewerAndCloudFrontHeaders-2022-6 di panduan pengguna. CloudFront

  • Kebijakan header respons: Managed-CORS-with-preflight-and-SecurityHeadersPolicy

    Untuk detail tentang apa yang disertakan dalam kebijakan header respons, lihat CORS- with-preflight-and - SecurityHeadersPolicy di panduan CloudFront pengguna.

Header Terima-Pengkodean

Kami menyarankan agar CDN Anda mempertahankan Accept-Encoding header dari pemirsa. Header ini memberikan MediaTailor instruksi tentang mengompresi manifes yang dipersonalisasi.

Dalam CloudFront, kebijakan permintaan AllViewerAndCloudFrontHeaders asal menyertakan passthrough Accept-Encoding header dari penampil. Jika Anda menggunakan CDN yang berbeda, pastikan bahwa itu mempertahankan header ini.

Berikut ini adalah bagaimana MediaTailor menangani Accept-Encoding header.

  • Perangkat lama: Smart lama TVs yang tidak mendukung gzip tidak akan mengirim header Accept-Encoding, jadi mengembalikan manifes yang tidak terkompresi MediaTailor

  • Perangkat modern: iPhone, browser Chrome, dan klien modern lainnya mengirim header Accept-Encoding, memungkinkan MediaTailor untuk mengompres manifes sebelum pengiriman

Prioritas 3: Perilaku jalur suar sisi server

Perilaku ini menangani permintaan MediaTailor yang menghasilkan pengalihan untuk. Pelacakan sisi server Permintaan ini penting untuk melacak suar, sehingga setiap permintaan harus diproses oleh. MediaTailor CloudFront menerapkan perilaku berikut untuk semua permintaan dengan pola /segment/* jalur.

  • Pola jalur: /segment/*

    Contoh URLs yang cocok dengan pola ini:

    • https://your-distribution.cloudfront.net/segment/tracking-beacon-123

    • https://your-distribution.cloudfront.net/segment/ad-request-456.ts

  • Asal: Asal yang Anda buat dengan manifests.mediatailor.region.amazonaws.com domain.

    Ini adalah contoh MediaTailorManifestsdi bagian sebelumnya tentang asal-usul.

  • Kebijakan cache: Managed-CachingDisabled

    Untuk detail tentang apa yang disertakan dalam kebijakan cache, lihat CachingDisableddi panduan CloudFront pengguna.

  • Kebijakan permintaan asal: Managed-AllViewerAndCloudFrontHeaders-2022-6

    Untuk detail tentang apa yang disertakan dalam kebijakan permintaan asal, lihat AllViewerAndCloudFrontHeaders-2022-6 di panduan pengguna. CloudFront

  • Kebijakan header respons: Managed-CORS-with-preflight-and-SecurityHeadersPolicy

    Untuk detail tentang apa yang disertakan dalam kebijakan header respons, lihat CORS- with-preflight-and - SecurityHeadersPolicy di panduan CloudFront pengguna.

Saat MediaTailor memproses permintaan ini, ia mengembalikan respons pengalihan 302 dengan jalur yang menunjuk ke lokasi segmen yang sebenarnya. Misalnya, permintaan untuk /segment/ad123.ts dapat mengarahkan ulang ke /tm/encoded-ad-segment.ts asal segmen.

Prioritas 4: Perilaku jalur asal konten

Jika jalur permintaan tidak cocok dengan pola lainnya, CloudFront terapkan perilaku default. Perilaku ini mengirimkan permintaan langsung ke asal konten, tanpa pemrosesan dari MediaTailor. Ini memungkinkan akses langsung ke asal konten Anda (seperti MediaPackage V2) bila diperlukan. CloudFront menerapkan perilaku berikut ke semua permintaan yang tidak menyertakan pola jalur sebelumnya.

  • Pola jalur: (*)

  • Asal: Asal yang Anda buat dengan domain untuk asal konten Anda.

    Ini adalah contoh ContentOrigindi bagian sebelumnya tentang asal-usul.

  • Kebijakan cache: Managed-CachingOptimized

    Untuk detail tentang apa yang disertakan dalam kebijakan cache CloudFront terkelola, lihat CachingOptimizeddi panduan CloudFront pengguna. Anda juga dapat menggunakan pengaturan yang sama ini dari kebijakan terkelola di CDN pihak ketiga Anda.

    catatan

    Untuk implementasi HLS latensi rendah, pertimbangkan untuk menggunakan kebijakan caching khusus dengan arahan Low Latency HLS (LLH) alih-alih kebijakan standar. CachingOptimized

  • Kebijakan permintaan asal: Dikonfigurasi untuk meneruskan header dan parameter string kueri yang sesuai ke asal konten Anda. Untuk informasi tentang kebijakan permintaan asal terkelola yang tersedia, lihat Menggunakan kebijakan permintaan asal terkelola dalam panduan pengembang CF.

  • Kebijakan header respons: Managed-CORS-with-preflight-and-SecurityHeadersPolicy

    Meskipun perilaku asal konten default biasanya tidak menghadapi risiko keracunan cache CORS yang sama dengan perilaku segmen iklan, tetap disarankan untuk menggunakan kebijakan header Managed-CORS-with-preflight-and-SecurityHeadersPolicy respons dan menyertakan Origin header di kunci cache Anda. Ini memastikan penanganan CORS yang konsisten di semua jenis konten dan mencegah potensi masalah pemutaran di pemutar berbasis web.

    Untuk segmen konten, kebijakan Managed-CachingOptimized cache memberikan kinerja yang baik sementara kebijakan header Managed-CORS-with-preflight-and-SecurityHeadersPolicy respons memastikan penanganan CORS yang tepat. Kombinasi ini memungkinkan caching yang efisien sambil mempertahankan kompatibilitas dengan pemain berbasis web yang membutuhkan header CORS.

    Menerapkan penanganan CORS yang konsisten di segmen iklan dan segmen konten menciptakan pengalaman pemutaran yang lebih andal dan menyederhanakan pemecahan masalah. Tanpa konfigurasi CORS yang tepat, pemain mungkin mengalami perilaku yang tidak konsisten saat bertransisi antara konten dan iklan.

    Untuk detail tentang apa yang disertakan dalam kebijakan header respons, lihat CORS- with-preflight-and - SecurityHeadersPolicy di panduan CloudFront pengguna.