Résoudre les problèmes de lancement d'instance
Le problème suivant vous empêche de lancer une instance.
Problèmes de lancement
- Nom de périphérique non valide
- Dépassement de la limite d'instance
- Capacité d'instance insuffisante
- La configuration demandée n'est actuellement pas prise en charge. Consultez la documentation pour voir les configurations prises en charge.
- Mise hors service immédiate de l'instance
- Autorisations insuffisantes
Nom de périphérique non valide
Description
Vous obtenez l'erreur Invalid device name
lorsque vous essayez de lancer une nouvelle instance.device_name
Cause
Si vous obtenez cette erreur lorsque vous essayez de lancer une instance, le nom de périphérique spécifié pour un ou plusieurs volumes dans la demande comporte un nom de périphérique non valide. Les causes possibles incluent :
-
Le nom de périphérique est peut-être déjà utilisé par l'AMI sélectionnée.
-
Le nom de périphérique peut être réservé aux volumes racine.
-
Le nom de périphérique peut être utilisé pour un autre volume dans la demande.
-
Le nom de périphérique peut ne pas être valide pour le système d'exploitation.
Solution
Pour résoudre le problème :
-
Assurez-vous que le nom de périphérique n'est pas utilisé dans l'AMI que vous avez sélectionnée. Exécutez la commande suivante pour afficher les noms de périphériques utilisés par l'AMI.
$
aws ec2 describe-images --image-idami_id
--query 'Images[*].BlockDeviceMappings[].DeviceName' -
Assurez-vous que vous n'utilisez pas un nom de périphérique qui est réservé aux volumes racine. Pour de plus amples informations, veuillez consulter Noms d'appareil disponibles.
-
Assurez-vous que chaque volume spécifié dans votre demande possède un nom de périphérique unique.
-
Assurez-vous que les noms de périphériques que vous avez spécifiés sont au format correct. Pour de plus amples informations, veuillez consulter Noms d'appareil disponibles.
Dépassement de la limite d'instance
Description
Vous obtenez l'erreur InstanceLimitExceeded
lorsque vous essayez de lancer une nouvelle instance ou de redémarrer une instance arrêtée.
Cause
Si vous obtenez une erreur InstanceLimitExceeded
lorsque vous essayez de lancer une nouvelle instance ou de redémarrer une instance arrêté, vous avez atteint la limite du nombre d'instances que vous pouvez lancer dans une région. Lorsque vous créez votre compte AWS, nous définissons des limites sur nombre d'instances que vous pouvez exécuter en fonction des régions.
Solution
Vous pouvez demander une augmentation de la limite d'instance par région. Pour de plus amples informations, veuillez consulter Quotas de service Amazon EC2.
Capacité d'instance insuffisante
Description
Vous obtenez l'erreur InsufficientInstanceCapacity
lorsque vous essayez de lancer une nouvelle instance ou de redémarrer une instance arrêtée.
Cause
Si vous obtenez cette erreur lorsque vous essayez de lancer une instance ou de redémarrer une instance arrêtée, AWS n'a actuellement pas assez de capacité à la demande disponible pour répondre à votre demande.
Solution
Pour résoudre ce problème, essayez ce qui suit :
-
Attendez quelques minutes, puis renvoyez votre demande. La capacité peut changer fréquemment.
-
Envoyez une nouvelle demande avec un nombre réduit d'instances. Par exemple, si vous faites une demande simple pour lancer 15 instances, essayez de faire 3 demandes pour 5 instances ou 15 demandes pour 1 instance à la place.
-
Si vous lancez une instance, soumettez une nouvelle demande sans spécifier de zone de disponibilité.
-
Si vous lancez une instance, envoyez une nouvelle demande en utilisant un type d'instance différent (que vous pouvez redimensionner à un stade ultérieur). Pour de plus amples informations, veuillez consulter Modifier le type d'instance.
-
Si vous lancez des instances dans un groupe de placement du cluster, vous pouvez recevoir une erreur de capacité insuffisante. Pour de plus amples informations, veuillez consulter Utilisation des groupes de placement.
La configuration demandée n'est actuellement pas prise en charge. Consultez la documentation pour voir les configurations prises en charge.
Description
Vous obtenez l'erreur Unsupported
lorsque vous essayez de lancer une nouvelle instance, car la configuration de l'instance n'est pas prise en charge.
Cause
Le message d'erreur fournit des informations supplémentaires. Par exemple, un type d'instance ou une option d'achat d'instance peut ne pas être prise en charge dans la région ou la zone de disponibilité spécifiée.
Solution
Essayez une autre configuration d'instance. Pour rechercher un type d'instance qui répond à vos besoins, consultez Rechercher un type d'instance Amazon EC2.
Mise hors service immédiate de l'instance
Description
Votre instance passe de l'état pending
à l'état terminated
.
Cause
Voici quelques raisons qui expliquent pourquoi une instance peut se terminer immédiatement :
-
Vous avez dépassé vos limites de volumes EBS. Pour de plus amples informations, veuillez consulter Limites de volume d'instance.
-
Un instantané EBS est corrompu.
-
Le volume EBS racine est chiffré et vous n'êtes pas autorisé à accéder à la clé KMS pour le déchiffrement.
-
Un instantané spécifié dans le mappage de périphérique de stockage en mode bloc pour l'AMI est chiffré et vous ne disposez pas des autorisations nécessaires pour accéder à la clé KMS pour la déchiffrer, ou vous n'avez pas accès à la clé KMS pour chiffrer les volumes restaurés.
-
L'AMI basée sur le stockage d'instance que vous avez utilisée pour lancer l'instance ne possède par une partie obligatoire (un fichier image.part.xx).
Pour de plus amples informations, veuillez récupérer le motif de résiliation à l'aide de l'une des méthodes suivantes.
Pour obtenir la cause de la résiliation à l'aide de la console Amazon EC2
Ouvrez la console Amazon EC2 sur https://console.aws.amazon.com/ec2/
. -
Dans le panneau de navigation, sélectionnez instances, puis choisissez l'instance.
-
Dans le premier onglet, recherchez le motif en regard de State transition reason (Motif de transition de l'état).
Pour obtenir la cause de la résiliation à l'aide de l AWS Command Line Interface
-
Utilisez la commande describe-instances et spécifiez l'ID de l'instance.
aws ec2 describe-instances --instance-id
instance_id
-
Vérifiez la réponse JSON renvoyée par la commande et notez les valeurs de l'élément de réponse
StateReason
.Le bloc de code suivant présente un exemple d'élément de réponse
StateReason
."StateReason": { "Message": "Client.VolumeLimitExceeded: Volume limit exceeded", "Code": "Server.InternalError" },
Pour obtenir la cause de la résiliation à l'aide de l AWS CloudTrail
Pour de plus amples informations, veuillez consulter Affichage des événements avec l'historique des événements CloudTrail dans le AWS CloudTrailGuide de l’utilisateur.
Solution
En fonction de la cause de la résiliation, exécutez l'une des actions suivantes :
-
Client.VolumeLimitExceeded: Volume limit exceeded
— Supprimez les volumes inutilisés. Vous pouvez envoyer une demanded'augmentation de votre limite de volumes. -
Client.InternalError: Client error on launch
: assurez-vous que vous disposez des autorisations requises pour accéder aux AWS KMS keys utilisées pour déchiffrer et chiffrer des volumes. Pour de plus amples informations, veuillez consulter Utilisation des politiques de clé AWS KMS dans le AWS Key Management Service Guide du développeur.
Autorisations insuffisantes
Description
Vous obtenez l'erreur "
lorsque vous essayez de lancer une nouvelle instance et que le lancement échoue.errorMessage
": "You are not authorized to
perform this operation."
Cause
Si cette erreur s'affiche lorsque vous essayez de lancer une instance, cela signifie que vous ne disposez pas des autorisations IAM requises pour lancer l'instance.
Les autorisations manquantes possibles incluent :
-
ec2:RunInstances
-
iam:PassRole
D'autres autorisations peuvent également être manquantes. Pour obtenir la liste des autorisations requises pour lancer une instance, consultez les exemples de politiques IAM sous Exemple : utiliser l'assistant de lancement d'instances d'EC2 et Lancer des instances (Runinstances).
Solution
Pour résoudre le problème :
-
Si vous faites des demandes en tant qu'utilisateur IAM, vérifiez que vous avez les autorisation suivantes :
-
ec2:RunInstances
avec une ressource générique (« * ») -
iam:PassRole
avec la ressource correspondant à l'ARN du rôle (par exemple,arn:aws:iam::999999999999:role/ExampleRoleName
)
-
-
Si vous ne disposez pas des autorisations précédentes, modifiez la politique IAM associée au rôle ou à l'utilisateur IAM pour ajouter les autorisations requises manquantes.
Si votre problème persiste et que vous recevez toujours un message d'erreur d'échec de lancement, vous pouvez décoder le message d'échec d'autorisation inclus dans l'erreur. Le message décodé inclut les autorisations qui ne figurent pas dans la politique IAM. Pour plus d'informations, voir Comment puis-je décoder un message d'échec d'autorisation après avoir reçu une erreur « UnauthorizedOperation » lors du lancement d'une instance EC2 ?