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.
Daftar Isi
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
- 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-command
Tindakan 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
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
" } } }