

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.

# Erstellen Sie einen Managed Service für die Apache Flink-Anwendung
<a name="how-creating-apps"></a>

Dieses Thema enthält Informationen zum Erstellen einer Managed Service für Apache Flink-Anwendung.

**Topics**
+ [Erstellen Sie Ihren Anwendungscode für Managed Service für Apache Flink](#how-creating-apps-building)
+ [Erstellen Sie Ihre Managed Service für Apache Flink-Anwendung](#how-creating-apps-creating)
+ [Verwenden Sie vom Kunden verwaltete Schlüssel](#how-creating-apps-use-cmk)
+ [Starten Sie Ihre Managed Service for Apache Flink-Anwendung](#how-creating-apps-starting)
+ [Überprüfen Sie Ihre Anwendung Managed Service für Apache Flink](#how-creating-apps-verifying)
+ [Aktivieren Sie System-Rollbacks für Ihre Managed Service for Apache Flink-Anwendung](how-system-rollbacks.md)

## Erstellen Sie Ihren Anwendungscode für Managed Service für Apache Flink
<a name="how-creating-apps-building"></a>

In diesem Abschnitt werden die Komponenten beschrieben, mit denen Sie den Anwendungscode für Ihre Managed Service for Apache Flink-Anwendung erstellen. 

Es wird empfohlen, die neueste unterstützte Version von Apache Flink für Ihren Anwendungscode zu verwenden. Informationen zur Aktualisierung von Managed Service für Apache Flink-Anwendungen finden Sie unter [Verwenden Sie direkte Versionsupgrades für Apache Flink](how-in-place-version-upgrades.md). 

Sie erstellen Ihren Anwendungscode mit [Apache Maven](https://maven.apache.org/). Ein Apache Maven-Projekt verwendet eine `pom.xml`-Datei, um die Versionen der verwendeten Komponenten anzugeben. 

**Anmerkung**  
Managed Service für Apache Flink unterstützt JAR-Dateien mit einer Größe von bis zu 512 MB. Wenn Sie eine größere JAR-Datei verwenden, kann Ihre Anwendung nicht gestartet werden.

Anwendungen können jetzt die Java-API von jeder Scala-Version aus verwenden. Sie müssen die Scala-Standardbibliothek Ihrer Wahl in Ihre Scala-Anwendungen integrieren.

Informationen zum Erstellen einer Managed-Service-für-Apache-Flink-Anwendung, die **Apache Beam** verwendet, finden Sie unter [Verwenden Sie Apache Beam mit Managed Service für Apache Flink-Anwendungen](how-creating-apps-beam.md).

### Geben Sie die Apache Flink-Version Ihrer Anwendung an
<a name="how-creating-apps-building-flink"></a>

Wenn Sie Managed Service für Apache Flink Laufzeit Version 1.1.0 und höher verwenden, geben Sie die Version von Apache Flink an, die Ihre Anwendung verwendet, wenn Sie Ihre Anwendung kompilieren. Sie geben die Version von Apache Flink mit dem Parameter an`-Dflink.version`. Wenn Sie beispielsweise Apache Flink 2.2.0 verwenden, geben Sie Folgendes an:

```
mvn package -Dflink.version=2.2.0
```

Informationen zum Erstellen von Anwendungen mit früheren Versionen von Apache Flink finden Sie unter. [Frühere Versionen](earlier.md)

## Erstellen Sie Ihre Managed Service für Apache Flink-Anwendung
<a name="how-creating-apps-creating"></a>

Nachdem Sie Ihren Anwendungscode erstellt haben, gehen Sie wie folgt vor, um Ihre Managed Service for Apache Flink (Amazon MSF) -Anwendung zu erstellen:
+ **Laden Sie Ihren Anwendungscode hoch**: Laden Sie Ihren Anwendungscode in einen Amazon-S3-Bucket hoch. Geben Sie beim Erstellen Ihrer Anwendung den S3-Bucket-Namen und den Objektnamen Ihres Anwendungscodes an. Ein Tutorial, das zeigt, wie Sie Ihren Anwendungscode hochladen, finden Sie im [Tutorial: Erste Schritte mit der DataStream API in Managed Service für Apache Flink](getting-started.md) Tutorial.
+ **Erstellen Sie Ihre Managed Service for Apache Flink-Anwendung**: Verwenden Sie eine der folgenden Methoden, um Ihre Amazon MSF-Anwendung zu erstellen:
**Anmerkung**  
Amazon MSF verschlüsselt Ihre Anwendung standardmäßig mit. AWS-eigene Schlüssel Sie können Ihre neue Anwendung auch mithilfe von vom AWS KMS Kunden verwalteten Schlüsseln (CMKs) erstellen, um Ihre Schlüssel selbst zu erstellen, zu besitzen und zu verwalten. Informationen zu finden CMKs Sie unter[Schlüsselverwaltung in Amazon Managed Service für Apache Flink](key-management-flink.md).
  + **Erstellen Sie Ihre Amazon MSF-Anwendung mit der AWS Konsole:** Sie können Ihre Anwendung mithilfe der AWS Konsole erstellen und konfigurieren. 

    Wenn Sie Ihre Anwendung mithilfe der Konsole erstellen, werden die von Ihrer Anwendung abhängigen Ressourcen (wie CloudWatch Log-Streams, IAM-Rollen und IAM-Richtlinien) für Sie erstellt. 

    Wenn Sie die Anwendung mithilfe der Konsole erstellen, geben Sie an, welche Version von Apache Flink Ihre Anwendung verwendet, indem Sie sie aus dem Pulldown-Menü auf der Seite **Managed– Service für Apache Flink Anwendung erstellen** auswählen. 

    Ein Tutorial zur Verwendung der Konsole zum Erstellen einer Anwendung finden Sie im [Tutorial: Erste Schritte mit der DataStream API in Managed Service für Apache Flink](getting-started.md) Tutorial.
  + **Erstellen Sie Ihre Amazon MSF-Anwendung mit der AWS CLI:** Sie können Ihre Anwendung mithilfe der AWS CLI erstellen und konfigurieren. 

    Wenn Sie Ihre Anwendung mithilfe der CLI erstellen, müssen Sie auch die abhängigen Ressourcen Ihrer Anwendung (wie CloudWatch Log-Streams, IAM-Rollen und IAM-Richtlinien) manuell erstellen.

    Wenn Sie Ihre Anwendung mit der CLI erstellen, geben Sie mithilfe des `RuntimeEnvironment`-Aktionsparameters der `CreateApplication`-Aktion an, welche Version von Apache Flink Ihre Anwendung verwendet.
**Anmerkung**  
Sie können die `RuntimeEnvironment` einer vorhandenen Anwendung ändern. Um zu erfahren wie dies geht, vgl. [Verwenden Sie direkte Versionsupgrades für Apache Flink](how-in-place-version-upgrades.md).

## Verwenden Sie vom Kunden verwaltete Schlüssel
<a name="how-creating-apps-use-cmk"></a>

In Amazon MSF sind vom Kunden verwaltete Schlüssel (CMKs) eine Funktion, mit der Sie die Daten Ihrer Anwendung mit einem Schlüssel verschlüsseln können, den Sie auf AWS Key Management Service (AWS KMS) erstellen, besitzen und verwalten. Für eine Amazon MSF-Anwendung bedeutet dies, dass alle Daten, die einem [Flink-Checkpoint](how-fault.md) oder [-Snapshot](how-snapshots.md) unterliegen, mit einem CMK verschlüsselt werden, den Sie für diese Anwendung definieren.

Um CMK mit Ihrer Anwendung zu verwenden, müssen Sie zuerst [Ihre neue Anwendung erstellen](#how-creating-apps-creating) und dann eine CMK anwenden. Weitere Informationen zur Verwendung CMKs finden Sie unter. [Schlüsselverwaltung in Amazon Managed Service für Apache Flink](key-management-flink.md)

## Starten Sie Ihre Managed Service for Apache Flink-Anwendung
<a name="how-creating-apps-starting"></a>

Nachdem Sie Ihren Anwendungscode erstellt, in S3 hochgeladen und Ihre Managed Service für Apache Flink-Anwendung erstellt haben, starten Sie die Anwendung. Das Starten einer Anwendung Managed Service für Apache Flink dauert in der Regel mehrere Minuten.

Verwenden Sie eine der folgenden Methoden, um die Anwendung zu starten:
+ **Starten Sie Ihre Managed Service for Apache Flink-Anwendung über die AWS Konsole:** Sie können Ihre Anwendung ausführen, indem Sie auf der Seite Ihrer Anwendung in der AWS Konsole auf **Ausführen** klicken.
+ **Starten Sie Ihre Managed Service for Apache Flink-Anwendung mithilfe der AWS API:** Sie können Ihre Anwendung mithilfe der [StartApplication](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_StartApplication.html)Aktion ausführen. 

## Überprüfen Sie Ihre Anwendung Managed Service für Apache Flink
<a name="how-creating-apps-verifying"></a>

Sie können auf folgende Arten überprüfen, ob die Anwendung funktioniert:
+ **Verwendung von CloudWatch Protokollen:** Sie können CloudWatch Logs and CloudWatch Logs Insights verwenden, um zu überprüfen, ob Ihre Anwendung ordnungsgemäß ausgeführt wird. Informationen zur Verwendung von CloudWatch Logs mit Ihrer Managed Service for Apache Flink-Anwendung finden Sie unter[Protokollierung und Überwachung in Amazon Managed Service für Apache Flink](monitoring-overview.md).
+ **Verwenden von CloudWatch Metriken:** Sie können CloudWatch Metriken verwenden, um die Aktivität Ihrer Anwendung oder die Aktivitäten in den Ressourcen zu überwachen, die Ihre Anwendung für die Eingabe oder Ausgabe verwendet (wie Kinesis-Streams, Firehose-Streams oder Amazon S3 S3-Buckets). Weitere Informationen zu CloudWatch Metriken finden Sie unter [Arbeiten mit Metriken](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) im CloudWatch Amazon-Benutzerhandbuch.
+ **Überwachung der Ausgabespeicherorte:** Wenn Ihre Anwendung die Ausgabe an einen Speicherort schreibt (z. B. einen Amazon S3-Bucket oder eine Datenbank), können Sie diesen Speicherort auf geschriebene Daten überwachen.

# Aktivieren Sie System-Rollbacks für Ihre Managed Service for Apache Flink-Anwendung
<a name="how-system-rollbacks"></a>

Mit der System-Rollback-Funktion können Sie eine höhere Verfügbarkeit Ihrer laufenden Apache Flink-Anwendung auf Amazon Managed Service for Apache Flink erreichen. Wenn Sie sich für diese Konfiguration entscheiden, kann der Service die Anwendung automatisch auf die zuvor ausgeführte Version zurücksetzen, wenn eine Aktion wie Code `UpdateApplication` - oder `autoscaling` Konfigurationsfehler auftritt.

**Anmerkung**  
Um die System-Rollback-Funktion nutzen zu können, müssen Sie sich anmelden, indem Sie Ihre Anwendung aktualisieren. Bestehende Anwendungen verwenden standardmäßig nicht automatisch das System-Rollback.

## Funktionsweise
<a name="how-rollback-works"></a>

Wenn Sie einen Anwendungsvorgang starten, z. B. eine Aktualisierungs- oder Skalierungsaktion, versucht der Amazon Managed Service für Apache Flink zunächst, diesen Vorgang auszuführen. Wenn Probleme erkannt werden, die den Erfolg des Vorgangs verhindern, wie z. B. Codefehler oder unzureichende Berechtigungen, leitet der Service automatisch einen Vorgang ein. `RollbackApplication`

Beim Rollback wird versucht, die Anwendung auf die vorherige Version, die erfolgreich ausgeführt wurde, zusammen mit dem zugehörigen Anwendungsstatus wiederherzustellen. Wenn das Rollback erfolgreich ist, setzt Ihre Anwendung die Datenverarbeitung mit minimaler Ausfallzeit mit der vorherigen Version fort. Wenn das automatische Rollback ebenfalls fehlschlägt, versetzt Amazon Managed Service for Apache Flink die Anwendung in den `READY` Status, sodass Sie weitere Maßnahmen ergreifen können, einschließlich der Behebung des Fehlers und der Wiederholung des Vorgangs. 

Sie müssen sich für automatische System-Rollbacks anmelden. Ab diesem Zeitpunkt können Sie es über die Konsole oder API für alle Operationen in Ihrer Anwendung aktivieren. 

Die folgende Beispielanforderung für die `UpdateApplication` Aktion ermöglicht System-Rollbacks für eine Anwendung:

```
{
   "ApplicationName": "MyApplication",
   "CurrentApplicationVersionId": 1,
   "ApplicationConfigurationUpdate": { 
      "ApplicationSystemRollbackConfigurationUpdate": { 
         "RollbackEnabledUpdate": "true"
       }
    }
}
```

## Sehen Sie sich gängige Szenarien für automatisches System-Rollback an
<a name="common-scenarios"></a>

Die folgenden Szenarien veranschaulichen, in welchen Bereichen automatische System-Rollbacks von Vorteil sind:
+ **Anwendungsupdates:** Wenn Sie Ihre Anwendung mit neuem Code aktualisieren, der Fehler aufweist, wenn Sie den Flink-Job über die Hauptmethode initialisieren, ermöglicht das automatische Rollback die Wiederherstellung der vorherigen Arbeitsversion. Zu den weiteren Aktualisierungsszenarien, in denen System-Rollbacks hilfreich sind, gehören:
  + [Wenn Ihre Anwendung so aktualisiert wurde, dass sie mit einer höheren Parallelität als MaxParallelism ausgeführt wird.](https://docs.aws.amazon.com/managed-flink/latest/java/how-scaling.html#how-scaling-auto)
  + Wenn Ihre Anwendung so aktualisiert wird, dass sie mit falschen Subnetzen für eine VPC-Anwendung läuft, führt dies zu einem Fehler beim Start des Flink-Jobs. 
+ **Upgrades der Flink-Version:** Wenn Sie auf eine neue Apache Flink-Version aktualisieren und bei der aktualisierten Anwendung ein Snapshot-Kompatibilitätsproblem auftritt, können Sie mit dem System-Rollback automatisch zur vorherigen Flink-Version zurückkehren. 
+ **AutoScaling:** Wenn die Anwendung hochskaliert, aber Probleme bei der Wiederherstellung von einem Savepoint auftreten, weil die Operatoren zwischen dem Snapshot und dem Flink-Job-Diagramm nicht übereinstimmen.

## Verwenden Sie den Vorgang für System-Rollbacks APIs
<a name="operation-apis"></a>

Um für mehr Transparenz zu sorgen, bietet Amazon Managed Service für Apache Flink zwei Funktionen, die sich auf Anwendungsvorgänge APIs beziehen und Ihnen helfen können, Fehler und damit verbundene System-Rollbacks nachzuverfolgen.

`ListApplicationOperations`

Diese API listet alle in der Anwendung ausgeführten Operationen, einschließlich, und anderer `UpdateApplication` `Maintenance``RollbackApplication`, in umgekehrter chronologischer Reihenfolge auf. In der folgenden Beispielanforderung für die `ListApplicationOperations` Aktion werden die ersten 10 Anwendungsvorgänge für die Anwendung aufgeführt:

```
{
   "ApplicationName": "MyApplication",
   "Limit": 10
}
```

Die folgende Beispielanforderung für `ListApplicationOperations` hilft dabei, die Liste nach früheren Updates für die Anwendung zu filtern:

```
{
   "ApplicationName": "MyApplication",
   "operation": "UpdateApplication"
}
```

`DescribeApplicationOperation`

Diese API bietet detaillierte Informationen zu einem bestimmten Vorgang, der unter aufgeführt ist`ListApplicationOperations`, einschließlich der Fehlerursache, falls zutreffend. Die folgende Beispielanforderung für die `DescribeApplicationOperation` Aktion listet Details für einen bestimmten Anwendungsvorgang auf:

```
{
   "ApplicationName": "MyApplication",
   "OperationId": "xyzoperation"
}
```

Informationen zur Problembehebung finden Sie unter [Bewährte Methoden für das Rollback von Systemen](troubleshooting-system-rollback.md).