自訂 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 插入廣告

新增安全功能

對於具有特定安全需求的廣播工作流程 (例如地理限制或防範 DDoS 攻擊),您可以新增 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 範本和範例,請參閱 AWS Media Services Tools GitHub 儲存庫