Pourquoi mon instance AWS OpsWorks Stacks ne démarre-t-elle pas et reste-t-elle dans l'état « start_failed » ?

Lecture de 7 minute(s)
0

L'une de mes instances Amazon Elastic Compute Cloud (Amazon EC2) gérée par AWS OpsWorks Stacks est bloquée dans l'état « start_failed ». Pourquoi mon instance OpsWorks Stacks ne passe-t-elle pas à l'état « en ligne » et comment puis-je résoudre ce problème ?

Brève description

Une instance OpsWorks Stacks peut entrer dans l'état start_failed et ne pas démarrer pendant un événement du cycle de vie de setup pour diverses raisons. Cependant, le problème est généralement le résultat d'un problème de réseau.

Pour résoudre le problème, vérifiez d'abord si votre instance EC2 peut se connecter au service OpsWorks Stacks. S'il n'y a pas de connexion, consultez la section Si votre instance EC2 ne peut pas se connecter au service OpsWorks Stacks de cet article. Si une connexion est établie, consultez la section Si votre instance EC2 peut se connecter au service OpsWorks Stacks de cet article.

Remarque : pour les instances bloquées dans l'état setup_failed, consultez la section Pourquoi mon instance AWS OpsWorks Stacks ne démarre-t-elle pas et est bloquée dans l'état « setup_failed » ?

Résolution

Vérifier si votre instance EC2 peut se connecter au service OpsWorks Stacks

1.    Connectez-vous à votre instance Amazon EC2.

2.    Envoyez une demande de test au point de terminaison OpsWorks associé à l'instance en exécutant la commande netcat (nc) suivante à l'aide de l'interface de ligne de commande (CLI) Linux :

Important : remplacez opsworks.us-east-1.amazonaws.com par le point de terminaison OpsWorks Stacks que vous utilisez.

nc -vz opsworks.us-east-1.amazonaws.com 443

Si votre instance EC2 peut se connecter au service OpsWorks Stacks, le résultat de la commande est similaire à ce qui suit :

Ncat: Connected to <ipaddress>

Remarque : si netcat n'est pas installé sur votre instance EC2, installez manuellement le package netcat sur l'instance en exécutant la commande suivante :

sudo yum install -y nc

Si votre instance EC2 ne parvient pas à se connecter au service OpsWorks Stacks

Si une passerelle NAT fournit un accès Internet à votre instance EC2

Suivez les instructions de la section Pourquoi mes instances EC2 ne peuvent-elles pas accéder à Internet via une passerelle NAT ?

Si une passerelle Internet fournit un accès Internet à votre instance EC2

Suivez les instructions de la section Pourquoi mon instance EC2 ne peut-elle pas se connecter à Internet via une passerelle Internet ?

Si une instance NAT fournit un accès Internet à votre instance EC2

Ouvrez la console EC2 et vérifiez les points suivants :

  • L'instance NAT est en cours d'exécution.
    Remarque : si l'instance NAT n'est pas en cours d'exécution, modifiez l'état pour qu'il soit en cours d'exécution.
  • L'instance NAT passe les contrôles d'état.
    Remarque : si l'instance NAT ne passe pas les contrôles d'état, procédez comme suit : Créez une nouvelle instance NAT. Associez ensuite la nouvelle instance NAT à votre instance EC2 dans la table de routage de l'instance NAT.
  • L'instance EC2 se trouve dans un Amazon Virtual Private Cloud (Amazon VPC) par défaut.
    Remarque : une instance EC2 gérée par OpsWorks Stacks passe toujours à l'état start_failed si elle est lancée en dehors d'un Amazon VPC par défaut.

Pour plus d'informations, consultez Afficher les contrôles d'état.

Si un point de terminaison d'un VPC fournit un accès Internet à votre instance EC2

  • Vérifiez que les points de terminaison de votre VPC sont corrects et accessibles au sein de l'Amazon VPC que vous utilisez en procédant comme suit :
    Ouvrez la Amazon VPC console (console Amazon VPC).
    Dans le panneau de navigation, sous Cloud privé virtuel, choisissez Endpoints (Points de terminaison).
    Vérifiez ensuite vos points de terminaison d'un VPC associés à votre instance EC2 pour vous assurer qu'ils sont corrects et accessibles.
  • Vérifiez que vos points de terminaison d'un VPC peuvent effectuer les actions requises à partir d'Amazon Simple Storage Service (Amazon S3).

Si votre instance EC2 peut se connecter au service OpsWorks Stacks

Vérifiez les autorisations IAM de l'instance EC2

Vérifiez qu'un rôle AWS Identity and Access Management (IAM) existe pour le profil d'instance et inclut toutes les autorisations requises.

S'il n'existe aucun rôle IAM pour le profil d'instance, procédez comme suit :

1.    Arrêtez l'instance.

2.    Détachez le rôle de profil d'instance de l'instance EC2 en procédant comme suit :
Dans la console EC2, choisissez Instances (Instances). Sélectionnez ensuite votre instance EC2.
Sélectionnez l'onglet Actions, choisissez Security (Sécurité), puis Modify IAM role (Modifier le rôle IAM).
Choisissez No IAM Role (Aucun rôle IAM). Choisissez ensuite Save (Enregistrer).

3.    Remplacez le profil d'instance à l'aide de l'instance EC2 existante.
-ou-
Remplacez l'instance EC2 dans OpsWorks Stacks.

Remarque : pour plus d'informations sur la façon de remplacer une instance EC2 dans OpsWorks Stacks, reportez-vous à la section Ajout d'une instance à une couche.

Pour les instances EC2 soutenues par Amazon Elastic Block Store (Amazon EBS), vérifiez que le volume du périphérique racine de l'instance n'est pas plein

Pour obtenir des instructions, consultez Affichage de l'espace disque disponible pour Linux ou Affichage de l'espace disque disponible pour Windows.

Vérifiez que l'instance EC2 utilise IMDSv1

Pour vérifier le service de métadonnées utilisé par votre instance et pour reconfigurer l'instance si nécessaire, consultez la section Configurer les options de métadonnées d'instance.

Remarque : OpsWorks Stacks prend en charge le service de métadonnées d'instance version 1 (IMDSv1) uniquement, et non IMDSv2.

Pour les instances EC2 soutenues par une AMI personnalisée, vérifiez que l'AMI est correctement configurée

Pour plus d'informations, consultez Création d'une image Amazon Machine Image (AMI) Linux personnalisée à partir d'une instance AWS OpsWorks Stacks.

Vérifiez que l'agent OpsWorks Stacks installé sur l'instance EC2 est en cours d'exécution

1.    Connectez-vous à votre instance Amazon EC2.

2.    Vérifiez que l'agent OpsWorks Stacks installé sur votre instance EC2 est en cours d'exécution, en exécutant la commande suivante sur la CLI Linux :

sudo service opsworks-agent status

Si l'agent OpsWorks Stacks est en cours d'exécution, la sortie de la commande ressemble à ce qui suit :

Active: active (running)

Si l'agent OpsWorks Stacks n'est pas en cours d'exécution, la sortie de la commande ressemble à ce qui suit :

Active: inactive (dead)

Si l'agent OpsWorks Stacks n'est pas en cours d'exécution, démarrez-le en exécutant la commande suivante :

sudo service opsworks-agent start

Rechercher les erreurs « Client.UnauthorizedOperation » dans les journaux CloudTrail de votre instance EC2

Examinez les appels d'API de votre instance OpsWorks Stacks enregistrés dans AWS CloudTrail. Recherchez les événements EC2 RunInstances qui ont renvoyé le message d'erreur suivant : Client.UnauthorizedOperation.

Si le message d'erreur s'affiche dans le CloudTrail de votre instance, consultez l'article suivant : Comment résoudre le problème du message d'échec d'autorisation codé lorsque j'essaie de restaurer une instance Amazon EC2 à l'aide d'AWS Backup ?

Si votre instance EC2 est affectée à plusieurs couches, assurez-vous que chaque couche possède les mêmes paramètres réseau

Pour plus d'informations, consultez Ajout d'une instance à une couche.


AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 3 ans