D'autres exemples de AWS SDK sont disponibles dans le référentiel AWS Doc SDK Examples
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 de 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 configuration et l’exécution du 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-templateexemple suivant crée un modèle d'expérience dans votre compte AWS FIS.aws fis create-experiment-template \ --cli-input-jsonfile://myfile.jsonContenu 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 Création d’un modèle d’expérience dans le Guide de l’utilisateur AWS Fault Injection Simulator.
-
Pour plus de détails sur l'API, consultez 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’exemple
delete-experiment-templatesuivant supprime le modèle d’expérience spécifié.aws fis delete-experiment-template \ --idABCDE1fgHIJkLmNopSortie :
{ "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, consultez Suppression d’un modèle d’expérience dans le Guide de l’utilisateur AWS Fault Injection Simulator.
-
Pour plus de détails sur l'API, consultez 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 d’une action
L’exemple
get-actionsuivant génère les détails de l’action spécifiée.aws fis get-action \ --idaws:ec2:stop-instancesSortie :
{ "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 Actions dans le Guide de l’utilisateur AWS Fault Injection Simulator.
-
Pour plus de détails sur l'API, consultez 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 d’un modèle d’expérience
L’exemple
get-experiment-templatesuivant obtient les détails du modèle d’expérience spécifié.aws fis get-experiment-template \ --idABCDE1fgHIJkLmNopSortie :
{ "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 Modèles d’expériences dans le Guide de l’utilisateur AWS Fault Injection Simulator.
-
Pour plus de détails sur l'API, consultez 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’exemple
get-experimentsuivant obtient les détails de l’expérience spécifiée.aws fis get-experiment \ --idABC12DeFGhI3jKLMNOPSortie :
{ "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, consultez la section Expériences pour le AWS FIS dans le guide de l'utilisateur du simulateur d'injection de AWS défauts.
-
Pour plus de détails sur l'API, consultez 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’exemple
list-actionssuivant répertorie les actions disponibles.aws fis list-actionsSortie :
{ "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 Actions dans le Guide de l’utilisateur AWS Fault Injection Simulator.
-
Pour plus de détails sur l'API, consultez 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-templatesexemple suivant répertorie les modèles d'expériences de votre AWS compte.aws fis list-experiment-templatesSortie :
{ "experimentTemplates": [ { "id": "ABCDE1fgHIJkLmNop", "description": "myExperimentTemplate", "creationTime": 1616017191.124, "lastUpdateTime": 1616017191.124, "tags": { "key": "value" } } ] }Pour plus d’informations, consultez Modèles d’expériences dans le Guide de l’utilisateur AWS Fault Injection Simulator.
-
Pour plus de détails sur l'API, consultez 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-experimentsexemple suivant répertorie les expériences de votre AWS compte.aws fis list-experimentsSortie :
{ "experiments": [ { "id": "ABCdeF1GHiJkLM23NO", "experimentTemplateId": "ABCDE1fgHIJkLmNop", "state": { "status": "running", "reason": "Experiment is running." }, "creationTime": 1616017341.197, "tags": { "key": "value" } } ] }Pour plus d’informations, consultez Expériences dans le Guide de l’utilisateur AWS Fault Injection Simulator.
-
Pour plus de détails sur l'API, consultez 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’exemple
list-tags-for-resourcesuivant répertorie les balises pour la ressource spécifiée.aws fis list-tags-for-resource \ --resource-arnarn:aws:fis:us-west-2:123456789012:experiment/ABC12DeFGhI3jKLMNOPSortie :
{ "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, consultez 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’exemple
start-experimentsuivant démarre l’expérience spécifiée.aws fis start-experiment \ --experiment-template-idABCDE1fgHIJkLmNopSortie :
{ "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, consultez la section Expériences pour le AWS FIS dans le guide de l'utilisateur du simulateur d'injection de AWS défauts.
-
Pour plus de détails sur l'API, consultez 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’exemple
stop-experimentsuivant arrête l’exécution de l’expérience spécifiée.aws fis stop-experiment \ --idABC12DeFGhI3jKLMNOPSortie :
{ "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, consultez la section Expériences pour le AWS FIS dans le guide de l'utilisateur du simulateur d'injection de AWS défauts.
-
Pour plus de détails sur l'API, consultez StopExperiment
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utilisertag-resource.
- AWS CLI
-
Pour baliser une ressource
L’exemple
tag-resourcesuivant ajoute une balise à la ressource spécifiée.aws fis tag-resource \ --resource-arnarn:aws:fis:us-west-2:123456789012:experiment/ABC12DeFGhI3jKLMNOP\ --tagskey1=value1,key2=value2Cette commande ne produit aucune sortie.
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, consultez TagResource
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliseruntag-resource.
- AWS CLI
-
Pour supprimer une balise d’une ressource
L’exemple
untag-resourcesuivant supprime les balises de la ressource spécifiée.aws fis untag-resource \ --resource-arnarn:aws:fis:us-west-2:123456789012:experiment/ABC12DeFGhI3jKLMNOPCette commande ne produit aucune sortie.
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, consultez 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’exemple
update-experiment-templatesuivant met à jour la description du modèle d’expérience spécifié.aws fis update-experiment-template \ --idABCDE1fgHIJkLmNop\ ---descriptionmyExperimentTemplateSortie :
{ "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, consultez Mise à jour d’un modèle d’expérience dans le Guide de l’utilisateur AWS Fault Injection Simulator.
-
Pour plus de détails sur l'API, consultez UpdateExperimentTemplate
la section Référence des AWS CLI commandes.
-