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.
Utiliser les documents SSM de Systems Manager avec FIS AWS
AWS FIS prend en charge les types de pannes personnalisés par le biais de l'agent AWS Systems Manager SSM et de l'action AWS FIS. aws:ssm:send-command Les documents SSM préconfigurés de Systems Manager (documents SSM) qui peuvent être utilisés pour créer des actions d'injection de défauts courantes sont disponibles sous forme de AWS documents publics commençant par le AWSFIS préfixe -.
L'agent SSM est un logiciel Amazon qui peut être installé et configuré sur des EC2 instances Amazon, des serveurs sur site ou des machines virtuelles ()VMs. Cela permet à Systems Manager de gérer ces ressources. L'agent traite les demandes provenant de Systems Manager, puis les exécute comme indiqué dans la demande. Vous pouvez inclure votre propre document SSM pour injecter des erreurs personnalisées, ou faire référence à l'un des documents publics appartenant à Amazon.
Prérequis
Pour les actions qui nécessitent que l'agent SSM exécute l'action sur la cible, vous devez vous assurer que les points suivants sont respectés :
-
L'agent est installé sur la cible. L'agent SSM est installé par défaut sur certaines Amazon Machine Images (AMIs). Sinon, vous pouvez installer l'agent SSM sur vos instances. Pour plus d'informations, consultez la section Installation manuelle de l'agent SSM pour les EC2 instances dans le Guide de l'AWS Systems Manager utilisateur.
-
Systems Manager est autorisé à effectuer des actions sur vos instances. Vous accordez l'accès à l'aide d'un profil d'instance IAM. Pour plus d'informations, consultez les sections Créer un profil d'instance IAM pour Systems Manager et Attacher un profil d'instance IAM à une EC2 instance dans le Guide de l'AWS Systems Manager utilisateur.
Utilisez la commande aws:ssm:send-command action
Un document SSM définit les actions exécutées par Systems Manager sur vos instances gérées. Systems Manager inclut un certain nombre de documents préconfigurés, mais vous pouvez également créer les vôtres. Pour plus d'informations sur la création de votre propre document SSM, consultez la section Creating Systems Manager dans le guide de l'AWS Systems Manager utilisateur. Pour plus d'informations sur les documents SSM en général, consultez les AWS Systems Manager documents du Guide de l'AWS Systems Manager utilisateur.
AWS FIS fournit des documents SSM préconfigurés. Vous pouvez consulter les documents SSM préconfigurés sous Documents dans la AWS Systems Manager console : https://console.aws.amazon.com/systems-manager/ documents.
Pour utiliser un document SSM dans vos expériences AWS FIS, vous pouvez utiliser l'aws:ssm:send-commandaction. Cette action récupère et exécute le document SSM spécifié sur vos instances cibles.
Lorsque vous utilisez l'aws:ssm:send-command
action dans votre modèle de test, vous devez spécifier des paramètres supplémentaires pour l'action, notamment les suivants :
-
documentArn : obligatoire. Le nom de ressource Amazon (ARN) du document SSM.
-
documentParameters— Conditionnel. Les paramètres obligatoires et facultatifs acceptés par le document SSM. Le format est un objet JSON dont les clés sont des chaînes et les valeurs sont des chaînes ou des tableaux de chaînes.
-
documentVersion : facultatif. Version du document SSM à exécuter.
Vous pouvez consulter les informations d'un document SSM (y compris les paramètres du document) à l'aide de la console Systems Manager ou de la ligne de commande.
Pour afficher les informations relatives à un document SSM à l'aide de la console
-
Ouvrez la AWS Systems Manager console à l'adresse https://console.aws.amazon.com/systems-manager/
. -
Dans le panneau de navigation, cliquez sur Documents.
-
Sélectionnez le document, puis cliquez sur l'onglet Détails.
Pour afficher les informations relatives à un document SSM à l'aide de la ligne de commande
Utilisez la commande SSM describe-document.
Documents AWS FIS SSM préconfigurés
Vous pouvez utiliser des documents AWS FIS SSM préconfigurés avec l'aws:ssm:send-command
action dans vos modèles d'expérience.
Prérequis
-
Les documents SSM préconfigurés fournis par AWS FIS ne sont pris en charge que sur les systèmes d'exploitation suivants :
Amazon Linux 2023, Amazon Linux 2, Amazon Linux
Ubuntu
RHEL 8, 9
CentOS 8, 9
-
Les documents SSM préconfigurés fournis par AWS FIS ne sont pris en charge que sur les instances. EC2 Ils ne sont pas pris en charge sur les autres types de nœuds gérés, tels que les serveurs sur site.
Pour utiliser ces documents SSM dans des expériences sur des tâches ECS, utilisez le document correspondantActions Amazon ECS. Par exemple, l'aws:ecs:task-cpu-stressaction utilise le AWSFIS-Run-CPU-Stress document.
Documents
Différence entre la durée de l'action et DurationSeconds dans les AWS documents FIS SSM
Certains documents SSM limitent leur propre temps d'exécution, par exemple le DurationSeconds paramètre est utilisé par certains documents AWS FIS SSM préconfigurés. Par conséquent, vous devez spécifier deux durées indépendantes dans la définition de l'action AWS FIS :
-
Action duration: Pour les expériences comportant une seule action, la durée de l'action est équivalente à la durée de l'expérience. Dans le cas de plusieurs actions, la durée de l'expérience dépend de la durée des actions individuelles et de l'ordre dans lequel elles sont exécutées. AWS Le FIS surveille chaque action jusqu'à ce que sa durée soit écoulée.
-
Paramètre du document DurationSeconds : durée, spécifiée en secondes, pendant laquelle le document SSM sera exécuté.
Vous pouvez choisir différentes valeurs pour les deux types de durée :
-
Action duration exceeds DurationSeconds: L'exécution du document SSM se termine avant que l'action ne soit terminée. AWS Le FIS attend que la durée de l'action soit écoulée avant que les actions suivantes ne soient lancées.
-
Action duration is shorter than DurationSeconds: Le document SSM continue l'exécution une fois l'action terminée. Si l'exécution du document SSM est toujours en cours et que la durée de l'action est expirée, le statut de l'action est défini sur Terminé. AWS Le FIS surveille uniquement l'exécution jusqu'à ce que la durée de l'action soit écoulée.
Notez que certains documents SSM ont des durées variables. Par exemple, les documents AWS FIS SSM ont la possibilité d'installer des prérequis, ce qui peut prolonger la durée d'exécution globale au-delà du paramètre spécifié. DurationSeconds Ainsi, si vous définissez la durée de l'action sur la même valeur, il est possible que le script SSM s'exécute plus longtemps que la durée de l'action. DurationSeconds
AWSFIS-Run-CPU-Stress
Exécute le stress du processeur sur une instance à l'aide de l'stress-ngoutil. Utilise le document AWSFIS-RunSSM -CPU-Stress
Type d'action (console uniquement)
aws:ssm:send-command/AWSFIS-Run-CPU-Stress
ARN
arn:aws:ssm:region::document/AWSFIS-Run-CPU-Stress
Paramètres du document
-
DurationSeconds : obligatoire. Durée du test de stress du processeur, en secondes.
-
CPU : facultatif. Le nombre de facteurs de stress du processeur à utiliser. La valeur par défaut est 0, qui utilise tous les facteurs de stress du processeur.
-
LoadPercent : facultatif. Pourcentage de charge du processeur cible, compris entre 0 (aucune charge) et 100 (pleine charge). La valeur par défaut est 100.
-
InstallDependencies : facultatif. Si la valeur est définie sur cette valeur
True
, Systems Manager installe les dépendances requises sur les instances cibles si elles ne sont pas déjà installées. L’argument par défaut estTrue
. La dépendance eststress-ng.
Voici un exemple de chaîne que vous pouvez saisir dans la console.
{"DurationSeconds":"60", "InstallDependencies":"True"}
AWSFIS-Run-Disk-Fill
Alloue de l'espace disque sur le volume racine d'une instance afin de simuler une panne complète du disque. Utilise le document AWSFIS-RunSSM -Disk-Fill
Si l'expérience à l'origine de cette erreur est arrêtée, soit manuellement, soit par le biais d'une condition d'arrêt, AWS FIS tente de revenir en arrière en annulant le document SSM en cours d'exécution. Toutefois, si le disque est plein à 100 %, soit en raison d'une panne, soit en raison d'une panne liée à l'activité de l'application, Systems Manager risque de ne pas être en mesure de terminer l'opération d'annulation. Par conséquent, si vous devez arrêter l'expérience, assurez-vous que le disque ne sera pas plein à 100 %.
Type d'action (console uniquement)
aws:ssm:send-command/AWSFIS-Run-Disk-Fill
ARN
arn:aws:ssm:region::document/AWSFIS-Run-Disk-Fill
Paramètres du document
-
DurationSeconds : obligatoire. Durée du test de remplissage du disque, en secondes.
-
Percent : facultatif. Pourcentage du disque à allouer lors du test de remplissage du disque. La valeur par défaut est 95 %.
-
InstallDependencies : facultatif. Si la valeur est définie sur cette valeur
True
, Systems Manager installe les dépendances requises sur les instances cibles si elles ne sont pas déjà installées. L’argument par défaut estTrue
. Les dépendances sont atd etfallocate.
Voici un exemple de chaîne que vous pouvez saisir dans la console.
{"DurationSeconds":"60", "InstallDependencies":"True"}
AWSFIS-Run-IO-Stress
Exécute le stress d'E/S sur une instance à l'aide de l'stress-ngoutil. Utilise le document AWSFIS-Run-IO-Stress SSM.
Type d'action (console uniquement)
aws:ssm:send-command/AWSFIS-Run-IO-Stress
ARN
arn:aws:ssm:region::document/AWSFIS-Run-IO-Stress
Paramètres du document
-
DurationSeconds : obligatoire. Durée du test de stress IO, en secondes.
-
Workers : facultatif. Nombre de travailleurs qui exécutent une combinaison d'read/write operations, forced synchronizing, and cache dropping. Multiple child processes perform different I/Oopérations séquentielles, aléatoires et mappées en mémoire sur le même fichier. La valeur par défaut est 1.
-
Percent : facultatif. Pourcentage d'espace libre sur le système de fichiers à utiliser pendant le test de stress IO. La valeur par défaut est de 80 %.
-
InstallDependencies : facultatif. Si la valeur est définie sur cette valeur
True
, Systems Manager installe les dépendances requises sur les instances cibles si elles ne sont pas déjà installées. L’argument par défaut estTrue
. La dépendance eststress-ng.
Voici un exemple de chaîne que vous pouvez saisir dans la console.
{"Workers":"1", "Percent":"80", "DurationSeconds":"60", "InstallDependencies":"True"}
AWSFIS-Run-Kill-Process
Arrête le processus spécifié dans l'instance à l'aide de la killall commande. Utilise le AWSFIS-Rundocument SSM -Kill-Process.
Type d'action (console uniquement)
aws:ssm:send-command/AWSFIS-Run-Kill-Process
ARN
arn:aws:ssm:region::document/AWSFIS-Run-Kill-Process
Paramètres du document
-
ProcessName : obligatoire. Nom du processus à arrêter.
-
Signal : facultatif. Le signal à envoyer avec la commande. Les valeurs possibles sont
SIGTERM
(que le récepteur peut choisir d'ignorer) etSIGKILL
(qui ne peuvent pas être ignorées). La valeur par défaut estSIGTERM
. -
InstallDependencies – Facultatif. Si la valeur est définie sur cette valeur
True
, Systems Manager installe les dépendances requises sur les instances cibles si elles ne sont pas déjà installées. L’argument par défaut estTrue
. La dépendance estkillall.
Voici un exemple de chaîne que vous pouvez saisir dans la console.
{"ProcessName":"myapplication", "Signal":"SIGTERM"}
AWSFIS-Run-Memory-Stress
Exécute un stress mémoire sur une instance à l'aide de l'stress-ngoutil. Utilise le document AWSFIS-Run-Memory-Stress SSM.
Type d'action (console uniquement)
aws:ssm:send-command/AWSFIS-Run-Memory-Stress
ARN
arn:aws:ssm:region::document/AWSFIS-Run-Memory-Stress
Paramètres du document
-
DurationSeconds : obligatoire. Durée du test de stress mnésique, en secondes.
-
Workers : facultatif. Nombre de facteurs de stress liés à la mémoire virtuelle. La valeur par défaut est 1.
-
Percent : obligatoire. Pourcentage de mémoire virtuelle à utiliser pendant le test de stress lié à la mémoire.
-
InstallDependencies : facultatif. Si la valeur est définie sur cette valeur
True
, Systems Manager installe les dépendances requises sur les instances cibles si elles ne sont pas déjà installées. L’argument par défaut estTrue
. La dépendance eststress-ng.
Voici un exemple de chaîne que vous pouvez saisir dans la console.
{"Percent":"80", "DurationSeconds":"60", "InstallDependencies":"True"}
AWSFIS-Run-Network-Blackhole-Port
Supprime le trafic entrant ou sortant pour le protocole et le port à l'aide de l'iptablesoutil. Utilise le document AWSFIS-RunSSM -Network-Blackhole-Port
Type d'action (console uniquement)
aws:ssm:send-command/AWSFIS-Run-Network-Blackhole-Port
ARN
arn:aws:ssm:region::document/AWSFIS-Run-Network-Blackhole-Port
Paramètres du document
-
Protocol : obligatoire. Protocole. Les valeurs possibles sont
tcp
etudp
. -
Port : obligatoire. Numéro de port.
-
TrafficType : facultatif. Type de trafic. Les valeurs possibles sont
ingress
etegress
. La valeur par défaut estingress
. -
DurationSeconds : obligatoire. Durée du test du trou noir du réseau, en secondes.
-
InstallDependencies : facultatif. Si la valeur est définie sur cette valeur
True
, Systems Manager installe les dépendances requises sur les instances cibles si elles ne sont pas déjà installées. L’argument par défaut estTrue
. Les dépendances sont atddig, etiptables.
Voici un exemple de chaîne que vous pouvez saisir dans la console.
{"Protocol":"tcp", "Port":"8080", "TrafficType":"egress", "DurationSeconds":"60", "InstallDependencies":"True"}
AWSFIS-Run-Network-Latency
Ajoute de la latence à l'interface réseau à l'aide de l'tcoutil. Utilise le document AWSFIS-RunSSM -Network-Latency
Type d'action (console uniquement)
aws:ssm:send-command/AWSFIS-Run-Network-Latency
ARN
arn:aws:ssm:region::document/AWSFIS-Run-Network-Latency
Paramètres du document
-
Interface : facultatif. L'interface réseau. La valeur par défaut est
eth0
. -
DelayMilliseconds – Facultatif. Le délai, en millisecondes. La valeur par défaut est 200.
-
DurationSeconds : obligatoire. Durée du test de latence du réseau, en secondes.
-
InstallDependencies : facultatif. Si la valeur est définie sur cette valeur
True
, Systems Manager installe les dépendances requises sur les instances cibles si elles ne sont pas déjà installées. L’argument par défaut estTrue
. Les dépendances sont atddig, ettc.
Voici un exemple de chaîne que vous pouvez saisir dans la console.
{"DelayMilliseconds":"200", "Interface":"eth0", "DurationSeconds":"60", "InstallDependencies":"True"}
AWSFIS-Run-Network-Latency-Sources
Ajoute de la latence et de l'instabilité à l'interface réseau à l'aide de l'tcoutil pour le trafic à destination ou en provenance de sources spécifiques. Utilise le document AWSFIS-RunSSM -Network-Latency-Sources
Type d'action (console uniquement)
aws:ssm:send-command/AWSFIS-Run-Network-Latency-Sources
ARN
arn:aws:ssm:region::document/AWSFIS-Run-Network-Latency-Sources
Paramètres du document
-
Interface : facultatif. L'interface réseau. La valeur par défaut est
eth0
. -
DelayMilliseconds – Facultatif. Le délai, en millisecondes. La valeur par défaut est 200.
-
JitterMilliseconds : facultatif. L'instabilité, en millisecondes. La valeur par défaut est 10.
-
Sources : obligatoire. Les sources, séparées par des virgules. Les valeurs possibles sont les suivantes : une IPv4 adresse, un bloc IPv4 CIDR, un nom de domaine et
S3
.DYNAMODB
Si vous spécifiezDYNAMODB
ouS3
, cela ne s'applique qu'au point de terminaison régional de la région actuelle. -
TrafficType : facultatif. Type de trafic. Les valeurs possibles sont
ingress
etegress
. La valeur par défaut estingress
. -
DurationSeconds : obligatoire. Durée du test de latence du réseau, en secondes.
-
InstallDependencies : facultatif. Si la valeur est définie sur cette valeur
True
, Systems Manager installe les dépendances requises sur les instances cibles si elles ne sont pas déjà installées. L’argument par défaut estTrue
. Les dépendances sont atddig,jq, ettc.
Voici un exemple de chaîne que vous pouvez saisir dans la console.
{"DelayMilliseconds":"200", "JitterMilliseconds":"15", "Sources":"S3,www.example.com,72.21.198.67", "Interface":"eth0", "TrafficType":"egress", "DurationSeconds":"60", "InstallDependencies":"True"}
AWSFIS-Run-Network-Packet-Loss
Ajoute la perte de paquets à l'interface réseau à l'aide de l'tcoutil. Utilise le document AWSFIS-RunSSM -Network-Packet-Loss
Type d'action (console uniquement)
aws:ssm:send-command/AWSFIS-Run-Network-Packet-Loss
ARN
arn:aws:ssm:region::document/AWSFIS-Run-Network-Packet-Loss
Paramètres du document
-
Interface : facultatif. L'interface réseau. La valeur par défaut est
eth0
. -
LossPercent – Facultatif. Pourcentage de perte de paquets. La valeur par défaut est de 7 %.
-
DurationSeconds : obligatoire. Durée du test de perte de paquets réseau, en secondes.
-
InstallDependencies : facultatif. Si la valeur est définie sur cette valeur
True
, Systems Manager installe les dépendances requises sur les instances cibles. L’argument par défaut estTrue
. Les dépendances sont atddig, ettc.
Voici un exemple de chaîne que vous pouvez saisir dans la console.
{"LossPercent":"15", "Interface":"eth0", "DurationSeconds":"60", "InstallDependencies":"True"}
AWSFIS-Run-Network-Packet-Loss-Sources
Ajoute la perte de paquets à l'interface réseau à l'aide de l'tcoutil pour le trafic à destination ou en provenance de sources spécifiques. Utilise le document SSM AWSFIS-Run-Network-Packet-Loss-Sources
Type d'action (console uniquement)
aws:ssm:send-command/AWSFIS-Run-Network-Packet-Loss-Sources
ARN
arn:aws:ssm:region::document/AWSFIS-Run-Network-Packet-Loss-Sources
Paramètres du document
-
Interface : facultatif. L'interface réseau. La valeur par défaut est
eth0
. -
LossPercent – Facultatif. Pourcentage de perte de paquets. La valeur par défaut est de 7 %.
-
Sources : obligatoire. Les sources, séparées par des virgules. Les valeurs possibles sont les suivantes : une IPv4 adresse, un bloc IPv4 CIDR, un nom de domaine et
S3
.DYNAMODB
Si vous spécifiezDYNAMODB
ouS3
, cela ne s'applique qu'au point de terminaison régional de la région actuelle. -
TrafficType : facultatif. Type de trafic. Les valeurs possibles sont
ingress
etegress
. La valeur par défaut estingress
. -
DurationSeconds : obligatoire. Durée du test de perte de paquets réseau, en secondes.
-
InstallDependencies : facultatif. Si la valeur est définie sur cette valeur
True
, Systems Manager installe les dépendances requises sur les instances cibles. L’argument par défaut estTrue
. Les dépendances sont atddig,jq, ettc.
Voici un exemple de chaîne que vous pouvez saisir dans la console.
{"LossPercent":"15", "Sources":"S3,www.example.com,72.21.198.67", "Interface":"eth0", "TrafficType":"egress", "DurationSeconds":"60", "InstallDependencies":"True"}
Exemples
Pour un exemple de modèle d'expérience, voirExécuter un document préconfiguré AWS FIS SSM.
Pour voir un exemple de didacticiel, consultez la section Exercez CPU du stress sur une instance.
Résolution des problèmes
Suivez la procédure ci-dessous pour résoudre les problèmes.
Pour résoudre les problèmes liés aux documents SSM
Ouvrez la AWS Systems Manager console à l'adresse https://console.aws.amazon.com/systems-manager/
. -
Dans le volet de navigation, choisissez Node Management, Run Command.
-
Dans l'onglet Historique des commandes, utilisez les filtres pour localiser l'exécution du document.
-
Choisissez l'ID de la commande pour ouvrir sa page de détails.
-
Choisissez l'ID de l'instance. Vérifiez le résultat et les erreurs pour chaque étape.