AWSSupport-CollectEKSLinuxNodeStatistics - AWS Systems Manager Référence du manuel d'automatisation

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 faisant partie d'un cluster Amazon EKS et d'un conteneur exécuté sur l'instance si containerd un ID de 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 /sys/class/net/interface/statistics répertoire.

  • Les descripteurs de fichiers comptent.

  • Les ports éphémères comptent.

  • Un tas de iptables règles.

  • Vérifiez s'il existe une table conntrack complète.

Les statistiques Linux au niveau du conteneur incluent :

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

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

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

  • Nombre d'analyses de capture 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 issues de la galerie publique Amazon ECR :

  • amazon-ecs-network-sidecarimage pour accéder aux outils de résolution des problèmes.

  • 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 cours 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écuter 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à Systems Manager sous Documents.

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

  3. Pour les paramètres d'entrée, entrez ce qui suit :

    • AutomationAssumeRole (Facultatif) :

      L'Amazon Resource Name (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 lance ce runbook.

    • InstanceId (Obligatoire) :

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

    • S3 BucketName (obligatoire) :

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

    • S3 KeyPrefix (facultatif) :

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

    • S3 BucketOwnerRoleArn (facultatif) :

      L'ARN du rôle IAM autorisé à obtenir les paramètres d'accès public au compartiment et au compte Amazon S3, à bloquer le compte, à configurer le chiffrement du compartiment, à connaître ACLs le statut de la politique du compartiment et à télécharger des objets dans le compartiment. Si ce paramètre n'est pas spécifié, le runbook utilise le AutomationAssumeRole (si spécifié) ou l'utilisateur qui démarre ce runbook (s'il n'AutomationAssumeRoleest pas spécifié).

    • S3 BucketOwnerAccount (facultatif) :

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

    • ContainerId (Facultatif) :

      ID d'un conteneur exécuté sur l'instance Amazon EC2 spécifiée.

    • NetworkTargets (Facultatif) :

      Liste d' IPv4 adresses, 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 lecture et en and/or écriture à ses objets.

    • AssertInstanceIsSSMManaged:

      Garantit que l'instance Amazon EC2 cible est gérée par Systems Manager, sinon l'automatisation prend fin.

    • 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 connaître les résultats détaillés de l'exécution.

Références

Systems Manager Automation