本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
自訂 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.comCustomOriginConfig: 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.mp4EndUrl: 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 儲存庫