View a markdown version of this page

Types d'instances autorisés par AMI - Amazon Elastic Compute Cloud

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Types d'instances autorisés par AMI

En tant que propriétaire d'une AMI, vous pouvez spécifier les types d'instances que votre AMI prend en charge ou ne prend pas en charge. Cela empêche les lancements sur des types d'instances incompatibles. Amazon EC2 applique les types d'instances autorisés au moment du lancement.

Par exemple, si votre AMI nécessite du matériel GPU, vous pouvez le limiter aux types d'instances GPU uniquement. Si votre AMI n'est pas compatible avec une famille d'instances spécifique, vous pouvez exclure cette famille des types d'instances autorisés.

Comment fonctionnent les types d'instances autorisés

Vous contrôlez les types d'instances autorisés via l'InstanceTypeSpecificationattribut d'une AMI. Cet attribut contient deux listes :

  • SupportedInstanceTypes— Les types d'instances pris en charge par l'AMI. Seuls ces types d'instances peuvent être lancés avec l'AMI.

  • UnsupportedInstanceTypes— Les types d'instance que l'AMI ne prend pas en charge. Tous les autres types d'instances peuvent être lancés avec l'AMI.

Amazon EC2 évalue la spécification à l'aide de la logique suivante :

  • S'il n'InstanceTypeSpecificationest pas défini, Amazon EC2 autorise tous les types d'instances. Il s’agit du comportement de par défaut.

  • Si only SupportedInstanceTypes est défini, seuls les types d'instance spécifiés sont autorisés. Amazon EC2 bloque tous les autres types d'instances.

  • Si seul UnsupportedInstanceTypes est défini, Amazon EC2 autorise tous les types d'instances à l'exception de ceux spécifiés.

  • Si les deux listes sont définies, le type d'instance doit être activé SupportedInstanceTypes et ne doit pas l'êtreUnsupportedInstanceTypes.

Prise en charge des caractères génériques

Les deux listes prennent en charge les modèles de caractères génériques utilisant le * caractère. Vous pouvez utiliser des caractères génériques pour faire correspondre plusieurs types d'instances sans les répertorier individuellement.

Le tableau suivant présente des exemples de modèles de caractères génériques.

Modèle Correspondance
t3.* Toutes les tailles de la famille d't3instances (par exemplet3.micro,t3.small, ett3.large)
p4d.* Toutes les tailles au sein de la famille d'p4dinstances
g5.* Toutes les tailles au sein de la famille d'g5instances
*xlarge Tout type d'instance de taille xlarge ou supérieure dans toutes les familles d'instances
*.12xlarge N'importe quel type d'instance de 12 fois plus grand dans toutes les familles d'instances

Définir les types d'instance autorisés pour une AMI

Vous pouvez définir ou modifier les types d'instance autorisés pour une AMI à l'aide de la console Amazon EC2 ou du AWS Command Line Interface (AWS CLI). Pour ce faire, vous devez être le propriétaire de l’AMI.

Console
Pour définir les types d'instance autorisés pour une AMI
  1. Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, sélectionnez AMI.

  3. Sélectionnez l'AMI, puis choisissez Actions, Gérer la spécification du type d'instance.

  4. Sous Types d'instances pris en charge ou Types d'instances non pris en charge, choisissez Ajouter.

  5. Sélectionnez le type d'instance .

  6. Choisissez Enregistrer.

AWS CLI
Pour définir les types d'instances pris en charge pour une AMI

Utilisez la commande replace-image-instance-type-specification. L'exemple suivant autorise tous t3 les types d'a2instance sauft3.micro.

aws ec2 replace-image-instance-type-specification \ --image-id ami-1234567890abcdef0 \ --instance-type-specification '{"SupportedInstanceTypes": ["t3.*", "a2.*"], "UnsupportedInstanceTypes": ["t3.micro"]}'
Pour définir uniquement les types d'instance non pris en charge pour une AMI

Utilisez la commande suivante pour bloquer des types d'instances spécifiques tout en autorisant tous les autres.

aws ec2 replace-image-instance-type-specification \ --image-id ami-1234567890abcdef0 \ --instance-type-specification '{"UnsupportedInstanceTypes": ["t3.micro", "t3.nano"]}'
Pour supprimer la spécification du type d'instance d'une AMI

Utilisez la commande suivante sans spécifier si --instance-type-specification vous souhaitez supprimer la restriction et autoriser tous les types d'instances.

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

Afficher les types d'instances autorisés pour une AMI

Vous pouvez consulter la spécification du type d'instance pour une AMI à l'aide de la console Amazon EC2 ou du AWS CLI.

Console
Pour afficher les types d'instances autorisés pour une AMI
  1. Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, sélectionnez AMI.

  3. Sélectionnez l’AMI.

  4. Dans l'onglet Détails, consultez les types d'instances pris en charge et non pris en charge.

AWS CLI
Pour afficher la spécification du type d'instance pour une AMI

Utilisez la commande describe-images. Si l'AMI possède une spécification de type d'instance, la réponse inclut le InstanceTypeSpecification champ.

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

Voici un exemple de sortie pour une AMI avec une spécification de type d'instance.

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

Comportement de lancement avec les types d'instances autorisés

Lorsque vous lancez une instance, Amazon EC2 vérifie si le type d'instance spécifié est compatible avec la spécification de type d'instance de l'AMI. Si le type d'instance n'est pas autorisé, Amazon EC2 bloque le lancement et renvoie une erreur.

Exemple : lancement bloqué

La commande suivante tente de lancer une t3.micro instance à l'aide d'une AMI non compatiblet3.micro.

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

Amazon EC2 renvoie l'erreur suivante :

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.

Pour résoudre cette erreur, choisissez un type d'instance pris en charge par l'AMI. Utilisez la describe-images commande pour afficher la spécification du type d'instance de l'AMI.

Considérations

Gardez les informations suivantes à l'esprit lorsque vous utilisez des types d'instances autorisés.

  • Par défaut, aucune spécification de type d'instance n'est spécifiée pour une AMI. Amazon EC2 autorise tous les types d'instances jusqu'à ce que vous définissiez explicitement une spécification.

  • Seul le propriétaire de l'AMI peut définir ou modifier la spécification du type d'instance.

  • Lorsque vous copiez une AMI à l'aide deCopyImage, Amazon EC2 conserve la spécification du type d'instance dans la nouvelle AMI.

  • Amazon EC2 applique la spécification du type d'instance sous la forme d'un bloc dur. Si le type d'instance n'est pas autorisé, le lancement échoue avec une InvalidParameterCombination erreur.

  • La spécification n'affecte pas les instances existantes. Elle ne s'applique qu'aux nouveaux lancements.

  • Les modèles de lancement et les groupes Auto Scaling qui font référence à une AMI avec une spécification de type d'instance peuvent échouer si le type d'instance configuré n'est pas autorisé. Nous vous recommandons de vérifier la compatibilité avant de définir une spécification sur les AMI partagées.

  • L'ReplaceImageInstanceTypeSpecificationaction remplace l'intégralité de la spécification. Pour ajouter ou supprimer des types d'instances individuels, vous devez inclure la spécification complète mise à jour dans la demande.