Je souhaite résoudre l'erreur « L'état de l'environnement n'est pas valide pour cette opération. Doit être prêt » dans un environnement AWS Elastic Beanstalk.
Brève description
Lorsque vous recevez cette erreur, assurez-vous qu'aucune opération n'est en cours dans l'environnement. Si une opération est en cours, vous devez soit attendre que la mise à jour soit terminée, soit annuler les mises à jour en cours selon vos besoins. Vous pouvez recommencer vos mises à jour lorsque l'environnement sera de nouveau prêt. Si aucune opération n'est en cours dans l'environnement et que le message d'erreur persiste, il est possible que votre environnement soit dans un état Irrécupérable. Cet état empêche d'autres opérations d'être effectuées dans l'environnement. Si vous avez besoin d'aide supplémentaire pour rétablir l'état Disponible de l'environnement, contactez le support AWS. Cependant, vous pouvez vérifier certaines choses avant de contacter AWS Support.
Résolution
Elastic Beanstalk crée une pile AWS CloudFormation dans le back-end pour gérer les ressources associées à l'environnement. Vous pouvez vérifier cette pile dans la console CloudFormation sous le nom awseb-(env-ID)-stack.
Lorsque l'environnement Elastic Beanstalk passe à l'état Irrécupérable, la pile CloudFormation affiche le statut *_ECHEC. Avant que l'équipe de support AWS puisse modifier l'environnement en Disponible, la pile doit afficher le statut *_COMPLET.
Pour corriger le statut *_ECHEC de votre pile CloudFormation, procédez comme suit en fonction de l'état de la pile :
État « MISE À JOUR_ROLLBACK_ECHEC »
1. Accédez à la console CloudFormation. Identifiez ensuite la ressource qui n'a pas pu être mise à jour lors de la restauration à partir des événements de pile respectifs.
2. Amenez la pile au statut MISE A JOUR_ROLLBACK_COMPLET en sélectionnant l'option Continuer la restauration de la mise à jour dans la console CloudFormation.
3. Dans la boîte de dialogue Poursuivre l'annulation de la mise à jour, développez Dépannage avancé. Dans la section Ressources à ignorer - facultatif, sélectionnez la ressource dont la mise à jour n'a pas pu être mise à jour.
4. Choisissez Continuer l'annulation de la mise à jour. La pile affiche désormais le statut MISE A JOUR_ROLLBACK_COMPLET.
5. Contactez l'équipe de support AWS pour faire passer l'environnement à l'état Disponible.
6. Lorsque le statut de l'environnement est Disponible, vous pouvez effectuer d'autres mises à jour de l'environnement.
État « SUPPRESSION \ _ÉCHEC »
1. Accédez à la console CloudFormation. Identifiez ensuite la ressource qui n'a pas pu être supprimée des événements de la pile respectifs.
2. Supprimez manuellement la ressource dont la suppression a échoué. Par exemple, si la ressource qui n'a pas pu être supprimée est un groupe de sécurité, supprimez-la de la console Amazon Elastic Compute Cloud (Amazon EC2).
3. Supprimez la pile CloudFormation de la console CloudFormation. La pile affiche désormais le statut SUPPRESSION\ _COMPLET.
4. Contactez l'équipe d'assistance d'Elastic Beanstalk pour faire passer l'environnement à l'état Disponible.
5. Lorsque l'environnement est à l'état Disponible, vous pouvez le reconstruire ou y mettre fin.
État « CREER \ _ECHEC »
Si votre pile possède ce statut, il est recommandé de créer un nouvel environnement Elastic Beanstalk, puis de mettre fin à l'environnement actuel. Cela est dû au fait que l'état de la pile n'est pas suffisamment stable pour effectuer un rollback. Il est recommandé de ne pas effectuer de nouvelles mises à jour sur l'environnement actuel.
Avant de mettre fin à l'environnement actuel, essayez ce qui suit :
- Tirez parti des configurations enregistrées si vous souhaitez disposer de configurations similaires pour votre nouvel environnement.
- Effectuez des déploiements bleu/vert et lorsque le nouvel environnement fonctionne correctement, effectuez le changement CNAME entre les URL des deux environnements.