Hay más ejemplos de AWS SDK disponibles en el GitHub repositorio de ejemplos de AWS Doc SDK
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 distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.
En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.
Temas
Acciones
En el siguiente ejemplo de código, se muestra cómo utilizar create-experiment-template.
- AWS CLI
-
Para crear una plantilla de experimento
El siguiente
create-experiment-templateejemplo crea una plantilla de experimento en su cuenta AWS FIS.aws fis create-experiment-template \ --cli-input-jsonfile://myfile.jsonContenido 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 Create an experiment template en la Guía del usuario de AWS Fault Injection Simulator.
-
Para obtener más información sobre la API, consulte CreateExperimentTemplate
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código, se muestra cómo utilizar delete-experiment-template.
- AWS CLI
-
Para eliminar una plantilla de experimento
En el siguiente ejemplo de
delete-experiment-template, se elimina la plantilla de experimento especificada.aws fis delete-experiment-template \ --idABCDE1fgHIJkLmNopSalida:
{ "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 Delete an experiment template en la Guía del usuario de AWS Fault Injection Simulator.
-
Para obtener más información sobre la API, consulte DeleteExperimentTemplate
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-action.
- AWS CLI
-
Para obtener los detalles de la acción
En el siguiente ejemplo de
get-action, se obtienen los detalles de la acción especificada.aws fis get-action \ --idaws:ec2:stop-instancesSalida:
{ "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 Actions en la Guía del usuario de AWS Fault Injection Simulator.
-
Para obtener más información sobre la API, consulte GetAction
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-experiment-template.
- AWS CLI
-
Para obtener los detalles de la plantilla de experimento
En el siguiente ejemplo de
get-experiment-template, se obtienen los detalles de la plantilla de experimento especificada.aws fis get-experiment-template \ --idABCDE1fgHIJkLmNopSalida:
{ "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 Experiment templates en la Guía del usuario de AWS Fault Injection Simulator.
-
Para obtener más información sobre la API, consulte GetExperimentTemplate
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-experiment.
- AWS CLI
-
Para obtener los detalles del experimento
En el siguiente ejemplo de
get-experiment, se obtienen los detalles del experimento especificado.aws fis get-experiment \ --idABC12DeFGhI3jKLMNOPSalida:
{ "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 Experimentos para AWS FIS en la guía del usuario del simulador de inyección de AWS fallas.
-
Para obtener más información sobre la API, consulte GetExperiment
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-actions.
- AWS CLI
-
Para enumerar las acciones
En el siguiente ejemplo de
list-actions, se enumeran todas las acciones disponibles.aws fis list-actionsSalida:
{ "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 Actions en la Guía del usuario de AWS Fault Injection Simulator.
-
Para obtener más información sobre la API, consulte ListActions
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-experiment-templates.
- AWS CLI
-
Para enumerar plantillas de experimentos
En el siguiente
list-experiment-templatesejemplo, se muestran las plantillas de experimentos de tu AWS cuenta.aws fis list-experiment-templatesSalida:
{ "experimentTemplates": [ { "id": "ABCDE1fgHIJkLmNop", "description": "myExperimentTemplate", "creationTime": 1616017191.124, "lastUpdateTime": 1616017191.124, "tags": { "key": "value" } } ] }Para obtener más información, consulte Experiment templates en la Guía del usuario de AWS Fault Injection Simulator.
-
Para obtener más información sobre la API, consulte ListExperimentTemplates
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-experiments.
- AWS CLI
-
Para enumerar experimentos
En el siguiente
list-experimentsejemplo, se enumeran los experimentos de tu AWS cuenta.aws fis list-experimentsSalida:
{ "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 Experiments en la Guía del usuario de AWS Fault Injection Simulator.
-
Para obtener más información sobre la API, consulta ListExperiments
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-tags-for-resource.
- AWS CLI
-
Para enumerar las etiquetas de un recurso
En el siguiente ejemplo de
list-tags-for-resource, se enumeran las etiquetas para el recurso especificado.aws fis list-tags-for-resource \ --resource-arnarn:aws:fis:us-west-2:123456789012:experiment/ABC12DeFGhI3jKLMNOPSalida:
{ "tags": { "key1": "value1", "key2": "value2" } }Para obtener más información, consulte Etiquete sus recursos del AWS FIS en la Guía del usuario del simulador de inyección de AWS fallas.
-
Para obtener más información sobre la API, consulte ListTagsForResource
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código, se muestra cómo utilizar start-experiment.
- AWS CLI
-
Para iniciar un experimento
En el siguiente ejemplo de
start-experiment, se inicia el experimento especificado.aws fis start-experiment \ --experiment-template-idABCDE1fgHIJkLmNopSalida:
{ "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 Experimentos para AWS FIS en la guía del usuario del simulador de inyección de AWS fallas.
-
Para obtener más información sobre la API, consulte StartExperiment
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código, se muestra cómo utilizar stop-experiment.
- AWS CLI
-
Para detener un experimento
En el siguiente ejemplo de
stop-experiment, se detiene la ejecución del experimento especificado.aws fis stop-experiment \ --idABC12DeFGhI3jKLMNOPSalida:
{ "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 Experimentos para AWS FIS en la guía del usuario del simulador de inyección de AWS fallas.
-
Para obtener más información sobre la API, consulte StopExperiment
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código, se muestra cómo utilizar tag-resource.
- AWS CLI
-
Para etiquetar un recurso
En el siguiente ejemplo de
tag-resource, se etiqueta el recurso especificado.aws fis tag-resource \ --resource-arnarn:aws:fis:us-west-2:123456789012:experiment/ABC12DeFGhI3jKLMNOP\ --tagskey1=value1,key2=value2Este comando no genera ninguna salida.
Para obtener más información, consulte Etiquete sus recursos del AWS FIS en la Guía del usuario del simulador de inyección de AWS fallas.
-
Para obtener más información sobre la API, consulte TagResource
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código, se muestra cómo utilizar untag-resource.
- AWS CLI
-
Para retirar la etiqueta de un recurso
En el siguiente ejemplo de
untag-resource, se eliminan la etiquetas del recurso especificado.aws fis untag-resource \ --resource-arnarn:aws:fis:us-west-2:123456789012:experiment/ABC12DeFGhI3jKLMNOPEste comando no genera ninguna salida.
Para obtener más información, consulte Etiquete sus recursos del AWS FIS en la Guía del usuario del simulador de inyección de AWS fallas.
-
Para obtener más información sobre la API, consulte UntagResource
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código, se muestra cómo utilizar update-experiment-template.
- AWS CLI
-
Para actualizar una plantilla de experimento
En el siguiente ejemplo de
update-experiment-template, se actualiza la descripción de la plantilla de experimento especificada.aws fis update-experiment-template \ --idABCDE1fgHIJkLmNop\ ---descriptionmyExperimentTemplateSalida:
{ "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 Update an experiment template en la Guía del usuario de AWS Fault Injection Simulator.
-
Para obtener más información sobre la API, consulte UpdateExperimentTemplate
la Referencia de AWS CLI comandos.
-