View a markdown version of this page

Tipos de instancia permitidos para la AMI - Amazon Elastic Compute Cloud

Tipos de instancia permitidos para la AMI

Como propietario de una AMI, puede especificar con qué tipos de instancia es compatible o no la AMI. Esto evita lanzamientos en tipos de instancia incompatibles. Amazon EC2 aplica las restricciones de tipos de instancia permitidos en el momento del lanzamiento.

Por ejemplo, si la AMI requiere hardware de GPU, puede restringir su uso únicamente a tipos de instancia con GPU. Si la AMI no es compatible con una familia de instancias específica, puede excluir esa familia de los tipos de instancia permitidos.

Cómo funcionan los tipos de instancia permitidos

Puede controlar los tipos de instancia permitidos mediante el atributo InstanceTypeSpecification de una AMI. Este atributo contiene dos listas:

  • SupportedInstanceTypes: los tipos de instancia con los que la AMI es compatible. Solo se pueden lanzar instancias de estos tipos con la AMI.

  • UnsupportedInstanceTypes: los tipos de instancia con los que la AMI no es compatible. Se pueden lanzar instancias de todos los demás tipos con la AMI.

Amazon EC2 evalúa la especificación según la siguiente lógica:

  • Si InstanceTypeSpecification no está configurado, Amazon EC2 permite todos los tipos de instancia. Este es el comportamiento predeterminado.

  • Si solo se configura SupportedInstanceTypes, se permiten únicamente los tipos de instancia especificados. Amazon EC2 bloquea todos los demás tipos de instancia.

  • Si solo se configura UnsupportedInstanceTypes, Amazon EC2 permite todos los tipos de instancia excepto los especificados.

  • Si ambas listas están configuradas, el tipo de instancia debe estar incluido en SupportedInstanceTypes y no debe estar incluido en UnsupportedInstanceTypes.

Compatibilidad del comodín

Ambas listas admiten patrones con comodines mediante el carácter *. Puede utilizar comodines para hacer coincidir varios tipos de instancia sin enumerarlos individualmente.

En la siguiente tabla se muestran ejemplos de patrones con comodines.

Pattern Coincide
t3.* Todos los tamaños de la familia de instancias t3 (por ejemplo, t3.micro, t3.small y t3.large)
p4d.* Todos los tamaños de la familia de instancias p4d
g5.* Todos los tamaños de la familia de instancias g5
*xlarge Cualquier tipo de instancia de tamaño xlarge o superior de todas las familias de instancias
*.12xlarge Cualquier tipo de instancia 12xlarge de todas las familias de instancias

Configuración de los tipos de instancia permitidos para una AMI

Puede configurar o cambiar los tipos de instancia permitidos para una AMI mediante la consola de Amazon EC2 o AWS Command Line Interface (AWS CLI). Debe ser el propietario de la AMI para realizar este procedimiento.

Console
Para configurar los tipos de instancia permitidos para una AMI
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, seleccione AMIs.

  3. Seleccione la AMI y, a continuación, elija Acciones, Administrar la especificación de tipos de instancia.

  4. En Tipos de instancias compatibles o Tipos de instancias no compatibles, elija Agregar.

  5. Seleccione el tipo de instancia.

  6. Seleccione Save.

AWS CLI
Para configurar los tipos de instancia compatibles con una AMI

Utilice el comando replace-image-instance-type-specification. En el siguiente ejemplo, se permiten todos los tipos de instancia t3 y a2, excepto t3.micro.

aws ec2 replace-image-instance-type-specification \ --image-id ami-1234567890abcdef0 \ --instance-type-specification '{"SupportedInstanceTypes": ["t3.*", "a2.*"], "UnsupportedInstanceTypes": ["t3.micro"]}'
Para configurar únicamente los tipos de instancia no compatibles con una AMI

Utilice el siguiente comando para bloquear tipos de instancia específicos y permitir todos los demás.

aws ec2 replace-image-instance-type-specification \ --image-id ami-1234567890abcdef0 \ --instance-type-specification '{"UnsupportedInstanceTypes": ["t3.micro", "t3.nano"]}'
Para eliminar la especificación de tipos de instancia de una AMI

Utilice el siguiente comando sin especificar --instance-type-specification para eliminar la restricción y permitir todos los tipos de instancia.

aws ec2 replace-image-instance-type-specification \ --image-id ami-1234567890abcdef0

Cómo ver los tipos de instancia permitidos para una AMI

Puede ver la especificación de tipos de instancia de una AMI mediante la consola de Amazon EC2 o la AWS CLI.

Console
Para ver los tipos de instancia permitidos para una AMI
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, seleccione AMIs.

  3. Seleccione la AMI.

  4. En la pestaña Detalles, consulte los tipos de instancia compatibles y no compatibles.

AWS CLI
Para ver la especificación de tipos de instancia de una AMI

Utilice el comando describe-images. Si la AMI tiene una especificación de tipos de instancia, la respuesta incluye el campo InstanceTypeSpecification.

aws ec2 describe-images \ --image-ids ami-1234567890abcdef0

El siguiente ejemplo muestra la salida de una AMI con una especificación de tipos de instancia.

{ "Images": [ { "ImageId": "ami-1234567890abcdef0", ... "InstanceTypeSpecification": { "SupportedInstanceTypes": [ { "InstanceType": "t3.*" }, { "InstanceType": "a2.*" } ], "UnsupportedInstanceTypes": [ { "InstanceType": "t3.micro" } ] } } ] }

Comportamiento del lanzamiento con tipos de instancia permitidos

Al lanzar una instancia, Amazon EC2 comprueba si el tipo de instancia especificado es compatible con la especificación de tipos de instancia de la AMI. Si el tipo de instancia no está permitido, Amazon EC2 bloquea el lanzamiento y devuelve un error.

Ejemplo: lanzamiento bloqueado

El siguiente comando intenta lanzar una instancia t3.micro mediante una AMI que no es compatible con t3.micro.

aws ec2 run-instances \ --image-id ami-1234567890abcdef0 \ --instance-type t3.micro

Amazon EC2 devuelve el siguiente error:

An error occurred (InvalidParameterCombination) when calling the RunInstances operation: This AMI does not support the specified instance type. Check DescribeImages for InstanceTypeSpecification, and try again.

Para resolver este error, elija un tipo de instancia compatible con la AMI. Utilice el comando describe-images para ver la especificación de tipos de instancia de la AMI.

Consideraciones

Tenga en cuenta la siguiente información cuando utilice tipos de instancia permitidos.

  • De forma predeterminada, una AMI no tiene ninguna especificación de tipos de instancia. Amazon EC2 permite todos los tipos de instancia hasta que configure explícitamente una especificación.

  • Solo el propietario de la AMI puede establecer o cambiar la especificación de tipos de instancia.

  • Cuando copia una AMI mediante CopyImage, Amazon EC2 conserva la especificación de tipos de instancia en la nueva AMI.

  • Amazon EC2 aplica la especificación de tipos de instancia como una restricción estricta. Si el tipo de instancia no está permitido, el lanzamiento falla con un error InvalidParameterCombination.

  • La especificación no afecta a las instancias existentes. Solo se aplica a los nuevos lanzamientos.

  • Las plantillas de lanzamiento y los grupos de escalado automático que hacen referencia a una AMI con una especificación de tipos de instancia pueden fallar si el tipo de instancia configurado no está permitido. Se recomienda verificar la compatibilidad antes de configurar una especificación en las AMI compartidas.

  • La acción ReplaceImageInstanceTypeSpecification reemplaza toda la especificación. Para agregar o eliminar tipos de instancia específicos, debe incluir la especificación actualizada completa en la solicitud.