Estoy ejecutando una aplicación en AWS Elastic Beanstalk, y parece que necesito crear un nuevo entorno si quiero usar la última AMI.
Si supiera cuál es el último ID de AMI, podría actualizarlo en la configuración del entorno.
¿Hay algún lugar donde pueda encontrar la identificación de las últimas AMI de Elastic Beanstalk, o incluso mejor, es posible reemplazar las instancias automáticamente por la nueva versión cada vez que se lanza una nueva versión?
amazon-web-services
elastic-beanstalk
Benjamín
fuente
fuente
Respuestas:
La forma recomendada y compatible de actualizar su entorno de AWS Beanstalk se documenta aquí y las actualizaciones de la plataforma administrada se discuten aquí , honestamente me apegaría a eso si desea que las cosas sean fáciles (y de eso se trata Beanstalk), teóricamente solo obtenga las actualizaciones sin interrupciones y AWS administrará el proceso para que no haya tiempo de inactividad.
Así que solo quiero reiterar que las actualizaciones de la plataforma administrada son probablemente lo que usted o cualquier otra persona que venga de Google querrá, pero si desea conocer la última AMI proporcionada por AWS para su entorno de Beanstalk, puede hacerlo de manera bastante trivial con AWS CLI (gracias para citar convenciones de nomenclatura de Amazon en sus AMI).
Comenzando con una instancia de su entorno, describa la instancia para obtener la AMI actual (omita si ya conoce la AMI actual).
Tome la ID de AMI resultante y descríbala.
Podemos usar la salida de lo anterior como entrada para un nuevo orden,
describe-images
pero esta vez reemplazamos las marcas de tiempo con*
símbolos comodín, de esta manera:Debido al poder de la clasificación léxica y la ISO 8601, terminamos con la última AMI, que en mi ejemplo es
ami-1be5de78
.Nuevamente, no recomendaría que intentes cambiar este AMI a mano, ¡Beanstalk tiene disposiciones para hacer todo esto por ti!
fuente
Parece que incluso si cambia el AMI, a un AMI adecuado utiliza ElasticBeanstalk. No parece funcionar correctamente. Se pierde todos los archivos. No funciona bien
Creo que debe iniciar un nuevo entorno de Elastic Beanstalk que tenga la AMI actualizada. Haga que todo funcione y luego cambie las URL del entorno.
fuente
Puede usar las funciones de actualizaciones administradas que vienen con eb, pero tendrá que pagar por informes de salud mejorados para hacerlo. O use el comando 'eb platform show'; En una aplicación de trabajo, tenga un cron que ejecute 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:]]'
- Luego compárelos y, si es diferente, puede usar eb clone (predeterminado en la nueva versión) y luego cname swap.fuente
Navegando al tablero de su aplicación, ubique 'Configuración' y haga clic en 'Cambiar'
Debería ver una lista donde puede elegir una Plataforma. La última versión se indica en esa lista. Seleccionar plataforma
AWS EB utiliza configuraciones específicas para diferentes lenguajes de programación. Puede encontrar una lista de las configuraciones en la documentación http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.platforms.html
Hay tablas que muestran qué versión de AMI usa cada plataforma.
Sin embargo, no encontré una manera de ejecutar estas actualizaciones automáticamente. De hecho, prefiero revisar los cambios de la plataforma y probarlos antes de implementarlos.
fuente
Seleccione su servicio en Elastic Beanstalk. Verá una descripción general en el Tablero. En el lado derecho del tablero puede ver la configuración de su AMI, Seleccionar Cambiar actualización o degradar su AMI. En este punto, va a reemplazar su instancia. Entonces haga la copia de seguridad o clone.
fuente
Pude actualizar mi aplicación actual alojada en Beanstalk a la última AMI de Amazon Linux siguiendo los pasos a continuación.
1- Inicie sesión en la consola de AWS y acceda al portal de Beanstalk.
2- Navegue a la página de configuración de su aplicación y haga clic en 'Instancias'.
3- Localice el ID de AMI como debería ser AMI-xxxxxx.
4- Tome la identificación AMI y navegue de regreso a la consola EC2 y haga clic en AMI.
5- Cambie la vista a Imágenes públicas y busque el ID de AMI recuperado anteriormente de la configuración de Beanstalk.
6- Inicie ese AMI como una nueva instancia.
7- Una vez que se inicia, inicie sesión en la instancia y personalícela según los requisitos de sus aplicaciones.
8- Una vez que haya satisfecho todo en su lugar como le gustaría, cree una imagen AMI de esta nueva instancia.
9- Tome la nueva instancia de ID de AMI que se creó en el paso 8 y aplíquela a la configuración de su aplicación Beanstalk.
10- No eliminará la instancia anterior y creará la nueva instancia con su AMI personalizada y también implementará su última aplicación en las nuevas instancias.
fuente