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.
AWS FIS exemples utilisant AWS CLI
Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l'aide du AWS Command Line Interface with AWS FIS.
Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.
Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la façon de configurer et d'exécuter le code en contexte.
Rubriques
Actions
L'exemple de code suivant montre comment utilisercreate-experiment-template
.
- AWS CLI
-
Pour créer un modèle d'expérience
L'
create-experiment-template
exemple suivant crée un modèle d'expérience dans votre compte AWS FIS.aws fis create-experiment-template \ --cli-input-json
file://myfile.json
Contenu de
myfile.json
:{ "description": "experimentTemplate", "stopConditions": [ { "source": "aws:cloudwatch:alarm", "value": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:alarmName" } ], "targets": { "Instances-Target-1": { "resourceType": "aws:ec2:instance", "resourceArns": [ "arn:aws:ec2:us-west-2:123456789012:instance/i-12a3b4c56d78e9012" ], "selectionMode": "ALL" } }, "actions": { "reboot": { "actionId": "aws:ec2:reboot-instances", "description": "reboot", "parameters": {}, "targets": { "Instances": "Instances-Target-1" } } }, "roleArn": "arn:aws:iam::123456789012:role/myRole" }
Sortie :
{ "experimentTemplate": { "id": "ABCDE1fgHIJkLmNop", "description": "experimentTemplate", "targets": { "Instances-Target-1": { "resourceType": "aws:ec2:instance", "resourceArns": [ "arn:aws:ec2:us-west-2:123456789012:instance/i-12a3b4c56d78e9012" ], "selectionMode": "ALL" } }, "actions": { "reboot": { "actionId": "aws:ec2:reboot-instances", "description": "reboot", "parameters": {}, "targets": { "Instances": "Instances-Target-1" } } }, "stopConditions": [ { "source": "aws:cloudwatch:alarm", "value": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:alarmName" } ], "creationTime": 1616434850.659, "lastUpdateTime": 1616434850.659, "roleArn": "arn:aws:iam::123456789012:role/myRole", "tags": {} } }
Pour plus d'informations, consultez la section Création d'un modèle d'expérience dans le guide de l'utilisateur du simulateur d'injection de AWS défauts.
-
Pour plus de détails sur l'API, reportez-vous CreateExperimentTemplate
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdelete-experiment-template
.
- AWS CLI
-
Pour supprimer un modèle d'expérience
L'
delete-experiment-template
exemple suivant supprime le modèle d'expérience spécifié.aws fis delete-experiment-template \ --id
ABCDE1fgHIJkLmNop
Sortie :
{ "experimentTemplate": { "id": "ABCDE1fgHIJkLmNop", "description": "myExperimentTemplate", "targets": { "Instances-Target-1": { "resourceType": "aws:ec2:instance", "resourceArns": [ "arn:aws:ec2:us-west-2:123456789012:instance/i-12a3b4c56d78e9012" ], "selectionMode": "ALL" } }, "actions": { "testaction": { "actionId": "aws:ec2:stop-instances", "parameters": {}, "targets": { "Instances": "Instances-Target-1" } } }, "stopConditions": [ { "source": "none" } ], "creationTime": 1616017191.124, "lastUpdateTime": 1616017859.607, "roleArn": "arn:aws:iam::123456789012:role/FISRole" } }
Pour plus d'informations, voir Supprimer un modèle d'expérience dans le guide de l'utilisateur du simulateur d'injection de AWS défauts.
-
Pour plus de détails sur l'API, reportez-vous DeleteExperimentTemplate
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserget-action
.
- AWS CLI
-
Pour obtenir les détails des actions
L'
get-action
exemple suivant permet d'obtenir les détails de l'action spécifiée.aws fis get-action \ --id
aws:ec2:stop-instances
Sortie :
{ "action": { "id": "aws:ec2:stop-instances", "description": "Stop the specified EC2 instances.", "parameters": { "startInstancesAfterDuration": { "description": "The time to wait before restarting the instances (ISO 8601 duration).", "required": false } }, "targets": { "Instances": { "resourceType": "aws:ec2:instance" } }, "tags": {} } }
Pour plus d'informations, consultez la section Actions du guide de l'utilisateur du simulateur d'injection de AWS défauts.
-
Pour plus de détails sur l'API, reportez-vous GetAction
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserget-experiment-template
.
- AWS CLI
-
Pour obtenir les détails du modèle d'expérience
L'
get-experiment-template
exemple suivant permet d'obtenir les détails du modèle d'expérience spécifié.aws fis get-experiment-template \ --id
ABCDE1fgHIJkLmNop
Sortie :
{ "experimentTemplate": { "id": "ABCDE1fgHIJkLmNop", "description": "myExperimentTemplate", "targets": { "Instances-Target-1": { "resourceType": "aws:ec2:instance", "resourceArns": [ "arn:aws:ec2:us-west-2:123456789012:instance/i-12a3b4c56d78e9012" ], "selectionMode": "ALL" } }, "actions": { "testaction": { "actionId": "aws:ec2:stop-instances", "parameters": {}, "targets": { "Instances": "Instances-Target-1" } } }, "stopConditions": [ { "source": "none" } ], "creationTime": 1616017191.124, "lastUpdateTime": 1616017331.51, "roleArn": "arn:aws:iam::123456789012:role/FISRole", "tags": { "key: "value" } } }
Pour plus d'informations, consultez la section Modèles d'expériences dans le guide de l'utilisateur du simulateur d'injection de AWS défauts.
-
Pour plus de détails sur l'API, reportez-vous GetExperimentTemplate
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserget-experiment
.
- AWS CLI
-
Pour obtenir les détails de l'expérience
L'
get-experiment
exemple suivant permet d'obtenir les détails de l'expérience spécifiée.aws fis get-experiment \ --id
ABC12DeFGhI3jKLMNOP
Sortie :
{ "experiment": { "id": "ABC12DeFGhI3jKLMNOP", "experimentTemplateId": "ABCDE1fgHIJkLmNop", "roleArn": "arn:aws:iam::123456789012:role/myRole", "state": { "status": "completed", "reason": "Experiment completed." }, "targets": { "Instances-Target-1": { "resourceType": "aws:ec2:instance", "resourceArns": [ "arn:aws:ec2:us-west-2:123456789012:instance/i-12a3b4c56d78e9012" ], "selectionMode": "ALL" } }, "actions": { "reboot": { "actionId": "aws:ec2:reboot-instances", "parameters": {}, "targets": { "Instances": "Instances-Target-1" }, "state": { "status": "completed", "reason": "Action was completed." } } }, "stopConditions": [ { "source": "none" } ], "creationTime": 1616432509.662, "startTime": 1616432509.962, "endTime": 1616432522.307, "tags": {} } }
Pour plus d'informations, voir Experiments for AWS FIS dans le guide de l'utilisateur du simulateur d'injection de AWS défauts.
-
Pour plus de détails sur l'API, reportez-vous GetExperiment
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-actions
.
- AWS CLI
-
Pour répertorier les actions
L'
list-actions
exemple suivant répertorie les actions disponibles.aws fis list-actions
Sortie :
{ "actions": [ { "id": "aws:ec2:reboot-instances", "description": "Reboot the specified EC2 instances.", "targets": { "Instances": { "resourceType": "aws:ec2:instance" } }, "tags": {} }, { "id": "aws:ec2:stop-instances", "description": "Stop the specified EC2 instances.", "targets": { "Instances": { "resourceType": "aws:ec2:instance" } }, "tags": {} }, { "id": "aws:ec2:terminate-instances", "description": "Terminate the specified EC2 instances.", "targets": { "Instances": { "resourceType": "aws:ec2:instance" } }, "tags": {} }, { "id": "aws:ecs:drain-container-instances", "description": "Drain percentage of underlying EC2 instances on an ECS cluster.", "targets": { "Clusters": { "resourceType": "aws:ecs:cluster" } }, "tags": {} }, { "id": "aws:eks:terminate-nodegroup-instances", "description": "Terminates a percentage of the underlying EC2 instances in an EKS cluster.", "targets": { "Nodegroups": { "resourceType": "aws:eks:nodegroup" } }, "tags": {} }, { "id": "aws:fis:inject-api-internal-error", "description": "Cause an AWS service to return internal error responses for specific callers and operations.", "targets": { "Roles": { "resourceType": "aws:iam:role" } }, "tags": {} }, { "id": "aws:fis:inject-api-throttle-error", "description": "Cause an AWS service to return throttled responses for specific callers and operations.", "targets": { "Roles": { "resourceType": "aws:iam:role" } }, "tags": {} }, { "id": "aws:fis:inject-api-unavailable-error", "description": "Cause an AWS service to return unavailable error responses for specific callers and operations.", "targets": { "Roles": { "resourceType": "aws:iam:role" } }, "tags": {} }, { "id": "aws:fis:wait", "description": "Wait for the specified duration. Stop condition monitoring will continue during this time.", "tags": {} }, { "id": "aws:rds:failover-db-cluster", "description": "Failover a DB Cluster to one of the replicas.", "targets": { "Clusters": { "resourceType": "aws:rds:cluster" } }, "tags": {} }, { "id": "aws:rds:reboot-db-instances", "description": "Reboot the specified DB instances.", "targets": { "DBInstances": { "resourceType": "aws:rds:db" } }, "tags": {} }, { "id": "aws:ssm:send-command", "description": "Run the specified SSM document.", "targets": { "Instances": { "resourceType": "aws:ec2:instance" } }, "tags": {} } ] }
Pour plus d'informations, consultez la section Actions du guide de l'utilisateur du simulateur d'injection de AWS défauts.
-
Pour plus de détails sur l'API, reportez-vous ListActions
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-experiment-templates
.
- AWS CLI
-
Pour répertorier les modèles d'expériences
L'
list-experiment-templates
exemple suivant répertorie les modèles de test de votre AWS compte.aws fis list-experiment-templates
Sortie :
{ "experimentTemplates": [ { "id": "ABCDE1fgHIJkLmNop", "description": "myExperimentTemplate", "creationTime": 1616017191.124, "lastUpdateTime": 1616017191.124, "tags": { "key": "value" } } ] }
Pour plus d'informations, consultez la section Modèles d'expériences dans le guide de l'utilisateur du simulateur d'injection de AWS défauts.
-
Pour plus de détails sur l'API, reportez-vous ListExperimentTemplates
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-experiments
.
- AWS CLI
-
Pour répertorier les expériences
L'
list-experiments
exemple suivant répertorie les expériences de votre AWS compte.aws fis list-experiments
Sortie :
{ "experiments": [ { "id": "ABCdeF1GHiJkLM23NO", "experimentTemplateId": "ABCDE1fgHIJkLmNop", "state": { "status": "running", "reason": "Experiment is running." }, "creationTime": 1616017341.197, "tags": { "key": "value" } } ] }
Pour plus d'informations, consultez Experiments in the AWS Fault Injection Simulator User Guide.
-
Pour plus de détails sur l'API, reportez-vous ListExperiments
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-tags-for-resource
.
- AWS CLI
-
Pour répertorier les balises d'une ressource
L'
list-tags-for-resource
exemple suivant répertorie les balises de la ressource spécifiée.aws fis list-tags-for-resource \ --resource-arn
arn:aws:fis:us-west-2:123456789012:experiment/ABC12DeFGhI3jKLMNOP
Sortie :
{ "tags": { "key1": "value1", "key2": "value2" } }
Pour plus d'informations, consultez la section Marquer vos ressources AWS FIS dans le guide de l'utilisateur du simulateur d'injection de AWS défauts.
-
Pour plus de détails sur l'API, reportez-vous ListTagsForResource
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserstart-experiment
.
- AWS CLI
-
Pour démarrer une expérience
L'
start-experiment
exemple suivant démarre l'expérience spécifiée.aws fis start-experiment \ --experiment-template-id
ABCDE1fgHIJkLmNop
Sortie :
{ "experiment": { "id": "ABC12DeFGhI3jKLMNOP", "experimentTemplateId": "ABCDE1fgHIJkLmNop", "roleArn": "arn:aws:iam::123456789012:role/myRole", "state": { "status": "initiating", "reason": "Experiment is initiating." }, "targets": { "Instances-Target-1": { "resourceType": "aws:ec2:instance", "resourceArns": [ "arn:aws:ec2:us-west-2:123456789012:instance/i-12a3b4c56d78e9012" ], "selectionMode": "ALL" } }, "actions": { "reboot": { "actionId": "aws:ec2:reboot-instances", "parameters": {}, "targets": { "Instances": "Instances-Target-1" }, "state": { "status": "pending", "reason": "Initial state" } } }, "stopConditions": [ { "source": "none" } ], "creationTime": 1616432464.025, "startTime": 1616432464.374, "tags": {} } }
Pour plus d'informations, voir Experiments for AWS FIS dans le guide de l'utilisateur du simulateur d'injection de AWS défauts.
-
Pour plus de détails sur l'API, reportez-vous StartExperiment
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserstop-experiment
.
- AWS CLI
-
Pour arrêter une expérience
L'
stop-experiment
exemple suivant arrête l'exécution de l'expérience spécifiée.aws fis stop-experiment \ --id
ABC12DeFGhI3jKLMNOP
Sortie :
{ "experiment": { "id": "ABC12DeFGhI3jKLMNOP", "experimentTemplateId": "ABCDE1fgHIJkLmNop", "roleArn": "arn:aws:iam::123456789012:role/myRole", "state": { "status": "stopping", "reason": "Stopping Experiment." }, "targets": { "Instances-Target-1": { "resourceType": "aws:ec2:instance", "resourceArns": [ "arn:aws:ec2:us-west-2:123456789012:instance/i-12a3b4c56d78e9012" ], "selectionMode": "ALL" } }, "actions": { "reboot": { "actionId": "aws:ec2:reboot-instances", "parameters": {}, "targets": { "Instances": "Instances-Target-1" }, "startAfter": [ "wait" ], "state": { "status": "pending", "reason": "Initial state." } }, "wait": { "actionId": "aws:fis:wait", "parameters": { "duration": "PT5M" }, "state": { "status": "running", "reason": "" } } }, "stopConditions": [ { "source": "none" } ], "creationTime": 1616432680.927, "startTime": 1616432681.177, "tags": {} } }
Pour plus d'informations, voir Experiments for AWS FIS dans le guide de l'utilisateur du simulateur d'injection de AWS défauts.
-
Pour plus de détails sur l'API, reportez-vous StopExperiment
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utilisertag-resource
.
- AWS CLI
-
Pour étiqueter une ressource
L'
tag-resource
exemple suivant balise la ressource spécifiée.aws fis tag-resource \ --resource-arn
arn:aws:fis:us-west-2:123456789012:experiment/ABC12DeFGhI3jKLMNOP
\ --tagskey1=value1,key2=value2
Cette commande ne produit aucun résultat.
Pour plus d'informations, consultez la section Marquer vos ressources AWS FIS dans le guide de l'utilisateur du simulateur d'injection de AWS défauts.
-
Pour plus de détails sur l'API, reportez-vous TagResource
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliseruntag-resource
.
- AWS CLI
-
Pour annuler le balisage d'une ressource
L'
untag-resource
exemple suivant supprime les balises de la ressource spécifiée.aws fis untag-resource \ --resource-arn
arn:aws:fis:us-west-2:123456789012:experiment/ABC12DeFGhI3jKLMNOP
Cette commande ne produit aucun résultat.
Pour plus d'informations, consultez la section Marquer vos ressources AWS FIS dans le guide de l'utilisateur du simulateur d'injection de AWS défauts.
-
Pour plus de détails sur l'API, reportez-vous UntagResource
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserupdate-experiment-template
.
- AWS CLI
-
Pour mettre à jour un modèle d'expérience
L'
update-experiment-template
exemple suivant met à jour la description du modèle d'expérience spécifié.aws fis update-experiment-template \ --id
ABCDE1fgHIJkLmNop
\ ---descriptionmyExperimentTemplate
Sortie :
{ "experimentTemplate": { "id": "ABCDE1fgHIJkLmNop", "description": "myExperimentTemplate", "targets": { "Instances-Target-1": { "resourceType": "aws:ec2:instance", "resourceArns": [ "arn:aws:ec2:us-west-2:123456789012:instance/i-12a3b4c56d78e9012" ], "selectionMode": "ALL" } }, "actions": { "testaction": { "actionId": "aws:ec2:stop-instances", "parameters": {}, "targets": { "Instances": "Instances-Target-1" } } }, "stopConditions": [ { "source": "none" } ], "creationTime": 1616017191.124, "lastUpdateTime": 1616017859.607, "roleArn": "arn:aws:iam::123456789012:role/FISRole", "tags": { "key": "value" } } }
Pour plus d'informations, voir Mettre à jour un modèle d'expérience dans le guide de l'utilisateur du simulateur d'injection de AWS défauts.
-
Pour plus de détails sur l'API, reportez-vous UpdateExperimentTemplate
à la section Référence des AWS CLI commandes.
-