Há mais exemplos de AWS SDK disponíveis no repositório AWS Doc SDK Examples
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
AWS FIS exemplos usando AWS CLI
Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface with AWS FIS.
Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.
Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.
Tópicos
Ações
O código de exemplo a seguir mostra como usar create-experiment-template
.
- AWS CLI
-
Criar um modelo de experimento
O
create-experiment-template
exemplo a seguir cria um modelo de experimento em sua conta AWS FIS.aws fis create-experiment-template \ --cli-input-json
file://myfile.json
Conteúdo 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" }
Saída:
{ "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": {} } }
Para obter mais informações, consulte Criar um modelo de experimento no Guia do usuário do simulador de injeção de falhas da AWS .
-
Para obter detalhes da API, consulte CreateExperimentTemplate
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar delete-experiment-template
.
- AWS CLI
-
Excluir um modelo de experimento
O exemplo
delete-experiment-template
a seguir exclui o modelo de experimento personalizado especificado.aws fis delete-experiment-template \ --id
ABCDE1fgHIJkLmNop
Saída:
{ "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" } }
Para obter mais informações, consulte Excluir um modelo de experimento no Guia do usuário do simulador de injeção de falhas da AWS .
-
Para obter detalhes da API, consulte DeleteExperimentTemplate
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-action
.
- AWS CLI
-
Obter detalhes da ação
O exemplo
get-action
a seguir obtém os detalhes da ação especificada.aws fis get-action \ --id
aws:ec2:stop-instances
Saída:
{ "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": {} } }
Para obter mais informações, consulte Ações no Guia do usuário do simulador de injeção de falhas da AWS .
-
Para obter detalhes da API, consulte GetAction
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-experiment-template
.
- AWS CLI
-
Obter detalhes do modelo de experimento
O exemplo
get-experiment-template
a seguir obtém os detalhes do modelo de experimento especificado.aws fis get-experiment-template \ --id
ABCDE1fgHIJkLmNop
Saída:
{ "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" } } }
Para obter mais informações, consulte Modelos de experimento no Guia do usuário do simulador de injeção de falhas da AWS .
-
Para obter detalhes da API, consulte GetExperimentTemplate
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-experiment
.
- AWS CLI
-
Obter detalhes do experimento
O exemplo
get-experiment
a seguir obtém os detalhes do experimento especificado.aws fis get-experiment \ --id
ABC12DeFGhI3jKLMNOP
Saída:
{ "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": {} } }
Para obter mais informações, consulte Experimentos para AWS FIS no Guia do usuário do AWS Fault Injection Simulator.
-
Para obter detalhes da API, consulte GetExperiment
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-actions
.
- AWS CLI
-
Listar ações
O exemplo
list-actions
a seguir lista as ações disponíveis.aws fis list-actions
Saída:
{ "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": {} } ] }
Para obter mais informações, consulte Ações no Guia do usuário do simulador de injeção de falhas da AWS .
-
Para obter detalhes da API, consulte ListActions
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-experiment-templates
.
- AWS CLI
-
Listar modelos de experimentos
O
list-experiment-templates
exemplo a seguir lista os modelos de experimentos em sua AWS conta.aws fis list-experiment-templates
Saída:
{ "experimentTemplates": [ { "id": "ABCDE1fgHIJkLmNop", "description": "myExperimentTemplate", "creationTime": 1616017191.124, "lastUpdateTime": 1616017191.124, "tags": { "key": "value" } } ] }
Para obter mais informações, consulte Modelos de experimento no Guia do usuário do simulador de injeção de falhas da AWS .
-
Para obter detalhes da API, consulte ListExperimentTemplates
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-experiments
.
- AWS CLI
-
Listar experimentos
O
list-experiments
exemplo a seguir lista os experimentos em sua AWS conta.aws fis list-experiments
Saída:
{ "experiments": [ { "id": "ABCdeF1GHiJkLM23NO", "experimentTemplateId": "ABCDE1fgHIJkLmNop", "state": { "status": "running", "reason": "Experiment is running." }, "creationTime": 1616017341.197, "tags": { "key": "value" } } ] }
Para obter mais informações, consulte Experimentos no Guia do usuário do simulador de injeção de falhas da AWS .
-
Para obter detalhes da API, consulte ListExperiments
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-tags-for-resource
.
- AWS CLI
-
Para listar as tags para um recurso
O exemplo
list-tags-for-resource
a seguir lista as tags para o recurso especificado.aws fis list-tags-for-resource \ --resource-arn
arn:aws:fis:us-west-2:123456789012:experiment/ABC12DeFGhI3jKLMNOP
Saída:
{ "tags": { "key1": "value1", "key2": "value2" } }
Para obter mais informações, consulte Marcar seus recursos do FIS no AWS Guia do usuário do AWS Fault Injection Simulator.
-
Para obter detalhes da API, consulte ListTagsForResource
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar start-experiment
.
- AWS CLI
-
Iniciar um experimento
O exemplo
start-experiment
a seguir inicia o experimento especificado.aws fis start-experiment \ --experiment-template-id
ABCDE1fgHIJkLmNop
Saída:
{ "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": {} } }
Para obter mais informações, consulte Experimentos para AWS FIS no Guia do usuário do AWS Fault Injection Simulator.
-
Para obter detalhes da API, consulte StartExperiment
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar stop-experiment
.
- AWS CLI
-
Interromper um experimento
O exemplo
stop-experiment
a seguir interrompe a execução do experimento especificado.aws fis stop-experiment \ --id
ABC12DeFGhI3jKLMNOP
Saída:
{ "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": {} } }
Para obter mais informações, consulte Experimentos para AWS FIS no Guia do usuário do AWS Fault Injection Simulator.
-
Para obter detalhes da API, consulte StopExperiment
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar tag-resource
.
- AWS CLI
-
Como marcar um recurso
O exemplo
tag-resource
a seguir adiciona a tag ao recurso especificado.aws fis tag-resource \ --resource-arn
arn:aws:fis:us-west-2:123456789012:experiment/ABC12DeFGhI3jKLMNOP
\ --tagskey1=value1,key2=value2
Este comando não produz saída.
Para obter mais informações, consulte Marcar seus recursos do FIS no AWS Guia do usuário do AWS Fault Injection Simulator.
-
Para obter detalhes da API, consulte TagResource
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar untag-resource
.
- AWS CLI
-
Como desmarcar um recurso
O exemplo
untag-resource
a seguir remove as tags do recurso especificado.aws fis untag-resource \ --resource-arn
arn:aws:fis:us-west-2:123456789012:experiment/ABC12DeFGhI3jKLMNOP
Este comando não produz saída.
Para obter mais informações, consulte Marcar seus recursos do FIS no AWS Guia do usuário do AWS Fault Injection Simulator.
-
Para obter detalhes da API, consulte UntagResource
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar update-experiment-template
.
- AWS CLI
-
Atualizar um modelo de experimento
O exemplo
update-experiment-template
a seguir atualiza a descrição do modelo de experimento especificado.aws fis update-experiment-template \ --id
ABCDE1fgHIJkLmNop
\ ---descriptionmyExperimentTemplate
Saída:
{ "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" } } }
Para obter mais informações, consulte Atualizar um modelo de experimento no Guia do usuário do simulador de injeção de falhas da AWS .
-
Para obter detalhes da API, consulte UpdateExperimentTemplate
em Referência de AWS CLI Comandos.
-