

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Implémenter la tolérance aux pannes dans le service géré pour Apache Flink
<a name="how-fault"></a>

Le point de contrôle est la méthode utilisée pour implémenter la tolérance aux pannes dans le service géré Amazon pour Apache Flink. Un *point de contrôle* est une up-to-date sauvegarde d'une application en cours d'exécution qui est utilisée pour effectuer une restauration immédiate en cas d'interruption ou de basculement imprévu d'une application. 

Pour plus de détails sur le point de contrôle dans les applications Apache Flink, voir [Points de contrôle](https://nightlies.apache.org/flink/flink-docs-release-1.19/docs/ops/state/checkpoints/) dans la documentation d'Apache Flink.

Un *instantané* est une sauvegarde créée et gérée manuellement de l’état de l’application. Les instantanés vous permettent de restaurer l’état antérieur de votre application en appelant [https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html](https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html). Pour de plus amples informations, veuillez consulter [Gérez les sauvegardes d'applications à l'aide de snapshots](how-snapshots.md).

Si le point de contrôle est activé pour votre application, le service assure la tolérance aux pannes en créant et en chargeant des sauvegardes des données de l’application en cas de redémarrage inattendu de l’application. Ces redémarrages inattendus d’application peuvent être provoqués par des redémarrages de tâche inattendus, des échecs d’instance, etc. Cela donne à l’application la même sémantique qu’une exécution sans échec lors de ces redémarrages. 

Si les instantanés sont activés pour l'application et configurés à l'aide de ceux de l'application [ApplicationRestoreConfiguration](https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_ApplicationRestoreConfiguration.html), le service fournit une sémantique de traitement unique lors des mises à jour de l'application, ou lors du dimensionnement ou de la maintenance liés au service.

## Configurer le point de contrôle dans le service géré pour Apache Flink
<a name="how-fault-configure"></a>

Vous pouvez configurer le comportement de point de contrôle de votre application. Vous pouvez définir si elle conserve l’état de point de contrôle, à quelle fréquence elle enregistre son état dans les points de contrôle et l’intervalle minimum entre la fin d’une opération de point de contrôle et le début d’une autre.

Vous configurez les paramètres suivants à l’aide des opérations d’API [https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_CreateApplication.html](https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_CreateApplication.html) ou [https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html](https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html) :
+ `CheckpointingEnabled` : indique si le point de contrôle est activé dans l’application.
+ `CheckpointInterval` : contient le temps en millisecondes entre les opérations de point de contrôle (persistance).
+ `ConfigurationType` : définissez cette valeur sur `DEFAULT` pour utiliser le comportement de point de contrôle par défaut. Définissez cette valeur sur `CUSTOM` pour configurer d’autres valeurs.
**Note**  
Le comportement du point de contrôle par défaut est le suivant :  
**CheckpointingEnabled:** vrai
**CheckpointInterval:** 60 000
**MinPauseBetweenCheckpoints:** 5000
S'il **ConfigurationType**est défini sur`DEFAULT`, les valeurs précédentes seront utilisées, même si elles sont définies sur d'autres valeurs en utilisant le AWS Command Line Interface ou en définissant les valeurs dans le code de l'application.
**Note**  
À partir de Flink 1.15, le service géré pour Apache Flink utilise `stop-with-savepoint` lors de la création automatique d’instantanés, c’est-à-dire lors de la mise à jour, de la mise à l’échelle ou de l’arrêt de l’application. 
+ `MinPauseBetweenCheckpoints` : durée minimale en millisecondes entre la fin d’une opération de point de contrôle et le début d’une autre. La définition de cette propriété empêche l’application de créer un point de contrôle continu lorsque l’opération de contrôle dure plus de temps que `CheckpointInterval`.

## Consultez les exemples d'API de point de contrôle
<a name="how-fault-examples"></a>

Cette section inclut des exemples de demandes d’actions d’API pour configurer les points de contrôle pour une application. Pour obtenir des informations sur l’utilisation d’un fichier JSON comme entrée pour une action d’API, consultez [Exemple de code de service géré pour l'API Apache Flink](api-examples.md).

### Configurer le point de contrôle pour une nouvelle application
<a name="how-fault-examples-create-config"></a>

L’exemple de demande d’action [https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_CreateApplication.html](https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_CreateApplication.html) suivant configure les points de contrôle lorsque vous créez une application :

```
{
   "ApplicationName": "MyApplication",
   "RuntimeEnvironment":"FLINK-1_19",
   "ServiceExecutionRole":"arn:aws:iam::123456789123:role/myrole",
   "ApplicationConfiguration": { 
      "ApplicationCodeConfiguration":{
      "CodeContent":{
        "S3ContentLocation":{
          "BucketARN":"arn:aws:s3:::amzn-s3-demo-bucket",
          "FileKey":"myflink.jar",
          "ObjectVersion":"AbCdEfGhIjKlMnOpQrStUvWxYz12345"
        }
      },
      "FlinkApplicationConfiguration": { 
         "CheckpointConfiguration": { 
            "CheckpointingEnabled": "true",
            "CheckpointInterval": 20000,
            "ConfigurationType": "CUSTOM",
            "MinPauseBetweenCheckpoints": 10000
         }
      }
}
```

### Désactiver le point de contrôle pour une nouvelle application
<a name="how-fault-examples-create-disable"></a>

L’exemple de demande d’action [https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_CreateApplication.html](https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_CreateApplication.html) suivant désactive les points de contrôle lorsque vous créez une application :

```
{
   "ApplicationName": "MyApplication",
   "RuntimeEnvironment":"FLINK-1_19",
   "ServiceExecutionRole":"arn:aws:iam::123456789123:role/myrole",
   "ApplicationConfiguration": { 
      "ApplicationCodeConfiguration":{
      "CodeContent":{
        "S3ContentLocation":{
          "BucketARN":"arn:aws:s3:::amzn-s3-demo-bucket",
          "FileKey":"myflink.jar",
          "ObjectVersion":"AbCdEfGhIjKlMnOpQrStUvWxYz12345"
        }
      },
      "FlinkApplicationConfiguration": { 
         "CheckpointConfiguration": { 
            "CheckpointingEnabled": "false"
         }
      }
}
```

### Configurer le point de contrôle pour une application existante
<a name="how-fault-examples-update-config"></a>

L’exemple de demande d’action [https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html](https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html) suivant configure les points de contrôle pour une application existante :

```
{
   "ApplicationName": "MyApplication",
   "ApplicationConfigurationUpdate": { 
      "FlinkApplicationConfigurationUpdate": { 
         "CheckpointConfigurationUpdate": { 
            "CheckpointingEnabledUpdate": true,
            "CheckpointIntervalUpdate": 20000,
            "ConfigurationTypeUpdate": "CUSTOM",
            "MinPauseBetweenCheckpointsUpdate": 10000
         }
      }
   }
}
```

### Désactiver le point de contrôle pour une application existante
<a name="how-fault-examples-update-update-disable"></a>

L’exemple de demande d’action [https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html](https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html) suivant désactive les points de contrôle pour une application existante :

```
{
   "ApplicationName": "MyApplication",
   "ApplicationConfigurationUpdate": { 
      "FlinkApplicationConfigurationUpdate": { 
         "CheckpointConfigurationUpdate": { 
            "CheckpointingEnabledUpdate": false,
            "CheckpointIntervalUpdate": 20000,
            "ConfigurationTypeUpdate": "CUSTOM",
            "MinPauseBetweenCheckpointsUpdate": 10000
         }
      }
   }
}
```