web-dev-qa-db-fra.com

Comment vérifier si mes données utilisateur passant à l'instance EC2 fonctionnent ou non?

Lors de la création d'une nouvelle instance AWS EC2 à l'aide de l'API de ligne de commande EC2, je transmets certaines données utilisateur à une nouvelle instance.

Maintenant, comment ai-je pu savoir si ces données utilisateur avaient été exécutées ou non?

Comment dois-je le vérifier?

33
Pravin

Vous pouvez vérifier en utilisant les étapes suivantes

  1. SSH au lancement de l'instance EC2
  2. Consultez le journal de votre script de données utilisateur dans
    • /var/log/cloud-init.log et
    • /var/log/cloud-init-output.log

Vous pouvez voir tous les journaux de votre script de données utilisateur et cela créera également /etc/cloud dossier.

25
Ravi Prajapati

Juste pour référence, vous pouvez vérifier si les données utilisateur sont exécutées en consultant le journal système à partir de la console EC2. Faites un clic droit sur votre instance - Paramètres d'instance - Obtenir le journal système

enter image description here

Cela devrait ouvrir une fenêtre modale avec les journaux système

enter image description here

14
jetpackdata.com

Le débogage des scripts de données utilisateur sur Amazon EC2 est en effet un peu gênant, car il n'y a généralement aucun moyen de se connecter activement au processus, donc on aimerait idéalement gagner Real accès en temps à la sortie du script de données utilisateur comme résumé dans l'article d'Eric Hammond Journalisation de la sortie du script de données utilisateur sur les instances EC2 :

Les dernières AMI d'Ubuntu envoient toujours un script de données utilisateur à la sortie de la console, vous pouvez donc le visualiser à distance, mais il n'est plus disponible dans syslog sur l'instance. La sortie de la console n'est mise à jour que quelques minutes après le démarrage, le redémarrage ou la fin de l'instance, ce qui vous oblige à attendre de voir la sortie du script de données utilisateur ainsi qu'à ne pas capturer la sortie qui pourrait sortir après l'instantané.

Selon votre configuration, vous souhaiterez peut-être envoyer les journaux à une installation de journalisation à distance comme Loggly tout de suite, mais le faire installer assez tôt peut évidemment être une sorte de problème de poulet/œuf (bien que cela fonctionne très bien si l'AMI se trouve être déjà configuré comme tel).

3
Steffen Opel

Activez la journalisation de vos données utilisateur

exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1

Prenez soin de mettre un espace entre les deux>> caractères au début de l'instruction.

Voici un script complet de données utilisateur à titre d'exemple:

#!/bin/bash -ex
exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1
echo BEGIN
date '+%Y-%m-%d %H:%M:%S'
echo END

2
utkarsh-devops

Demandez à vos données utilisateur de créer un fichier dans le répertoire/tmp de votre ec2 pour voir si cela fonctionne:

bob.txt:

#!/bin/sh
echo 'Woot!' > /home/ec2-user/user-script-output.txt

Lancez ensuite avec:

ec2-run-instances -f bob.txt -t t1.micro -g ServerPolicy AMI-05cf5c6d -v

0
Mauvis Ledford