本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用设置基本 CloudFront 集成 MediaTailor
AWS Elemental MediaTailor 与 Amazon 的集成 CloudFront 可提高您的观众的内容交付性能。本主题将指导您为设置基本 CloudFront 发行版 MediaTailor。通过这种集成,您的观众可以通过 CloudFront 网络访问个性化内容。您还将学习如何为不同的内容类型配置适当的缓存。
有关通过传递 CloudFront 用于授权和路由的查询参数的信息,请参见MediaTailor 清单查询参数。有关使用动态变量的高级路由,请参阅MediaTailor 多个内容源的域变量。
先决条件
在 CloudFront 使用进行配置之前 MediaTailor,请确保您具备以下条件:
-
具有创建和管理 CloudFront分配权限的活跃 AWS 账户
-
已配置的 MediaTailor 播放配置(请参阅AWS Elemental MediaTailor 用于插入广告)
-
您的内容源服务器已正确设置并可以访问
-
对视频流媒体概念的基本理解 (HLS/DASH)
配置 CloudFront 分发
按照以下步骤为以下各项创建和配置 CloudFront 分发 MediaTailor:
为创建 CloudFront 分配 MediaTailor
-
登录 AWS 管理控制台并在 https://console.aws.amazon.com/cloudfront/v3/
hom CloudFront e 中打开控制台。 -
选择 Create Distribution(创建分配)。
-
对于 Origin 域名,请输入您的 MediaTailor 终端节点 URL(例如
a1b2c3d4.mediatailor.us-west-2.amazonaws.com)。 -
对于协议,请选择仅限 HTTPS。
-
在 “名称” 中,输入一个可以帮助您识别此来源的名称(例如,
mediatailor-origin)。 -
配置默认的缓存行为设置:
-
对于路径模式,使用默认值 (
*)。 -
对于 “自动压缩对象”,选择 “是”。
-
对于查看器协议策略,选择将 HTTP 重定向到 HTTPS。
-
对于 “允许的 HTTP 方法”,选择 GET、HEAD。
-
在缓存策略中,选择CachingDisabled。
-
在 O rigin 请求策略中,选择AllViewer转发默认行为的所有标头。
注意
默认行为 AllViewer 用于安全处理任何与特定路径模式不匹配的内容。清单和区段的特定缓存行为将使用适当的策略单独配置。
-
-
配置分发设置:
-
对于价格等级,请选择与您的受众位置最匹配的选项。
-
对于 AWS WAF Web ACL,请选择现有的 Web ACL 或保留为 “请勿启用安全保护”。
-
对于默认根对象,请留空。
-
对于标准日志记录,请选择开启以启用日志记录。
-
-
选择 Create Distribution(创建分配)。
配置缓存行为
创建发行版后,您需要配置其他缓存行为以适当地处理不同类型的内容。本节介绍的基本缓存行为设置 CloudFront。
有关全面的缓存优化,包括高级 TTL 设置、缓存密钥配置和性能调整,请参阅 CDN 优化指南针对 CDN 和 MediaTailor集成的缓存优化中的。
配置清单缓存行为
不要缓存清单,因为清单包含个性化内容。按照以下步骤配置缓存行为:
配置清单缓存行为
-
在 CloudFront 控制台中,选择您的发行版。
-
选择行为选项卡。
-
选择创建行为。
-
在路径模式中,输入
*.m3u8以匹配 HLS 多变体播放列表和媒体播放列表。 -
在 O rigin 中,选择您的 MediaTailor 起运地。
-
在缓存策略中,选择CachingDisabled。
-
在 O rigin 请求策略中,选择AllViewer转发动态内容所需的所有标题。
-
选择创建。
-
使用路径模式对 DASH 清单重复这些步骤
*.mpd进行匹配 MPDs。
此配置可确保每位观众都能收到包含其特定广告内容的个性化清单。CDN 不会缓存这些清单,因此每个请求都会直接发送到。 MediaTailor
配置分段缓存行为
为广告细分和内容区段配置单独的缓存行为,以优化效果并确保正确处理 CORS。
配置广告区段缓存行为
通过/tm/*路径模式投放的广告区段需要特定的配置才能正确处理 CORS。按照以下步骤进行操作:
配置广告区段缓存行为
-
在 CloudFront 控制台中,选择您的发行版。
-
选择行为选项卡。
-
选择创建行为。
-
在 “路径模式” 中
/tm/*,输入匹配投放的广告区段 MediaTailor。 -
对于 Origin,选择您的 MediaTailor 分段来源(使用
segments.mediatailor.region.amazonaws.com主机名)。 -
在缓存策略中,选择CachingOptimized。
-
在 O rigin 请求策略中,选择无。
-
对于响应标头策略,请选择 CORS-with-preflight-and-SecurityHeadersPolicy 以确保响应中包含正确的 CORS 标头。
-
选择创建。
配置内容分段缓存行为
内容分段可以使用标准缓存策略来获得最佳性能。为不同的区段格式配置单独的行为:
配置内容分段缓存行为
-
在 CloudFront 控制台中,选择您的发行版。
-
选择行为选项卡。
-
选择创建行为。
-
在路径模式中,输入
*.ts以匹配 HLS 内容分段。 -
在 O rigin 中,选择您的内容来源。
-
在缓存策略中,选择CachingOptimized。
-
在 O rigin 请求策略中,选择无。
-
对于响应标头策略,请选择 CORS-with-preflight-and-SecurityHeadersPolicy 以确保对所有内容类型的 CORS 处理保持一致。
-
选择创建。
-
使用适当的路径模式对其他内容段格式重复以下步骤:
-
*.mp4用于 MP4 细分 -
*.m4s适用于 DASH 区段 -
*.cmfv并*.cmfa适用于 CMAF 细分市场
-
此配置可确保通过适当的 CORS 处理来适当地缓存广告细分和内容区段。广告细分使用带有 CORS 保护的 MediaTailor 区段来源,而内容细分则使用您的内容来源并经过优化的缓存策略。
更新 MediaTailor 配置
设置好 CloudFront 发行版后,请更新您的 MediaTailor 配置以使用该 CloudFront 域名:
更新您的 MediaTailor 配置
-
选择要更新的配置。
-
在 CDN 配置部分,在 CDN 内容 CloudFront分段前缀字段中输入您的分发域名(例如
d1234abcdef.cloudfront.net)。 -
保存您的更改。
使用此配置, MediaTailor 生成 URLs 指向您的 CloudFront分发而不是直接指向原点的清单。
测试您的集成
配置 CloudFront 发行版并更新 MediaTailor 配置后,请测试集成:
测试您的 CloudFront 和 MediaTailor 集成
-
通过您的 CloudFront 发行版请求清单(例如,
https://d1234abcdef.cloudfront.net/v1/master/12345/my-config/index.m3u8)。 -
验证清单中是否 URLs 包含指向您的 CloudFront域名的区段。
-
通过视频播放器播放内容,并验证内容和广告的播放是否正确。
-
检查 CloudFront 日志,确保请求路由正确。
示例配置
以下是 MediaTailor 具有适当缓存行为的 CloudFront 分发配置示例:
例 CloudFront 分发配置示例
{ "DefaultCacheBehavior": { "TargetOriginId": "mediatailor-origin", "ViewerProtocolPolicy": "redirect-to-https", "AllowedMethods": { "Quantity": 2, "Items": ["GET", "HEAD"] }, "CachePolicyId": "4135ea2d-6df8-44a3-9df3-4b5a84be39ad", "OriginRequestPolicyId": "59781a5b-3903-41f3-afcb-af62929ccde1", "Comment": "Default behavior with CachingDisabled and AllViewer" }, "CacheBehaviors": [ { "PathPattern": "*.m3u8", "TargetOriginId": "mediatailor-origin", "ViewerProtocolPolicy": "redirect-to-https", "CachePolicyId": "4135ea2d-6df8-44a3-9df3-4b5a84be39ad", "OriginRequestPolicyId": "59781a5b-3903-41f3-afcb-af62929ccde1", "Comment": "Manifest behavior with CachingDisabled and AllViewer" }, { "PathPattern": "*.ts", "TargetOriginId": "mediatailor-origin", "ViewerProtocolPolicy": "redirect-to-https", "CachePolicyId": "658327ea-f89d-4fab-a63d-7e88639e58f6", "OriginRequestPolicyId": "88a5eaf4-2fd4-4709-b370-b4c650ea3fcf", "Comment": "Segment behavior with CachingOptimized and HostHeaderOnly" } ] }
此示例显示:
-
默认行为:使用
CachingDisabled和AllViewer来安全处理任何与特定路径模式不匹配的内容 -
清单行为 (*.m3u8):使用和用于动态内容
CachingDisabledAllViewer -
区段行为 (*.ts):用途和
CachingOptimizedCORS-with-preflight-and-SecurityHeadersPolicy
后续步骤
设置基本 CloudFront 集成后 MediaTailor,请考虑以下步骤:
-
使用其他 CloudFront 功能优化性能(参见利用 CloudFront功能优化 MediaTailor 性能)
-
使用 MQAR 实现多区域弹性(参见) MediaTailor 使用 MQAR 实现多区域弹性
-
设置监控和故障排除(请参阅监控您的和 MediaTailor 集成, CloudFront 并对其进行故障排除)