J'exécute une application sur AWS Elastic Beanstalk, et il semble que je doive créer un nouvel environnement si je veux utiliser la dernière AMI.
Si je savais quel était le dernier ID AMI, je pourrais le mettre à jour dans la configuration de l'environnement.
Existe-t-il un endroit où je pourrais trouver l'ID des dernières AMI Elastic Beanstalk, ou mieux encore, est-il possible de remplacer automatiquement les instances par la nouvelle version chaque fois qu'une nouvelle version est déployée?
Réponses:
La méthode recommandée et prise en charge pour mettre à niveau votre environnement AWS Beanstalk est documentée ici et les mises à jour de la plate-forme gérée sont discutées ici , honnêtement, je m'en tiendrai à cela si vous voulez que les choses soient faciles (et c'est de cela qu'il s'agit), vous théoriquement obtenez uniquement les mises à jour sans interruption et AWS gérera le processus afin qu'il n'y ait pas de temps d'arrêt.
Je tiens donc à réitérer que les mises à jour de la plate-forme gérée sont probablement ce que vous ou toute autre personne venant de Google voudrez, mais si vous souhaitez connaître la dernière AMI fournie par AWS pour votre environnement Beanstalk, cela peut être fait de manière assez triviale avec AWS CLI (merci aux conventions de dénomination saine d'Amazon sur leurs AMI).
En commençant par une instance de votre environnement, décrivez l'instance pour obtenir l'AMI actuelle (ignorez si vous connaissez déjà l'AMI actuelle).
Prenez l'ID AMI résultant et décrivez-le.
Nous pouvons utiliser la sortie de ce qui précède comme entrée pour un nouveau tri,
describe-images
mais cette fois nous remplaçons les horodatages par*
des symboles génériques, comme ceci:En raison de la puissance du tri lexical et de l'ISO 8601, nous nous retrouvons avec la dernière AMI, qui dans mon exemple est
ami-1be5de78
.Encore une fois, je ne vous recommanderais pas d'essayer de changer cette AMI à la main, Beanstalk a des dispositions pour faire tout cela pour vous!
la source
Il semble que même si vous changez l'AMI, en une utilisation AMI ElasticBeanstalk appropriée. Cela ne semble pas fonctionner correctement. Il manque tous les fichiers. Ça ne marche pas bien.
Je pense que vous devez démarrer un nouvel environnement Elastic Beanstalk qui a l'AMI mis à jour. Faites tout fonctionner puis échangez les URL de l'environnement.
la source
Vous pouvez utiliser les fonctionnalités de mises à jour gérées fournies avec eb, mais vous devrez payer pour des rapports d'intégrité améliorés pour ce faire. Ou utilisez la commande «eb platform show»; Dans une application de travail, ayez un cron qui exécute CURRENT =
eb platform show your_env_name | sed -n '5p' | cut -d: -f2- | tr -d '[[:space:]]'
LATEST =eb platform show your_env_name | sed -n '6p' | cut -d: -f2- | tr -d '[[:space:]]'
- Ensuite, comparez-les et si différent, vous pouvez utiliser eb clone (par défaut vers une nouvelle version), puis échange de nom.la source
En naviguant vers le tableau de bord de votre application localisez 'Configuration' et cliquez sur 'Modifier'
Vous devriez voir une liste où vous pouvez choisir une plate-forme. La dernière version est indiquée dans cette liste. Sélection de la plateforme
AWS EB utilise des configurations spécifiques pour différents langages de programmation. Vous pouvez trouver une liste des configurations dans la documentation http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.platforms.html
Des tableaux vous indiquent quelle version AMI chaque plate-forme utilise.
Je n'ai cependant pas trouvé de moyen d'exécuter ces mises à jour automatiquement. Je préfère en fait revoir les changements de la plateforme et les tester avant de les déployer.
la source
Sélectionnez votre service dans Elastic Beanstalk, vous verrez un aperçu dans le tableau de bord, dans le côté droit du tableau de bord, vous pouvez voir la configuration de votre AMI, sélectionnez Modifier la mise à niveau ou dégrader votre AMI. À ce stade, vous allez remplacer votre instance. Faites donc la sauvegarde ou le clonage.
la source
J'ai pu mettre à jour mon application actuelle hébergée sur Beanstalk vers la dernière AMI Amazon Linux en suivant les étapes ci-dessous.
1- Connectez-vous à la console AWS et accédez au portail Beanstalk.
2- Accédez à la page de configuration de votre application et cliquez sur 'Instances'.
3- Localisez l'ID AMI qui devrait être comme AMI-xxxxxx.
4- Prenez l'ID AMI et revenez dans la console EC2 et cliquez sur AMI.
5- Changez la vue en Images publiques et recherchez l'ID AMI récupéré plus tôt dans la configuration de Beanstalk.
6- Lancer cette AMI en tant que nouvelle instance.
7- Une fois lancé, connectez-vous à l'instance et personnalisez selon les exigences de vos applications.
8- Une fois que vous avez satisfait tout en place comme vous le souhaitez, créez une image AMI de cette nouvelle instance.
9- Prenez le nouvel ID AMI d'instance qui a été créé à l'étape 8 et appliquez-le à la configuration de votre application Beanstalk.
10- Il ne supprimera pas l'ancienne instance et ne créera pas la nouvelle instance avec votre AMI personnalisée et déploiera également votre dernière application sur les nouvelles instances.
la source