Je souhaite résoudre l'erreur indiquant que l'environnement est dans un état non valide pour une opération donnée, et qu'il 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 la fin de la mise à jour, soit annuler les mises à jour en cours, selon vos besoins. Vous pourrez recommencer vos mises à jour lorsque l'environnement sera à nouveau prêt. Si aucune opération n'est en cours dans l'environnement et que vous recevez toujours le message d'erreur, il se peut que votre environnement soit dans un état Irrécupérable. Cet état empêche l'exécution d'opérations dans l'environnement. Si vous avez besoin d'aide supplémentaire pour rétablir l'état Disponible de l'environnement, contactez AWS Support. Toutefois, avant de nous contacter, vous pouvez vérifier certaines choses.
Solution
Elastic Beanstalk crée une pile AWS CloudFormation en backend pour gérer les ressources associées à l'environnement. Vous pouvez consulter cette pile dans la console CloudFormation sous le nom awseb-(env-ID)-stack.
Lorsque l'environnement Elastic Beanstalk passe en état Irrécupérable, la pile CloudFormation affiche le statut *_FAILED. Avant que l'équipe AWS Support puisse rétablir l'état Disponible de l'environnement, la pile doit afficher le statut *_COMPLETE.
Pour corriger l'état *_FAILED de votre pile CloudFormation, procédez comme suit, en fonction de l'état de la pile :
État « UPDATE_ROLLBACK_FAILED »
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 UPDATE_ROLLBACK_COMPLETE en sélectionnant l'option Poursuivre la restauration de la mise à jour dans la console CloudFormation.
3. Dans la boîte de dialogue Poursuivre la restauration de la mise à jour, développez la section Résolution des problèmes avancée. Dans la section Ressources à ignorer - facultatif, sélectionnez la ressource dont la mise à jour a échoué.
4. Choisissez Poursuivre la restauration de la mise à jour. La pile affiche désormais le statut UPDATE_ROLLBACK_COMPLETE.
5. Contactez l'équipe AWS Support pour faire passer l'environnement à l'état Disponible.
6. Une fois l'environnement en état Disponible, vous pouvez effectuer d'autres mises à jour sur celui-ci.
État « DELETE_FAILED »
1. Accédez à la console CloudFormation. Identifiez ensuite la ressource qui n'a pas pu être supprimée dans les événements de pile respectifs.
2. Supprimez manuellement la ressource en question. Par exemple, si la ressource qui n'a pas pu être supprimée est un groupe de sécurité, supprimez-le dans la console Amazon Elastic Compute Cloud (Amazon EC2).
3. Supprimez la pile CloudFormation dans la console correspondante. La pile affiche désormais le statut DELETE_COMPLETE.
4. Contactez l'équipe d'assistance d'Elastic Beanstalk pour faire passer l'environnement à l'état Disponible.
5. Une fois que l'environnement est à l'état Disponible, vous pouvez le reconstruire ou le mettre hors service.
État « CREATE_FAILED »
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 une restauration. Il est recommandé de ne pas effectuer d'autres mises à jour sur l'environnement actuel.
Avant de mettre fin à l'environnement actuel, essayez ce qui suit :
- Utilisez les 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 l'échange CNAME entre les URL des deux environnements.