Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
AWS FIS ejemplos que utilizan AWS CLI
Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el uso del AWS Command Line Interface with AWS FIS.
Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.
Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.
Temas
Acciones
En el siguiente ejemplo de código se muestra cómo usar create-experiment-template
.
- AWS CLI
-
Para crear una plantilla de experimento
En el siguiente
create-experiment-template
ejemplo, se crea una plantilla de experimento en tu AWS FIS cuenta.aws fis create-experiment-template \ --cli-input-json
file://myfile.json
Contenidos 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" }
Salida:
{ "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 obtener más información, consulte Crear una plantilla de experimento en la Guía del usuario del simulador de inyección de AWS fallas.
-
Para API obtener más información, consulte CreateExperimentTemplate
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar delete-experiment-template
.
- AWS CLI
-
Para eliminar una plantilla de experimento
En el siguiente
delete-experiment-template
ejemplo, se elimina la plantilla de experimento especificada.aws fis delete-experiment-template \ --id
ABCDE1fgHIJkLmNop
Salida:
{ "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 obtener más información, consulte Eliminar una plantilla de experimento en la Guía del usuario del simulador de inyección de AWS fallas.
-
Para API obtener más información, consulte DeleteExperimentTemplate
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar get-action
.
- AWS CLI
-
Para obtener los detalles de la acción
En el siguiente
get-action
ejemplo, se obtienen los detalles de la acción especificada.aws fis get-action \ --id
aws:ec2:stop-instances
Salida:
{ "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 obtener más información, consulte Acciones en la guía del usuario del simulador de inyección de AWS fallos.
-
Para API obtener más información, consulte GetAction
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar get-experiment-template
.
- AWS CLI
-
Para obtener los detalles de la plantilla del experimento
En el siguiente
get-experiment-template
ejemplo, se obtienen los detalles de la plantilla de experimento especificada.aws fis get-experiment-template \ --id
ABCDE1fgHIJkLmNop
Salida:
{ "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 obtener más información, consulte las plantillas de experimentos en la Guía del usuario del simulador de inyección de AWS fallas.
-
Para API obtener más información, consulte GetExperimentTemplate
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar get-experiment
.
- AWS CLI
-
Para obtener detalles del experimento
En el siguiente
get-experiment
ejemplo se obtienen los detalles del experimento especificado.aws fis get-experiment \ --id
ABC12DeFGhI3jKLMNOP
Salida:
{ "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 obtener más información, consulte la guía del usuario de Experiments for AWS FIS the AWS Fault Injection Simulator.
-
Para API obtener más información, consulte GetExperiment
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-actions
.
- AWS CLI
-
Para enumerar las acciones
En el siguiente
list-actions
ejemplo, se enumeran las acciones disponibles.aws fis list-actions
Salida:
{ "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 obtener más información, consulte Acciones en la guía del usuario del simulador de inyección de AWS fallas.
-
Para API obtener más información, consulte ListActions
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-experiment-templates
.
- AWS CLI
-
Para enumerar las plantillas de experimentos
En el siguiente
list-experiment-templates
ejemplo, se muestran las plantillas de experimentos de tu AWS cuenta.aws fis list-experiment-templates
Salida:
{ "experimentTemplates": [ { "id": "ABCDE1fgHIJkLmNop", "description": "myExperimentTemplate", "creationTime": 1616017191.124, "lastUpdateTime": 1616017191.124, "tags": { "key": "value" } } ] }
Para obtener más información, consulte las plantillas de experimentos en la guía del usuario del simulador de inyección de AWS fallas.
-
Para API obtener más información, consulte ListExperimentTemplates
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-experiments
.
- AWS CLI
-
Para enumerar los experimentos
En el siguiente
list-experiments
ejemplo, se enumeran los experimentos de tu AWS cuenta.aws fis list-experiments
Salida:
{ "experiments": [ { "id": "ABCdeF1GHiJkLM23NO", "experimentTemplateId": "ABCDE1fgHIJkLmNop", "state": { "status": "running", "reason": "Experiment is running." }, "creationTime": 1616017341.197, "tags": { "key": "value" } } ] }
Para obtener más información, consulte la Guía del usuario de Experimentos en el simulador de inyección de AWS fallas.
-
Para API obtener más información, consulte ListExperiments
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-tags-for-resource
.
- AWS CLI
-
Para enumerar las etiquetas de un recurso
En el siguiente
list-tags-for-resource
ejemplo, se enumeran las etiquetas del recurso especificado.aws fis list-tags-for-resource \ --resource-arn
arn:aws:fis:us-west-2:123456789012:experiment/ABC12DeFGhI3jKLMNOP
Salida:
{ "tags": { "key1": "value1", "key2": "value2" } }
Para obtener más información, consulte Etiquete sus AWS FIS recursos en la Guía del usuario del simulador de inyección de AWS fallas.
-
Para API obtener más información, consulte ListTagsForResource
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar start-experiment
.
- AWS CLI
-
Para iniciar un experimento
En el siguiente
start-experiment
ejemplo se inicia el experimento especificado.aws fis start-experiment \ --experiment-template-id
ABCDE1fgHIJkLmNop
Salida:
{ "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 obtener más información, consulte la guía del usuario AWS FIS de Experimentos para el simulador de inyección de AWS fallas.
-
Para API obtener más información, consulte StartExperiment
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar stop-experiment
.
- AWS CLI
-
Para detener un experimento
El siguiente
stop-experiment
ejemplo detiene la ejecución del experimento especificado.aws fis stop-experiment \ --id
ABC12DeFGhI3jKLMNOP
Salida:
{ "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 obtener más información, consulte la guía del usuario de Experiments for AWS FIS the AWS Fault Injection Simulator.
-
Para API obtener más información, consulte StopExperiment
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar tag-resource
.
- AWS CLI
-
Para etiquetar un recurso
El siguiente
tag-resource
ejemplo etiqueta el recurso especificado.aws fis tag-resource \ --resource-arn
arn:aws:fis:us-west-2:123456789012:experiment/ABC12DeFGhI3jKLMNOP
\ --tagskey1=value1,key2=value2
Este comando no genera ninguna salida.
Para obtener más información, consulte Etiquete sus AWS FIS recursos en la Guía del usuario del simulador de inyección de AWS fallas.
-
Para API obtener más información, consulte TagResource
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar untag-resource
.
- AWS CLI
-
Para quitar la etiqueta de un recurso
En el siguiente
untag-resource
ejemplo, se eliminan las etiquetas del recurso especificado.aws fis untag-resource \ --resource-arn
arn:aws:fis:us-west-2:123456789012:experiment/ABC12DeFGhI3jKLMNOP
Este comando no genera ninguna salida.
Para obtener más información, consulte Etiquete sus AWS FIS recursos en la Guía del usuario del simulador de inyección de AWS fallas.
-
Para API obtener más información, consulte UntagResource
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar update-experiment-template
.
- AWS CLI
-
Para actualizar una plantilla de experimento
En el siguiente
update-experiment-template
ejemplo, se actualiza la descripción de la plantilla de experimento especificada.aws fis update-experiment-template \ --id
ABCDE1fgHIJkLmNop
\ ---descriptionmyExperimentTemplate
Salida:
{ "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 obtener más información, consulte Actualizar una plantilla de experimento en la Guía del usuario del simulador de inyección de AWS fallas.
-
Para API obtener más información, consulte UpdateExperimentTemplate
la Referencia de AWS CLI comandos.
-