¿Por qué hay algunos tipos de instancias que no están disponibles cuando intento lanzar una instancia de EC2 desde una AMI?
Quiero lanzar una instancia de Amazon Elastic Compute Cloud (Amazon EC2) desde una imagen de máquina de Amazon (AMI). El tipo de instancia que quiero lanzar no está disponible.
Descripción corta
Los procesadores AWS Graviton utilizan la arquitectura aarch64 (ARM64) en lugar de x86_64 (AMD64). Los siguientes son algunos de los tipos de instancias que utilizan procesadores AWS Graviton:
- De uso general: M7g, M6g, A1, T4g
- Optimizadas para la computación: C7g, C7gn, C6g, C6gn
- Optimizadas para la memoria: R7g, R6g, X2gd
- De computación acelerada: G5g
- Optimizadas para el almacenamiento: Im4gn, Is4gen
La arquitectura ARM64 usa un conjunto de instrucciones de CPU diferente al de la familia de arquitecturas x86_64. Estas instrucciones proporcionan un mecanismo para enviar comandos al procesador. Durante la compilación del software, el código de software legible por humanos se convierte en instrucciones de CPU específicas de una arquitectura de CPU. Cualquier CPU de ese tipo de arquitectura puede usar estas instrucciones de CPU. Sin embargo, la CPU de un tipo de arquitectura no puede entender el conjunto de instrucciones de otro tipo. Una AMI que se compila a partir de una arquitectura solo se ejecuta en las CPU de ese tipo de arquitectura.
Las instancias de Amazon EC2 y las AMI que se crean con la arquitectura x86\ _64 no son compatibles con las instancias que utilizan la arquitectura ARM64. Al lanzar o cambiar los tipos de instancias, esta incompatibilidad puede provocar una de las siguientes situaciones:
- Al lanzar un tipo de instancia Graviton con la AMI de EC2 seleccionada, es posible que el asistente de lanzamiento muestre los nuevos tipos de instancias como no disponibles.
- Si cambia el tipo de instancia de una instancia de EC2 ya desplegada que no utiliza el nuevo tipo de arquitectura, es posible que encuentre un error. El mensaje de error es similar al siguiente:
«'m6g.large' no es un tipo de instancia válido para la instancia 'i-xyz' de la arquitectura 'x86\ _64'».
Para usar una arquitectura diferente, siga estos pasos:
- Cree una nueva instancia de Amazon EC2 o una AMI.
- Migre la aplicación a la nueva instancia de Amazon EC2.
Nota: Es posible que una AMI no sea compatible con su tipo de instancia si no están activadas las redes mejoradas. Para obtener más información, consulte ¿Cómo puedo activar y configurar las redes mejoradas en mis instancias de EC2?
Resolución
Crear una nueva AMI o instancia de Amazon EC2
Todas las principales distribuciones de Linux están disponibles en la arquitectura ARM. Para lanzar una instancia que utilice la arquitectura ARM:
- Abra la consola de Amazon EC2.
- Elija Lanzar instancia y, a continuación, seleccione Lanzar instancia.
- Elija 64 bits (ARM) junto a la AMI que corresponde a la versión de ARM de su distribución y, a continuación, elija Seleccionar.
- Complete el lanzamiento de la instancia.
Migrar la aplicación a una nueva instancia de Amazon EC2
Debido a los diferentes conjuntos de instrucciones, no es posible cambiar directamente el tipo de instancia entre los tipos de arquitectura. Para migrar el sistema a la nueva arquitectura, siga estos pasos:
- Lance una nueva instancia de EC2 para la configuración que haya elegido.
- Migre su aplicación a la nueva instancia de EC2.
Información relacionada
Contenido relevante
- OFICIAL DE AWSActualizada hace un año
- OFICIAL DE AWSActualizada hace un año
- OFICIAL DE AWSActualizada hace un año
- OFICIAL DE AWSActualizada hace un año