Tindakan untuk AWS FIS - AWS Layanan Injeksi Kesalahan

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

Tindakan untuk AWS FIS

Untuk membuat template eksperimen, Anda harus menentukan satu atau beberapa tindakan. Untuk daftar tindakan yang telah ditentukan sebelumnya yang disediakan oleh AWS FIS, lihatReferensi tindakan.

Anda dapat menjalankan tindakan hanya sekali selama percobaan. Untuk menjalankan hal yang sama AWS FIStindakan lebih dari sekali dalam percobaan yang sama, tambahkan ke template beberapa kali menggunakan nama yang berbeda.

Sintaks tindakan

Berikut ini adalah sintaks untuk tindakan.

{ "actions": { "action_name": { "actionId": "aws:service:action-type", "description": "string", "parameters": { "name": "value" }, "startAfter": ["action_name", ...], "targets": { "resource_type": "target_name" } } } }

Saat Anda mendefinisikan suatu tindakan, Anda memberikan yang berikut:

action_name

Sebuah nama untuk tindakan.

actionId

Pengidentifikasi tindakan.

description

Deskripsi opsional.

parameters

Parameter tindakan apa pun.

startAfter

Tindakan apa pun yang harus diselesaikan sebelum tindakan ini dapat dimulai. Jika tidak, tindakan berjalan pada awal percobaan.

targets

Target tindakan apa pun.

Sebagai contoh, lihat Contoh tindakan.

Pengidentifikasi tindakan

Masing-masing AWS FISaction memiliki identifier dengan format berikut:

aws:service-name:action-type

Misalnya, tindakan berikut menghentikan EC2 instans Amazon target:

aws:ec2:stop-instances

Untuk daftar lengkap tindakan, lihatAWS FIS Referensi tindakan.

Parameter tindakan

Beberapa AWS FIStindakan memiliki parameter tambahan yang spesifik untuk tindakan. Parameter ini digunakan untuk menyampaikan informasi ke AWS FISketika tindakan dijalankan.

AWS FISmendukung jenis kesalahan khusus menggunakan aws:ssm:send-command tindakan, yang menggunakan SSM Agen dan dokumen SSM perintah untuk membuat kondisi kesalahan pada instance yang ditargetkan. aws:ssm:send-commandTindakan ini mencakup documentArn parameter yang mengambil Amazon Resource Name (ARN) SSM dokumen sebagai nilai. Anda menentukan nilai untuk parameter saat menambahkan tindakan ke templat eksperimen.

Untuk informasi selengkapnya tentang menentukan parameter untuk aws:ssm:send-command tindakan, lihatGunakan aws:ssm:send-command tindakan.

Jika memungkinkan, Anda dapat memasukkan konfigurasi rollback (juga disebut sebagai tindakan posting) dalam parameter tindakan. Post action mengembalikan target ke keadaan sebelum tindakan dijalankan. Tindakan posting berjalan setelah waktu yang ditentukan dalam durasi tindakan. Tidak semua tindakan dapat mendukung tindakan posting. Misalnya, jika tindakan menghentikan EC2 instance Amazon, Anda tidak dapat memulihkan instance setelah dihentikan.

Target aksi

Tindakan berjalan pada sumber daya target yang Anda tentukan. Setelah Anda menentukan target, Anda dapat menentukan namanya ketika Anda menentukan tindakan.

"targets": { "resource_type": "resource_name" }

AWS FIStindakan mendukung jenis sumber daya berikut untuk target tindakan:

  • Grup Auto Scaling - grup Auto EC2 Scaling Amazon

  • Ember - Ember Amazon S3

  • Cluster - EKS Cluster Amazon

  • Cluster — Cluster Amazon atau ECS cluster Amazon Aurora DB

  • DBInstances- Instans Amazon RDS DB

  • Tabel global terenkripsi - Amazon DynamoDB; tabel global dienkripsi dengan kunci yang dikelola pelanggan

  • Tabel global - Amazon DynamoDB; tabel global

  • Contoh - Instans Amazon EC2

  • Nodegroups - Grup simpul Amazon EKS

  • Pod - Pod Kubernetes di Amazon EKS

  • ReplicationGroups— Grup ElastiCache Replikasi Redis

  • Peran - IAM peran

  • SpotInstances— Instans EC2 Spot Amazon

  • Subnet - VPC subnet

  • Tugas - ECS Tugas Amazon

  • TransitGateways— Gerbang transit

  • Volume - EBS Volume Amazon

Sebagai contoh, lihat Contoh tindakan.

Durasi tindakan

Jika suatu tindakan menyertakan parameter yang dapat Anda gunakan untuk menentukan durasi tindakan, secara default, tindakan dianggap selesai hanya setelah durasi yang ditentukan telah berlalu. Jika Anda telah menetapkan opsi emptyTargetResolutionMode eksperimenskip, maka tindakan akan segera selesai dengan status 'dilewati' ketika tidak ada target yang diselesaikan. Misalnya, jika Anda menentukan durasi 5 menit, AWS FISmenganggap tindakan selesai setelah 5 menit. Kemudian memulai tindakan berikutnya, sampai semua tindakan selesai.

Durasi dapat berupa lamanya waktu kondisi tindakan dipertahankan atau lamanya waktu metrik dipantau. Misalnya, latensi disuntikkan selama durasi waktu yang ditentukan. Untuk jenis tindakan yang hampir seketika, seperti menghentikan instance, kondisi berhenti dipantau selama durasi waktu yang ditentukan.

Jika tindakan menyertakan tindakan posting dalam parameter tindakan, tindakan posting berjalan setelah tindakan selesai. Waktu yang diperlukan untuk menyelesaikan tindakan pasca dapat menyebabkan penundaan antara durasi tindakan yang ditentukan dan awal tindakan berikutnya (atau akhir percobaan, jika semua tindakan lain selesai).

Contoh tindakan

Berikut ini adalah contoh tindakan.

Contoh: Stop EC2 instance

Tindakan berikut menghentikan EC2 instance yang diidentifikasi menggunakan target bernama targetInstances. Setelah dua menit, itu memulai ulang instance target.

"actions": { "stopInstances": { "actionId": "aws:ec2:stop-instances", "parameters": { "startInstancesAfterDuration": "PT2M" }, "targets": { "Instances": "targetInstances" } } }
Contoh: Interupsi Instance Spot

Tindakan berikut menghentikan Instans Spot yang diidentifikasi menggunakan target bernama targetSpotInstances. Itu menunggu dua menit sebelum mengganggu Instance Spot.

"actions": { "interruptSpotInstances": { "actionId": "aws:ec2:send-spot-instance-interruptions", "parameters": { "durationBeforeInterruption": "PT2M" }, "targets": { "SpotInstances": "targetSpotInstances" } } }
Contoh: Mengganggu lalu lintas jaringan

Tindakan berikut menyangkal lalu lintas antara subnet target dan subnet di Availability Zone lainnya.

"actions": { "disruptAZConnectivity": { "actionId": "aws:network:disrupt-connectivity", "parameters": { "scope": "availability-zone", "duration": "PT5M" }, "targets": { "Subnets": "targetSubnets" } } }
Contoh: Menghentikan pekerja EKS

Tindakan berikut mengakhiri 50% EC2 instance di EKS cluster yang diidentifikasi menggunakan target bernama targetNodeGroups.

"actions": { "terminateWorkers": { "actionId": "aws:eks:terminate-nodegroup-instances", "parameters": { "instanceTerminationPercentage": "50" }, "targets": { "Nodegroups": "targetNodeGroups" } } }