翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS FIS を使用した例 AWS CLI
次のコード例は、 AWS Command Line Interface で を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています AWS FIS。
アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。
各例には、完全なソースコードへのリンクが含まれています。ここでは、コンテキストでコードを設定および実行する方法の手順を確認できます。
トピック
アクション
次のコード例は、create-experiment-template
を使用する方法を示しています。
- AWS CLI
-
実験テンプレートを作成するには
次の
create-experiment-template
例では、アカウントに AWS FIS実験テンプレートを作成します。aws fis create-experiment-template \ --cli-input-json
file://myfile.json
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" }
出力:
{ "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": {} } }
詳細については、AWS 「Fault Injection Simulator ユーザーガイド」の「実験テンプレートを作成する」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスCreateExperimentTemplate
」の「」を参照してください。
-
次の例は、delete-experiment-template
を使用する方法を説明しています。
- AWS CLI
-
実験テンプレートを削除するには
次の
delete-experiment-template
例では、指定された実験テンプレートを削除します。aws fis delete-experiment-template \ --id
ABCDE1fgHIJkLmNop
出力:
{ "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" } }
詳細については、AWS 「Fault Injection Simulator ユーザーガイド」の「実験テンプレートの削除」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスDeleteExperimentTemplate
」の「」を参照してください。
-
次の例は、get-action
を使用する方法を説明しています。
- AWS CLI
-
アクションの詳細を取得するには
次の
get-action
例では、指定されたアクションの詳細を取得します。aws fis get-action \ --id
aws:ec2:stop-instances
出力:
{ "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": {} } }
詳細については、「Fault Injection Simulator ユーザーガイド」の「アクション」を参照してください。 AWS
-
API 詳細については、AWS CLI 「 コマンドリファレンスGetAction
」の「」を参照してください。
-
次の例は、get-experiment-template
を使用する方法を説明しています。
- AWS CLI
-
実験テンプレートの詳細を取得するには
次の
get-experiment-template
例では、指定された実験テンプレートの詳細を取得します。aws fis get-experiment-template \ --id
ABCDE1fgHIJkLmNop
出力:
{ "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" } } }
詳細については、AWS 「Fault Injection Simulator ユーザーガイド」の「実験テンプレート」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスGetExperimentTemplate
」の「」を参照してください。
-
次の例は、get-experiment
を使用する方法を説明しています。
- AWS CLI
-
実験の詳細を取得するには
次の
get-experiment
例では、指定された実験の詳細を取得します。aws fis get-experiment \ --id
ABC12DeFGhI3jKLMNOP
出力:
{ "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": {} } }
詳細については、「Fault Injection Simulator ユーザーガイド」の「 の実験 AWS FIS」を参照してください。 AWS
-
API 詳細については、AWS CLI 「 コマンドリファレンスGetExperiment
」の「」を参照してください。
-
次の例は、list-actions
を使用する方法を説明しています。
- AWS CLI
-
アクションを一覧表示するには
次の
list-actions
例では、使用可能なアクションを一覧表示します。aws fis list-actions
出力:
{ "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": {} } ] }
詳細については、「Fault Injection Simulator ユーザーガイド」の「アクション」を参照してください。 AWS
-
API 詳細については、AWS CLI 「 コマンドリファレンスListActions
」の「」を参照してください。
-
次の例は、list-experiment-templates
を使用する方法を説明しています。
- AWS CLI
-
実験テンプレートを一覧表示するには
次の
list-experiment-templates
例では、 AWS アカウントの実験テンプレートを一覧表示します。aws fis list-experiment-templates
出力:
{ "experimentTemplates": [ { "id": "ABCDE1fgHIJkLmNop", "description": "myExperimentTemplate", "creationTime": 1616017191.124, "lastUpdateTime": 1616017191.124, "tags": { "key": "value" } } ] }
詳細については、AWS 「Fault Injection Simulator ユーザーガイド」の「実験テンプレート」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスListExperimentTemplates
」の「」を参照してください。
-
次のコード例は、list-experiments
を使用する方法を示しています。
- AWS CLI
-
実験を一覧表示するには
次の
list-experiments
例では、 AWS アカウントの実験を一覧表示します。aws fis list-experiments
出力:
{ "experiments": [ { "id": "ABCdeF1GHiJkLM23NO", "experimentTemplateId": "ABCDE1fgHIJkLmNop", "state": { "status": "running", "reason": "Experiment is running." }, "creationTime": 1616017341.197, "tags": { "key": "value" } } ] }
詳細については、「Fault Injection Simulator ユーザーガイド」の「実験」を参照してください。 AWS
-
API 詳細については、AWS CLI 「 コマンドリファレンスListExperiments
」の「」を参照してください。
-
次の例は、list-tags-for-resource
を使用する方法を説明しています。
- AWS CLI
-
リソースのタグを一覧表示するには
次の
list-tags-for-resource
例では、指定されたリソースのタグを一覧表示します。aws fis list-tags-for-resource \ --resource-arn
arn:aws:fis:us-west-2:123456789012:experiment/ABC12DeFGhI3jKLMNOP
出力:
{ "tags": { "key1": "value1", "key2": "value2" } }
詳細については、AWS 「Fault Injection Simulator ユーザーガイド」の「リソースにタグを付ける AWS FIS」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスListTagsForResource
」の「」を参照してください。
-
次のコード例は、start-experiment
を使用する方法を示しています。
- AWS CLI
-
実験を開始するには
次の
start-experiment
例では、指定された実験を開始します。aws fis start-experiment \ --experiment-template-id
ABCDE1fgHIJkLmNop
出力:
{ "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": {} } }
詳細については、「Fault Injection Simulator ユーザーガイド」の「 の実験 AWS FIS」を参照してください。 AWS
-
API 詳細については、AWS CLI 「 コマンドリファレンスStartExperiment
」の「」を参照してください。
-
次のコード例は、stop-experiment
を使用する方法を示しています。
- AWS CLI
-
実験を停止するには
次の
stop-experiment
例では、指定された実験の実行を停止します。aws fis stop-experiment \ --id
ABC12DeFGhI3jKLMNOP
出力:
{ "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": {} } }
詳細については、「Fault Injection Simulator ユーザーガイド」の「 の実験 AWS FIS」を参照してください。 AWS
-
API 詳細については、AWS CLI 「 コマンドリファレンスStopExperiment
」の「」を参照してください。
-
次のコード例は、tag-resource
を使用する方法を示しています。
- AWS CLI
-
リソースにタグを付けるには
次の
tag-resource
例では、指定されたリソースにタグを付けます。aws fis tag-resource \ --resource-arn
arn:aws:fis:us-west-2:123456789012:experiment/ABC12DeFGhI3jKLMNOP
\ --tagskey1=value1,key2=value2
このコマンドでは何も出力されません。
詳細については、AWS 「Fault Injection Simulator ユーザーガイド」の「リソースにタグを付ける AWS FIS」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスTagResource
」の「」を参照してください。
-
次のコード例は、untag-resource
を使用する方法を示しています。
- AWS CLI
-
リソースのタグを解除するには
次の
untag-resource
例では、指定されたリソースからタグを削除します。aws fis untag-resource \ --resource-arn
arn:aws:fis:us-west-2:123456789012:experiment/ABC12DeFGhI3jKLMNOP
このコマンドでは何も出力されません。
詳細については、AWS 「Fault Injection Simulator ユーザーガイド」の「リソースにタグを付ける AWS FIS」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスUntagResource
」の「」を参照してください。
-
次の例は、update-experiment-template
を使用する方法を説明しています。
- AWS CLI
-
実験テンプレートを更新するには
次の
update-experiment-template
例では、指定された実験テンプレートの説明を更新します。aws fis update-experiment-template \ --id
ABCDE1fgHIJkLmNop
\ ---descriptionmyExperimentTemplate
出力:
{ "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" } } }
詳細については、AWS 「Fault Injection Simulator ユーザーガイド」の「実験テンプレートを更新する」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスUpdateExperimentTemplate
」の「」を参照してください。
-