Passer au contenu

Comment puis-je consulter une liste de mes instances Amazon EC2 connectées à Amazon EFS ?

Lecture de 6 minute(s)
0

J’ai monté un système de fichiers Amazon Elastic File System (Amazon EFS) sur mon instance Amazon Elastic Compute Cloud (Amazon EC2). Je souhaite consulter une liste des instances Amazon EC2.

Brève description

Pour suivre le trafic sur l'interface réseau de chaque cible de montage Amazon EFS, utilisez Amazon Virtual Private Cloud (Amazon VPC) Flow Logs. Publiez les journaux de flux sur Amazon CloudWatch Logs. Puis, utilisez CloudWatch Logs Insights pour filtrer le flux de trafic sur l'interface réseau de la cible du montage. CloudWatch Logs Insights utilise un horodatage spécifique pour identifier les instances EC2 sur lesquelles des systèmes de fichiers EFS sont montés.

Résolution

Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'AWS CLI.

Créer un groupe de journaux

Procédez comme suit :

  1. Ouvrez la console Amazon CloudWatch.
  2. Dans le volet de navigation, choisissez Journaux, puis Groupes de journaux.
  3. Sélectionnez Créer un groupe de journaux.
    Pour Nom du groupe de journaux, entrez un nom.
    Pour Paramètre de rétention, entrez un paramètre de rétention.
    (Facultatif) Ajoutez un Amazon Resource Name (ARN) et des identifications AWS Key Management Service (AWS KMS).
  4. Sélectionnez Créer.

Créer un rôle IAM avec les autorisations nécessaires pour publier des journaux de flux sur CloudWatch Logs

Procédez comme suit :

  1. Ouvrez la console Gestion des identités et des accès AWS (AWS IAM).
  2. Sous Gestion des accès, choisissez Rôles.
  3. Choisissez Créer un rôle, puis créez un nouveau rôle IAM.
  4. Dans la politique IAM du rôle, ajoutez les autorisations et incluez une politique d’approbation pour que le service assume le rôle.

Obtenir les interfaces réseau cibles de montage de votre système de fichiers Amazon EFS

Remarque : EFS a une cible de montage différente pour chaque zone de disponibilité.

Procédez comme suit :

  1. Ouvrez la console EFS.
  2. Sous Systèmes de fichiers, choisissez votre système de fichiers EFS, puis choisissez Afficher les détails.
  3. Choisissez Réseau, puis notez l'ID de l'interface réseau pour chaque cible de montage.

Créer des journaux de flux

Procédez comme suit :

  1. Ouvrez la console EC2.
  2. Choisissez Réseau et sécurité, puis Interfaces réseau.
  3. Choisissez les interfaces réseau utilisées par la cible de montage.
  4. Dans le menu Actions, sélectionnez Créer un journal de flux.
  5. Saisissez ensuite les valeurs suivantes :
    (Facultatif) Dans Nom, entrez un nom de journal de flux.
    Dans Filtrer, sélectionnez Tout.
    Pour Intervalle d'agrégation maximal, choisissez la valeur par défaut de 10 minutes ou 1 minute.
    Pour Destination, choisissez Envoyer vers les journaux CloudWatch.
    Pour Groupe de journaux de destination, choisissez votre groupe de journaux.
    Pour Rôle IAM, choisissez votre rôle IAM.
    Pour Format d'enregistrement du journal, choisissez Format par défaut AWS ou Format personnalisé.
    (Facultatif) Pour Identifications, ajoutez des identifications.
  6. Sélectionnez Créer.
  7. Pour surveiller l'état du journal de flux, choisissez votre interface réseau, puis choisissez Journaux de flux. Vérifiez que le champ Statut indique Actif.

Remarque : Le système de journaux de flux publie le premier journal dans CloudWatch Logs au bout de 10 minutes environ.

Vérifier que les journaux de flux se trouvent dans CloudWatch Logs

Procédez comme suit :

  1. Ouvrez la console CloudWatch.
  2. Dans le volet de navigation, sélectionnez Groupes de journaux.
  3. Pour Groupes de journaux, choisissez votre groupe de journaux.
  4. Vérifiez que tous les flux de journaux apparaissent.
    Remarque : Chaque interface réseau possède un flux de journaux différent.

Utiliser CloudWatch Logs Insights pour exécuter une requête

Procédez comme suit :

  1. Ouvrez la console CloudWatch.
  2. Dans le volet de navigation, sélectionnez Journaux, puis Log Insights.
  3. Choisissez votre groupe de journaux.
  4. Choisissez l'une des valeurs de durée suivantes : 5 m, 30 m, 1 h, 3 h, 12 h ou Personnalisé.
  5. Exécutez la requête suivante :
    fields @timestamp, @message | filter dstPort="2049" | stats count(*) as FlowLogEntries by srcAddr | sort FlowLogEntries desc

La requête précédente passe en revue tous les journaux de flux pour toutes les cibles de montage. La requête filtre les journaux dont le port de destination est défini sur Port=2049. Les clients EFS se connectent pour monter des cibles sur le port NFS 2049. La requête extrait toutes les adresses IP uniques des clients EFS et les trie en fonction des connexions client les plus actives. Le nombre d'entrées dans le journal de flux détermine le niveau d'activité.

Le résultat de la requête contient la liste des adresses IP privées pour toutes les instances sur lesquelles des systèmes de fichiers EFS sont montés.

Exemple de sortie de requête :

#          srcAddr              FlowLogEntries1      111.22.33.44                 782      111.55.66.77                36
3      111.88.99.000                33

Exécuter la commande start-query

Vérifiez que jq est installé :

yum install -y jq

Exécutez ensuite la commande start-query suivante :

aws logs start-query --log-group-name EFS-ENI-Flowlogs --start-time 1643127618 --end-time 1643128901 --query-string 'filter dstPort="2049" | stats count(*) as FlowLogEntries by srcAddr | sort FlowLogEntries desc' > test.json && sleep 10 && jq .queryId test.json | xargs aws logs get-query-results --query-id

Dans la commande, définissez les paramètres suivants :

  • Pour log-group-name, entrez le nom de votre groupe de journaux.
  • Pour **Heure de début ** et Heure de fin, entrez vos heures de début et de fin.
    Remarque : Ces valeurs sont exprimées en heure Unix Epoch. Pour convertir en horodatages lisibles, utilisez les outils de conversion d'horodatage Epoch & Unix sur le site Web du convertisseur Epoch.
  • (Facultatif) Pour test.json, vous pouvez modifier le nom du fichier JSON chaque fois que vous exécutez la commande. Lorsque vous modifiez le nom, la sortie précédente ne fusionne pas avec la nouvelle sortie.
  • Dans Mise en veille, pour consulter les journaux de flux lorsque la requête est en cours d'exécution, spécifiez le délai en secondes.

Pour afficher les adresses IP des clients qui montent actuellement des systèmes de fichiers EFS, exécutez une nouvelle requête.

AWS OFFICIELA mis à jour il y a 4 mois