Comment utiliser EC2Rescue pour Linux pour résoudre les problèmes qui se produisent au niveau du système d'exploitation ?
Je ne peux pas me connecter à mon instance Amazon Elastic Compute Cloud (Amazon EC2) Linux ou je rencontre des problèmes lors du démarrage. Pour y remédier, je dois modifier les autorisations de fichiers OpenSSH, ou obtenir des journaux système. Comment puis-je utiliser EC2Rescue pour Linux à cette fin ?
Brève description
EC2Rescue pour Linux est un outil qui permet de diagnostiquer et de résoudre les problèmes rencontrés sur les instances Amazon EC2 Linux. EC2Rescue pour Linux est exécuté sur votre instance Amazon EC2 Linux afin de corriger les problèmes au niveau du système d'exploitation. EC2Rescue pour Linux collecte également des journaux avancés, des rapports d'utilisation système et des fichiers de configuration pour une analyse plus approfondie.
Scénarios courants traités par EC2Rescue pour Linux :
- Collecte de rapports d'utilisation du système tels que vmstat, iostat, mpstat, etc.
- Collecte de journaux et de détails tels que syslog, dmesg, les journaux d'erreurs d'application et les journaux SSM.
- Détection des problèmes système tels que le routage asymétrique ou la duplication des étiquettes du périphérique racine.
- Correction automatique des problèmes système tels que la correction des autorisations de fichier OpenSSH ou la désactivation des paramètres de noyau problématiques connus.
Configuration système requise
EC2Rescue pour Linux nécessite une instance Amazon EC2 Linux qui respecte les prérequis suivants :
Systèmes d'exploitation pris en charge
- Amazon Linux 2
- Amazon Linux 2016.09+
- SLES 12+
- RHEL 7+
- Ubuntu 16.04+
Configuration logicielle requise
- Python 2.7.9+ ou 3.2+
Remarque : Si vous avez activé EC2 Serial Console pour Linux, vous pouvez l'utiliser pour résoudre les problèmes liés aux types d'instances basés sur 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, accordez-lui l'accès au niveau du compte. Créez ensuite 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 section Solution. 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.
Solution
Pour dépanner une instance Amazon EC2 Linux inaccessible à l'aide d'EC2Rescue pour Linux, procédez comme suit :
1. Lancez une nouvelle instance Amazon EC2 dans votre Virtual Private Cloud (VPC) en utilisant la même Amazon Machine Image (AMI) et dans la même zone de disponibilité que l'instance affectée. Cette nouvelle instance devient votre instance « de secours ». Vous pouvez également utiliser une instance existante à laquelle vous pouvez accéder, si elle utilise la même AMI et se trouve dans la même zone de disponibilité que votre instance affectée.
2. Détachez le volume racine Amazon Elastic Block Store (Amazon EBS) (/dev/xvda ou /dev/sda1) de l'instance affectée. Notez le nom de dispositif pour vous assurer qu'il est identique lorsque vous le rattachez ultérieurement
3. Attachez le volume EBS en tant que dispositif secondaire (/dev/sdf) à l'instance de secours.
4. Connectez-vous à l'instance EC2 en utilisant SSH.
5. Devenez racine, identifiez le nom du dispositif correct à l'aide de lsblk, puis enregistrez-le pour l'utiliser tout au long du processus :
$ sudo -i # lsblk # rescuedev=/dev/xvdf1
Remarque : Le dispositif (/dev/xvdf1) peut être attaché à l'instance de secours avec un nom de périphérique différent. Utilisez la commande lsblk pour afficher vos dispositifs de disque disponibles, ainsi que leurs points de montage, afin de déterminer les noms de dispositifs corrects.
6. Sélectionnez un point de montage temporaire approprié à utiliser et assurez-vous qu'il existe ; utilisez /mnt sauf s'il est déjà utilisé :.
# rescuemnt=/mnt # mkdir -p $rescuemnt
7. Montez le système de fichiers racine à partir du volume attaché :
# mount $rescuedev $rescuemnt
Remarque : Si le montage du volume échoue, vérifiez dmesg | tail. Si les journaux suggèrent des UUID en conflit, utilisez l'option -o nouuid.
8. Montez des systèmes de fichiers spéciaux et remplacez le répertoire racine (chroot) par le système de fichiers nouvellement monté :
# for i in proc sys dev run; do mount --bind /$i $rescuemnt/$i ; done # chroot $rescuemnt
9. Téléchargez et installez l'outil EC2Rescue pour Linux sur un volume racine Linux hors ligne :
# curl -O https://s3.amazonaws.com/ec2rescuelinux/ec2rl.tgz # tar -xf ec2rl.tgz
10. Vérifiez l'installation en répertoriant le fichier d'aide :
# cd ec2rl-<version_number> # ./ec2rl help
11. Exécutez EC2Rescue pour Linux sans options pour exécuter tous les modules :
# ./ec2rl run
12. Affichez les résultats dans /var/temp/ec2rl :
# cat /var/tmp/ec2rl/*/Main.log | more
13. Activez les modules pris en charge en fonction des résultats :
# ./ec2rl run --remediate
14. Une fois la correction effectuée, quittez chroot et démontez le dispositif secondaire :
# exit # umount $rescuemnt/{proc,sys,dev,run,}
Remarque : Si l’opération de démontage n'aboutit pas, vous serez peut-être amené à arrêter ou redémarrer l'instance de secours pour effectuer un démontage propre.
15. Détachez le volume secondaire (/dev/sdf) de l'instance EC2 de secours, puis attachez-le à l'instance d'origine en tant que /dev/xvda ou /dev/sda1 (volume racine). Assurez-vous que c'est le même que celui indiqué à l'étape 2.
16. Démarrez l'instance EC2, puis vérifiez que l'instance répond.
Remarque : Vous pouvez également utiliser un document AWS Systems Manager Automation pour résoudre les problèmes de connexion. Pour plus d'informations, consultez Démonstration : Exécution de l'outil EC2Rescue sur des instances inaccessibles. Le document AWSSupport-ExecuteEC2Rescue est conçu pour automatiser les étapes normalement nécessaires pour utiliser EC2Rescue pour Linux. Ces étapes sont une combinaison d'actions Systems Manager, d'actions AWS CloudFormation et de fonctions AWS Lambda.
Dépannage supplémentaire
- Pour obtenir des instructions générales sur la récupération d'une instance Linux, consultez Récupération d'instance en cas de plantage de l'ordinateur hôte. Pour les instances Windows, consultez Résolution d'un problème d'instance inaccessible.
- Si le dispositif racine de votre instance est un volume basé sur Amazon EBS, essayez d'arrêter puis de redémarrer l'instance. Pour plus d'informations, consultez Arrêt et démarrage de votre instance.
- Pour les instances basées sur le stockage d’instances, si vous avez créé une AMI personnalisée pour l’instance, il est possible que vous puissiez la restaurer à l'aide de l’AMI en tant que sauvegarde. Pour des instructions sur la création d'une instance à partir de l'une de vos AMI, consultez Lancer une instance à l'aide de l'ancien assistant de lancement d'instances.
- Dans certains cas, l'accès en I/O peut être désactivé sur votre volume EBS, ce qui peut rendre l'instance inaccessible. Pour obtenir des instructions sur l'identification et la résolution de ce problème, consultez Utilisation de l'attribut de volume d’activation automatique des E/S.
- Si vous avez perdu la paire de clés SSH, vous pouvez la réinitialiser à l'aide de Systems Manager Automation et du document AWSSupport-ResetAccess.
Informations connexes
Recover your impaired instances using EC2Rescue and Amazon EC2 Systems Manager Automation
Contenus pertinents
- demandé il y a 2 moislg...
- demandé il y a un anlg...
- demandé il y a 2 anslg...
- demandé il y a un anlg...
- AWS OFFICIELA mis à jour il y a 3 mois
- AWS OFFICIELA mis à jour il y a un an