

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.

# Poursuite de la restauration d'une mise à jour
<a name="using-cfn-updating-stacks-continueupdaterollback"></a>

Parfois, lorsque vous CloudFormation essayez d'annuler une mise à jour de la pile, il ne peut pas annuler toutes les modifications apportées au cours du processus de mise à jour. C’est ce qu’on appelle l’état `UPDATE_ROLLBACK_FAILED`. Par exemple, vous pouvez avoir une pile qui commence à revenir à une ancienne instance de base de données supprimée en dehors de CloudFormation. Comme CloudFormation ne sait pas que la base de données a été supprimée, il suppose qu'elle existe toujours et tente de l'utiliser pour effectuer la restauration, ce qui entraîne l'échec de l'opération.

Une pile dans l’état `UPDATE_ROLLBACK_FAILED` ne peut pas être mise à jour, mais elle peut être restaurée à un état fonctionnel (`UPDATE_ROLLBACK_COMPLETE`). Après avoir rétabli les paramètres d’origine de la pile, vous pouvez essayer de la mettre à jour à nouveau.

Dans la plupart des cas, vous devez corriger l’erreur qui entraîne l’échec de la restauration de la mise à jour avant de pouvoir continuer à restaurer la pile. Dans d’autres cas, vous pouvez poursuivre la restauration de la mise à jour sans aucune modification (par exemple, lorsqu’une opération de la pile arrive à expiration).

**Note**  
Si vous utilisez des piles imbriquées, la restauration de la pile parent tente de restaurer également toutes les piles enfants.

**Pour poursuivre la restauration d'une mise à jour (console)**

1. Connectez-vous à la CloudFormation console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/cloudformation.](https://console.aws.amazon.com/cloudformation/)

1. Dans la barre de navigation en haut de l'écran, choisissez l' Région AWS emplacement de la pile.

1. Sur la page **Piles**, sélectionnez la pile que vous voulez mettre à jour, sélectionnez **Actions de pile**, puis sélectionnez **Continuer la restauration de la mise à jour**.

   Si aucune des solutions ne [Résolution des erreurs](troubleshooting.md#troubleshooting-errors) fonctionne, vous pouvez utiliser l'option avancée pour ignorer les ressources qui ne CloudFormation peuvent pas être restaurées avec succès. Vous devez [rechercher](cfn-console-view-stack-data-resources.md) et saisir la logique IDs des ressources que vous souhaitez ignorer. Spécifiez uniquement les ressources qui sont passées à l’état `UPDATE_FAILED` pendant l’état `UpdateRollback` et non pendant la mise à jour directe.
**Avertissement**  
CloudFormation définit le statut des ressources spécifiées sur `UPDATE_COMPLETE` et continue de faire reculer la pile. Une fois la restauration terminée, l’état des ressources ignorées ne correspond pas à celui des ressources contenues dans le modèle de pile. Avant de procéder à une autre mise à jour de pile, vous devez mettre à jour la pile ou les ressources de façon à les rendre cohérentes les unes par rapport aux autres. A défaut, les futures mises à jour de la pile risquent d’échouer et la pile deviendra irrécupérable.

   Spécifiez le nombre minimum de ressources requises pour restaurer votre pile avec succès. Par exemple, une mise à jour de ressource ayant échoué peut entraîner l'échec de ressources dépendantes. Dans ce cas, il n'est peut-être pas nécessaire d'ignorer les ressources dépendantes.

   Pour ignorer des ressources faisant partie de piles imbriquées, utilisez le format suivant : `NestedStackName.ResourceLogicalID`. Si vous souhaitez spécifier l’ID logique d’une ressource de pile (`Type: AWS::CloudFormation::Stack`) dans la liste `ResourcesToSkip`, sa ressource de pile imbriquée correspondante doit être à l’un des états suivants : `DELETE_IN_PROGRESS`, `DELETE_COMPLETE` ou `DELETE_FAILED`.

**Pour poursuivre la restauration d'une mise à jour (AWS CLI)**
+ Utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/continue-update-rollback.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/continue-update-rollback.html) avec l’option `--stack-name` pour spécifier l’ID de la pile que vous voulez continuer à restaurer.

## Continuer la restauration à partir des mises à jour de piles imbriquées ayant échoué
<a name="nested-stacks"></a>

Lorsque vous avez plusieurs piles imbriquées les unes dans les autres, vous devrez peut-être ignorer les ressources sur plusieurs niveaux imbriqués pour que la pile complète revienne à un état fonctionnel. 

Par exemple, vous avez une pile racine appelée `WebInfra` qui contient deux piles plus petites à l’intérieur : `WebInfra-Compute` et `WebInfra-Storage`. Ces deux piles ont également leurs propres piles imbriquées à l’intérieur.

Si un problème survient pendant une mise à jour et que le processus de mise à jour échoue, toute la hiérarchie de la pile peut se retrouver dans l’état `UPDATE_ROLLBACK_FAILED`, comme illustré dans le diagramme suivant. 

![\[Schéma illustrant une hiérarchie de piles imbriquées à trois niveaux.\]](http://docs.aws.amazon.com/fr_fr/AWSCloudFormation/latest/UserGuide/images/cfn-update-stack-continue-update-rollback_nested-stacks.png)


**Note**  
Les noms de pile de cet exemple sont tronqués par souci de simplification. Les noms des piles d'enfants sont généralement générés par CloudFormation et contiennent des chaînes aléatoires uniques, de sorte que les noms réels peuvent ne pas être faciles à utiliser.

Pour que la pile racine redevienne opérationnelle à l’aide de la commande `continue-update-rollback`, vous devez utiliser l’option `--resources-to-skip` pour ignorer les ressources dont la restauration a échoué.

L’exemple **continue-update-rollback** suivant reprend une opération de restauration suite à un échec antérieur de la mise à jour de la pile. Dans cet exemple, l’option `--resources-to-skip` inclut les éléments suivants :
+ `myCustom`
+ `WebInfra-Compute-Asg.myAsg`
+ `WebInfra-Compute-LB.myLoadBalancer`
+ `WebInfra-Storage.DB`

Pour les ressources de la pile racine, il suffit de fournir l’ID logique, par exemple `myCustom`. Cependant, pour les ressources contenues dans des piles imbriquées, vous devez fournir à la fois le nom de la pile imbriquée et son ID logique, séparés par un point. Par exemple, `WebInfra-Compute-Asg.myAsg`.

```
aws cloudformation continue-update-rollback --stack-name WebInfra \
    --resources-to-skip myCustom WebInfra-Compute-Asg.myAsg WebInfra-Compute-LB.myLoadBalancer WebInfra-Storage.DB
```

**Pour trouver le nom d’une pile imbriquée**  
Vous pouvez le localiser dans l’ID de pile ou le nom de ressource Amazon Resource Name (ARN) de la pile enfant.

L’exemple d’ARN suivant fait référence à une pile nommée `WebInfra-Storage-Z2VKC706XKXT`.

```
arn:aws:cloudformation:us-east-1:123456789012:stack/WebInfra-Storage-Z2VKC706XKXT/ea9e7f90-54f7-11e6-a032-028f3d2330bd
```

**Pour trouver l’ID logique d’une pile imbriquée**  
Vous pouvez trouver l’ID logique d’une pile enfant dans le définition de modèle de son parent. Dans le diagramme, le `LogicalId` de la pile enfant `WebInfra-Storage-DB` est `DB` dans sa pile parent `WebInfra-Storage`.

Dans la CloudFormation console, vous pouvez également trouver l'identifiant logique dans la colonne **ID logique** de la ressource de pile sous l'onglet **Ressources** ou dans l'onglet **Événements**. Pour de plus amples informations, veuillez consulter [Afficher les informations relatives à la pile depuis la CloudFormation console](cfn-console-view-stack-data-resources.md).