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.
Utilisez les SSM documents Systems Manager avec AWS FIS
AWS FISprend en charge les types de pannes personnalisés via l' AWS Systems Manager SSMagent et l' AWS FISactionaws:ssm:send-command. Les documents préconfigurés de Systems Manager (SSMSSMdocuments) qui peuvent être utilisés pour créer des actions communes d'injection de défauts sont disponibles sous forme de AWS documents publics commençant par le préfixe AWSFIS -.
SSML'agent 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 SSM document pour ajouter 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'SSMagent exécute l'action sur la cible, vous devez vérifier les points suivants :
-
L'agent est installé sur la cible. SSML'agent est installé par défaut sur certaines Amazon Machine Images (AMIs). Sinon, vous pouvez installer l'SSMagent sur vos instances. Pour plus d'informations, consultez la section Installation manuelle de SSM l'agent pour les EC2 instances dans le Guide de AWS Systems Manager l'utilisateur.
-
Systems Manager est autorisé à effectuer des actions sur vos instances. Vous accordez l'accès à l'aide d'un profil d'IAMinstance. Pour plus d'informations, consultez les sections Créer un profil d'IAMinstance pour Systems Manager et Attacher un profil d'IAMinstance à une EC2 instance dans le Guide de AWS Systems Manager l'utilisateur.
Utilisez la commande aws:ssm:send-command action
Un SSM document définit les actions que Systems Manager exécute 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 SSM document, consultez la section Création de documents Systems Manager dans le guide de AWS Systems Manager l'utilisateur. Pour plus d'informations sur SSM les documents en général, consultez AWS Systems Manager les documents du Guide de AWS Systems Manager l'utilisateur.
AWS FISfournit des SSM documents préconfigurés. Vous pouvez consulter les documents préconfigurés sous SSM Documents dans la AWS Systems Manager console : https://console.aws.amazon.com/systems-manager/documents
Pour utiliser un SSM document dans vos AWS FIS expériences, vous pouvez utiliser l'aws:ssm:send-commandaction. Cette action récupère et exécute le SSM document 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 la ressource Amazon (ARN) du SSM document.
-
documentParameters— Conditionnel. Les paramètres obligatoires et facultatifs acceptés par le SSM document. Le format est un JSON objet 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 SSM document à exécuter.
Vous pouvez consulter les informations d'un SSM document (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 SSM document à 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 SSM document à l'aide de la ligne de commande
Utilisez la commande SSM describe-document.
Documents préconfigurés AWS FIS SSM
Vous pouvez utiliser des AWS FIS SSM documents préconfigurés avec l'aws:ssm:send-command
action dans vos modèles de test.
Prérequis
-
Les SSM documents préconfigurés fournis par ne AWS FIS sont pris en charge que sur les systèmes d'exploitation suivants :
Amazon Linux 2023, Amazon Linux 2, Amazon Linux
Ubuntu
RHEL7, 8, 9
CentOS 8, 9
-
Les SSM documents préconfigurés fournis par ne AWS FIS sont pris en charge que sur les EC2 instances. 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 SSM documents dans le cadre d'expériences sur ECS des tâches, utilisez le document correspondantECSActions d'Amazon. 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 celle figurant DurationSeconds dans AWS FIS SSM les documents
Certains SSM documents limitent leur propre temps d'exécution, par exemple le DurationSeconds paramètre est utilisé par certains AWS FIS SSM documents préconfigurés. Par conséquent, vous devez spécifier deux durées indépendantes dans la définition de l' AWS FISaction :
-
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 FISsurveille 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 SSM document sera exécuté.
Vous pouvez choisir différentes valeurs pour les deux types de durée :
-
Action duration exceeds DurationSeconds: L'exécution du SSM document se termine avant que l'action ne soit terminée. AWS FISattend 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 SSM document continue l'exécution une fois l'action terminée. Si l'exécution du SSM document 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 FISsurveille uniquement l'exécution jusqu'à ce que la durée de l'action soit écoulée.
Notez que certains SSM documents ont des durées variables. Par exemple, AWS FIS SSM les documents ont la possibilité d'installer des prérequis, ce qui peut prolonger la durée d'exécution globale au-delà du DurationSeconds paramètre spécifié. Ainsi, si vous définissez la durée de l'action DurationSeconds sur la même valeur, il est possible que le SSM script s'exécute plus longtemps que la durée de l'action.
AWSFIS-Run-CPU-Stress
Exerce CPU du stress sur une instance à l'aide de l'stress-ngoutil. Utilise le AWSFISdocument -Run- 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 CPU stress, en secondes.
-
CPU : facultatif. Le nombre de CPU facteurs de stress à utiliser. La valeur par défaut est 0, qui utilise tous les CPU facteurs de stress.
-
LoadPercent : facultatif. Pourcentage de CPU charge 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-Run-Disk-Fill
Si l'expérience à l'origine de cette erreur est arrêtée, manuellement ou par le biais d'une condition d'arrêt, AWS FIS tente de revenir en arrière en annulant le document en cours d'exécutionSSM. 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
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 effectuent une combinaison d'opérations de lecture/écriture séquentielles, aléatoires et mappées en mémoire, de synchronisation forcée et de suppression du cache. Plusieurs processus enfants exécutent différentes opérations d'E/S 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
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 document AWSFIS-Run-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
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
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
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-Run-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
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-Run-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
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-Run-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 IPv4 CIDR bloc, 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
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-Run-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 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 IPv4 CIDR bloc, 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 préconfiguré AWS FISSSMdocument.
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.