自訂 CDN 和 MediaTailor 整合的 CloudFormation 範本 - AWS Elemental MediaTailor

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

自訂 CDN 和 MediaTailor 整合的 CloudFormation 範本

AWS Elemental MediaTailor 範本自訂可讓廣播專業人員調整 AWS CloudFormation 範本以符合特定的工作流程需求。雖然基本範本適用於許多案例,但這些自訂可協助您解決更複雜的需求。

以下範例顯示您可以新增至範本的 YAML 程式碼片段。如果您不熟悉 YAML CloudFormation 或語法,請考慮與開發人員或 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...

如需 CloudFormation 範本的詳細資訊,請參閱AWS CloudFormation 《 使用者指南》

如需廣播特定的 CloudFormation 範本和範例,請參閱 AWS Media Services Tools GitHub 儲存庫