View a markdown version of this page

AWSSupport-CollectEKSLinuxNodeStatistics - AWS Systems Manager Référence du dossier d’exploitation Automation

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AWSSupport-CollectEKSLinuxNodeStatistics

Description

Le AWSSupport-CollectEKSLinuxNodeStatistics runbook collecte des statistiques Linux à partir d'une instance Amazon EC2 qui fait partie d'un cluster Amazon EKS, et à partir d'un conteneur qui s'exécute sur l'instance si un ID de containerd conteneur est spécifié. L'instance Amazon EC2 doit être gérée par AWS Systems Manager.

Les statistiques Linux collectées au niveau de l'hôte incluent :

  • Informations sur le système d'exploitation.

  • Statistiques de l'interface réseau : depuis ethtool et depuis le /sys/class/net/interface/statistics répertoire.

  • Nombre de descripteurs de fichiers.

  • Les ports éphémères comptent.

  • Un tas de iptables règles.

  • Consultez le tableau ConnTrack complet.

Les statistiques Linux au niveau du conteneur incluent :

  • Informations d'identification : URI de l'image et étiquettes.

  • Statistiques de l'interface réseau : depuis ethtool et depuis le /sys/class/net/interface/statistics répertoire.

  • Traceroute et résultats DNS si le NetworkTargets paramètre est renseigné.

  • Nombre d'analyses de captures de paquets : retransmissions TCP, paquets hors service, etc.

Le runbook collecte des données provenant de différentes distributions Linux, notamment Amazon Linux 2, Amazon Linux 2023 et Debian/Ubuntu. Il utilise les dernières versions des images suivantes provenant de la galerie publique Amazon ECR :

  • amazon-ecs-network-sidecarimage pour accéder aux outils de dépannage.

  • aws-cliimage pour télécharger le fichier JSON du rapport de statistiques et les fichiers de capture de paquets dans le compartiment Amazon S3 spécifié.

Important

Ce runbook ne prend pas en charge les instances Fargate. Ce runbook peut échouer si l'instance est arrêtée ou déconnectée pendant l'exécution.

Fonctionnement

Le runbook exécute les actions suivantes :

  • Vérifie que le compartiment Amazon S3 cible n'accorde pas d'accès public en lecture ou en écriture.

  • Garantit que l'instance Amazon EC2 cible est gérée par Systems Manager et qu'elle est en état d'exécution.

  • Vérifie que l'instance exécute un système d'exploitation Linux.

  • Collecte des statistiques Linux complètes à partir de l'instance Amazon EC2 et éventuellement à partir d'un conteneur spécifié.

  • Télécharge les statistiques collectées dans le compartiment Amazon S3 spécifié.

Exécutez cette automatisation (console)

Autorisations IAM requises

Le AutomationAssumeRole paramètre nécessite les actions suivantes pour utiliser correctement le runbook.

Le AutomationAssumeRole paramètre nécessite les actions suivantes :

  • s3:GetAccountPublicAccessBlock

  • s3:GetBucketPublicAccessBlock

  • s3:GetBucketAcl

  • s3:GetBucketPolicyStatus

  • s3:GetBucketLocation

  • s3:GetEncryptionConfiguration

  • s3:PutObject

  • ssm:DescribeInstanceInformation

  • ssm:SendCommand

  • ssm:GetCommandInvocation

  • ec2:DescribeInstances

Exemple de politique IAM :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetAccountPublicAccessBlock" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetBucketPublicAccessBlock", "s3:GetBucketAcl", "s3:GetBucketPolicyStatus", "s3:GetBucketLocation", "s3:GetEncryptionConfiguration" ], "Resource": "arn:aws:s3:::S3_BUCKET_NAME" }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::S3_BUCKET_NAME/*" }, { "Effect": "Allow", "Action": [ "ssm:DescribeInstanceInformation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:SendCommand" ], "Resource": [ "arn:aws:ssm:*:*:document/AWS-RunShellScript", "arn:aws:ec2:*:111122223333:instance/*" ] }, { "Effect": "Allow", "Action": [ "ssm:GetCommandInvocation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:DescribeInstances" ], "Resource": "*" } ] }

Instructions

Pour configurer l'automatisation, procédez comme suit :

  1. Accédez à AWSSupport-CollectEKSLinuxNodeStatistics la section Documents dans Systems Manager.

  2. Sélectionnez Execute automation (Exécuter l'automatisation).

  3. Pour les paramètres d'entrée, entrez les informations suivantes :

    • AutomationAssumeRole (Facultatif) :

      Le nom de ressource Amazon (ARN) du rôle IAM qui permet à Systems Manager Automation d'effectuer les actions en votre nom. Si aucun rôle n'est spécifié, Systems Manager Automation utilise les autorisations de l'utilisateur qui démarre ce runbook.

    • InstanceId (Obligatoire) :

      L'ID de l'instance Amazon EC2 pour collecter les statistiques.

    • S3BucketName (Obligatoire) :

      Nom du compartiment Amazon S3 pour exporter la sortie JSON de l'instance Amazon EC2 sous forme de fichier.

    • S3KeyPrefix (Facultatif) :

      Le préfixe de clé Amazon S3 (sous-dossier) pour exporter la sortie JSON de l'instance Amazon EC2 sous forme de fichier. Valeur par défaut : AWSSupport-CollectEKSLinuxNodeStatistics.

    • S3BucketOwnerRoleArn (Facultatif) :

      L'ARN du rôle IAM avec les autorisations nécessaires pour obtenir les paramètres d'accès public au bucket Amazon S3 et au blocage du compte, la configuration du chiffrement du bucket, les ACL du bucket, l'état de la politique du bucket et le téléchargement d'objets dans le bucket. Si ce paramètre n'est pas spécifié, le runbook utilise l'utilisateur AutomationAssumeRole (si spécifié) ou l'utilisateur qui démarre ce runbook (s'il n'AutomationAssumeRoleest pas spécifié).

    • S3BucketOwnerAccount (Facultatif) :

      Le AWS compte propriétaire du compartiment Amazon S3. Si vous ne spécifiez pas ce paramètre, le runbook suppose que le bucket se trouve dans ce compte.

    • ContainerId (Facultatif) :

      L'ID d'un conteneur qui s'exécute sur l'instance Amazon EC2 spécifiée.

    • NetworkTargets (Facultatif) :

      Une liste d'adresses IPv4, de noms and/or DNS séparés par des virgules, pour tester la résolution DNS et la connectivité à l'aide de traceroute.

  4. Sélectionnez Exécuter.

  5. L'automatisation démarre.

  6. Le document exécute les étapes suivantes :

    • CheckBucketAccess:

      Vérifie si le compartiment Amazon S3 cible accorde potentiellement un accès public en and/or lecture/écriture à ses objets.

    • AssertInstanceIsSSMManaged:

      Garantit que l'instance Amazon EC2 cible est gérée par Systems Manager, sinon l'automatisation s'arrête.

    • VerifyInstanceState:

      Vérifie que l'instance Amazon EC2 est en cours d'exécution avant de tenter de collecter des statistiques.

    • BranchOnVerifyLinuxInstance:

      Vérifie que l'instance est une instance Linux avant de continuer.

    • BranchOnVerifyInstanceRunning:

      Vérifie que l'instance est en cours d'exécution avant de continuer.

    • CollectEKSLinuxNodeStatistics:

      Collecte des statistiques Linux complètes à partir de l'instance Amazon EC2, notamment des informations sur le système d'exploitation, des statistiques d'interface réseau, des descripteurs de fichiers, des ports éphémères, des règles de pare-feu et éventuellement des statistiques au niveau du conteneur.

    • GenerateStatisticsOutputS3Uri:

      Génère l'URI Amazon S3 complet vers les fichiers de statistiques Linux à utiliser comme sortie du document d'automatisation.

  7. Une fois terminé, consultez la section Sorties pour obtenir les résultats détaillés de l'exécution.

Références

Systems Manager Automation