

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# CDN と MediaTailor の統合の CloudFormation テンプレートをカスタマイズする
<a name="customize-cloudformation-template"></a>

AWS Elemental MediaTailor テンプレートのカスタマイズにより、ブロードキャストプロフェッショナルは特定のワークフロー要件に合わせて AWS CloudFormation テンプレートを適応させることができます。基本的なテンプレートは多くのシナリオで機能しますが、これらのカスタマイズは、より複雑なニーズに対応するのに役立ちます。

以下の例は、テンプレートに追加できる YAML コードスニペットを示しています。YAML または CloudFormation 構文に精通していない場合は、開発者または AWS ソリューションアーキテクトと協力してこれらの変更を行うことを検討してください。

テンプレートは、特定のワークフロー要件を満たす CloudFormation ようにカスタマイズできます。

## オリジンの追加または変更
<a name="add-modify-origins"></a>

複数のコンテンツソース (プライマリソースやバックアップソース、異なるコンテンツライブラリなど) を使用するブロードキャストワークフローでは、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
```

## カスタムキャッシュポリシーを作成する
<a name="create-custom-cache-policies"></a>

特定のキャッシュ要件 (品質選択パラメータやビューワー認証など) を持つブロードキャストワークフローでは、マネージドキャッシュポリシーを使用する代わりにカスタムキャッシュポリシーを作成できます。TTL 値とキャッシュ戦略の詳細については、「」を参照してください[CDN と MediaTailor の統合のキャッシュ最適化](cdn-optimize-caching.md)。

```
# 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 設定の強化
<a name="enhance-mediatailor-config"></a>

高度な広告挿入機能を必要とするブロードキャストワークフローでは、広告プリフェッチ (レイテンシーを低減するため）、パーソナライゼーションしきい値、バンパー広告などのオプションを使用して 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 を使用して広告を挿入する](configurations.md)。

## セキュリティ機能を追加する
<a name="add-security-features"></a>

特定のセキュリティ要件 (地理的制限や 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 「 ユーザーガイド](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html)」を参照してください。

ブロードキャスト固有の CloudFormation テンプレートと例については、[AWS Media Services Tools GitHub リポジトリ](https://github.com/aws-samples/aws-media-services-tools)を参照してください。