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
En el siguiente
create-experiment-template
ejemplo, se crea una plantilla de experimento en su cuenta AWS FIS.aws fis create-experiment-template \ --cli-input-json
file://myfile.json
Contenido 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 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 \ --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 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 \ --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 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 \ --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 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 \ --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 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-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 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-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 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-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 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-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 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-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 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 \ --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 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-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 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-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 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 \ --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 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.
-