Búsqueda de una AMI que cumpla los requisitos para la instancia de EC2
Una AMI incluye los componentes y las aplicaciones, como el sistema operativo y el tipo de volumen raíz, necesarios para lanzar una instancia. Para lanzar una instancia, debe buscar una AMI que satisfaga sus necesidades.
Cuando seleccione una AMI, tenga en cuenta los siguientes requisitos que podría tener para las instancias que desea lanzar:
-
La región de AWS de la AMI como los id. de la AMI son exclusivos para cada región.
-
El sistema operativo (por ejemplo, Linux o Windows).
-
La arquitectura (por ejemplo, 32 bits, 64 bits o ARM de 64 bits).
-
El tipo de dispositivo raíz (por ejemplo, Amazon EBS o almacén de instancias).
-
El proveedor (por ejemplo, Amazon Web Services).
-
Software adicional (por ejemplo, SQL Server).
Para encontrar una AMI de Amazon Linux 2023, consulte AL2023 en Amazon EC2 en la Guía del usuario de Amazon Linux 2023.
Para encontrar una AMI de Ubuntu, consulte el Localizador de AMI de Amazon EC2
Para encontrar una AMI de RHEL, consulte Red Hat Enterprise Linux Images (AMI) Available on Amazon Web Services (AWS)
Existen varias formas de encontrar una AMI que satisfaga sus necesidades. Puede encontrar una AMI mediante la consola de Amazon EC2, la AWS CLI, AWS Tools for Windows PowerShell y AWS Systems Manager.
Puede encontrar AMI mediante la consola de Amazon EC2. Puede seleccionar en la lista de AMI cuando utilice el asistente de inicialización de instancias para iniciar una instancia, o bien puede buscar en todas las AMI disponibles mediante la página Imágenes.
Para buscar una AMI mediante el asistente de inicialización de instancias
-
Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/
. -
En la barra de navegación, seleccione la región en la que se iniciarán las instancias. Puede seleccionar cualquier región disponible, independientemente de su ubicación. Cada ID de AMI es exclusivo para cada región de AWS.
-
En el panel de la consola, elija Iniciar instancia.
-
En Imágenes de aplicaciones y sistema operativo (imagen de máquina de Amazon), elija Inicio rápido, elija el sistema operativo de la instancia y, a continuación, en Imagen de máquina de Amazon (AMI), seleccione una de las AMI más utilizadas que aparecen en la lista. Si no ve la AMI que necesita, puede elegir Examinar más AMI para navegar por el catálogo completo de AMI. Para obtener más información, consulte Imágenes de aplicaciones y sistema operativo (Imagen de máquina de Amazon).
Para buscar una AMI mediante la página de AMI
-
Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/
. -
En la barra de navegación, seleccione la región en la que se iniciarán las instancias. Puede seleccionar cualquier región disponible, independientemente de su ubicación. Cada ID de AMI es exclusivo para cada región de AWS.
-
En el panel de navegación, elija AMI.
-
(Opcional) Utilice las opciones Filtrar y Buscar para acotar la lista de AMI que se muestran de modo que solo aparezcan las AMI que coincidan con sus criterios.
Por ejemplo, para enumerar todas las AMI que proporciona AWS, seleccione Imágenes públicas. Después, utilice las opciones de búsqueda para acotar aún más la lista de AMI mostradas. Elija la barra Buscar y, en el menú, elija Alias del propietario, luego el operador = y luego el valor amazon. Para buscar las AMI que coincidan con una plataforma específica, por ejemplo, Linux o Windows, vuelva a seleccionar la barra de búsqueda para elegir Plataforma, luego el operador = y, por último, el sistema operativo de la lista proporcionada.
-
(Opcional) Elija el icono Preferencias para seleccionar los atributos de imagen que se van a mostrar, como el tipo de dispositivo raíz. Además, puede seleccionar una AMI de la lista y ver sus propiedades en la pestaña Detalles.
-
Antes de seleccionar una AMI, es importante que compruebe si está respaldada por un almacén de instancias o por Amazon EBS, y que usted es consciente de los efectos de esta diferencia. Para obtener más información, consulte Root device type.
-
Para iniciar una instancia desde esta AMI, selecciónela y elija iniciar instancia a partir de una imagen. Para obtener información sobre el uso de la consola para iniciar una instancia, consulte Inicialización de una instancia de EC2 mediante el asistente de inicialización de instancias de la consola. Si no está preparado para iniciar la instancia en ese momento, anote el ID de la AMI para usarlo más adelante.
Puede usar el comando de la AWS CLI describe-images para obtener una lista solo de las AMI que satisfagan sus necesidades. Una vez que haya encontrado una AMI que coincida con sus requisitos, anote su ID para poder utilizarla para iniciar instancias. Para obtener más información, consulte iniciar la instancia en la Guía del usuario de AWS Command Line Interface.
El comando describe-images admite parámetros de filtrado. Por ejemplo, utilice el parámetro --owners
para mostrar las AMI públicas propiedad de Amazon.
aws ec2 describe-images --owners amazon
Puede agregar el siguiente filtro al comando anterior para mostrar solo las AMI de Windows.
--filters "Name=platform,Values=windows"
Puede añadir el siguiente filtro al comando anterior para mostrar solo las AMI con respaldo Amazon EBS.
--filters "Name=root-device-type,Values=ebs"
importante
La omisión del parámetro --owners
del comando describe-images
devuelve todas las imágenes para las que tiene permisos de inicialización, independientemente de quién sea su propietario.
Puede utilizar cmdlets de PowerShell para obtener una lista que contenga solo las AMI de Windows que coincidan con sus requisitos. Para obtener más información y ejemplos, consulte Buscar una Amazon Machine Image mediante Windows PowerShell en la Guía del usuario de AWS Tools for Windows PowerShell.
Una vez que haya encontrado una AMI que coincida con sus requisitos, anote su ID para poder utilizarla para iniciar instancias. Para obtener más información, consulte Inicialización de una instancia de Amazon EC2 mediante Windows PowerShell en la Guía del usuario de AWS Tools for Windows PowerShell.
Cuando inicia una instancia con el asistente de inicialización de instancias EC2 en la consola de Amazon EC2, puede seleccionar una AMI de la lista (según se describe en Cómo buscar una AMI de mediante la consola de Amazon EC2) o seleccionar un parámetro AWS Systems Manager que apunte a un ID de AMI (según se describe en esta sección). Si utiliza código de automatización para iniciar las instancias, puede especificar el parámetro de Systems Manager en lugar del ID de AMI.
Un parámetro de Systems Manager es un par clave-valor definido por el cliente que puede crear en el almacén de parámetros de Systems Manager. El almacén de parámetros proporciona un almacén central para externalizar los valores de configuración de la aplicación. Para obtener más información, consulte el Almacén de parámetros de AWS Systems Manager en la Guía del usuario de AWS Systems Manager.
Cuando cree un parámetro que apunte a un ID de AMI, asegúrese de especificar el tipo de datos como aws:ec2:image
. Especificar este tipo de datos garantiza que, cuando se crea o modifica el parámetro, el valor del parámetro se valida como un ID de AMI. Para obtener más información, consulte Compatibilidad con parámetros nativos para los ID de Imagen de máquina de Amazon en la Guía del usuario de AWS Systems Manager.
Casos de uso
Cuando utiliza los parámetros de Systems Manager para apuntar a los ID de AMI, es más fácil para los usuarios seleccionar la AMI correcta cuando inician las instancias. Los parámetros de Systems Manager también pueden simplificar el mantenimiento del código de automatización.
Más fácil para los usuarios
Si necesita que las instancias se lancen con una AMI específica y si esa AMI se actualiza con regularidad, se recomienda que exija a los usuarios que seleccionen un parámetro de Systems Manager para encontrar la AMI. Exigir a los usuarios que seleccionen un parámetro de Systems Manager garantiza que se utilice la última AMI para iniciar instancias.
Por ejemplo, cada mes en su organización puede crear una nueva versión de su AMI que tenga los últimos parches de aplicaciones y sistema operativo. También requiere que los usuarios inicien instancias con la última versión de su AMI. Para asegurarse de que los usuarios utilizan la versión más reciente, puede crear un parámetro de Administrador de sistemas (por ejemplo, golden-ami
) que apunte al ID de AMI correcto. Cada vez que se crea una nueva versión de la AMI, se actualiza el valor del ID de la AMI en el parámetro para que siempre apunte a la AMI más reciente. No es necesario que los usuarios sepan sobre las actualizaciones periódicas de la AMI, ya que seleccionan el mismo parámetro de Systems Manager cada vez. Utilizar un parámetro de Systems Manager para su AMI les facilita seleccionar la AMI correcta para la inicialización de una instancia.
Simplificar el mantenimiento del código de automatización
Si utiliza código de automatización para iniciar las instancias, puede especificar el parámetro de Systems Manager en lugar del ID de AMI. Si se crea una versión nueva de la AMI, puede cambiar el valor del ID de la AMI en el parámetro para que apunte a la AMI más reciente. Cada vez que se crea una nueva versión de la AMI no tiene que modificarse el código de automatización que hace referencia al parámetro. Esto simplifica el mantenimiento de la automatización y ayuda a reducir los costos de implementación.
nota
Las instancias en ejecución no se ven afectadas cuando se cambia el ID de la AMI al que apunta el parámetro de Systems Manager.
Permisos
Si utiliza parámetros de Systems Manager que apuntan a los ID de AMI en el asistente de inicialización de instancias, debe agregar los siguientes permisos a la política de IAM:
-
ssm:DescribeParameters
: concede permiso para ver y seleccionar parámetros de Systems Manager. -
ssm:GetParameters
: concede permiso para recuperar los valores de los parámetros de Systems Manager.
También puede restringir el acceso a parámetros de Systems Manager específicos. Para obtener más información y políticas de IAM de ejemplo, consulte Ejemplo: uso del asistente de inicialización de instancias de EC2.
Limitaciones
Las AMI y los parámetros de Systems Manager son específicos de la región. Para utilizar el mismo nombre de parámetro de Administrador de sistemas en regiones, cree un parámetro de Administrador de sistemas en cada región con el mismo nombre (por ejemplo, golden-ami
). En cada región, apunte con el parámetro de Systems Manager a una AMI de esa región.
Iniciar una instancia mediante un parámetro de Systems Manager
Puede iniciar una instancia usando la consola o la AWS CLI. En lugar de especificar un ID de AMI, puede especificar un parámetro de AWS Systems Manager que apunte a un ID de AMI.
Para buscar una AMI mediante un parámetro de Systems Manager (consola)
Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/
. -
En la barra de navegación, seleccione la región en la que se iniciarán las instancias. Puede seleccionar cualquier región disponible, independientemente de su ubicación.
-
En el panel de la consola, elija Launch Instance (Iniciar instancia).
-
En (Imágenes de aplicaciones y sistema operativo (imagen de máquina de Amazon), elija Buscar más AMI.
-
Elija el botón de flecha situado a la derecha de la barra de búsqueda y luego elija Buscar por parámetro de Systems Manager.
-
Para Parámetro de Systems Manager, seleccione un parámetro. El ID de AMI correspondiente aparece junto a Actualmente se resuelve en.
-
Elija Buscar. Las AMI que coinciden con el ID de AMI aparecen en la lista.
-
Seleccione la AMI de la lista y elija Seleccionar.
Para obtener más información sobre cómo iniciar una instancia con el asistente de inicialización de instancias, consulte Inicialización de una instancia de EC2 mediante el asistente de inicialización de instancias de la consola.
Para iniciar una instancia utilizando un parámetro de AWS Systems Manager en lugar de un ID de AMI (AWS CLI)
En el ejemplo siguiente se utiliza el parámetro de Administrador de sistemas golden-ami
para iniciar una instancia m5.xlarge
. El parámetro apunta a un ID de AMI.
Para especificar el parámetro en el comando, utilice la siguiente sintaxis: resolve:ssm:/
, donde parameter-name
resolve:ssm
es el prefijo estándar y parameter-name
es el nombre de parámetro único. Tenga en cuenta que el nombre de parámetro distingue entre mayúsculas y minúsculas. Las barras diagonales inversas para el nombre del parámetro solo son necesarias cuando el parámetro forma parte de una jerarquía, por ejemplo, /amis/production/golden-ami
. Puede omitir la barra invertida si el parámetro no forma parte de una jerarquía.
En el ejemplo, los parámetros --count
y --security-group
no están incluidos. En el caso de --count
, el valor predeterminado es 1. Si tiene una VPC predeterminada y un grupo de seguridad predeterminado, estos serán los que se utilicen.
aws ec2 run-instances
--image-id resolve:ssm:/golden-ami
--instance-type m5.xlarge
...
Para iniciar una instancia usando una versión específica de un parámetro de AWS Systems Manager (AWS CLI)
Los parámetros de Systems Manager tienen compatibilidad de versión. A cada iteración de un parámetro se le asigna un número de versión único. Puede hacer referencia a la versión del parámetro de la siguiente manera: resolve:ssm:
, donde parameter-name
:version
version
es el número de versión único. De forma predeterminada, se utiliza la última versión del parámetro cuando no se especifica ninguna versión.
En el ejemplo siguiente se utiliza la versión 2 del parámetro.
En el ejemplo, los parámetros --count
y --security-group
no están incluidos. Para --count
, el valor predeterminado es 1
. Si tiene una VPC predeterminada y un grupo de seguridad predeterminado, estos serán los que se utilicen.
aws ec2 run-instances
--image-id resolve:ssm:/golden-ami
:2
--instance-type m5.xlarge
...
Para iniciar una instancia con un parámetro público proporcionado por AWS
Systems Manager proporciona parámetros públicos para las AMI públicas que proporciona AWS. Puede utilizar los parámetros públicos al lanzar instancias para asegurarse de que utiliza las AMI más recientes.
Para obtener más información, consulte Búsqueda de las AMI más recientes mediante un parámetro público de Systems Manager.
AWS Systems Manager proporciona parámetros públicos para las AMI públicas mantenidas por AWS. Puede utilizar los parámetros públicos al lanzar instancias para asegurarse de que utiliza las AMI más recientes. Por ejemplo, el parámetro público /aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-arm64
está disponible en todas las regiones y siempre apunta a la versión más reciente de la AMI Amazon Linux 2023 para la arquitectura arm64 en una región determinada.
Los parámetros públicos están disponibles en las siguientes rutas:
-
Linux:
/aws/service/ami-amazon-linux-latest
-
Windows:
/aws/service/ami-windows-latest
Para ver una lista de todas las AMI de Linux o Windows de la región de AWS actual
Utilice el siguiente comando de la AWS CLI get-parameters-by-path para ver una lista de todas las AMI de Linux o Windows de la región de AWS actual. El valor del parámetro --path
es diferente para Linux y Windows.
Para Linux:
aws ssm get-parameters-by-path \ --path /aws/service/ami-amazon-linux-latest \ --query "Parameters[].Name"
Para Windows:
aws ssm get-parameters-by-path \ --path /aws/service/ami-windows-latest \ --query "Parameters[].Name"
Para iniciar una instancia con un parámetro público
En el ejemplo siguiente se utiliza el parámetro público de Systems Manager para el ID de imagen a fin de iniciar una instancia con la AMI de Amazon Linux 2023 más reciente.
Para especificar el parámetro en el comando, utilice la siguiente sintaxis: resolve:ssm:
, donde public-parameter
resolve:ssm
es el prefijo estándar y
es la ruta y el nombre del parámetro público.public-parameter
En el ejemplo, los parámetros --count
y --security-group
no están incluidos. En el caso de --count
, el valor predeterminado es 1. Si tiene una VPC predeterminada y un grupo de seguridad predeterminado, estos serán los que se utilicen.
aws ec2 run-instances \
--image-id resolve:ssm:/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-x86_64
\
--instance-type m5.xlarge
\
--key-name MyKeyPair
Para obtener más información, consulte Trabajar con parámetros públicos en la Guía del usuario de AWS Systems Manager.
Para obtener ejemplos de parámetros de Systems Manager, consulte Consulta de los últimos ID de AMI de Amazon Linux mediante el Almacén de parámetros de AWS Systems Manager