Comment résoudre les problèmes de connexion à mon instance EC2 Linux en utilisant une adresse IP secondaire ?

Dernière mise à jour : 28/04/2021

Je ne parviens pas à me connecter à mon instance Amazon EC2 (Amazon Elastic Compute Cloud) Linux en utilisant une adresse IP secondaire. Comment résoudre ce problème ?

Brève description

Pour vous connecter à votre instance via SSH en utilisant une adresse IP secondaire, vérifiez que votre instance respecte les prérequis suivants :

Si votre instance respecte ces prérequis, procédez comme suit pour résoudre les problèmes de connexion via SSH :

  1. Connectez-vous via SSH avec la messagerie détaillée activée pour identifier l'erreur.
  2. Examinez les journaux système pour rechercher les erreurs.

Résolution

Remarque : examinez les conditions préalables générales de connexion avant de commencer.

Connectez-vous via SSH avec la messagerie détaillée activée pour identifier l'erreur.

Examen des journaux système à la recherche d'erreurs

Si les étapes précédentes ne suffisent pas à résoudre le problème, examinez les journaux système de l'instance. Il existe deux méthodes pour accéder aux journaux de votre instance :

Méthode 1 : Utilisation d'EC2 Serial Console

Si vous avez activé EC2 Serial Console pour Linux, vous pouvez l'utiliser pour résoudre les problèmes liés aux types d'instance Nitro pris en charge. EC2 Serial Console vous aide à résoudre les problèmes de démarrage, de configuration réseau et de configuration SSH. EC2 Serial Console se connecte à votre instance sans qu'aucune connexion réseau ne soit nécessaire. Vous pouvez accéder à EC2 Serial Console à l'aide de la console Amazon EC2 ou de l'interface de ligne de commande AWS (AWS CLI).

Avant d'utiliser EC2 Serial Console, vous devez lui accorder l'accès au niveau du compte et créer des stratégies AWS Identity and Access Management (IAM) accordant l'accès à vos utilisateurs IAM. De même, chaque instance qui utilise EC2 Serial Console doit inclure au moins un utilisateur avec mot de passe. Si votre instance n'est pas accessible et que vous n'avez pas configuré l'accès à EC2 Serial Console, suivez les instructions de la méthode 2. Pour en savoir plus sur la configuration d'EC2 Serial Console pour Linux, consultez Configuration de l'accès à EC2 Serial Console.

Remarque : Si vous recevez des erreurs lors de l'exécution de commandes AWS CLI, vérifiez que vous utilisez la version la plus récente d'AWS CLI.

Méthode 2 : Accès aux journaux en utilisant une instance de secours

Avertissement : Avant de lancer cette procédure, prenez note des points suivants :

1.    Ouvrez la console Amazon EC2.

2.    Choisissez Instances dans le volet de navigation, puis sélectionnez l'instance à laquelle vous essayez de vous connecter.

3.    Choisissez Instance State (État de l'instance), Stop instance (Arrêter l'instance), puis sélectionnez Stop (Arrêter). Notez l'ID d'instance.

Remarque : Si vous n'utilisez pas la nouvelle expérience EC2, sélectionnez l'instance à laquelle vous essayez de vous connecter. Sélectionnez Actions, Instance State (État de l'instance), Stop (Arrêter), Stop (Arrêter).

4.    Détachez le volume racine Amazon Elastic Block Store (Amazon EBS) de l'instance arrêtée. Notez le nom d'appareil du volume EBS racine. Le nom de l'appareil est nécessaire lorsque vous attachez à nouveau le volume après le dépannage.

5.    Lancez une nouvelle instance EC2 dans la même zone de disponibilité que l'instance d'origine. La nouvelle instance devient votre instance de « secours ».

Remarque : Il est recommandé d'utiliser une instance Amazon Linux 2 comme instance de secours. L'utilisation d'une instance Amazon Linux 2 empêche l'instance de secours de démarrer à partir du volume EBS attaché, car l'UUID ou le nom du volume EBS est identique.

6.    Une fois que l'instance de secours est lancée, choisissez Volumes dans le volet de navigation, puis sélectionnez le volume racine détaché de l'instance affectée.

Remarque : Si le volume racine de l'instance affectée comporte des codes Marketplace et que l'instance de secours n'est pas Amazon Linux, arrêtez l'instance de secours avant d'attacher le volume EBS racine. Une instance peut avoir des codes Marketplace si vous avez lancé l'instance à partir d'une AMI RHEL ou CentOS officielle, par exemple.

7.    Choisissez Actions, Attach Volume (Attacher un volume).

8.    Sélectionnez Instances dans le volet de navigation, puis l'instance de secours.

9.    Choisissez Instance state (État de l'instance), Start instance (Démarrer l'instance).

Remarque : si vous n'utilisez pas la console de la nouvelle expérience EC2, sélectionnez l'instance à laquelle vous essayez de vous connecter, puis choisissez Actions, État de l'instance, Démarrer.

11.    Connecter à l'instance de secours via SSH.

12.    Exécutez la commande suivante pour vérifier que le volume EBS est correctement attaché à l'instance de secours. Dans la commande suivante, le volume attaché en tant que /dev/sdf.

$ lsblk

Voici un exemple de sortie de la commande :

NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   20G  0 disk 
└─xvda1 202:1    0   20G  0 part /
xvdf    202:80   0  100G  0 disk

13.    Utilisez les commandes suivantes pour créer un répertoire de point de montage, puis montez le volume attaché à l'instance de secours. Dans l'exemple suivant, le répertoire du point de montage est /test.

$ sudo su
$ mkdir /test
$ mount /dev/xvdf1 /test
$ df -h
$ cd /test

14.    Recherchez les erreurs dans les journaux système et les journaux liés à l'authentification qui sont horodatés avec les différentes heures des tentatives d'accès.

Amazon Linux, RHEL, CentOS

$ sudo cat /test/var/log/messages

Amazon Linux, RHEL, CentOS (problèmes liés à l'authentification)

$ sudo cat /test/var/log/secure

Ubuntu, Debian (journaux système)

$ sudo cat /test/var/log/syslog

Ubuntu, Debian (problèmes liés à l'authentification)

$ sudo cat /test/var/log/auth.log

15.    Après avoir examiné les configurations et corrigé les erreurs éventuelles, démontez et détachez le volume racine EBS de l'instance de secours.

$ umount /test

16.    Attachez le volume à l'instance d'origine. Le nom de l'appareil est /dev/xvda.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?