AWS FIS contoh menggunakan AWS CLI - AWS SDKContoh Kode

Ada lebih banyak AWS SDK contoh yang tersedia di GitHub repo SDKContoh AWS Dokumen.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

AWS FIS contoh menggunakan AWS CLI

Contoh kode berikut menunjukkan cara melakukan tindakan dan mengimplementasikan skenario umum dengan menggunakan AWS Command Line Interface with AWS FIS.

Tindakan adalah kutipan kode dari program yang lebih besar dan harus dijalankan dalam konteks. Sementara tindakan menunjukkan cara memanggil fungsi layanan individual, Anda dapat melihat tindakan dalam konteks dalam skenario terkait.

Setiap contoh menyertakan tautan ke kode sumber lengkap, di mana Anda dapat menemukan instruksi tentang cara mengatur dan menjalankan kode dalam konteks.

Tindakan

Contoh kode berikut menunjukkan cara menggunakancreate-experiment-template.

AWS CLI

Untuk membuat template percobaan

create-experiment-templateContoh berikut membuat template eksperimen di AWS FIS akun Anda.

aws fis create-experiment-template \ --cli-input-json file://myfile.json

Isi dari 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" }

Output:

{ "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": {} } }

Untuk informasi selengkapnya, lihat Membuat template eksperimen di Panduan Pengguna Simulator Injeksi AWS Kesalahan.

Contoh kode berikut menunjukkan cara menggunakandelete-experiment-template.

AWS CLI

Untuk menghapus template percobaan

delete-experiment-templateContoh berikut menghapus template percobaan yang ditentukan.

aws fis delete-experiment-template \ --id ABCDE1fgHIJkLmNop

Output:

{ "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" } }

Untuk informasi selengkapnya, lihat Menghapus templat eksperimen di Panduan Pengguna Simulator Injeksi AWS Kesalahan.

Contoh kode berikut menunjukkan cara menggunakanget-action.

AWS CLI

Untuk mendapatkan detail tindakan

get-actionContoh berikut mendapatkan rincian dari tindakan yang ditentukan.

aws fis get-action \ --id aws:ec2:stop-instances

Output:

{ "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": {} } }

Untuk informasi selengkapnya, lihat Tindakan di Panduan Pengguna Simulator Injeksi AWS Kesalahan.

  • Untuk API detailnya, lihat GetActiondi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanget-experiment-template.

AWS CLI

Untuk mendapatkan detail template eksperimen

get-experiment-templateContoh berikut mendapatkan rincian template percobaan yang ditentukan.

aws fis get-experiment-template \ --id ABCDE1fgHIJkLmNop

Output:

{ "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" } } }

Untuk informasi selengkapnya, lihat Templat eksperimen di Panduan Pengguna Simulator Injeksi AWS Kesalahan.

Contoh kode berikut menunjukkan cara menggunakanget-experiment.

AWS CLI

Untuk mendapatkan detail eksperimen

get-experimentContoh berikut mendapatkan rincian percobaan yang ditentukan.

aws fis get-experiment \ --id ABC12DeFGhI3jKLMNOP

Output:

{ "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": {} } }

Untuk informasi selengkapnya, lihat Eksperimen AWS FIS di Panduan Pengguna Simulator Injeksi AWS Kesalahan.

  • Untuk API detailnya, lihat GetExperimentdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanlist-actions.

AWS CLI

Untuk membuat daftar tindakan

list-actionsContoh berikut mencantumkan tindakan yang tersedia.

aws fis list-actions

Output:

{ "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": {} } ] }

Untuk informasi selengkapnya, lihat Tindakan di Panduan Pengguna Simulator Injeksi AWS Kesalahan.

  • Untuk API detailnya, lihat ListActionsdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanlist-experiment-templates.

AWS CLI

Untuk membuat daftar templat eksperimen

list-experiment-templatesContoh berikut mencantumkan templat eksperimen di AWS akun Anda.

aws fis list-experiment-templates

Output:

{ "experimentTemplates": [ { "id": "ABCDE1fgHIJkLmNop", "description": "myExperimentTemplate", "creationTime": 1616017191.124, "lastUpdateTime": 1616017191.124, "tags": { "key": "value" } } ] }

Untuk informasi selengkapnya, lihat Templat eksperimen di Panduan Pengguna Simulator Injeksi AWS Kesalahan.

Contoh kode berikut menunjukkan cara menggunakanlist-experiments.

AWS CLI

Untuk membuat daftar eksperimen

list-experimentsContoh berikut mencantumkan eksperimen di AWS akun Anda.

aws fis list-experiments

Output:

{ "experiments": [ { "id": "ABCdeF1GHiJkLM23NO", "experimentTemplateId": "ABCDE1fgHIJkLmNop", "state": { "status": "running", "reason": "Experiment is running." }, "creationTime": 1616017341.197, "tags": { "key": "value" } } ] }

Untuk informasi selengkapnya, lihat Eksperimen di Panduan Pengguna Simulator Injeksi AWS Kesalahan.

Contoh kode berikut menunjukkan cara menggunakanlist-tags-for-resource.

AWS CLI

Untuk membuat daftar tag untuk sumber daya

list-tags-for-resourceContoh berikut mencantumkan tag untuk sumber daya yang ditentukan.

aws fis list-tags-for-resource \ --resource-arn arn:aws:fis:us-west-2:123456789012:experiment/ABC12DeFGhI3jKLMNOP

Output:

{ "tags": { "key1": "value1", "key2": "value2" } }

Untuk informasi selengkapnya, lihat Menandai AWS FIS sumber daya Anda di Panduan Pengguna Simulator Injeksi AWS Kesalahan.

Contoh kode berikut menunjukkan cara menggunakanstart-experiment.

AWS CLI

Untuk memulai percobaan

start-experimentContoh berikut memulai percobaan yang ditentukan.

aws fis start-experiment \ --experiment-template-id ABCDE1fgHIJkLmNop

Output:

{ "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": {} } }

Untuk informasi selengkapnya, lihat Eksperimen AWS FIS di Panduan Pengguna Simulator Injeksi AWS Kesalahan.

Contoh kode berikut menunjukkan cara menggunakanstop-experiment.

AWS CLI

Untuk menghentikan percobaan

stop-experimentContoh berikut menghentikan percobaan yang ditentukan agar tidak berjalan.

aws fis stop-experiment \ --id ABC12DeFGhI3jKLMNOP

Output:

{ "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": {} } }

Untuk informasi selengkapnya, lihat Eksperimen AWS FIS di Panduan Pengguna Simulator Injeksi AWS Kesalahan.

  • Untuk API detailnya, lihat StopExperimentdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakantag-resource.

AWS CLI

Untuk menandai sumber daya

tag-resourceContoh berikut menandai sumber daya yang ditentukan.

aws fis tag-resource \ --resource-arn arn:aws:fis:us-west-2:123456789012:experiment/ABC12DeFGhI3jKLMNOP \ --tags key1=value1,key2=value2

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Menandai AWS FIS sumber daya Anda di Panduan Pengguna Simulator Injeksi AWS Kesalahan.

  • Untuk API detailnya, lihat TagResourcedi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanuntag-resource.

AWS CLI

Untuk menghapus tag sumber daya

untag-resourceContoh berikut menghapus tag dari sumber daya yang ditentukan.

aws fis untag-resource \ --resource-arn arn:aws:fis:us-west-2:123456789012:experiment/ABC12DeFGhI3jKLMNOP

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Menandai AWS FIS sumber daya Anda di Panduan Pengguna Simulator Injeksi AWS Kesalahan.

  • Untuk API detailnya, lihat UntagResourcedi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanupdate-experiment-template.

AWS CLI

Untuk memperbarui template eksperimen

update-experiment-templateContoh berikut memperbarui deskripsi template percobaan yang ditentukan.

aws fis update-experiment-template \ --id ABCDE1fgHIJkLmNop \ ---description myExperimentTemplate

Output:

{ "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" } } }

Untuk informasi selengkapnya, lihat Memperbarui templat eksperimen di Panduan Pengguna Simulator Injeksi AWS Kesalahan.