Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de una imagen de máquina de Amazon (AMI) personalizada en el entorno de Elastic Beanstalk
En esta sección se explica cuándo se debe considerar el uso de una AMI personalizada y se proporcionan los procedimientos para configurar y administrar la AMI personalizada en su entorno. Cuando crea un entorno de AWS Elastic Beanstalk, puede especificar una Amazon Machine Image (AMI) que puede utilizar en lugar de la AMI estándar de Elastic Beanstalk, incluida en la versión de su plataforma. Una AMI personalizada puede mejorar los tiempos de aprovisionamiento cuando se lanzan las instancias de su entorno si necesita instalar una gran cantidad de software que no está incluido en las AMI estándar.
El uso de archivos de configuración es eficaz para personalizar su entorno de forma rápida y coherente. Sin embargo, la aplicación de configuraciones puede tardar mucho tiempo durante la creación del entorno y las actualizaciones. Si realiza muchas tareas de configuración del servidor con los archivos de configuración, puede reducir este tiempo creando una AMI personalizada que ya tenga el software y la configuración que necesita.
Una AMI personalizada también le permite realizar cambios en los componentes de bajo nivel, como el kernel de Linux, que son difíciles de implementar o que tardan mucho tiempo en aplicarse mediante archivos de configuración. Para crear una AMI personalizada, lance una AMI de plataforma de Elastic Beanstalk en Amazon EC2 personalice el software y la configuración según sus necesidades y, a continuación, detenga la instancia y guarde una AMI.
Creación de una AMI personalizada
Puede utilizar EC2 Image Builder
Para identificar la base AMI de Elastic Beanstalk
-
En una ventana del sistema, ejecute un comando como el siguiente. Para obtener más información, consulte describe-platform-version en la Referencia de comandos de la AWS CLI.
Especifique la región de AWS donde desee utilizar su AMI personalizada y sustituya el ARN de la plataforma y el número de versión por la plataforma de Elastic Beanstalk en la que se basa su aplicación.
ejemplo - Mac OS/sistema operativo Linux
$
aws elasticbeanstalk describe-platform-version --region
[ { "VirtualizationType": "pv", "ImageId": "" }, { "VirtualizationType": "hvm", "ImageId": "us-east-2
\ --platform-arn "arn:aws:elasticbeanstalk:us-east-2
::platform/Node.js 20 running on 64bit Amazon Linux 2023
/6.1.7
" \ --query PlatformDescription.CustomAmiListami-020ae06fdda6a0f66
" } ]ejemplo - Sistema operativo Windows
C:\> aws elasticbeanstalk describe-platform-version --region
[ { "VirtualizationType": "pv", "ImageId": "" }, { "VirtualizationType": "hvm", "ImageId": "us-east-2
--platform-arn"arn:aws:elasticbeanstalk:us-east-2
::platform/IIS 10.0 running on 64bit Windows Server 2022
/2.15.3
" --query PlatformDescription.CustomAmiListami-020ae06fdda6a0f66
" } ] -
Tome nota del valor
ImageId
que es similar aami-020ae06fdda6a0f66
en el resultado.
El valor es la AMI de Elastic Beanstalk de reserva para la versión de la plataforma, la arquitectura de la instancia EC2 y la región de AWS pertinentes a su aplicación. Si necesita crear AMI para varias plataformas, arquitecturas o regiones de AWS, repita este proceso para identificar la AMI base correcta para cada combinación.
nota
No cree una AMI a partir de una instancia que se ha lanzado en un entorno de Elastic Beanstalk. Elastic Beanstalk realiza cambios en las instancias durante el aprovisionamiento que pueden provocar problemas en la AMI guardada. Al guardar una imagen de una instancia en un entorno de Elastic Beanstalk, también se incluye como parte fija de la imagen la versión de la aplicación que se implementó en la instancia.
Para Linux, también es posible crear una AMI personalizada a partir de una AMI de comunidad que Elastic Beanstalk no publicó. Puede utilizar la última AMI de Amazon Linux
nota
Las AMI personalizadas basadas en Windows Server requieren la AMI de Elastic Beanstalk de stock devuelta describe-platform-version
, como se muestra anteriormente en el paso 1.
Aunque Elastic Beanstalk puede utilizar una AMI no administrada por Elastic Beanstalk, el aumento del tiempo de aprovisionamiento resultante de la instalación de los componentes que faltan por parte de Elastic Beanstalk puede reducir o eliminar los beneficios de la creación de una AMI personalizada. Otras distribuciones de Linux podrían funcionar realizando algunas soluciones de problemas, pero no están admitidas oficialmente. Si la aplicación necesita una distribución de Linux específica, una alternativa puede ser crear una imagen de Docker y ejecutarla en la plataforma de Docker en Elastic Beanstalk o en la plataforma Multicontainer Docker.
Para crear una AMI personalizada
Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/
. -
Elija Iniciar instancia.
-
Si identificó una AMI base de Elastic Beanstalk (con
describe-platform-version
) o una AMI de Amazon Linux, escriba su ID de AMI en el cuadro de búsqueda. Luego pulse Intro.También puede buscar en la lista otra AMI de la comunidad que se adapte a sus necesidades.
nota
Le recomendamos que elija una AMI que utilice virtualización HVM. Estas AMI muestran Virtualization type: hvm en su descripción.
Para obtener más información, consulte Tipos de virtualización en la Guía del usuario de Amazon EC2.
-
Elija Select para seleccionar la AMI.
-
Seleccione un tipo de instancia y, a continuación, elija Next: Configure Instance Details.
-
(Para plataformas AMI de Amazon Linux [AL1] retiradas) Omita este paso si su entorno se ejecuta en una plataforma compatible basada en Linux o en una plataforma Windows.
Expanda la sección Detalles avanzados y pegue el texto siguiente en el campo Datos de usuario.
#cloud-config repo_releasever:
repository version number
repo_upgrade: noneEl número de versión del repositorio es la versión de año y mes en el nombre de la AMI. Por ejemplo, las AMI basadas en la versión de marzo de 2015 de Amazon Linux tienen el número de versión de repositorio
2015.03
. Para una imagen de Elastic Beanstalk, coincide con la fecha mostrada en el nombre de la pila de soluciones para la versión de su plataforma basada en la AMI de Amazon Linux (anterior a Amazon Linux 2).nota
Los ajustes de
repo_releasever
configuran la característica lock-on-launch para una AMI de Amazon Linux. Esto hace que la AMI utilice una versión de repositorio fija y específica cuando se lanza. Esta función no es compatible con Amazon Linux 2: no la especifique si su entorno utiliza una rama actual de plataforma Amazon Linux 2. La configuración es obligatoria si utiliza una AMI personalizada con Elastic Beanstalk solo en las ramas de la plataforma AMI de Amazon Linux (antes de Amazon Linux 2).La configuración de
repo_upgrade
desactiva la instalación automática de actualizaciones de seguridad. Es necesario usar una AMI personalizada con Elastic Beanstalk. -
Avance por el asistente hasta lanzar la instancia EC2. Cuando se le solicite, seleccione un par de claves a las que tenga acceso para poder conectarse a la instancia para los pasos siguientes.
-
Conéctese a la instancia con SSH o RDP.
-
Realice las personalizaciones que desee.
-
(Plataformas Windows) Ejecute el servicio de EC2Config Sysprep. Para obtener más información acerca de EC2Config, consulte Configuración de una instancia de Windows con el servicio EC2Config. Asegúrese de que Sysprep está configurado para generar una contraseña aleatoria que pueda recuperarse en la AWS Management Console.
-
En la consola de Amazon EC2, detenga la instancia EC2. A continuación, en el menú Instance Actions (Acciones de instancia), elija Create Image (EBS AMI) (Crear imagen [AMI de EBS]).
-
Para evitar incurrir en cargos adicionales de AWS, finalice la instancia EC2.
Para utilizar su AMI personalizada en un entorno de Elastic Beanstalk
Abra la consola de Elastic Beanstalk
y, en la lista Regions (Regiones), seleccione su Región de AWS. -
En el panel de navegación, elija Environments (Entornos) y, a continuación, elija el nombre del entorno en la lista.
nota
Si tiene muchos entornos, utilice la barra de búsqueda para filtrar la lista de entornos.
En el panel de navegación, elija Configuration (Configuración).
-
En la categoría de configuración Capacity (Capacidad), elija Edit (Editar).
-
En AMI ID (ID de AMI), especifique su ID de AMI personalizado.
-
Para guardar los cambios, elija Aplicar en la parte inferior de la página.
Cuando crea un nuevo entorno con la AMI personalizada, debe utilizar la misma versión de la plataforma que utilizó como punto de partida para crear la AMI.
Administración de un entorno con una AMI personalizada
Actualizaciones de la plataforma
Al utilizar una AMI personalizada, Elastic Beanstalk seguirá utilizando la misma AMI personalizada en un entorno cuando se actualice la versión de la plataforma, independientemente de si la actualización se aplica de forma manual o con actualizaciones de la plataforma gestionadas. El entorno no se restablecerá para usar la AMI original de la nueva versión de la plataforma.
Se recomienda crear una nueva AMI personalizada basada en una AMI de serie de la nueva versión de la plataforma. Si lo hace, se aplicarán los parches disponibles en la nueva versión de la plataforma y se minimizarán los errores de implementación debido a versiones de paquetes o bibliotecas incompatibles.
Para obtener más información acerca de cómo crear una nueva AMI personalizada, consulte la sección Creación de una AMI personalizada anterior en este tema.
Eliminación de una AMI personalizada
Si desea eliminar una AMI personalizada de un entorno y restablecerla para que utilice la AMI estándar para la versión de la plataforma del entorno, utilice el siguiente comando CLI.
aws elasticbeanstalk update-environment \ --application-name
my-application
\ --environment-namemy-environment
\ --regionus-east-1
\ --options-to-remove Namespace=aws:autoscaling:launchconfiguration,OptionName=ImageId
nota
Para evitar la interrupción del servicio, pruebe la aplicación con una AMI original antes de aplicar este cambio a su entorno de producción.
Limpieza de una AMI personalizada
Cuando haya terminado una AMI personalizada y ya no la necesite para lanzar entornos de Elastic Beanstalk, considere la posibilidad de limpiarla para minimizar el costo de almacenamiento. La limpieza de una AMI personalizada conlleva anular el registro de Amazon EC2 y eliminar los demás recursos asociados. Para obtener detalles, consulte Anulación del registro de una AMI de Linux o Anulación del registro de una AMI de Windows.