

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Automatisieren MediaTailor und CDN mit CloudFormation
<a name="automating-cdn-integration"></a>

Durch die Automatisierung AWS Elemental MediaTailor mithilfe eines Content Delivery Network (CDN) wird Ihr Arbeitsablauf bei der Anzeigenschaltung AWS CloudFormation optimiert und die Zuverlässigkeit verbessert.

In diesem Abschnitt erfahren Sie, wie Sie mithilfe von AWS CloudFormation (AWS Infrastructure as Code Service) die automatische Einrichtung AWS Elemental MediaTailor mit einem Content Delivery Network (CDN) durchführen können. Sie können diese Integration zwar manuell konfigurieren, wie in den vorherigen Abschnitten beschrieben, aber die Verwendung CloudFormation spart Zeit und reduziert Fehler, da der gesamte Prozess mit einer einzigen Vorlage automatisiert wird.

Wenn Sie mit diesem Service noch nicht vertraut sind CloudFormation, können Sie eine Vorlagendatei erstellen, die alle AWS-Ressourcen definiert, die Sie benötigen. Wenn Sie diese Vorlage bereitstellen, CloudFormation werden diese Ressourcen automatisch für Sie erstellt und konfiguriert, um sicherzustellen, dass sie korrekt zusammenarbeiten.

Weitere Informationen zu CloudFormation finden Sie im [CloudFormation Benutzerhandbuch](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html). Informationen zu MediaTailor Ressourcentypen finden Sie unter [AWS: MediaTailor Ressourcentyp-Referenz](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_MediaTailor.html). CloudFormation

**Topics**
+ [Warum verwenden AWS CloudFormation](cloudformation-benefits.md)
+ [Bereiten Sie sich auf die Bereitstellung vor](prepare-cloudformation-deployment.md)
+ [Stellen Sie die Vorlage bereit](deploy-cloudformation-template.md)
+ [Verwenden Sie die bereitgestellten Ressourcen](use-deployed-resources.md)
+ [Testen und validieren Sie Ihre Bereitstellung](test-validate-deployment.md)
+ [Fehlersuche bei Problemen mit der -Bereitstellung](troubleshoot-deployment-issues.md)
+ [Passen Sie die Vorlage an](customize-cloudformation-template.md)
+ [Vorlage – Referenz](cloudformation-template-reference.md)

# Warum CloudFormation für MediaTailor und CDN-Integration verwenden
<a name="cloudformation-benefits"></a>

AWS Elemental MediaTailor Automatisierung mit AWS CloudFormation erheblichen Vorteilen für Rundfunkprofis bei der Verwaltung von Streaming-Workflows. Die manuelle Konfiguration MediaTailor mit einem Content Delivery Network (CDN) kann zeitaufwändig und fehleranfällig sein. Der Einsatz von CloudFormation Automatisierung bietet die folgenden Vorteile.
+ **Konsistenz**: Stellt sicher, dass jedes Mal dieselbe Konfiguration bereitgestellt wird, wodurch menschliche Fehler reduziert werden.
+ **Versionskontrolle**: Speichern Sie Ihre Infrastruktur als Code in einem Versionskontrollsystem, um Änderungen nachzuverfolgen.
+ **Schnelle Bereitstellung**: Stellen Sie komplexe Konfigurationen innerhalb von Minuten statt stundenlanger manueller Konfiguration bereit.
+ **Umgebungsreplikation: Einfache Replikation** von Konfigurationen in Entwicklungs-, Test- und Produktionsumgebungen.
+ **Dokumentation**: Die Vorlage selbst dient als Dokumentation Ihrer Infrastruktur.

So sieht der automatisierte Workflow im Vergleich zur manuellen Konfiguration aus:


| Manuelle Einrichtung (mehrere Schritte) | Automatisierte Einrichtung (einzelne Vorlage) | 
| --- | --- | 
|  MediaTailor Wiedergabekonfiguration erstellen | Stellen Sie eine CloudFormation Vorlage mit Parametern bereit | 
|  CloudFront Distribution erstellen | 
| Konfigurieren Sie das Verhalten des Caches | 
| Richten Sie Sicherheitskonfigurationen ein | 

Der automatisierte Workflow für die Einrichtung MediaTailor mit CloudFront folgt diesen Schritten:

1. Stellen Sie die CloudFormation Vorlage mit Ihren Inhaltsursprungs- und Anzeigenserver-Parametern bereit

1. CloudFormation erstellt und konfiguriert alle erforderlichen Ressourcen:
   + MediaTailor Wiedergabekonfiguration für das Einfügen von Anzeigen
   + CloudFront Verteilung mit geeignetem Cache-Verhalten
   + Sicherheitskonfigurationen für den Schutz von Inhalten

1. Verwenden Sie die CloudFormation Ausgaben, um auf Ihren Stream mit aktivierter Werbung zuzugreifen URLs

1. Streamen Sie Ihre Inhalte mit dynamisch eingefügten Anzeigen

# Bereiten Sie sich auf die CloudFormation Bereitstellung von CDN und MediaTailor Integrationen vor
<a name="prepare-cloudformation-deployment"></a>

AWS Elemental MediaTailor Für die Bereitstellung AWS CloudFormation sind bestimmte Voraussetzungen und Vorbereitungsschritte erforderlich. Bevor Sie beginnen, mit CloudFormation to integration MediaTailor und Amazon zu arbeiten CloudFront, stellen Sie sicher, dass Sie über Folgendes verfügen.
+ Ein AWS Konto mit Berechtigungen zum Erstellen von MediaTailor CloudFront, und CloudFormation Ressourcen
+ Ein Inhaltsursprung, an dem Ihre Videoinhalte gehostet werden ( AWS Elemental MediaPackage z. B. Amazon S3 oder ein anderer Ursprungsserver)
+ Ein Ad Decision Server (ADS), der auf VAST-Anfragen antworten kann

Stellen Sie vor dem Bereitstellen der CloudFormation Vorlage die folgenden erforderlichen Parameter zusammen:

`AdServerUrl`  
URL des VAST-Anzeigenservers für die dynamische Anzeigeneinfügung. Zum Testen wird ein statischer VAST-Endpunkt bereitgestellt.

`ContentOriginDomainName`  
Domainname Ihrer Inhaltsquelle ohne Protokoll (z. B.*mediapackage-domain.mediapackagev2.us-west-2.amazonaws.com*,*mybucket.s3.amazonaws.com*, oder*custom-origin.example.com*). Verwenden Sie weder die Präfixe http://oder https://noch irgendwelche Pfade.

`ContentOriginType`  
Die Art der Herkunft des Inhalts:  
+ *mediapackagev2*: Für Ursprünge AWS Elemental MediaPackage 
+ *s3*: Für Amazon S3 S3-Bucket-Ursprünge
+ *benutzerdefiniert*: Für jeden anderen Origin-Typ

Mit der Vorlage werden mehrere AWS Ressourcen erstellt, die zusammenarbeiten, um Ihre Inhalte mit personalisierten Anzeigen bereitzustellen. Im Folgenden wird beschrieben, was die einzelnen Komponenten bewirken:

## Origin-Zugriffskontrolle
<a name="origin-access-control-resource"></a>

Origin Access Control (OAC) ist eine Sicherheitsfunktion, die sicherstellt, dass auf deine Inhalte nur über CloudFront, nicht direkt von deinem Ursprungsserver aus zugegriffen werden kann. Dies trägt dazu bei, deine Inhalte vor unbefugtem Zugriff zu schützen.

Für MediaPackage Amazon S3 S3-Ursprünge erstellt die Vorlage eine Origin Access Control (OAC) -Ressource, um den Zugriff auf Ihre Inhalte zu sichern. 

## MediaTailor Konfiguration der Wiedergabe
<a name="mediatailor-resource"></a>

Die MediaTailor Wiedergabekonfiguration ist die Kernkomponente, die das Einfügen von Anzeigen übernimmt. Es empfängt Inhalte von Ihrer Herkunft, fordert Anzeigen von Ihrem Werbeserver an und kombiniert sie zu einem personalisierten Stream für jeden Zuschauer.

Die Vorlage erstellt eine MediaTailor Wiedergabekonfiguration mit den folgenden Einstellungen:
+ Quelle des Videoinhalts, die auf Ihre CloudFront Distribution verweist
+ Die URL des Anzeigenentscheidungsservers ist für Ihren angegebenen VAST-Endpunkt konfiguriert
+ Live-Pre-Roll-Konfiguration für die Anzeigeneinblendung während Livestreams
+ CDN-Konfiguration mit entsprechenden Segment-URL-Präfixen

## CloudFront Verteilung
<a name="cloudfront-resource"></a>

Der CloudFront Vertrieb liefert Ihre Inhalte mit geringer Latenz an Zuschauer weltweit. Es verarbeitet verschiedene Arten von Anfragen (Manifeste, Inhaltssegmente, Anzeigensegmente) und leitet sie an die entsprechenden Quellen weiter.

Für Broadcast-Profis CDNs, die noch keine Erfahrung damit haben, sind hier einige wichtige Begriffe aufgeführt:

Ursprung  
Ein Server, auf dem Ihre Originalinhalte gespeichert sind (wie MediaPackage Amazon S3)

Cache-Verhalten  
Regeln, die bestimmen, wie verschiedene Arten von Inhalten zwischengespeichert und bereitgestellt werden

Cache-Richtlinie  
Einstellungen, die steuern, wie lange Inhalte zwischengespeichert werden und welche Anforderungskomponenten das Caching beeinflussen

Die Vorlage erstellt eine CloudFront Distribution mit den folgenden Komponenten:
+ Drei Ursprünge:
  + Herkunft des Inhalts (MediaPackageAmazon S3 oder benutzerdefiniert)
  + MediaTailor manifestiert den Ursprung
  + MediaTailor Herkunft der Segmente
+ Verhalten mit entsprechenden Mustern zwischenspeichern:
  + Standardverhalten für Inhaltssegmente
  + Verhalten für MediaTailor Anzeigensegmente (/tm/\$1)
  + Verhalten bei MediaTailor interstitiellen Medien (/v1/i-media/\$1)
  + Verhalten bei personalisierten Manifesten (/v1/\$1)
  + Verhalten bei Segment-Umleitungsanfragen (/segment/\$1)
+ Optimierte Cache-Richtlinien für jedes Verhalten:
  + `CachingOptimized`für zwischenspeicherbare Inhalte
  + `CachingDisabled`für personalisierte Manifeste
+ Richtlinien für Origin-Anfragen, um eine korrekte Header-Weiterleitung sicherzustellen
+ Response-Header-Richtlinien für die CORS-Unterstützung

# Stellen Sie die CloudFormation Vorlage für CDN und Integrationen bereit MediaTailor
<a name="deploy-cloudformation-template"></a>

AWS Elemental MediaTailor Die Bereitstellung mithilfe der AWS CloudFormation Vorlage ist unkompliziert, sobald Sie wissen, was mit der Vorlage erstellt wird. Dieser Vorgang dauert etwa 15 bis 30 Minuten, wobei die meiste Zeit damit verbracht wird, auf die Bereitstellung der CloudFront Distribution zu warten.

Gehen Sie wie folgt vor, um die CloudFormation Vorlage bereitzustellen und Ihren automatisierten Arbeitsablauf für die Anzeigenschaltung einzurichten:

**Um die MediaTailor CloudFormation Vorlage bereitzustellen**

1. Laden Sie die CloudFormation Vorlage aus dem AWS Elemental MediaTailor GitHub Repository herunter oder kopieren Sie sie aus dem[AWS CloudFormation Vorlagenreferenz für AWS Elemental MediaTailor und CloudFront Amazon-Integration](cloudformation-template-reference.md).

1. Öffnen Sie die [CloudFormation -Konsole](https://console.aws.amazon.com/cloudformation/home).

1. Wählen Sie **Stack erstellen** > **Mit neuen Ressourcen (Standard)**.

1. Wählen **Sie unter Vorlage angeben** die Option **Vorlagendatei hochladen** aus und laden Sie die Vorlage hoch.

1. Geben Sie einen Stacknamen ein und geben Sie Werte für die erforderlichen Parameter an:
   + **AdServerUrl**: URL Ihres VAST-Werbeservers (z. B. https://*your-ad-server.com*/vast)
   + **ContentOriginDomainName**: Domainname Ihrer Inhaltsquelle ohne Protokoll (z. B.*mediapackage-domain.mediapackagev2.us-west-2.amazonaws.com*)
   + **ContentOriginType**: Wählen Sie die Art der Herkunft der Inhalte aus:
     + *mediapackagev2*: Für Ursprünge AWS Elemental MediaPackage 
     + *s3*: Für Amazon S3 S3-Bucket-Ursprünge
     + *benutzerdefiniert*: Für jeden anderen Origin-Typ

1. Überprüfen Sie die Konfiguration und wählen Sie **Stack erstellen**.

1. Warten Sie, bis die Erstellung des Stacks abgeschlossen ist, was normalerweise 5-10 Minuten dauert. Sie können den Fortschritt auf der Registerkarte **Ereignisse** überwachen.

1. Sobald Sie fertig sind, navigieren Sie zur Registerkarte **Ausgaben**, um die URLs für Ihre HLS- und DASH-Manifeste zu finden.

**Anmerkung**  
Wenn Sie den Inhalt AWS Elemental MediaPackage als Quelle verwenden, stellen Sie sicher, dass Ihre MediaPackage Endgeräte ordnungsgemäß konfiguriert und zugänglich sind. Weitere Informationen finden Sie unter [MediaPackage CDN-Integration](mediapackage-integration.md).

# Verwenden Sie die CloudFormation bereitgestellten Ressourcen für CDN und Integration MediaTailor
<a name="use-deployed-resources"></a>

AWS Elemental MediaTailor Die vom AWS CloudFormation Stapel bereitgestellten Ressourcen bieten mehrere wichtige Ergebnisse, anhand derer Sie mithilfe der Anzeigeneinfügung auf Ihre Inhalte zugreifen können. Nachdem der CloudFormation Stapel erfolgreich erstellt wurde, müssen Sie wissen, wie Sie die Ausgaben verwenden können, um auf Ihre Inhalte zuzugreifen, in die Anzeigen eingefügt wurden. Dies ist vergleichbar mit der Verwendung MediaTailor URLs bei einer manuellen Einrichtung, die CloudFormation Bereitstellung stellt diese jedoch URLs automatisch bereit.

Nach erfolgreicher Bereitstellung bietet der CloudFormation Stack mehrere wichtige Ergebnisse, die Sie für den Zugriff auf Ihre Inhalte mit Anzeigeneinblendung verwenden werden:

`CloudFrontDomainName`  
Der Domainname Ihrer CloudFront Distribution *d1234abcdef.CloudFront.net* (z. B.

`HlsManifestUrl`  
Basis-URL für HLS-Manifeste mit Anzeigeneinfügung (z. B. https://*d1234abcdef.CloudFront.net**12345*/v1/master///) *my-playback-config*

`DashManifestUrl`  
Basis-URL für DASH-Manifeste mit Anzeigeneinfügung (z. B. https:///v1/dash///) *d1234abcdef.CloudFront.net* *12345* *my-playback-config*

`MediaTailorPlaybackConfigName`  
Name der erstellten MediaTailor Wiedergabekonfiguration (z. B. *my-stack-PlaybackConfig*

## Konstruiert die Wiedergabe URLs
<a name="construct-playback-urls"></a>

Um die vollständige Wiedergabe-URL für Ihre Inhalte mit Werbung zu erstellen, müssen Sie die Basis-URL aus den CloudFormation Ausgaben mit Ihrem spezifischen Manifestpfad kombinieren. Für Rundfunkfachleute ist es wichtig, diesen Schritt zu verstehen, da er Ihre vorhandenen Inhalte mit dem System zur Anzeigeneinblendung verbindet.

1. Beginnen Sie mit der entsprechenden Manifest-URL aus den Ausgaben:

   ```
   HlsManifestUrl: https://d1234abcdef.CloudFront.net/v1/master/12345/my-playback-config/
   ```

1. Hängen Sie Ihren spezifischen Manifestpfad an:

   ```
   Your manifest path: channel/index.m3u8
   ```

1. Die vollständige Wiedergabe-URL lautet:

   ```
   https://d1234abcdef.CloudFront.net/v1/master/12345/my-playback-config/channel/index.m3u8
   ```

Verwenden Sie diese URL in Ihrem Videoplayer, um Inhalte mit dynamisch eingefügten Anzeigen abzuspielen.

**Tipp**  
Wenn Sie sich nicht sicher sind, wie Ihr Manifestpfad lauten soll, überprüfen Sie Ihren Ursprungsserver. Bei MediaPackage Origins ist dies der Pfad zum HLS- oder DASH-Manifest Ihres Endpunkts. Für Amazon S3 S3-Ursprünge ist dies der Pfad zu Ihrer Manifestdatei innerhalb des Buckets.

Weitere Informationen zur MediaTailor URL-Struktur finden Sie unter[Richten Sie die CDN-Integration ein mit MediaTailor](cdn-configuration.md).

## Konfigurieren Sie einen Videoplayer
<a name="configure-video-player"></a>

Nachdem Sie Ihre Wiedergabe-URL erhalten haben, müssen Sie einen Videoplayer für die Verwendung konfigurieren. Für Rundfunkprofis ähnelt dies der Konfiguration eines Players für einen beliebigen HLS- oder DASH-Stream, aber jetzt wird der Stream personalisierte Werbung enthalten. Hier ist ein einfaches Beispiel mit dem beliebten HLS.js  Player:

```
<!DOCTYPE html>
<html>
<head>
    <title>MediaTailor Playback Example</title>
    <script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
</head>
<body>
    <video id="video" controls style="width: 640px; height: 360px;"></video>
    
    <script>
        const video = document.getElementById('video');
        const mediaUrl = 'https://<replaceable>d1234abcdef.CloudFront.net</replaceable>/v1/master/<replaceable>12345</replaceable>/<replaceable>my-playback-config</replaceable>/<replaceable>channel/index.m3u8</replaceable>';
        
        if (Hls.isSupported()) {
            const hls = new Hls();
            hls.loadSource(mediaUrl);
            hls.attachMedia(video);
        } else if (video.canPlayType('application/vnd.apple.mpegurl')) {
            video.src = mediaUrl;
        }
    </script>
</body>
</html>
```

Sie können auch professionelle Broadcast-Player verwenden wie:
+ JW-Spieler
+ Bitmovin-Spieler
+ THEOplayer
+ Video.js

Weitere Informationen zur Player-Integration mit finden Sie MediaTailor unter. [MediaTailor Anforderungen an die Ad-Server-Integration](vast.md)

# Testen und validieren Sie Ihre CloudFormation Bereitstellung für CDN und Integration MediaTailor
<a name="test-validate-deployment"></a>

AWS Elemental MediaTailor Die Validierung der Bereitstellung ist für Rundfunkfachleute ein wichtiger Schritt, bevor sie live gehen. In diesem Abschnitt erfahren Sie, wie Sie Ihre Implementierung testen, um sicherzustellen, dass Anzeigen ordnungsgemäß eingefügt und Inhalte reibungslos bereitgestellt werden.

Gehen Sie nach der Bereitstellung der CloudFormation Vorlage wie folgt vor, um sicherzustellen, dass Ihre Einrichtung ordnungsgemäß funktioniert:

**Um Ihre CloudFront Landintegration MediaTailor zu testen**

1. Stellen Sie sicher, dass alle Ressourcen erfolgreich in der CloudFormation Konsole erstellt wurden.

1. Vergewissern Sie sich, dass die MediaTailor Wiedergabekonfiguration in der [MediaTailor Konsole](https://console.aws.amazon.com/mediatailor/home) aktiv ist.

1. Stellen Sie sicher, dass die CloudFront Distribution in der [CloudFront Konsole](https://console.aws.amazon.com/CloudFront/home) bereitgestellt und aktiviert ist.

1. Testen Sie die Wiedergabe anhand eines Beispielmanifests:

   1. Konstruieren Sie die vollständige Wiedergabe-URL wie unter beschrieben[Konstruiert die Wiedergabe URLs](use-deployed-resources.md#construct-playback-urls).

   1. Verwenden Sie einen Videoplayer, der HLS oder DASH unterstützt (wie VLC, JW Player oder den AWS Konsolenplayer).

   1. Vergewissern Sie sich, dass Inhalte wiedergegeben und Werbeanzeigen an den erwarteten Unterbrechungspunkten eingefügt werden.

1. Überprüfen Sie die MediaTailor Anmeldedaten CloudWatch auf Fehler beim Einfügen von Anzeigen.

Achten Sie beim Testen der Anzeigeneinblendung auf die folgenden Erfolgsindikatoren:
+ Reibungslose Übergänge zwischen Inhalten und Anzeigen
+ Anzeigen erscheinen an den erwarteten Breakpoints (Pre-Roll, Mid-Roll, Post-Roll)
+ Die Qualität der Anzeige entspricht der Qualität der Inhalte
+ Keine Puffer- oder Wiedergabefehler bei Anzeigenübergängen

Ausführlichere Testverfahren finden Sie unter[Das Verhalten bei der AWS Elemental MediaTailor Anzeigeneinblendung verstehen](ad-behavior.md). Umfassende CDN-Integrationstests und -validierungen finden Sie unter[Testen und Validieren für CDN und Integrationen MediaTailor](cdn-integration-testing.md).

# Beheben Sie häufig auftretende Probleme bei der CloudFormation Bereitstellung von CDN und Integrationen MediaTailor
<a name="troubleshoot-deployment-issues"></a>

AWS Elemental MediaTailor Probleme bei der Bereitstellung können selbst bei der Automatisierung während der Bereitstellung oder Wiedergabe auftreten. Wenn Sie als Broadcast-Profi wissen, wie Sie diese Probleme beheben können, können Sie einen zuverlässigen Streaming-Dienst mit Werbeeinblendung aufrechterhalten.

Wenn Sie Probleme mit Ihrer CloudFormation Bereitstellung oder der daraus resultierenden MediaTailor CloudFront Integration haben, finden Sie Informationen zu diesen häufig auftretenden Problemen und Lösungen:

## CloudFormation Probleme bei der Bereitstellung
<a name="deployment-troubleshooting"></a>

Die Stack-Erstellung schlägt mit dem Fehler „Ressourcenerstellung fehlgeschlagen“ fehl  
**Mögliche Ursachen:**  
+ Ungültiges Format des Domainnamens für den Ursprung des Inhalts
+ Unzureichende Berechtigungen zum Erstellen von Ressourcen
**Lösung:** Überprüfen Sie den spezifischen Ressourcenfehler auf der Registerkarte CloudFormation Ereignisse. Stellen Sie sicher, dass der Domainname für den Ursprung des Inhalts korrekt formatiert ist und keine Protokollpräfixe oder Pfade enthält. Stellen Sie sicher, dass Ihre IAM-Rolle über ausreichende Berechtigungen verfügt, um alle erforderlichen Ressourcen zu erstellen.

CloudFront Die Bereitstellung nimmt viel Zeit in Anspruch  
**Ursache:** Die vollständige Bereitstellung von CloudFront Distributionen dauert in der Regel 15 bis 30 Minuten.  
**Lösung:** Das ist ein normales Verhalten. Warten Sie, bis die Distribution den Status „Bereitgestellt“ erreicht hat, bevor Sie den Test durchführen.

## Probleme bei der Wiedergabe und beim Einfügen von Anzeigen
<a name="playback-troubleshooting"></a>

Inhalte werden abgespielt, aber es werden keine Anzeigen eingefügt  
**Mögliche Ursachen:**  
+ Der Anzeigenentscheidungsserver reagiert nicht oder gibt leeres VAST zurück
+ Der Inhalt enthält keine Werbemarkierungen
**Lösung:** Stellen Sie sicher, dass Ihr Anzeigenserver zugänglich ist und gültige VAST-Antworten zurückgibt. Vergewissern Sie sich, dass Ihre Inhalte über die richtigen Werbemarkierungen verfügen (SCTE-35-Markierungen für Live-Inhalte oder Ad-Break-Tags für VOD).

403 Unzulässige Fehler beim Zugriff auf Inhalte  
**Mögliche Ursachen:**  
+ Die Origin-Zugriffskontrolle ist nicht richtig konfiguriert
+ Probleme mit Origin-Bucket- oder Endpunktberechtigungen
**Lösung:** Stellen Sie für Amazon S3 S3-Ursprünge sicher, dass die Bucket-Richtlinie den Zugriff über die CloudFront Distribution zulässt. Überprüfen Sie bei MediaPackage Origins, ob die Origin-Zugriffskontrolle richtig konfiguriert ist und ob auf den Endpunkt zugegriffen werden kann.

Wiedergabefehler oder Pufferung  
**Mögliche Ursachen:**  
+ Pfadmuster im Cache stimmen nicht mit Inhaltspfaden überein
+ Falsche Konfiguration der Ursprungsdomäne
**Lösung:** Stellen Sie sicher, dass Ihr Cache-Verhalten die richtigen Pfadmuster aufweist, um Anfragen an die entsprechenden Ursprünge weiterzuleiten. Überprüfen Sie die CloudFront Protokolle, um zu sehen, welcher Ursprung die Anfragen bearbeitet, und stellen Sie sicher, dass es sich um den erwarteten Ursprung handelt.

Für Rundfunkfachleute können diese zusätzlichen Tipps zur Fehlerbehebung hilfreich sein:
+ Verwenden Sie Amazon CloudWatch Logs Insights, um nach bestimmten Fehlermustern in MediaTailor Protokollen zu suchen
+ Testen Sie zuerst mit einem einfachen VAST-Anzeigenserver (wie dem in der Vorlage bereitgestellten Standardserver), bevor Sie Ihren Produktionsanzeigenserver verwenden
+ Überprüfen Sie die Anzeigenmarkierungen Ihrer Inhalte mithilfe des MediaTailor Manifest-Inspector-Tool in der Konsole
+ Überprüfen Sie den Netzwerkverkehr in den Entwicklertools Ihres Browsers, um festzustellen, ob Anfragen an den Anzeigenserver korrekt gestellt werden

Weitere Informationen zur Fehlerbehebung finden Sie in den CloudWatch Protokollen für beide MediaTailor und CloudFront um spezifische Fehler zu identifizieren. 

# Passen Sie die CloudFormation Vorlage für CDN und MediaTailor Integrationen an
<a name="customize-cloudformation-template"></a>

AWS Elemental MediaTailor Die Anpassung der Vorlage ermöglicht es Rundfunkfachleuten, die AWS CloudFormation Vorlage an spezifische Workflow-Anforderungen anzupassen. Obwohl die Basisvorlage für viele Szenarien geeignet ist, können Ihnen diese Anpassungen dabei helfen, komplexere Anforderungen zu erfüllen.

Die folgenden Beispiele zeigen YAML-Codefragmente, die Sie der Vorlage hinzufügen können. Wenn Sie mit YAML oder der CloudFormation Syntax nicht vertraut sind, sollten Sie erwägen, mit einem Entwickler oder AWS Lösungsarchitekten zusammenzuarbeiten, um diese Änderungen vorzunehmen.

Sie können die CloudFormation Vorlage an Ihre spezifischen Workflow-Anforderungen anpassen.

## Ursprünge hinzufügen oder ändern
<a name="add-modify-origins"></a>

Für Broadcast-Workflows, die mehrere Inhaltsquellen verwenden (wie Primär- und Backup-Quellen oder verschiedene Inhaltsbibliotheken), können Sie Ihrer CloudFront Distribution zusätzliche Ursprünge hinzufügen:

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

Fügen Sie dann ein entsprechendes Cache-Verhalten hinzu, um bestimmte Muster an diesen Ursprung weiterzuleiten:

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

## Erstellen Sie benutzerdefinierte Cache-Richtlinien
<a name="create-custom-cache-policies"></a>

Für Broadcast-Workflows mit bestimmten Caching-Anforderungen (wie Qualitätsauswahlparameter oder Zuschauerauthentifizierung) können Sie benutzerdefinierte Cache-Richtlinien erstellen, anstatt die verwalteten zu verwenden. Eine ausführliche Anleitung zu TTL-Werten und Caching-Strategien finden Sie unter. [Caching-Optimierung für CDN und Integrationen 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
```

## Konfiguration verbessern MediaTailor
<a name="enhance-mediatailor-config"></a>

Für Broadcast-Workflows, für die erweiterte Funktionen zum Einfügen von Anzeigen erforderlich sind, können Sie die MediaTailor Konfiguration um Optionen wie Anzeigenvorabruf (zur Verringerung der Latenz), Schwellenwerte für Personalisierung und Bumper-Anzeigen erweitern.

```
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...
```

Weitere Informationen MediaTailor zu Konfigurationsoptionen finden Sie unter. [AWS Elemental MediaTailor Zum Einfügen von Anzeigen verwenden](configurations.md)

## Fügen Sie Sicherheitsfunktionen hinzu
<a name="add-security-features"></a>

Für Broadcast-Workflows mit bestimmten Sicherheitsanforderungen (wie geografische Einschränkungen oder Schutz vor DDo S-Angriffen) können Sie AWS WAF Integrations- und geografische Einschränkungen hinzufügen:

```
# 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...
```

[Weitere Informationen zu CloudFormation Vorlagen finden Sie im Benutzerhandbuch.AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html)

Broadcast-spezifische CloudFormation Vorlagen und Beispiele finden Sie im [AWS Media Services](https://github.com/aws-samples/aws-media-services-tools) Tools-Repository. GitHub 

# AWS CloudFormation Vorlagenreferenz für AWS Elemental MediaTailor und CloudFront Amazon-Integration
<a name="cloudformation-template-reference"></a>

AWS Elemental MediaTailor Die Integration mit Amazon CloudFront kann mithilfe der folgenden vollständigen AWS CloudFormation Vorlage automatisiert werden:

```
AWSTemplateFormatVersion: '2010-09-09'
Description: | CloudFormation template that sets up AWS Elemental MediaTailor integration with CloudFront Distribution
  for server-side ad insertion. This template supports various content origins including MediaPackage, Amazon S3,
  and custom origins, making it versatile for different streaming architectures.

Parameters:
  AdServerUrl:
    Type: String
    Default: 'https://d1kbmkziz9rksx.CloudFront.net/VASTEndpoint.xml'
    Description: URL of the VAST ad server for dynamic ad insertion. Static VAST endpoint provided for testing. 

  ContentOriginDomainName:
    Type: String
    Description: |
      Domain name of your content origin without protocol (e.g., mediapackage-domain.mediapackagev2.us-west-2.amazonaws.com,
      mybucket.s3.amazonaws.com, or custom-origin.example.com).
      Do not include http:// or https:// prefixes or any paths.
    AllowedPattern: "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])$"
    ConstraintDescription: Must be a valid domain name (e.g., example.com) without protocol or path components. IP addresses are not allowed.

  ContentOriginType:
    Type: String
    AllowedValues:
      - mediapackagev2
      - s3
      - custom
    Default: mediapackagev2
    Description: |
      The type of content origin:
      - mediapackagev2: AWS Elemental MediaPackage V2
      - s3: Amazon S3 bucket
      - custom: Any other custom origin

Resources:
  #---------------------------------------------------------------------------
  # Origin Access Control (for securing MediaPackage V2 and Amazon S3 origins)
  #---------------------------------------------------------------------------
  CloudFrontOriginAccessControl:
    Type: AWS::CloudFront::OriginAccessControl
    Condition: IsNotCustomOrigin
    Properties:
      OriginAccessControlConfig:
        Name: !Sub '${AWS::StackName}-OAC'
        OriginAccessControlOriginType: !Ref ContentOriginType
        SigningBehavior: always
        SigningProtocol: sigv4
        Description: Origin Access Control for content origin

  #---------------------------------------------------------------------------
  # MediaTailor Playback Configuration
  #---------------------------------------------------------------------------
  MediaTailorPlaybackConfig:
    Type: AWS::MediaTailor::PlaybackConfiguration
    Properties:
      Name: !Sub '${AWS::StackName}-PlaybackConfig'
      # The video content source should point to your CloudFront distribution
      VideoContentSourceUrl: !Sub 'https://${CloudFrontDistribution.DomainName}/'
      # The Ad Decision Server URL is where MediaTailor will request ads
      AdDecisionServerUrl: !Ref AdServerUrl
      # Configuration for pre-roll ads during live streams
      LivePreRollConfiguration:
        AdDecisionServerUrl: !Ref AdServerUrl
        MaxDurationSeconds: 30
      # CDN configuration for integrating with CloudFront
      CdnConfiguration:
        AdSegmentUrlPrefix: '/'
        ContentSegmentUrlPrefix: '/'
      # Set a reasonable manifest segment timeout
      ManifestProcessingRules:
        AdMarkerPassthrough:
          Enabled: false

  #---------------------------------------------------------------------------
  # CloudFront Distribution
  #---------------------------------------------------------------------------
  CloudFrontDistribution:
    Type: AWS::CloudFront::Distribution
    Properties:
      DistributionConfig:
        Enabled: true
        HttpVersion: http2and3
        IPV6Enabled: true
        Comment: !Sub 'Distribution for MediaTailor ad insertion with ${ContentOriginType} origin'
        
        # Default cache behavior points to the content origin
        DefaultCacheBehavior:
          TargetOriginId: ContentOrigin
          ViewerProtocolPolicy: 'https-only'
          # Using managed policies for optimal performance and simplicity
          CachePolicyId: 658327ea-f89d-4fab-a63d-7e88639e58f6  # Managed-CachingOptimized
          OriginRequestPolicyId: 88a5eaf4-2fd4-4709-b370-b4c650ea3fcf # Managed-HostHeaderOnly
          ResponseHeadersPolicyId: eaab4381-ed33-4a86-88ca-d9558dc6cd63  # Managed-CORS-with-preflight-and-SecurityHeadersPolicy
          Compress: true
        
        # Define all the origins needed for the workflow
        Origins:
          # Main content origin (MediaPackage, Amazon S3, or Custom)
          - Id: ContentOrigin
            DomainName: !Ref ContentOriginDomainName
            # Apply Origin Access Control for secure origins
            OriginAccessControlId: !If [IsNotCustomOrigin, !GetAtt CloudFrontOriginAccessControl.Id, !Ref "AWS::NoValue"]
            # For custom origins, we need a CustomOriginConfig
            CustomOriginConfig:
              OriginProtocolPolicy: 'https-only'
              OriginSSLProtocols: 
                - TLSv1.2
              OriginKeepaliveTimeout: 5
              OriginReadTimeout: 30
              HTTPPort: 80
              HTTPSPort: 443
              
          # MediaTailor Manifests Origin - handles manifest manipulation for ad insertion
          - Id: MediaTailorManifests
            DomainName: !Sub 'manifests.mediatailor.${AWS::Region}.amazonaws.com'
            CustomOriginConfig:
              OriginProtocolPolicy: 'https-only'
              OriginSSLProtocols: 
                - TLSv1.2
              OriginKeepaliveTimeout: 5
              OriginReadTimeout: 30
            # Origin Shield improves caching efficiency 
            OriginShield:
              Enabled: true
              OriginShieldRegion: !Ref AWS::Region
              
          # MediaTailor Segments Origin - handles personalized ads
          - Id: MediaTailorSegments
            DomainName: !Sub 'segments.mediatailor.${AWS::Region}.amazonaws.com'
            CustomOriginConfig:
              OriginProtocolPolicy: 'https-only'
              OriginSSLProtocols: 
                - TLSv1.2
              OriginKeepaliveTimeout: 5
              OriginReadTimeout: 30
        
        # Cache behaviors to route specific request patterns to the right origin
        CacheBehaviors:
          # Handle MediaTailor segment requests for ad content which are cache-able
          - PathPattern: '/tm/*'
            TargetOriginId: MediaTailorSegments
            ViewerProtocolPolicy: 'https-only'
            CachePolicyId: 658327ea-f89d-4fab-a63d-7e88639e58f6  # Managed-CachingOptimized
            OriginRequestPolicyId: 88a5eaf4-2fd4-4709-b370-b4c650ea3fcf  # Managed-HostHeaderOnly
            ResponseHeadersPolicyId: eaab4381-ed33-4a86-88ca-d9558dc6cd63  # Managed-CORS-with-preflight-and-SecurityHeadersPolicy
            Compress: true
            
          # Handle MediaTailor interstitial (SGAI) media requests which are cache-able
          - PathPattern: '/v1/i-media/*'
            TargetOriginId: MediaTailorManifests
            ViewerProtocolPolicy: 'https-only'
            CachePolicyId: 658327ea-f89d-4fab-a63d-7e88639e58f6  # Managed-CachingOptimized
            OriginRequestPolicyId: 88a5eaf4-2fd4-4709-b370-b4c650ea3fcf  # Managed-HostHeaderOnly
            ResponseHeadersPolicyId: eaab4381-ed33-4a86-88ca-d9558dc6cd63  # Managed-CORS-with-preflight-and-SecurityHeadersPolicy
            Compress: true
            
          # Handle MediaTailor Personalized manifests which are not cache-able
          - PathPattern: '/v1/*'
            TargetOriginId: MediaTailorManifests
            ViewerProtocolPolicy: 'https-only'
            CachePolicyId: 4135ea2d-6df8-44a3-9df3-4b5a84be39ad # Managed-CachingDisabled
            OriginRequestPolicyId: 59781a5b-3903-41f3-afcb-af62929ccde1 # Managed-AllViewer
            ResponseHeadersPolicyId: eaab4381-ed33-4a86-88ca-d9558dc6cd63  # Managed-CORS-with-preflight-and-SecurityHeadersPolicy
            Compress: true
            
          # Handle MediaTailor segment *redirect* requests which are not cache-able (used for server side reporting)
          - PathPattern: '/segment/*'
            TargetOriginId: MediaTailorManifests
            ViewerProtocolPolicy: 'https-only'
            CachePolicyId: 4135ea2d-6df8-44a3-9df3-4b5a84be39ad # Managed-CachingDisabled
            OriginRequestPolicyId: 59781a5b-3903-41f3-afcb-af62929ccde1 # Managed-AllViewer
            ResponseHeadersPolicyId: eaab4381-ed33-4a86-88ca-d9558dc6cd63  # Managed-CORS-with-preflight-and-SecurityHeadersPolicy
            Compress: true

Conditions:
  IsNotCustomOrigin: !Not [!Equals [!Ref ContentOriginType, 'custom']]

Outputs:
  CloudFrontDomainName:
    Description: Domain name of the CloudFront distribution
    Value: !GetAtt CloudFrontDistribution.DomainName
    
  HlsManifestUrl:
    Description: URL for HLS manifest with ads inserted (append your manifest path)
    Value: !Sub 'https://${CloudFrontDistribution.DomainName}${MediaTailorPlaybackConfig.HlsConfiguration.ManifestEndpointPrefix}'
    
  DashManifestUrl:
    Description: URL for DASH manifest with ads inserted (append your manifest path)
    Value: !Sub 'https://${CloudFrontDistribution.DomainName}${MediaTailorPlaybackConfig.DashConfiguration.ManifestEndpointPrefix}'
    
  MediaTailorPlaybackConfigName:
    Description: Name of the MediaTailor playback configuration
    Value: !Ref MediaTailorPlaybackConfig
```