自定义 CDN 和 MediaTailor 集成的 AWS CloudFormation 模板 - AWS Elemental MediaTailor

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

自定义 CDN 和 MediaTailor 集成的 AWS CloudFormation 模板

AWS Elemental MediaTailor 模板自定义允许广播专业人员调整 AWS CloudFormation 模板以适应特定的工作流程要求。尽管基本模板适用于许多场景,但这些自定义可以帮助您满足更复杂的需求。

以下示例显示了您可以添加到模板中的 YAML 代码片段。如果您不熟悉 YAML 或 AWS CloudFormation 语法,可以考虑与开发人员或 AWS 解决方案架构师合作进行这些更改。

您可以自定义 AWS CloudFormation 模板以满足您的特定工作流程要求。

添加或修改起点

对于使用多个内容源(例如主源和备用源,或者不同的内容库)的广播工作流程,您可以向 CloudFront 分发添加其他来源:

Origins: # Add a new origin for additional content - Id: SecondaryContentOrigin DomainName: secondary-content.example.com CustomOriginConfig: OriginProtocolPolicy: 'https-only' OriginSSLProtocols: - TLSv1.2

然后添加相应的缓存行为,将特定的模式路由到这个来源:

CacheBehaviors: - PathPattern: '/secondary-content/*' TargetOriginId: SecondaryContentOrigin ViewerProtocolPolicy: 'https-only' CachePolicyId: 658327ea-f89d-4fab-a63d-7e88639e58f6 # Managed-CachingOptimized

创建自定义缓存策略

对于具有特定缓存要求(例如质量选择参数或观众身份验证)的广播工作流程,您可以创建自定义缓存策略,而不是使用托管缓存策略。有关 TTL 值和缓存策略的详细指导,请参阅针对 CDN 和 MediaTailor集成的缓存优化

# Define a custom cache policy CustomCachePolicy: Type: AWS::CloudFront::CachePolicy Properties: CachePolicyConfig: Name: !Sub '${AWS::StackName}-CustomCachePolicy' DefaultTTL: 86400 # 24 hours MaxTTL: 31536000 # 1 year MinTTL: 1 # 1 second ParametersInCacheKeyAndForwardedToOrigin: CookiesConfig: CookieBehavior: none HeadersConfig: HeaderBehavior: none QueryStringsConfig: QueryStringBehavior: whitelist QueryStrings: - quality - format # Reference the custom policy in a cache behavior CacheBehaviors: - PathPattern: '/custom-path/*' TargetOriginId: ContentOrigin ViewerProtocolPolicy: 'https-only' CachePolicyId: !Ref CustomCachePolicy

增强 MediaTailor配置

对于需要高级广告插入功能的广播工作流程,您可以使用广告预取(以减少延迟)、个性化阈值和导视广告等选项来增强 MediaTailor 配置。

MediaTailorPlaybackConfig: Type: AWS::MediaTailor::PlaybackConfiguration Properties: # Add ad prefetching for improved performance AvailSuppression: Mode: BEHIND_LIVE_EDGE Value: 00:00:00 # Add personalization parameters PersonalizationThresholdSeconds: 2 # Add bumper ads Bumper: StartUrl: https://example.com/bumper-start.mp4 EndUrl: https://example.com/bumper-end.mp4 # Other existing properties...

有关 MediaTailor 配置选项的更多信息,请参阅AWS Elemental MediaTailor 用于插入广告

添加安全功能

对于具有特定安全要求(例如地理限制或防护 DDo S 攻击)的广播工作流程,您可以添加 AWS WAF 集成和地理限制:

# Create a AWS WAF Web ACL WebACL: Type: AWS::WAFv2::WebACL Properties: Name: !Sub '${AWS::StackName}-WebACL' Scope: CloudFront DefaultAction: Allow: {} VisibilityConfig: SampledRequestsEnabled: true CloudWatchMetricsEnabled: true MetricName: !Sub '${AWS::StackName}-WebACL' Rules: - Name: RateLimitRule Priority: 0 Action: Block: {} VisibilityConfig: SampledRequestsEnabled: true CloudWatchMetricsEnabled: true MetricName: RateLimitRule Statement: RateBasedStatement: Limit: 1000 AggregateKeyType: IP # Reference the AWS WAF Web ACL in the CloudFront distribution CloudFrontDistribution: Type: AWS::CloudFront::Distribution Properties: DistributionConfig: WebACLId: !GetAtt WebACL.Arn # Add geo-restriction Restrictions: GeoRestriction: RestrictionType: whitelist Locations: - US - CA - GB # Other existing properties...

有关 AWS CloudFormation 模板的更多信息,请参阅《AWS CloudFormation 用户指南》

有关广播特定的 AWS CloudFormation 模板和示例,请参阅 AW S 媒体服务工具存储库。 GitHub