使用设置基本 CloudFront 集成 MediaTailor - AWS Elemental MediaTailor

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用设置基本 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
  1. 登录 AWS 管理控制台并在 https://console.aws.amazon.com/cloudfront/v3/ hom CloudFront e 中打开控制台。

  2. 选择 Create Distribution(创建分配)。

  3. 对于 Origin 域名,请输入您的 MediaTailor 终端节点 URL(例如a1b2c3d4.mediatailor.us-west-2.amazonaws.com)。

  4. 对于协议,请选择仅限 HTTPS

  5. 在 “名称” 中,输入一个可以帮助您识别此来源的名称(例如,mediatailor-origin)。

  6. 配置默认的缓存行为设置:

    1. 对于路径模式,使用默认值 (*)。

    2. 对于 “自动压缩对象”,选择 “”。

    3. 对于查看器协议策略,选择将 HTTP 重定向到 HTTPS

    4. 对于 “允许的 HTTP 方法”,选择 GET、HEAD

    5. 缓存策略中,选择CachingDisabled

    6. 在 O rigin 请求策略中,选择AllViewer转发默认行为的所有标头。

      注意

      默认行为 AllViewer 用于安全处理任何与特定路径模式不匹配的内容。清单和区段的特定缓存行为将使用适当的策略单独配置。

  7. 配置分发设置:

    1. 对于价格等级,请选择与您的受众位置最匹配的选项。

    2. 对于 AWS WAF Web ACL,请选择现有的 Web ACL 或保留为 “请勿启用安全保护”。

    3. 对于默认根对象,请留空。

    4. 对于标准日志记录,请选择开以启用日志记录。

  8. 选择 Create Distribution(创建分配)。

配置缓存行为

创建发行版后,您需要配置其他缓存行为以适当地处理不同类型的内容。本节介绍的基本缓存行为设置 CloudFront。

有关全面的缓存优化,包括高级 TTL 设置、缓存密钥配置和性能调整,请参阅 CDN 优化指南针对 CDN 和 MediaTailor集成的缓存优化中的。

配置清单缓存行为

不要缓存清单,因为清单包含个性化内容。按照以下步骤配置缓存行为:

配置清单缓存行为
  1. 在 CloudFront 控制台中,选择您的发行版。

  2. 选择行为选项卡。

  3. 选择创建行为

  4. 路径模式中,输入*.m3u8以匹配 HLS 多变体播放列表和媒体播放列表。

  5. 在 O rigin 中,选择您的 MediaTailor 起运地。

  6. 缓存策略中,选择CachingDisabled

  7. 在 O rigin 请求策略中,选择AllViewer转发动态内容所需的所有标题。

  8. 选择创建

  9. 使用路径模式对 DASH 清单重复这些步骤*.mpd进行匹配 MPDs。

此配置可确保每位观众都能收到包含其特定广告内容的个性化清单。CDN 不会缓存这些清单,因此每个请求都会直接发送到。 MediaTailor

配置分段缓存行为

为广告细分和内容区段配置单独的缓存行为,以优化效果并确保正确处理 CORS。

配置广告区段缓存行为

通过/tm/*路径模式投放的广告区段需要特定的配置才能正确处理 CORS。按照以下步骤进行操作:

配置广告区段缓存行为
  1. 在 CloudFront 控制台中,选择您的发行版。

  2. 选择行为选项卡。

  3. 选择创建行为

  4. 在 “路径模式” 中/tm/*,输入匹配投放的广告区段 MediaTailor。

  5. 对于 Origin,选择您的 MediaTailor 分段来源(使用segments.mediatailor.region.amazonaws.com主机名)。

  6. 缓存策略中,选择CachingOptimized

  7. 在 O rigin 请求策略中,选择

  8. 对于响应标头策略,请选择 CORS-with-preflight-and-SecurityHeadersPolicy 以确保响应中包含正确的 CORS 标头。

  9. 选择创建

配置内容分段缓存行为

内容分段可以使用标准缓存策略来获得最佳性能。为不同的区段格式配置单独的行为:

配置内容分段缓存行为
  1. 在 CloudFront 控制台中,选择您的发行版。

  2. 选择行为选项卡。

  3. 选择创建行为

  4. 路径模式中,输入*.ts以匹配 HLS 内容分段。

  5. 在 O rigin 中,选择您的内容来源。

  6. 缓存策略中,选择CachingOptimized

  7. 在 O rigin 请求策略中,选择

  8. 对于响应标头策略,请选择 CORS-with-preflight-and-SecurityHeadersPolicy 以确保对所有内容类型的 CORS 处理保持一致。

  9. 选择创建

  10. 使用适当的路径模式对其他内容段格式重复以下步骤:

    • *.mp4用于 MP4 细分

    • *.m4s适用于 DASH 区段

    • *.cmfv*.cmfa适用于 CMAF 细分市场

此配置可确保通过适当的 CORS 处理来适当地缓存广告细分和内容区段。广告细分使用带有 CORS 保护的 MediaTailor 区段来源,而内容细分则使用您的内容来源并经过优化的缓存策略。

更新 MediaTailor 配置

设置好 CloudFront 发行版后,请更新您的 MediaTailor 配置以使用该 CloudFront 域名:

更新您的 MediaTailor 配置
  1. 打开 MediaTailor 管理控制台

  2. 选择要更新的配置。

  3. CDN 配置部分,在 CDN 内容 CloudFront分段前缀字段中输入您的分发域名(例如d1234abcdef.cloudfront.net)。

  4. 保存您的更改。

使用此配置, MediaTailor 生成 URLs 指向您的 CloudFront分发而不是直接指向原点的清单。

测试您的集成

配置 CloudFront 发行版并更新 MediaTailor 配置后,请测试集成:

测试您的 CloudFront 和 MediaTailor 集成
  1. 通过您的 CloudFront 发行版请求清单(例如,https://d1234abcdef.cloudfront.net/v1/master/12345/my-config/index.m3u8)。

  2. 验证清单中是否 URLs 包含指向您的 CloudFront域名的区段。

  3. 通过视频播放器播放内容,并验证内容和广告的播放是否正确。

  4. 检查 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" } ] }

此示例显示:

  • 默认行为:使用CachingDisabledAllViewer来安全处理任何与特定路径模式不匹配的内容

  • 清单行为 (*.m3u8):使用和用于动态内容 CachingDisabled AllViewer

  • 区段行为 (*.ts):用途CachingOptimized CORS-with-preflight-and-SecurityHeadersPolicy

后续步骤

设置基本 CloudFront 集成后 MediaTailor,请考虑以下步骤: