Je reçois un message lorsque j'essaie de déployer mon application php sur EC2 à l'aide d'Elastic Beanstalk.
Environment named *** is in an invalid state for this operation. Must be Ready.
Je ne parviens pas à déployer. L'état du serveur est en cours d'exécution, aucun avertissement.
Mon expérience est très limitée à ce stade. Comment puis-je résoudre ça?
Habituellement, il n'y a aucun moyen de récupérer d'un état non valide pour un environnement donné.
Dans de tels cas, vous devez accéder à la page environnement actuelle, cliquer sur le bouton Actions, sélectionner Environnement clone, puis attendre la environnement de clonage à créer. Une fois qu'il est prêt, vous pouvez aller à la page application, cliquer sur le bouton Actions puis sélectionner SWAP URLs.
Enfin, vous pouvez accéder à la page d'environnement incohérent et choisir de la terminer.
J'ai résolu ce problème en allant à Elastic Beanstack
, mon application était GRISE état/état de santé, du app overview
J'ai accédé au bouton Actions
et abandonné l'opération en cours.
Ensuite, j'ai obtenu le statut de santé VERT et j'ai réussi à déployer.
Cela m'est arrivé. S'il s'agit d'une application nouvellement créée, attendez quelques instants que l'environnement se mette en ligne, puis réessayez. Ça devrait marcher.
C'est arrivé quand j'ai avorté quand c'était
INFO: Environment update is starting.
état (juste après "Téléchargement").
Il est revenu à Ready
après quelques minutes, j'ai juste dû attendre.
Allez dans Actions -> Reconstruire l'environnement. Cela a résolu le problème pour moi. J'espère que cela aide! Menu AWS Elasticbeanstalk: Actions -> Reconstruire
dans mon cas, cela s'est produit parce que je commence à créer une base de données RDS sans attendre la création de l'environnement. pour corriger cela, vous devez reconstruire l'environnement
Dans mon cas, je n'ai pu exécuter aucune action sur l'Elastic Beanstalk. J'ai dû reconstruire l'intégralité de l'application Elastic Beanstalk avec un nouvel équilibreur de charge.
Dans mon cas, j'avais d'abord supprimé l'instance RDS, puis essayé de supprimer l'environnement afin qu'Elastic Bean recherche mon instance RDS qu'il n'a pas pu trouver.
Je suis donc allé sur RDS et j'ai restauré la base de données associée à mon environnement Elastic Bean.
Ça a marché!
La reconstruction de l'environnement a fonctionné pour moi, mais elle entraîne un temps d'arrêt si l'application est déjà en cours d'exécution. Comme mentionné précédemment, le déploiement de Blue Green est la bonne solution.