Uso de una imagen de máquina de Amazon personalizada (AMI) en el entorno de Elastic Beanstalk - AWS Elastic Beanstalk

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 personalizada (AMI) en el entorno de Elastic Beanstalk

En esta sección se explica cuándo se debe considerar el uso de una personalización AMI y se proporcionan los procedimientos para configurar y administrar la personalización en su entorno. AMI Al crear un AWS Elastic Beanstalk entorno, puede especificar una Amazon Machine Image (AMI) para utilizarla en lugar del AMI Elastic Beanstalk estándar incluido en la versión de su plataforma. Una personalización AMI puede mejorar los tiempos de aprovisionamiento cuando se lanzan las instancias en su entorno si necesita instalar una gran cantidad de software que no está incluido en el estándar. AMIs

El uso de archivos de configuración es eficaz para personalizar el entorno de forma rápida y coherente. Sin embargo, la aplicación de las configuraciones puede empezar a tardar mucho tiempo durante la creación y las actualizaciones del entorno. Si realiza una gran cantidad de configuraciones de servidores en los archivos de configuración, puede reducir este tiempo creando una configuración personalizada AMI que ya contenga el software y la configuración que necesita.

Una personalización AMI también le permite realizar cambios en componentes de bajo nivel, como el núcleo de Linux, que son difíciles de implementar o tardan mucho tiempo en aplicarse en los archivos de configuración. Para crear una personalizadaAMI, lance una plataforma de Elastic AMI Beanstalk EC2 en Amazon, personalice el software y la configuración según sus necesidades y, a continuación, detenga la instancia AMI y guarde una desde ella.

Crear una personalizada AMI

Puede utilizar EC2Image Builder para crear y gestionar la personalización AMIs como alternativa a estos procedimientos. Para obtener más información, consulte la Guía de usuario de Generador de imágenes.

Para identificar la base Elastic Beanstalk AMI
  1. En una ventana del sistema, ejecute un comando como el siguiente. Para obtener más información, consulte en la describe-platform-versionAWS CLI Referencia de comandos.

    Especifique el AWS Región en la que quiere usar su versión personalizada AMI y sustituya la plataforma ARN y el número de versión por la plataforma Elastic Beanstalk en la que se basa su aplicación.

    ejemplo - Mac OS/sistema operativo Linux
    $ aws elasticbeanstalk describe-platform-version --region 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.CustomAmiList [ { "VirtualizationType": "pv", "ImageId": "" }, { "VirtualizationType": "hvm", "ImageId": "ami-020ae06fdda6a0f66" } ]
    ejemplo - Sistema operativo Windows
    C:\> aws elasticbeanstalk describe-platform-version --region 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.CustomAmiList [ { "VirtualizationType": "pv", "ImageId": "" }, { "VirtualizationType": "hvm", "ImageId": "ami-020ae06fdda6a0f66" } ]
  2. Tome nota del valor ImageId que es similar a ami-020ae06fdda6a0f66 en el resultado.

El valor es el AMI Elastic Beanstalk original para la versión de plataformaEC2, la arquitectura de la instancia y AWS Región relevante para su aplicación. Si necesita crear AMIs para múltiples plataformas, arquitecturas o AWS Regiones, repita este proceso para identificar la base correcta AMI para cada combinación.

nota

No cree una AMI a partir de una instancia que se haya lanzado en un entorno de Elastic Beanstalk. Elastic Beanstalk realiza cambios en las instancias durante el aprovisionamiento que pueden provocar problemas en las instancias guardadas. AMI 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 personalización a AMI partir de una comunidad AMI que no haya sido publicada por Elastic Beanstalk. Puede utilizar la versión más reciente de Amazon Linux AMI como punto de partida. Cuando lanza un entorno con Linux AMI que no está administrado por Elastic Beanstalk, Elastic Beanstalk intenta instalar el software de la plataforma (lenguaje, marco, servidor proxy, etc.) y componentes adicionales para admitir funciones como Enhanced Health Reporting.

nota

Los productos personalizados AMIs basados en Windows Server requieren el AMI Elastic Beanstalk original del que se describe-platform-version devolvió, como se mostró anteriormente en el paso 1.

Si bien Elastic Beanstalk puede AMI usar una que no esté gestionada por Elastic Beanstalk, el aumento del tiempo de aprovisionamiento que se produce cuando Elastic Beanstalk instala los componentes que faltan puede reducir o eliminar las ventajas de crear una personalizada desde el principio. AMI 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 personalizada AMI
  1. Abre la EC2 consola de Amazon en https://console.aws.amazon.com/ec2/.

  2. Elija Iniciar instancia.

  3. Si identificó un AMI Elastic Beanstalk básico (describe-platform-versionutilizando) o AMI Amazon Linux, AMI introduzca su ID en el cuadro de búsqueda. Luego pulse Intro.

    También puede buscar en la lista otra comunidad AMI que se adapte a sus necesidades.

    nota

    Le recomendamos que elija una AMI que utilice la HVM virtualización. Estos AMIs muestran el tipo de virtualización: hvm en su descripción.

    Para obtener más información, consulte Tipos de virtualización en la Guía del EC2 usuario de Amazon.

  4. Haga clic en Seleccionar para seleccionar elAMI.

  5. Seleccione un tipo de instancia y, a continuación, elija Next: Configure Instance Details.

  6. (Para plataformas Amazon Linux AMI (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 siguiente texto en el campo Datos de usuario.

    #cloud-config repo_releasever: repository version number repo_upgrade: none

    El número de versión del repositorio corresponde a la versión anual y mensual que figura en el AMI nombre. Por ejemplo, AMIs según la versión de marzo de 2015 de Amazon Linux, tenga un número de versión de repositorio2015.03. En el caso de una imagen de Elastic Beanstalk, coincide con la fecha que aparece en el nombre de la pila de soluciones para la versión de plataforma basada en Amazon AMI Linux (anterior a Amazon Linux 2).

    nota

    La repo_releasever configuración configura la lock-on-launch función para Amazon Linux. AMI Esto hace AMI que utilice una versión de repositorio fija y específica cuando se lance. 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 versión personalizada AMI con Elastic Beanstalk únicamente en las sucursales de la plataforma Amazon Linux (antes de AMI Amazon Linux 2).

    La configuración de repo_upgrade desactiva la instalación automática de actualizaciones de seguridad. Es necesario usar una personalizada AMI con Elastic Beanstalk.

  7. Siga las instrucciones del asistente para 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.

  8. Conéctese a la instancia con SSH oRDP.

  9. Realice las personalizaciones que desee.

  10. (Plataformas Windows) Ejecute el EC2Config servicio Sysprep. Para obtener más informaciónEC2Config, consulte Configuración de una instancia de Windows mediante el EC2Config servicio. Asegúrese de que Sysprep esté configurado para generar una contraseña aleatoria que se pueda recuperar del AWS Management Console.

  11. En la EC2 consola de Amazon, detiene la EC2 instancia. A continuación, en el menú Acciones de instancia, selecciona Crear imagen (EBSAMI).

  12. Para evitar incurrir en gastos adicionales AWS cargos, cancele la EC2 instancia.

Para usar su personalización AMI en un entorno de Elastic Beanstalk
  1. Abra la consola de Elastic Beanstalk y, en la lista Regiones, seleccione su Región de AWS.

  2. 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.

  3. En el panel de navegación, elija Configuration (Configuración).

  4. En la categoría de configuración Capacity (Capacidad), elija Edit (Editar).

  5. En el campo AMIID, introduzca su ID personalizado. AMI

  6. Para guardar los cambios, elija Aplicar en la parte inferior de la página.

Al crear un nuevo entorno con la personalizaciónAMI, debe utilizar la misma versión de plataforma que utilizó como base para crear elAMI.

Administrar un entorno con un entorno personalizado AMI

Actualizaciones de la plataforma

Al utilizar una personalizadaAMI, Elastic Beanstalk seguirá utilizándola en un entorno cuando se actualice la AMI versión de plataforma, independientemente de si la actualización se aplica manualmente o mediante actualizaciones de plataforma gestionadas. El entorno no se restablecerá para utilizar las existencias AMI de la nueva versión de la plataforma.

Le recomendamos que cree una nueva personalización AMI basada en el stock AMI de la nueva versión de la plataforma. Al hacerlo, se aplicarán los parches disponibles en la nueva versión de la plataforma y también se minimizarán los errores de implementación debidos a versiones de paquetes o bibliotecas incompatibles.

Para obtener más información sobre la creación de una nueva personalizaciónAMI, consulte la Crear una personalizada AMI sección anterior de este tema.

Eliminar una personalización AMI

Si desea eliminar una personalización AMI de un entorno y restablecerla AMI para que utilice la versión original de la plataforma del entorno, utilice el siguiente CLI comando.

aws elasticbeanstalk update-environment \ --application-name my-application \ --environment-name my-environment \ --region us-east-1 \ --options-to-remove Namespace=aws:autoscaling:launchconfiguration,OptionName=ImageId
nota

Para evitar la interrupción del servicio, pruebe la aplicación con un stock AMI antes de aplicar este cambio a su entorno de producción.

Limpiar una costumbre AMI

Cuando haya terminado con una personalizada AMI y ya no la necesite para lanzar entornos de Elastic Beanstalk, considere la posibilidad de limpiarla para minimizar los costes de almacenamiento. Limpiar una costumbre AMI implica anular su registro en Amazon EC2 y eliminar otros recursos asociados. Para obtener más información, consulta Cómo anular el registro de Linux AMI o Anular el registro de Windows. AMI