Pourquoi certains types d'instances ne sont-ils pas disponibles lorsque j'essaie de lancer une instance EC2 à partir d'une AMI ?

Lecture de 3 minute(s)
0

Je souhaite lancer une instance Amazon Elastic Compute Cloud (Amazon EC2) à partir d'une Amazon Machine Image (AMI). Le type d'instance que je souhaite lancer n'est pas disponible.

Brève description

Les processeurs AWS Graviton utilisent l'architecture aarch64 (ARM64) au lieu de x86 \ _64 (AMD64). Voici certains des types d'instances qui utilisent les processeurs AWS Graviton :

  • Objectif général : M7g, M6g, A1, T4g
  • Calcul optimisé : C7g, C7gn, C6g, C6gn
  • Mémoire optimisée : R7g, R6g, X2gd
  • Calculs accélérés : G5g
  • Stockage optimisé : Im4gn, Is4gen

L'architecture ARM64 utilise un ensemble d'instructions CPU différent de celui de la famille d'architecture x86 \ _64. Ces instructions fournissent un mécanisme pour envoyer des commandes au processeur. Lors de la compilation du logiciel, le code logiciel lisible par l'homme est converti en instructions CPU spécifiques à une architecture CPU. N'importe quel processeur de ce type d'architecture peut utiliser ces instructions de processeur. Toutefois, le processeur d'un type d'architecture ne peut pas comprendre le jeu d'instructions d'un autre type. Une AMI compilée à partir d'une architecture s'exécute uniquement sur les processeurs de ce type d'architecture.

Les instances Amazon EC2 et les AMI créées à l'aide de l'architecture x86_64 ne sont pas compatibles avec les instances qui utilisent l'architecture ARM64. Lorsque vous lancez ou modifiez des types d'instances, cette incompatibilité peut provoquer l'une des situations suivantes :

  • Lorsque vous lancez un type d'instance Graviton avec l'AMI EC2 que vous avez sélectionnée, l'assistant de lancement peut afficher les nouveaux types d'instances comme non disponibles.
  • Si vous modifiez le type d'instance d'une instance EC2 déjà déployée qui n'utilise pas le nouveau type d'architecture, vous pouvez recevoir une erreur. Le message d'erreur est similaire au suivant :
    « 'm6g.large' n'est pas un type d'instance valide pour l'instance 'i-xyz' de l'architecture 'x86_64' ».

Pour utiliser une architecture différente, procédez comme suit :

  1. Créez une nouvelle instance ou AMI Amazon EC2.
  2. Migrez l'application vers la nouvelle instance Amazon EC2.

Remarque : Une AMI peut être incompatible avec votre type d'instance si la mise en réseau améliorée n'est pas activée. Pour plus d'informations, consultez Comment activer et configurer la mise en réseau améliorée sur mes instances EC2 ?

Résolution

Création d'une nouvelle instance Amazon EC2 ou d'une nouvelle AMI

Toutes les principales distributions Linux sont disponibles sur l'architecture ARM. Pour lancer une instance qui utilise l'architecture ARM :

  1. Ouvrez la console Amazon EC2.
  2. Choisissez Lancer instance, puis Lancer instance.
  3. Choisissez 64 bits (ARM) à côté de l'AMI qui correspond à la version ARM de votre distribution, puis choisissez Sélectionner.
  4. Terminez le lancement de l'instance.

Migrer l'application vers une nouvelle instance Amazon EC2

En raison des différents jeux d'instructions, il n'est pas possible de modifier directement le type d'instance entre les types d'architecture. Pour migrer votre système vers la nouvelle architecture, procédez comme suit :

  1. Lancez une nouvelle instance EC2 pour la configuration choisie.
  2. Migrez votre application vers la nouvelle instance EC2.

Informations connexes

Processeur AWS Graviton

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 10 mois